ysksuzuki’s diary

Java, Scala and JavaScript programming

インド人インターン生

来週からインド人のインターン生がやってきます。

今回もメンターとして頑張ります。

前回初めてメンターをやった時、インド人の英語の発音が独特で、何を言っているのかわからず、かなり苦労しました。

オンライン英会話とかTOEICとかである程度勉強はしたので、今回は多少ましになっているといいな。

インド人インターン生のレジュメをみたけど、まず名前の読み方がわからなかった。

経験とか習得技術をみていると、なんでもできるように見えるけど、実際はどうなんだろうな。

実践ビジネス英語

2011年くらいから英語の勉強のために実践ビジネス英語を聞いています。
ビジネスで使われる表現とか、時事ネタとか役に立つので重宝しています。

NHKラジオ実践ビジネス英語 2015年 06 月号 [雑誌]

NHKラジオ実践ビジネス英語 2015年 06 月号 [雑誌]

ただ、一つだけ不満があります。 オーディオブックが昔はチャプターごとに移動できていたのですが、1年くらい前からできなくなりました。
NHKに問い合わせたらいつのまにか意図せず変わっていた、とかで、仲介業者に確認しているようです。
これがなおらないとはっきり言って全く使い物になりません。
なので、CDを買うのがよいです。

Javaパフォーマンス

最近Javaパフォーマンスを読んでいます。
JavaDayTokyoで先行発売してたやつです。

Javaパフォーマンス

Javaパフォーマンス

まだ全部読んでいないですが、これはJavaエンジニア必読だと思います。
JVMのパラメータとかGCアルゴリズムとか、わかった気になってたけど、実は全然わかってなかった。
Javaが書けるだけではなくて、JVMの仕組みを理解してしっかりパフォーマンスチューニングできないと、一人前とは言えないな。

頑張って続きを読む。

vagrantメモ

コマンド一覧

操作 コマンド
コマンドのリストを表示する vagrant box -h
インストールしたboxの一覧を表示する vagrant box list
インストールしたboxを削除する vagrant box remove [box名]
boxを追加する vagrant box add [box名] [URL]

VM起動

  1. 任意のディレクトリを作成。(ここにVagrantFileを作成する)
  2. 上記のディレクトリに移動して、vagrant init [Box名]
  3. VM起動 vagrant up

boxの作成

  1. vagrant package
  2. package.boxが作成されるので、vagrant box add [box名] package.box
  3. ~/.vagrant.d/boxesに追加される

Ruby on Rails 開発環境構築 Windows

WindowsでのRuby on Rails環境構築

Rubyのインストール

以下からRubyInstallerをダウンロードして実行。

http://rubyinstaller.org/downloads/

ruby -vで確認

Development Kitの適用

以下からDevelopment Kitをダウンロード

http://rubyinstaller.org/downloads/

Development Kitの解凍、コピー

ダウンロードした.exeを実行し、Developement Kitを解凍。
Rubyのインストールパス内に「devkit」フォルダを作成し、Development Kitを解凍してできた全てのフォルダ、ファイルを「devkit」フォルダ内にコピー。

Development Kitの適用

コマンドプロンプトから、devkitフォルダに移動後、ruby dk.rb initを実行

config.ymlが作成されたことを確認し、ruby dk.rb installを実行

Railsのインストール

gem install rails --no-ri --no-rdocを実行

rails -v で確認

Ruby on Rails入門メモ

Ruby on Railsをさわってて、躓いた点をメモ。

環境

Windows8 64bit

Rubyのインストールディレクトリ:C:\Ruby200-x64
DevKitのインストールディレクトリ:C:\Ruby200-x64\devkit

Railsプロジェクトを作成して、サーバ起動時にエラー

