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

159 名前:デフォルトの名無しさん mailto:sage [2011/11/29(火) 12:27:35.93 ]
NoSQLにはユーザが直接保存したデータは保存しない流れになってる気がする
大抵セッション情報とかログデータの操作に利用されてるような

160 名前:デフォルトの名無しさん [2011/11/29(火) 12:30:59.64 ]
mysqlの運用は枯れてるからそこに追いつくのは至難の技。
新しい技術が出てmysqlに戻ってを繰り返してる気がするなぁ。

161 名前:デフォルトの名無しさん mailto:sage [2011/11/29(火) 22:37:13.55 ]
>>159
NoSQLの種類によるでしょ
KVS型とdocument(note)型じゃ全然違うし

162 名前:デフォルトの名無しさん mailto:sage [2011/11/29(火) 23:06:34.57 ]
8086が出た時には
まさか20年以上使われて今だ主流
3Ghz超えるとは思わなかった
SQLもしかり

163 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 18:48:33.22 ]
言語側でSQLをまったく書かなくてもいいようなライブラリか何かを用意してくれれば超助かるんですが

164 名前:デフォルトの名無しさん mailto:sage [2011/11/30(水) 20:36:50.37 ]
要所要所でORMをみたいな融通が聞くともっといいような…
とか appengine を使ってて思ったの

といいつつあまりよくわかってないな…要課題

165 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 12:58:48.88 ]
っと思ったらこれだ
www.publickey1.jp/blog/11/sqljsonnodejsqlioebay.html

MSもnode.jsをWindowsサーバで動かすって言ってるし、これからの有力候補である事は間違いないね

166 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 14:23:46.82 ]
nodeにも、railsのActiveSupportみたいな
上位のユーティリティライブラリない?
underscoreは、ぎりぎりでrubyレベルみたいだけど、
それより便利な奴が欲しい。

167 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 15:24:57.57 ]
>>166
sugarjs.com/ とか?



168 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 16:07:08.73 ]
>>167
おお、かなりrubyっぽい。
underscoreみたいな無理やりじゃなくて、
危険を顧みずinstance.method()としちゃってるのが逆にすがすがしい。
escape*(), unescape*()が一通りそろってる。
DateもActiveSupportに負けないぐらいがんばってる。
これは使えそうだ。
いいモノ紹介してくれてありがとう。

169 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 02:36:29.44 ]
>>165
めんどくせえから
windowsもカーネルlinuxでbash標準
IEもWebkitとv8にすりゃいいのに

170 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 10:29:15.69 ]
bash標準になったら嬉しいなあ、ついでにターミナルもまともなものをだな…
現状じゃcmd.exeのせいでシェルもターミナルも両方とも腐ってる

171 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 12:30:36.05 ]
ms dosの時代から連綿と続いてきてるので…
それとそういう用途なら powershell 使うというのが推奨されるかな…

172 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 15:39:52.85 ]
>>169
そんな事になったらWindowsの個性がないじゃんw

173 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 23:33:40.43 ]
そんなに使いたいなら普通にbash入れればいいだけの話だしなぁ

174 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 23:46:34.47 ]
cygwin以外で使えるなら教えてくれ

175 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 23:53:33.40 ]
sourceforge.jp/magazine/09/02/12/0530242/2

176 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 00:33:50.64 ]
うわ、めんどくさそ…

177 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 00:39:41.89 ]
cygwinってかなり改善されたんじゃないの?
最近Window使ってないから詳しくは知らないけど




178 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 03:01:49.41 ]
cygwin は糞だよ

179 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 07:42:59.40 ]
使ってないわー
最近Windows使ってないわー

180 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 10:59:16.90 ]
必要性があんまないもんな

181 名前:デフォルトの名無しさん mailto:sage [2011/12/05(月) 12:04:56.82 ]
>>179
やっぱMS-DOSだよねー

182 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 23:43:16.44 ]
var http = require('http');
var fs = require('fs');
var server = http.createServer(function(req, res){
res.writeHead(200, {'Content-Type': 'text/plain'});
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(fs.readFileSync('./tmp/helloworld.html'));
});
server.on('request', function(req, res){
console.log(req.url + ' "' + req.headers['user-agent'] + '"');
});
server.listen(3000);
console.log("Start server");
console.log("127.0.0.1:3000/");

以上をnode.jsを使い起動

