javascriptを手っ取り早く学ぶためのjs本フローチャート

今年はjavascriptをちゃんと学ぼうという目標を立てて、Node.jsでWiki作ってみたり、ナポリン(富士のB級グルメのご当地キャラ)のゲームを作ったりしたので、一通りやった感は得られたかなと。

tw11128

Javascriptの本を何冊か読んだので、どういう順番で勉強したら効率的だろうかとGraphvizを使ってフローチャートにしてみた。

jsflow

パーフェクトJavascriptは必読かなと思うが、知識がない段階でいきなり読むと挫折する本なので、JGPかなんかで概要を掴んでおくか、普通にコード書けるようになってから読んだほうが得るものが多いですね。良書でしょう。

ProductName パーフェクトJavaScript (PERFECT SERIES 4)
井上 誠一郎
技術評論社 / 3360円 ( 2011-09-23 )


テスト駆動Javascriptは中級者向けですね。途中まで読んだけどこの本はおもしろい。Jenkinsと組み合わせて継続的インテグレーションまでやりたくなる。

それから、そろそろNode.jsの実戦向けの本が出てくれないかなぁと思っている。

根知男山

旨いね。

1325160056

日本酒の美味さはディラックのデルタ関数のような繊細なピンポイントさが求められるなと。

ProductName 酒のほそ道 宗達に飲ませたい日本酒100選

日本文芸社 / 720円 ( 2011-12 )


Commercial Suicide

ダークめのdrum'n'bassが満載で良い。

ProductName Commercial Suicide: Compilation

Commercial Suicide / 1200円 ( 2011-12-05 )


Roxy / Nymfo & State Of Mindが一番良かったかな。

今年ブログにつけたタグを数えた

今年は640エントリ投稿してた。

エントリについたタグをカウントして多い順に並べてみた。

宣言通りにjavascriptを重点的に学んだ気がする。

tw11128

ちなみに、タグとそのカウントの辞書を作った後に、itemでソートしたい場合にはちょっとめんどくさかった。

for k,v in  sorted(tag_table.items(), key=lambda (k, v): (v, k), reverse=True):
    print k,v

来年はAndroidかなぁ

SQLAlchemyで日付の範囲を指定する

今年一年どんだけエントリ書いたかなーと思ったので調べようとしたら、日付の範囲指定が分からなかったので調べた。

datetime.dateで2011/1/1と2012/1/1の間をand_でつないだものでfilterする

filter(and_(
Entry.pubdate >= datetime.date(relevant_year, 1, 1),
Entry.pubdate < datetime.date(relevant_year + 1, 1, 1),
))

この本はバージョンがちょっと古くなってるけど、僕の中ではまだ現役でたまにお世話になってる。

ProductName Essential Sqlalchemy
Rick Copeland
Oreilly & Associates Inc / 2719円 ( 2008-06 )


戦略思考

なかなか面白く読めたが、読者のターゲットが今ひとつ。タイトルもよく分からないし(どの世代の10年後をイメージしてるんだろうか?)日本軍の話とかがでてくるから、若い世代に向けているわけではないのかなぁと。 それから、わかってない人にわかりやすく説明する本だとしたら丁寧さが足りないし、わかっている人の思考の整理のための本だと考えると主観が強すぎる気がしないでもない。

というわけで、ビジネス本のような明快さには欠けるんじゃないかな。個人的にはつまみ食いできたから満足だったけど。

今までだったら日本は全部共同体だから、共同体の中では人柄のいい人、空気の読める人、そういう人が上に行けば穏便に済んでいた

共同体というのは機能集団ではないからダメだということ。

  • 最初に成果/目標の定義をしろ
  • 「真っ当な学び」というのは、いまの自分に欠けている点をはあくすることからしかスタートできない
  • 戦略とは「しないこと」を決めること

プログラムからデータリンク層を扱う

Unixネットワークプログラミング入門でTCPとUDPをあつかったので、その勢いでデータリンク層をあつかってみます。

