nekoTheShadow’s diary

IT業界の片隅でひっそり生きるシステムエンジニアです(´・ω・`)

田中哲『APIデザインケーススタディ: Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方』(技術評論社)

本書はそのものずばりタイトル通りの内容です。つまりRubyAPIがどのように設計されているのか、その技術的歴史的経緯が事例とともに紹介されています。よって「よいapiデザインのためには命名をしっかりしましょう」というような類を期待しているとすこしびっくりするかもしません――というかわたしがそうでした。

「意外な収穫」の1冊でした。なかでもRubyを形作るC言語の部分、あるいは低レイヤと呼ばれる部分の解説がしっかりなされており、ふだんはJavaBashばかり書いている業務系システムエンジニアにはとても勉強になりました。もちろんapiデザインに関する話も面白かった。言語や文化を超えた多種多様なひとびとが使うRuby。うらがえせばそのapiはだれであれ思惑通りに使えるものでなければならず、その実例を学ぶことは通常のプログラミングでも役に立つはずです。また通常のプログラミングにおいては、言語やライブラリに標準に用意されているapiをWrapしていく作業が多く、その点でも不便なC言語を覆い隠す過程を描いた本書は参考になると思います。

『いきのこれ! 社畜ちゃん(1)』『いきのこれ! 社畜ちゃん(2)』(電撃コミックスNEXT)

かわいい(こなみかん)

システム開発会社(SIer)の実態を描くというよりはむしろ、キャラクターをかわいらしく描くためにシステム開発会社という舞台を選んだ――と思うのですが、はしばしにSIer/SEの「ブラックあるある」が飛び出しており、同業種としては楽しめました(血涙)。そんなレビューを書いているわたしですが、今日は9時出社の9時退勤。これでもまだまだ「まし」なほうという悲しみです。社畜ちゃんを読んで英気を養いたいと思います……。

個人的には後輩ちゃんが好みです(´・ω・`) あんな後輩が職場にいたら毎日楽しいのに(現実逃避)

永井豪とダイナミック・プロ『キューティーハニー The Origin』(小学館)

ふだんはほとんど漫画を読まないのですが、年に数回は発作的に漫画を読みたくなることがあります。とはいえ漫画読みではないので、巻数が多いのはつらい。できれば1巻完結の読み切り型がいい――そう思って本屋をうろついていると、たまたま見つけたのが本作でした。

幾度となくアニメ化映画化されており、とりわけアニメ主題歌は世代を問わずよく知られている。にもかかわらずちゃんと作品を読んだことがなかったので、このたび挑戦してみたという次第です。名作漫画にこういう論評をするのもあれですが――ギャグありエロスあり、そしてダイナミックな物語展開があり、エンタメの基本のような作品でした。面白かったです(´・ω・`)

ThinkPad Bluetooth ワイヤレス・トラックポイント・キーボードを仕事用に導入した

ふだんの仕事では会社から支給されているDynabook(東芝)を利用しているのですが、このPCのキーボードがわたしの好みとまったく合わない。とりわけ打鍵感。MacBookのような「薄い」キーボードが採用されており、これが非常に不満でした。わたしの仕事はシステムエンジニア。すなわち毎日8-10時間近くキーボードを打ち込む仕事のため、「薄い」キーボードだと手が痛くなってくるのです。そもそも総合的なフィーリング自体がわたしの好みではなく、いろいろと悩んだ結果仕事用に外付けキーボードを導入することに。

新しいキーボードを探すにあたっては

  • 「軽くて薄いこと」(通勤など頻繁に持ち運びをするから)
  • 「無線ではなく、かつなるべくbluetoothであること」(線が邪魔&USBポートが足りない)
  • 「丈夫なこと」
  • 「打鍵感が自分の好みであること。つまり『薄い』キーボードではないこと」

以上の条件から探した結果、行きついたのが「Thinkpad Bluetooth keyboard」でした。

ThinkPadブランドということで丈夫さと打鍵感は折り紙付き。パンタグラフ式のため薄いのはもちろんのこと、電源は内部バッテリー式、すなわち乾電池を内蔵していないため非常に軽く、持ち運ぶにはもってこい。文句があるとすれば値段。ビックカメラの実店舗で購入したのですが、15000円。ネットで最安値を探しても1万円近くしますから、パンタグラフ式の割には強気な値段設定です。とはいえ使用感は自分にぴったりなので、いい買い物をしたと思います。

あとは「トラックポイントが意外と便利」というのも個人的な発見でした。カーソル移動時にホームポジションを崩さなくなった=マウスを利用しなくなったため、必然的に腕や手の移動量が減り、腱鞘炎気味だった右手が改善。またぼんやりとインターネットサーフィンなどをするとき、マウスだと利き手しか使えませんが、トラックポイントだと右手左手両方が利用できます。要するにトラックポイントを捜査する手を交代することにより、手にかかる負担が軽減できるわけです。

なお自宅では「Happy Hack Keyboard」(通称HHKB)を使っています。HHKBも軽くて打鍵感も最高のいいキーボードですが、thinkpad bluetooth keyboardに比べるとやはりかさばるので、東京の満員電車の中を持ち運ぶのはすこしつらい。またファンクションキーがないのも仕事で使う上では減点対象。仕事ではExcelEclipseを多く使うのですが、この両方ともファンクションキーを多用するので、HHKBでは差し支えそうです。本音を言うとExcelEclipseも使いたくないのですが(´・ω・`) 転職したいぜ(´・ω・`)

コーマック・マッカーシー『越境』(ハヤカワepi文庫)

越境 (ハヤカワepi文庫)

越境 (ハヤカワepi文庫)

コーマック・マッカーシーの作品は日本的ではない独特の雄大さ、いいかえればアメリカ南部的な雄大さがあり、非常に気に入っています。本作にもその雄大さが存分に表れており、楽しく読むことができました。

マッカーシーはいわゆる純文学作家であり、ノーベル賞にもっとも近い米国人作家のひとりともいわれます。そうした世評からすると、小難しそう・ややこしそう・つまらなそうという印象を抱くかもしれませんが、それは間違い。本作も含め、マッカーシーの作品は起伏にとんだストーリーがあり、エンターテイメント作品としても十分成立するほどです。実際映画化された作品もありました(『血と暴力の国』)

血と暴力の国 (扶桑社ミステリー)

血と暴力の国 (扶桑社ミステリー)

また個人的なお気に入りポイントとしては彼の文体。読点=カンマを使わない、会話文をクオートでくくらない、そもそも地の文と会話文の区別がないなど、その独特の文体は一度はまると妙な癖になります(なお日本語では訳者が適宜句点を足しています。もっともそれでも異常なほどに少ないのは変わりませんが)。わたしの文章はよく句読点が少ないといわれるのですが、完全にこの影響です(´・ω・`)

