2020-01-01から1年間の記事一覧
12. マッシュアップ #マッシュアップとは 複数のWebサービスを組み合わせて新たなWebサービスを生み出すこと 例:位置情報から取得した地図情報と天気予報情報を用いてその日に着る服をお勧めするサービス #マッシュアップの注意点 各サービスのWeb APIの公…
目次 09 Ajax ●同期通信 ●Ajax(Asynchronous JavaScript + XML) 10 Webプログラミング ●サーバーサイドのプログラミング ●クライアントサイドのプログラミング 11 Web API ●プログラミング同士のデータのやりとり 09 Ajax ●同期通信 同期通信:クライアン…
05 Webクライアント #Webクライアントとは ユーザーとWebサーバーとの橋渡しを行い、Webシステムを利用するためのプログラム #Webブラウザとは Webアプリケーションを利用するためのWebクライアントとして最も使われているもの #クライアントプログラムとは …
目次 01 Webアプリケーションの3層構造 ●負荷分散 ●改修範囲の限定 02 MVCモデル ●3層アーキテクチャとの違い ●MVCモデルの利点 03 フレームワーク ●いろいろなフレームワーク 04 Webサーバー ●求められるサーバー機器の性能 ●静的コンテンツの配置 01 Web…
#10 音声・動画配信 ##エンドコードとデコード 音声・動画ファイル、画像ファイルと同様に、データを圧縮したうえで利用する。 圧縮することをエンコード、再生するために伸張することをデコード データ圧縮にはコーデックと呼ばれるソフトウェア ##ダウンロ…
07 JSON〜JavaScriptから生まれた汎用データ形式 ・JSON(JavaScript Object Notation)……構造化したデータを表すためのデータ記述言語の一種 ※JavaScript専用ではない ・JavaScript以外にも多くのプログラミング言語がJSONの読み書きに対応している ●データ…
04 CSS〜体裁を担当するスタイルシート〜 CSS(Cascading Style Sheets):HTMLやXMLの表示方法(体裁)を表現する記述。「スタイルシート」とも呼ばれる ●HTMLの体裁を記述 ●WEBサイト内での共用 ●クライアントごとに表示を変える 05 スクリプト言語〜動的…
#01 HTML HTML文書は、タグに囲まれた文書によって構成される。 HTMLは、時代によってバージョンアップされる 以下、重要な単語を記載 ・タグ・・・囲んだ文書が「何を示すか」を表すもの ・開始タグ・・・始まりを示すタグ ・終了タグ・・・終了を示すタグ …
HTTPSはステートレス(サーバがクライアントのセッションの状態を保持しない、という制約)なプロトコルであるため、WebブラウザとWebサーバーの一連のやりとりにおいて、状態を維持し管理する仕組みがない。 そのため、ショッピングサイトなどで状態を保持…
#09 HTTP/2での改良点 HTTP/2はストリームの多重化の他に以下の改良点がある。 ##バイナリ形式の利用 HTTP/1.1 以前・・・HTTPリクエストやHTTPレスポンスのやり取りがテキスト形式 HTTP/2.0 以降・・・HTTPリクエストやHTTPレスポンスのやり取りがバイナリ…
#05 メッセージヘッダー ##メッセージヘッダーとは? HTTPリクエスト、レスポンスはいずれも「メッセージヘッダー」を利用することで HTTPメッセージに関する詳細な情報を送信することが可能 メッセージヘッダーは複数の「ヘッダーフィールド」と呼ばれる行…
・HTTPがどのようにしてWebサイトの閲覧を実現しているのか ・HTTPだけでは実現できない、現在のWebサイトの仕組みを支える技術 01 HTTPメッセージ〜HTTPでやりとりするデータの構造〜 HTTP(HyperText Transfer Protocol)……HTMLなどのテキストファイルや、画…
2-5 URLとドメイン #URL(Uniform Resource Locator) サイトを示す場所、データやファイルを取得方法を示す http:// スキーム名・・・プロトコルを指定する example.com: ドメイン名・・・接続先のサーバーを指定する。IPアドレスで指定することも可能 80/ …
01 Webを実現するコンピューターネットワーク コンピューターネットワーク:コンピューターが互いに接続して情報のやり取りをする仕組み ●クライアントとサーバー サーバー:ネットワーク上で情報やサービスを提供する役割を持つコンピューター。webサイトを…
06 Webページが表示される流れ ●URLを使ってWebサーバーにアクセス 1 URLで取得したWebページをWebブラウザに指定する URLには「どの手順で」、「どのWebサーバーに」、「何のコンテンツを」取りに行くかという情報が含まれている 2 Webブラウザは指定された…
01 Webとは web:正式名称はWorld Wide Web(世界に広がるクモの巣)。WWWとも。 文書の公開・閲覧のためのシステム。 ●World Wide Web Web上の文章(Webページ)はハイパーテキストと呼ばれる言語で構成されている。 ハイパーテキストは1つのWebページの中…
14章における「テスト」……他の(「本物」の)コードの振る舞いを確認するためのすべてのコードのこと 14.1 テストを読みやすくて保守しやすいものにする(P.180) テストコードを読みやすくすることは大切。本物のコードの動作が理解しやすくなる。 テストコー…
#キーとなる考え方 最も見やすいコードは、何も書かれていないコードだ ##その機能の実装について悩まないで(きっと必要ないから) エンジニアいうのは、見積を過小評価するため、 プロジェクトに欠かせない機能を過剰に必要だと錯覚する。 ##質問と要求の…
コードは簡単な言葉で書くべき --- 手順 コードの動作を簡単な言葉で同僚にも分かるように説明する。 その説明のなかで使っているキーワードやフレーズに注目する。 その説明に合わせてコードを書く。 --- 12.1 ロジックを明確に説明するP.158 具体例:説明す…
11章ではソースコードの「デフラグ」を行う https://enjoy.sso.biglobe.ne.jp/archives/defragmentation/ 一度に複数のことを行うコードは分かりづらい ■コードは1つずつタスクを行うようにする 手順 コードが行っている「タスク」をすべて列挙 タスクをで…
#キーとなる考え方 無関係な下位問題を抽出することだ つまりプロジェクト固有のコードから汎用コードを分離することだ 以下に考え方を記載する 1. 関数やコードブロックをみて、このコードの高レベルの目標は何か?を自問自答する 2. コードの各行に対して…
#キーとなる考え 巨大な式は飲み込みやすい大きさに分割する。 ※式が大きくなるとコードが読みにくい #テクニック ##説明変数(P100) 式を表す変数を使う。 ##要約変数 大きなコードの塊を小さな名前に置き換えて、要約する。 ##ドモルガンの法則を使う。 n…
変数をテキトーに使うとプログラムが理解しにくくなる この章では以下3つの問題に取り組む 変数が多いと変数を追跡するのが難しくなる 変数のスコープが大きいとスコープを把握する時間が長くなる 変数が頻繁に変更されると現在の値を把握するのが難しくなる…
どうすればコメントを正確に書けるか ポイント コメントは領域に対する情報の比率が高くなければならない 6.1 コメントを簡潔にしておく(P.72) そのコメントは1行でまとめられないか? と自問する 6.2 あいまいな代名詞を避ける(P.72) 読み手は「代名詞」を…
#キーとなる考え 制御フローはできるだけ「自然」にする。 コードの読み手が立ち止まって読み返さないように書く。 ##条件式の引数と並び順 ■条件式は、以下に書くとよい 左側…「調査対象」の式(変化する) 右側…「比較対象」の式(あまり変化しない) 例:…
#コメントの目的とは? →書き手の意図を読み手に知らせること ##考え方その①(コメントすべきでは「ない」こと) ・コードから”すぐに"わかることをコメントに書かない 例えば、//コンストラクタとか ・コメントのためのコメントをしない →コメントを書く…
優れたソースコードは「目に優しい」ものでなければいけない 読み手が慣れているパターンと一貫性のあるレイアウトを使う 似ているコードは似ているように見せる 関連するコードをまとめてブロックにする 美しさを改善すると…… □大きなリファクタリング(新…
●最善の名前とは? →誤解されない名前である。 ・基本的な考え方 →名前「他の意味と間違えられることはないだろうか?」何度も自問自答する ・テクニック1 →限界値の名前を明確にする際、名前の前にmax、minを付けよう 例:MAX_ITEMS_IN_CART=10(最大カート…
名前は短いコメント 短くても良い名前をつければ、多くの情報を伝えることができる ・明確な単語を選ぶ ・汎用的な名前を避ける(あるいは、使う状況を選ぶ) ・抽象的な名前よりも具体的な名前を使う ・接尾辞や接頭辞を使って情報を追加する ・名前の長さ…
●優れたコードって何? →他の人が最短で理解できるコード ⇨基本定理の考え方(最も大事な考え方ということ) ・どうすればいいか悩んだときは、どうすればいいか? →他の人が最短で理解できるかどうか自問自答する。 担当:らうみー