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

被はてぶカウンター

http://shinh.skr.jp/koneta/#hatebuなんか、はてぶって別にコメントとかじゃなくて数くらいしか興味が無いわけです。たいていノーコメントに近いですし。数もまぁなんでもいいんですが、数の指標と言えばアクセスカウンタが一番メジャーな指標かと思います…

緑茶 1.0

http://shinh.skr.jp/chat/ryokucha/次は Comet 絵チャットを作ってみました。接続のしかたとかは紅茶とだいたい同じです。画像の表示のさせかたは Ajax 手書き文字認識 をだいたいパクってまして、要するに 3dot*3dot の span タグです。手書き文字認識の方…

variable in string literal

Ruby では #{} が ${} になる。 i@u ~/test/boo> cat lit_var.boo i = 1 print "i = ${i}" i@u ~/test/boo> booi lit_var.boo i = 1つーわけで Boo Primer はだいたい読んだ。

document

関数の説明を埋めましょう、とのこと。 i@u ~/test/boo> cat document.boo def func(): """hoge""" pass func()ちなみに、 """ の前にスペースを入れるとか、関数宣言の次の行じゃないところに置くとかはエラーになるみたい。それよりこれが。 Dick Brandon:…

duck

普段は型推論つきの静的型付け言語で、 as duck とした部分だけ Ruby とか ObejctiveC みたいな世界に突入する、と。 i@u ~/test/boo> booi duck.boo duck.boo(6,9): BCE0019: Boo.Lang.Compiler.CompilerError: 'Length' is not a member of 'System.Object…

macro

マクロは自分で C# 書いたら定義できるっぽいのが面白そうなんだけど今やるのはちょとめどい。http://boo.codehaus.org/Part+17+-+Macrosprint, assert, using, lock, debug ってのがマクロだそうだ。 print は print 、 debug は printf デバッグ用の物体の…

generator method

Fiber とか coroutine とかいうヤツ。さっきと等価なもの。 i@u ~/test/boo> cat gen_method.boo def gen(): for x in range(5): yield x*x for i in gen(): print i i@u ~/test/boo> booi gen_method.boo 0 1 4 9 16高階?ジェネレータを書いてみる。 Enume…

generator expression

i@u ~/test/boo> cat generator.boo for i in x*x for x in range(5): print i i@u ~/test/boo> booi generator.boo 0 1 4 9 16後置 for とかに見えますが、 x*x for x in range(5) が、 generator オブジェクトで、それを巡回している、と。ふむ。

foreach

コンテナから全部取り出すのは for variable in container で良い。 i@u ~/test/boo> cat foreach.boo for i in (1,2,3): print i for i in [1,2,3]: print i for i in {'a':1, 'b':2, 'c':3}: print i.Key print i.Value i@u ~/test/boo> booi foreach.boo …

reflection

なんか言語知ってる子が新しい言語環境を覚える時はさっさとリフレクションを修得すべき。 Boo というより C# のドメインなんだろうけど。というわけでさっきの res (型は IAsyncResult とからしい) のメソッド一覧。 i@u ~/test/boo> cat reflection.boo de…

BeginInvoke

BeginInvoke でスレッド作って EndInvoke で wait する。 i@u ~/test/boo> cat invoke.boo import System import System.Threading def hello(): print 'hello' Thread.Sleep(500) print 'world' res = hello.BeginInvoke() print res.IsCompleted hello.End…

詳説 AJA Chat

今頃だけど。長いしコメントでなくこっちに。http://www.machu.jp/diary/20060411.html#p01かっこいい図が!ありがとうございます。この手の図が書ける子になるとプレゼンがラクになりそうで良い。コードは腐っています例のごとく1-2日仕事ですから。試行錯…

class

コンストラクタ呼出しの記法が Class("hoge") で、 new がいらないのがいい。このへんでも書いた。 @u ~/test/boo> cat class.boo class C: [Property(Id)] _id as int def constructor(i): _id = i c = C(1) print c.Id c.Id = 2 print c.Id i@u ~/test/boo…

functions

http://boo.codehaus.org/Part+07+-+Functions組み込み関数が結構ある。無名関数がある。

containers

i@u ~/test/boo> cat container.boo l = [1,2,3] a = (1,2,3) h = {'a':1,'b':2,'c':3} print l print a print h print l[:2] print a[:2] //print h[:2] i@u ~/test/boo> booi container.boo [1, 2, 3] System.Int32[] Boo.Lang.Hash [1, 2] System.Int32[]…

雨ふったから…

compiling...

nant-0.85-rc3 を make 。途中で止まったが bootstrap とやらができれば十分ぽいので気にしない。 i@u ~/bin> cat nant #!/bin/sh exec mono ~/src/nant-0.85-rc3/bootstrap/NAnt.exe $@boo-0.7.5.2013 を nant 。 default.build をいじって optimize を tru…

loop

あと for と while と continue と break があるらしい。そういう普通なのはいいや。pass ってのが異様。 i@u ~/test/boo> cat pass.boo while false: print "end" i@u ~/test/boo> booi pass.boo pass.boo(2,1): BCE0044: Boo.Lang.Compiler.CompilerError:…

conditions

i@u ~/test/boo> cat cond.boo x = 0 if x == 1: print "x == 1" else: print "x != 1" i@u ~/test/boo> booi cond.boo x != 1 i@u ~/test/boo> cat cond.boo if x == 1: print "x == 1" else: print "x != 1" i@u ~/test/boo> booi cond.boo cond.boo(1,4):…

boo-mode.el

("\\.boo$" . python-mode)探すのめんどいから python-mode

hello.boo

i@u ~/test/boo> cat hello.boo print "hello world" print 'hello world' i@u ~/test/boo> booi hello.boo hello world hello world文字列リテラルはどっちでもいいのかなというかこれで改行入った。 i@u ~/test/boo> booc hello.boo i@u ~/test/boo> mono …

environment

基本は FC5 i@u ~/bin> cat booc #!/bin/sh exec mono /home/i/src/boo-0.7.5.2013/bin/booc.exe $@ i@u ~/bin> cat booi #!/bin/sh exec mono /home/i/src/boo-0.7.5.2013/bin/booi.exe $@ i@u ~/bin> cat booish #!/bin/sh exec mono /home/i/src/boo-0.7.…

testsprite.boo

http://shinh.skr.jp/misc/dat_dir/testsprite.booBoo がなかなか良さそうだなあと思ったので触ってみることにします。目指せ負け組脱出。とりあえず C の 55% くらいの速度は出てる感じ。 Events.KeyboardDown += def (sender, e as KeyboardEventArgs): if…

あらすじ: FC5 に apt-get したら mono が入った。

mulitpart を遅延させて送る

サーバからクライアントに何度もデータを送りたい場合、 multipart のレスポンスを少しずつきざんで送る変態テクニックがあると教えてもらいました。で、 multipart/x-mixed-replace という紙しばい用の Content-Type があることも知りました。http://suika.…

紅茶 1.1

http://shinh.skr.jp/chat/kocha/IRC とのブリッジを実装してみました。デモの項目を見て下さい。

紅茶 1.0

いろいろ飽きてきたのでとりあえず。http://shinh.skr.jp/chat/kocha/AJA Chat で得られた知見をもとにいろいろ Web チャットらしくしました。 Comet Chat なので紅茶ですたぶん。たぶん接続回りとかも色々マシになってるはずです。とりあえずこれは非常に保…

ふりがなを出す

日本で Web 系の客商売するとまずいつもなんか出てくる、「姓を入力したらふりがなが自動的に出てきて欲しい!」→「難しいよ!」っていうヤツにちょっと解決を考えてみました。http://shinh.skr.jp/chat/hurigana.html問題点としては、 OSX の WebKit 系は入…

基本的に門外漢なので既存かどうかとかよく知りません。簡単なので調べもせずに実装する方向です。昨日のは Comet と言うそうで。 Ajax Comet (シグナル|signal) とかでぐぐってもイマイチ出てこないんですがシグナル以外で実装しているのだろうか。あと chat…

AJA Chat

sayさん にたいていの AJAX は Asynchronous では無い、と教えてもらったので、真に Asynchronous なチャットを作りました。あと XML 関係無いので AJA です。http://shinh.skr.jp/chat/とりあえず上記を見ていただいてもよくわからないのですが、えーといか…

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h