[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/24 12:05 / Filesize : 170 KB / Number-of Response : 736
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【node.js】サーバサイドjavascript【Rhino】



1 名前:デフォルトの名無しさん mailto:sage [2011/07/08(金) 10:12:15.70 ]
pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。

javascriptはrubyと比較してもかなり速い
shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=yarv

Rhino - JVM上で実行できる処理系
https://developer.mozilla.org/ja/Rhino

node.js - googleが開発したV8エンジン上で実行できる処理系
nodejs.org/

448 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 23:52:05.30 ]
libmysqlでも用意している機能が、パラメータで指定して使えないのか。
sslってwebサーバーのssl専用ポートならコマンドラインでは、
www.atmarkit.co.jp/fsecurity/rensai/iprotect01/iprotect02.html
co-akuma.directorz.jp/blog/2010/10/openssl%E3%81%A7ssl%E3%81%AE%E6%A7%98%E5%AD%90%E3%82%92%E8%A6%8B%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86%EF%BC%81/
こんな感じで通せる。
mysqlサーバーがネゴシエーションの一番はじめで判別しているなら、
アドホックに対応できるだろうが、仕様は分からない。

449 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 00:50:00.14 ]
mysql client の c api使ってるので、そのまま定数使えるみたいだよ。

https://github.com/felixge/node-mysql/blob/master/lib/client.js
var flags = Client.defaultFlags |constants.CLIENT_SSL;

https://github.com/felixge/node-mysql
var client = mysql.createClient({ user: 'root', password: 'root', flags: flags, });


450 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 03:57:16.78 ]
と言う事はflagsを指定してCAなんかのファイルはmy.cnfに設定すればいけるんかなー
とりあえずそんな感じでやってみるです
サンクス!


451 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 20:26:44.30 ]
node0.7からマルチスレッドでマルチループが出来る、
isolatesが使えるようになったぞ。

452 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 21:23:20.35 ]
[nodejs] Node v0.7.0
groups.google.com/group/nodejs/browse_thread/thread/22db2d4e2711911d
2012.01.16, Version 0.7.0 (unstable)
* Upgrade V8 to 3.8.6
* Use GYP build system on unix (Ben Noordhuis)
* Experimenetal isolates support (Ben Noordhuis)
* Improvements to Cluster API (Andreas Madsen)
* Use isolates for internal debugger (Fedor Indutny)

453 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 21:32:55.40 ]
>>452
おお、WAFじゃなくてGYPになったのか

454 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 00:19:53.69 ]
ビルドにPythonいらなくなるのか、
と思ったけどGYPもPython製だったでござるの巻。

455 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 18:22:38.12 ]
node.jsの分割って出来ますか?
うまく説明できないのですが、例えば、サイトにチャットやゲームを追加したいときに
PHPだとchat.phpやgame.phpを作ってアップロードすればいいだけですが
node.jsでも後からchat.jsとgame.jsをアップロードするだけで反映させることって出来ますか?

456 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 21:35:04.42 ]
>>455
一応可能といえば可能。
ただPHPと違ってnodeの場合実行する必要がある。

やるとすればnodeで特定ディレクトリ以下を監視しておいて
変更があればよみに行ってアップされた物を実行するだけ。




457 名前:455 mailto:sage [2012/01/21(土) 22:23:18.95 ]
>>455の続きです
リクエストを受け取ってレスポンスを返すだけのindex.jsがあります
現状だと、下記の処理を行う際にBのファイルのプログラムを実行させられなくて
追加したいプログラムをindex.jsに書き足しています
@リクエストを受ける
A該当するファイルを呼び出す
Bファイルがnode.jsならファイル内のプログラムを実行 <= この部分を何とかしたい
C結果をレスポンスで返す

458 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 23:11:24.46 ]
cgiとして呼び出すとか

459 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 03:41:03.90 ]
node.jsよく知らんが不便なんだな

