2007-01-01から1年間の記事一覧

Ruby1.9

を入れました。 今回から YARV が入ってかなり高速になっているらしいです。 さっそく、リバーシ(オセロ)を試してみました。 def test() start = Time.now player_b = MinMaxPlayer.new(:black, 3) player_w = MinMaxPlayer2.new(:white, 3) play(player_b…

Firefox3 Beta2

を入れました。 体感できるぐらい速くなってますね。

blancoSqlFormatter

いがぴょん(伊賀敏樹)さんが@ITに記事を書いています。 http://www.atmarkit.co.jp/fjava/special/blanco/blanco_1.html 記事の最後に少し、私がたずさわったblancoSqlFormatterの記述があります。 ちょっと、うれしいです。(*^_^*) ただ、 意外だと…

年の瀬

あっという間に12月が終わったなぁ〜。 明日、仕事納めです。 今年は忘年会が5回もありました。明日が最後の5つめ。 今年は多いです。平年は2個程度なんですけどね〜。

風邪ひいた。

のどだけ痛い。(>_<) それ以外は平気。

Javaで関数型言語のcase式みたいに書く

JavaやCなど構造化プログラミングやオブジェクト指向などは、if文や case文(switch文)は値を持ちません。関数型言語ではそれ自体が値を持ち、なれるとこれが結構便利です。 Javaでもif式は3項演算子で同じようなことができますが、case式っぽいことも書ける…

ざとういち

1.座頭位置 2.座頭壱 3.座頭一 4.座頭市答えはCtrl+Aを押してください。 答:4.座頭市

[igapyon]C から Java, C から C#.NET

http://www.igapyon.jp/igapyon/diary/2007/ig071213.html う〜む、難しいなぁ〜。 C から Javaについて3パターン考えました。 JavaVMで動かす。 C言語用のライブラリは必須。それをすべてJavaで作る! メモリ空間を自分で用意してやって、class MemorySpac…

JRubyでマンデルブロート集合

JRubyを使えば、Javaの豊富なライブラリを使うことができます。 とりあえず、マンデルブロート集合を書いてみました。 RubyなのにJavaのJFrameやGraphicsを使っています。 チョット遅いです。40秒ぐらいかかります。 require 'java' import java.awt.Color…

JRuby

をインストールしました。 とりあえず、リバーシ(オセロ)が動くかどうか確認。 同じように動きました。当たり前だけど流石です。 速度も同じぐらいです。

Ruby でリバーシ(オセロ)

昨日、Min-Max法で戦うプレイヤを作りましたが、評価関数を変えたらもっと強くなるんじゃないか?と思い、もう少しマシな評価関数にしてみました。 評価関数はココを参考にさせてもらいました。http://hitsujiai.blog48.fc2.com/blog-entry-26.html 昨日のMi…

Rubyでリバーシ(オセロ)

MinMax法で考える人工知能のプレイヤを作りました。 今まで Scheme や Haskell では作れなかったのですが、やっと作れました。 マシンスペックにもよりますが、3手先読みぐらいが妥当でしょう。4手はかなり遅いです。 require "Reversi" require "ReversiA…

ルービック・リベンジ

衝動買いしてしまいました。 3×3は持っていて、昔よく遊んでいたのですが、4×4は初めてです。 4×4って、丁寧にまわさないと外れてしまいそう。ちょっとコワイです。 とりあえず、自力で解いてみようと思ったのですが、1面と1段を解いたところで困っ…

Rubyでリバーシ(オセロ)

Rubyでリバーシを作ってみました。(Reversi.rb) まずは、リバーシのルールを実装し、同一マシンで人vs人ができます。 =begin Reversi Haskellの習得のため、Schemeで書かれたリバーシ(オセロ)をHaskellに移植してみる。 Rubyの習得のため、Haskellで書かれ…

かぐや

「かぐや」の試験機の映像です。すげー http://www.itmedia.co.jp/news/articles/0712/05/news072.html

行列のできるプログラマ

画像をA4用紙にピッタリ合うように拡大/縮小して印刷したいのだけれど、最近の.NETはGraphicオブジェクトにアフィン変換が使えるようになったらしいです。 数学得意だし、Java2Dで経験済みなので楽勝♪ MFCの頃は、SetWindowPos()/SetWindowExt()/SetViewport…

質量保存の理解不十分

http://headlines.yahoo.co.jp/hl?a=20071127-00000101-jij-soci 質量は保存しないですよ。 原子爆弾がそうだし、核反応だけではなく化学反応でも減ります。 発生するエネルギーに等価な質量なので、ものすごく少ないですが(E=mc2)。 中3のときに夏休みの自…

葱姫

葱姫を描いてみた。 むずかしい・・・。

Ruby

最大公約数とか、階乗とか、フィボナッチ数を書きました。 特に素数が自分でもお気に入りです。添え字を使ってないし、アルゴリズムどおりにプログラムできました。(添削歓迎) # 最大公約数(ユークリッドの互除法) def gcd(x, y) if x == y x elsif x > …

ガンダム00

「ガンダム00(ダブルオー)」 というと、「79(セブンティナイン)」と続きたくなる。そして・・・ 「地球からもっとも遠い宇宙都市サイド3はジオン公国を名乗り、地球連邦政府に独立戦争を挑んできた。この1カ月余りの戦いで、ジオン公国と連邦軍は、…

本屋

本を買いました。 ガウディ本、メチャクチャ分厚いです! 900ページ! 魔術師本が400ページなので倍以上です。

Ruby

ピッケル本を読んだけれど、まだほとんどプログラムは作ってません。 私のRubyの実力は「数行程度のプログラムが書けるぐらい」です。 しばらくはRubyで遊んで、数百、数千行ぐらいは書けるようになります。 ファイルの中身を表示する処理です(unixのcat)。 …

ぶらんこSQLふぉーまったぁ

SQLを整形するために、SQLの字句解析を行っているのですが、バグがありました。 ぶっちぎった字句を後でつなげて元に戻せるようにしているのですが、空白のちぎり方が間違ってました。後でつないでも元に戻りません。どうやら私が作った初版から間違ってまし…

VerticalViewer

独自のクラスローダにバグがありました。 前回もあったのだけれど、その修正にミスがあった。 http://www.hcn.zaq.ne.jp/no-ji/VerticalViewer20071108.lzh

Ruby

Rubyのピッケル本(言語編)を一応読みました。 3つ驚いた点があります。 1つは、文字列だけではなく、5とか3の整数も、trueやnilなどの値もオブジェクトになっていることです。 C++やC#、Javaはオブジェクトと基本型が融合した不純な(ハイブリッドな)オブ…

Ruby

ピッケル本読みました。 つづく

VerticalViewer

MySQL5に接続するとき、不具合が見つかったので修正しました。 数少ないユーザ(#2:okeさん)からの不具合報告です。 原因は、独自のClassLoaderによりJDBCドライバからクラスをロードしているのですが、JDBCドライバに含まれているリソース(LocalizedErrorMe…

ポアンカレ予想

NHKの特集を見ました。 私はいちおう物理専門、特に数理物理だったので、彼が数学+物理にも詳しいことに親近感を持ちます。 位相の問題に幾何学的アプローチで解いていったのがスゴイ。 これって位相を幾何学で解いたわけだから、両者を結ぶ新しい学問分野…

SqlFormatter

SQL整形で、オラクルの外部結合演算子"(+)"に対応しました。以下のように整形されます。 オラクル固有のコードを書くのは気が引けたのですが、「"(+)"の組み合わせだけに限れば、他のDBでもこれが害となることはないだろう」という判断です。 select a.…

選択した範囲のSQLを1行にする。

今のプロジェクトって、SQLをソースに直書きするので、SQL整形を行った後、1行に戻す処理が欲しかったので作りました。 選択した範囲を1行にするので、全選択すればすべてを1行にするし、 気になる部分だけを選択すればそこだけ1行にしてくれます。結構…