夢とガラクタの集積場

落ちこぼれ三流エンジニアである管理人の夢想=『夢』と、潰えた夢=『ガラクタ』の集積場です。

2013-04-01から1ヶ月間の記事一覧

Clojure勉強日記(その11 3.3 ClojureでJavaのクラスを作る(Vol_2)

こんにちは。とりあえず、コンパイルができなかった問題をさらに追ってみます。この辺のページを確認したところ、原因は「Classファイルの出力先ディレクトリが存在しないから」でした。 ・・・というか、である調でブログを書くこと自体が結構厳しいことに…

Clojure勉強日記(その10 3.3 ClojureでJavaのクラスを作る(Vol_1)

ClojureのオブジェクトはJavaに対応するものがあればそのインタフェースを実装している。 Clojureのデータ構造はJavaのコレクションAPIを実装している Clojureの関数はRunnableとCallableを実装している ・・・後者は中々。このあたりやはり並列実行用の言語…

QConTokyo2013 KeyNote2 ファブラボ鎌倉の挑戦

次は「ファブラボ鎌倉の挑戦」。 1.講演内容 結論としては、 「今後ものづくりにソフトウェアとハードウェアの垣根はなくなる。 ソフトウェアでハードも作れるようになる。」15年に一度、技術が社会とであう。 パーソナルコンピュータ(1980) インターネッ…

QConTokyo2013 KeyNote1 プログラミング・スタイルと私たちの脳

こんにちは。今日はQConTokyo2013に来ています。 まずは、KeyNote1 プログラミング・スタイルと私たちの脳」から。とりあえず講演の中のメモをそのまま貼り付けたもののため、 内容的なまとまりはいまいちですし、抜けもあるとは思いますが、とりあえずとし…

Clojure勉強日記(その9 3.2 性能の最適化

こんにちは。徐々に書けることが広がってきてはいますが、まだ4分の1。 とりあえず地道に続けます。前章で述べたJavaの呼び出しで述べた方法を使ってJavaを呼ぶのがClojureでは普通。 これで基本的には十分に高速のはずだが、さらに高速化を行うことができ…

Clojure勉強日記(その8 3.1 Javaの呼び出し

こんにちは。とりあえず構文の説明が終わり、後は実際に機能をコードを書きながら確認していく形になりそうですね。ClojureコードはJavaバイトコードに直接コンパイルされ、Javaを呼び出す際に変換が挟まれることはない。 Clojureは直接JavaのAPIを活用でき…

Clojure勉強日記(その7 2.7 メタデータ

こんにちは。ついに2章も最後まで来た形になります。 とりあえず概念が大量に出てきたのにたいして書いた量がいまいち不足しているため消化不良な感もありますが・・・ まぁ、それはその先の章でも書き続けることで対処できるでしょう。では、続きです。メ…

Clojure勉強日記(その6 2.6 forループはどこにある?

というわけで、続きです。これまで見てきたが、forループがないし、直接変更可能な変数というものも登場していない。 単に、関数とインプット、アウトプットがあるだけという非常にシンプルなIPOを示すのみとなっている。・・・というのがJava辺りから入った…

Clojure勉強日記(その5 2.5 フロー制御

なんか徐々にまともなプログラムを書くためのパーツがそろってきたように思える今日この頃です。 では、続きです。Clojureではフロー制御の方式はif、do、loop/recurでほとんど賄える。 1.ifによる分岐 Clojureのifは最初の引数を評価し、それが論理的に真で…

Clojure勉強日記(その4 2.4 var、束縛、名前空間

では、続きです。オブジェクトをdefやdefnで定義するとオブジェクトは指定した名前にバインドされる。 下記の例ではuser/fooに10がバインドされる。 user=> (def foo 10) #'user/foo user=> foo 10 user=> user/foo 10 ここで束縛される場所は「var」と呼ば…

Clojure勉強日記(その3 2.2 リーダマクロ/2.3関数

こんにちは。 では、さっそく実際のコードを書いてみましょう。今回の範囲は「2.2 リーダマクロ」「2.3 関数」です。 この辺を突破すれば多少は読めるのではないかと期待しながら入ります。。。 2.2 リーダマクロ リーダマクロ≠マクロであり、 Clojure…