[表示 : 全て 最新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/

552 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 15:12:13.56 ]
>>550
イベントループでもマルチスレッドっぽい事は出来る。


553 名前:デフォルトの名無しさん [2012/03/04(日) 16:32:45.86 ]
今のバージョンってCygwinに入らないのか。
./configureでCygwinはサポートしてないぜって怒られる。

単純にfibers使いたいだけなんだけど、
Windowsサポートされてないし、
かと言ってLinux環境作るのが面倒い。


554 名前:デフォルトの名無しさん [2012/03/04(日) 16:34:41.52 ]
Windowsサポートしてるだろ

555 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 17:16:00.80 ]
書いたとおり、fibersというモジュールは、
Windowsに対応していないんだ。
ソースみるとpthreadとか依存しまくりだし、
作者も公式で、対応出来るけどヤラネと言ってる。。。

556 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 21:30:41.58 ]
cygwinかmingwでモジュールだけコンパイルしたり
sourceware.org/pthreads-win32/faq.html のラッパー書くより、
vmplayerにubuntu serverインストールする方が早い気がするよ。

作業中いつでもネットワーク環境あるならsaasでも
www.goodpic.com/mt/archives2/2011/07/websaas_paas_ia.html


557 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 22:03:39.58 ]
ビルドについて、node本体かfibersについてか分からんけど
https://github.com/laverdet/node-fibers/tree/master/src
これのことなら、単純にMakefileとplatform.mkに追加すればいんじゃない?

558 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 22:20:49.96 ]
cygwin上でのビルドで怒られるのは、node.js本体で0.6系。
fibersは試してないけど、cygwinならいけそうな気がする。


559 名前:デフォルトの名無しさん [2012/03/04(日) 22:30:25.04 ]
>>550
何をしたいのかがよくわからんけどclusterで行けると思う

おれはclusterでgizmodeのページを監視させて、更新されたらクライアントに通知がいくようなもん作った

560 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 00:25:13.96 ]
>>552
ありがとうございます。
試してみます。



561 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 00:32:41.44 ]
>>559
せめてもう少しましなサイトを…

562 名前:デフォルトの名無しさん [2012/03/05(月) 18:55:40.43 ]
node.jsとC言語で実行時間比べてみたらほぼ同じ速さだったんだがスクリプト言語でここまで速くなるもんなのか。

空ループと乱数発生させるだけのループしか試してないけど複雑な処理だと差が開くのかな。

563 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 19:07:00.49 ]
ヒント:JIT

564 名前:デフォルトの名無しさん [2012/03/05(月) 19:24:08.05 ]
v8は内部で部分的にコンパイルしてるからスクリプト言語でも速い

565 名前:デフォルトの名無しさん [2012/03/05(月) 19:55:51.51 ]
いくらJITコンパイルしてるからってC言語と並ぶとは思わなかった。Cでモジュール書くことも出来るけどほとんど必要なさそうだな。

566 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 20:03:50.52 ]
どっちかというと、ネイティブじゃなきゃできない事とか、
ネイティブのライブラリを呼び出すとか、
そういう用途がいいんじゃないかな。

あと、大量データを一括で渡して計算結果をもらうとか。
GPGPUなんかは計算だけならCよりも更に速いので、
そういうのを呼び出す用途もいける。

V8の特性はよくわからないけど、
ネイティブ呼び出しのオーバーヘッドって、
それなりに高いと思うんだ。
それを考慮したベンチをとったのかな?

567 名前:デフォルトの名無しさん [2012/03/05(月) 20:46:49.07 ]
>>566
なるほど、詳しくありがとう。
JSじゃ出来ないことをするにはモジュール必須だね。

オーバーヘッドについては気になったからMath.floor(Math.random()*10000000);とかのループも試したけどCと同等だった。
一度呼んだ関数はキャッシュされてるのかもしれないが。

568 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 21:48:40.81 ]
> 空ループと乱数発生させるだけのループしか試してないけど複雑な処理だと差が開くのかな。

それだとコンパイルしたら、コードなくなるんじゃね?


