KindleのXMLをTSVに変換する
umemak/kindle_xml_to_tsv作った。 ExcelだとXMLファイル読めるらしい(試してない)けど、Googleスプレッドシートだと読み込めなかったので、TSVに変換して読み込めた。 goのencoding/xml使って、割と簡単に書けたけど、AuthorsとPublishersが配列 Read more
POSTS
umemak/kindle_xml_to_tsv作った。 ExcelだとXMLファイル読めるらしい(試してない)けど、Googleスプレッドシートだと読み込めなかったので、TSVに変換して読み込めた。 goのencoding/xml使って、割と簡単に書けたけど、AuthorsとPublishersが配列 Read more
デプロイのエラーは、go clean -modcacheしてgo.sum削除してgo.modのrequire全削除してgo mod tidyしたら直った。 何が効いたのかはわからない。 ログは、JSON形式で出力しないといけないのかと思ってそのように書いてみたら、そのまま記録されて構造化されなかった。 集計するものでもなけれ Read more
何もしないと、リクエストパラメータすらログに出力されないので、何かと不便。 ログの作成、表示、処理 | Google Cloud Functions に関するドキュメントによると、標準出力や標準エラーに書き込めば良いが、Entry構造体を定義して、Stringメソッドを作り、logにPrintlnで渡せばもっと良い感じにできるらしい。 とりあえず Read more
runnでDBの操作もできるのだけど、BINARY型のカラムがあるテーブルだとうまく動かない(気がする)。 深く考えずにCHAR型に変更したら通ったので、おそらくBINARY型が原因だったと思う。 時間ができたら検証してみたい。
runnのコマンドライン実行でうまく動かない件、オプション--grpc-no-tlsを指定したら解消した。 デバッグ用に詳細オプションないかなーってコマンドラインヘルプ見ていて見つけた。 マニュアルはちゃんと読みましょう(今年何度目かの反省
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はDeleteするときに論理削除が使える。 詳細は【Go】sqlboilerで論理削除を実装する | ISSUEが詳しい。 論理削除のときはdeleted_atカラムがセットされる。 で、そのときupdated_atは更新されない。 論理削除した行を元に戻したいとき、deleted_atにnu Read more
SQLBoilerを使うロジックをDATA-DOG/go-sqlmock: Sql mock driver for golang to test database interactionsでテストしようとしてハマった。 使わない便利機能は複雑さが増すだけで良いことないな。。 使いこなせば、それなしとか考えられないんだろうけど、つらい。
よくわからない。 ググるとhttptest使う例が良く出てくるけど、型が合わなくて組み立てられない。 仕方ないので、APIサーバー起動してhttp.NewRequestWithContextで叩いて結果を見るという、E2Eっぽいテストに落ち着きそう。