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

2023年を振り返って

サイボウズに入社して二年が経ちました。 プロダクトのインフラ基盤の移行に携わりながら、チームの生産性を向上させる様々な取り組みを行っていました。 特にCircleCIからGitHub Actionsへの移行はかなりコミットしました。 色々な知見が溜まったのですがア…

Mackerel REST APIの公式Goクライアントをジェネリクスを使ってリファクタリングしました

この記事はMackerel Advent Calendar 2023の20日目です。 昨日はsfujiwaraさんでした。 先日15日目の記事で、私が作ったRustクライアントmackerel-client-rsの設計についてご紹介しました。 itchyny.hatenablog.com クライアントの設計について色々とご紹介…

Mackerel REST APIのRustクライアントで取り入れた設計

この記事はMackerel Advent Calendar 2023の15日目です。 昨日はkmutoさんでした。 MackerelのREST APIクライアントをRustで書き始めたのは2017年の春のことでした。もう六年半も前のことになります。 2017年ごろの日記を見返してみるとRustにかなりハマって…

actions/setup-javaにcache-dependency-pathオプションを実装しました

GitHub Actionsで公式のアクションを利用するとき、依存パッケージを適切にキャッシュすることが大切です。 setup-node・setup-python・setup-javaにはcacheオプションがあり、指定したパッケージマネージャーに応じてキャッシュしてくれます。 setup-goの場…

RenovateでGitHub成果物のチェックサムを更新する

開発やビルドに必要なツールをインストールするとき、特にビルド済みの実行ファイルをインターネットからダウンロードするとき、セキュリティインシデントを防ぐためにはアーティファクトを信頼しても良いか確認しなくてはいけません。 もしGnuPGで署名され…

jq 1.7をリリースしました

jq

jqがjqlang organizationに移譲され、数名の新たなメンテナーを入れた開発体制に移行してから三か月が経ちました。 私にとってこの三か月はとても濃厚で、これまでのOSS活動の中でも特に大変な期間でした。 itchyny.hatenablog.com github.com リポジトリの…

jq が jqlang organization に移譲されました

jq

JSONを操作するコマンドラインツールであるjqは、これまでオリジナル作者であるStephen Dolan氏 (@stedolan)のリポジトリ(github.com/stedolan/jq)で管理されていました。 メンテナンスはNico Williams氏 (@nicowilliams)とWilliam Langford氏 (@wtlangford)…

YAPC::Kyoto 2023 に参加した #yapcjapan

yapcjapan.org 知り合いも多いし会場が家から徒歩圏内ということもあって参加せざるを得ませんでした。 前職はてなのプチ同窓会があちこちで発生して、色々な方と話ができて良かったです。 しかし、前職にいた時は当たり前のようにできていたようなエンジニ…

Hammerspoonを使ってエスケープキーで英数モードへ・コロンとセミコロンを入れ替える

Hammerspoonは、macOSでキー入力やウィンドウ操作をLuaスクリプティングでカスタマイズできる便利なアプリです。 特にキーマッピングを変更するhs.hotkey.bindは便利なAPIですが、デフォルトの処理も行われなくなるのでたまに困る場面があります。 例えば、e…