ようへい

2020年5月4日月曜日

[タイムゾーン対応] エポック秒、エポックミリ秒コンバーター

エポック秒(1970/1/1 00:00:00 +0000 からの秒数)、エポックミリ秒(1970/1/1 00:00:00 +0000 からのミリ秒数)を相互変換します。
UNIXタイムスタンプとも言う。 前に作ったコンバーターのタイムゾーン対応版です。

関連記事

2020年5月2日土曜日

[Windows 10] Ruby 2.7 & RMagick (ImageMagick) 環境構築

そろそろ Ruby 2.7 環境を作ろうと思ったので、ついでに RMagick を使える環境を構築。

準備するファイル

Ruby 2.7 + Devkit
WITH DEVKIT の方をダウンロードする。
Ruby Installer for WIndows
https://rubyinstaller.org/downloads/
ImageMagick
RMagick の GitHub をチェックすると、
ImageMagick Version 6.7.7 or later (6.x.x). Version 7 has beta support in version 4.1.0.rc2 (#256).
rmagick/rmagick: Ruby bindings for ImageMagick
https://github.com/rmagick/rmagick
と書かれているため、6系の最新をインストールすることにする。
6系は公式サイトからではなく、以下からダウンロードする。
ImageMagick binaries
http://www.imagemagick.org/download/binaries/ 今回は 6.9.11-10 を使用

セットアップ

  1. Ruby 2.7 をインストール
    • Select ComponentsMSYS2 development toolchain yyyy-mm-dd にチェックを付ける
    • セットアップ後、MSYS2 のセットアップ画面が表示されます。
      閉じてしまった場合は以下を実行
      $ ridk install
      Which components shall be installed? If unsure press ENTER [1,3] と表示されるので 1,2,3 と入力してセットアップしてください。
  2. ImageMagick をインストール
    • Select Additional TasksAdd application directory to your system pathInstall development headers and libraries for C and C++ にチェックを付ける
  3. RMagick をインストール
    • ターミナルを起動し、gem をインストール
      $ ruby -v
      ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x64-mingw32]
      $ gem install rmagick
      Fetching rmagick-4.1.2.gem
      Temporarily enhancing PATH for MSYS/MINGW...
      Building native extensions. This could take a while...
      Successfully installed rmagick-4.1.2
      Parsing documentation for rmagick-4.1.2
      Installing ri documentation for rmagick-4.1.2
      Done installing documentation for rmagick after 2 seconds
      1 gem installed

動作確認

$ ruby -r rmagick -e "puts Magick::colors"
上記で結果がズラズラ出ればとりあえず良さそう。
ただ、昔、rmagick と ImageMagick の相性問題に悩まされた記憶があるので、画像も読み込めるか確認。
$ ruby -r rmagick -e "Magick::Image.read('C:/Program Files/ImageMagick-6.9.11-Q16/images/logo-sm.png').map{|im| puts im.columns, im.rows }"
128
96
大丈夫そうですね。

まとめ

相性問題もあるので情報をまとめておきます。
  • Ruby 2.7.1p83
  • ImageMagick-6.9.11-10-Q16-x64-dll.exe
  • RMagick 4.1.2
関連記事