C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/tzinfo-1.2.2/lib/tzinfo/data_source.rb:182:in `rescue in create_default_data_source': No source of timezone data could be found. (TZInfo::DataSourceNotFound)

 

対処

Gemfileを開いて以下を修正

gem 'tzinfo-data', platforms: [:mingw, :mswin]

gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]

 修正後、bundle updateを実行

参考URL

https://github.com/tzinfo/tzinfo/wiki/Resolving-TZInfo::DataSourceNotFound-Errors

 

scaffoldでエラー

rails generate scaffold User実行後、http://localhost:3000/usersにアクセスすると、

ExecJS::RuntimeError in Users#index 

 

対処

runtimes.rbの以下を修正

 

JScript = ExternalRuntime.new(
  :name => "JScript",
  :command => "cscript //E:jscript //Nologo //U",
  :runner_path => ExecJS.root + "/support/jscript_runner.js",
  :encoding => 'UTF-16LE' # CScript with //U returns UTF-16LE
)

JScript = ExternalRuntime.new(
  :name => "JScript",
  :command => "cscript //E:jscript //Nologo",
  :runner_path => ExecJS.root + "/support/jscript_runner.js",
  :encoding => 'UTF-8' # CScript with //U returns UTF-16LE
)

 

runtimes.rbは、execjsのインストールフォルダのlib/execjs

インストールフォルダはbundle show execjsで確認

 

参考URL

http://stackoverflow.com/questions/13530042/execjsruntimeerror-in-usersindex-ror

 

rails db実行で、エラー

Couldn't find database client: sqlite3, sqlite3.exe. Check your $PATH and try again.

 

対処

※SQLite3のx64版は提供されていないので、自分の環境でビルドしないといけない。

ビルドツールはC:\Ruby200-x64\devkit\mingw\bin\x86_64-w64-mingw32-gcc.exe

 

1.x64版SQLite3ソースコードのダウンロード

 ダウンロードサイトhttp://www.sqlite.org/download.htmlからsqlite-amalgamation-3080500.zipをダウンロードし、解凍する。

 

2.SQLite3.dllをビルドする。

 1で解凍したフォルダに移動し、以下を実行

 x86_64-w64-mingw32-gcc -O2 -shared -o sqlite3.dll -Wl--out-implib=libsqlite3.dll.a sqlite3.c

 SQLite3.dllが生成される。

 

3.SQLite3.exeをビルドする。

 1で解凍したフォルダに移動し、以下を実行

 x86_64-w64-mingw32-gcc -O2 -o sqlite3.exe shell.c libsqlite3.dll.a

 SQLite3.exeが生成される。

 

4. SQLite3.dll、SQLite3.exeをインストール

 2、3で生成されたSQLite3.dll、SQLite3.exeをC:\Ruby200-x64\binにコピーする。

 

参考URL

http://niche-treasurer.mo-blog.jp/blog/2014/04/ruby_on_rails_6.html

sbtプロジェクトの作成

sbtプロジェクトの作成方法について、まとめました。 

sbtだとMavenのようなひな形を作成する機能はなく、補完するためにgiter8が必要です。

なおIntelliJ13以降ではsbtを正式サポートしているので、

シンプルなプロジェクトを作成するだけなら、IntelliJでsbtプロジェクトを新規作成する方が楽です。

 

giter8とはGithubリポジトリに登録されているテンプレートからプロジェクトを生成するscalaベースのツールです。

 

※以下の手順はWindows環境向けです。

conscriptのインストール

  1.  https://github.com/n8han/conscript から jar を ダウンロード
  2. java -jarでダウンロードしたjarを実行

怪しいウィンドウが表示されて、conscriptがインストールされます。

成功すると、HOME/bin/cs.batにバッチファイルが作成されます。

giter8のインストール

  1. cs n8han/giter8を実行(上記でインストールしたバッチファイル)

giter8を使ってプロジェクトのひな形を作成

  1. プロジェクトを作成したいフォルダに移動
  2. g8 chrislewis/basic-projectを実行(テンプレートchrislewis/basic-projectを使用する場合)

テンプレートのリストはhttps://github.com/n8han/giter8/wiki/giter8-templates

 

以上でプロジェクトのひな形ができます。

 

以下を参考にさせていただきました。

https://gist.github.com/kmizu/1876800

http://d.hatena.ne.jp/takezoe/20111213