読者です 読者をやめる 読者になる 読者になる

デルタのブルース

SFCデルタ棟にいる三毛猫の「専務」、黒猫の「クロ」、白猫の「シロ」。その中でも古株の専務はおばあちゃん猫で、最近は体調を崩すことも多く、点滴のお世話になったりしています。専務の小さな体から精一杯の大きな声を出す姿が、BUMP OF CHICKENの「ガラスのブルース」の猫みたいで、これまでに撮っていた写真から動画を作りました。

Highchartsでタイトルを非表示にする方法

Javascript

Highchartsのタイトルを非表示することがありました。以下のURLに記載がありました。

text: String
The title of the chart. To disable the title, set the text to null. Defaults to Chart title.

以下のようにtextにnullを渡して非表示にすることができました。

title: {
    text: null
}

stackoverflow.com

SidekiqをHerokuで動作させるための設定

Sidekiq Heroku Rails

開発環境では、すぐにSidekiqを動作させることができたのですが、それをHeroku上のRailsで動作させるためには、いくつかの設定が必要でした。

Heroku Redisを有効にします。

$ heroku addons:create heroku-redis:hobby-dev


次に以下のファイルを作成します。

  • config/initializers/sidekiq.rb
if Rails.env.production?
  Sidekiq.configure_server do |config|
    config.redis = { url: ENV['REDIS_URL'] }
  end

  Sidekiq.configure_client do |config|
    config.redis = { url: ENV['REDIS_URL'] }
  end
end

Procfileにworkerの起動コマンドを設定します。

  • Procfile
web: bin/rails server -p $PORT -e $RAILS_ENV
worker: bundle exec sidekiq

以上の設定で Heroku上でSidekiqが動作するようになりました。

場合によっては、以下の設定も必要かもしれません。

Herokuの環境変数のREDIS_PROVIDERにREDIS_URLの値を設定します。

$ heroku config:set REDIS_PROVIDER=$(heroku config:get REDIS_URL)

github.com

RubyGemsを作成していてcannot load such fileエラーが発生した際の対処

Ruby

最近はFitbitのAPIにアクセスするプログラムを書いたりしていますが、FitbitのOAuth2に対応したRubyライブラリがないこともあり、自分でライブラリを作ってRubyGemsに登録しています。

プログラムを複数ファイルで管理しようとすると、gemのビルドは成功するものの、cannot load such fileというエラーが発生しました。しばらく原因がわからなかったのですが、.gemspecファイルを見ていたら、以下の記述がありました。

spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }

ファイル構成については、ファイルシステムではなくて、Gitリポジトリを参照しているようです。さきほどエラーが発生したコードを、git addとgit commitしてからビルドして実行すると、正常に動作するようになりました。