読書会でまとめたものになります

Chapter5 Webアプリケーションの基本(12〜14)

12. マッシュアップ #マッシュアップとは 複数のWebサービスを組み合わせて新たなWebサービスを生み出すこと 例:位置情報から取得した地図情報と天気予報情報を用いてその日に着る服をお勧めするサービス #マッシュアップの注意点 各サービスのWeb APIの公…

Chapter5 Webアプリケーションの基本(09〜11)

目次 09 Ajax ●同期通信 ●Ajax(Asynchronous JavaScript + XML) 10 Webプログラミング ●サーバーサイドのプログラミング ●クライアントサイドのプログラミング 11 Web API ●プログラミング同士のデータのやりとり 09 Ajax ●同期通信 同期通信:クライアン…

Chapter5 Webアプリケーションの基本(05〜08)

05 Webクライアント #Webクライアントとは ユーザーとWebサーバーとの橋渡しを行い、Webシステムを利用するためのプログラム #Webブラウザとは Webアプリケーションを利用するためのWebクライアントとして最も使われているもの #クライアントプログラムとは …

Chapter5 Webアプリケーションの基本(01〜04)

目次 01 Webアプリケーションの3層構造 ●負荷分散 ●改修範囲の限定 02 MVCモデル ●3層アーキテクチャとの違い ●MVCモデルの利点 03 フレームワーク ●いろいろなフレームワーク 04 Webサーバー ●求められるサーバー機器の性能 ●静的コンテンツの配置 01 Web…

Chapter4 Webのさまざまなデータ形式(10〜11)

#10 音声・動画配信 ##エンドコードとデコード 音声・動画ファイル、画像ファイルと同様に、データを圧縮したうえで利用する。 圧縮することをエンコード、再生するために伸張することをデコード データ圧縮にはコーデックと呼ばれるソフトウェア ##ダウンロ…

Chapter4 Webのさまざまなデータ形式(7〜9)

07 JSON〜JavaScriptから生まれた汎用データ形式 ・JSON(JavaScript Object Notation)……構造化したデータを表すためのデータ記述言語の一種 ※JavaScript専用ではない ・JavaScript以外にも多くのプログラミング言語がJSONの読み書きに対応している ●データ…

Chapter4 Webのさまざまなデータ形式(4〜6)

04 CSS〜体裁を担当するスタイルシート〜 CSS(Cascading Style Sheets):HTMLやXMLの表示方法(体裁)を表現する記述。「スタイルシート」とも呼ばれる ●HTMLの体裁を記述 ●WEBサイト内での共用 ●クライアントごとに表示を変える 05 スクリプト言語〜動的…

Chapter4 Webの様々なデータ形式(1〜3)

#01 HTML HTML文書は、タグに囲まれた文書によって構成される。 HTMLは、時代によってバージョンアップされる 以下、重要な単語を記載 ・タグ・・・囲んだ文書が「何を示すか」を表すもの ・開始タグ・・・始まりを示すタグ ・終了タグ・・・終了を示すタグ …

Chapter3 HTTPでやりとりする仕組み(13〜COLUMN)

HTTPSはステートレス(サーバがクライアントのセッションの状態を保持しない、という制約)なプロトコルであるため、WebブラウザとWebサーバーの一連のやりとりにおいて、状態を維持し管理する仕組みがない。 そのため、ショッピングサイトなどで状態を保持…

Chapter3 HTTPでやりとりする仕組み(9〜12)

#09 HTTP/2での改良点 HTTP/2はストリームの多重化の他に以下の改良点がある。 ##バイナリ形式の利用 HTTP/1.1 以前・・・HTTPリクエストやHTTPレスポンスのやり取りがテキスト形式 HTTP/2.0 以降・・・HTTPリクエストやHTTPレスポンスのやり取りがバイナリ…

Chapter3 HTTPでやりとりする仕組み(05〜08)

#05 メッセージヘッダー ##メッセージヘッダーとは? HTTPリクエスト、レスポンスはいずれも「メッセージヘッダー」を利用することで HTTPメッセージに関する詳細な情報を送信することが可能 メッセージヘッダーは複数の「ヘッダーフィールド」と呼ばれる行…

Chapter3 HTTPでやりとりする仕組み(1〜4)

・HTTPがどのようにしてWebサイトの閲覧を実現しているのか ・HTTPだけでは実現できない、現在のWebサイトの仕組みを支える技術 01 HTTPメッセージ〜HTTPでやりとりするデータの構造〜 HTTP(HyperText Transfer Protocol)……HTMLなどのテキストファイルや、画…

2 Webとネットワーク技術(P42〜)

2-5 URLとドメイン #URL(Uniform Resource Locator) サイトを示す場所、データやファイルを取得方法を示す http:// スキーム名・・・プロトコルを指定する example.com: ドメイン名・・・接続先のサーバーを指定する。IPアドレスで指定することも可能 80/ …

Chapter 2 Webとネットワーク技術(01〜04)P.34

01 Webを実現するコンピューターネットワーク コンピューターネットワーク:コンピューターが互いに接続して情報のやり取りをする仕組み ●クライアントとサーバー サーバー:ネットワーク上で情報やサービスを提供する役割を持つコンピューター。webサイトを…

1 Webの技術とは(後半)

