Go
この度、私が開発している以下の5つのOSSにおいて、ライセンスに関する重大な誤りがあったことをご報告し、深くお詫び申し上げます。 https://github.com/k1LoW/tbls ( v1.51.0 - v1.88.0 ) https://github.com/k1LoW/runn ( v0.71.0 - v0.138.0 ) https://g…
テイラーでは開発にGitHubを使用しているのですが、それはもう毎日たくさんのPull Request / Issueが作られます。 RenovateなどのPull Requestの数も影響していますが、それを差し引いても構成人数比でいうと多い印象があります。 GitHub Notificationsの未…
deckのアップデート https://t.co/ZCa8E5O975 からかなりあるんだけど、筆が鉛みたいに重い— k1LoW (@k1LoW) 2025年7月8日 言いたいことはたくさんあるような気がするのですが、まずはアップデート報告です。 deckはv1に到達しました!!!!! v1.0.0 Relea…
deckのスライド更新処理を改善しました。まだまだ完全とはいきませんが報告です。 deckのページ更新処理の課題 blog.lacolaco.net ページの挿入・削除に弱い おそらくこれはdeckの根本的な仕組み上仕方ないと思うが、Markdown側で10枚ページがあるときに、5…
書いた。deckありがとう "k1LoW/deck: MarkdownでGoogleスライドを作る | lacolaco's marginalia" https://t.co/5430IKq2rO #laco_feed— lacolaco@lacolaco.bsky.social (@laco2net) 2025年5月28日 GW の資料作成 (15分、20分の2本) は k1LoW さんの deck に…
https://t.co/eox7sgZTFt を試してくれる人がいて嬉しい— k1LoW (@k1LoW) 2025年4月28日 前回からの続きです。 k1low.hatenablog.com scrapbox.io deck apply が時間かかるので反映中に変更したものが不整合になりがち 本当にその通りで、そのためにページご…
md2googleslides の体験が良すぎた結果、より体験向上のため、一から専用のツールを作った— k1LoW (@k1LoW) 2025年3月14日 md2googleslides 転職してKeynoteのスライドテンプレートがなくなったので*1、これを機にスライド作成環境をGoogle Slidesに移行する…
おそらくTerraformの.tfファイルがイメージしやすいと思いますが、.tfファイルのHCLシンタックス内に別のシンタックス(多くはヒアドキュメントで表現される複数行の文字列)を埋め込むことがあります。 私が真っ先に思い出すのがAWSのPolicyです。 resource…
monorepoが増えてきたなあ— k1LoW (@k1LoW) 2025年2月5日 私は普段リポジトリの管理にghqを使っています。 そしてリポジトリ間の移動にはpecoと合わせて以下のようにコマンドを組み立てています。 $ cd `ghq list --full-path | peco` # ghq listの結果をpec…
runnでトークンやパスワードといった機密データをマスクする機能を作りたかったので、そのためのパッケージを作りました。 github.com 機能は単純で、maskedio.NewWriter(w io.Writer) で、任意の io.Writer を内包したインスタンス *maskedio.Writer を作成…
エラーパッケージを作った話です。 www.m3tech.blog 私は、上記のエントリの「ぼくがかんがえるエラー処理の要件」に完全同意*1で、パフォーマンスをある程度犠牲にしてでもスタックトレースを「カジュアルに」受け取りたいと考えています。 また、 tech.kan…
いやあ、おっしゃる通りだなあ。packageのエコシステムを考えると気にしていかないとだhttps://t.co/JgKigJp564— k1LoW (@k1LoW) 2024年6月30日 確かに、あまり気にせずgovluncheckに引っ掛かったら即、最新バージョンに上げていたので良くないなあと反省。 …
Go Conference 2024に参加/登壇してきました。 gocon.jp 前日のUnofficial Pre Partyから参加させていただき、2日間Goの話題に浸かってしました。 moneyforward.connpass.com 2日に渡って理解した range over func いろいろ楽しかったのですが、印象に残って…
contextのキャンセルとそれに対応したクリーンアップ処理 Goにおいてcontextはさまざまな値を伝搬させるために使用します。その1つがキャンセル信号です。 ctx, cancel := context.WithCancel(context.Background()) defer cancel() contextを通じてキャンセ…
このエントリは GMOペパボエンジニア Advent Calendar 2023 および、 Go Advent Calendar 2023 シリーズ3 の19 日目の記事です。 以下のエントリでも少し触れられていますが、現在プロキシサーバをGoで書くプロジェクトがあります。 ten-snapon.com k1low.ha…
このエントリは Go Advent Calendar 2023 12 日目の記事です。 Goのテスティングパッケージで一番好きなパッケージは net/http/httptest です。 テスト実行時に実際にHTTPサーバを立ててHTTPリクエストを受けるというシンプルかつ強力なアプローチが良いです…
京都に行ってきました。 Go Conference mini 2023 Winter IN KYOTO kyotogo.connpass.com すでに、ne-sachirouさんによりスライド資料などが集められています。感謝! scrapbox.io 「miniとは?」となるGoで濃縮された1日になりました。運営の皆様、本当にあ…
複数のコンポーネントが連動するアプリケーションのテストを書くとき、「どこまでを本物を使ってどこからモックするか」みたいな話は開発の現場のいたるところであると思います。 「要はバランス」だったり「答えは現場の数だけあ」ったり*1。 外部コマンド…
octocov octocovはコードカバレッジのためのツールキットです。 github.com コードカバレッジなどのコードメトリクスを手元のターミナルで確認したり、GitHub ActionsのActionとしてPull Requestにレポートしたりできます。 計測したコードメトリクスを、さ…
元エントリは↓で、これが全てです。 dev.to 最高じゃんhttps://t.co/c1hfSYhgx2— k1LoW (@k1LoW) 2023年8月26日 Goでツールではなくライブラリ(パッケージ)を作っているとき、テストにしか使わないパッケージがgo.modに入って依存関係ができてしまうのが、…
やっとgh auth loginで得たクレデンシャル(OSのセキュアストレージに保存されているもの)のみを使う生活になったぞ— k1LoW (@k1LoW) 2023年5月15日 GitHub CLIの gh auth login で作成されたクレデンシャルはOSのセキュアストレージに保存されるようになり…
提供する機能とは関係なくリリースを定期的に実施するようなプロダクトや、バージョンにSemantic Versioning(以下SemVer)のような意味付けがしにくいプロダクトの場合、バージョン管理手法にCalendar Versioning(以下、CalVer)というものが採用されるこ…
タイトルが何を言っているのかよくわからないと思いますので順を追って紹介したいと思います。 tblsをセットアップするGitHub Actionとしてsetup-tbls を作った setup-tblsはtblsをインストールしてくれるGitHub Actionです。 github.com 各所で「ないの?」…
久しぶりのtblsの新機能紹介エントリです。 ドキュメントのER図出力にMermaidを指定できるようになりました ER図の出力フォーマットにMermaidを指定できるようになりました。次のように er.format: セクションか --er-format オプションに mermaid を指定す…
runn を使ってシナリオテストを順調に積み上げていった結果、順調にテスト実行時間が長くなってきました。 そこでテストのどの部分に時間がかかっているかを計測したくなったのですが、runnにその時間計測機能はなかったのでそれを作ろうと考えました。 とこ…
gRPC、Unary以外のメソッドの挙動が面倒すぎてうまくrunnの実装の落とせない特にBidirectional-Streaming、お前だ— k1LoW (@k1LoW) 2022年6月26日 なんとかgRPC対応ができました。 「そもそもrunnって何?」については会社のテックブログにエントリを書きま…
gomockでデータベース操作などをモックすることはよくあると思います。 そのテスト関数内で「呼ばれるべき(EXPECT())」と指定した関数に非同期に実行される挙動がある場合、テスト関数の書き方によっては実行終了までにその関数が実行されないことがあり、…
データベースを伴うテストを書いていて、何故かテスト結果が安定しない事象に出くわして「なんでだ?????」と混乱した結果、データベースの状況をprintデバッグをしたくなって作りました*1。 github.com 使い方は package main import ( "database/sql" …
継続的ドキュメンテーション関連です。 README.mdなどのドキュメントを運用していると、そのドキュメントの一部を(CIなどで)自動で差し替えたいことがあります。 例えば xxx help コマンドの出力をもって機能一覧にしているようなREADMEだと、機能が追加さ…
1年以上前からの久しぶりのアップデートです。 k1low.hatenablog.com --role-arn --source-profile 複数のAWSアカウントを横断して作業することがあり、AssumeRoleのための設定を~/.aws/(config|credentials)に書くのすら面倒になってきたので、設定なしでAs…