569 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 22:24:26.28 ]
もうちょっとヘビーな処理の方がいいかも。
ネイティブ呼び出しのオーバーヘッドが、無視できるレベルのヘビーなベンチなら、
恐らくCの方が速いと思われ。

ネイティブコードはコンパイル時の静的な最適化で、
JITは実行時のメトリクスに合わせた動的な最適化だから、
ケース次第ではJITの方が速い場合もあるけど。

570 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 23:18:10.86 ]
かなり重い処理させるとCのほうが速いね。それでもnode.jsの1.1倍くらいだが。



571 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 00:21:11.57 ]
node.jsが異常に速いのはここでも実証されてる
www.slideshare.net/kwatch/ss-8933694

572 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 00:28:50.91 ]
V8だけ無駄に評価されすぎじゃね?
たまにはSpiderMonkeyも思い出してあげてください・・・

573 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 05:01:48.98 ]
文字列連結ってブラウザのJSではかなり多い処理なんで、
それに特化したチューニングをしてるとは思われる。

何かのベンチではV8よりも、IonMonkeyだかJaegerMonkeyの方が、
若干速いという記事を見た覚えがある。
AS3/AVM2もケースにおいてはV8よりも速いみたいだし。

処理によって速い遅いというのは、チューニングの特性が大きいのかもしれない。

574 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 10:21:42.36 ]
JSは文字列を扱う機会が多いわりに遅いってイメージ。
でも、V8とかはそんなに速いのか。node.js使ってみようかな。

575 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 14:26:00.43 ]
node.jsで子プロセス作ってそこから親プロセスのメモリにアクセスすることって出来ますか?

576 名前:デフォルトの名無しさん [2012/03/06(火) 18:33:47.11 ]
親と子のデータのやり取りはできるけどメモリにアクセスできるかはわからない

577 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 19:44:40.63 ]
共有メモリは無理かな

578 名前:デフォルトの名無しさん [2012/03/06(火) 19:59:43.06 ]
なんか行けそうな気がするけど

579 名前:デフォルトの名無しさん [2012/03/07(水) 01:19:06.32 ]
みんなnodejsでどんなもん作ってる?

580 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 07:01:23.74 ]
node.jsで何か作るためのライブラリ。
メタ開発面白いお。



581 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 10:44:27.44 ]
V8はC++で作られててC++のランタイムをどうのこうのって書いてあった

582 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 12:46:30.84 ]
node.jsでJavaVM作ってその上でRhino動かそうぜ

583 名前:デフォルトの名無しさん [2012/03/07(水) 15:17:15.51 ]
>>582
渋いな


584 名前: 忍法帖【Lv=32,xxxPT】 [2012/03/07(水) 15:20:10.22 ]
できるもんなのか...?

585 名前:デフォルトの名無しさん [2012/03/07(水) 15:38:38.56 ]
mysql使っているところで例外を throw すると、app.get() の中で 拾えない。。これって何故だか分かりますか?(24歳 会社員)
var mysql = require( "mysql" );
var db = mysql.createClient( conf.mysql );
function getAccounts() {
var sql = "SELECT * FROM accounts ";
db.query( sql, [], function( err, results, fields ) {
throw err;
});
}
app.get( "/hoge", function( req, res ) {
console.log( "start" );
try {
getAccounts();
} catch ( e ) {
console.log( "catch error " + e );
}
console.log( "end" );
res.render( "hoge" );
});
-------------------------------------------
start
end
/home/user/work/node.js/app/server.js:296
throw err;
^
null

586 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 17:10:28.76 ]
それって
process.on('uncaughtException',function (e) {});
とかでもとれないやつ?


587 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:34:26.29 ]
query関数の引数のコールバックは非同期だから、
getAccountをtry catchで括っても無駄。

588 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 01:28:17.05 ]
PHPとnode.jsのセッション情報共有って出来ますか?


589 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 02:21:35.70 ]
>>588
どうやって共有するかによる。
PHPは独自のシリアライズ方式で値を保存、復元している。
node.jsには標準がないので、PHPのシリアライズされたデータの、
エンコーダーとデコーダーを作るのが手っ取り早い。

