ラベル clojure の投稿を表示しています。 すべての投稿を表示
ラベル clojure の投稿を表示しています。 すべての投稿を表示

2013年8月25日日曜日

javafx.jarのローカルリポジトリへのインストール方法

https://coderwall.com/p/4yjy1a を参考に。

set PATH=%PATH%;C:\apache-maven-3.1.0\bin;
set JFXRTPATH="C:\Program Files\Java\jre7\lib"
mvn install:install-file -Dfile=%JFXRTPATH%\jfxrt.jar -DgroupId=com.oracle -DartifactId=javafx-runtime -Dpackaging=jar -Dversion=2.2.0


clojure再復習

clojureも、leinもバージョンがあがっていて、浦島太郎状態なので、
復習のための備忘録

lein help tutorial

プロジェクトを作成するときに、テンプレート指定を省略すると、
defaultのテンプレートが用いられる。
このテンプレートはライブラリ作成用なので、アプリケーションならappを明示したほうがよい。

ファイル名とネームスペースへの変換
Clojureだとシングルセグメントのネームスペースは推奨されない。
ダッシュつきのネームスペースは、アンダースコアの名前に置き換わる
JVMがダッシュつきの名前を呼び出すとトラブルが起きるから。

http://blog.8thlight.com/colin-jones/2010/12/05/clojure-libs-and-namespaces-require-use-import-and-ns.html

Javaのライブラリファイルは以下の3つの情報を持つ
アーティファクトグループ
アーティファクトID
バージョン

lein search $TERMを使ったり、webを使って、clojarsのサイトを見ることで、
アーティファクトIDとバージョンを調べることができる

グループIDは、/で区切られた前半を使って、アーティファクトIDは後半を使うのが多い
Javaのライブラリはこのわけかただが、Clojureのライブラリは二つのIDが同じ値をさすのが多い
その場合はグループIDを省略することができる

リポジトリは、clojars, maven central がデフォルトで使われるが、
:repositoriesキーを使って追加のリポジトリを指定することはできる

REPLの実行方法
lein repl
dependenciesに記述したライブラリは、ここでダウンロードされる

ドキュメントを参照する場合は、docを使って、
例を見たい場合は、clojuredocsを使う。

ソースコードを参照したい場合は、(source)を用いる

lein run で、-main関数を実行することができるが、
違うネームスペースの場合は-mオプションをつけることで指定ができる。
project.cljに:mainのデフォルト値がある場合は、省略することもできる

長時間実行するプロセスでメモリを節約したい場合は、trampolineタスクを使うことができて、
プロジェクトのJVMが実行される前に、LeinのJVMを終了することを許可する。
 lein trampoline run -m my-stuff.server 5000

testコードを何も書かなくてもテンプレートに初期コードが含まれているので、
lein testで実行をすることができる。

ネームスペースを指定することでテストの実行範囲を絞ることもできて、
他の選択方法はヘルプを参照すること lein help test

uberjar
スタンドアローンで実行形式を作るときには、プロジェクトファイルに、
:mainにネームプレースの指定が必要なのと、そのネームスペースに、
(:gen-class)の宣言が必要になる。

:aotのオプションはつけたほうがいい?
AOTは事前コンパイル指定で、実行中はJIT。どう指定するのがいいのかは調査いる?




2011年5月5日木曜日

clojure-koans

面白い。
https://github.com/functional-koans/clojure-koans#readme

leinをインストールして、lein depsを実行するまでが前準備。
実行後、script/run.batでうごきだすと、いきなりエラーがでます。
それをエディタで直していくと、自動でリフレッシュがかかって、次のエラーになります。

デバッグというよりは、実践的な問題集みたいだ。

2010年7月16日金曜日

Clojure 1.2beta!

Congratulation!

2010年6月26日土曜日

clj-swingrepl

ひさびさにIncanterのサイトを見に行ったら、Windowsでも使えるようになってた。
しかも、ダブルクリックでめんどいインストールもなしで、Clojureが使える!:D

使っているライブラリが下のらしいんだけど、素晴らしい。
http://github.com/alandipert/clj-swingrepl

2010年1月9日土曜日

Black-Sholes式

色々な言語で実装したコード集。
えーらいマイナー言語もあるから、結構おもろい。
http://www.espenhaug.com/black_scholes.html

