S3MockをJDK8でビルドする

S3MockをJDK8でビルドする方法

S3MockをJDK8でビルドするにはpom.xmlの修正が必要。
以下に手順書をまとめた。

BuildS3Mock_on_JDK8.pdf

ざっくり概要を述べると、S3Mockのpom.xmlはJDK8を想定して書かれていない。例えば、JDKのミニマムバージョンを指定する箇所で1.8と記載するところを8と記載している。
このため、S3Mockをビルドするにはpom.xmlファイルの修正が必要である。

上記の手順書に従ってビルドした媒体(S3Mockのバージョン2.4.9ベース)を以下に置いておく。
S3Mock-JDK8.tar.gz

 

 

 

 

Windows版JRuby 9.2.11.0環境にRails 6.0.2.2を導入する

Windows版JRuby 9.2.11.0環境にRails 6.0.2.2を導入する

JRuby 9.2.11.0環境でRails 6.0.2.2を導入しようとすると色々な不具合にあった。
以下の手順を実行したところ、問題なくRails 6.0.2.2を導入できた。

  • gccが導入されていない
    各種gemパッケージのインストール時にnative-extensionの導入に失敗する。MinGWをインストールして回避
  • makeコマンドが無い
    makeコマンドが無いため、native-extenstionの導入に失敗する。
    MinGWに導入されているmingw32-make.exeを呼び出すmake.batを以下のように作成する。[make.bat]
@echo off

set BATCH_DIR=%~dp0
set BIN_DIR=%BATCH_DIR%

"%BIN_DIR%\mingw32-make.exe"
  • sasscがインストールできない
    gem install sasscを実行すると、以下のようなエラーメッセージが出現する。

    process_begin: CreateProcess(NULL, cc -I. -I/include/java -IC:/workspace/dev/jruby/portable-jruby-20200504-001/lib/ruby/include/ruby/backward -IC:/workspace/dev/jruby/portable-jruby-20200504-001/lib/ruby/include -I. -I./libsass/include -fPIC -fno-omit-frame-pointer -fno-strict-aliasing -fexceptions -DLIBSASS_VERSION=\"3.6.3\" -m64 -march=native -mtune=native -o c99func.o -c ./libsass/src/c99func.c, ...) failed.
    make (e=2): 指定されたファイルが見つかりません。
    mingw32-make: *** [Makefile:204: c99func.o] Error 2
    C:/workspace/dev/jruby/portable-jruby-20200504-001/lib/ruby/stdlib/rubygems/ext/builder.rb:76: warning: unsupported popen option: err
    process_begin: CreateProcess(NULL, cc -I. -I/include/java -IC:/workspace/dev/jruby/portable-jruby-20200504-001/lib/ruby/include/ruby/backward -IC:/workspace/dev/jruby/portable-jruby-20200504-001/lib/ruby/include -I. -I./libsass/include -fPIC -fno-omit-frame-pointer -fno-strict-aliasing -fexceptions -DLIBSASS_VERSION=\"3.6.3\" -m64 -march=native -mtune=native -o c99func.o -c ./libsass/src/c99func.c, ...) failed.
    make (e=2): 指定されたファイルが見つかりません。
    mingw32-make: *** [Makefile:204: c99func.o] Error 2
    ERROR:  Error installing sassc:
            ERROR: Failed to build gem native extension.

上記のエラーはccコマンドが存在しないために発生する。コンソールで以下のコマンドを実行してgccを呼び出すようにする。

set cc=gcc

恒久対策として、以下のバッチを作成してMinGWのbinディレクトリにおく。
[cc.bat]

@echo off

set BATCH_DIR=%~dp0
set BIN_DIR=%BATCH_DIR%

"%BIN_DIR%\cc.exe"
  • webpackerがインストールできない
    Node.jsがインストールされていないため、webpackerのインストールに失敗する。
    Node.jsの12.16.3をインストールする。
    また、以下のコマンドでyarnをインストールする。

    npm install -g yarn

    最後にRailsアプリのディレクトリに移動してから、以下のコマンドでwebpackerをインストールする。

    rails webpacker:install

動作確認

rails sコマンドでWebサーバーが立ち上がることを確認する。
Railsアプリのディレクトリに移動して、以下のコマンドを実行する。

rails s

以下のURLにアクセスしてRailsのサイトが表示されることを確認する。

http://localhost:3000

 

 

Spring Bootでwarファイルを生成してTomcatで動かす雛形

Spring Bootでwarファイルを生成して、Tomcatで実行するための雛形ファイルを公開します.

http://www.loxsols.com/files/src/misc/loxsolsboot_004_war.zip
動作条件
・JDK 1.7
・Tomcat 8.5.16
・Spring Boot 1.5.4

※ tomcat 6では動かないので要注意です。

warファイルをデプロイして下記のURLを開くとjspファイルの内容が返却されるはずです。
http://localhost:8080/loxsolsboot/hello-jsp

手っ取り早く、JSPが使えるSpring Bootのwarファイルを生成したい人は活用ください。

 

 

 

 

 

Amazon Fire StickとNetflixの組み合わせが素晴らしい件

Amazon Fire Stickを買いました。
これまでは、ChromecastでNetflixを見ていましたが、イレギュラーな操作を行った際に不安定になっていました。
例えば、2時間物の映画を再生中に、スマホを持ってトイレに行って戻ったら、コネクションが切れていて、再接続しても反応しないなど。

Amazon Fire Stickなら、構成がシンプルな分、こういったストレスから解放されます。
5000円未満で、手持ちのテレビでNetflixが見られるのは素晴らしいです。
prime会員なので、Amazon Prime Videoも見放題なのですが、吹き替え版の品ぞろえがよくないのが残念です。

また、英語の勉強をしたい方には、NHK Worldのアプリがおすすめです。
NHKの海外向け放送がリアルタイムでテレビで見れて、値段はタダですから。
BBCやFrance24に比べて、発音はゆっくりで安心のJapanese Englishなのもよいです。
どうせニュースを見るなら、地球の裏側で起きている話題よりも、日本の話題を見たほうがしっくりきますしね。