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の知識を積んでいこう。。

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

2015/08/21

soft toy, stuffed animal

やばい、思い起こすと親父がIBM製のWindows95のPCを買ってきたのを覚えているが、そのさらに前からPC98でゲームをしてた記憶がある。つまり初めてPCを触ってから20年以上たってるのだ。
その間ずっとMS-DOSだったりWindowsだったりで、当然日本語109キーボードだった。

それが急にMacに鞍替え。しかも英語配列キーボードのMacBookでお仕事をすることになった。
関数型言語を始めるというのは今までのプログラミング経験をリセットして、プログラミングの勉強を1からやり直すようなものだとよく言うが、同時にタッチタイピングの習得やPCの基本操作までリセットされて学び直すことになってしまった。
プログラマとして結構な年数過していたのだがまだまだ知らなかったことや目の覚めるようなアイデアがたっくさんある。毎日賢くなってる気がする。

でもちょっと一気に吸収し過ぎだ。週末はぬいぐるみのようにボケーっと過ごす。
そこで表題、ぬいぐるみの英訳がよくわからん。

2015/08/08

Scala


関数型言語に目覚めすぎ。
関数型の考え方なんて、ほんの一ヶ月半くらい前にたった一冊本を読んだだけだってのに。
しかもそれAmazonレビューで超炎上してる本だったし。
自分はどちらかというと変化を好まない人だったのだが、どいういう影響を受けたんだろう。
居心地の良い(?)会社を飛び出してScalaプログラマになろうとしてる。そんな気分。

自分の今持ってる技術、出来ること出来ないこと、成長曲線、仕事内容を考えると、将来に危機感を覚えていた。
このままじゃダメだよなといつも思っていたんだけど、もしこの先30年くらい会社が安定して続くならそれでもいいかなと思ってた。残業も少なく、きっと家庭を持ってもそこそこ幸せにやってけるかなと。

ただ、2008年4月、リーマンショックの年、その直前に入社した。
和やかに新人研修をやってもらった直後、お世話になった先輩が無茶な条件変更を迫られ、とても円満とは言えない退職をしてったのを沢山目撃した。中国支社行って現地採用の社員と同じ基準の給与でやれ、とかね。先輩だけでなく仲の良かった同期も入社1年くらいで強制解雇になっており、そのショックは大きかった。そんなのを見せられたのでこのままじゃダメだよなぁとは思ってた。
でもそれ以来は平和だったんでだらだらやってきた。(今その辞めさせられた同期はもっとでかい会社で社を代表するような仕事をしている。同期の誰よりも沢山お金貰ってるので心配ないぞ。むしろそいつの影響も少なからず受けてる)

さて。
どの道を行っても最後は死ぬのなら、戦ってから死ぬか