460 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 04:59:01.74 ]
javascriptだ死ね

461 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 19:01:13.32 ]
>>390
ppaに0.6.8来てたわはー
しかしバックポート何だそれ旨いのタコスなのみたいなかんじでワロタ…


ワロタ…

462 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:17:49.28 ]
Node.jsってhashdosに対する防御法ってあるの?


463 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 08:21:08.70 ]
V8は対策済みじゃなかったっけ?

464 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 09:12:08.87 ]
blog.nodejs.org/2012/01/19/node-v0-6-8/

2012.01.19, Version 0.6.8 (stable)

・ Numeric key hash collision fix for V8 (Erik Corry, Fedor Indutny)

465 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 09:15:13.64 ]
昨年末に対策してたんじゃなかったかな。
だから年明けリリースの0.6.7あたりからが対策済みだったりするのかも
(どこから対策済みかわからん)


466 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 09:16:33.85 ]
更新しておけばよかったorz



467 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:14:42.06 ]
>>457
express前提で。
urlとのマッピングまではやってないけど、
適当にもにょれば適当になる。
-----
/routes/boardIndex.js
-----
exports.boardIndex = function(req, res, next){
//hogehoge
}
-----
app.js
-----
var fs = require('fs');
var routes = fs.readdirSync('./routes/');
var routesToken;

for (var i = 0; i < routes.length; i ++) {
routesToken = routes[i].split('.');
exports[routesToken[0]] = require('./routes/' + routes[i])[routesToken[0]];
}

app.get('/:boardUrlName([a-z]+)/', route.boardIndex);
-----
で/routes/boardIndex.jsが呼ばれる的な。

468 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 02:03:48.28 ]
あと本番環境では普通動かさないだろうけど、
ファイル更新を検知して自動でサーバ再起動してくれるツールもある。

npm install superviser

して

superviser app.js


469 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 06:30:50.75 ]
>>461, >>464
ppa 0.6.9-2 に更新確認。一週間でマイナーバージョンが1
上がって行ってるかんじだな…

470 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 07:49:13.21 ]
V8がDartに対応したら、nodeもDartで書けるようになるのかな?

471 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 10:30:34.58 ]
V8はJavaScript実行エンジンなんだから、Dart用の実行エンジンが別にChromeに載るのでは

472 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 15:29:23.37 ]
Dartコンパイルして突っ込んでみたけど
バックエンドでV8使ってたよ
結局V8方言ってことじゃないのかな、型付きの

473 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 18:19:12.08 ]
node.jsをC++に翻訳して動かしたらもっと早くなるの?
そういうの無理なん?

474 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 18:20:25.02 ]
よく考えたらv8使ってるんだから
元のコードはC++で書かれててjs側で呼び出してるってことか?
そこまで単純じゃない?v8自体のエンジンもカスタマイズしてるのかな?

475 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 20:35:34.50 ]
基本はそんな感じ
まぁソースは公開されてるから読んでこれば良い

v8のカスタマイズは普通せんだろ
カスタマイズしたらv8のアプデ時にめんどくさい事になる


476 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 22:43:46.08 ]
極端な例、素数判定にエラトステネスの篩をJSで書いてたとして
そこをC++で置き換えて返すと書くと約10倍速くなる
でもnodeなんて使ってる時点で、ボトルネックはネットワークの方にあるのがほとんどで
頑張って報われるかというと微妙 (Googleみたいに大規模+高負荷だと報われる)

C++得意だから、nodeはあくまでインターフェースに徹するっていうのは方向性としてアリ
公式の拡張サンプル良く出来てるから、一度拡張書いてみるといいよ



477 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 01:02:20.28 ]
nodeという名前からして、
CPUヘヴィーな処理は別の言語に任せて、
糊に徹しろよ、的な趣は感じる

478 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 19:35:27.07 ]
Nodeなのに標準でDOMが扱えないとか

