scala

heroku(lift編)

Windows7+cygwinでherokuにliftを乗せる手順。 $ mvn -version Apache Maven 3.0.3 (r1075438; 2011-03-01 02:31:09+0900) Maven home: C:\Java\apache-maven-3.0.3 Java version: 1.6.0_26, vendor: Sun Microsystems Inc. Java home: C:\Java32\jdk1.6.0_2…

heroku(scala編)

sbtインストール(cygwin上) https://github.com/harrah/xsbt/wiki/Getting-Started-Setup から sbt-launch.jar をダウンロードする。sbt-launch.jar を保存したディレクトリに shellスクリプトsbtを作成して実行権限を付与する。 SBT_DIR=`dirname $0` java …

ようやくモーション再生の実装終わった

さくさくっと2日くらいで実装するつもりだったMMDのモーション再生部分が、2週間もかかってしまった。C++での実装経験があって、以下のような参考にできるソースがあるのですぐできると思ったのだが・・・。 https://github.com/chimerast/scala-tan-dash ht…

JBulletことはじめ

http://jbullet.advel.cz/ オリジナルのBulletのほぼ忠実な移植のようだ。 OpenGL等によるビジュアルを伴わない最小のサンプル http://bulletphysics.org/mediawiki-1.5.8/index.php/Hello_World のJBullet版を書いてみた(scala-2.9向け)。 import com.bulle…

sbt-0.10.0を試してみる

0.7.7と設定がだいぶ変わっている様子。build.sbt(Light definition)かproject/Build.scala(Full definition)で設定する。 light https://github.com/harrah/xsbt/wiki/Basic-Configuration 最低限nameとversionを書く 各項目は空行で区切る 項目一覧 http:/…

scalaの練習にlwjglでプログラム中

scalaの練習用に去年途中で放棄したのを発掘して、ぼちぼちプログラム中。 なるべくscalaのいろんな機能を使ってみる方向でコーディングしているのだが、traitでシーングラフを構築するのがなかなか面白い。こんな感じ。 // view val view=new opengl.View(1…

buildrにrfscを組み込んでみた

あまりにコンパイルが遅くなってしまったので、buildrにrfsc http://blog.8-p.info/2010/2-fsc-ruby を組み込んでみた。 結論としては、fsc + compile引数が重要。 引数無しだとfscのキャッシュが全然効いていなかった。 default target > buildr Completed …

ruby-1.9.2(i386-mingw32)のbuildr-1.4.6の動作環境

Windows7(64bit) rubyとdevkit ruby-1.9.2 => C:\ruby192 DevKit-tdm-32-4.5.1-20101214-1400-sfx.exe => C:\ruby-devkit rjb-1.3.3のインストール dosプロンプト開始 > echo %JAVA_HOME% C:\Java\jdk1.6.0_26 > ruby --version ruby 1.9.2p180 (2011-02-18)…

scalaのビルドツール

いろいろとビルドツールを彷徨っているのだが、これというのが見つからない。 使ってみたやつの感想など。 ant 挙動はなんとなく想像できる antのjvm antからコンパイラをスレッド起動(forkしなければ) なのでjvm1回。fscを使う設定もあったと思う。 build.x…

for式にOption[T]を投入する

