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

プログラマーのためのCPU 入門 CPU は如何にしてソフトウェアを高速に実行するか作者:Takenobu TaniラムダノートAmazon 前から気になっていたのですが、ここのところ取り組んでいた仕事も一段落して少し時間に余裕ができたので読んでみました。 ソフトウェア…

林陵平のサッカー観戦術

林陵平のサッカー観戦術 (平凡社新書1051)作者:林陵平平凡社Amazon 個人的に戸田さん亡き後プレミアリーグの日本語解説ではベン・メイブリーさんと双璧と思っている林陵平さんの書籍が発売されたとのことで早速読んでみました。 大人気で物理版は売り切れの…

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

人生が整うマウンティング大全作者:マウンティングポリス技術評論社Amazon 発売前から「マウントフルネス」「マウンティングエクスペリエンス」などキャッチーなフレーズでSNS上で話題を集めていたマウンティング大全、Kindleで買おうかと思っていたのですが…

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

systemdの思想と機能 Linuxを支えるシステム管理のためのソフトウェアスイート Software Design plus作者:森若 和雄技術評論社Amazon systemd普段使っているけど何もわからん状態なので近所の書店のポイント2倍デーで購入して冬休みに読んでみました。 タイ…

2023年の振り返り

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

Presto/Trinoのサブクエリ重複実行問題について

Presto/Trinoは分散クエリを高速に実行するためにストリーミング型のアーキテクチャを採用しているのですが、このためクエリ内に重複箇所があっても複数回並列に実行されてしまうという問題があります。わかりやすい例だと、CTEで定義したクエリを複数回参照…

今年のTrinoへのコントリビューションをまとめてみた

前半は仕事が忙しすぎてOSS活動どころではなかったのですが、後半から少し余裕ができたのでTrinoにも細かい改善やバグ修正などいくつかPRを送って取り込んでもらうことができたので記録のためにまとめてみました。 Fix error message in SqlTimestampWithTim…

GitBucket 4.40.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.40.0をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.40.0 このバージョンでの大きな変更および新機能は以下の通りです。 デフォルトブランチが変更可能に これまでmas…

Scalatra 3.0.0をリリースしました

サーブレットベースのScala用WebフレームワークでScalatra 3.0.0をリリースしました。 github.com 機能面では2.x系と基本的に変更はなく(非推奨になっていたモジュールを削除したりはしています)Scala 3とJakartaへの対応がメインとなっています。Jakarta…

GitLabに学ぶ 世界最先端のリモート組織のつくりかた ドキュメントの活用でオフィスなしでも最大の成果を出すグローバル企業のしくみ

GitLabに学ぶ 世界最先端のリモート組織のつくりかた ドキュメントの活用でオフィスなしでも最大の成果を出すグローバル企業のしくみ作者:千田 和央翔泳社Amazon 私が勤務するトレジャーデータは現在フルリモート環境というわけではないのですが、パンデミッ…

WEB+DB PRESSと私

技術系情報誌の廃刊ラッシュを乗り越え20年以上の長きに渡り続いていたWEB+DB PRESSがまさかの休刊ということで、WEB+DB PRESSにお世話になったソフトウェアエンジニアの端くれとしてWEB+DB PRESSとの思い出を書いてみたいと思います。 gihyo.jp 私がWEB+DB …

エンジニアのためのマネジメント入門

エンジニアのためのマネジメント入門作者:佐藤 大典技術評論社Amazon スタッフエンジニア本のインタビューで「過去にマネジメントやってたときの経験が今でも活きている」という話をさせていただいたのですが、よくよく考えるとSI時代はマネジメントと言って…

TACTICAL FRONTIER 進化型サッカー評論

TACTICAL FRONTIER 進化型サッカー評論 (footballista)作者:結城康平ソル・メディアAmazon footballistaの人気連載を書籍化したもので昨年発売された本なのですが、近所の書店で見かけて面白そうだったので購入して読んでみました。 サッカーの戦術だけでな…

Grokking Functional Programming

Grokking Functional Programming (English Edition)作者:Plachta , MichalManningAmazon 2014年にManningのEarly Access Programで購入したもののずっと未完成のままだったので電子積読されていたのですが、昨年ようやく完結したようで、さらに今年になって…

ScalatraのJakarta版をリリースしました

地道にメンテしているScala用のWebフレームワークScalatraですが、Scalatraベースで開発しているGitBucketで使用しているJGitのJGitServletはいまだにServlet 4.0という超個人的な事情でScalatraの対応Servletバージョンも上げられなかったのですが、さすが…

System Design Interview – An insider's guide