<html>
<head>
<title>イベント属性の練習</title>
<meta http-equiv="Coutent-Script-Type" content="text/javascript">
</head>
<body>
<p>
<input type="button" value="クリック!" onclick="alert('こんにちは!')">
</p>
</body>
</html>

Webページで127.0.0.1:3000/をHelloWorldを表示するのですがロードにとても時間がかかってしまいます
またLunascape6.5やIE9、firefox、safariでは表示されますがGoogle Chromeでは表示されません。
何故でしょうか?

183 名前:182 mailto:sage [2011/12/06(火) 23:44:39.68 ]
>Webページで127.0.0.1:3000/をHelloWorldを表示するのですがロードにとても時間がかかってしまいます
 ↓
Webページで127.0.0.1:3000/を入力し上記のHelloWorld.htmlを表示するのですがロードにとても時間がかかってしまいます

184 名前:デフォルトの名無しさん mailto:sage [2011/12/06(火) 23:56:48.54 ]
>>183
local lan 内で ubuntu 上にインストールした node.js で実行したものを
ほかのウィンドウズPCからアクセスしてるのかと思ったが
単純にウィンドウズPC一台でローカルでテストしてるのかな…

python -m SimpleHTTPServer
localhost:8080/ でアクセスしてみてロードでさっくり表示されるか
どうか調べてみると問題の切り分けに多少近づくかも。chromeは、確か
デフォルトの設定だとプロキシかipv6とかその辺の設定で遅くなるとかどこかで
見たような気がする…

185 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 02:22:19.91 ]
>>182
ちと、気になったんだけど・・・

> res.writeHead(200, {'Content-Type': 'text/plain'});
> res.writeHead(200, {'Content-Type': 'text/html'});

なぜ、res.writeHead() が 2 つ?

それと遅い理由は、もしかしたら res.end() がないからかな?

186 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 02:44:48.45 ]
>>185 のつづき
http.createServer() のところを、こうしてみたら?

var data = fs.readFileSync('./tmp/helloworld.html');
res.writeHead(200, {
'Content-Type': 'text/html',
'Content-Length': data.length
});
res.end(data);

187 名前:182 mailto:sage [2011/12/07(水) 10:00:12.34 ]
>>186
とても早くなりました
ありがとうございます



188 名前:デフォルトの名無しさん mailto:sage [2011/12/07(水) 12:08:50.82 ]
俺も昔やったな、end忘れ。

189 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 06:06:23.93 ]
addListener と on の違いがわからない

190 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 06:48:53.61 ]
IEとその他の話かい?

191 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 10:06:44.33 ]
もともとaddListenerだたけどonにかわっただけじゃないの?

192 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 18:45:50.10 ]
>>191
なるほど。使用頻度が高いから、短い単語にしたのかな

てっきり thread.on('sage', function () {}); は、thread.onSage = function () {}; みたいなのかと思ってた


193 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 00:18:49.55 ]
調べてもクライアント側で入力したものをサーバー側で受け止める方法がない.
わかりやすく解説してるサイト内?

194 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 01:44:43.55 ]
>>193
やっつけ。あとはググって
フォームじゃないけど、やっていることはあまり変わらないと思う

require('http').createServer(function (request, response) {
var url = require('url').parse(request.url);
var data = '';
if (url.search) {
query = require('querystring').parse(url.search.substr(1));
data = query.q;
}
response.writeHead(200, { 'content-type': 'text/plain' });
response.end(data);
}).listen(8124);

127.0.0.1:8124/?q=あぼーん を開くと、「 あぼーん 」と表示されるはず

195 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 14:05:34.72 ]
amanelis Alex Manelis
At #mongosv, people really do not like #coffeescript..

手放しで、素晴らしいといえるものという訳でもない
みたいだね…

196 名前:デフォルトの名無しさん mailto:sage [2011/12/10(土) 21:35:23.94 ]
nodeでGCと格闘する事になるとは予想してなかったわ。
Javaみたいにチューニングいるのかなorz..

Scavenge 379.5 -> 374.1 MB, 26 ms.
Scavenge 381.7 -> 376.3 MB, 27 ms.
Scavenge 392.9 -> 380.6 MB, 31 ms.
Scavenge 396.1 -> 384.8 MB, 40 ms.
Scavenge 399.3 -> 388.7 MB, 37 ms.
Scavenge 391.4 -> 389.4 MB, 25 ms.
Scavenge 399.8 -> 392.5 MB, 24 ms.
Mark-sweep 399.4 -> 353.6 MB, 2 / 979 ms.
セグメンテーション違反です


