matarilloの雑記

GitHubに公開したソフトウェアなどについて書きます。

「Web系企業が教えてくれないWindowsではじめるWebプログラミング」の想定読者

SlashDotのACさんたちとか、Web系企業のひととかとは、前提が違うと思うんですよ。 スタートとゴールが未定義だと議論が発散するから意味ないんですよね。 なので、いま私が念頭に置いていることをメモっておきますよ。

スタート

  • PCのWebブラウザ(種類は問わない)で不自由なくWebブラウジングできる人
  • ぐぐれる人(Web検索して情報を得ることができ、かつその情報の有効性について何らかの判断ができる)が望ましい
  • 何らかの手続き型言語で何らかのプログラムを書いたことあって、ループとか関数とかコンパイルとか黒い画面とかそういうので怯まない人が望ましいけど、必須ではない(そのあたりから解説してもいい)

ゴール

具体的には、以下のようなことを一通りカバーする

  • ブラウザ(HTTPクライアント)とWebサーバがやっていることがHTTP/1.0くらいのレベルでイメージできる
  • HTMLとXMLの最大公約数的なシンタックス(開始タグ終了タグ属性コメントエスケープあたり、木構造の理解が望ましい)がわかる
  • 静的HTMLとCSSをすげえ簡単なレベルで書ける
  • anchorタグでリンクしている2-3枚のHTMLをlocalhost上の何らかのWebサーバに置いて、ブラウザからアクセスしてリンクをたどって確認できる
  • formタグのある静的HTMLと、それを受け取って動的HTMLを返す何らかのプログラムをlocalhost上の何らかのWebAppサーバに置いて、ブラウザからアクセスしてフォームにポストして確認できる(GET/POST両方やれるべき)
  • DOMがどういうものかイメージできる
  • JavaScriptが要求されてロードされて実行される流れがなんとなく把握できてる
  • bodyのloadとbuttonのclickあたりにJavaScriptイベントハンドラを仕掛けたHTML+JavaScriptを書ける
  • クッキーとセッション状態がどういうときに使われるか、簡単な例を説明できる
  • クッキーとセッション状態を使った単純なWebアプリケーションを書ける

また、以下のことは範囲外とする

  • データ永続化と取得
  • セキュリティ(これはインターネットに向けてサービスやアプリを公開する前に叩き込む必要があるけど、教えることが多くて困る)
  • 特定の言語プラットフォームやフレームワークを前提とする知識
  • HTML5などのモダンWeb標準
  • AltJSやモダンJavaScript