環境

  • MacBook Pro 2015 15inc
  • mac OS Mojave ver 10.14.2

juliaのインストール

https://julialang.org/

コマンドラインでは、brewの拡張版であるbrew-caskからもインストールできるようですが、私物のパソコンではbrew-caskは入れてないので、公式のダウンロードページからダウンロードします

トップページのダウンロードボタンから、ダウンロードページに誘導されますので、最新版の v1.1.0 (2019年2月25日現在) を、画像の赤枠のmac OS 10.8以上向けをダウンロードします。

ダウンロードファイルを実行し、以下画面が現れたら、そのままJuliaをApplicationsにドラッグドロップで入れてあげます。
juliaを入れてあげるディレクトリは各々自由ですが、私は基本的に推薦(?)されている場所に入れたいタイプなので、従います。
Applications以外の場所にインストールした方は、パスを通す時に場所が変わってきます。

これでJuliaのインストールは完了

ここからは公式のgithubのドキュメントと共に進めます。

ターミナルを開き、先ほどインストールしたディレクトリ通りに、パスを通してあげます。
私と同じjuliaのバージョン・同じ環境・同じ場所にインストールしたなら、↓のコードを丸コピでいけるはず。

echo "alias julia='/Applications/Julia-1.1.app/Contents/Resources/julia/bin/julia'" >> ~/.bashrc && source ~/.bashrc

パスを通したら、ターミナルに

julia

と入力して、juliaが起動し、以下の可愛いプロンプト画面に切り替わればインストールは成功です。

環境構築の時、ここにたどり着くとほっとします

XCodeの最新版が必要みたいなので、アップデートしていない方は事前に「xcode-select –install」でアップデートをしておいてください。

Genieのインストール

http://genieframework.com

ジュリアとジーニー。名前がとっても可愛いです。
VueJSのバージョンネームくらい好きです。

Genieは公式でも書かれている通り、フルスタックのMVCウェブフレームワークのようです。

Genieの公式HPのGetting Start with ~ の手順だとうまくいきません。
ですので、Genieのgithubのドキュメントを見ながら進めます。

先ほどのjuliaのプロンプト画面のままで、「]」と打ち込みます。

julia>]

ということです。
そうすると、パッケージモードにプロンプトが切り替わります。

パッケージモードの状態で

add https://github.com/essenciary/Genie.jl

と打ち込み、Genieをインストールします。
だらららら〜〜〜っとリストが流れて、パッケージモードに返ってきたらインストール完了です。

パッケージモードの状態で、「julia」と打ち込むと先ほどのjuliaのプロンプトに戻ります。


Genieのインストールはもう一つ方法がありますが、今回は混乱を避けるため上記の方法のみ。どちらでもいいと思いますし、二つとも実行しちゃっても大丈夫でした。(間違えただけ)
juliaを終わるときは  Ctl + D です

GenieでWeb Appを動かしてみる

ターミナルで、アプリを置きたいディレクトリに移動しjuliaを起動して

using Genie

を打ち込むと、Genieがスコープに追加され、Genieが使えるようになります。

juliaプロンプトのまま、REPLを使って、以下のコマンドでアプリを作成します。

Genie.REPL.new_app("test_apps_name")

そうすると、ポート8000番でサーバーが立ち上がり、コマンドを実行したディレクトリには test_apps_name のアプリが作られています。

test_apps_nameと同じ階層にあるlogのフォルダは、using Genieの時点で作られます

ブラウザからhttp://127.0.0.1:8000 もしくは http://localhost:8000 にアクセスし、以下の画面が表示されればGenieのアプリ立ち上げ完了です

本日はここまで

ひとまずインストールまで終わらせたので、気力がある時にディレクトリ構成を見たり、何か動かそうと思います。
pythonのように機械学習に向いている言語とのことですが、直近でとりあえず、粗利管理システムを作る用事があるので、そのサーバーサイド(APIにする)を作ろうと思います。クライアントサイドはVueJSです。