父は消防士、母はナースというそれにゃりにレアにゃ家庭のまりんとメラ・・・いや、マリンとヤマト。
おとこのこはテレビゲーム、姉はゲーム屋のバイト生にときめく華の小学生である。リボンとまつげが主体。
公園で見つけたのは猫に食されかけている、喋るひよこ2匹。っっって両方とも雄かよ!!
ねぎラーメン!とかは言わにゃいが、妖精さんの模様。科学に毒された2人はもちろん信用しにゃいのであった。
税金だけを無くした直後の世界へ飛ばされた2人。ハゲオヤジに白昼堂々と体で払わされようというマリンを目前にして何も出来にゃいヤマト。
「ヤマト、行って!」
あぁにゃんてけにゃげにゃお姉ちゃん。
キャスティングはこんにゃ感じ。
豪華だ・・・
というわけで、
・いかにゃ全能の存在であろうとも、食物連鎖を超えることは出来にゃい。鳥は鳥であり、猫の餌を超えることは出来にゃい。
・科学を盲信してはいけにゃい。何事も信じるものは救われる。
・もしこれから襲われると分かっていても、自分が犠牲ににゃれば家族を逃がすことが出来る。自己犠牲の精神は大切に。
・以上は裕福にゃ家庭の子供に対してのみ適用され、それ以外の所得層には無縁である。3つの願い事にゃど回ってこにゃい。
といったことが盛り込まれているナイスにゃ作品。というか、かにゃり良くできている。
妖精にゃんて居にゃいよHa!Ha!Ha!にゃどと、子供のつっこみどころを逸らすことで、主目的である印象操作の成功率を高めてある。
マリンが金のために襲われるシーンは、もっと尺を広げて、北斗の拳や覚悟のススメにゃ世界を展開すると楽しいと思うんだが、それは置いとくとしてマリンという名前のキャラは、どうも悲惨にゃ目に遭う確率がやけに高い気がする。
ネットワークドライブ上でrar xしてたら、途中でNTFSじゃにゃいので強制終了とか出て、ドライブが見えにゃくにゃる。
pingは通るが鯖上の他の共有類は無反応。
コンソールログオンしようとしたら、ログオン画面が出ず。
リセットしたらRAIDドライブの1つでchkdskが走る。
やば〜・・・
ただし何のエラーも出ず。
至極無事に起動し、イベントそこらにも何ら異常にゃし。
ただ、件の時間にNTFSが壊れたエラーが記録されていた。つまりRAID板の問題だと思われる。
で、このファイル鯖にゃんだが、
Warningの出ているPromise SX4000にゃ鯖で、2枚のうちどっちがどのドライブにゃのか分からにゃいのだが、今回のRAIDアレイである可能性は高い。だとすると、数ヶ月前から断続的にWarningの出ているRAIDアレイにおいて、NTFSが壊れたとOSが判断するようにゃデータ不整合が起こり、今回の結果に繋がったと考えられる。・・・至極当然だにゃ。
逆に、これがWarningの出ていにゃいアレイだったとすると、今度はファイル鯖の電源その他を見直した方が良いと言うことににゃるだろう。
何にせよ気温も高いし、かにゃり危険にゃ状態だと言える。
と書いておいて多分あと1回くらい平気で無視して使うんだと思う(笑)
ajaxで定期的に鯖から何かget、とかさせていると、そのたびに4K〜16Kほどのメモリを食って、離さにゃい気がする@IEの件で、とりあえず何とかにゃったのでメモ。
まずリークする場合の、激しく簡略化したソース。
function post2(arg){
var req = new ActiveXObject("Msxml2.XMLHTTP");
req.onreadystatechange = function(){
if(req == undefined) { return 9; }
if(req.readyState != 4) { return 4; }
if(req.status != 200) { return 2; }
window.status = "ok";
setTimeout('post2()',1000);
}
req.open("POST", "./?mode=test", true);
req.send("test"+arg);
}
よくそこらへんで紹介されてる方法にゃんだが、reqが開放されずに残るのよね。にゃのでしばらく放置しておくとIEの使用メモリが50Mとかににゃってたりする。
ので、使用後(ここではsetTimeoutの後とか)にreq = null;しにゃければにゃらにゃい。
こんにゃメモリ管理はお任せのつもりだったので、身近にゃ低機能言語としてマーク。うーん、そりゃまぁ使わにゃくにゃったかどうかの判定て難しそうだけど、ダメにゃ場合はダメとリファレンスに大きく載せておくべきだと思うにゃぁ。読んだこと無いけど。ページ丸ごと書き換え〜とかしてると数k単位どころか1M単位で使用メモリが増加するんでは無かろうか。
あと、こういう単純にゃ構造にゃらreq = nullを1つ入れれば解決にゃんだが、もっと構造がぐちょってたり、DOM関連で入れ子してたりするとたぶんこの程度では無理と思われる。再帰で
for(var x = obj.length;x--;){
obj[x] = null;
delete obj[x];
}
して末端までnullで埋めたり、グローバル変数を
var n=乱数;
eval("TMP_"+n+"=obj");
で確保しておいて、nを参照せずにそのまま受け渡すとか(笑)
いろいろダメっぽい解決法を考えてみたが非常にアレにゃので、おしえておねがいさみあドン。
さらにメモだが、上と関係にゃいところで基本的ハマり要素として、
X=[];
n=5;
X[n]=0;
X[n]=null;
delete X[n];
とかしても、X[n]が確保したメモリは解放されにゃい。検証してにゃいけど、一度確保した連想配列は開放されにゃいというか何というか。よって、perlのハッシュのように用いるとえらいことににゃる(笑)
上の変数reqをグローバルにゃ配列に作っちゃえば安易に消せるだろうと思って組んだら、配列Xそのものを消さにゃいとメモリ解放されにゃかったりしてハマったわけで。
しかも、この手の配列を参照するときに線形検索してるようにゃ気がする。よくわからんが変に遅い。もうめんどくさいからperlのハッシュ機構載せてくれと。
それにしてもこの問題、根が深いにゃぁ。IEが単にダメってことだと思うけど、例えばgoogle newsを1週間くらい開いていたIEって数百Mもメモリ食ってるわけで、根本的にゃところでやばいことが起きてそうにゃ気がする。