197 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 12:30:26.06 ]
socket.ioでチャットもどきを作ってるんだけど、クライアントから受け取る文字数が無制限だから仮に1000KBとか送信されたら死ぬ。

if(message.length >= 100) return; みたいにしてもlengthを調べる前に死んでる。

socket.io使ってる人どうしてる?



198 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 12:31:46.69 ]
クライアント側で文字数規制する

199 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 12:38:32.81 ]
クライアント側なんていくらでも改変可能だから意味ないでしょ


200 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 12:55:40.05 ]
このスレはなぜこの板にあるの?スレタイやスレ文からしてwebprog板ではないの?

201 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 13:33:44.47 ]
俺は普通のCLIスクリプト書くのにたまに使ってる

202 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 14:38:39.73 ]
>>197
そう簡単に落ちるものかな

>if(message.length >= 100) return; みたいにしてもlengthを調べる前に死んでる。
これ、他の理由で落ちてるとは考えられない?

>>198-199
それでも、クライアント側で制限はしておくべき

203 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 16:06:34.61 ]
>>202
正確には落ちるわけじゃなくて、負荷が高すぎて重くなるっていうだけなんだけどね。

どんなでかいデータも全部受信してしまうのが原因で間違いないと思う。

何バイトまで受け取るってのを設定できればいいんだが、ライブラリ追った限りでは無理だった。

一応クライアント側でも対策してみる。

204 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 17:59:47.57 ]
on('data')で受け取ってる段階で制限オーバーしたらコネクションを切断するとかそういう問題じゃなくて_

205 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 18:11:26.47 ]
>>203
メモリ管理を自前で実装というのは面倒くさいな

206 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 18:13:44.80 ]
あぁアンカは関係ない・・・
ただのミスだ・・・

207 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 18:57:05.26 ]
>>204
GET、POSTならそれで良いけどソケットだとon('data')が呼ばれるのは受信が完了したときだから手遅れだな
node.jsのモジュールから修正しないとどうにもならないかもしれん



208 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 19:08:57.61 ]
pipe使ってハンドリングできないものかと考えてる

209 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 00:24:22.46 ]
getやpostを使えば
コメント:<input type="text" id="comments" value="">
に書かれたコメントを受け取れるって認識でおk?

210 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 00:26:18.48 ]
そんな単純な脆弱性がデフォで対策されてないことに驚いた。
socket.io使ってるアプリ全滅するんじゃね。

211 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 03:01:09.75 ]
cannot find module 'connect'が攻略できなくて困る

212 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 13:20:30.44 ]
www.dotup.org/uploda/www.dotup.org2371733.png
このようなerrorが出た場合の対処法を教えていただけないでしょうか?

213 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 13:27:25.80 ]
エラーメッセージをよく読め。
中腹あたりにhas no method createServerって書いてある。
その次の行にそれが発生した行が書かれてる。

214 名前:212 mailto:sage [2011/12/12(月) 13:35:21.35 ]
>>213
ありがとうございます
調べてきます

215 名前:212 mailto:sage [2011/12/12(月) 15:24:09.84 ]
ttp://d.hatena.ne.jp/replication/20110307/1299451484
ここの方のものを試しているのですが上手くいかないです

216 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 15:42:21.59 ]
expressが入ってないとかじゃないの

217 名前:212 mailto:sage [2011/12/12(月) 16:30:49.73 ]
expressはちゃんと使っています



218 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 18:33:03.54 ]
>>215
>>216 が言いたいのはきっと、インストールしているかってことだよ

node.js 入れただけじゃ、express は使えないよ

219 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 19:37:51.41 ]
先頭行にでもdebugger;って埋め込んで
node debug get2.jsで起動してデバッグするのが一番楽な気がする
可能ならnode-inspectorなんだろうけど
あれって意外と微妙

220 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 19:52:16.30 ]
node.jsで、Errorクラスを継承するときの、ベストプラクティスはありますか。
自分でやってみたけど、throwしたときにstackが設定されないなど、問題があって、うまくいきません。

function FooError(message) {
Error.call(this, message);
this.message = message; // なぜ必要?
}
//FooError.prototype = new Error();
//delete FooError.prototype.stack;
FooError.prototype.__proto__ = Error.prototype;
FooError.prototype.constructor = FooError;

Errorを継承する際の、決定版となる方法がしりたいです。お願いします。

