Herokuでzip_code_jp gemの郵便番号データを定期更新したい

日本の郵便番号データを扱うRuby gemとしてはzip_code_jpが有名です。ECサイトなどでは郵便番号から住所を補完する機能はもはや当たり前になっていますが、そのような機能を作りたいときに便利なライブラリです。 この郵便番号データはZipCodeJp.export_jsonで...

2018/09/17 · Hiroshi Shimoju

Sidekiq + Heroku RedisでERROR: ERR max number of clients reachedと言われたら

Redisの同時接続数制限が原因です。 Sidekiqのconcurrencyのデフォルトは25となっており、Redisにもその数だけ接続するため、デフォルトのままだと一気に25接続を消費します。Heroku RedisのHobby Dev(接続数制限20)のような低価格なプランでは、...

2018/08/05 · Hiroshi Shimoju

HerokuのRelease PhaseでDBマイグレーション忘れを防ぐ

HerokuにはRelease Phaseという機能があります。 これはアプリケーションのビルドが終わってリリースする直前に任意のコマンドを実行するもので、DBのマイグレーションやキャッシュの削除といった用途に使えます。 設定方法はProcfileにrelease: commandの形式...

2018/07/29 · Hiroshi Shimoju

WerckerでRailsアプリをCIしてSlack通知する

オラクルに買収されてから存在感が薄くなった(?)ような気がするWerckerですが、使う機会があったのでRailsでの設定をメモしておきます。 # wercker.yml box: id: ruby:2.5.1 services: - id: mysql:5.7 env: # rails-database-yml stepはrootユーザーを使わないのでランダムパスワードにしておく MYSQL_RANDOM_ROOT_PASSWORD: 'yes' # 以下の3つを設定する必要がある MYSQL_DATABASE: rails_test MYSQL_USER: rails MYSQL_PASSWORD:...

2018/07/22 · Hiroshi Shimoju

better_errorsがやたら遅いときは最新版にアップデートするとよい

better_errorsが入ったRailsプロジェクトを最近触っているのですが、エラー画面の表示がやたら遅く、コンソールが使い物にならない状態になっていました。 Puma 3系で発生しており、リクエスト・レスポンス変数内のpuma.configのサイズが非常に大きく、通信に時間がかかって...

2018/07/14 · Hiroshi Shimoju

Scrapboxでリアルタイム共同日報をやってみた

この記事はGMOペパボ Advent Calendar 2017の17日目……になる予定だった記事です。 担当日に風邪を引いてしまって穴を空けてしまいましたが、なんとか年内に投稿してギリギリセーフの雰囲気を出していこうと思います😇 朝会の機能不全 どのようなチームでも、人数が増えてくると「誰が何やってるのかわからな...

2017/12/31 · Hiroshi Shimoju

ImageMagickで画像処理に入門する

この記事は、ImageMagickと画像加工について発表したときの資料を文章に起こして加筆修正したものです。 ImageMagickとは 画像加工といえばこれという有名ライブラリ メジャーからマイナーまでさまざまな画像形式に対応 機能が多すぎて脆弱性もたびたび発見されるくらい… Cで実装さ...

2017/11/12 · Hiroshi Shimoju

Herokuはスケーラブルなアプリ養成ギプス

社内勉強会でHerokuでの本番運用について発表しました。 いま携わっているSUZURIはHerokuで運用しており、個人でもHerokuで運用しているアプリがあります。その中で経験したことや知見を話しました。 Herokuで本番運用する技術 目次を見るとわかるようにテーマは多岐にわた...

2017/11/11 · Hiroshi Shimoju

新卒エンジニア研修の座学でImageMagickと画像加工の話をした

ペパボの新卒エンジニア研修では、メニューのひとつとして「座学」を行っています。 メインの研修ではWeb開発・Webオペレーション・モバイルアプリ開発に順番に取り組んでいきますが、座学では知識と興味を広げることを目的として、社内のエンジニアにお願いして1時間自由に発表してもらっていま...

2017/10/30 · Hiroshi Shimoju

DockerでcronしたいときはBusyBox crondが便利

Dockerコンテナでプログラムを定期実行したいとき、それぞれの言語で実装されたタスクスケジューラを使うほか、手っ取り早くcronを使ってしまう方法もあります。しかしDockerで使うにはやや面倒な点があります。 cronで実行するプログラムにコンテナに設定した環境変数を渡したい 環...

2017/10/09 · Hiroshi Shimoju