Bill Karwin『SQLアンチパターン』(オライリー・ジャパン)を読んだ。

SQLアンチパターン

SQLアンチパターン

アンチパターン集、つまりは「べからず集」です。決して「あるある集」ではありません(´;ω;`)ウッ…

システム開発において、比重が大きいにもかかわらずないがしろにされがちなのがデータベース。わたしのような業務系SEだと「たくさんのデータがあって、そのうえにアプリケーションをのせる」ということが多いので、DB周りがいい加減だと、あとあと泣きを見ることになります。というか現在進行形で泣きを見ています。ちくしょうめ(´・ω・`)

DBに限らず、世の中はベストプラクティス集にあふれています。理論に裏付けされた最善策を学び実践することは大事ですが、やってはいけないことを学ぶことで見えてくることもあります。むしろ「やってはいけないこと」を避けるだけで少なくとも大炎上は避けることができるはず。システム開発に欠かせないがためにその影響範囲が大きいRDBMSだからこそアンチパターンを学ぶ意味があるのだとわたしは思います。

ちなみに現在参画中のプロジェクトですが、本書に掲載されているアンチパターン「EAV」を利用しており、そのアンチパターン部分が見事にボトルネックになっています。メンテナンスも拡張も難しくなるし、なぜITアーキテクトは「EAV」を採用してしまったのか。本書を読んでいればそのデメリットがいたいほどわかったはずなのに――そういう意味でも感慨深い本でした。

まつもとゆきひろ『言語のしくみ』(日経BP社)が面白かった。

ひげ面の男性が正面に向けて指をさしているという、まるで自己啓発書のような表紙ですが、中身は驚くほどちゃんとした技術書です(失礼)。むしろ本書を読むと、プログラマとしての能力が向上する(少なくともそんな気分にはなる)という点では、下手な自己啓発書より自己啓発の役に立つかもしれません。

面白かったです。「プログラミング言語を開発する」といっても、がちがちに理論が解説されたり、ツールの使い方が懇切丁寧に説明されたりはしません。 「筆者がプログラミング言語をデザインして実装していく過程を眺める」とでもいうべきでしょうか。必ずしも予定調和へ向かわないし、また話が脱線することもあるなど、テイストとしては重々しすぎず「技術よりの読み物」として楽しく読みとおすことができました。また実際のソースコードGitHubに公開されているので、実際に手を動かしてみてもよいのではないでしょうか。わたしは仕事が忙しくて読むだけで終わりそうですが(´・ω・`)