221 名前:212 mailto:sage [2011/12/12(月) 21:10:57.64 ]
>>218
一応githubを使ってexpressのフォルダを同じフォルダに入れています.
expressを入れていない時のエラー文はこうなっています
www.dotup.org/uploda/www.dotup.org2373091.png


222 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 22:31:10.28 ]
ダウンロードとかgit cloneとかじゃなく
npmで入れたら?

223 名前:212 mailto:sage [2011/12/12(月) 23:47:42.54 ]
npmをインストールしてもERRが多いのでgithubで行いました
どうにかならないでしょうか?

224 名前:212 mailto:sage [2011/12/13(火) 09:13:27.56 ]
解決しました

225 名前:212 mailto:sage [2011/12/13(火) 09:14:17.13 ]
解決しました

226 名前:212 mailto:sage [2011/12/13(火) 14:33:15.72 ]
http.createServer();
express.createServer();
上記の2つを1つのjsで共存することは可能ですか?
出来ればやり方が知りたいです


227 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 21:34:39.61 ]
node.js 0.6.3をインストールしてるんだけど、assert.jsのソースが見つからない。
find 0.6.3 | grep -i assert
しても、ファイルはなし。
assert.jsのソースがみたいんだけど、どこにあるの?



228 名前:デフォルトの名無しさん [2011/12/14(水) 00:07:09.74 ]
lib/assert.jsだよ

229 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 01:28:58.50 ]
app(x,y){
var mon;
mon = x + y;
};

このクライアント側で作ったxとyの中身を足したmonをサーバーサイドへ送るにはgetを使うのですか?

230 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 12:25:35.15 ]
>>224-225
解決したのはいいけど、せめて原因くらい書いておこうよ

>>226
どう共存させたいのか

var server = http.createServer();
var app = express.createServer();
// 略
sever.listen(8001);
app.listen(8002);

例えば、ポートを分けるとか

>>229
POST でも渡せる

231 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 15:04:41.32 ]
>>230
書き込み用のHTMLと書き込み内容を表示させるためのHTMLを作り、
書き込み用のHTML内に書き込み内容を表示させるためにiframeを使いたいです
appの方で書き込み用のHTMLから変数を受け取りserverの方でserver-sent eventを使い表示用のHTMLに送信しようと思います
appでindex.html、serverでindex2.htmlを読み込ませ
sever.listen(8001);
app.listen(8002);
とした場合
<iframe src="リンク先" height="80">
上記のリンク先には127.0.0.1:80とindex2.htmのどちらを入れればよいでしょうか?

232 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 15:49:53.12 ]
とりあえず
nodeとかに手出さずに
PHPなりrubyなりPythonなりperlなりで
サーバサイドとクライアントサイド両方の勉強しておいで

233 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 17:51:35.34 ]
node.jsでは正規表現使えない?
b = a.match(/[0-9a-zA-Z_]/);でエラーが出るんだが

234 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 18:01:46.49 ]
>>233
勿論、使える

それと、/[0-9a-zA-Z_]/ としたいなら、/\w/ って書いたら?
エラーが出たのならエラー内容を書かないとわからないよ

正規表現についての質問は、他のスレでね

235 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 18:07:58.71 ]
こんなエラー
Error: Object #<Object> has no method 'match'

236 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 18:15:00.41 ]
>>235
考えられる原因は、変数 a が String ではない
もしかして、ファイルを読み込んで、それを正規表現で判定してる?
fs.readFile() 等で取得できる data は、String じゃなくて Buffer
だから、data.toString('utf8') して String に変える必要があるよ

237 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 19:01:05.66 ]
>>233 はマルチ臭いぞ

+ JavaScript の質問用スレッド vol.93 +
toro.2ch.net/test/read.cgi/hp/1323498887/

68 :Name_Not_Found:2011/12/14(水) 18:01:25.16 ID:???
IEで正規表現は使えない?
matchでエラーが出るんだけど

70 :Name_Not_Found:2011/12/14(水) 18:13:30.97 ID:???
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ServerSentEvent</title>
</head>
<body>
<script type="text/javascript">
var a = { comments: 'kom' };
var b = a.match(/[0-9a-zA-Z_]/);
document.write(b);
document.write(a);
</script>
</body>
</html>

IE9で上記のHTMLを起動するとmatchが云々言われる
www.dotup.org/uploda/www.dotup.org2380051.png




238 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 19:41:18.31 ]
Rhinoとかnode.jsとかいろいろあるみたいですが、実装が違うだけで言語仕様は同じものなんですか?
基本的には同じだけどそれぞれ拡張されていて方言があるとかですか?
中身以前の質問ですみません