と思ったら、npmにnodePhpSessionsというのがあるわw
見てないけど、多分上記の様なことやってくれそう。
レポよろしく。

590 名前:585 [2012/03/08(木) 12:19:26.92 ]
やっぱそうなのか、、dbに接続したらダメになってたから、そうかなーって思ってたけど、、
つらい。。
トランザクションを利用したくて、なんかいい方法ありますか??

ひたすらコールバックに渡していく方法だと、コードが入れ子になりすぎて汚くなるから、

function doChain( this_, fn ) {
if ( typeof fn == "function" ) {
this_.data.chain.push( fn );
}
this_.data.chain.shift()( this_ );
}

function func1( this_ ) {
console.log( "func1" );
throw "error";
this_.data.chain.shift()( this_ );
}
function func2( this_ ) {
console.log( "func2" );
this_.data.chain.shift()( this_ );
}

function begin( this_ ) {
console.log( "begin" );
this_.data.chain.shift()( this_ );
}



591 名前:デフォルトの名無しさん [2012/03/08(木) 12:19:59.37 ]
function commit( this_ ) {
console.log( "commit" );
}
function rollback( fn ) {
console.log( "rollback" );
fn();
}

app.get( "/hoge", function( req, res ) {
try {
this.data = [];
this.data.chain = [ func1, func2 ];
console.log( "start" );
dodata.chain( this, function() {
console.log( "end" );
});
} catch ( e ) {
console.log( "catch error" );
rollback(function(){
console.log( "rollback 2" );
});
}
});
こういう風にしてるけど、何か try-catch + コードが汚くならない方法ありますか、、

592 名前:デフォルトの名無しさん [2012/03/08(木) 12:38:59.71 ]
uncaughtException で取れたので

// 追加
process.on( "uncaughtException", function( err ){
console.log( "uncaughtException => " + err );
});
// 追加
function TransactionFaild( app ) {
console.log( "transaction faild" );
rollback(function() {
app.data.res.render( "error/transaction_faild" );
});
}

function func1( this_ ) {
console.log( "func1" );
throw new TransactionFaild( this_ ); // 修正
this_.data.chain.shift()( this_ );
}

app.get( "/hoge", function( req, res ) {
try {
this.data = [];
this.data.req = req; // 追加
this.data.res = res; // 追加
this.data.chain = [ func1, func2 ];
... (省略)
});

としたのですが、err/transaction?_faild のテンプレートが表示されません。
使っているのは express と ejs なのですが、何ででしょうか。。
※ 書いていて思ったのですが this_ より app の方がいいですね。

593 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 22:35:20.71 ]
redtamarinにnode.jsくらいの基本ライブラリがあって、
ネイティブ拡張がやり易いなら、結構普及するんだろうな。



594 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 23:11:59.60 ]
>>589
ありがとう!
試したらレポしますね!

595 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 23:27:21.42 ]
>>594
スキル不足でSoket.IOと紐付け出来ませんでした\(^o^)/


596 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 16:09:44.25 ]
ttp://d.hatena.ne.jp/Jxck/20110809/1312847290
このサイトを参考にCookie受信を試しているのですが、
IE8では上手くCookie受信出来るのですが、
Firefox10.0.2では上手くいきません

Firefoxでは何か制限があるのでしょうか?


597 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 00:38:09.60 ]
Tower.js使ってみた人いる?

598 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 14:05:25.86 ]
とりあえずscaffold使ってみたりした
基本的には mongoose, express, coffeekup でラッパ作ってMVCならこうなりますって感じ
Railsに準じた構成でコードが吐かれる。俺はRailsわからんので此処から先はRails詳しい人お願い

599 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 21:00:37.34 ]
node.jsってJavascript知らないと使えないの?

600 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 21:52:57.47 ]
そりゃまあ



601 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 23:02:20.42 ]
あんまりガチガチじゃないMVCフレームワーク作ってる。

