そろそろ使っても大丈夫そうだろうか やばそうなバグもだいぶ取れてるっぽいし(メモリリークとか) 0.6系のアップデートが12月までだしなぁ 起動管理ツールでforeverが使えないとやっぱきついなぁと思っていたのだが 最近qilinもよさそうに感じてる
↓の記事を読んで自分なりに解釈 https://github.com/felixge/faster-than-c こんなかんじで最適化してるのか。DSLでソースコードジェネレートすればこういうのもありだな。オブジェクトを初期化時に項目を設定することが最適化につながるようだ -- 最適化前 …
自分はあまりプログラム言語にこだわりがなくて いろんな言語をつまみ食いするのが好きで 邪道なことばかりやってる C言語のマクロでパスカル書いたり(昔怒られた) C言語のマクロとキャスト使ってOOやったり javaにプリプロセッサ使ってマクロ適用させたり…
テンプレートエンジンいまだにgenshi使ってるけど djangoのほうがよいのだろうか。 外部DSLのコード生成に何使うか再検討してるので。。。 あとでコード書いて試してみよう #ぱいそんは俺俺ツールとクローラ以外作ったことないからあまりモジュール詳しくな…
nodejsで大量のオブジェクトを管理する方法 WEB系のPHPerの人は意外にしらないようなので普通のサーバーアプリケーションのリソース管理方法を記載してみる 下のようにシングルトンのマネージャを作成しマネージャ経由でオブジェクトを生成する 削除もマネー…
いつの間に出てた そのうち試してみよう http://download.cyanogenmod.com/?device=maguro&type=nightly ↑のリンクはgaraxy nexus用 M1とついてるのが一応動くバージョンらしい それ以外は単なるデイリービルド
freebsdのvirtioドライバはぐぐってみつけたのだけど http://people.freebsd.org/~kuriyama/virtio/ shellからpkg_addコマンドでインストールしても再起動すると元に戻るようだ どうにかして入れられないものだろか
というか オブジェクト指向言語でオブジェクト指向じゃないものが だいたい関数型パラダイムなんだなぁ C言語のマクロとかで関数合成みたいのやってたし ファイバーとかマイクロスレッドとかの継続はモナドの一種だし デザインパターンはモナドだし オブジェ…
node.js触ってて職業プログラマが仕事で触るにはまだ早いかもなぁと思ってしまう。 以下の2つを何かの言語で習得してないならnode.jsはきついと思う リアルタイムプログラミング ネットワークプログラミング オンラインゲームを支える技術を読んで理解でき…
UBUNTU12.04の場合 ・grub kernelパラメータの設定 IOMMUを使えるようにする /etc/default/grub GRUB_CMDLINE_LINUX="amd_iommu=on iommu=on,pt,noaperture pass-through" ・kvm /etc/modprobe.d/kvm.conf options kvm allow_unsafe_assigned_interrupts=1 …
esxiのデスクトップ仮想化がうまくいかなかったのでKVMで。 (XENからの移行なのでXENとあまりやり方かわらない) CPU AMD-FX 8120 MEM16G MOTHER ASROCK990FX EXTREME4 RADEON 4350 RADEON 6570 ・あきらめ PCIデバイスのパススルーとマザボのオンボードSAT…
1.daemon化 foreverを使うのがよいが0.8~しかサポートしなくなった 0.6系を使うならstart-stop-daemonを使う https://github.com/jiem/start-stop-daemon これで以下のコマンドで制御できる node --expose_gc ./daemon.js start node --expose_gc ./daemo…
今年はesxiのデスクトップ仮想化 CPU AMD-FX 8120 MEM16G MOTHER ASROCK990FX EXTREME4 RADEON 4350 RADEON 6570 躓いたことリスト ・イーサネット broadcomのドライバがインストールcdになかったので落としてきてCD再構成 http://www.vladan.fr/esxi-custom…
なんかブラウザの常識と違う気がする v0.8.4で測定 オブジェクト生成 var x = null; for(var i=0;i<100000000;++i){ x = new Object(); } real 0m2.619s user 0m2.573s sys 0m0.005s var x = null; for(var i=0;i<100000000;++i){ x = {}; } real 0m0.419s u…
ハッシュテーブルとして使った場合遅くて使えない・・・ 削除しなければいいのだけど削除が入ると死ぬほど遅くなる var x = {}; for(var i=0;i<1000000;++i){ x[i] = 0; if(i%10000 === 0){ console.log(i); } } for(var i=0;i<1000000;++i){ delete x[i]; i…
haskellはじめました maybeはともかくモナドが手ごわい なつやすみの宿題だなぁ
よくメモリリークしてるとか言われているがどういうときに起こるか そもそもnode.jsのガベコレは他のガベコレと同じようにリアルタイムアプリケーション作る場合によくやるフレーム毎にGC処理をコールしてやる必要がある(UNITY,AS3など) これをやらないと…
今回の御題はasyncblock fiberで実装されたI/O処理同期化モジュール コレを使ってSQL処理に特化したnode-seqに似たようなことをやってみた 前回の記事の3番の実装例っす https://github.com/scriby/asyncblock var q = new Query(mysqlconn); q .begin() .qu…
mysqlのモジュールで普通に組むといろいろな問題に直面する ・1.1アクセス1コネクションだとあっというまにmysqlの接続上限に達する ・2.コネクションプールしてコネクションをユーザー間で使いまわすとトランザクションが使えなくなる ・3.クエリー…
はてブをさらしておく http://b.hatena.ne.jp/you21979/node.js/ http://b.hatena.ne.jp/you21979/node.js/module/
websocketでググルとsocket.ioばかりヒットするがブラウザの対応がまちまちなことによる一過性の技術だとおもうので使わない方針 WorlizeのwebsocketがActionScript3版のライブラリも用意しててブラウザ使わないならよさそう https://github.com/Worlize/Web…
こんなことしてもいいのだろうか script.js var Fiber = require('fibers'); (function(){ var check = (function(){ var i = 0; return Fiber.prototype.run.bind(Fiber(function() { // なんかする while (true) { // 完了するまで待つ if(i>=10000){ brea…