2015 年まとめ

早いもので、もう 2015 年も終わります。自分用記録として 2015 年をまとめます。

2015 年にやったこと

今年は以下のようなことを習得したり、それを生かしてなにか作ったりしていました。

  • オブジェクト指向設計
  • Java 8
  • Ruby
  • Rails
  • JavaScript

上半期

オブジェクト指向設計について、主に Wirfs‐Brock らの『オブジェクトデザイン』や Meyer の『オブジェクト指向入門 原則・コンセプト』を読んでいました。『オブジェクトデザイン』はこのブログに読書メモを書いていました。

去年から触っていた Java 8 の機能も使いつつ、練習がてら、Java で主に以下のようなものを作っていました。

  • kymmt90/meigen-bot
    • Twitter の指定ユーザ一において、一定数以上の like がついたツイートを収集し、ランダムにつぶやく bot
    • 単体テストを JUnit で書いた
    • Maven でビルドできるようにした
    • CI を導入した (Travis CI)
  • kymmt90/LDA
    • Latent Dirichlet Allocation の Gibbs sampling による推定の実装
    • クラスの責務分けなどを意識して作った
    • 計算速度が遅い…

そのほか、4 月に情報セキュリティスペシャリスト試験を受験して、合格しました。

下半期

上半期から徐々に Ruby に入門していました。基本は Yugui 氏の『初めての Ruby』で習得しました。『Effective Ruby』も読みました。

また、Rails チュートリアルや『Ruby on Rails 4 アプリケーションプログラミング』で Rails の基本を習得しました。付随して、JavaScript や jQuery の使い方も最小限は習得しました。

Ruby で主に以下のようなものを作っていました。

  • kymmt90/hatenablog
    • はてなブログ AtomPub API の Ruby ラッパー gem
    • test-unit, メタプログラミング、gem 作成方法、OAuth (1.0a), AtomPub について理解を深めた
    • rubygems.org で公開
      • gem 'hatenablog'
  • kymmt90/rails-rss-reader
    • Rails 製 RSS リーダー(習作、WIP)
    • フィード登録、カテゴリ登録、エントリ既読・未読管理など

2016 年にやること

コードは書いてなんぼなので、アウトプットを増やすことが必要だと思っています。例えば、なにかアイデアを形にして Heroku に載せたりとか。活動が自分自身で閉じているので、なにか外部にコントリビュートできたらいいと思います。

『情熱プログラマー』の「スペシャリストになろう」を読んで、使っている技術を支える低レイヤ部分、ブラックボックスの中身を理解することが、ひいては小手先でない正しい問題解決につながるのでは、と思うことがありました。そういうわけで、Java であれば JVM の仕組みを理解するような、一段下のレイヤを追ってみるということを意識しておきたいと思います。ちなみに、これを意識して、2015 年は XP まつりでいただいた『Ruby のしくみ』を読んで、YARV の簡単な仕組みを追ったりしていました。

「一年に一言語習得」は Java, Ruby と続いているので、引き続きやりたいと思います。関数型、オブジェクト指向のハイブリッド、かつ JVM 言語である Scala に興味があります。

ほかには、4 月にデータベーススペシャリスト試験を受験する予定です。

参考文献

オブジェクトデザイン (Object Oriented SELECTION)

オブジェクトデザイン (Object Oriented SELECTION)

  • 作者: レベッカ・ワーフスブラック,アラン・マクキーン,株式会社オージス総研藤井拓,辻博靖,井藤晶子,山口雅之,林直樹
  • 出版社/メーカー: 翔泳社
  • 発売日: 2007/09/13
  • メディア: 大型本
  • 購入: 3人 クリック: 52回
  • この商品を含むブログ (42件) を見る

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)

オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)

初めてのRuby

初めてのRuby

Effective Ruby

Effective Ruby

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

情熱プログラマー ソフトウェア開発者の幸せな生き方

情熱プログラマー ソフトウェア開発者の幸せな生き方

Rubyのしくみ -Ruby Under a Microscope-

Rubyのしくみ -Ruby Under a Microscope-