479 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 21:34:52.59 ]
domはブラウザ側の実装依存が強いんじゃないかな?
何らかのC++のアプリに組み込むにしてもdomの出番はなさそうだ

強いて言うとxml parserがあると助かるくらいじゃない?

480 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 00:49:13.09 ]
jsdom便利だけどバージョン変わるとよくエラー出る
とくにjquerify便利なんだけどよく死んでる

481 名前:デフォルトの名無しさん [2012/02/16(木) 08:36:27.59 ]
初心者スレってないんでしょうか?さっき知りましたnode.js

これって、ゲームとかで使うのにいいんですかね?

現在のイメージではhtml5でflashの代わりにゲームみたいな

コンテンツを作るのに便利な言語って思ってますが違います?

482 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 09:01:01.72 ]
まずはJSの勉強しろ
ゲーム系するならhtml5とcanvasも必須

483 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 09:11:17.60 ]
初心者スレはみつからないなあ
関連スレはあるけど

サーバーサイドJavaScript総合
kohada.2ch.net/test/read.cgi/php/1210836132/


484 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 13:08:42.64 ]
ゲームやるなら enchant.js でいいんでないの?
まぁ使ったことないんだけどw

485 名前:デフォルトの名無しさん [2012/02/16(木) 13:50:43.11 ]
JavaScriptに#includeみたいなのないよね
どこで何が使われてるのかどこで宣言されてるのか、依存関係わけわからんくならんの?

486 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 14:23:45.73 ]
nodejsならmodule使うから明示的でわかりやすいと思うが
Webなら自分で管理しろってだけだな




487 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 15:49:44.70 ]
CoffeeScript使うとモジュール化しやすいぞ
まあ結局、命名規則に依存なんだけどな
クライアントでrequire.jsみたいなのも、あることはあるが

488 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 18:08:38.51 ]
クライアントサイドだったらミニファイするしな

489 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 21:41:38.48 ]
JSのNudeと聞いてきました

490 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 23:59:57.30 ]
農奴と聞いて

491 名前:デフォルトの名無しさん [2012/02/20(月) 13:58:09.67 ]
マルチコアで効率的に動くようになった?
まだ?

492 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 14:06:15.30 ]
isolatesは廃止になりました


493 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 18:24:24.93 ]
V8側はマルチコアいけるのにだめなの?

494 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 18:48:59.53 ]
今はまだ時期じゃないっぽい

d.hatena.ne.jp/y-kawaz/20120117/1326784301
>追記(2012-02-05) Isolateの組み込みは一旦取りやめに
>先日NodeのリーダーがRyanからIsaacになったというニュースがありましたが、
>そのIsaacさんのPOSTによると、どうもIsolateはまだまだ不安定で内部も複雑になってしまう為
>これに注力しても労力の割に得るものは少ないとの判断で、一旦これを取りやめ、
>代わりに Domains 機能に力をいれるそうです。
>ただ、Isolatesを諦めたわけではなく優先順位の変化なだけで将来的にNodeに組み込まれる予定は変わらないっぽい、ただそれが次のメジャーバージョンであるv0.8.0の時ではなくなったということのようです。
>まぁ、機能的にはIsolatesはマルチプロセスのforkで代替できるし、正直Domains機能のほうが面白そうなので全く問題なし。



495 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 18:52:10.85 ]
>>493
イベントモデルでのIOの多重化を選択したのは良かったけど
何か考えがあったのか、それとも実装が楽だったからか
ともかくnode.jsはシングルスレッドベースで作られた

496 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 23:34:21.74 ]
console.log() って,
printf() みたいに使えるのかと思ったけど
%X 認識しないんだな

さて,どうやって 16 進数で表示するかな・・・



497 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 09:11:27.44 ]
number.toString(16)

JSの勉強しろ


498 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 09:52:05.04 ]
そういえばjqueryのプラグインにformat文使えるやつあったな
あれnode.jsでも動くんかな??