System Design Interview – An insider's guide (English Edition)作者:Xu, AlexByte Code LLCAmazon Amazonで見かけて評判が良さそうだったのとKindle版が安かったので読んでみていました。 ソフトウェアエンジニアの面接でのシステムデザイン課題に関する…

スタッフエンジニア マネジメントを超えるリーダーシップ

スタッフエンジニア マネジメントを超えるリーダーシップ作者:Will Larson日経BPAmazon 先日原著の感想文を書きましたが、日経BPさんから増井雄一郎さんの監修・解説で日本語版が発売されました。実物を見るまで半信半疑でしたが私のインタビューも掲載いた…

Staff Engineer: Leadership beyond the management track

Staff Engineer: Leadership beyond the management track作者:Larson, WillWill LarsonAmazon 近々日本語版も発売されるこちらの書籍ですが、現職での自分のタイトルが(今年の3月までは)スタッフエンジニアだったということもあり、以下の記事にも出てい…

GitBucket 4.39.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.39.0をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.39.0 カスタムフィールドでenum型をサポート イシュー、プルリクエストのカスタムフィールドで複数の選択肢から値…

AirSpecのテストケースをIntelliJ上で実行するプラグインを作った

仕事でAirSpecというScala用のテスティングフレームワークを使っているのですが、特定のテストケースをIntelliJ上で実行できないのが不便だなーと前々から思っていたのでプラグインを作ってみました。IntelliJのScalaプラグインやZIOプラグインのテストサポ…

ScalaでIntelliJプラグインを作ってみる

IntelliJでプラグインを作りたいなと思うものがあったのですが、Scala開発用のものだし、JetBrainsからScalaでプラグインを開発するためのsbt-idea-pluginというsbtプラグインも提供されているようなので折角なのでScalaでIntelliJプラグインを作る方法を調…

GitBucketを複数台構成で動かす方法を考えてみる

GitBucketはもともと学習用途やスモールチーム用と割り切っていたことと、またGitの絡みでRDBだけでなくファイルシステムが切っても切り離せないこともあり、これまで複数台構成で動かすことは想定していなかったのですが、Giteaでは共有ファイルシステムを…

2022年の振り返り

年末なので今年も毎年恒例の振り返りをしてみました。 仕事関係 前半は去年からやっていたPrestoのバージョンアップを主にやっていました。入念な準備と万全の移行計画のおかげで切り戻しが必要になるようなトラブルもなく非常にスムーズな移行でした。この…

GitBucketとKeycloakでシングルサインオンを試してみる

GitBucketはOpenID Connectによるシングルサインオンに対応しているものの、これまで自分では一度も使ったことはなかったのですが、先日シングルサインオン関連のIssueへの対応の際に実際に試してみました。ここではプロバイダとしてKeycloakを使っています…

[試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】

ネットで評判が良さそうだったので買って読んでみました。 [試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】作者:武内 覚技術評論社Amazon ポップなタイトルや表紙から一見すると初心者向けのLinux入門書に…

自宅PCをM2 MacBook Airに買い換えた

自宅ではMacBook Pro 13-inch Late 2013をかれこれ8年半ほど使用していたのですが、数年前からバッテリーが膨張してきてしまっていたこと、最近はスペック的にもかなりしんどくなってきたこと、USB-Cでの周辺機器の接続性などで不満を感じており、ずっと移行…

ロジクール MX Keys Mini for MacとM650で入力デバイスを無線USB接続に揃えてみた

MX Keys Miniは以前から気になっていたのですが、日本だと日本語配列のものしか入手できないので様子見していたところ、最近発売されたfor Macは英語配列とのことだったのと、LogiBoltというロジクール独自の無線USBアダプタ経由での接続が可能とのことで、…

APIデザイン・パターン (Compass Booksシリーズ)

APIデザイン・パターン (Compass Booksシリーズ)作者:JJ Geewaxマイナビ出版Amazon ManningのAPI Design Patternsの日本語翻訳版で、GoogleのソフトウェアエンジニアでGCPのAPIデザイン等にも従事された方が書かれた書籍とのことです。原著はこちら。 API De…

GitBucket 4.38.0をリリースしました

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.38.0をリリースしました。 https://github.com/takezoe/gitbucket/releases/tag/4.38.0 イシュー、プルリクエストでカスタムフィールドを定義可能に イシュー、プルリクエストに追加情報を入力する…

Git Forkでpushダイアログが勝手に表示されてしまう問題の解決策

Git ForkというGUIクライアントをベータ版の頃から愛用しています。商用化の際にベータ時から利用していたユーザ向けに提供されたクーポンでライセンスを購入し、いまだに使い続けています。余計な機能がなく軽量かつ安定していますし、マージや対話型のリベ…