2009-03-01から1ヶ月間の記事一覧

クラウド対応のモデリング技術がおもしろくなるかもしれない

いま、大きいのはクラウドから小さいのはGPGPUまで、並行システムはなざかりです。 クラウドなど、並行システムが不可欠となったとき、並行システムのモデリング技法が必要になります。 でも並行システムを作るために使えるモデリング技法で、現場の技術者に…

情報系の技術者に一冊だけ読んでもらうならこの本

さて、いろんな本を取り上げたのだけど、かなり広い範囲を取り上げたので、それぞれそれなりに高い本だし、読む時間もないし、そもそもどこから手をつけていいやら、とか思った人も多いんじゃないだろうか。 今回取り上げたような内容を、1冊にまとめたよう…

OCamlでクイックソート

let rec quick_sort lst = let rec filter f n lst = match lst with [] -> [] | first :: rest -> if f first n then first :: filter f n rest else filter f n rest in match lst with [] -> [] | first :: rest -> quick_sort (filter (<) first rest) @…

Hadoopの一時ファイルの設定

Hadoopで一時ファイルの設定は、conf/hadoop-site.xmlでhadoop.tmp.dirの記述をすればいい。 注意しないといけないのは、ここで指定するのは、Windowsの場合はCygwinのパスではなくWindowsのパスということだ。 また、そうすると、JobTrackerのシステムフォ…

プログラムを動かす環境の本

プログラムをどう動かすというか、どうやって命令を発行するかという本を挙げて、プログラムをどう書くかという本もあげた。 これで、Seasarカンファレンスでの話での本の紹介は終わりなのだけど、ブログのエントリとしては、どうやって実際にプログラムが動…

SICPの価値

SICPをプログラミングの本だとして批判したら、そうじゃねーだろという反応が多く帰ってきた。 いまSICPを読むのは時間の無駄 じゃあ、SICPはどういう本か。 LISPを使って仮想マシンを作って、LISPコンパイラを作って実行させて、プログラムがどのように動く…

いまSICPを読むのは時間の無駄

SICPは、よい内容について書かれた本であり、最良の本だった時期もあった。 けれども、今となっては、理解が難しく内容の割には時間がかかる、時間の無駄ともいえる本といってもいいかもしれない。 もちろん、Schemeの可能性、数値計算、プログラミング、コ…

「xxxをblogに書くのはやめてくれ」などとblogに書くのはやめてくれ。

間違った情報をblogに書くのはやめてくれという趣旨なのだろうだけど、「正しい情報しか書いてはいけない」のだとしたらblogなど書けないし、「blogに書くのはやめてくれ」などといってる人も正しい情報だけを書いているわけではない。せめて、過去指摘され…

プログラムの書き方の本

今回は、プログラムの書き方の本。プログラムの宣言的な側面を扱うための本とでも言うか。id:t_yanoおまたせ。 ただ、こっち側はほんとに勉強を始めたばっかりなので、ちょっと目を通しただけで読んでない本もばかりだし、自分でもちゃんとわかってない部分…

プログラムの動かし方の本

Seasarカンファレンスで、基礎としてプログラムの動かし方であげた本。と、それに加えて挙げれなかった本。 ちなみにSeasarカンファレンスでの内容はid:tanamonがまとめてくれてる。というか、手書きスライドの書き起こしをしてもらってます。 「手書きで書…

プログラマの教育のための本

Seasarカンファレンスで「プログラムが組めるようになるためには何を教えればいいですか?」と聞かれて、「創るJava」も絶版だし、どうしようかと思いつつ、「教える」というときに考えないといけないことが書いてある本を紹介しますね、と言ったので、その…

観光客のように数学や物理を勉強する

最近いろんなことを中途半端に勉強して思うのは、なんだか観光客のようだなぁということだ。 現実的な問題として、専門家=その土地の住民にはなれない。 勉強するにしても、その分野の雰囲気を味わうことができるくらいで、まさしく観光のようだ。 そしてそ…

なにをやってるかというと

たとえるなら「HTTP通信のRFCの解説書を読んだのでHTTP通信するプログラム書いてみた」という程度のことです。

「クラスとは何かを集合論から考えなおす」を集合論から考えなおす

「クラスとは何かを集合論から考えなおす」について、素朴集合論から考えると混乱するとかZFCっぽくないのは意味がないとかいう指摘を受けたので、ちゃんと考えられるように準備をしてみる。 今回は準備だけ。そして続きがあるかどうかはわからない。 さて、…

ソフトウェア工学、ソフトウェア理学、ソフトウェア人文学

ソフトウェアには、3つの側面があると思う。 どういう切り口で3つの側面を取り出してもいいのだけど、とにかく3つの側面がある。 最近は、工学・理学・人文学の側面として考えるようになってきた。 たとえば、論理学などからプログラムの表現を考えていく…

クラスとは何かを集合論から考えなおす

いま論理学とか集合論とかを勉強してるので、クラスって何かという話のときも集合論として考えてた。 なので、そのとき考えたことをまとめておく。 まず、「なにか」があるとする。「なにか」はなんでもいい。 そして、その「なにか」の集合を考える。たとえ…

クラスとjava.lang.Classとクラス型と

id:SiroKuroさんところで、クラスに関する用語についていろいろ議論があって、なんとなくこういうイメージをもった。 クラスをあらわすいろんな用語があるのだけど、それぞれは「クラス」という抽象概念があって、たとえば「Javaオブジェクト」として光をあ…

Twitterのアーキテクチャと遅延のしくみを考えてみる

今日もTwitterは遅延してたんで、その遅延が起こるようなTwitterのアーキテクチャを考えてみるよ。Twitterの不具合から考えてみただけで、完全に想像であって、実際になにかの資料に基づいたりはしてないので、念のため。 まず、サーバー構成はこんな感じ。 …

人は神ではないことの証明

練習として、ブクマコメントにあった「人は死ぬ。神は死なない。故に人は神ではない。」の証明。 P・・・人 Q・・・神 R・・・死ぬ とすると、この命題は ( (P⊃R)∧(Q⊃¬R) )⊃(P⊃¬Q) と表せる。 記号は ⊃・・・ならば ¬・・・ではない ∧・・・かつ と読む。 と…

トマトが野菜であるなら、トマトサラダは野菜サラダである、の証明

Fx・・・xはトマトである Gx・・・xは野菜である Hxy・・・xはyで作られたサラダである から、トマトサラダは野菜サラダである、は ∀x(∃y(Hxy∧Fy)⊃∃y(Hxy∧Gy)) となる よって、トマトが野菜であるならトマトサラダは野菜サラダである、は ∀x(Fx⊃Gx)⊃∀x(∃y(Hx…