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

Homebrewでg++環境を設定してやねうら王2016Midをビルド

yaneuraou.yaneu.com

このエントリーにあるように、Macのg++はclangになっています。HomebrewからGNUのCコンパイラをインストールするには、以下のようにコマンドを実行します。

$ brew install homebrew/versions/gcc6

gcc-6とg++-6というコマンドが実行できるようになりますので、動作を確認します。

$ g++-6 -v
Using built-in specs.
COLLECT_GCC=g++-6
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc6/6.1.0/libexec/gcc/x86_64-apple-darwin15.4.0/6.1.0/lto-wrapper
Target: x86_64-apple-darwin15.4.0
Configured with: ../configure --build=x86_64-apple-darwin15.4.0 --prefix=/usr/local/Cellar/gcc6/6.1.0 --libdir=/usr/local/Cellar/gcc6/6.1.0/lib/gcc/6 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-6 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl014 --with-system-zlib --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --with-build-config=bootstrap-debug --disable-werror --with-pkgversion='Homebrew gcc6 6.1.0' --with-bugurl=https://github.com/Homebrew/homebrew-versions/issues --enable-plugin --disable-nls --enable-multilib
Thread model: posix
gcc version 6.1.0 (Homebrew gcc6 6.1.0)

やねうら王のGitHubリポジトリをcloneして、sourceディレクリに移動します。MakefileのCOMPILERにg++-6を指定します。

COMPILER = g++-6

extra/config.hに利用しているCPUに応じた設定をします。私の場合はSSE 4.2が利用可能でしたので、以下のように指定しました。

//#define USE_AVX512
//#define USE_AVX2
#define USE_SSE42
//#define USE_SSE41
//#define USE_SSE2
//define NO_SSE

makeコマンドでビルドします。

$ make sse42

YaneuraOu-by-gccという実行ファイルから、やねうら王を起動することができました。

$ ./YaneuraOu-by-gcc

日経BP テクノロジー・ロードマップ 2016-2025 医療・健康・食農編

私が一部執筆した書籍が出版されました。

ec.nikkeibp.co.jp

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

zshrcのプロンプトのシンプルな設定 (2015年1月版)

現在、.zshrcのプロンプトの設定は以下のようにしています。

PROMPT='[%n@%m]$ '
RPROMPT='%d %*'

以下のようなプロンプトになります。

[kaoru@server]$                      /Users/kaoru 11:01:34

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