499 名前:496 mailto:sage [2012/02/22(水) 11:25:01.84 ]
>>497
d

でも桁数が揃わない・・・
もっと勉強してくるわw

500 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 12:30:25.83 ]
0埋めとかはslice使えばできるよ

501 名前:496 mailto:sage [2012/02/22(水) 13:32:56.51 ]
>>500
おお,こんな方法があったのか

var n = 10;
console.log('HEX: %s', ('0' + n.toString(16).toUpperCase()).slice(-2)); // HEX: 0A

おまいらのおかげで出来たよ,ありがとう!

502 名前:デフォルトの名無しさん [2012/02/23(木) 01:16:09.43 ]
node.exe って 64bit の Win7 だとダメとかあるか?
nodejs.org のサンプルさえ ちゃんと動かない
Win7 32bit のノートなら動いた

503 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 01:35:21.18 ]
stackoverflow.com/questions/9221539/node-js-and-npm-has-no-network-access-in-windows-7-64-bit-ultimate
2/10に同じ質問してる人がいるが、その人も解決してないみたいだね。
試しに少し古いバージョン使ってみては?
nodejs.org/dist/
vc++のruntimeとか他のソフトでたまに引っかかることがあるが、必要ないんだよね?

504 名前:502 mailto:sage [2012/02/23(木) 01:47:17.45 ]
>>503
なるほど,既知の問題だったのか
たまたまあった 0.6.7 もやってみたがダメだ

その後調べてたら
nodejs.jp/changelog.html
の v0.7.4 のところに x64 ビルドをサポートした旨を発見

nodejs.org/dist/v0.7.4/x64/
から node.exe を落としてきて,それで実行したらサンプルは走った

同じディレクトリにある node.lib と node.pdb ってのが謎だが,
動いたからいいかw

505 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 13:50:41.80 ]
nodeにリンクする開発者向けのファイルだね
win7 64bit環境によって、32bitの共有ライブラリが足りなくて、
動かないパターンなのかな。

ともあれ動いてよかった。

506 名前:デフォルトの名無しさん [2012/02/23(木) 23:58:09.40 ]
node.js愛してます
というかJSしかわからない

ってことで今ブラウザあればnode.js使ったアプリ作れる環境作ってる
んで作ったものは自動でworker化するようなもの作ってる

将来的にiPhoneのリマインダー的なもの作りたい



507 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 15:30:35.86 ]
win x64 用の msi キタ (unstable

508 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 23:47:46.64 ]
NetBSD 5.1 でコンパイルしてみたけど
v0.6, v0.7 ともにダメだね

509 名前:デフォルトの名無しさん [2012/02/26(日) 14:57:11.22 ]
nodeをv0.6.11にしたらnode-webworkerが動かなくなりました

webworkerを書き換えて
sys→util
require.paths→消して他のrequireをフルパスで書き換え
process.binding→消す
のようにしたらエラーは出ないのですがworkerが全く動いていません

他に原因はあるのでしょうか?

510 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 15:33:11.60 ]
node-webworkerは現在既に開発が停止しております(最新版はサポートされません
マルチプロセスなら組み込みのclusterやスレ上記のisolateをお使いください

511 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 15:48:21.89 ]
どうしても使いたいなら自分でgithubからフォークして
自分でメンテするなりなんなりすればいいが
node-webworkerの人が開発する気力失せたのはclusterのせいだから
素直にclusterを使うのがいい

512 名前:デフォルトの名無しさん [2012/02/26(日) 16:18:35.33 ]
どうもclusterの使い方がいまいちわからなくて...

clusterで別のソースファイルをworkerとして動かすにはどうしたらいいのでしょうか

webworkerでは
new worker("worker.js");
でできたんですけど..

