書籍「Webプログラミングが面白いほどわかる本」のまとめ。
点数
88点
感想
とても高校生向けの本とは思えないほど実践的で良い内容だった。
著者は知識があり、実務もできる人であることが想像できる。
高校1年生がこの本の内容を理解できるようだと、多くのエンジニアはかなり危機的な状況になっていく思う。
参考になったこと
- ncコマンド
- JavaScriptのMapオブジェクトのソート
- Node.jsの非同期IO
- MapオブジェクトをJSONでファイルに保存
主な内容
tcpdumpコマンド
sudo tcpdump src www.yahoo.co.jp -X
のように使う。
srcの後に送信元を指定。 -Xは詳細表示。
ncコマンド
NetCatの略。
TCP、UDPの簡易的なクライアント・サーバのプロセスを起動するコマンド。
サーバ側もできちゃうtelnetって感じ。nc -l 8000
でサーバ起動。nc 127.0.0.1 8000
でクライアントから接続。
どちらかでキー入力すると、もう1方のコンソールに表示される。
Rubyで簡易WEBサーバを起動
ruby -run -e httpd . -p 8000
ブラウザでhttp://localhost:8000にアクセスすることで確認可能。
-runオプションではなく-rオプションでunライブラリを読み込んでいる。
そして、-eオプションでhttpdメソッドを呼び出している。
シェルスクリプトでrssを取得
#!/bin/bash
filename="/Users/okada/`date '+%Y%m%d%H%M%S'`.xml"
curl -s -o $filename https://www.nicovideo.jp/ranking/genre/all?rss=2.0&lang=ja-jp
# curlの-sオプションは「実行中のメッセージを表示しない」
GitHubでのissue管理
Issuesタブ⇒New Issueで作成
ソースコミット時のコメントを#1 イシューの対応です
のようにすると、コミットとIssueが紐づく。
⇒Issueが解決されたらClose and comment
でIssueを閉じる。
Gist
GitHubで提供されている機能。
メモやコードを手軽に保存することができる。
保存時にCreate Secret Gistにすると非公開、Create Public Gistだと非公開。
https://gist.github.com/
先に作ったローカルリポジトリをGitHubに反映させる
GitHubでリポジトリを作成してから「…or push an existing repository from the command line」
に書いてある以下の2つのコマンドをローカルで実行する。git remote add origin git@github.com:ユーザー名/リポジトリ名.git
git push -u origin master
※-uオプションは次回以降git push
だけでorigin master
にするためのもの
Node.jsのアサーション
const hoge = (i) => i + 1;
const assert = require('assert');
assert.equal(hoge(1), 2, `期待値は2ですが結果は${hoge(1)}でした`);
assert.equal(hoge(2), 3, `期待値は3ですが結果は${hoge(2)}でした`);
console.log('全て成功しました。');
Node.jsでファイルの読み取り
const fs = require('fs');
const readline = require('readline');
const rs = fs.ReadStream('./hoge.csv');
const rl = readline.createInterface({ input: rs,output: {} });
rl.on('line', (lineString) => {
console.log(lineString);
});
rl.resume();
// resumeメソッドがコールされると、ストリームに情報を流し始める