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

TCPSocketがガベコレされるとTCP接続がcloseされるのかの件

なぜこんなことを調べているのかの発端はhttp://d.hatena.ne.jp/komamitsu/20090422/1240413644.http://www.ruby-lang.org/ja/man/html/trap_IO.htmlとかをみると、IOクラスではGC時にファイルをクローズしてくれているらしい(まぁGCまかせはイクナイと思う…

Mathematicaの中の人がすごい

先日、国内で随一のMathematicaの偉い人とお話しする機会があって、ぼんやりとMathematicaに興味をもっていたのですが、マセマティカを作った男 − @IT自分戦略研究所をみると作者自身すごいなぁ、と。Mathematica生みの親による新検索エンジン、5月に一般公…

TCP close()だけに着目してmemcache-clientを覗いてみる

/usr/lib/ruby/gems/1.8/gems/memcache-client-1.7.2/lib/memcache.rbで「:vimgrep /^\s*\(class\|module\)\s/ % | cw」と打ってやると… 1 memcache.rb|31 col 1| class MemCache 2 memcache.rb|920 col 1| class Server 3 memcache.rb|1073 col 1| class Me…

DestructorはないけどFinalizerはあった件

http://d.hatena.ne.jp/komamitsu/20090422/1240413644でコードの違いからするとガベコレのタイミングでTCP close()しているようにも思えるけど、Rubyではデストラクタがないからなぁ… どうやってるんだろう?って書いたのだけど、そこ「ガベコレのタイミン…

スタンド・プレーから生じるチーム・ワーク

攻殻機動隊でたま〜に思い出すのが「我々の間にはチームプレーなどという都合のよい言い訳は存在せん。あるとすれば、スタンドプレーから生じるチームワークだけだ。」という荒巻課長の台詞。様々な一流の職能を持つメンバー達が自分自身の能力を発揮しつつ…

ダウが強いなぁ

モルガンスタンレーが時価会計凍結してもこの数字だというのに、上がりっぱなしだ… フレディマックCFOの件もおかまいなしかいな、という。

memcache-clientライブラリ使用時に気になったこと

こんなコードを書いて接続数を増やそうとすると40接続あたりで一気に全ての接続が切れてしまう。 require 'rubygems' require 'memcache' 1.upto(100) do c = MemCache.new 'localhost:11211' c.stats sleep 0.3 end sleep 200 tcpdumpで眺めていたらmemcach…

ちょこっとcode reading

ここまでのあらすじ稼働中のmemcachedでときどき反応がなくなることがあったので、ちょっとstatsの結果を見てみたところ、そのmemcachedだけconnection_structuresの値が異常に多かった。で、connection_structuresってどういう風に増えていくのか、Web上に…

今更ながら拡張ライブラリを書いてみる

ふと気がついたら、Rubyのinstance_evalとmodule_evalの違いや、defとdefine_methodの違いとかを忘れていてショックだったので、気合を入れ直そうとRubyの拡張ライブラリを書いてみることに。せっかくCなので、RBasic構造体のflagsにアクセスしてみようと思…

debian系で、とある実行ファイルのコードを読みたくなったら

まず、その実行ファイルを含むパッケージを調べて… $ dpkg -S /bin/chmod coreutilsちなみにRedhat系であれば $ rpm -qf /usr/bin/mutt で、そのパッケージのソースコードを取得する。 $ apt-get source coreutils

ネイティブコード以外の実行ファイルに対してsetuidが効かない件

ネットワークセキュリティHacks―プロが使うテクニック&ツール100選を読むまですっかり忘れていた。Cを使ういい機会なのでやってみる。TCPの321番ポートを開くだけのプログラム。まずはC. #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #define ERROR(x</arpa/inet.h></netinet/in.h></sys/socket.h></stdlib.h></stdio.h>…

よくあるケース

練習がてら自鯖(FreeBSD)にXOOPS Cubeを入れてみよう そもそもPHP5が入ってなかったので入れる XOOPS Cubeインストール FreeBSDのPortsだとphp5-mbstringは別途要インストールだった… FreeBSDのPortsだとphp5-sessionは別途… XOOPS Cubeウゴイター そういえ…

肯定の先読みアサーション

JavaScriptのString.replace()で、肯定先読みアサーションが使えることに今更気がついた。ちょっと助かる。先読みの方は否定も使えた。ただし後読みのほうは使えないみたい。「SyntaxError: invalid quantifier ?とりあえず先読みが使えると何とかできるので…

レンタルサーバー「ヘテムル」のエイプリルフール用トップページ

経由で。とっぷぺーじ。無駄に凝っていて良いなぁ、素敵だ。