プログラミング

最初から git rebase しやすくするためのコミットの作り方

概要 GitHub 上でレビューしやすい状態にするため、いつも git rebase でコミットの整理を行うようにしているが、時々 rebase 時に conflict を起こして面倒になることがあった。最近思いついた方法で予めコミットを作っておけば git rebase がしやすくなり…

OpenCV で手本の文字と自分が書いた文字をマッチングしてみた(その1:特徴点マッチング)

OpenCV は初めて触った上、画像処理の知識がないので雑なまとめです。 はじめに 書道で使う手本は文字が小さく、手本は何十ページもあるため、後で自分が書いたものと手本を見返そうとしても探すのが大変だったりする。 左: 手本をもとに自分が書いたもの、…

Docker Compose で MySQL コンテナを立てるときに MYSQL_ROOT_PASSWORD 環境変数の指定でハマった

結論 Docker Compose のサービスの環境変数は Hash 形式で設定するのがおすすめ environment: MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' MYSQL_ROOT_PASSWORD: '' # **空文字列** がパスワードとして設定される docker-compose down db だけだと、db コンテナに紐…

Sidekiq を使うとき、ActiveRecord のコネクションプール数 >= Sidekiq のスレッド数 + 1 にするのが良さそう

以下の記事に書かれていたことそのままだが備忘としてまとめた。 repl.info ActiveRecord のコネクションプールは、各 Sidekiq ワーカスレッドと そのスレッドが動作するプロセス(Sidekiq プロセス) に一つずつ割り当てられる Sidekiq の並列数(ワーカス…

開発用データ入り MySQL Docker イメージを作成する仕組みを AWS CodeBuild で構築したよ

流れをぶった切ってしまってすみません! Speee Advent Calendar 2017 の 20 日目の記事です。 19 日目: スポンサー活動を本気でやってみた1年でした 概要 開発用のデータは、Web アプリケーションを作る上で必要不可欠です。しかし、手動で Jenkins から日時…

よくコケる不安定な feature spec への対処療法 rspec-retry gem

背景 業務で開発している Web サービスの feature spec が非常に不安定で、feature spec が CI 上でコケるたびに、ビルドジョブをよく手動で再実行していました。1 回の再実行でパスすることもあれば、まれに 10 回以上の再実行が必要なこともありました。 …

ElastiCache + Redis に出てくる概念と、クラスタモードごとの違い

はじめに Web サイト表示速度向上の一環として、仕事で、ElastiCache + Redis によるキャッシュ層を導入する。 導入にあたり、ElastiCache + Redis で利用するノードタイプ(インスタンスタイプ)や、制限などの事前調査が必要になった。 ElastiCache + Redi…