2007年 01月 06日

svn svk リポジトリ構成

作り直すにあたりリポジトリ構成で困った。前もって trunk branches tags は作っておくべきだ……

svk を使うとバージョン文字列にリビジョン番号が使えない。ので日付と時刻にしてみよう。

Ruby/Cocoa の変更

メソッドの引数の間にシンボルおく方法が使えなくなるのが微妙にアレだなぁ。キモイのはキモイんだけどコードの意味がわかりにくくなるんだよなぁ……メソッド名の途中で改行はできないから、クソながいやつはクソながく書かないといけない

コピペこぴぺ

http://lab.lowreal.net/trac/browser/CSS%20Bullets/trunk (移動)
UDP だけ使うようにするとやたらシンプルだなぁ。ただこれでちゃんとうまく動くかまだわからない。

  • ポート番号

svk push するときは --verbatim 使おう。。

UDP がとどかない

OK

  • Windows -> Mac (via Hamachi)
  • Windows (Parallels) -> Mac (via Hamachi)
  • Windows (Parallels) -> Windows (via Hamachi)
  • Windows -> Windows (Parallels) (via Hamachi)
  • ubuntu -> Windows
  • Windows -> ubuntu
  • Windows -> ubuntu (via Hamachi)
  • Windows (Parallels) -> ubuntu (via Hamachi)

NG

  • Mac -> Windows (via Hamachi)
  • Mac -> Windows (Parallels) (via Hamachi)
  • Mac -> ubuntu (via Hamachi)
  • ubuntu -> Mac (via Hamachi)
  • ubuntu -> Windows (via Hamachi)
  • ubuntu -> Windows (Parallels) (via Hamachi)

Mac と ubuntu からの送信がうまくいってないのかな

svk revision

svk info //mirror/hogehoge

でミラーリポジトリ指定してあげると Mirrored From からリビジョン番号がとれるっぽい。どういう番号なのかわからないけど

gerry++

なんで突然 gerry が頻発するようになったんだろう

ハライター的には汚いトイレが多いJRの駅(多い気がするだけ?)はできるだけ利用したくない。ショッカーめ

2007年 01月 05日

parallels UDP

どうも paralles とホスト間で RingServer が見つけられない。

Hamachi を入れて試してみたけどだめっぽい。でも他の Windows 機を RingServer にすると paralles 内からも発見できる。

#<Errno::EBADF: Bad file descriptor - connect(2)> (DRb::DRbConnError)

とかでてるからそもそもなんかおかしいみたいだ

One click installer でインストールしなおしたら上のエラーはでなくなった。
しかし相変わらず RingNotFound。ホストコンピュータじゃなければ接続できるっぽいんだけどなぁ

やっぱり DNS でした。少し前の secondlife さんのアレと全く同じハマりをしてた

オートリロードってだけなら、RingServer と TuplseSpace とか使わないで、UDP パケットなげっぱなしでリレーするだけでもいいかも? これなら逆方向から接続しなおすとかないからホスト名ひくとかいらない、よなぁ。 リクエストのシーケンス番号つけて一回着たのは無視するようにしとかないと無限ループする予感でこわい。

Rake って便利だなぁとおもった瞬間

require 'rake'
require 'rake/packagetask'

Rake::PackageTask.new('PackageBaseName', VERSION) do |pkg|
	pkg.need_zip = true
	pkg.package_files.include('plugins/*', TARGET, RESOURCES, 'README*')
end

rake test 実行するのもいいけど、パッケージングもたのしい

Socket プログラミング

ほとんどわからない。(recv(4096)) とかやるけど4096以上きたときってどうなるんだろう。送信側とあらかじめ決めておくのかな

Socket プログラミング

とりあえず最小構成書いてみないとね!!! っていうかいまさら Socket プログラミングかよ遅くねpgrとか言われそう。

require 'socket'

@s = UDPSocket.new
@s.bind('', 9989)
p @s

loop do
	p @s.recv(1014)
end

require 'socket'

['<broadcast>', 'localhost'].each do |host|
	p host
	@s = UDPSocket.open
	begin
                # ないと permission error
		@s.setsockopt(Socket::SOL_SOCKET, Socket::SO_BROADCAST, true)
		p @s.send('aaa', 0, host, 9989)
	ensure
		@s.close
	end
end

送るだけ送る。"aaa" が二回表示される。