私が歌川です

@utgwkk が書いている

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

ピロリ菌除去日記 day1

朝、シャワーを浴びて朝ごはんを食べて、9時前ぐらいに薬一式を飲む。量が多い。 ラーメンを食べて20時前ぐらいに夜のぶんを飲んだ。 とくに体調の変化ない気がする。

ピロリ菌除去日記 day0

blog.utgw.net 胃カメラを飲んだ結果、ピロリ菌が多いので除菌療法をやっていくことになった。1日2回、朝と夕方に数種類の薬を1週間忘れず飲み、2ヶ月ぐらい後にまた検査を受ける。 受け取った薬は以下2つ。 ボノサップパック400 ビオフェルミンR散 とりあえ…

VSCodeでModule Pluginを使ってプロジェクトごとにビルドしたgolangci-lintでlintする

golangci-lintにはModule Pluginという仕組みがあり、設定ファイルを書いてカスタムビルドすることで独自のlinterをgolangci-lintで走らせることができます。これを使って、プロジェクト固有のlinterを組み込んだgolangci-lintをビルドして、VSCodeでも使え…

Goファイルの先頭に著作権・ライセンス表記が入っていることを検査するlinterを書いた

表題のものを書きました。どうぞご利用ください。 github.com 使い方 スタンドアロンバイナリ go install や go tool コマンドなどで落としてきて直接使う方法です。-header オプションに必要な表記を文字列で渡して使います。-fix オプションを渡すことで自…

Go Conference 2026 CfS落ちた

Go

Dear Kiki!We're sorry, but the following sessions have not been accepted for Go Conference 2026:⁰- Goは関数型ドメインモデリングの夢を見るか?Thanks,Go Conference 2026— うたがわきき@C108 日曜日 東V44b (東7ホール) (@utgwkk) 2026年7月2日 無念…

stephenafamo/bobでBIGINT型のカラムに対してGoのint64型じゃなくてint型を対応させたい

tl;dr 設定ファイルに以下のような記述を足したらよいです。 replacements: - tables: [] match: db_type: 'bigint' replace: 'int' 仕組み stephenafamo/bobはGoのO/Rマッパーで、DBスキーマの定義からGoのコードを生成することで型安全に扱えるという特徴…

Goのstructのコンストラクタ関数をコード生成するツール gosimplectorgen をリリースした

はじめに 表題のものをリリースしました。 github.com go install コマンドもしくは go get -tool コマンドでインストールして使うことを推奨しています。現代なので go get -tool コマンドを使うのがいいと思います。 どういうツールなのか たとえば、resol…

関ケ原Ruby会議01に参加した #sekigahara01

regional.rubykaigi.org 参加しました。もうじき1ヶ月が経とうとしていますが、記事に残しておかないと何かを失ってしまいそうなので書き残します。 武将ネームは藤原歌川筑前守私伽歌川出寿喜喜です。いちおう自分のルーツなどを思い出した上で考えて提出し…

胃カメラ

人間ドックでバリウムを飲んだ結果、胃炎の疑いがあるので胃カメラを飲むことになったので、飲んできた。 前日 ふつうに飲み会が入っていたので、21時までは食べ飲みしつつ21時を過ぎたら絶食開始した。水しか飲んでないので退店する頃にはすっかり酔いが覚…

slogでエラーをちょっとリッチにログ出力するためのライブラリ slogerr をリリースした

このたび、slogerrというライブラリをリリースしました。 github.com モチベーション uber-go/zapの Error 関数のように、エラー型に付加情報があればついでにログ出力のattributeに含めてくれるものが欲しくて作りました。 slogでエラーを出力する場合、大…

Kyoto.go #65 に参加した & 登壇した #kyotogo

Kyoto.go に参加しました。今回は会場提供を担当しました。 kyotogo.connpass.com もともとは DynamoDB localのDescribeTable APIのレスポンスを補完するプロキシを書いた - 私が歌川です などでGoに関する発表ネタが貯まってきたのでそろそろやりたいな~と…

TOPIK 4級に合格した

4月に受験したTOPIK IIの結果が出ました。163/300点で4級*1に合格しました。 一般的でない個人的な話題や親しみのある抽象的・社会的な話題について話し、学業・業務、公的な対人関係や社会活動に必要なコミュニケーションを遂行できる。具体的で論理的な意…

眼科

blog.utgw.net 眼圧検査 右目だけ2回検査することに 右目見えにくいとかありますか? って聞かれたけどなにも心あたりがない人間ドック - 私が歌川です 言われて見ると、片目だけでものを見たときに見えやすさが違うな、というのが気になってきたので眼科に…

TSKaigi 2026に参加した #tskaigi

TSKaigi 2026に両日参加しました。聞いたトークのメモはCosenseにまとめてあります。 scrapbox.io 発表資料は TSKaigi 2026 発表資料まとめ にまとまっているので、こちらも見てみるとよいと思います。 話題 Branded Types TypeScriptは構造的部分型を採用し…

物理の本と電子書籍を同時に買いたいけど普通にやると2倍のお金がかかる