それを、clojureで実装したサンプルコード
http://paste.lisp.org/display/89070

上のサンプルは、どうもコールとプットが逆くさい。

2010年1月2日土曜日

help macro

clojureのhelp macro.
contribの中にある関数などのインターフェイスになってくれるものぽい。
http://whollyweirdwyrd.blogspot.com/2009/12/writing-help-macro.html

後で、読む.

2009年12月29日火曜日

leiningen

Clojure用のビルドツール:
http://github.com/technomancy/leiningen

インストール方法
1. wget http://github.com/technomancy/leiningen/raw/stable/bin/lein
2. パスの追加、chmod +x lein
3. lein self-install

使い方
$ lein deps # 依存関係のあるもののインストール
$ lein test [TESTS] # [TESTS] nsのものか、全部のテストの実行
$ lein compile # コンパイルして、classesへ保存
$ lein repl # projectで指定されたclasspathをもとに、REPLを起動
$ lein clean # 大掃除
$ lein jar # プロジェクトのアーカイブを作成
$ lein uberjar # スタンドアローンのアーカイブを作成
$ lein pom # Maven用のpom.xmlを生成
$ lein install # ローカルリポジトリへインストール
$ lein help [TASK] # タスクのリストか、指定されたタスクのヘルプを表示
$ lein new NAME # プロジェクトの雛形を生成


プロジェクトファイルの例:


(defproject leiningen "0.5.0-SNAPSHOT"
:description "A build tool designed not to set your hair on fire."
:url "http://github.com/technomancy/leiningen"
:dependencies [[org.clojure/clojure "1.1.0-alpha-SNAPSHOT"]
[org.clojure/clojure-contrib "1.0-SNAPSHOT"]
[ant/ant-launcher "1.6.2"]
[org.apache.maven/maven-ant-tasks "2.0.10"]]
:dev-dependencies [[org.clojure/swank-clojure "1.0"]])

2009年7月5日日曜日

Programming Clojure

買ってみた。
後悔はしていない。

・・・いつ読むんだ、これ。

2009年5月5日火曜日

buildclasspath

CLASSPATHの設定がめんどくさくなったので、下のスクリプトで一括登録してみた。
出典はどこだっけかな。。。

#!/bin/sh -e
for i in `ls $HOME/opt/jars/*.jar`
do
CLASSPATH=${CLASSPATH}:${i}
done
export CLASSPATH

2009年4月19日日曜日

rlwrap

jLineは文字化けするし、よくわからんので、rlwrapに切り替え。
コードからコンパイルすると,readlineとの未定義エラーが出るんで、
macportsからインストール。

ついでに、cljで、rlwrap clojure として、キーの数も減らした

Clojure cookbook

http://en.wikibooks.org/wiki/Clojure_Programming/Examples/Cookbook

うーん、相変わらず jline がエラーを吐いてくる。
Exception in thread "main" java.lang.NoClassDefFoundError: jline/ConsoleRunner
クラスパスの指定は、Wiki通りなんだけど、なんでだろ。
セットアップファイルを用意してくれている方のも同じ現象でるし。

Ruby > Groovy?

Groovyも魅力的なんだけど、cojure, rubyと勉強しているから、
一時諦め!

ビルダーも、Nokogiri使えばできそうだし。

2009年4月1日水曜日

clojureのセットアップ方法

2009/03/20版の安定板が出てたんか。
後で、入れ替えるべー。

で、後で読む
http://mark.reid.name/sap/setting-up-clojure.html

2009年3月15日日曜日

(exit) 2

namespaceがuserで読み込まれるので、ちと注意

(exit)

.clojurercから、起動時に読み込みをしてくれるぽい。
なので、通常ではCtrl+Dで終了するのを(exit)で終わる様にしてみた。

(defn exit
"Returns to the OS by forcibly exiting the platform"
([& code] (. System exit (or code 0))))

clojure-1

http://ociweb.com/jnb/jnbMar2009.html

最近、上のページを元にclojureの勉強をしている。
理由としては、株関係のシステムをRubyで作った時に、
結構環境に対して不満が出てたから。
・並列処理が弱い
・グラフの生成がめんどい
・統計関係の処理を自分で実装しないといけない

Javaのライブラリも呼び出せるし、オブジェクト指向じゃないので、
期待している事ができるんではないかと。