Option[T]をfor式に入れたらうまくいったのでそれについて。 before dialog.open() match { // swtのファイルダイアログ呼び出し case null => case path => val file=new java.io.File(path); loaders.find(_ accept file) match { // Array[Loader]#find(f…

swtのlwjglサンプルをscala化して整理

http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet195.java?view=markup&content-type=text%2Fvnd.viewcvs-markup&revision=HEAD をscala化してswtとOpenGLを分離してみた import org.eclipse.swt.…

swt練習

import org.eclipse.swt.widgets; object Main { def main(args: Array[String]) { val display = new widgets.Display(); val shell = new widgets.Shell(display); shell.open(); // loop while (!shell.isDisposed()) { if (!display.readAndDispatch()){…

scalaでjava.nio.channles.selector練習

7月からの都合でjavaの練習を開始。 とりあえずhttpproxyでも作ってみようかと、はじめServerSocket+Threadで作り始めたのだが、java.nio.channels.Selectorを使ったノンブロッキングIO方面に流れて、更にscalaになった。とりあえずnon blockingでシングルス…

sbtからbuildrに乗り換え中

今作っているscalaのlwjglのプログラムはビルドにsbtを使っていたのだけど、 開発マシンをUbuntuに乗り換えたのを機に、ビルドツールもbuildrに乗り換えてみる。 まず、buildr自身のインストールなのだが、javaとrubyをブリッジするrjbのインストールが わり…

immutableな木を作る

immutableな木を作りたかったのでやってみた。 immutableなノードは、作った時点で自身のデータ(name)と子ノード(children)が確定している必要があるということなのであった。 import scala.collection.mutable.ArrayBuffer class BuilderNode(val name :Str…

スキニング実装中・・・

なんとか、データを流し込むところまでを作った。 しかし・・・何やら前衛的なオブジェクトが蠢いている。 いつもどおり崩壊状態である。 まぁ、スキニングの実装が初手からうまくいったためしは無いので折込済みである。 ここからが、本当の戦いだ。といっ…

木構造Iterator試作

sceneのnodeとSkeletonのboneの木構造を共用にすべく型パラメータで書いてみた。 foreachが動けば十分なので、がんばってIterableを実装するほどでもなく、 Traversableを実装すればよかった気がする。 import scala.collection.Iterator import scala.colle…

VMD読み込み実装中・・・

何故かとてつもなく遅くなってしまった。 これは看過できないが、なぜだか良くわからん。 一度Array[Byte]にファイルを全部読みこんだあとにデータを切り出しているだけなのだが、 12000フレームくらいのデータをFloatとかフォーマットどおりの型に している…

PMDローダまで作った

さくっとscalaで実装。scalaのコンストラクタの引数がそのまま オブジェクト変数になるというのは地味に便利だ。 今回のローダみたいな、受け取って構造体にそのまま転記するだけという部分が たくさんあるような場合だとだいぶ記述量が減る。次は読み込んだ…

Collections

2.8のコレクション説明 http://lampwww.epfl.ch/~odersky/whatsnew/collections-api/collections.html これ読むと見通しがよくなりそうだ。 継承関係 Traversable +Iterable +Seq +Set +Map trait Traversable http://lampwww.epfl.ch/~odersky/whatsnew/col…

mqo表示まで

なかなか時間がとれぬ。 JOGLと同じところまで進んだ。 次は、SkeletalAnimation、要するにpmd+vmdの実装に進む。 9月中にJBulletと合体するとこまで行きてぇ。 とりあえずソース貼る。 http://github.com/ousttrue/trigonal

3Dフレームワーク作成開始

ここのところ進めてきたjava+scalaの練習で、だいぶjavaプラットフォームとscalaに慣れてきた。 そろそろ大き目のプログラムを一個作ってみようということで、lwjgl + scalaの 3Dフレームワークの作成を開始した。 c++よりは便利に書くことができて、python…

HTTPプロキシ練習その3

ある程度動くところまでできた。 やな感じにコードが増えつつある。 まだ、画像が途中で切れる(Content-lengthないからか?)などの問題がある。 現状での一番のはまりポイントは、HTTPヘッダのHost:指定だった。 apacheとかの名前ベースVirtualHost(多分)率…

HTTPプロキシ練習その2

代行したHTTPアクセスをSocketを使用したLowレベルなものにして、 リダイレクションに対応させてみた。 しかし、まだHeaderのやりとりをちゃんと実装していのでまともに動かない。 あと、バイナリファイルが壊れる。 package proxy import io._ import scala…

Httpプロキシ練習

actorの練習を兼ねて書いてみた。 最小限過ぎてまともに動かない。 fromURLで手抜きしているところもう少しローレベルに書いて、 ascii以外の文字列がきても大丈夫にして、 redirectくらいには、対応させねばなるまい。 package proxy import io._ import sc…

mqoビューワだいたい完成

▲三次元CG@七葉のはちゅねさん ほっぺたのα抜きのグルグルがまだだが力尽きた。 RGBAテクスチャの透明は動くのだが、別画像によるαチャンネルに対応するの忘れてた。 テクスチャ周辺の作業が長かった。 JOGLのAPIが妙に変わっていて(それも不便な方向にw)か…

swing+JOGL(java)とmqoloader(scala)を合体

とりあえずマテリアル抜きで。 地味にデバッグに苦しんだが、まぁ順調の部類か。 そろそろvimのquickfixとかを導入したい。 あと、syntaxでうまくインデントできないよ。 rubyもそうなんだが、文法が複雑な言語はvimの自動インデントがまともに動かぬので困…

TupleのListからMapを作る

:_* で引数をListに展開して渡す。 println(Map(List("a", "b", "c").zipWithIndex :_*)) Map(a -> 0, b -> 1, c -> 2)

Javaのエントリポイントから実行を開始してScalaのコードを呼ぶ。そういうプロジェクトのantの書き方

Javaのmainで開始して、中でScalaを呼ぶ混ざったプロジェクトをantでビルドする方法について。 ディレクトリ構成はこんな感じで。 project +build.xml +src +Main.java +Loader.scala Scalaには、antのタスクが添付されている。 http://www.scala-lang.org/n…

mqoパーサその2

一通り、書いてみた。 だいたい400行くらい。 量的にもお手軽さ的にもRubyとかpythonで書くのとさほど変わらない感触だ。パターンマッチで分岐と同時に値を束縛するのはなかなか愉快だ。 無駄に濫用したくなるので、濫用してみた。あと、ダックタイピング…