物理の本をペラペラめくる読書体験が身体になじんでいて、物理の本を手元に置いておきたいけど、「あ、この本欲しいな」と思ったときにすぐ買えるという点だと電子書籍のほうが強い。検索や本文の引用も高速にできる。理想的には、物理の本と電子書籍がどち…

人間ドック

今年で30歳になるので、毎年の健康診断が人間ドックにランクアップした。 視力 左右ともに1.0 目を凝らせば見えそうだけど無理するまでもないな、と思ったらスルーするようにしているので、数字が落ち着いている? まだ裸眼でいける 身体測定・腹囲 去年より…

GraphQLスキーマの設計にあたって読んでおくと捗る本・ドキュメントなど

新たにGraphQLスキーマを設計する機会があり、モブプロ的にGraphQLスキーマに対していろいろ口出ししていたのだけど、そもそも前提知識をどうやって揃えたらいいのか、という話があると思う。いい機会なので、自分が読んだ本やドキュメントなどを紹介してお…

RubyKaigi 2026に参加した

今年もRubyKaigiに参加しました。早めに出してしまわないといつ記事を出せるか分からなくなるので、さっさと出します。 トーク 3年ぶりにRuby Committers and the Worldを見れたので、言うことはありません。今年は音が出るセッションがいくつもあってよかっ…

docker runでコンテナにホスト側のAWS CLIの認証情報を伝えたい

はじめに docker run コマンドで実行するDockerコンテナ内でAWSのAPI呼び出しを行うとき、何もしないと認証情報がなくて失敗すると思う。なんとかしてホスト側の認証情報を伝えたい。なお、令和なのでアクセスキーはホストのどこにも (~/.aws/credentials フ…

ミニPC日記

Windows10のサポートが終了し、ESU (拡張セキュリティアップデート) プログラムに登録していったんしのいでいたが、世界情勢やらAIの台頭やらでいつ新しいWindowsマシンを買うのがよいか分からない状態になっていた。10年前のデスクトップマシンはWindows11…

React Testing Libraryでuse関数を使うコンポーネントをテストする (workaround編)

はじめに PromiseをawaitせずにReactコンポーネントのpropsとして引き回すように修正し、テストコードで単に値を Promise.resolve() でラップするようにしたらテストがじゃんじゃん落ちて困った。ちょっと試行錯誤して直せたので事例共有とします。たぶんwor…

utgw.netをNext.js App RouterからHonoに移行した

はじめに utgw.netをNext.js App RouterからHonoに移行しました。Claude Codeが一晩でやってくれました。 utgw.net は id:utgwkk のホームページです。前回までのあらすじは以下の記事を読んでください。 blog.utgw.net blog.utgw.net なぜ移行したのか 個人…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

DynamoDB localのDescribeTable APIのレスポンスを補完するプロキシを書いた

blog.utgw.net DynamoDB localのDescribeTable APIのレスポンスを補完することで、Terraform経由でDynamoDB localのテーブルを作成できるようにパッチするためのプロキシを書きました。 github.com 使い方 Docker Compose経由で使う ↓こういう感じで、お手元…

TerraformでDynamoDB localのテーブルを作成しようとするとタイムアウトする現象

2026/3/30 追記: 表題の現象を回避するためのプロキシを書きました。 blog.utgw.net github.com 表題のことが以下のバージョンで発生している。 DynamoDB local 3.3.0 terraform-provider-aws 6.38.0 起こっていること まっさらな状態のDynamoDB localに対し…

terraform-provider-aws v6でDynamoDBのGSIを追加・削除すると、既存の関係ないGSIが作り直しになる現象

tl;dr terraform-provider-aws v6.32.0 以降でDynamoDBのテーブルにkey_schemaブロックを使ってGSIを追加すると、関係ないGSIが作り直しになってしまう 記事執筆時点の最新版であるterraform-provider-aws v6.38.0で未解決 前提 TerraformでDynamoDBのテーブ…

Claude Codeのフックで作業完了時に音声で教えてもらう

これってもしかして全員やってる? とりあえず自分はこうすることで捗っている、という事例として流しておきます。 ↓こういう感じのスクリプトをおもむろに用意して*1 #!/bin/sh set -ex cwd=$(jq -r .cwd < /dev/stdin) basename=$(basename "$cwd") say -v …

超かぐや姫! を観た

www.cho-kaguyahime.com 映画館で上映していたのを観てきました。以下、ネタバレを含みます。

「バイブコーディングを超えて」を読んだ

バイブコーディングを超えて ―AI時代を生き抜く開発者の未来作者:Addy Osmani,佐藤 直生(翻訳)オーム社Amazon www.oreilly.co.jp 「AI活用」の潮流をさすがに無視できない雰囲気になってきて、最近もClineにコードを書いてもらう割合を増やしているけど、A…

modernizeパッケージをモダンなGoの書き方早見表として活用する

はじめに Go 1.26からは、 go fix コマンドによって古い書き方のコードを自動的にモダンな書き方に修正できるようになりました。この処理は golang.org/x/tools/go/analysis/passes/modernizeパッケージに定義されている種々の静的解析器 (Analyzer) によっ…

時間のないサイト運営者リング