Entries from 2019-01-01 to 1 year

小さなvimrcを複数用意しておくと便利ですよ、というお話

本記事は Vim Advent Calendar 2019 - Qiita の18日目の記事です。 nginxの設定ファイルを編集するシチュエーションを題材にして、小さなvimrcを取り回すvimの使い方について紹介しようと思います。 さて、nginxの設定ファイルを編集した後に、 nginx -t を…

golangでビルドされたバイナリに含まれるパス情報を消す

goでビルドしたバイナリには、通常はビルドに使われたgo等のフルパス情報が含まれている。 例えば /home/kamichidu/local/opt/go/default/bin/go みたいな。 気になるようなら、消すためにはbuild flagsに -trimpath を指定する。 go build や go install 等…

開発時にdockerを使ってmavenをいい感じに動かす

dockerを使ってJavaの開発しているとき、時折docker buildの遅さが気になる。 遅さというのは、ほぼ mvn package 実行時の依存解決にかかる時間に対して言っています。 というのも、例えば以下のようなDockerfileがあったとき # Dockerfile FROM maven:3.6.2…

goen v0.0.7について

以下の不具合を修正しました: Update/Delete操作時に、RowKeyがnilのとき、パッチからクエリが生成されていなかった Many to Oneのforeign keyを指定したフィールドに対して、参照先エンティティが存在しないとき、IncludeLoaderでpanicすることがある いず…

goen v0.0.6について

BulkCompilerに対して、MaxChunksが指定できるようになりました。 これまでは大量のプレースホルダを持つクエリを生成したとき、クエリ実行時にエラーになっていました。 package main import ( "database/sql" "fmt" "github.com/kamichidu/goen" _ "github…

PowerShell + msys2でのMakefileによるdocker volume mountについて

Windowsでmsys2のmake等を使いながら、Makefileでdockerを使ったコマンドを定義するときの、volume mountがうまいこといかなかったのでメモ。 PowerShellと書いているけれど、msys2のminttyからmakeを叩いたときにも通用する。 hoge: docker run --rm --volu…

EdgeRouterXへのL2TP/IPSec設定

自宅ではEdgeRouterXを使ってPPPoEでインターネットに接続しています。 今回EdgeRouterXにL2TP/IPSecでのVPN設定を実施したので、その備忘録。 参考にしたのは以下4サイトです: EdgeRouter - L2TP IPsec VPN Server – Ubiquiti Networks Support and Help Ce…

よくあるCompareという関数の理解の方法について

何個かのプログラミング言語触ってると、よくcompareという名前の比較関数を目にする。 この記事内では、goの文法で書くが、大抵の言語で当てはまる考え方だと思う。 // if a == b then 0 // if a < b then negative integer // if a > b then positve integ…

goen v0.0.5 について

goen.Loggerを手軽に作成するためのユーティリティ関数を追加しました。 以下のように利用することができます。 import "github.com/sirupsen/logrus" dbc := goen.NewDBContext(...) dbc.Logger = goen.LoggerFunc(logrus.Trace)

goen v0.0.4 について

TxScopeで実行した関数内でpanicしたときに、recoverしないようにしました。 今まではpanicした際のスタックトレースが失われていましたが、今バージョンからはTxScopeの外側にpanicを伝搬させるようにしたため、利用者はrecoverする自由を得ました。

goen v0.0.3について

goen v0.0.3には、以下の変更が含まれています: 生成されたInメソッドの引数を、スライスから可変長に変更 no such table "\"hoge\"" などの、余分なクォートをしてしまう問題の修正 v0.0.1で入れたクォートの対応によって発生 String() と QuotedString() …

goen v0.0.2 について

goen v0.0.2には、以下の変更が含まれています。 CompilerHookの追加 CompilerOptions.Hookの追加 CompilerWithHookの追加 これにより、goenが生成したinsert/update/delete用のクエリを、ユーザがカスタマイズできるようになりました。 例えばpostgresのups…

goen v0.0.1 について

goen v0.0.1には以下の変更が含まれています。 CompilerOptions.StmtBuilderの削除 CompilerOptions.Dialectの追加 goenが生成するクエリについて、テーブル名とカラム名をクォートするように変更 MetaSchemaをinterfaceに変更 MetaTableの追加 MeaColumnの…

goen v0.0.0 について

goenを使ったプロダクトがここ数ヶ月、特に問題なく稼働しているということと、大体APIも問題なさそうだということで、ベータからv0.0.0の正式版に移行しました。 v0.0.0では、以下の変更が含まれています。 DBContext.QuerySqlizer DBContext.QuerySqlizerC…