ProductName ルーター自作でわかるパケットの流れ
小俣 光之
技術評論社 / 1974円 ( 2011-07-09 )


2章は基本。

TCP,UDPと同じようにsocketを使えばいい

soc = socket(PF_PACKET,SOCK_RAW,htons(ETH_P_IP)))

ちなみにTCPの場合はこんな感じ

soc = socket(AF_INET, SOCK_STREAM, 0))

続いてbind

sa.sll_family=PF_PACKET;
sa.sll_protocol=htons(ETH_P_IP);
sa.sll_ifindex = ifreq.ifr_ifindex;
bind(soc,(struct sockaddr *)&sa, sizeof(sa))

と、socをインターフェースに関連付ける

TCPの場合もbindでアドレスとポートに結びつける

me.sin_family = AF_INET;
me.sin_addr.s_addr = htonl(INADDR_ANY);
me.sin_port = htons(port);
bind(soc_waiting, (struct sockaddr *)&me, sizeof(me))

まだ2章までしか読んでいないが、3章でパケットキャプチャ、4章でブリッジ、5章でルータを書いていくという流れになっていて、楽しみ。

ちなみに初心者向けではなくて、著者の暗黙の前提のあたりは説明がさくっと省かれている。 Unixネットワークプログラミング入門を読んでなかったら速攻挫折してたと思う。

ちなみにサンプルコードはmacでは動かない。

沼津の深海水族館と「ろたす」のラーメン

沼津の深海水族館に行って来た。入場料が1.6kとお高めだったが、それなりに楽しめたのでよしとしよう。

特にクラゲとヒトデが好きな娘にはよかったらしい。

とはいえクラゲは優雅に舞っていてよいですな。

1324900221

針金みたいなカニ。

1324900224

それからタツノオトシゴの生きたものを見たけど、尻尾がウネウネしててちょっと感動した。 どうやって泳いでんのかはちょっと理解できなかったが。あと、海底を歩く魚とか、なんか変なのが多めで楽しかった。

二階はシーラカンス。シーラカンスはあんなに大きいと思わなかったのでちょっとびっくり。松方弘樹がターゲットにしてもいいんじゃないか?

「松方弘樹、古代を釣る」みたいな。

1324900227

あと、哺乳類って卵産まないと思っていたのだけど。

1324900226

哺乳類の定義ってなんだろか?と。実はこれが一番の収穫だった。

さて、昼食を沼津港でとろうと思っていたのだけど、子どもがラーメンを所望するので、Jackでも行くかと車をはしらせてたらろたすの存在を思い出したので。

卓朗商店の跡地だと車停めにくくて嫌だなぁと思っていたら、違う場所で駐車しやすくて良かった。

1324900229

店内にはトナカイがいたのだけど、だれも突っ込まないので触れてはいけないのかと。息子がトナカイ!トナカイ!とテンションが上がったのだけど、黙らせた。

煮干しらーめんうますぎ。

1324900231

まぜそばもなかなか美味しかったんだけど、ジャンクな気分じゃなかったし寒かったので、煮干しらーめんのすっきりした美味さが際立った。

1324900234

次は煮干しらーめんを注文しようっと。

天空昇兵衛

実家から送られてきた。ラベル見たら東力士のとこだった。

1324789862

淡麗な味わい。僕には淡麗すぎた。もうちょっと酸が効いてるのが好みなので。正月に飲んだ東力士は美味かったな

蕎麦打ちした

打ちたくなったので。

1324789382

500g打っちゃうと一食分よりも多くなっちゃうし、なにより数がこなせなくなっちゃうので毎回250gくらいにしておこうと思うんだけど、毎回500gやってしまう。

二八しか打たないんだけど、小麦はパン用に購入した強力粉を使ってみた。そんなわけで、最近はパン作ったり、餃子作ったりと粉まみれの生活を送っているが、なかなか楽しい。