java

Sendai Lock

複数Webサーバ上でデータを共有する場合は DataBase を使います。 しかしある程度サーバが重くなってくると負荷対策が必要となります。 そこで登場するのがkey value型の高速なメモリキャッシュサーバであるmemcacheです。 memcacheを使えばデータベースにア…

継続可能なインタプリタ

スピードとかはぜんぜん考えてませんけど、nagasimaさんが言っていたツリーをたどる、 継続可能なインタプリタを作ってみました。 足し算しかできないけどこんな感じなのかなっと。 import java.util.Hashtable; class t{ public static void main(String ar…

JavaでXMLSchemaで検証する方法

XML Schemaを作ったのはいいけど、検証方法がどうやったら? ってことで、ググって調べてみて、@ITの記事を元にちょっと書き換えて書いてみました。http://www.atmarkit.co.jp/fjava/javatips/129java024.html J2SE6なら、何のライブラリをインストールしな…

cs2java.pl

CyanをJavaに移植するのに定型的作業はプログラムにやらせるほうが楽なので、 とネットでコンバータ探してみたのですがなかなか見つからないので作ってみました。 正規表現で作ってるだけなので適当にしかコンバートできないですが。 使い方csファイルのある…

Seaser勉強会 in 仙台

Seaserはぜんぜん触ってなかったのですが、すばらしいなと思いました。 あっちを直すとこっちに反映できたり、こっちを直すとあっちに反映できるとかすごいなと。 あと、プレゼンするときはうろうろ手を上げたり下げたりしながら話すといい感じだなと思いま…

バイナリツリー言語にフロントエンドをつけてみた。

昨日のインタプリタにGUIのフロントエンドをつけてみました。 fibが一応、動きます。他の機能はへぼへぼですけど。http://nagiesv.ddo.jp/compact/sumi/App.html

fibだとphpやrubyより速いバイナリツリー処理系

MegLevとかで使われてるバイナリツリーのベンチマークでJavaがかなり速かったりします。 ってことで、Javaでバイナリツリー言語を作れば速いんじゃなかろうか? ってことで、作ってみました。 フィボナッチ関数の計算では、phpやruby1.8.7より速い処理系が出…

の環境切り替えプログラム

netbeansの環境を切り替えて使う。とりあえず、ruby使うときと、それ以外のときの2パターンを用意して 起動時間を早める。わたすのますんは古いので、windows2000です。 でもってこの環境は遅いです。 したがって、できるだけ軽くしたい。 そういうわけで、…

のチュートリアルをやってみた(1)

よーし、2回目やりなおしてみる。 分かったのでずっと楽に出来たです。http://platform.netbeans.org/tutorials/60/nbm-google_ja.html添付ファイルをダウンロードしてくるが、読み込まない。 俺のマシンではうまく動かないから。使うのはgifファイルだけ。…

のチュートリアルをやってみた

なんというか、javaの言語作るなら、ideにも挑戦したいというのが、 俺言語開発者なら誰でも思う夢なんじゃないかと思います。 で、pythonや、jytonの開発者、jrubyの開発者がsunにフルタイムで雇用されているとかいう話もあって、 ああ、俺の言語も有名にな…

NetBeansのスプラッシュにねこび〜んアニメーションGIFを組み込む

■[NetBeans] ねこび〜んのGIFアニメ貼ってみた 11:45 ウィンドウコンポーネントに,ImageIcon付きのJLabel貼っただけなんで,あっという間にできた。 http://d.hatena.ne.jp/masanobuimai/20080314 うーん。すこし、NetBeansのソースをいじってみたくなって…

リフレクションを使ったインタプリタ

中置演算子ってオブジェクト指向ととても親和性が高いよなぁと思う、今日この頃みなさんいかがお過ごしでしょうか? Javaには名前でクラスやフィールド、メソッドなどを取得したり実行したりできるリフレクションなるAPIがあります。 そのリフレクションを使…

ねこび〜ん

http://ja.netbeans.org/nekobean/ http://blogs.sun.com/katakai/entry/nekobean_on_netbeans_newsletterこの間の東北デベロッパーズコミュニティの飲み会でNetBeansのキャラクターが出来たらしい。 今、NetBeansのIDEを開くと、ブログの内容がねこび〜ん祭…

ASMで四則演算

なんというか、とつぜんですが、asm使って四則演算してみました。 そのうち解説を書きますが、とりあえず、ソースだけ。 javac -cp .;asm-3.1.jar A.java java -cp .;asm-3.1.jar A 1+2*3なかんじで試せます。

JVMで動作するプログラミング言語を作るにはどうしたらよいのだろう?(9)

今日はshl,shr,ushrを使います。 いわゆるシフト命令です。 iconst_1 iconst_3 ishl 結果81を3回左に移動させるので、1*2*2*2=8で8になります。 bipush 16 iconst_1 ishr 結果816を1回右に移動させるので、2で割った8になります。 iconst_m1 iconst_1 ishr …

JVMで動作するプログラミング言語を作るにはどうしたらよいのだろう?(8)

add,sub,mul,div,rem,neg 今日は演算処理命令を使ってみます。negはスタックに1つの値が必要です。 それ以外は2つの値が必要です。 addが足し算、subが引き算、mulが掛け算、divが割り算、remが剰余、negがマイナスの値を取得する命令です。 まずはiaddを使…

JVMで動作するプログラミング言語を作るにはどうしたらよいのだろう?(7)

演算子順位を持ったパーサも飽きてきたので、 またJVMをいじってみます。 pop,pop2,dupを使ってみます。popはスタックの内容を捨てる命令です。以下の例では5と1をスタックに積んだ後 popで1を削除し2をスタックに積んでスタック中の5と2をiaddで足してます…

JVMで動作するプログラミング言語を作るにはどうしたらよいのだろう?(6)

東北オープンソースカンファレンスがあと2日です。 ドキドキしてきたきょうこのごろです。 結構疲れてるので日記書くのもめんどくさくなって来てますが、継続は力なりだ。 と思って、ちみちみ書いてきます。 今日はローカル変数を扱う、load,store命令を使っ…

JVMで動作するプログラミング言語を作るにはどうしたらよいのだろう?(5)

本人はいちお、asmを使って、クラスファイル生成したりしてみてます。 で、そのことをローカルで書いてたのだけど消えてショックを受けてます。前回はやる気がなかったので、今回は継続するための計画を立ててみることにしました。 (5)classファイルの構造1 …

JVMで動作するプログラミング言語を作るにはどうしたらよいのだろう?(4)

そういえば、俺言語の1つのenutsはきがついたら名前がPJになってました。 俺言語といっても俺が作った言語ではないのですが。チュートリアルを書いてみてたりします。 世間ではHaskellを実装するとか何とか言う話をしてたりして、うらやましいなぁと思った…

JVMで動作するプログラミング言語を作るにはどうしたらよいのだろう?(3)

aconst_nullはおそらく、nullをスタックマシンにpushする命令でしょう。 ってことで、nullを返す class a { String n() { return null; } } こんな、プログラムを作ってみます。 で、ディスアセンブルしてみると、 aconst_null areturn となってます。正解で…

JVMで動作するプログラミング言語を作るにはどうしたらよいのだろう?(2)

とりあえず、JVMの仕様を勉強しないといけないっぽい。 本はあるようなのだけど、今は金欠なので本かわないで何とかしてみようと思う。 まず、JVMのバイトコードの種類の一覧が欲しいと思う。 なにやらバイトコードのバイトは命令が1バイトから来ているらし…

JVMで動作するプログラミング言語を作るにはどうしたらよいのだろう?

Java上で動くプログラミング言語作るにはどうしたらいいのだろうと思って調べてみました。 まず、JVMのバイトコードを理解するにはjasperとかいうディスアセンブラでディスアセンブルする。 そしてjasminでアセンブルしてみるのが有効っぽいなぁと思って拾っ…

シンプルなXMLのパーサを作ってみました。 単独タグ、通常タグ、アトリビュート、文字列のみ対応です。 コメント、CDATAセクション、等は対応してません。 使い方は X.p = 0; // 初期化 X x = new X("<xml da=\"yo\">aiu<eo/></xml>") というかんじで。 javac -source 1.2 -target 1.1 …

ショートコーディングは意味があるぞ。

J2ME用のライブラリは小さければ小さいほどいいと思う。 なので、ショートコーディングの技で特に、バイナリサイズを小さくするってところは ビジネスに生きるじゃんと思ったのでした。 XMLのパーサが2kとかで便利って話を聞いて。。。 ん?俺もそのくらいの…

FLAGSTONE Transform SWFをいじってみる。

mixiでゲームを作ってるわけですが、無料、マルチプラットフォームな環境でゲーム作りたいという話で、D言語で作りたかったのだけど、仕事でも役に立つ言語がいいって話で、Java、Flash外いって話で作っております。 mtascは便利なんだけど、画像データや、…

FLAGSTONE

mtascだと、画像が扱えないぞー、音が扱えないぞーってことで、不便なので、適当に画像を作るツールないかと思って昔拾ってきてたFLAGSTONEってとこのライブラリをいじくりまわしてました。そのあと、普通にjava swfでgoogleで検索したらjavaswf2ってののほ…

Tapestryは初めて。Web上だと日本語のページがほとんどなくて四苦八苦する。ホントにわかりやすいのかなぁって感じ。 a.page,a.html,a.javaでMVCって感じなのだけど、 ひも付けがどうなってるんだか、わかりにくい気がした。 チュートリアルも拾ってきたのだ…

Strutsは前にもやったことがあったのだけど、どんな感じだったか詳細を忘れてしまったのでもう一度使ってみる。 nestedタグライブラリを使うと結構綺麗にJSPを書けるのが新発見。logicタグとかつかわなくていいのがうれしい。 Eclipseだと、ソース書き換える…