nekoTheShadow’s diary

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

夏休みの課題図書: 『大規模データセットのためのアルゴリズムとデータ構造』『Design It!』『ドメイン駆動設計をはじめよう』『実戦で役立つ C#プログラミングのイディオム/定石&パターン』

夏休み前後に読んだ技術書の感想文です

『大規模データセットのためのアルゴリズムとデータ構造』

honto.jp

主に確率的データ構造・ストリーミング的データ構造・外部記憶データ構造の観点から、大規模データを扱うためのアルゴリズムを紹介しています。この手の本はどうしても数式が多くなりがちですが、本書は数学的な話は控えめ。かわいい図表が多く、内容を直感的に理解することができます。説明自体もわかりやすいですが、翻訳もかなりこなれていて、読みやすいと思います。アルゴリズム関係の話は好きで、おもに競技プログラミング中心に取り組んできたのですが、そこではなじみのなかったデータ構造やアルゴリズムがたくさん紹介されていて、勉強になりました。アルゴリズムをばりばり使う仕事はしていないので、お仕事に直結はしないのですが、知的好奇心が満たされたのでOKです。

『Design It! : プログラマーのためのアーキテクティング入門』

www.oreilly.co.jp

デザインシンキングをベースにした、アーキテクティングの入門書です。個人的に思う特徴として、マインドセットやマネジメントの話が多めというところでしょうか。人によっては技術書ではなく、ビジネス書に分類するかも。また、設計を漸進的に改善し、それをチームに伝播させるために便利な、さまざまなアクティビティが後半部には紹介されています。これはテクニカルスキルばかりに注目していると、なかなかお目にかからないところだったので、勉強になりました。ここは仕事で実践できればよいかなと思いました。ちなみにデザインシンキングとは創造的かつ実践的な問題解決の手法のひとつで、少し前に流行っていた印象があります。自分はエンジニアですが、コンサルティングファームに勤務しているので、研修等でこのトレーニングはさんざんやらされました(余談)。

『ドメイン駆動設計をはじめよう : ソフトウェアの実装と事業戦略を結びつける実践技法』

www.oreilly.co.jp

最近なにかと注目されているドメイン駆動設計(Domain Driven Design; DDD)の入門書です。「そもそもDDDとは何か」というところからはじまり、DDDのメソトロジーやコアコンセプトなどを紹介したあと、応用編として、DDDでよく利用されるさまざまなデザインパターンまで紹介されています。DDDの入門書や入門記事はいくつか読んできましたが、本書がいちばんわかりやすかったです。DDDは現代のさまざまなフレームワークやライブラリに影響を与えているので、設計手法として採用するかしないかは別として、教養として知っておいた方がよいと考えています。その観点でも本書はばっちりだと思います。翻訳も日本語として自然になっており、現代版DDD入門書の定番になると思います。なお読みやすさのため、ユビキタス言語→同じ言葉とするなど、定番の単語の訳を一部変更しているとのことです。どの単語の訳をどのように変更したのか、本書内でまとまっていますが、別のDDD本を読むときは注意したほうがよさそうです。

『[改訂新版]実戦で役立つ C#プログラミングのイディオム/定石&パターン』

honto.jp

最近読んだ技術書のC#採用率が高く、自分の中でC#熱が再燃してきたこともあって、読んだ本になります。かなりよかったです。C#は長い歴史を持つ一方、意外にも進化が早いという特徴があります。つまりインターネットで調べて出てきた記事の内容が古く、現代的な観点から本当に最適化どうかよくわからないということがありがちでした。わからないことがあるたびにググって勉強してきたタイプとして、本書のように現代的なプラクティスがまとまっている本は貴重です。C#最新の知識を体系的に整理できるいい機会になりました。わからないことが出てくるたび、辞書的に活用する本になると思います。もっともC#についてはサンデープログラミング状態で、お仕事として使う予定は全くありませんが…。

おまけ

ちなみに今年の夏休みは8/10(土)-8/18(日)までの1週間。記録的な猛暑ということもあり、外に出て活動的に何かするのは控えて、実家のある大阪でのんびりしていました。近々の仕事が超ストレスフルということもあり、あまり眠れていなかったということもあって、とにかくたくさん寝て過ごしました。食って寝て技術書読んでという感じ。ジムで筋トレが趣味なのですが、あいにく手首を痛めており、休養していました。

9月は仕事の関係上、祝日稼働する必要があって、連休がとれません。いまから夏休みが恋しいです(´・ω・`)