2015/08/23

Hello Akka

休日にAkkaのサンプルを作って遊ぼうと思っただけなのに。
1日かかってテンプレートプロジェクトのHello_Akkaがやっと1つできただけというw

何でこんなにも出来なかったのか書き留めておく。
最初は竹添さんの本の通りやればできるだろうと、本の通り進めてみたがうまくインポートできないような感じだった(URLとかがちょっと違うだけっぽかった)。
それはまぁ想定内。なので下記のWebを見た。
http://doc.akka.io/docs/akka/snapshot/intro/getting-started.html

Activatorはすでにインストールしてあるし、パスも通してある。
つまり「build.stb」を言われた通りに作って IntelliJでオートインポートで開けばOKかなと思った。
しかしIntelliJで開くときに「URI has an authority component」というJavaのエラーを吐いて止まってしまう。
リポジトリのアドレスの問題かなと思ったが、調べるとローカルファイルの指定方法らしい。
でもbuild.sbtには「C:\User...」みたいな指定はしてない。
ここでず~~っと嵌ってしまった。

最終的にできた手順は、
  1. ユーザーのホームディレクトリ(Windows8.1だったので「C:\Users\<USERNAME>\」)にあった「.sbt」というフォルダを削除。
  2. コマンドラインから「Activator  ui」を起動(ブラウザでチュートリアルページが開くがこの時点ではほっとく)。
  3. ホームディレクトリ下に「.sbt\repositories」が再び作られる(「C:\Users\<USERNAME>\.sbt\repositories」だ、念のため) 。
    それを編集し、「file://${...」となっているところ(2か所あった)を「file:///${...」に修正(スラッシュを1つ追加)。
  4. 「2.」で開いたページで「Tutorial -> Hello Akka!」を選択し、「Create an app from this template」のところに「C:\work\Hello_Akka」などと入力すると「Hello_Akka」プロジェクトができた。
URIなんちゃらというエラーはこの「file://」の書き方で怒られているらしいが、多分だけどActivatorがWindows用に対応しきれてないのかも。。
(進化のスピードがえらく速いらしいのでこの情報もすぐに使い物にならなくなりそうだが)ちょっと前途多難な予感・・
残りはお決まりの手順だと思うが一応書き留めておく。

5.IntelliJで「File -> Open」で作られた「Hello_Akka」内のbuild.sbtを選択し、「Use auto-import」と「Download source and docs」をチェックしてOK(これはお決まりらしい)。

6.でダウンロード等できたらOpen new window、開いたら「Refresh all sbt project」。

でやっと遊ぶ準備が整ったと思う、けど本当に大変だった。よって今日の勉強は終わり!終わり!
(一応遊べることを確認したコードも追記。これを適当なscalaファイルとして作って右クリック、Runで動いた。)
import akka.actor.{Actor, ActorSystem, Props}

class MyActor extends Actor {
  def receive = {
    case s: String => println(s"Receive OK! $s")
  }
}

object MyFirstAkka extends App {
  val system = ActorSystem("helloakka")

  val m_actor = system.actorOf(Props[MyActor], "myactor")

  m_actor ! "First message! hello!"
  println("( message sent... )")
}

さて職を変え、もうC/C++を触らなくていいなんてすぐにはちょっと信じられない。
最終的に僕はどのくらい「Cプログラマです」と名乗っていいレベルだったんだろうかと思う(全然だという気がしてならないw)。
Scalaの知識を積んでいこう。。

あ、そういえば情処試験の申込期限は過ぎていた。セキュスぺはパス!

0 件のコメント:

コメントを投稿