513 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 22:34:27.70 ]
node.exe 環境での package.json についてだけど
"main" : "C:\hoge\hoge.js" だと動かなくて
"main" : "C:/hoge/hoge.js" だとちゃんと読んでくれるみたい

ちょっとハマった

// node.exe v0.7.5

514 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 22:39:51.33 ]
知らんけど、"C:\\hoge\\hoge.js" じゃないの?

515 名前:デフォルトの名無しさん [2012/02/26(日) 23:11:20.06 ]
cluster.setupMaster()で起動するワーカーのソースに他のファイルを指定できるのはわかったがなぜか一回設定すると変更できない


ひとつのプログラムでcluster化したい場所が二ヶ所以上あるとつかえないのかな?

こうなるとwebworkerが使いたい...

516 名前:デフォルトの名無しさん [2012/02/26(日) 23:18:02.41 ]
a = require("cluster");
console.log(a.settings());            --->{ exec: '', args: [], silent: false }
a.setupMaster({exec:"./app.js"});
console.log(a.settings());            --->{ exec: './app.js', args: [], silent: false }
a.setupMaster({exec:"./app2.js"});
console.log(a.settings());            --->{ exec: './app.js', args: [], silent: false }       ←なんでapp2.jsじゃないんだよ( ̄_ ̄#)

b = require("cluster");
console.log(b.settings());            --->{ exec: './app.js', args: [], silent: false }       ←なんでapp.jsが入ってんだよ( ̄_ ̄#)


console.log(require("cluster").settings());            --->{ exec: './app.js', args: [], silent: false }

要するにrequire("cluster")で一回、値を設定すると変更できないみたいだ
webworker使いたい......



517 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 00:18:30.12 ]
clusterのソース読めば良いよ
あれ結局はforkしてるだけだし


518 名前:513 mailto:sage [2012/02/27(月) 00:49:09.66 ]
>>514
確認したら大丈夫でした
っていうかそっちのが正当かも

519 名前:デフォルトの名無しさん [2012/02/27(月) 02:01:54.48 ]
>>517 すみません
clusterのソースってどこにあるんでしょう...?ポリ…σ(-''-;)

520 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 02:15:44.39 ]
>>517 じゃないけど,これじゃないですかね
https://github.com/joyent/node/blob/master/lib/cluster.js

ローカルから探すなら
$ find / -name cluster.js

でしょうか

521 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 07:40:45.36 ]
Webアプリ開発は Linux + Mono + ASP.NET MVC が最強だと悟った
engawa.2ch.net/test/read.cgi/poverty/1330244837/

522 名前:デフォルトの名無しさん [2012/02/27(月) 14:15:15.92 ]
結局clusterモジュールを>>516で満足のいくように書き換えることにした

ちょっとかかりそうだな

523 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 15:31:15.90 ]
ちょっとかかりそうだね

524 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 15:32:16.66 ]
ちょっとかかるかもね

525 名前:デフォルトの名無しさん [2012/02/28(火) 00:16:19.71 ]
とりあえずcluster書き換えて使えるようになった
どうもcluster.settingsは二回以上書き換えるといろいろとおかしくなるみたい
んじゃa = require("cluster");    b = require("cluster");みたいなかんじで何回もモジュールをロードしたらいいのではないか
→なんかrequire("cluster")はこれ単体で動いてるみたいやから、aとかbに代入してもコピーされるのではなくaやbがrequire("cluster")のポインタになるだけで意味がなかった
→require("cluster")を作る関数を返すモジュールを作った

//    ./cluster.js
module.exports = function(){
clusterほにゃらら
returen cluster;}

でa = require("./cluster.js")();
これでa,b,c...ってつくってくとclusterの部分がa,b,cにコピーされるから別もんとしてつかえる

あとは別のファイルから動いてるマスターとワーカーをどうやって通信させるか かな

526 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 01:33:24.79 ]
スレ違いかもしれないけど、Aptanaとかでexpressのコード補完とか出来ないのかな
出来れば凄く便利になるんだけど・・・