・正規表現で、動的にコントローラを結び付けられる
・ソースやリソースなどは、更新されると自動読み直し
・決めたwebappディレクトリをルートとしたリソース管理
・正規表現で定義でき、複数のフィルタを連続して実行できるリクエストフィルタ
・静的コンテンツのサポート、エラーページのサポート
・リダイレクト、ディスパッチのサポート
・複数のテンプレートエンジンの使い分け

基本的には極力余計なことはしないので、POSTパラメータの処理などは標準ではサポートしない。
でもそれだと不便なので、POSTパラメータやアップロードされたファイルを、
フィルタでリクエストオブジェクトに設定できるようにしている。

ファイルアップロードとかPOSTパラメータ、クッキーなどの処理は、
基本的には実績のあるサードパティのモジュールを使う感じ。
フレームワークに適用できるようにするための、アダプタだけ用意する感じかな。

module.exports = function(context){
  var model = context.require("models/foo");
  model.doLogic(xxx, xxx, function(err, result){
    if(err){
      context.error(err);
    }else{
      context.render("ejs:foo/bar", result);
    }
  });
};

という感じでコントローラが書ける。ExpressとかTowerとかの今風のMVCではなく、
どっちかというと、ZendとかStrutsな感じのMVCだけど、こういうのってニーズあるのかな?


602 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 23:21:22.47 ]
・決めたwebappディレクトリをルートとしたリソース管理

ってなんぞ?

603 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 23:34:58.06 ]
サーブレットでいう、WEB-INFディレクトリのようなもの。

特定のディレクトリ以下をWEBアプリのディレクトリとして、
そのディレクトリ以下のリソースを自動的に読みなおしたりキャッシュしたり、
パスの解決もそのディレクトリからの相対パスとなる感じ。

node-devだと監視対象になるし、アプリ全体が再起動しちゃうんだけど、
どっちかというと、本番稼動時にコントローラをホットスワップするためのもの。
サブディレクトリ足して、コントローラ置いて、アプリの設定にするというのもOK。

、、、という感じです。

ディレクトリを固定するのは、アプリ内でのパスの単純化と、
監視コストの削減ってところですかね。


604 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 08:03:00.75 ]
>>601
凄いなw
blog晒してw

605 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 08:52:45.35 ]
>>604
ないから作るかなw

ソースもDropbox上のSVNリポジトリに置いてるだけだし、
alpha版出来たらGithubとnpmにあげるかな。。

606 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 13:24:56.34 ]
最初からgithubで開発すりゃいいのに

607 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 13:44:21.90 ]
>>605
むしろgithubをNodeで作ってくれw

608 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 17:19:57.76 ]
恥ずかしいソースを晒したくない

609 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 17:21:02.45 ]
オープンソースは自分のケツ穴を衆目に晒すようなもんだ。
よっぽど美しいケツ穴かナルシストでなければ自信なんて持てるはずがない。

