2015-01-01から1年間の記事一覧

2015 年まとめ

早いもので、もう 2015 年も終わります。自分用記録として 2015 年をまとめます。 2015 年にやったこと 今年は以下のようなことを習得したり、それを生かしてなにか作ったりしていました。 オブジェクト指向設計 Java 8 Ruby Rails JavaScript 上半期 オブジ…

Ruby でメソッド呼び出しのフック処理を実行する

問題 Ruby でなんらかのメソッドを呼び出しにともなって、特定の処理を実行したい場合、つまり、メソッド呼び出しのフック処理を実行したい状況を考えます。 解決法 エイリアスチェイニングという方法で実現します。エイリアスチェイニングについては、『Eff…

『Ruby のしくみ』を読んだ

『Ruby のしくみ』という本を読みました。 Rubyのしくみ -Ruby Under a Microscope-作者: Pat Shaughnessy,島田浩二,角谷信太郎出版社/メーカー: オーム社発売日: 2014/11/29メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る この本は XP…

はてなブログライターを作った

はてなブログに CLI で投稿できるはてなブログライター (0.1.0) を Ruby で作ってみました。 kymmt90/hatenablog-writer 概要 ローカルの Markdown ファイルの内容をはてなブログへ投稿します。 $ vi foo.md タイトル 1 # 2 行目は空白にする ここが内容です…

はてなブログ API 用の gem を書いた

はじめに はてなブログの AtomPub API 用の Ruby gem が意外にも存在しなかったので書きました。 kymmt90/hatenablog hatenablog | RubyGems.org | your community gem host 概要 Ruby スクリプトから、はてなブログのエントリ取得やブログへの投稿ができる…

Ruby ではてな OAuth のアクセストークンを取得する

はじめに はてなのサービスの API を自作のアプリケーションなどから叩くためには、OAuth というプロトコルを通じて、そのアプリケーションに適切な認可を与える必要があります。 最近 Ruby を触り始め、Ruby ではてなブログの API を叩きたくなりました。そ…

JUnit プロジェクトに寄付した

@t_wada さんのツイートで知った JUnit プロジェクトファンディングの件。 JUnit がクラウドファンディングで援助を求めている。現在フルタイムのメンテナがおらず、 issue 解決や Java8 対応 (特にラムダ式) の余力が無い。現時点の JUnit の問題点や将来像…

XP 祭り 2015 に行った

2015/9/12(土)に XP 祭り 2015 に行ってきました。場所は早稲田大学西早稲田キャンパスでした。 参加したセッション オープニング XP lives, XP dies, XP lives again!! スライド "俺"も XP 入門 スライド アジャイルとアンラーニング スライド TDD ライブ…

Emacs をアップデートしたあとは cask update を実行する

当たり前の話ですが一応メモ。 Emacs をいまさらながら 24.4 から 24.5 にアップデートしました。アップデートしたあとに Emacs を起動するとこんなエラーメッセージが出て init.el がちゃんと読み込めませんでした。 File error: Cannot open load file, no…

Happy Hacking Keyboard Professional JP を購入した

環境改善したいという機運が高まりつつあり、Happy Hacking Keyboard (HHKB) Professional JP を買いました。墨色です。 HHKB Professional JP にした理由、使用感などをメモしておきます(※個人の感想です)。 Professional JP にした理由 これは単純で、現…

鈍器を購入した

読みます。 参考文献 オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)作者: バートランド・メイヤー,酒匂寛出版社/メーカー: 翔泳社発売日: 2007/01/10メディア: 単行本(ソフトカバー)購入: 11…

YAPC::Asia Tokyo 2015 に行った

「家に帰ってブログに書くまでが YAPC」 2015 年 8 月 22 日(土)に YAPC::Asia Tokyo 2015 (2 日目)に行ってきました。実は初めての IT 系のイベント出席でした。また、惜しくも YAPC::Asia Tokyo は今年で一旦終わりとなるため、これが私にとっては最初…

『オブジェクトデザイン』読書メモ:第 6 章「制御スタイル」

これまでの分(第 1 〜 5 章)はこちら。 『オブジェクトデザイン』読書メモ:第 1 章「設計概念」 『オブジェクトデザイン』読書メモ:第 2 章「責務駆動設計」 『オブジェクトデザイン』読書メモ:第 3 章「オブジェクトを見つける」 『オブジェクトデザイ…

