bouzuya.hatenablog.com

ぼうずやのにっき

2013年9月まとめ

さて、だらだらと先延ばししてきた 9 月まとめをしよう。

技術的な項目から

技術的な項目からはじめよう。キーワードだけを並べると Ruby / Ruby on Rails / JavaScript / Node.js / Windows Azure / AWS / Twilio といったところ。

個人的には AWS と Node.js と Twilio が印象的だった。

まず AWS から

まず AWS から。AWS だと広すぎるので、もうすこし詳細に使ったサービスを書くと、EC2 / VPC / S3 / EBS / ELB / DynamoDB / RDS / Elastic Beanstalk / Route53 。知っている人が見れば、粒度がバラバラだと言われるかもしれない。軽く触っただけのものが多い。ざっくりサービスが作るために必要そうな部分をなめた感じ。まだ CloudFront とか、CloudWatch とか Auto Scaling なんかも触っていない。Elastic Beanstalk 経由で使われている気もするけど、それはそれで、中身も理解がある程度ないとハマると死ねるからね。まあすこしずつで良いかな。それに頻繁に機能追加されているわけだし、そこまで使いこなさなくても必要なところを中心にかじっていけば良い気がしている。

Route53 については、サブドメインをユーザーごとに切るとかできるかなって API を使ってみたりもした。( https://gist.github.com/bouzuya/6747877 )

EC2 についても、停止/開始をコマンドラインでやるために AWS CLI を試したりもした。Jenkins 経由で使っている。 ( https://blog.bouzuya.net/2013/09/23/install-aws-cli/ )

イベント JAWS FESTA Kansai 2013 にも参加した。 ( http://jfk2013.jaws-ug.jp/ )

ぼくの中での AWS 熱は高まってきているし、もっと使えるようになりたいと感じる。ぼくのスキルセットにはサーバーマシンのセットアップ(物理)を加える予定はないけど、パブリッククラウドを中心としたインフラ構築のスキルは追加したいと考えている。トータルでできるためにはインフラはかかせないが、何百万もするマシンをぼく個人が構築することは今後きっとないだろう。月額数千円からの IaaS / PaaS はかなり有力な選択肢だと思う。

次は Node.js

次は Node.js 。これが良い。環境構築が楽なのと使ったパッケージの出来が比較的良かったのだと思う。

よく使ったパッケージは express / socket.io / async / supertest (superagent) / mocha / should (assert) 。テストコードをすこし書いたのだけれど、やっぱり書き慣れないと難しい印象がある。こなれてない感じが出てしまう。言語自体の知識さえも不足してたし、仕方ないんだけどね。

これらのパッケージを手軽に導入できる仕組みとして npm が良くできていたのが重要だと思う。軽く箇条書きするとこんな感じ。

  • npm install <package>./node_modules にインストールできる
  • 依存関係も自動解決される
  • package.json に記載しておけば、npm install でそれに従って必要なものをインストールできる
  • dependenciesdevDependencies とで、本番と開発とで使うライブラリを分けることもできる
  • npm install <package> --savenpm install <package> --save-dev などで package.json に追記できる
  • npm test としたときの動作を指定できるので mocha --reporter spec とか設定しておけば、テストの動かしかたにも迷わない
  • npm start としたときの動作を指定できるので、起動操作にも迷わない。他にも停止など指定できる

npm は Clojure における Leiningen のようなもの。しかも標準で付属。きっと Ruby ではここまでをひとつにまとめたものはないんじゃないかな。node package manager じゃなく node PROJECT manager って感じ。

ええと、他気になる点としては callback だらけになることとか(そのために async を使用している)、コンパイルで検出できるエラーがやはり少ないのでテスト必須とかかな(mocha/should/supertestあたりを使用している)。もっとテストコード書かないといけないなあ。Ruby もきっとそうだろうし。

で Twilio

で、Twilio 。電話関連を操作できるこいつはなかなかすごいやつ。難しいことが、身近に手軽にできるようになっている感じ。こういう変化にもっと敏感にならないとなあ。Twilio API を Node.js から呼び出した。 良くできている。ライブラリの完成度もそうだけど、ドキュメントやチュートリアルなんかも充実しているし、ActionScript なんかですぐに動きが見えるあの感じ。簡単にすごいことができてしまう。ブラウザで発信/着信/通話したりできるし、宅配便なんかでお馴染の電話でのナビゲーションなんかもぼくが月額500($5)くらいで実現できてしまう。ヤバイ。

ひとり読書会について

ひとり読書会はどうなったのか、と。ツイートはしていないのだけれど、すこしは読んでいる。順調ではないね。

他にも Software Design とかも読んでいるし、Ruby on Rails の本もかじっているし、Ruby ベストプラクティスとかも途中だ。あれやこれややりすぎているんだよね。それでも前進はしているから、やめないようにしたい。

見える形にはしたほうが良いなあ。

体重

体重は順調に推移している。今月は 49.9 kg から 51.6 kg まで増えた。およそ 1.5 kg 増で良いペースで増えていると思う。体脂肪率は 14 % から 17 % と 2 % から 3 % の増で、こちらはすこしまずい。最近は 16 % か 17 % が平均。

体重はこのペースでの増加を狙い、可能なら 10 月で 53 kg で 1.5 kg ずつ増やしたい。体脂肪率は目標の 16 % 維持につとめたい。大きい筋肉や鍛えられていない箇所にもっと注目した方が良いのかな。

その他

新しい会社での仕事がはじまったし、梨狩りに行ったし、Cookie を焼いたり、彼女ができたり、艦これを引退したりと、色々忙しかった。10 月もがんばろう、とか書いている間に、もう W40 が終わってしまったんだな。やばいなー。

60 min.