RSpecでテストを書いていて、assertされるデータの内容は同じなのに、IDだけが異なっているようなケースがあり、何だろう?とデバッグしていたらcallbackの処理で先に別のレコードが作られていたりしたケースがあった。
FastAPIにSentryを導入してエラートラッキングを実現する方法。Vue+FastAPI構成のバックエンドへの導入手順と設定のポイントを解説します。
Qiitaアドベントカレンダーで25記事を一気にアウトプットした感想。初めての大量執筆で得た気づき、アウトプットの効果、継続のコツを振り返ります。
Go言語でスライスから要素を削除する方法を解説。Go 1.21以降はslices.Deleteを使うのが推奨。古いappend+sliceトリックとの比較、インデックス指定・値指定の例をコード付きで紹介。
Goのnet/httpはデフォルトで自動リダイレクトしますが、http.Client.CheckRedirectにhttp.ErrUseLastResponseを返す関数を設定すると、リダイレクト前のレスポンス(301/302)を取得できます。Locationヘッダからリダイレクト先URLを取り出す実装例付き。
Goでlog.Fatal()を使ったらdefer文が実行されずプログラムが終了した。log.FatalはPrint後にos.Exit(1)を呼ぶため処理が続かない。エラーをログして処理を継続したいならlog.Print、回復不能ならlog.Fatal——実例で使い分けを解説します。
Go言語でスライスから特定の値を持つ要素を削除する方法。Go 1.21以降はslices.DeleteFuncが使える。ループ中の削除パターン(インデックスのズレ対策)も合わせて解説。
go mod edit -goコマンドでgo.modのGoバージョンを変更する手順を解説。リリースノートの確認から go mod edit、Dockerfileの更新まで。Goは常に最新2バージョンがサポート対象です。
起きたこと GORM(v1.9.16)を使っていて、アソシエーションの削除がうまくいかなかったときにハマったのでその時の調査メモです。 Productモデルと、そこに紐づくShopモデルを並行して更新するようなプログラムを作成していました。 go:main.go package main import ( "github.com/my-best/products.my-best.com
Gormを使ったアプリケーションの開発を行っていて、デバッグを行いたかった時の備忘録です。
新しい記事をメールでお届けします。
新しい記事をメールでお知らせ