情報セキュリティスペシャリスト試験に合格した

2015 年春の IPA 情報セキュリティスペシャリスト試験 (SC) に合格しました。 点数は以下のような感じでした。2013 年秋の応用情報技術者合格の効力で、今回は午前 I は受けてないです。中の上。 勉強は、まず、午前問題対策として、以下の本の知識編で知識…

『オブジェクトデザイン』読書メモ:第 5 章「コラボレーション」

これまでの分(第 1 〜 4 章)はこちら。 『オブジェクトデザイン』読書メモ:第 1 章「設計概念」 『オブジェクトデザイン』読書メモ:第 2 章「責務駆動設計」 『オブジェクトデザイン』読書メモ:第 3 章「オブジェクトを見つける」 『オブジェクトデザイ…

『オブジェクトデザイン』読書メモ:第 4 章「責務」

これまでの分(第 1 〜 3 章)はこちら。 『オブジェクトデザイン』読書メモ:第 1 章「設計概念」 『オブジェクトデザイン』読書メモ:第 2 章「責務駆動設計」 『オブジェクトデザイン』読書メモ:第 3 章「オブジェクトを見つける」 前回の章まででは、オ…

『オブジェクトデザイン』読書メモ:第 3 章「オブジェクトを見つける」

これまでの分(第 1, 2 章)はこちら。 『オブジェクトデザイン』読書メモ:第 1 章「設計概念」 『オブジェクトデザイン』読書メモ:第 2 章「責務駆動設計」 ここからは実際の設計作業についての章です。第 3 章「オブジェクトを見つける」では、責務駆動…

『オブジェクトデザイン』読書メモ:第 2 章「責務駆動設計」

前回分(第 1 章)はこちら。 『オブジェクトデザイン』読書メモ:第 1 章「設計概念」 2 責務駆動設計 責務駆動設計についておおまかに説明 分析とオブジェクトの発見 責務の割り当て コラボレーションの設計 それぞれの詳細は後の章で説明 2.1 見て、記述…

『オブジェクトデザイン』第 1 章「設計概念」読書メモ

以下のスライドなどを読んだのがきっかけで、Wirfs-Brock の『オブジェクトデザイン (Object Oriented SELECTION)』を読んでいます。 オブジェクト指向の設計と実装の学び方のコツ ブログにメモを書きながら、とりあえず第 6 章の内容までは読み解きます。今…

Emacs のパッケージ管理に Cask を導入した

OS X の Emacs 環境に Cask を導入しました。 Cask によって、Emacs 環境が依存する elisp のリストをファイルに書き、そのファイルを読み込むことで、コマンドひとつで elisp のインストールやアップデートができるようになります。つまり、導入する elisp …

launchd で Homebrew を自動アップデート(Yosemite 編)

対応した内容をブログにメモしておくのを忘れていたので、いまさらながら書いておきます。 OS X で cron 的なことをするためには、launchd というものを使う必要があります。以前、パッケージマネージャ Homebrew のアップデートを自動で走らせたいと思い、l…

単体テスト時に Hamcrest の Matcher#closeTo で誤差あり浮動小数点数の等値比較

状況 JUnit + Hamcrest で単体テストを書いている。 問題 たとえば、単体テストとして、浮動小数点数を返すメソッドを用いて等値比較をしたいとする。ここで、あるテスト対象オブジェクト sut のメソッド getDoubleValueWithError() は 1.0 を返すが、誤差を…

ISBN を例として不変クラスを作ってみる (2)

前回に続いて、今回は実際に不変クラスを作ってみる。 不変クラスの条件 不変クラスの条件を復習しよう。条件は以下の通りだった。 すべてのフィールドの可視性を private にする final をつけるなどしてすべてのフィールドを変更不可にする setter のような…

ISBN を例として不変クラスを作ってみる (1)

Effective Java で説かれているのが、不変クラスの重要性だ。以前、読書メモを以下の記事に書いた。 Effective Java 第 2 版:第 4 章 項目 15 - kymmt's note 不変クラスとは、インスタンス生成後は保持データの変更ができないクラスのことだ。例えば、Java…