感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Atomやクロスオリジン制限について学んだことのメモ。

<スポンサーリンク>

APIとは、アプリケーション・プログラムとシステムの間の境界を指す言葉で、Application Programming Interfaceの略。
新人の時はAPIの意味がよくわからなかったのだけれど、TwitterのWeb APIなんかを自分で使うようになってやっと実感できた。
Web APIが想定するシステムはWebサービスである。

スクレイピングとは、HTMLから必要なデータだけを抜き出す処理のこと。
正規表現などを駆使してスクレイピングを行うが、処理は複雑になりがちである。
またYahooなどの特定のページからデータを抜き出すプログラムを作ったとしても、そのプログラムは他のサイトでは使い回しが効かない。

XMLスキーマとは、XMLのタグの意味や構造を決めた規則のことである。
スキーマを来ユツする代表的な言語にはDTDXML Schema, RELAX NGなどがある。

Atomは、Web APIの世界で使われるXMLデファクト標準になりつつある企画のことである。
Atomは従来、独自規格が乱立したRSSを置き換える目的で始まった。
RSSとは、Webサイトの更新情報を配信するフィード用フォーマットの事実上の標準である。

Atomは、
Atom Syndication Format(rfc4287):フィード
Atom Publishing Protocol(rfc5023):Web上の文書の更新
の2つの企画に分かれていて、それぞれ目的が異なる。

クロスオリジン制限とは

クロスオリジン制限とは、異なるオリジンに対する通信が制限されているという意味。
オリジンとは、URLのプロトコル(http:,https:)、ホスト名、ポート番号を組み合わせたもの。
Webの世界では、オリジンが同じ場合だけ通信が許可される。
これを同一オリジンポリシーと言う。

Ajaxを使うときに利用するXMLHttpRequestにおける同一オリジンポリシーとは、XMLHttpRequestオブジェクトがリクエストを送信できるのは、XMLHttpRequestオブジェクトを利用する文書をダウンロードしたサーバに限定する、という意味。

クロスオリジンとは、異なるオリジンに対してリクエストを発行するという意味だが、上記の同一オリジンポリシーがあるせいで、異なるオリジンに対してリクエストを送ることができない。
これには前の記事でずいぶんハマったが、小飼弾さんの記事に助けられた。
前の記事
http://d.hatena.ne.jp/sho322/20130630/1372613887

小飼さんの記事
Ajax - Goodbye, JSONP. Hello, Access-Control-Allow-Origin
http://blog.livedoor.jp/dankogai/archives/51502865.html

勉強した本

パーフェクトJavaScript (PERFECT SERIES 4)

パーフェクトJavaScript (PERFECT SERIES 4)


本当の初級者の時に読んでも良さがわからなかった。
モダンJavaScriptを読み、jQueryの勉強をして、Node.jsをいじったりもした。

もう一度この本に返ってきた。ようやく素敵さがわかった。
中級者以上の御用達と呼ばれる意味がわかった気がした。
この本を何度も読めば、きっと中級者以上になれると信じている。

感謝のプログラミング

今回で感謝のプログラミングは【517時間目】
10000時間まで、あと【9483時間】