527 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 06:37:58.61 ]
言い出しっぺの>>526がエクステンション作ってくれるらしい
拍手!

528 名前:デフォルトの名無しさん [2012/02/28(火) 15:00:48.28 ]
vim + neocmplcacheでいいんじゃね

529 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 15:11:21.51 ]
>>528
☆−(ノ゜Д゜)八(゜Д゜ )ノイエーイ☆

530 名前:デフォルトの名無しさん [2012/02/28(火) 18:52:00.89 ]
>>529
(゜∀゜)人(゜∀゜)ナカーマ

531 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 09:06:07.13 ]
ServletやStrutsのような使い心地のフレームワーク作成ちう

532 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 09:14:44.60 ]
それあかんやつや

533 名前:デフォルトの名無しさん [2012/03/02(金) 18:11:10.92 ]
>>531
wktk

534 名前:デフォルトの名無しさん [2012/03/02(金) 23:27:36.26 ]
やっぱ例外処理がネックだね。
キャッチされない例外処理と、レスポンスを結び付けるのが難しい。

vm.createScript/createContext/runInContextを組み合わせて、
リクエストをそれぞれ別々のコンテキストで実行する方法なら、
何とかならない訳ではないが、メモリとパフォーマンスの問題あり。

因みに、その方法はError.prototypeをコンテキスト単位で拡張しておく。
するとprocessでキャッチされない例外を受け取った時に、
例外オブジェクトが拡張された状態になってる。
そこに事前にレスポンスを結び付けるという方法。

535 名前:デフォルトの名無しさん [2012/03/02(金) 23:36:21.26 ]
例外処理は、Greeがnode-greeという独自モジュールで、
非同期処理をtry/catch出来るようにしているらしい。

node-fiberをみると、ネイティブ拡張で、関数の実行を途中で止めて、他の関数に制御を渡すというのをやってる。
原理は同じなんだろうね。

キャッチ漏れ対策はどうしたもんか。。。

536 名前:デフォルトの名無しさん [2012/03/03(土) 00:32:26.46 ]
expressってやっぱいいの?



537 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 07:59:36.91 ]
expressはrubyでいうとRailsにもSinatraにもなれる素敵フレームワークだからな
一部例外除いてnode製のwaf名乗ってる奴、だいたいexpressのDSLだし
zappaとかaceとかtower.jsとかmatadorとか

expressの使い方わかってれば、以上のライブラリ好きに拡張できるよ

538 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 12:52:44.53 ]
ただ、expressはrailsやsinatraと同じで
今は流行ってるが一時的ですぐ廃れそうなんだよな。

539 名前:デフォルトの名無しさん [2012/03/03(土) 18:48:59.77 ]
なにも流行ってるものを使わなきゃいけないわけないだろ

自分が使いたいものを使えばいい


それ言うならnodeじゃなくてもっと流行ってるPHP使えよ

540 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 18:54:57.54 ]
PHPよりもJavaの方が流行ってる。

541 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 19:04:42.96 ]
マジレスで、今の流行りはPython

542 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 19:20:09.81 ]
ttp://www.tiobe.com/index.php/content/paperinfo/tpci/
Python今はもう明らかに落ち目だぞ

543 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 19:29:19.30 ]
Javaって流行っているのか?

簡単なものを作るのには、expressは便利だよ

544 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 19:38:45.63 ]
JSの事をJavaと呼んでるんだろう

545 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 19:49:01.38 ]
それはお前だけだろw

546 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 20:42:49.04 ]
なんでわざわざJSと書いてるのに
俺がJavaと呼んでる事になってるの?
頭大丈夫?




547 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 21:02:25.32 ]
昔そういう勘違いして馬鹿にされて
それが今もトラウマになってるんだろw

548 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 21:21:34.86 ]
ただ煽りたいだけの頭痛い子か






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<170KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef