The First Cry of Atom

SBTを使ったプロジェクト作成(2)

スコープに関するお話 昨日の続き。 実はSettingKeyにはスコープがあり、異なるプロジェクトではことなる値を使うことができる。そもそも同じ場所に置くなよという気はするがテスト用とかリリース用にビルドしたい場合に便利。このビルドの設定を分けるスコープの”軸”がSBTには3つある。 プロジェクト コンフィギュレーション タスク プロジェクト軸によるスコープ それぞれのプロジェクトに対して設定が必要という場合がこのケース。ビルド全体(全プロジェクト)でもよい。 コンフィギュレーション軸によるスコープ ビルドの種類によるわけかた。テストとかリリース用とか、デバッグ用とか。 タスク軸によるスコープ 少しよくわからないけれど、他のタスクに影響を受けるようなスコープのこ... Read more

SBTを使ったプロジェクト作成(1)

SBT(Simple Build Tool)というScalaのビルドツールを使ってみる。 ここを参考にした。 インストール まずインストール。macの場合はHomebrewで用意されているみたい。 $ brew install sbt プロジェクトの作成 ひな形は自分で作る。ここではhelloプロジェクトを作ってみる。 $ mkdir hello $ echo 'object Hi { def main(args: Array[String]) = println("Hi!") }' > hw.scala $ sbt # ここで必要なパッケージとか勝手にインストールしてビルドしてくれるみたい > run ・・・ Hi! 複雑なことはまだたくさんあるけれど、... Read more

Scalaを使うことに

汎用人工知能の開発をするにあたって使う言語とかを考えていた。汎用人工知能(まだそれが何を意味するのか明瞭にはわかってない)で必要なスペックは次のものなのではないかなとあげてみた。 高速 並列処理に向いている 関数型(少なくとも副作用を前提としないプログラム) ここであげた条件には自分の好み、向き不向きが含まれているけれど漠然とした現状を考えるとこれが妥当なのではないかな。 高速であることはいうまでもない。多分CとかC++が一番よい。でもC、C++はメモリ管理とか大変そうで個人的にはデカイものを書くときには向いてない気がする。 並列処理に向いているというのは機械学習を行わせたいので今流行のMahoutもJubatusも並列で計算をおこなっているのでそれが向いているもの... Read more

About the Author

Hi there! I’m Paul. I’m a physics major turned programmer. Ever since I first learned how to program while taking a scientific computing for physics course, I have pursued programming as a passion, and as a career. Check out my personal website for more information on my other projects (including more Jekyll themes!), as well as some of my writi... Read more