239 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 22:59:04.91 ]
>>238
言語仕様があるという考えよりもブラウザごとに実装してるポイントが違うので
その最小公約数が Common.js みたいな捉え方を俺はしているが…

サーバーサイドのjsはまたちょっと違うから rhino はサーバーサイドなのか?
Javaでやるなら tomcat とか使いそうな印象があるが…ちょっと俺は知識不足で
上手く説明できないんだけど…

240 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:04:33.72 ]
最大公約数: greatest common divisor
最小公倍数: least common multiple

最大公約数の間違いだな。ボケてますな駄目ですな…

241 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:17:41.60 ]
どちらかといえば最小公倍数だと思うが

242 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:25:45.60 ]
最大公倍数だお

243 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:46:58.89 ]
function push(x){
var com = x;
return com;}
これでサーバーサイドに送り
http.createServer(function (req, res) {
if(req.method=='POST') {
var body='';
req.on('data', function (data) {
body +=data;
console.log(body);
var str = new String(qs.parse(body));
var reg = /comments=(\S*)/;
var x = str.match(reg);
console.log(x);
a = data;
});
こちらで受け取ります
console.logを見ると
comments=○○ //○○は受け取った変数
null
となります.
どうにかして○○の部分を抜き出せないでしょうか?

244 名前:238 mailto:sage [2011/12/15(木) 07:49:46.57 ]
どうもありがとうございますm(_ _)m

245 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 18:15:24.58 ]
var express = require('express');
var app = express.createServer();
app.use(express.bodyParser());
app.post('/', function(req, res){
console.log(req.body);
  var str = new String(req.body);
var reg = /{(\S*):\s'(\S*)'/;
var x = str.match(reg);
console.log(x[2]);
res.send('');
});
app.listen(3000);

上記を起動し
curl -d hoge=node localhost:3000/
と入力すると
console.log(x[2]);
の部分でエラーが起こります。
解決方法はないですか?


246 名前:デフォルトの名無しさん [2011/12/15(木) 18:35:13.70 ]
var str = new String("hoge=node");
これ実際に動かしてみろよ

247 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 21:03:22.26 ]
>>246
www.dotup.org/uploda/www.dotup.org2384257.png
同じようにエラーが出ます



248 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 21:09:20.47 ]
matchをstring以外に使ってエラーが出たとマルチポストしてた人か

249 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 21:14:43.29 ]
このerrorさえ取り除ければなんとかなると思うんです

250 名前:デフォルトの名無しさん [2011/12/15(木) 21:22:33.52 ]
>>247
テメーの書いた正規表現がクソ
hoge=nodeにマッチしないからxがnullになって落ちる
あとnew String(req.body)を使うより'' + req.bodyのほうが3倍速い

251 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 21:29:36.81 ]
Node.js のサイトがリニューアルしたな
v1 リリースも近いのかな

252 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 21:35:27.63 ]
>>250
5行目の
console.log(req.body);
を見ると
{}hoge: 'node'}
となっているので
var reg = /{(\S*):\s'(\S*)'/;
としたのですがダメなのですか?

253 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 21:39:39.01 ]
>>252
試しに、console.log(String(req.body)); と打ってごらん。それが答えだ

254 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 21:46:37.58 ]
出来ました
けどObjecktと表示されてしまいますね・・・
どうにかならないでしょうか?

255 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 21:55:33.65 ]
>>252
ああ、expressを使ってるから飛んできた時点でもうオブジェクトになってんのか
それならわざわざ文字列にして正規表現を使うまでもなく、req.body.hogeだけでいいだろ

256 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 21:57:31.92 ]
>>254
{ hoge: 'node' } の中身、"node" の部分を取得したいのなら

console.log(req.body.hoge); // 'node'

それと、Node.js をはじめる前に、もう少し JavaScript を知ったほうがいいよ

257 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 22:02:01.13 ]
最近流行りなのかJavaScriptをろくに知らない人がnodeをはじめる。
いいことだけどめんどくさいな。

>>250
はやいけど、newなしのString(str)のほうが見た目分かりやすいと思うが。




258 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 22:52:39.51 ]
php使いだけどnode.jsにするとどのような恩恵があるのですか?


259 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 23:30:20.06 ]
>>258
phpで表、node.jsで裏の作業すると捗ります。
node.jsでスクレイピングとかはやめてください。
そのうちpregや再帰が使えないとか愚痴り始めるので。






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

前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