2021-01-01から1年間の記事一覧
今年は大きな転機が訪れた年でした。六年半勤めたはてなを退職し、11月からサイボウズで働いています。開発体制の規模やプロセス、文化の違いに戸惑いながらも、楽しく働いています。モブプロを中心とする開発は新しく入社した身としてありがたいです。技術…
本日2021年9月30日が最終出社日でした。1か月間のお休みをいただき、11月から新しい職場で働きます。2015年4月に新卒入社して、Mackerelチームとブックマークチームに所属しました。約六年半、お世話になりました。どちらのプロダクトも携わることができて楽…
弊社のとあるGoプロダクトでGo 1.14から1.16へアップデートしたところ、プログラムの挙動が変わる問題が発生しました *1。 ドキュメントに書かれていない strconv.ParseFloat の挙動の変更を踏んでしまったのです。 package main import ( "fmt" "strconv" )…
Vimのdoautoallコマンドはいろいろな問題のあるコマンドで、私にとって悩みの多い機能でした。 しかし 8.2.2596 の変更によって問題のすべてが解決しました。 本記事ではこのコマンドの問題点とこのパッチの意味について解説します。 なおコミットメッセージ…
timefmt-goというGoライブラリを公開してメンテしているのですが、最近タイムゾーン周りの対応が弱いことに気がついて実装していました。タイムゾーンオフセットの表記は +0900 のようにコロンを入れないほうが一般的だと思いますが、RFC3339では +09:00 の…
Go言語で書かれたorderedmapというサードパーティパッケージがあります。 github.com Goのmapには順序がなく、JSONをデコードすると順序が失われ、それをエンコードするとオブジェクトのキーの順序にソートされます。 これに困る人はそこそこいるようで、順…
gojqはGoで実装されたjqコマンドおよびライブラリです。2019年の4月から開発を始めて、現在も様々な改善を行っています。 これまでgojqのHomebrew formulaはitchyny/tapより配信していましたが、このたび公式のhomebrew/coreに入りました。 これにより、次の…
一年前、ファイルをエディターで一括リネームするmmvコマンドを作りました。 itchyny.hatenablog.com github.com mmvはリネームの依存関係を解析して順番を決定します。例えば a => b b => c というリネームを愚直に上から実行すると、ファイルbが消えてしま…