610 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 17:44:13.88 ]
       ∧∧
       (д`* )
       (⊃⌒*⌒⊂)
        /__ノωヽ__)



611 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 21:54:51.50 ]
>>596
Socket.IOのバージョンを 0.9.1-1 にアップデートしたらFirefoxでも動作しました。
お騒がせしました。

612 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 22:49:05.29 ]
Node.jsやるんだったらGithubは必須というのは重々に承知してる。
でもSVNになれると、なかなか馴染めないんだよね。

前はGoogleCodeでソース管理してたんだけど、
リポジトリの同期が遅いし公開が目的ではないので、
DropboxとSVNの方が速いし気軽だね。

でも完全にGithubに移行しようかな。

613 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 10:26:37.52 ]
>>609
それは違うと思うな
ブサイクなアイドルなりたてが美人なアイドルになる過程の方が似てる

色な人に見られる事を意識し使われればより良いコードになっていく
それがまた自分の糧にもなる


614 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 10:33:03.92 ]
で、美人アイドルのケツ穴はどこですか?

615 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 23:27:30.67 ]
ソースコードはドキュメントでもあると意識すれば、
必然的にキレイで恥ずかしくないコードになるよ。

616 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 22:17:36.54 ]
ブラウザ多重起動で多重の接続になるのを制限するにはどうすればいいのかな
ログイン機能とかは作ってあるから、接続したログインIDすべてを配列とかで保持しておいて比較でいいのかな
もっと頭のいい方法あれば知恵が欲しいです

617 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 23:31:28.34 ]
doccoとかdoxとか試してみたけど、結局jsdoc-toolkitがいいね。
node.jsならnode-jsdoc-toolkitがあるけど、
正しい使い方がいまいち分からんかったので、適当にいじりながら試してみた。

npm install node-jsdoc-toolkit
で、インストールしておいて、template/jsdocというディレクトリを抜き出しておく。
自分はビルド用のディレクトリを用意しているので、以下の内容のjsファイルとtemplate/jsdocをそこにコピー。

global.internal_args = [ "../lib/", "-d=../doc" , "-r=5", "-t=./jsdoc"];
require("jsdoc-toolkit");

これで、プロジェクトのlib以下のJSファイルのドキュメントが、
プロジェクトのdoc以下に作られる。

windowsでもlinuxでも試してるけど、どっちもOKだったよ。

618 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 23:36:52.72 ]
JsDocの不満としては、

・コールバック関数の引数の仕様が定義できない
・__defineGetter__/__defineSetter__をサポートしてない
・コメントの1行目がサマリーに、2行目以降の文章が詳細にということができない

ってところ。IssueTrackerには上がってるようなので、今のところ我慢。

619 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 02:33:43.68 ]
理解していない人がドヤ顔でdisってるw
www.anlyznews.com/2011/02/nodejs.html?m=1


620 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 12:45:27.52 ]
node.dartとか試した人居る?



621 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 15:01:32.88 ]
>>619
これは痛いなww
>JavaScriptのプログラミング言語としての限界が影響する。つまり、オブジェクト指向が不完全であること

そもそもオブジェクト指向が最強だと言う前提になってるし
突っ込みどころが多過ぎでヤバイw

622 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 15:44:13.12 ]
1年前の記事をそう何度も蒸し返してやるなよww
かわいそうだろwww

623 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 15:55:16.51 ]
そのブログへの反論ならたしか見たことあった……と思って探してきた
ttp://d.hatena.ne.jp/t_43z/20110220/1298202879

624 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 15:55:35.76 ]
node.jsでググると、今でも上位にくるんだぜwww

625 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 15:59:05.66 ]
オブジェクト指向が完全じゃない、ってのは前スレにあったスコープの話なのかね
……そういうわけじゃないだろうなあ
たぶん、クラス指向じゃなきゃ完全なオブジェクト指向じゃない、とか思ってたんだろうな

626 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 16:33:18.42 ]
>>623
探すまでもリンクされてるだろアホか

627 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 17:00:58.75 ]
Nihongo de ok

628 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 17:04:10.23 ]
Roumaji de NG

629 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 08:02:51.09 ]
>>625
未だにJavaScriptはオブジェクト指向プログラミングができないって思ってる人は多いと聞く
まぁ、徐々に広まるんじゃないかな

630 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 08:34:51.74 ]
JavaScriptは本当のオブジェクト志向じゃないとか言ってる人って、
大抵JavaとかC++と比べてるけどさぁ、批判するならホンモノのSmalltalkと比べろよと思う。
まぁ、浅知恵で批判する人って、その辺よく知らないと思うけど。



631 名前: 忍法帖【Lv=4,xxxP】 [2012/03/19(月) 14:14:01.19 ]
nodeでjQuery使いたくてjsdomを入れようとしているんだけど、ドキュメントの通りに
var jsdom = require("jsdom");
var win = jsdom.jsdom().createWindow();
とすると

TypeError: needs a 'context' argument.
at Object.getGlobal (/Users/aaa/Sites/node/node_modules/jsdom/lib/jsdom/browser/index.js:26:21)
at Object.createWindow (/Users/aaa/Sites/node/node_modules/jsdom/lib/jsdom/browser/index.js:308:23)



みたいな感じのエラーが出るんだけど原因わかりますか?
環境はmac 10.7.3+node0.7.5+jsdom最新版です

632 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 15:16:31.46 ]
context引数が必要

633 名前: 忍法帖【Lv=4,xxxP】 [2012/03/19(月) 15:28:51.38 ]
どこに引数が必要かがわかりません
ドキュメントでは特にこの部分では引数は必要ないみたいですし、引数を入れて
var jsdom = require('jsdom'),
doc = jsdom.jsdom('<html><body></body></html>', jsdom.level(1, 'core'));
var win = doc.createWindow();
とやっても同じエラーが出てきます・・・・

634 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 18:16:59.15 ]
jsdom/browser/index.jsの該当する行を見たら?

635 名前:デフォルトの名無しさん [2012/03/19(月) 21:33:23.12 ]
やっぱりソースを調べていかなきゃいけないかな?(^_^;)
他人のコードの解読って疲れるけどな

他に僕と同じようなエラーが出た人はいませんか?
ググってもあんまり出てこないし…

636 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 22:37:15.35 ]
var jsdom = require('jsdom');
var document = jsdom.jsdom('<html><body></body></html>');
var window = document.createWindow();
var jquery = 'ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
jsdom.jQueryify(window, jquery, function(window, $) {
  $('body').append('<div>Hello Jsdom!</div>');
  console.log($('div').html());
});

$ node hellojsdom.js
Hello Jsdom!

普通にできた

637 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 22:51:23.20 ]
emitで呼び出す関数の引数が多くなるときってどうすれば綺麗になる?
多言語みたいに構造体で渡したりは出来ない・・・のかな?


638 名前:デフォルトの名無しさん [2012/03/19(月) 22:53:38.74 ]
>>636
使っているversionを教えてください

639 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 23:07:47.36 ]
>>638
node v0.6.12
jsdom 1.1.4
ubuntu-ja-10.10-desktop-i386


640 名前:デフォルトの名無しさん [2012/03/19(月) 23:15:17.49 ]
んん〜〜
とりあえずnodeのバージョン下げてみるか
それでできないならmacの問題か・・・?



641 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 00:40:31.86 ]
まだAPIも安定してないし、プラットフォームでの相違も大きいよ。
なので、コードを解析してバグを回避する、
というような書き方が出来ないと、
正直使いこなすのは難しいかもしれない。
まだ枯れてないから仕方が無いよね。


642 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 00:53:08.74 ]
普通に安定版を使えってだけの話だと思うが

643 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 00:57:39.02 ]
安定版が安定してたらいいんだけど。
0.8になるとまたAPI変わるし、ちょっと設計が雑だと思う。

644 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 02:00:25.34 ]
jsdomはバグ多いんだよなぁ・・・


645 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 09:35:33.85 ]
【nude.js】に見えた

646 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 10:04:55.70 ]
>>637
オブジェクトで渡すとか。

647 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 17:13:59.08 ]
macでもjsdomで>>636動いたよ。
nodeは0.6.13と0.7.6
jsdom 0.2.13
OS X 10.7.3

648 名前:601 mailto:sage [2012/03/20(火) 18:38:08.82 ]
コア機能だけは出来たけど、テストとかドキュメントとか面倒いww
JSDocでAPIドキュメントを書いてるんだけど、
一部JSDocの都合に合わせた書き方にコードを直すのがツライところです。
来月の中旬にはGitHubでβ版公開出来るかも。

649 名前:585 [2012/03/22(木) 18:25:48.72 ]
apache 上で動く cakephp と、node.js 上で動く sokcet.io でそれぞれセッションの共有化ってできますか?

apache 上の PHPで websocket を動かすとかではなく、チャットなのでnode.jsでできればと思っています。

650 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:05:54.66 ]
>>646
出来ました。
ありがとうございます。



651 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 19:26:14.00 ]
node.jsって結局何なのってずっと思ってたんだけど、上の方のやり取り見てやっと腑に落ちた。
Webサーバだとばっかり思ってたから違和感すごかったんだ
勉強になるやり取りだった。ありがとー

652 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 08:56:35.73 ]
node.jsってPATHやHOMEとか環境変数はどうやって取得すればいいの?






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

前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