Apache Spark徹底入門

翔泳社さんの徹底入門シリーズですが、オライリーのLearning Spark 2nd Editionの邦訳のようです。以前原著を読んだ時にレビューを書いたのですが、Sparkを触るならまずこれを読んでおけば間違いないという素晴らしい入門書でした。

takezoe.hatenablog.com

原著が出版されたのが2020年でだいぶ時間が経ってしまっているのですが、日本版では独自に最新の情報が追加されているようです。目次からわかる範囲ではEnglish SDK for Apache Spark、Spark Connectに関する記述が追加されていますし、各所に日本語版独自のコラムも追加されていました。原著から時間が経ってしまっている分、日本語版が単なる翻訳ではなくこういう付加価値があるのは嬉しいですね。

なお、原著は当時Databricks社のWebサイトでメールアドレスを登録すると無料でダウンロードできるようになっていたのですが、現在ではPDFが無料で公開されているようです。

pages.databricks.com

分散SQLクエリエンジンTrino徹底ガイド

オライリーから出ているTrino: The Definitive Guideの翻訳だそうです。以前から風の噂で翻訳しているという話を聞いてはいたのですが、ついに発売されたようなので購入してみました。どう考えてもそんなに部数出ていないと思うのですが、近所のさほど大きくない書店でも売っていたので驚きました。

もともとPresto版のThe Definitive Guideが2020年に出たものの、Facebook社との名前騒動によりPrestoSQLがTrinoに改名したのち2021年にTrino版のThe Definitive Guide、さらに2022年に改訂されたSecond Editionが出ており、今回のTrino徹底ガイドはこのSecond Editionの和訳となっているようです。

内容については以前Presto版を読んだ時にレビューを書いたのでそちらも参考にしていただければと思いますが、Trinoの新版への追従だけでなくKuberenetesへのデプロイなど内容も結構アップデートされているようです。

ただ、それでも原著が出たのが1年半以上前ですので、すでに古くなってしまっている部分があったりなど、これから読むにはどうかなぁと感じる部分も若干あります。とはいえTrinoのアーキテクチャ等基本的な部分の理解については参考になるかと思いますのでこれからTrinoを触ってみようという方にはよい導入書になるのではないかと思います。

takezoe.hatenablog.com

プログラマーのためのCPU 入門 CPU は如何にしてソフトウェアを高速に実行するか

前から気になっていたのですが、ここのところ取り組んでいた仕事も一段落して少し時間に余裕ができたので読んでみました。

ソフトウェアプログラマであっても高級言語でコードを書いているとあまり意識しないであろうCPUの基本的な動作について解説されているのですが、前半は単体のプロセッサ、後半はマルチプロセッサならではのトピックの解説になっています。さらに本文だけではカバーしきれない内容が付録として収録されており、付録だけで40ページ以上ありますし、参考資料へのリファレンスもめちゃくちゃ充実しています。

内容はとてもわかりやすく、CPUの基本的な動作だけでなく、なぜそうなっているのかが主にパフォーマンスの観点から説明されています。現代のアプリケーション開発者が本書を読んでCPUを意識したコードを書くかといえば正直そういうことはあまりないかとは思うのですが、とはいえ自分の書いたソフトウェアを実行してくれるCPUがどのように動いているか知っておいて損はないと思いますし、基本的な考え方はソフトウェアと共通する部分も多く、CPUが身近に感じられるのではないかと思います。

Kindle版はないのですが、ラムダノートさんのWebサイトで書籍+PDF付きPDF単体のものが購入できます。一度の注文の合計金額が9000円以内だと送料がかかってしまいますが、紙の書籍にデフォルトでPDFが付いてくるのは良いですね。

林陵平のサッカー観戦術

個人的に戸田さん亡き後プレミアリーグの日本語解説ではベン・メイブリーさんと双璧と思っている林陵平さんの書籍が発売されたとのことで早速読んでみました。

大人気で物理版は売り切れの書店も多いということで、自分も近所の書店では入手できなかったのでKindleで購入したのですが、林さんの解説と同じで、読んでいるだけで林さんのサッカーに対する情熱が伝わってくるかのようで楽しく読むことができました。

内容的には思っていたよりはライトな感じで最近海外サッカー(特にプレミアリーグ)を見始めた人向けにはとても良さそうです。戦術トレンドや注目選手の紹介(個人的にはネトはちょっと怪我が多すぎるかなぁという気がしますが…)など旬な内容に振り切っている部分も多いので読むなら今すぐ読むべきですね。

しかし林さんのサッカー観戦術はスパルタンすぎて常人にはとても真似できなそうですw

人生が整うマウンティング大全

発売前から「マウントフルネス」「マウンティングエクスペリエンス」などキャッチーなフレーズでSNS上で話題を集めていたマウンティング大全、Kindleで買おうかと思っていたのですが、自宅近くのさほど大きくない書店でもビジネス書の新刊コーナーに積まれていたので購入して読んでみました。

…読んでみたのですが、うーん…。個人的にはネタ本の域を出ないかなという感想でした。確かにフフッとなってしまう部分もあり、笑って読むには良いかもしれませんが、ネタ本ならネタ本でもっと思いっきりネタに走っても…という気もしました。

個人的に内容に期待していたのでちょっと残念な気持ちです。事前情報があまりにキャッチーだったので期待しすぎてしまった部分もあるかもしれません。

systemdの思想と機能 Linuxを支えるシステム管理のためのソフトウェアスイート

systemd普段使っているけど何もわからん状態なので近所の書店のポイント2倍デーで購入して冬休みに読んでみました。

タイトルはもとより前書きにも書かれている通り、systemdの具体的な使い方というよりは普段Linuxを使っている人が体系的にsystemdを理解するための本という感じで、対象としてはニッチだとは思うのですが、読者層の設定から内容までコンセプトが明確で、著者の方(Software Designでsystemdの連載をされていたそう)の知見や情熱に裏打ちされた良書だと思います。

systemdの基本的な概念や機能の概要を知ることができたのはもちろんですが、Linuxの様々な機能が今はsystemdで処理されているんだなーということもわかってよかったです。

2023年の振り返り

仕事関係

昨年末から春先まで3ヶ月ほど仕事が超絶忙しく、どうにか区切りがついたと思ったら下半期になって突然ボスがいなくなってしまったり、トラブルが続いたりと、なんだかんだ一年を通じて消耗が激しかったです。

命を削った甲斐もあってか現職4年目にして初めてプロモーションなるものを経験させていただいたり、新たに接点ができた方もいたり、英語での採用面接の機会が増えたりと悪いことばかりでもなかったものの、もう歳なので無理すると再起不能になりかねないので働き方について少し考え直さなくてはと思ったりしました。

また、春頃の話なのですが、スタッフエンジニアの書籍でインタビューを受けさせていただいたりしました。こちらも自分のキャリアを振り返る良い機会になりました。

takezoe.hatenablog.com

あとは3月に米国本社のお偉いさん方、12月には新ボスや海外の同僚が東京オフィスに来ていたので自分も久しぶりにオフィスに顔を出したりしていました。

OSS活動

特に前半は仕事が酷い状態だったのと、その後もモチベーションが上がらずあまりOSS活動はできなかったですが、Trinoにいくつか改善やバグ修正のパッチを投げたり、GitBucketの機能追加をしたりと地道に活動しています。また、Jacksonに初めてPRを出して取り込んでもらえたのも嬉しかったです。

takezoe.hatenablog.com

新しいところではIntelliJプラグインを作ったりもしていました。自分で使う用に作ったものですが、こういうちょっとしたものでも自分で作れるとなかなか便利です。UIのあるものも作れるようになると楽しそうですが、Eclipseプラグインをゴリゴリ作っていた頃の気力はもうないですね…。

takezoe.hatenablog.com

Scalatraについてはついに3.0を正式にリリースすることができました。Scala 3とJakartaに対応したのが目玉でフレームワークの機能的には変わっていませんが、ドキュメントやサンプルを直すのが大変でした。SPAが普及してサーバーサイドはAPIのみというケースが多い昨今、JSON周りはもう少しなんとかしたい気持ちもあるのですが、互換性を持たせつつ改善するのはなかなか難しそうなので非互換でもAPI開発用の新機能を入れてもいいかなという気持ちがあります。

takezoe.hatenablog.com

アーセナル

昨年のシーズン序盤から首位を走り続け、19年ぶりの優勝か!?と期待されたアーセナルでしたが終盤の急失速で結局2位でフィニッシュ、CL出場権は取り戻したものの無念極まりないシーズンになってしまいました…。ベンゲル時代に見慣れたこの光景に「また次のチャンスは10年後かも…」とネガティブ思考になってしまうアーセナルファンはきっと自分だけではなかったはずです。

夏にはハヴァーツ、ライス、ティンバー、ラヤとさらなる大型補強で弱点だった層の薄さを解消し、新シーズンは万全の体制でCLとリーグ優勝に挑むと思いきや、開幕から全然機能しない新システムにトライした挙句ティンバーとパーティーの怪我で早々に頓挫、厚くなったようで実はあまり変わっていない選手層と上位はキープしているものの前半戦から四苦八苦している状況ですので、あまり期待しすぎずに応援したいと思います。

しかしこれまでもサッカー雑誌でアーセナル特集が組まれることは多かったのですが、ここ10年以上は自虐ネタっぽい特集ばかりでしたが、昨シーズンの躍進で強豪っぽい特集記事がたくさん出たのは嬉しかったです。

その他

仕事で疲弊していたので読書もあまりできなかったのですが、System Design InterviewやGrokking Functional Programmingは面白かったです。

takezoe.hatenablog.com

takezoe.hatenablog.com

引っ越してから自宅の作業環境を着々と整備してきたのですが、今年はついに最後に残っていた椅子を買い替えました。10年以上前に買ったバロンチェアを使い続けていたのですが、あちこち崩壊してきたのでエルゴヒューマンに買い替えました。オフィスチェアも値上がりしていてなかなか厳しい世の中ですが、これで作業環境はほぼ完璧になりました。あとは最近老眼が来ているのか細かい文字が見えにくくなってきたのでディスプレイはもう少し大きいものにしてもいいかも。

また、健康診断の結果がめちゃくちゃ悪かったり、腰痛がさらに悪化したりなど健康問題が多発してしまい、定期的に体を動かさないと…ということで毎日20-30分ウォーキングを数ヶ月続けていたのですが、少し仕事が忙しくなった時期に途切れてしまい、その後再開できていません。

今年は全体的に色々とストレスフルな感じで良くない出来事も多かったので、来年は良いことがあるといいなぁと思っています。