Tips

goのspannerクライアントのReadOnlyTransactionでハマった

アプリケーション

概要 pkg.go.dev - cloud.google.com/go/spannerでReadOnlyTransactionを使ったときにハマったところについてメモ。 何が起きたか? 数万件のデータを複数回のリクエストに分けて処理するようなバッチ処理のコードを書いていた。 ReadOnlyTransactionを使った処理を以下のように書いていた。  for { // 〜略〜 ...

GCP Spanner Tips

docker-compose.ymlで指定した環境変数がコンテナビルド中に参照できない

インフラストラクチャ

概要 docker-compose.ymlのserviceの1つにenv_fileを指定し、環境変数を設定したが、サービスがbuildするコンテナ内(Dockerfile側)では参照できなかった。 vueのアプリケーションをコンテナ内でnpmを使ってビルドしており、アプリケーション側でprocess.env.VUE_APP_API_ENDPOINTという形でアプリケーションのビルド時に環境変数を参...

Docker Docker Compose Tips

vscodeでgoのLanguage Serverを有効にしたらコード定義元ジャンプができなくなった

アプリケーション

概要 vscodeでgoのLanguage Serverの設定を有効にしたらコード定義元へのジャンプができなくなってしまったので原因を調査した。 settings.json "go.useLanguageServer": true, 結論 go.modがプロジェクトのルートに存在している必要がある。 cf. stackoverflow - How to properly us...

Golang gocode gopls Language Server vscode Tips

Mackerelで監視対象から外れたホストを再度復帰させる方法

インフラストラクチャ

概要 Mackerelの監視対象から誤ったホストを退役させてしまったり、意図せず監視対象から外してしまったときなどに復帰させる方法についてメモっておく。 手順 mackerel-agentを再起動しても自動で復帰しないのでホストに割り振られたhostIdを更新させる必要がある。 service mackerel-agent stop cd /var/lib/mackerel-agent mv id...

Mackerel Tips

anyenvでインストールしたrbenvでbundlerをinstallしたときにパスでハマった

アプリケーション

概要 anyenvでインストールしたrbenvでbundlerをinstallしたときにパスでハマった話。 ハマったこと anyenvでrbenvをインストールしてrubyを使っているのですが、bundlerをインストールする際に、 gem install bundler と何も考えずに打つと、bundlerが/usr/local/bin/以下に配置されてしまう。 意図したパスでないためgemで...

anyenv gem rbenv Ruby Tips

Docker for Macのマウントが遅い問題の対応

インフラストラクチャ

概要 Docker for Macのマウントが遅い。 npmとかスロー過ぎて辛い。 メモ書き。 原因 Dockerのスタッフの方のコメントを参照。(リンク先中段) Docker - File access in mounted volumes extremely slow, CPU bound MacOSのファイルシステムのAPIが関連しているらしい。 解決策 WindowsやLinuxを使う ...

Docker Tips

Vagrant上のMySQLで"MySQL Daemon failed to start

インフラストラクチャ

LaravelでマイグレーションやSQLファイルのインポートを繰り返したり、中断したりと無茶をやっていたらMySQLがおかしくなりました。 対応 MySQLの設定ファイルにログサイズを設定したら直りました。 innodb_log_file_size=5M 所感 無茶はやめよう! 参考 "Plugin 'InnoDB' registration as a STORAGE ...

MySQL Vagrant Tips

Vagrantを1.7.4から1.9.1に一気にアップデートしたら「Bringing up interface eth2: Device eth2 does not seem to be present, delaying initialization.」

アプリケーション

Vagrantのバージョンが1.7.4というちょっと古いバージョンだったのでアップデートしてみたらネットワーク周りでエラーがでてハマった話です。 エラー詳細 "/etc/udev/rules.d/70-persistent-net.rules" is not a file ==> default: Configuring and enabling network inte...

apache Vagrant VirtualBox Tips

redux-formのサーバーサイドバリデーションでpromissをいじってたら「Uncaught (in promise) error」

アプリケーション

概要 redux-formでサーバーサイドのバリデーションを実装している時に、promissをいじってredux-formのSubmissionErrorを投げていたらUncaught (in promise) errorと怒られた話です。 解決策 returnがなかっただけでした。 修正前 class Categories extends Component { onSubmit(props...

React Redux redux-form Tips