Skip to content

go

KindleのXMLをTSVに変換する

umemak/kindle_xml_to_tsv作った。 ExcelだとXMLファイル読めるらしい(試してない)けど、Googleスプレッドシートだと読み込めなかったので、TSVに変換して読み込めた。 goのencoding/xml使って、割と簡単に書けたけど、AuthorsとPublishersが配列 Read more

CloudFunctionsのログ

デプロイのエラーは、go clean -modcacheしてgo.sum削除してgo.modのrequire全削除してgo mod tidyしたら直った。 何が効いたのかはわからない。 ログは、JSON形式で出力しないといけないのかと思ってそのように書いてみたら、そのまま記録されて構造化されなかった。 集計するものでもなけれ Read more

CloudFunctionsのログ

何もしないと、リクエストパラメータすらログに出力されないので、何かと不便。 ログの作成、表示、処理 | Google Cloud Functions に関するドキュメントによると、標準出力や標準エラーに書き込めば良いが、Entry構造体を定義して、Stringメソッドを作り、logにPrintlnで渡せばもっと良い感じにできるらしい。 とりあえず Read more

runnでgRPCのテスト3

runnでDBの操作もできるのだけど、BINARY型のカラムがあるテーブルだとうまく動かない(気がする)。 深く考えずにCHAR型に変更したら通ったので、おそらくBINARY型が原因だったと思う。 時間ができたら検証してみたい。

runnでgRPCのテスト2

runnのコマンドライン実行でうまく動かない件、オプション--grpc-no-tlsを指定したら解消した。 デバッグ用に詳細オプションないかなーってコマンドラインヘルプ見ていて見つけた。 マニュアルはちゃんと読みましょう(今年何度目かの反省

runnでgRPCのテスト

gRPCサーバーをテストするのに、fullstorydev/grpcurl: Like cURL, but for gRPC: Command-line tool for interacting with gRPC serversを使っていたのだけど、自動化するのに良いものはないかと探して、k1LoW/runn: runn is a package/tool for running operations following a scenario.を試してみた。 go testから使うのは何となくできたような気がするけど Read more

SQLBoilerで論理削除の復旧

SQLBoilerはDeleteするときに論理削除が使える。 詳細は【Go】sqlboilerで論理削除を実装する | ISSUEが詳しい。 論理削除のときはdeleted_atカラムがセットされる。 で、そのときupdated_atは更新されない。 論理削除した行を元に戻したいとき、deleted_atにnu Read more

SQLBoiler

SQLBoilerを使うロジックをDATA-DOG/go-sqlmock: Sql mock driver for golang to test database interactionsでテストしようとしてハマった。 使わない便利機能は複雑さが増すだけで良いことないな。。 使いこなせば、それなしとか考えられないんだろうけど、つらい。

SQLBoiler

volatiletech/sqlboiler: Generate a Go ORM tailored to your database schema.を少し触ってみた。 普段はkyleconroy/sqlc: Generate type-safe code from SQLをよく使っているのだけれど、あらかじめSQLを書かなくて良いのは楽。 だけど結局DB操作するときには対象のレコードを指定するのに組み立てないといけないので、一長一短。 手段を一つしかもっていないと、それ Read more

OpenAPIで生成したサーバーのテスト

よくわからない。 ググるとhttptest使う例が良く出てくるけど、型が合わなくて組み立てられない。 仕方ないので、APIサーバー起動してhttp.NewRequestWithContextで叩いて結果を見るという、E2Eっぽいテストに落ち着きそう。