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

GoのHTTPミドルウェアやその周辺パッケージを配布する新しいGitHub Orgをはじめました

Go

このエントリは GMOペパボエンジニア Advent Calendar 2023 および、 Go Advent Calendar 2023 シリーズ3 の19 日目の記事です。 以下のエントリでも少し触れられていますが、現在プロキシサーバをGoで書くプロジェクトがあります。 ten-snapon.com k1low.ha…

カジュアルに使えるスタブサーバとしてhttpstubとgrpcstubを作って使っている

Go

このエントリは Go Advent Calendar 2023 12 日目の記事です。 Goのテスティングパッケージで一番好きなパッケージは net/http/httptest です。 テスト実行時に実際にHTTPサーバを立ててHTTPリクエストを受けるというシンプルかつ強力なアプローチが良いです…

Go Conference mini 2023 Winter IN KYOTOに参加してきた #kyotogo

Go

京都に行ってきました。 Go Conference mini 2023 Winter IN KYOTO kyotogo.connpass.com すでに、ne-sachirouさんによりスライド資料などが集められています。感謝! scrapbox.io 「miniとは?」となるGoで濃縮された1日になりました。運営の皆様、本当にあ…

GitHub Actions上で安定したベンチマーク環境を得る(ただし、相対比較専用)

現在、実験的にですが少しパフォーマンスを気にしたいパッケージを書いています。 ちなみに、その1つはリバースプロキシです。 github.com 「気にしたいパフォーマンス」というのは以下の2つです。 現在のGoの実装がNGINX(のリバースプロキシ機能)と比べて…

スタブの役割をするためだけに生まれてきたバイナリstubin

Go

複数のコンポーネントが連動するアプリケーションのテストを書くとき、「どこまでを本物を使ってどこからモックするか」みたいな話は開発の現場のいたるところであると思います。 「要はバランス」だったり「答えは現場の数だけあ」ったり*1。 外部コマンド…

octocovで任意のメトリクスを記録できるようにした(カスタムメトリクス)

Go

octocov octocovはコードカバレッジのためのツールキットです。 github.com コードカバレッジなどのコードメトリクスを手元のターミナルで確認したり、GitHub ActionsのActionとしてPull Requestにレポートしたりできます。 計測したコードメトリクスを、さ…

テストでしか使わないパッケージをgo.modに含めない方法

Go

元エントリは↓で、これが全てです。 dev.to 最高じゃんhttps://t.co/c1hfSYhgx2— k1LoW (@k1LoW) 2023年8月26日 Goでツールではなくライブラリ(パッケージ)を作っているとき、テストにしか使わないパッケージがgo.modに入って依存関係ができてしまうのが、…

PHPカンファレンス福岡2023に参加した

PHPカンファレンス福岡2023に参加してきました。 phpcon.fukuoka.jp ホームでのカンファレンス開催と参加 私は福岡に住んでいます。その福岡のカンファレンスが、復活しました。実に4年ぶりとのことです。 4年で様々なことが変わりました。その変化の中、あ…

gh auth loginで作成されたクレデンシャルだけで生活するためにgh-doを作った

やっとgh auth loginで得たクレデンシャル(OSのセキュアストレージに保存されているもの)のみを使う生活になったぞ— k1LoW (@k1LoW) 2023年5月15日 GitHub CLIの gh auth login で作成されたクレデンシャルはOSのセキュアストレージに保存されるようになり…

Calendar Versioningを扱うパッケージ/ツールとしてcalverを作った

Go

提供する機能とは関係なくリリースを定期的に実施するようなプロダクトや、バージョンにSemantic Versioning(以下SemVer)のような意味付けがしにくいプロダクトの場合、バージョン管理手法にCalendar Versioning(以下、CalVer)というものが採用されるこ…

OSSとPHPerKaigi 2023

3月23日から25日までPHPerKaigi 2023に参加してきました。 phperkaigi.jp 参加してみての感想は、一言で表すと かつて思い描いていたカンファレンスと、想像以上を提供してくれるカンファレンスの融合を体験できて楽しかったし嬉しかった です。 想像以上の…

tblsをセットアップするGitHub Actionとしてsetup-tbls(を作るツールとしてgh-setup)を作った

タイトルが何を言っているのかよくわからないと思いますので順を追って紹介したいと思います。 tblsをセットアップするGitHub Actionとしてsetup-tbls を作った setup-tblsはtblsをインストールしてくれるGitHub Actionです。 github.com 各所で「ないの?」…

データベースドキュメント生成コマンド tbls 更新情報(Mermaid対応 / schema.json / tbls outの強化)

Go

久しぶりのtblsの新機能紹介エントリです。 ドキュメントのER図出力にMermaidを指定できるようになりました ER図の出力フォーマットにMermaidを指定できるようになりました。次のように er.format: セクションか --er-format オプションに mermaid を指定す…

「runn クックブック」はじめました

昨年からrunnというオペレーション自動化ツールを開発しています。 runnの認知のされ方としては「インテグレーションテスティングツール」とか「シナリオテスティングツール」といったほうがいいかもしれません。 github.com runnにはさまざまな機能がありま…

2022年の振り返りと2023年の抱負

2022年の振り返り 2022年はそれなりに変化のあった年でした。 仕事もですがプライベートの方面で多くの変化がありました。一番大きいのは引越しです。変化を嫌う私としては当時本当にストレスだったのですが、今、「引っ越していなかったら」と思うとゾッと…