06 Webページが表示される流れ ●URLを使ってWebサーバーにアクセス 1 URLで取得したWebページをWebブラウザに指定する URLには「どの手順で」、「どのWebサーバーに」、「何のコンテンツを」取りに行くかという情報が含まれている 2 Webブラウザは指定された…

Chapter1 Web技術とは(01〜05)p.11

01 Webとは web:正式名称はWorld Wide Web(世界に広がるクモの巣)。WWWとも。 文書の公開・閲覧のためのシステム。 ●World Wide Web Web上の文章(Webページ)はハイパーテキストと呼ばれる言語で構成されている。 ハイパーテキストは1つのWebページの中…

14章『テストと読みやすさ』P.179

14章における「テスト」……他の(「本物」の)コードの振る舞いを確認するためのすべてのコードのこと 14.1 テストを読みやすくて保守しやすいものにする(P.180) テストコードを読みやすくすることは大切。本物のコードの動作が理解しやすくなる。 テストコー…

13章 短いコードを書く(P168)

#キーとなる考え方 最も見やすいコードは、何も書かれていないコードだ ##その機能の実装について悩まないで(きっと必要ないから) エンジニアいうのは、見積を過小評価するため、 プロジェクトに欠かせない機能を過剰に必要だと錯覚する。 ##質問と要求の…

12章『コードに思いを込める』P.157

コードは簡単な言葉で書くべき --- 手順 コードの動作を簡単な言葉で同僚にも分かるように説明する。 その説明のなかで使っているキーワードやフレーズに注目する。 その説明に合わせてコードを書く。 --- 12.1 ロジックを明確に説明するP.158 具体例:説明す…

11章『一度に1つのことを』P.143

11章ではソースコードの「デフラグ」を行う https://enjoy.sso.biglobe.ne.jp/archives/defragmentation/ 一度に複数のことを行うコードは分かりづらい ■コードは1つずつタスクを行うようにする 手順 コードが行っている「タスク」をすべて列挙 タスクをで…

10章 無関係の下位問題を抽出する P129

#キーとなる考え方 無関係な下位問題を抽出することだ つまりプロジェクト固有のコードから汎用コードを分離することだ 以下に考え方を記載する 1. 関数やコードブロックをみて、このコードの高レベルの目標は何か?を自問自答する 2. コードの各行に対して…

08章 巨大な式を分割する

#キーとなる考え 巨大な式は飲み込みやすい大きさに分割する。 ※式が大きくなるとコードが読みにくい #テクニック ##説明変数(P100) 式を表す変数を使う。 ##要約変数 大きなコードの塊を小さな名前に置き換えて、要約する。 ##ドモルガンの法則を使う。 n…

09章『変数と読みやすさ』

変数をテキトーに使うとプログラムが理解しにくくなる この章では以下3つの問題に取り組む 変数が多いと変数を追跡するのが難しくなる 変数のスコープが大きいとスコープを把握する時間が長くなる 変数が頻繁に変更されると現在の値を把握するのが難しくなる…

06章『コメントは正確で簡潔に』

どうすればコメントを正確に書けるか ポイント コメントは領域に対する情報の比率が高くなければならない 6.1 コメントを簡潔にしておく(P.72) そのコメントは1行でまとめられないか? と自問する 6.2 あいまいな代名詞を避ける(P.72) 読み手は「代名詞」を…

07章 制御フローを読みやすくする(P83)※制御フロー…if文、for文とか

#キーとなる考え 制御フローはできるだけ「自然」にする。 コードの読み手が立ち止まって読み返さないように書く。 ##条件式の引数と並び順 ■条件式は、以下に書くとよい 左側…「調査対象」の式(変化する) 右側…「比較対象」の式(あまり変化しない) 例:…

05章『コメントすべきことを知る』

#コメントの目的とは? →書き手の意図を読み手に知らせること ##考え方その①(コメントすべきでは「ない」こと) ・コードから”すぐに"わかることをコメントに書かない 例えば、//コンストラクタとか ・コメントのためのコメントをしない →コメントを書く…

04章『美しさ』

優れたソースコードは「目に優しい」ものでなければいけない 読み手が慣れているパターンと一貫性のあるレイアウトを使う 似ているコードは似ているように見せる 関連するコードをまとめてブロックにする 美しさを改善すると…… □大きなリファクタリング(新…

03章『誤解されない名前』

●最善の名前とは? →誤解されない名前である。 ・基本的な考え方 →名前「他の意味と間違えられることはないだろうか?」何度も自問自答する ・テクニック1 →限界値の名前を明確にする際、名前の前にmax、minを付けよう 例:MAX_ITEMS_IN_CART=10(最大カート…

02章『名前に情報を詰め込む』

名前は短いコメント 短くても良い名前をつければ、多くの情報を伝えることができる ・明確な単語を選ぶ ・汎用的な名前を避ける(あるいは、使う状況を選ぶ) ・抽象的な名前よりも具体的な名前を使う ・接尾辞や接頭辞を使って情報を追加する ・名前の長さ…

01章『理解しやすいコード』

●優れたコードって何? →他の人が最短で理解できるコード ⇨基本定理の考え方(最も大事な考え方ということ) ・どうすればいいか悩んだときは、どうすればいいか? →他の人が最短で理解できるかどうか自問自答する。 担当:らうみー