【node.js】サーバサイドjavascript【Rhino】at TECH
【node.js】サーバサイドjavascript【Rhino】 - 暇つぶし2ch2:デフォルトの名無しさん
11/07/08 11:40:14.07
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

3:デフォルトの名無しさん
11/07/10 03:55:09.90
Node.js の記事を書く人は、シングルスレッドのイベントループが
昨今の CPU 設計のトレンド(クロック上昇を抑えたマルチコアの
プロセッサ)と相性が必ずしも良くない事にきちんと触れた方が
いいと思うわ。

その上で、それを克服する方法としてロードバランサー等の技術を
きちんと紹介すべきだと思う。

4:デフォルトの名無しさん
11/07/10 03:59:14.04
URLリンク(jsapp.us)

5:デフォルトの名無しさん
11/07/10 09:08:11.97
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

6:デフォルトの名無しさん
11/07/10 19:58:00.91
URLリンク(nodebeginner.org)

7:デフォルトの名無しさん
11/07/14 16:04:25.52
>>3
URLリンク(blog.asial.co.jp)

8:1
11/07/17 11:59:17.58
ついにwindowsネイティブのnode.exeが公開されました!

URLリンク(nodejs.org)

9:デフォルトの名無しさん
11/07/18 01:56:22.81
可愛くない? メガネとか
URLリンク(www.nicovideo.jp)
URLリンク(www.nicovideo.jp)
URLリンク(www.nicovideo.jp)


10:デフォルトの名無しさん
11/07/18 18:44:28.68
URLリンク(nodeknockout.com)

11:デフォルトの名無しさん
11/07/27 08:54:06.64
cygwin で node-iconv をインストール出来た人はいますか?
npm または make すると
URLリンク(github.com)
これと同じエラーが出ます

環境は
node 0.4.10
node-iconv 1.1.2 or 1.1.3

どうかお助けを…

12:デフォルトの名無しさん
11/07/28 13:29:20.90
curl URLリンク(npmjs.org) | sh <<EOF
yes
EOF

こうやってるのに、なんで自動でyesが入力されないのん?(´・ω・`)

13:デフォルトの名無しさん
11/07/28 15:51:32.22
shの仕様的にstdinはcurlのstdoutだろ。
最後にpipeの処理するから。

一旦ダウンロードしてから、
echo yes | sh install.sh
すれば?

14:デフォルトの名無しさん
11/07/28 16:09:15.65
>>13
> echo yes | sh install.sh

早速やってみますた
だけども…やっぱり入力を求められまする
うーん

15:デフォルトの名無しさん
11/07/28 16:24:25.54
/bin/sh scripts/clean-old.sh < /dev/ttyしてるみたいだな。
スクリプトいじるか、諦めるか、expectスクリプト書け。

サーバサイドの人の作るインストーラはCUI的な検討が甘いなw

16:デフォルトの名無しさん
11/07/28 16:29:13.45
>>15
うぐぅ
あっしには無理なのでここで諦めまする
自動化したかったのに、まじでこんちくしょーでありんした(´・ω・`)

17:デフォルトの名無しさん
11/08/01 12:00:02.60
>>11
Makefileに
LIBICONV += /usr/local/lib/libnode.dll.a
を足したら、makeまではとりあえず通った。

18:デフォルトの名無しさん
11/08/01 14:12:27.68
>>17
それやって
makeでけた
make installもでけた
でも動かない(´・ω・`)

19:デフォルトの名無しさん
11/08/03 11:11:15.34
しつもん。
URLリンク(journal.mycom.co.jp)
に、TameJSというライブラリが紹介されているんだが、そのなかで、
await { ...文... }
という、まるでRubyのブロックのような書き方がされてたんだけど、
JavaScriptでこんな書き方ってできたっけ?

20:akiyan
11/08/03 12:15:40.81
できません

はい、次

21:デフォルトの名無しさん
11/08/03 16:42:01.53
>>20
じゃあなんでTameJSではできてるの?

22:akiyan
11/08/03 18:43:19.07
お前の質問答えてるほど暇じゃありません。

23:デフォルトの名無しさん
11/08/03 20:02:45.09
>>19
それはライブラリというよりトランスレータだね
TameJS 用の記法で書いたコードを JavaScript に変換するマクロみたいな物

24:デフォルトの名無しさん
11/08/03 22:13:21.31
>>23
なるほど!そういうことでしたか。ありがとうございました。


25:デフォルトの名無しさん
11/08/04 12:02:54.34
関数型Javascriptが出る悪寒

26:デフォルトの名無しさん
11/08/04 19:58:20.40
JavaScript が上級者にも好まれているのは、関数型言語の特徴を既に備えているからだぜ
ある程度 JavaScript の経験があれば、関数を返す関数とか、関数を引数にとる関数を
自然に書いている筈

27:デフォルトの名無しさん
11/08/04 23:52:11.33
>関数を返す関数とか、関数を引数にとる関数を

それが関数型言語?w

28:デフォルトの名無しさん
11/08/04 23:54:30.94
煽る前に自分で調べろよ

29:デフォルトの名無しさん
11/08/04 23:54:55.90

akiyanPKしたい

30:デフォルトの名無しさん
11/09/05 19:36:12.23
node.jsサイコー
現在socket.ioつかって大規模chatつくってる
>>3 webworkerで解決

31:デフォルトの名無しさん
11/09/06 22:18:20.15
サーバサイドjavascriptの狙いって
ajax(xml)使わないでソケット通信するところかな

32:デフォルトの名無しさん
11/09/07 07:49:47.22
>>31
サーバーサイドとクライアントサイドの言語の統一により、プログラマーの負担減らす
言語同じだからクライアントで作ったソースをサーバーに流用できる
socket.io webworker等の最新技術を扱える
などの利点がある

まあPHPあんまり好きじゃない俺にとってはものすごくありがたいが
とりあえず言語が同じだからどっちも同じコードでサニタイズできるのは便利だ

33:デフォルトの名無しさん
11/09/07 22:28:35.14
>>32
えー
それだったらjavaとかc#がjavascriptの代わりに
ブラウザで動くようにブラウザ側が対応してほしいや
まあしばらく様子だな



34:デフォルトの名無しさん
11/09/07 22:38:11.74
Google ChromeのNative Clientってのがそれっすかね
Google Chrome限定だけど

35: 忍法帖【Lv=11,xxxPT】
11/09/08 00:01:18.12
>>33 もともとJSはブラウザ用に作られたものだからブラウザ上ではJSには勝てんと思う
サーバーサイドも例えばnode.jsは速度が必要な処理はCとかで書けるから使いようによっては便利だと思われ


36:デフォルトの名無しさん
11/09/08 17:37:31.56
そもそもプラットフォーム非依存で
スクリプトてのが利点なのに
javaはまだしもMS縛りのC#は論外だけどな
そのうちネイティブコードはllvmがなんとかしてくれると信じときな

37:デフォルトの名無しさん
11/09/08 23:13:01.93
クライアントサイドとサーバーサイドの開発で、
開発者にとって言語の切り替えが不要なとこに意味あるんじゃねーの?

38:デフォルトの名無しさん
11/09/08 23:38:05.17
拡張はc++で記述する形式なので c <- c++ <- node.js の三段階
構成になるのがすこし気になるが…
あと意外とphp+flashのシステムが今後も手強いかなぁという印象はあるか…

Flash Player 11RC登場 - 64ビット対応と3D機能に注目 | エンタープライズ | マイコミジャーナル
URLリンク(journal.mycom.co.jp)

39:デフォルトの名無しさん
11/09/09 01:45:22.32
必要な場面がブラウザゲーぐらいしか思い浮かばない
企業広告レベルだとcanvasに駆逐されねぇ?

40:デフォルトの名無しさん
11/09/09 07:22:28.70
動画や音声の著作権管理配信はHTML5+JSにならずFlashのままだと思う・・・たまにSilverlight

41:デフォルトの名無しさん
11/09/10 00:06:15.46
>>39 それはクライアントサイドの話では…
>>40 flashでやっていたことがJSで出来るようになったんだからflashでしかできないこと(カメラ操作とか)以外はHTML5になると思う
flashの方が簡単とは言うがそれは制作ツールの問題で、事実Macのhype(5でムービーとか作成するツール)などはかなり使いやすい

なんと言っても検索エンジンのロボットがプログラム読めないのはflashの欠点だろう

42:デフォルトの名無しさん
11/09/10 21:40:10.36
重くて不安定てだけでもFlashいらね

43:デフォルトの名無しさん
11/09/14 17:41:16.52
Flashはjavaくらいのリフレクションが欲しいな。
でも起動が遅くなるかも

44:デフォルトの名無しさん
11/09/18 17:26:28.41
はやくhtml device実装されねーかな
フラッシュ切りの方向ならフラッシュで出来ること全部実装しろや

45:デフォルトの名無しさん
11/09/18 20:54:48.67
jsLinuxの次は、htmlinuxか?w

46:デフォルトの名無しさん
11/09/19 20:53:29.43
ブートするのに半日
shellまで行くのに更に半日だな

47:デフォルトの名無しさん
11/09/20 12:11:34.89
>>45>>46
HTML5をまるで理解してないのが分かるな。

48:デフォルトの名無しさん
11/09/20 12:46:17.42
なにそれこわい

49:デフォルトの名無しさん
11/09/28 08:30:21.45
みんな東京node学園行った?
何だかんだJAVAやPHPが主流でSSJSはマスターベーションで終わりそうだよね
JavaScript好きだから個人的には流行って欲しいけど

50:デフォルトの名無しさん
11/09/28 08:47:20.30
コールバックだらけで使いにくい

51:デフォルトの名無しさん
11/09/28 09:11:52.66
Google Dartが本命。

52:デフォルトの名無しさん
11/09/28 15:27:59.22
サーバーサイドに投げる必要のないものまで全部Ajax化して
サーバーサイド言語で全部書かせるのが主流の流れじゃないの?

53:デフォルトの名無しさん
11/09/28 15:28:15.39
サーバーサイドに投げる必要のないものまで全部Ajax化して
サーバーサイド言語で全部書かせるのが主流の流れじゃないの?

54:デフォルトの名無しさん
11/09/28 16:41:12.33
大事?

55:デフォルトの名無しさん
11/09/28 16:50:28.17
サーバーはJSONみたいにシンプルなデータだけ吐いて
あとはクライアントサイドで料理するって形が多いんじゃね

56:デフォルトの名無しさん
11/09/28 17:58:38.40
>>53
逆でしょ
極力クライアントで処理するって考えは今と変わらないよ
SSJSのメリットは言語1本化が主じゃね?


57:デフォルトの名無しさん
11/09/28 19:29:53.08
>>57
ブラウザゲームのようにクライアント側で
パフォーマンスが重要なコンテンツの場合
jscriptをクライアントで処理する必要があるね。
このような分野でかつ、開発環境を統合しようとすれば
SSJSに必要性を感じるかもしれない。

だがサーバー側の処理が主でクライアント側がオマケみたいな
業務系アプリとかだとJavaとか.Netでサーバー作るのが望ましい。
こちら側のフレームワークがAjaxに全て投げる方式に流れるのは明らか。

58:デフォルトの名無しさん
11/09/28 19:31:05.03
連投したうえに今度はアンカーミスった
すまん。

59:デフォルトの名無しさん
11/09/28 19:34:19.39
いいよいいよ

60:デフォルトの名無しさん
11/09/28 22:24:16.90
node.jsはいじって面白いからいんじゃね

61:デフォルトの名無しさん
11/09/28 22:46:30.93
サーバ/クライアント合わせて1箇所で書けるMVCアプリケーションフレームワークみたいなの無いの?


62:デフォルトの名無しさん
11/09/29 01:01:24.19
>>61
意味がわからん
1箇所に書きたい、かつエムブイシーに分離したい、ってどういうこと?

63:デフォルトの名無しさん
11/09/29 08:04:02.46
>>61
よく分からんがQt.jsはJavaScript好きなら面白いよ

64:デフォルトの名無しさん
11/09/29 08:41:52.47
一カ所っていうか、透過的にというか?
RailsでMVCやって、クライアント側でもBackbone.jsでMVCやって、とかやってると
モデル重複して書いてるなーとか、サーバ/クライアントでテンプレート共有したいなーとか思わない?
サーバ/クライアントまとめて一つのアプリケーションと見なして作りたいってこと

65:デフォルトの名無しさん
11/09/29 10:07:41.04
URLリンク(ja.wikipedia.org)

昔からあるが、それほど誰もやらないのは訳があるような
窓でテストしにくい。結局環境二つ用意する必要がある

あと css と html を一緒に処理できないとあまり意味がない
html 書いて、そこからコールバック書いて、との作業手順
自体から引っくり返せる仕組みが思いつかん…

66:デフォルトの名無しさん
11/09/29 14:26:00.23
html, css, scriptを統合するならオブジェクトにするのがいいと思う。

んでSwingとかWinFormみたいなオブジェクトモデルでGUIを構築したいけど、
複雑で動的な部分が楽になる一方で単純で静的な部分が冗長になるから致命的
ってのがオレオレフレームワークを作ってみての印象。


FlexとかSilverLightはオブジェクトモデルをベースに
xml/htmlベースの設定ファイル方式を持ち込んだけど(xaml,mxml)

今度はweb側がxml/htmlベースの設定ファイル方式をベースに
オブジェクトモデルを持ち込んで複合化したらいんじゃないかなぁ。


67:デフォルトの名無しさん
11/09/29 15:39:20.72
デバッグが致命的に面倒そうだな

68:デフォルトの名無しさん
11/09/30 07:09:13.43
>>61
Qtって今はNokiaのQt?詳しく教えて

69:デフォルトの名無しさん
11/09/30 21:35:48.38
>>67
そう。javascript関係ないところが面倒になる。
Swingとかのデバッグと全く同じ問題点が入りこむからね。

オブジェクトモデルのSwingやWinFormは画面のデザインを変更したら
コンパイルして実行して見てチェックしないといけないところが欠点。

だからhtmlのようにxml系で画面の静的な部位に対して設定ファイルを持ち込むか
VBやホームページビルダーのようなGUIからの自動生成ツールが持ち込まれた。

一方で、オブジェクトモデルは画面の動的な部分が楽。
だまあ今あるハイブリッドなフレームワークはどれも失敗に終わりそうだけど。

70:デフォルトの名無しさん
11/09/30 21:51:01.13
分散オブジェクトが盛んだった頃に盛んに研究されたけどね。

71:デフォルトの名無しさん
11/09/30 22:14:10.86
して研究成果は

72:デフォルトの名無しさん
11/09/30 22:27:31.66
時間の無駄との結論

73:デフォルトの名無しさん
11/10/01 07:40:23.49
言語とかでもそうだけど一昔前に捨てられた概念が華麗に復活することもなきにしもあらず

74:デフォルトの名無しさん
11/10/01 17:33:22.38
オブジェクトモデルってなに
htmlやxmlはオブジェクトじゃないの

75:デフォルトの名無しさん
11/10/01 17:33:50.07
ツールつかったらモデルが変わるの

76:デフォルトの名無しさん
11/10/01 21:01:28.34
>>74
C#とかのGUIプログラムやXMLのDOMプログラムがオブジェクトモデル。
htmlやxmlはマークアップテキスト。

77:デフォルトの名無しさん
11/10/02 01:03:32.73
なにいってんのか意味わからんw

78:デフォルトの名無しさん
11/10/02 03:24:57.79
そこのその用語を使うの?って感じで俺も何をいってるのかわからんな

79:デフォルトの名無しさん
11/10/03 20:03:35.52
>>68
Qt.jsでググれ
C++のフレームワークのQtだよ

80:デフォルトの名無しさん
11/10/04 19:30:13.89
DOMプログラムって何。XMLParserの事?
それどもDOM-API使ったプログラム?
後者ならコンパイル不要のJavaScriptっていう言語もあるわけですが。

81:デフォルトの名無しさん
11/10/04 20:45:47.99
元もおまいも的外れ過ぎな…

82:デフォルトの名無しさん
11/10/04 23:00:32.58
GWTがまさにそれなんじゃないの?

83:デフォルトの名無しさん
11/10/05 18:11:33.39
node.jsとかで作ったプログラムを動作させるためには
クライアント側にも何か特別な環境が必要なの?

84:デフォルトの名無しさん
11/10/05 18:36:08.56
いらん

85:デフォルトの名無しさん
11/10/05 18:39:07.02
>>84
thx
それはいいな

86:デフォルトの名無しさん
11/10/05 22:29:28.81
実行ファイルなんて今の段階で作れたっけか…
webアプリならいらなそうだけどでもそれnodeじゃないいやnodeなのかサバーサイドの

87:デフォルトの名無しさん
11/10/05 22:45:59.78
「クライアント側にも」

88:デフォルトの名無しさん
11/10/05 23:07:18.51
>>86
使ったことないんだろ
cliのツールとか色々あるぞ


89:デフォルトの名無しさん
11/10/07 02:28:21.11
How to build C++ native module under Windows?
URLリンク(groups.google.com)
URLリンク(www.mingw.org)

そいや!と windows で配布できる形式でというのが
なかなか厳しそうだなと。蔵もlinuxで決め打ちできればとそうも行かないんだなとか

90:デフォルトの名無しさん
11/10/07 08:20:06.02
>>89
そこが1番ハードルあげてるような気がする
試してみようとしてもwinユーザーが多いし
ある意味ここでかなりフィルタ掛かってそうw

91:デフォルトの名無しさん
11/10/07 13:33:43.98
むしろその方がいんじゃね

92:デフォルトの名無しさん
11/10/07 21:45:13.49
>>91
まぁね
フィルターで弾かれた技術者はそれまでだしね

93:デフォルトの名無しさん
11/10/09 21:45:55.31
>>92
んなこと言っても普及しなきゃ意味がない、というか、オナニーだろ

94:デフォルトの名無しさん
11/10/09 23:44:53.18
今時windowsしか使えないような
ソフトエンジニアなんていねえだろ

95:デフォルトの名無しさん
11/10/10 16:35:08.93
Dartキタ
URLリンク(www.dartlang.org)

96:デフォルトの名無しさん
11/10/10 17:03:48.35
なんかjsとjavaの間ぐらいの感じだな
覚えるのは楽そうだ

97:デフォルトの名無しさん
11/10/11 08:57:56.09
>>95
インストールや設定はnode.jsより遥かに敷居が低いね
CとC++とJavaとJavaScriptを混ぜた感じ

98:デフォルトの名無しさん
11/10/11 12:30:04.73
>CとC++とJavaとJavaScriptを混ぜた感じ
なぜか最悪という言葉が頭をよぎった

99:デフォルトの名無しさん
11/10/11 18:40:22.28
>>98
classとprototypeのカーニヴァルが今、始まる

100:デフォルトの名無しさん
11/10/14 06:08:13.79
>>61
そこまで理想的ではないけどSocketstreamがいい線いってないかな
0.3のリリースを結構楽しみに待ってる

101:デフォルトの名無しさん
11/10/26 02:38:56.10
初めて聞いたんだが

サーバーサイドっていうことは
常に起動してるアプリがあるってことか?

javaScriptサーバー起動 ⇒ ブラウザからアクセス ⇒ 処理 ⇒ HTMLを返す

こんな感じ?

102:デフォルトの名無しさん
11/10/26 02:39:13.56
ん?結構過疎ってるなw

103:デフォルトの名無しさん
11/10/26 03:06:01.11
>>101
基本的にはそうだよ
ただ、Nodeに関して言えば
あれは、webサーバが楽に書けるということを主体とした汎用スクリプト言語というだけであって
それこそwebサーバはもちろんだが、gemのようなモジュール管理のためのコマンドライン用のプログラムやら
他言語からJSへのコンバータからX window用のウィンドウマネージャまで色々書かれてある

104:デフォルトの名無しさん
11/10/26 08:01:34.85
>>101
サーバーサイドで動いてる他言語も同じじゃん


105:デフォルトの名無しさん
11/10/26 09:00:20.11
わざわざjavascriptをHTMLで返すメリットがわからん

106:デフォルトの名無しさん
11/10/26 11:01:37.59
>>105
え?

107:デフォルトの名無しさん
11/10/26 12:10:24.33
>>105
post、getとsubmitしまくるのかよw
動的ページはCSSのみっすか?

108:デフォルトの名無しさん
11/10/26 15:24:16.99
import の仕組みが onload 一点押しというのは。一にセキュリティ上の配慮からくる制約。
ぼんぼん俺は好きなときにスクリプトが走らせるぜ。ふざんけな即ブロック。

そしてそんな駆け引き。
という歴史的経緯も多少関係あるようには思う。importする順とか上から順に解釈されてゆくし
そこらへん見えなくなっても仕組みは変えられないし。じゃぁ直接埋め込んで置けばいいんでね?と

109:デフォルトの名無しさん
11/10/26 16:54:40.60
え?

110:デフォルトの名無しさん
11/10/26 19:48:35.05
>>103
なんじゃそら?
と思ったらほんとにWMあるのなw
面白い情報ありがと

111:デフォルトの名無しさん
11/11/05 10:25:41.51
ちょっと興味があったので寄ってみました。
node.jsでチャット作るとしたら、
同時接続数の上限とかどんなかんじでしょうか?
rootないレンタルサーバでも動くんかいな?

112:デフォルトの名無しさん
11/11/06 11:56:31.08
>>111
ググれ
レンタル鯖だと使えない会社は多い

113:デフォルトの名無しさん
11/11/07 19:57:39.15
node 0.6が出たのでageてみる

114:デフォルトの名無しさん
11/11/08 20:18:05.89
ubuntu 11.10 で テストしてみたけどlinuxとかだとディストリの
package manager使ったほうが圧倒的にラクだな
$sudo apt-get install npm & apt-get install coffeescript
現時点だと
npm 経由で coffee をいれると version 1.1.2
apt-get 経由だと version 1.1.1

窓もテストしてみたけどnodeのnpmでcolorsぐらいは動いたけど
coffeeの入れ方とか地味に何やってるのかわからんね。あれは。
モジュールのパスの通し方とかそもそもcoffee自体がnpm経由で
のインストールとか窓に対応してない予感。とりあえず撤収。

115:デフォルトの名無しさん
11/11/08 21:13:14.88
ubuntu自体が提供してるnpmは古いからなぁ
どこかのppaが提供してる物でないと使い物にならないぞ



116:デフォルトの名無しさん
11/11/08 21:24:57.93
node6.0でnpm使うとバージョンチェックではじかれて使えないとかワラエナイ

117:デフォルトの名無しさん
11/11/08 22:32:21.07
npmのディレクトリ内にあるpackage.jsonの中にある
enginesって項目を"node" : "0.4 || 0.5 || 0.6"に書き換えて
npmのアップデートしろ

ついでに言えばnode自体もまだ0.6.0な

118:デフォルトの名無しさん
11/11/08 22:54:42.00
そんな面倒なことしないといけないのか・・・

119:デフォルトの名無しさん
11/11/08 23:03:58.53
npm入れなおしでも良いよ
というかアップデートの順番は
npm -> nodeの順でないと
nodeのバージョンチェックしてるからね
それが面倒ならnvmなりnaveなりを使うべきだと思うよ

120:デフォルトの名無しさん
11/11/09 01:49:08.62
nave新しいバージョンを指定するたびに10分はかかるコンパイルをやり始めるから嫌い

121:デフォルトの名無しさん
11/11/10 02:28:00.48
js初心者なんですけど、オススメのIDE教えてくだしあ。
やるのはnodeです。
できれば、かっこを上手に整形できる機能があるやつだと嬉しいです。

122:デフォルトの名無しさん
11/11/10 08:00:01.92
>>121
Emacs

123:デフォルトの名無しさん
11/11/10 08:02:35.35
>>121
間違えたw
IDEなら差ほど変わりはなくね?
好きなの使えば?

124:デフォルトの名無しさん
11/11/15 20:10:07.53
jsdo.itとjsapp.usがあればIDEなんていらないな

125:デフォルトの名無しさん
11/11/15 23:09:22.63
>>124
node.jsにも対応したんだ?

126:デフォルトの名無しさん
11/11/17 18:34:37.46
v0.8 Roadmap
URLリンク(mail.google.com)
>The current target for a v0.8 release is early January.
>We will continue weekly v0.6 releases throughout v0.8 development.

- Get rid of WAF. All platforms will build using GYP. (Ben, Ryan)
URLリンク(github.com)

0.8 に向けてロードマップが出てきてるな
早いな…そしてビルドシステム周りはいろいろ試行錯誤の段階っぽいな…

127:デフォルトの名無しさん
11/11/17 20:08:01.31
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
name = window.prompt("入力してください", "");
res.end(name);
}).listen(10001, "127.0.0.1");

error出るんだけどどうしたら良いですか?

128:デフォルトの名無しさん
11/11/17 20:31:39.89
name = window.prompt("入力してください", "");
これは何のつもりだ。クライアント側で実行される訳ではないぞ。

129:デフォルトの名無しさん
11/11/17 20:48:19.74
んじゃなにか入力してもらうときはどうしたら良いん?

130:デフォルトの名無しさん
11/11/17 21:03:23.48
その前に何故、node.jsを選んだのか説明してもらおうか

131:デフォルトの名無しさん
11/11/17 21:07:25.05
javascript サーバーで引っかかった

132:デフォルトの名無しさん
11/11/17 21:08:45.87
あとチャットぽいものを作れればいいなぁと思ってjavascriptを勉強してる

133:デフォルトの名無しさん
11/11/17 21:22:24.66
サーバサイド、クライアントサイドの違いの勉強と
JavaScriptのさらなる勉強を先にすべきだな


134:デフォルトの名無しさん
11/11/17 22:13:23.59
無理せずVisial某を使っとけば

135:デフォルトの名無しさん
11/11/17 23:29:00.76
>>132
いきなりnode.jsかよ
まぁあれだ、どーしてもというならYOU TUBEで検索すりゃ10分で作れる

136:デフォルトの名無しさん
11/11/19 10:40:37.41
URLリンク(scan.netsecurity.ne.jp)
tokuhirom、ma.la?っていう人の話だけ聞きたい
色々なスレで見かけるけどWEB業界で有名らしいね
動画ありませんか?

137:デフォルトの名無しさん
11/11/19 11:19:27.65
URLリンク(ja.avtokyo.org)
>参加費: 前売り 5,000円 (オンライン受付) 
>当 日 8,000円 (現金のみ)

結構参加費掛かってるみたいだし動画は無いんじゃないかな…

138:デフォルトの名無しさん
11/11/19 11:53:36.98
avtokyoは動画配信も予定してないって書いてあったし
同様の行為も禁止しますって書いてあったから無いと思うよ

139:デフォルトの名無しさん
11/11/20 00:57:45.64
node.jsは公式サイトだと、hello worldのサンプルぐらいしか
初心者にわかりやすいチュートリアルが無いのが痛い
railsみたいに15分でブログ作るみたいな、わかりやすいのがない

140:デフォルトの名無しさん
11/11/20 02:30:54.13
わざわざ選ぶくらいの人なら、特にそんなのも必要ないんじゃねーの

141:デフォルトの名無しさん
11/11/20 12:42:23.69
そういうのって流行らない技術の典型なんじゃないの

142:1
11/11/20 14:21:19.21
CSSツールのlessもnode.jsに対応しているし、ディベロッパーのnode.jsへの関心は結構高いようだね。
ちなみにtwitterが公式に公開しているbootstrapもlessで公開されている。

143:デフォルトの名無しさん
11/11/20 15:46:48.87
最近のnodeでless動かなくない?

144:デフォルトの名無しさん
11/11/20 21:34:09.32
本体の update 早いからな…
テンプレートエンジン類の実装はなかなか追いきれないというのは
多少あるかもしれん…

whyさんのcuffeekupを動的実行化した?drykupとか
面白そうだと思うんだが…うむ…

145:デフォルトの名無しさん
11/11/20 21:56:17.38
URLリンク(github.com)

とかいうのもあるな…

146:デフォルトの名無しさん
11/11/20 22:47:48.07
Jade触った後にHamlを触ると要素の頭にいちいち%を付けないといけなくてイライラするよね

147:デフォルトの名無しさん
11/11/21 17:53:01.97
>>133
サーバーサイドとクライアントサイドの違いをようやく理解できたよ

148:デフォルトの名無しさん
11/11/21 19:14:20.85
>>147
それでもまだnode.jsでやる気かよ
いや、まぁ悪いとは思わんけど

149:デフォルトの名無しさん
11/11/23 09:54:41.60
URLリンク(blog.nodejs.org)

いまだと 0.6.2 が安定版だと最新なんだな
windows 64bitで動けばいいんだけど
mingw-64bitの対応待ちかな…

150:デフォルトの名無しさん
11/11/24 08:03:35.32
>>149
サイトのmsiじゃダメなの?


151:デフォルトの名無しさん
11/11/27 12:28:14.33
URLリンク(comments.gmane.org)

0.7系から npm をデフォルトではインストールしない
方向に進みそうかな?それともオプションで選べるようになるか…

ちょっと、いまいちよくわからないけど何らかの変更は
ありそうだね

152:デフォルトの名無しさん
11/11/28 11:43:33.84
node.jsはsocket.io目当てで使いましたが、他に何か面白い使い道ないのかなぁと思ってしまう。
非同期IOでjsっていうnodeにとって、本領の発揮できそうなおすすめなライブラリやネタって何かありますかね?
開発者から見て魅力的なネタやインパクトを出して行かないと今後も流行らないだろうなと危惧してますわ

153:デフォルトの名無しさん
11/11/28 22:08:10.91
いや、流行るだろ
時代はLAMPからJanos(JavaScript + Node.js + NoSQL)とか言われてる

154:デフォルトの名無しさん
11/11/28 22:52:04.58
>>153
ジャノスって読むの?
NoSQLは結局CやJavaで書かれるし、そこまで流行らないんじゃ

155:デフォルトの名無しさん
11/11/28 23:05:35.14
LAMPだってそれぞれ違うでしょ


156:デフォルトの名無しさん
11/11/29 07:59:56.27
NoSQLはドキュメント型ならまだしもKVSは落ち目な気がする。

157:デフォルトの名無しさん
11/11/29 08:03:50.72
NoSQLがしっかり設計できて運用まで出来るエンジニア
node.jsの設置、設定、コーディングが出来るエンジニア

そんなに多いとはとても思えない、node.jsもだがNoSQLのが出来る人少なそう

158:1
11/11/29 12:24:50.96
このような報告もあります

NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現
URLリンク(www.publickey1.jp)

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

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

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

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

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

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

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

165:デフォルトの名無しさん
11/12/02 12:58:48.88
っと思ったらこれだ
URLリンク(www.publickey1.jp)

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

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

167:デフォルトの名無しさん
11/12/03 15:24:57.57
>>166
URLリンク(sugarjs.com) とか?

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

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

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

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

172:デフォルトの名無しさん
11/12/04 15:39:52.85
>>169
そんな事になったらWindowsの個性がないじゃんw

173:デフォルトの名無しさん
11/12/04 23:33:40.43
そんなに使いたいなら普通にbash入れればいいだけの話だしなぁ

174:デフォルトの名無しさん
11/12/04 23:46:34.47
cygwin以外で使えるなら教えてくれ

175:デフォルトの名無しさん
11/12/04 23:53:33.40
URLリンク(sourceforge.jp)

176:デフォルトの名無しさん
11/12/05 00:33:50.64
うわ、めんどくさそ…

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


178:デフォルトの名無しさん
11/12/05 03:01:49.41
cygwin は糞だよ

179:デフォルトの名無しさん
11/12/05 07:42:59.40
使ってないわー
最近Windows使ってないわー

180:デフォルトの名無しさん
11/12/05 10:59:16.90
必要性があんまないもんな

181:デフォルトの名無しさん
11/12/05 12:04:56.82
>>179
やっぱMS-DOSだよねー

182:デフォルトの名無しさん
11/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("URLリンク(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ページでURLリンク(127.0.0.1:3000)をHelloWorldを表示するのですがロードにとても時間がかかってしまいます
またLunascape6.5やIE9、firefox、safariでは表示されますがGoogle Chromeでは表示されません。
何故でしょうか?

183:182
11/12/06 23:44:39.68
>WebページでURLリンク(127.0.0.1:3000)をHelloWorldを表示するのですがロードにとても時間がかかってしまいます
 ↓
WebページでURLリンク(127.0.0.1:3000)を入力し上記のHelloWorld.htmlを表示するのですがロードにとても時間がかかってしまいます

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

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

185:デフォルトの名無しさん
11/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:デフォルトの名無しさん
11/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
11/12/07 10:00:12.34
>>186
とても早くなりました
ありがとうございます

188:デフォルトの名無しさん
11/12/07 12:08:50.82
俺も昔やったな、end忘れ。

189:デフォルトの名無しさん
11/12/08 06:06:23.93
addListener と on の違いがわからない

190:デフォルトの名無しさん
11/12/08 06:48:53.61
IEとその他の話かい?

191:デフォルトの名無しさん
11/12/08 10:06:44.33
もともとaddListenerだたけどonにかわっただけじゃないの?

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

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


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

194:デフォルトの名無しさん
11/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);

URLリンク(127.0.0.1:8124)あぼーん を開くと、「 あぼーん 」と表示されるはず

195:デフォルトの名無しさん
11/12/10 14:05:34.72
amanelis Alex Manelis
At #mongosv, people really do not like #coffeescript..

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

196:デフォルトの名無しさん
11/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:デフォルトの名無しさん
11/12/11 12:30:26.06
socket.ioでチャットもどきを作ってるんだけど、クライアントから受け取る文字数が無制限だから仮に1000KBとか送信されたら死ぬ。

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

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

198:デフォルトの名無しさん
11/12/11 12:31:46.69
クライアント側で文字数規制する

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


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

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

202:デフォルトの名無しさん
11/12/11 14:38:39.73
>>197
そう簡単に落ちるものかな

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

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

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

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

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

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

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

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

206:デフォルトの名無しさん
11/12/11 18:13:44.80
あぁアンカは関係ない・・・
ただのミスだ・・・

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

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

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

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

211:デフォルトの名無しさん
11/12/12 03:01:09.75
cannot find module 'connect'が攻略できなくて困る

212:デフォルトの名無しさん
11/12/12 13:20:30.44
URLリンク(www.dotup.org)
このようなerrorが出た場合の対処法を教えていただけないでしょうか?

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

214:212
11/12/12 13:35:21.35
>>213
ありがとうございます
調べてきます

215:212
11/12/12 15:24:09.84
URLリンク(d.hatena.ne.jp)
ここの方のものを試しているのですが上手くいかないです

216:デフォルトの名無しさん
11/12/12 15:42:21.59
expressが入ってないとかじゃないの

217:212
11/12/12 16:30:49.73
expressはちゃんと使っています

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

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

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

220:デフォルトの名無しさん
11/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
11/12/12 21:10:57.64
>>218
一応githubを使ってexpressのフォルダを同じフォルダに入れています.
expressを入れていない時のエラー文はこうなっています
URLリンク(www.dotup.org)


222:デフォルトの名無しさん
11/12/12 22:31:10.28
ダウンロードとかgit cloneとかじゃなく
npmで入れたら?

223:212
11/12/12 23:47:42.54
npmをインストールしてもERRが多いのでgithubで行いました
どうにかならないでしょうか?

224:212
11/12/13 09:13:27.56
解決しました

225:212
11/12/13 09:14:17.13
解決しました

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


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

228:デフォルトの名無しさん
11/12/14 00:07:09.74
lib/assert.jsだよ

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

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

230:デフォルトの名無しさん
11/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:デフォルトの名無しさん
11/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">
上記のリンク先にはURLリンク(127.0.0.1:80)とindex2.htmのどちらを入れればよいでしょうか?

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

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

234:デフォルトの名無しさん
11/12/14 18:01:46.49
>>233
勿論、使える

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

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

235:デフォルトの名無しさん
11/12/14 18:07:58.71
こんなエラー
Error: Object #<Object> has no method 'match'

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

237:デフォルトの名無しさん
11/12/14 19:01:05.66
>>233 はマルチ臭いぞ

+ JavaScript の質問用スレッド vol.93 +
スレリンク(hp板)

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が云々言われる
URLリンク(www.dotup.org)


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

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

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

240:デフォルトの名無しさん
11/12/14 23:04:33.72
最大公約数: greatest common divisor
最小公倍数: least common multiple

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

241:デフォルトの名無しさん
11/12/14 23:17:41.60
どちらかといえば最小公倍数だと思うが

242:デフォルトの名無しさん
11/12/14 23:25:45.60
最大公倍数だお

243:デフォルトの名無しさん
11/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
11/12/15 07:49:46.57
どうもありがとうございますm(_ _)m

245:デフォルトの名無しさん
11/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 URLリンク(localhost:3000)
と入力すると
console.log(x[2]);
の部分でエラーが起こります。
解決方法はないですか?


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

247:デフォルトの名無しさん
11/12/15 21:03:22.26
>>246
URLリンク(www.dotup.org)
同じようにエラーが出ます

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

249:デフォルトの名無しさん
11/12/15 21:14:43.29
このerrorさえ取り除ければなんとかなると思うんです

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

251:デフォルトの名無しさん
11/12/15 21:29:36.81
Node.js のサイトがリニューアルしたな
v1 リリースも近いのかな

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

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

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

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

256:デフォルトの名無しさん
11/12/15 21:57:31.92
>>254
{ hoge: 'node' } の中身、"node" の部分を取得したいのなら

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

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

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

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


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


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

260:デフォルトの名無しさん
11/12/15 23:33:46.10
>>259さんどうもありがとうございます
リアルタイムな通信に利用はしたいと思っているのでnode.jsは使いたいのですが
phpに出来てnode.jsで実現できないようなことがなければnode.jsのみで構築する事も検討したいのです
全般的にはphpに取って代わるような使い方にはnode.jsは不向きと捉えてよいでしょうか?


261:245
11/12/16 00:11:23.51
もしかしてapp.postで受け取ったものはapp.postの外に持ち出せない?

262:デフォルトの名無しさん
11/12/16 00:12:41.53
>>260
すみません。真面目に答えますね…。
まだ発展途上なのでなんとも言えませんが、
基本的にjavascriptそのままなので、phpのような表示は得意とは言えません。
ただjsdomなどHTMLを扱うライブラリはあります。

nodeはクライアント側jsのajaxのように、イベントリスナでつなぎます。
そしてhttpサーバを介さずスクリプト(node)がhttpサーバーとして、
直接個々のリクエストに答えますので、
httpの特定のURLのアクセスをトリガとするphpとは使い勝手が全く異なります。

非同期処理であれば真価を発揮しますが、逆にそれが必要でないなら、
php+apacheなどの方が楽に構築できると思われます。


263:デフォルトの名無しさん
11/12/16 00:21:36.44
>>262
ご親切な対応ありがとうございます
リアルタイム名部分のみnode.jsに任せて
それ以外の部分はphpを使ってみます

264:デフォルトの名無しさん
11/12/16 12:57:19.46
まさか、Node.js を CGI とかそんな形で使おうとしてないよな
Node.js 上で PHP を使おうとか。出来なくはないが・・・
思い過ごしならいいけど

265:デフォルトの名無しさん
11/12/16 13:02:08.93
nodejs上でphpというnpmはあったとは思うがw

266:デフォルトの名無しさん
11/12/16 18:31:35.87
v0.6.6

267:デフォルトの名無しさん
11/12/16 19:30:13.67
ejs内にjavascriptのコードを書いてみたけど実行されない
そういうものですか?
ejsを表示させると共に文字を記入くれって表示させたいんだけど

268:デフォルトの名無しさん
11/12/16 20:23:03.15
>>261
外っていうのは、ブロックの外?
どこかわからないけど、持ち出すことは出来るはず

>>267
どんなのを書いたか教えて

269:デフォルトの名無しさん
11/12/17 12:48:05.58
【ウェブアプリケーションという不幸 】

現在、多くのプログラマ(素人)が
ウェブアプリケーションというものが
ベストな正しい方向だと勘違いしている。

ソフトウェアの作るにおいて
そのアプリケーションに応じた
状態遷移を実装するというのは
基本中の基本である。

その点においてウエブブラウザという
ある状態遷移が実装されているアプリケーションの上に
また別のアプリケーションを実装するのは
論外である。
そこまでするなら普通にアプリケーションを実装
してダウンロードして使って
もらえばいいのである。

ウェブアプリケーションとは
虚構にしか他ならない。

ウェブアプリケーションを
作ろうとしているあなた。
今すぐ普通のアプリケーション
とし設計し始めては
いかがだろう。
そうすればきっと後悔しないですむ。

270:デフォルトの名無しさん
11/12/17 12:48:33.81
HTMLやHTTPを悪者にはしていない。
TCP/IPができあがり、その応用として、ファイルを送ったりするようになった。
ファイルの中身のテキストにデータ構造をもたせ、それはつまりツリー構造なわけだが
その実装としてのハイパーテキスト、つまりHTMLという送る側と送られる側で決め事(プロトコル)
をつくり、画像や音楽など表現の幅を広げることは当然の成り行きだっただろう。
そして、その送る側としてのHTMLファイルサーバ、つまりWebサーバ、送られる側としてのプロトコルの解釈・表示系としての
ブラウザというアプリケーション。
ここまではいい。

だが、そこから先が素人の発想というか、いそがばまわれを忘れた者の愚かな発想。
つまりブラウザ上で、アプリケーションを動かすという発想なのである。

ブラウザというのは、おくられてきたステートレスな通信内容の一瞬の表示手段でしかない。
つまりアプリケーションのためのひとつのパーツなのである。
Windowsでいえば、コントロールのひとつ。(実際WebBrowserというコントロールがある。)JavaならWebClietnだ(これは、ブラウザではないが。)。

包含関係が逆なのである。
ブラウザ上にアプリケーションを作るのは愚かなブームである。


271:デフォルトの名無しさん
11/12/17 13:26:02.94
これがWEBプログラミングの出来ない者の嫉妬ってやつだ

272:デフォルトの名無しさん
11/12/17 13:27:37.76
marutiotu
スレリンク(hp板:158-159番)


273:デフォルトの名無しさん
11/12/17 13:32:27.09
>>268
<html>
<head>
<title>chat</title>
<script type="text/javascript">
var name;
function func(){
while (name == "" || name == "null"){
name = window.prompt("名前を入力してください", "");
};
document.write(name);
};
</script>
</head>
<body>
<h1>test</h1>
<%= name %><br />
<form method="POST" action="/">
func();
<input type="text" name="name" id="name"/>
<input type="submit" />
</form>
</body>
</html>

こんなのを書きました

274:デフォルトの名無しさん
11/12/17 15:09:16.77
>>273
"null" を null に

275:デフォルトの名無しさん
11/12/17 16:31:47.00
>>270
はいはい、SSH端末とブラウザは同じレイヤーのもの。
SSH端末でネットのむこうのアプリを使うように
ブラウザでも使う。あとは向こうで続きをやろうなw

276:デフォルトの名無しさん
11/12/17 16:47:43.51
↑なにこいつw

277:デフォルトの名無しさん
11/12/17 17:11:00.05
>>276
コピペ野郎の相手なんて
この程度で十分だろ

278:デフォルトの名無しさん
11/12/17 17:26:26.33
>>276
かまっちゃだめ。
ちょっとやばいからそいつ。

279:デフォルトの名無しさん
11/12/17 17:34:41.33
自演乙

280:デフォルトの名無しさん
11/12/17 17:34:43.37
>>275
キモッ

281:デフォルトの名無しさん
11/12/17 17:38:54.37
>>275
荒すなよキモイ奴

282:デフォルトの名無しさん
11/12/17 18:07:12.44
>>273
>>274 で、null の書き方を指摘したけど
それ以前に、どこにも func() を呼び出すものがない

他にもあるけど、JavaScript の質問スレに行ったほうがいい

283:デフォルトの名無しさん
11/12/17 18:25:20.88
>>282
ということはejsでもjavascriptが利用可能ってことですね

284:デフォルトの名無しさん
11/12/17 18:25:47.24
正式名称はnode.jsなの?それともNode.js?
正しくはNodeなんて書いてあるブログもあるけど、本当は何?

285:デフォルトの名無しさん
11/12/17 18:29:59.97
node.js

286:デフォルトの名無しさん
11/12/17 18:42:15.35
>>284
「そもそも "Node" なの? "Node.js" じゃないの?

当初は "Node.js" と呼ばれていましたが、
「正式名称は "Node" である。ただし曖昧さが出る場合は "Node.js" と表記しても良い」
という旨の記述が本家の Wiki にあります。」
URLリンク(blog.nodejs.jp)

287:デフォルトの名無しさん
11/12/17 18:52:03.26
チャットが作りたいのですが非同期通信のシンプルな程シンプルなサンプルみたいなのどこかにありませんか?

288:デフォルトの名無しさん
11/12/17 19:09:51.67
>>287
手軽に試すなら Socket.IO を使うといいよ
サンプルもそのサイトに書いてあるし、とても短いコード
URLリンク(socket.io)

289:デフォルトの名無しさん
11/12/17 21:08:51.07
node.jsのサンプルと言えばチャットというくらい
サンプルある
githubにも、すぐ動くのがあったし、手元の本でもテスト駆動javascriptのサンプルでチャットが載ってた

290:287
11/12/17 22:13:10.02
express+socket.ioを入れてサンプルコピペでできました


291:287
11/12/17 23:01:26.74
でもサイトを作るごとにnpmでexpressとsocket.ioを入れるのって無駄なんですが
windowsなのでnode.exeの本体が置いてある所に最初npmでexpressとsocket.ioをインストール済みなんですよ

292:デフォルトの名無しさん
11/12/18 16:12:58.02
>>285-286
レスありがとうございます。あと、遅れてすみません
曖昧さを避けるために .js をつけているんですか、知りませんでした

293:デフォルトの名無しさん
11/12/20 09:39:49.16
>>227
find . -iname xxx\*


294:デフォルトの名無しさん
11/12/21 19:13:20.74
node.jsはwebサーバソフトウェアですか?

295:デフォルトの名無しさん
11/12/21 22:44:11.51
webサーバソフトウェアってなんですか?

296:デフォルトの名無しさん
11/12/22 00:25:03.81
apacheにはWebサーバソフトウェアとあるので同じものではないのですか?

297:デフォルトの名無しさん
11/12/22 08:27:37.77
>>296
微妙だがNodeは違うと思う
apacheはソフトウェアだね

298:デフォルトの名無しさん
11/12/22 08:30:13.02
>>1が読めないのか

299:デフォルトの名無しさん
11/12/22 08:51:08.99
>>296
Web アプリケーションサーバではありません。
Apache, Nginx のような HTTP サーバ実装でもなければ、Tomcat のようなアプリケーションサーバでもありません。
Node はあくまでサーバサイドで JavaScript を動かす実行環境です。

300:デフォルトの名無しさん
11/12/22 08:52:36.67
>>298
>>1のどこに答えが書いてあるん?

301:デフォルトの名無しさん
11/12/22 08:56:40.84
>>299
そこまで言って置いてそれは無いわ。
サーバーサイドである必要すら無いんだから。

302:デフォルトの名無しさん
11/12/22 10:32:37.77
>>301
はぁ?>>299はnode.js日本サイトblogの転記だぞ?
それすら否定すんの?
それと「あくまで」サーバーサイドだから

一体どんな回答が欲しいんだよ…

303:デフォルトの名無しさん
11/12/22 10:36:55.14
>>302のURLね
URLリンク(blog.nodejs.jp)
もう、これテンプレに入れたら?

304:デフォルトの名無しさん
11/12/22 11:28:06.26
Web アプリケーションサーバでなければなんて呼べばいいんだ?

305:デフォルトの名無しさん
11/12/22 11:52:42.42
>>304
正直どうでもいいし何でもいいけど、論理的な決まりとしては
サーバーサイドでJavaScriptを動かす実行環境

node.jsでアプリを作って稼働させても根本的概念は変わらない

306:デフォルトの名無しさん
11/12/22 16:33:40.14
JavaScriptをサーバとして動かすためにのnode.jsってことでいいの?

307:デフォルトの名無しさん
11/12/22 16:34:35.24
>JavaScriptをサーバとして動かすためにのnode.jsってことでいいの?
修正
JavaScriptをサーバとして動かすためのnode.jsってことでいいの?

308:デフォルトの名無しさん
11/12/22 17:31:52.91
>>307
全然違くてワロタww

クライアントでJavaScript動かす時は基本的にブラウザ上で動くだろ?
Nodeはサーバー上で動くJavaScript

ただそれだけ
だからアプリケーションサーバーやサーバーソフトウェアじゃないのだよ

技術者ですら、これだけ理解できないのだから
営業には全く理解できないだろうなw

309:デフォルトの名無しさん
11/12/22 17:36:58.15
ここはnode.jsのことばかりだけどstandard i/o可能なjsやrhino jsの話題でもいいの?
と言ってもさしあたり話題にするようなネタはないけど

310:デフォルトの名無しさん
11/12/22 17:42:27.13
>>308
んじゃサーバはどこに行くんだよってなるぜ

311:デフォルトの名無しさん
11/12/22 17:50:51.59
node.jsは特定のサーバーからは独立した単独のスクリプティング環境。

rubyとかperlとかpythonとかと同じ。
node.jsの実体はスタンドアロンのスクリプト実行環境に過ぎないからローカルのシェルスクリプトとして使うこともcgiとして呼び出すことも可能だろう。

ただ開発の方向にしても主な用途にしてもあくまで組み込みのhttpサーバーライブラリを使ってサーバーを組み立てることを想定してるけどな。

一言でいうならnode.jsとはブラウザの中で実行されるのが普通のjavascript処理系をスタンドアロンのスクリプト実行環境にして、そこに組み込みのサーバーライブラリやローカルスクリプトとして必要なIOその他のライブラリをくっつけたもの。

312:デフォルトの名無しさん
11/12/22 18:02:01.10
あと、わからない言ってる人はハードウェアとしてのサーバーとソフトウェアとしてのサーバーの区別がついてないんじゃないかな…

313:308
11/12/22 18:10:02.19
>>310
>>311の通りだ
サーバー上で動いてる以上サーバーはどこに行くんだよ?なんて考え方はないだろ
>>308>>311をよく読め


314:デフォルトの名無しさん
11/12/22 18:49:50.06
node.jsでプロキシ経由で外部サイトにアクセスってできますか?

315:デフォルトの名無しさん
11/12/22 19:07:11.81
WSHのJScriptをウェブサーバ用途に特化させたみたいな?と思っとけばいいんすか?

316:デフォルトの名無しさん
11/12/22 20:31:18.42
>>315
それが今まででは一番近い理解かも知れない
Webサーバ用途に特化…というと微妙に誤解を招く書き方なので
サーバ機で、Webサーバソフトと共に使う用途に特化、という感じか
別にサーバソフトがなきゃ、ちょっとしたJavaScriptの動作環境でしかない

317:デフォルトの名無しさん
11/12/22 20:33:51.69
>>315
大着して言うと、そんな感じかな
クドいようだけどwebサーバーじゃなくてwebサーバー的に利用できる。って感じかな

あくまでScriptは手段とかツールに近いからアプリとは断言したくないんだろうね

318:デフォルトの名無しさん
11/12/22 20:52:20.96
ありがとう
なんとなくわかった

319:デフォルトの名無しさん
11/12/23 00:31:33.68
なんで誰もnodeをちゃんと説明できないんだ?
本当はきちんと理解してないんだろう?

サーバーサイドで動くとか、別にnodeをクライアントに
インストールすればクライアントでも動くんだから的はずれだよ。

簡単に言うとnodeっていうのは JavaScript+組み込みライブラリ だよ。

例えばブラウザに搭載されているJavaScript、これにはDOMを操作する
機能がついているが、これはJavaScriptの範囲ではないというのはわかるだろう?
つまりJavaScriptにはDOM機能が ”欠けている” と言えるわけだ。
ブラウザはその欠けているDOM機能を追加したもの。

JavaScriptには他にも機能が欠けていて、たとえばファイルの読み書き機能。
nodeはその欠けているファイル読み書きライブラリなどを追加したもの

他の言語なら単に「便利なライブラリを作りました」で終わるような話だけど
JavaScriptには他のライブラリを読み込むincludeやuseなどの文法も欠けているので
既存のJavaScriptを拡張しなければ実現不可能だった。

nodeによってJavaScriptが汎用のスクリプト言語になったわけで
ウェブサーバー等も実装することが可能になったということ。

320:デフォルトの名無しさん
11/12/23 00:34:45.73
んー
nodeはDOM APIを含んでるの?含んでないの?どっちー?

321:デフォルトの名無しさん
11/12/23 00:40:12.14
nodeにDOM APIは含んでいない。
ただし外部ライブラリを読み込む機能は付いているので
DOM APIを提供しているライブラリもあるかもしれない。

それはPerlにDOM APIは含まれていないが、
CPANモジュールを使ってHTML Parserなどで
DOMを操作できるのと同じ事。

322:デフォルトの名無しさん
11/12/23 00:51:50.85
> JavaScript+組み込みライブラリ
これもちょっと俺には定義としてはピンとこない説明だなあ
JavaScriptというのはただの言語で、インタプリタかVMかJITかといった詳細は
ともかくとして、JavaScriptで書かれたプログラムを動かすためには
何らかの実行環境(ホスト)がいる
Perl言語で言ったらperlコマンド(あるいはperl.exe)だな
JavaScriptの場合それがWebブラウザであったりWSHだったりするんだが、
node.jsもその一種、つまりJavaScriptの実行環境の一種に過ぎない

JavaScript実行環境としてのnode.jsの特徴は、google chromeで使われている
V8エンジンを使っていて高速であることと、おもに並列処理に特化したサーバ向きの
ランタイム(ライブラリ)実装を持っていること
V8を実装しているのはgoogleだから、node.jsの主成分はランタイムの部分という
ことになる
「サーバ向き」なだけで、サーバにしか使えないかといえば、別にそういうことはない

323:デフォルトの名無しさん
11/12/23 00:56:45.27
V8はコマンドラインから実行できる。

324:デフォルトの名無しさん
11/12/23 01:02:34.01
linuxで使いたいですがどうすればいいんですか?

325:デフォルトの名無しさん
11/12/23 01:45:23.48
サーバーサイドという字面に振り回されすぎじゃないのかな。

サーバーサイドの○○というのは、今までクライアント(ブラウザ)でしか使えなかったものをサーバーコンピュータ上でも使えるようにしたよという以上の意味は無い。

現代のサーバーコンピュータの多くはwindowsやunix系OSで構成されている。そしてwindows上で実行可能なものは何であれwindowsを使ったサーバーコンピュータ上で実行可能だし、unix系OSもまた然り。(環境依存のものは除く)

現実的には「サーバーサイド○○」というのは、サーバーコンピュータで使用されているところのwindowsなりunixOS上で(サーバープログラムと連携可能な何らかの形式で)実行可能な○○というのと同義と考えていい。

<<324
nodeのソースコードをダウンロードしてmakeするか、nave等の管理コマンドをダウンロードして実行する。やり方はググれ。

326:デフォルトの名無しさん
11/12/23 01:47:17.91
>>325
アンカーミスった。
>>324 な。


327:デフォルトの名無しさん
11/12/23 02:02:06.54
えー!
node.jsはlinuxじゃ使えないんですか!!
面倒なのは大っ嫌いなので諦めます

328:デフォルトの名無しさん
11/12/23 02:10:44.61
そんな頭でLinuxを使うほうが面倒だと思うんだ

329:デフォルトの名無しさん
11/12/23 02:32:29.12
多分ubuntu入れてるんだろうな

330:デフォルトの名無しさん
11/12/23 02:36:54.44
元々の質問は>>296だし、何でクライアントの話に持っていくんだよ…
クライアントでNodeやる云々はそもそもスレタイ的にスレ違い
Nodeの説明としてはいいと思うけど

331:デフォルトの名無しさん
11/12/23 03:08:19.34
>>296 の質問には多分「違う」と答えるのが適切と思われる。

webサーバーソフトウェアという言葉でどんなものをイメージしているのかは知らないが、おそらく一式をダウンロードして設定を行なって起動すればその時点で完全なwebサーバーとして動作するもののことを言っているのだろう。

何度も言われている通りnodeはあくまでスクリプト(プログラミング言語)実行環境でしかない。
言うなれば「webサーバーソフトウェア」そのものをjavascriptで作るためのもの。

332:デフォルトの名無しさん
11/12/23 03:22:30.42
C#と.Netの関係に似てるかもしれない

333:デフォルトの名無しさん
11/12/23 03:47:08.66
>>314 出来ない

334:デフォルトの名無しさん
11/12/23 04:16:08.58
>>321
外部ライブラリとしてjsdomがあるね。
一部でネイティブライブラリを使ってる。

335:デフォルトの名無しさん
11/12/23 07:26:53.49
webでのクライアントとサーバーと、
osでのクライアントとサーバーがごっちゃになってると思われる。
node.jsに出来ることは、webでのクライアント(ブラウザ内で使われるjavascript)の実行環境にはならず、サーバー(httpサーバー)としての機能を有してる。
osではクライアントもサーバーどっちでもいける。
(例えば、通信を伴わない簡単なファイル変換ソフトとかも書けるし、
ソケットレベルでの操作で汎用サーバーアプリにもなりうる。
他にもシェルスクリプト代わりとしても使える。)

一般的な使い方はhttpサーバーとしてなので、まずはそこから始められたし。

336:デフォルトの名無しさん
11/12/23 08:03:23.81
つまらん用語の事で伸びてた。

337:デフォルトの名無しさん
11/12/23 13:04:41.23
>>333
node.jsはプロキシ経由での外部サイトのアクセスは出来ないのですか。残念です。

338:デフォルトの名無しさん
11/12/23 13:37:29.62
>>335のような奴らは無駄に話が長いだけで中身がない。くだらないことを長々と

>>334
jsdomでjqueryを使ったり出来るから便利だよね

>>337
俺はわからんが>>335みたいな奴ならわかんじゃね?w
rubyやphpでさえ出来るからな

339:デフォルトの名無しさん
11/12/23 13:45:37.87
↑何しにきたの?おまえw

340:デフォルトの名無しさん
11/12/23 14:12:03.04
何だか議論をしているところをぶった切り申し訳ないんだけど、
process.nextTick() の使い道がよくわからないです。

341:デフォルトの名無しさん
11/12/23 14:31:29.52
setTimeout(f,0)
みたいにするぐらいならそれつかえって書いてあったぞ


342:デフォルトの名無しさん
11/12/23 15:03:39.69
>>341
そう書いてありますね。
気になったのは、setTimeout(fn, 0, arg)でargを渡せるけど、process.nextTick(fn, arg)とは出来ないことです。

343:デフォルトの名無しさん
11/12/23 15:18:12.92
>>342
setTimeoutでもそうだけどargの必要性あんの?
setTimeout(function () {
fn.apply(this,[arg])
},0);
ってすりゃほぼ同じ意味なのに

344:デフォルトの名無しさん
11/12/23 15:31:37.97
setTimeout(function () {
 fn(arg)
},0);

これでいいだろ

345:デフォルトの名無しさん
11/12/23 15:52:46.88
>>343
0点。

346:デフォルトの名無しさん
11/12/23 15:59:51.23
>>345
お前の評価なんざ求めてねぇw

347:デフォルトの名無しさん
11/12/23 16:11:08.79
>>343,344
function (i) {
setTimeout(arguments.callee, delay, ++i);
}
わたしは、こういう書き方することがあるので、第3引数があると便利に思える

348:デフォルトの名無しさん
11/12/23 16:16:32.22
>>346
this の値が意図しない値になってるだろ。

>>347
arguments.callee は非推奨になるから。
関数本体からのみ参照できる名前を付けて代替した方がいい。

349:デフォルトの名無しさん
11/12/23 16:27:34.55
>>338-339の流れにワロタww


350:デフォルトの名無しさん
11/12/23 16:31:26.93
>>348
thisはグローバルオブジェクトだろ。

351:デフォルトの名無しさん
11/12/23 16:57:40.05
っていうか 第3引数があれば、どこかから渡されてきた謎のfunctionをそのままsetTimeoutできるじゃん。

352:デフォルトの名無しさん
11/12/23 17:13:56.46
第3引数をセット出来る時点で渡す値は解ってるんだから
別に第3引数が無くて困る事は無いだろ
>>347の事例だってクロージャ使えば値の束縛は可能なんだし

>>348
>this の値が意図しない値になってるだろ。
意味わからん。一般的な使い方だとどちらもグローバルオブジェクトだろ
StrictModeの時は確かfunction内がglobalじゃなくなったと思うが
その時の話しをしてるの?
まぁどちらにせよsetTimeoutから呼び出される関数の
this値をセットしてるんだから結果は一緒だろうけど

353:デフォルトの名無しさん
11/12/23 17:18:44.29
そんなにそんなに焦るなってよw

354:デフォルトの名無しさん
11/12/23 18:37:53.70
>>352
だからsetTimeoutする時にいちいちその場でクロージャを生成しなくてもいいように第三引数があるんじゃないの?
クロージャを無駄に生成せずにすめばそれだけプログラムのネストも浅くなるし、多段のコールバックも書きやすくなるんじゃない?

355:デフォルトの名無しさん
11/12/23 18:42:22.22
setTimeoutに第三引数など無い。

356:デフォルトの名無しさん
11/12/23 19:09:42.19
荒れてんな

357:デフォルトの名無しさん
11/12/23 19:12:04.67
arguments.calleeなくなるの?

358:デフォルトの名無しさん
11/12/23 19:17:06.62
なくなりますん

359:デフォルトの名無しさん
11/12/23 19:18:40.72
>>354
それは確かにそうだが話しの元は>>342であって
第3引数を設定できない事が気になるような材料でもないだろって事だよ

>>355
HTML5からはちゃんと仕様としても定義されてるし
NodeのsetTimeoutに関してはちゃんと定義されてるぞ

360:デフォルトの名無しさん
11/12/23 19:41:36.74
何気なく質問しただけで、こんなことに・・・

361:デフォルトの名無しさん
11/12/24 11:38:34.08
何気なく質問するだけで物凄い勢いを増す
スルーされるより全然いいでしょw
みんな注目してるんだなぁ

362:デフォルトの名無しさん
11/12/24 11:48:39.39
Node製のサイトはまだまだ少ないけど、それなりには注目されてるんだな

ホスティングサービスはどこ使ってる?
それとも自分でサーバ用意してる?

363:デフォルトの名無しさん
11/12/24 11:50:58.05
これってサーバーサイドをJavaScriptで書くってことは
今までのウェブアプリ全部作り直しってことだよね?

364:デフォルトの名無しさん
11/12/24 11:51:21.22
本でサンプルを入力してるんだけど
require.paths というのはもう使われてない
NODE_PATH でって言われて
NODE_PATH ='honya/lib','honya/deps';
ってやってるんだけどlibにおいてるクラスがみつからないって言われてしまう
v0.6.6とv0.4.7でやってみました
パスの指定がなにか間違ってるんでしょうか?


365:デフォルトの名無しさん
11/12/24 12:00:22.50
>>363
PythonからRubyに切り替える時だって当然全部書き直しだろ。
何をアタリマエのことを。

366:デフォルトの名無しさん
11/12/24 12:01:36.77
なぜ全てのウェブアプリをnode.jsで書き直すの?node.jsが向いているものとそうでないものとがあるから
向いていないものまでnode.jsを採用する必要はなくなくない?

367:デフォルトの名無しさん
11/12/24 12:03:39.88
>>366
> なぜ全てのウェブアプリをnode.jsで書き直すの?
誰がそう言ったの?

> 向いていないものまでnode.jsを採用する必要はなくなくない?
そうだね。

368:デフォルトの名無しさん
11/12/24 12:04:12.38
前の仕様は次には跡形も無くなっているくらいで
まだ本を買うには時期が早過ぎじゃないかと

公式か日本ユーザグループのとこのドキュメントを読むといいよ



369:デフォルトの名無しさん
11/12/24 12:05:26.01
プログラミング本なんてまだ買ってる人いるんだw
1ヶ月でコロッと何もかも変わってしまうことがあるこの分野でw

370:デフォルトの名無しさん
11/12/24 12:06:28.01
node本ってまだ出てなかったと思うが
多分一部取り上げられている記事とかパーフェクトJavaScriptあたりだろう


371:デフォルトの名無しさん
11/12/24 12:10:46.26
>>367
> 誰がそう言ったの?
>>363をそう解釈したっす
そういう意味ではなかったんすね
ごめん

372:デフォルトの名無しさん
11/12/24 12:11:31.58
オライリーが出してたな。
公式が全文公開してるけど、内容は確か0.4あたりだったはず。

373:デフォルトの名無しさん
11/12/24 12:13:21.60
読んでるのはテスト駆動JAVASCRIPTです
たまたま手元にあってサーバサイドのところは読み飛ばしてたんで今読み直してたんです

374:デフォルトの名無しさん
11/12/24 12:16:39.19
>>367
>誰が言ったの?
>>363
>今までのウェブアプリ「全部」
おもっくそ自分で全部って言ってるじゃんw

375:デフォルトの名無しさん
11/12/24 12:26:04.55
363が本当はどういう意味なのか、それは363にしかわからない

376:デフォルトの名無しさん
11/12/24 12:41:02.72
普通に推察すれば今まで自分たちで継続的に開発してきたWEBアプリがあって、
そのWEBアプリをnode.jsで運用するように移行した場合に、
今まで自分たちで作ってきたWEBアプリを全部javascriptで書きなおすのか、
という意味に捉えられると思うよ。

既存の世界中の全てのWEBアプリをnode.js用に書きなおすなんて不毛なことは誰も考えないでしょ。

377:デフォルトの名無しさん
11/12/24 12:51:37.47
自分で作った個々のウェブアプリも、別に全部移植しないといけないわけでもないと思うけど。

378:デフォルトの名無しさん
11/12/24 13:04:03.16
でもさ、なんかの処理をあとから
node.js使いたいってことになったら、
その処理書きなおすんでしょ?

379:デフォルトの名無しさん
11/12/24 13:13:53.04
_人人人人人人人人人_
>わりとどうでもいい<
 ̄YYYYYYYYY ̄

   ヘ(^o^)ヘ
     |∧
     /

380:デフォルトの名無しさん
11/12/24 13:16:22.10
「今までの」「全部」だから「ウェブアプリ」はひとつじゃなく複数を指していると読めるんだよね
で、その作ってきた複数ある個別のウェブアプリをそれぞれ全部作り直ししないといけないのか、って聞いてるように読めるんだよね

381:デフォルトの名無しさん
11/12/24 13:23:48.55
ここまで rhino の話題は無し

382:デフォルトの名無しさん
11/12/24 13:45:19.78
ライノいらないの

383:デフォルトの名無しさん
11/12/24 13:54:04.66
処理の一部を外部化するのにたまに使ってるよ

384:デフォルトの名無しさん
11/12/24 14:07:20.70
ルビー(高速なのでたまに使ってますが)から転向して、ライノはある程度把握しましたが、ライノの細かい挙動このとまでは必要ないので今のところライノ・ネタはありません。

385:デフォルトの名無しさん
11/12/24 14:49:14.36
rhino は2回使っただけで
使うのが嫌になりました。



なぜでしょう?

386:デフォルトの名無しさん
11/12/24 15:06:16.99
>>385
それなぞなぞ?答えは>>382かな

387:デフォルトの名無しさん
11/12/24 15:19:44.96
>>386
ハズレ。ヒント2回

388:デフォルトの名無しさん
11/12/24 15:43:01.57
>>387
Rhino 使ったことない。
俺には、全然わかららいの orz

389:デフォルトの名無しさん
11/12/24 16:32:05.26
>>385
そんなの知ならいの

390:デフォルトの名無しさん
11/12/24 22:52:36.93
>>329
ubuntuはLeeさんだっけかryanさんだったかなのppaで入れても
0.6.3なのだ。素の状態だと0.4.3なんだ…

まぁ10-15分くらい掛ければgitからソース取ってきて
じぶんでビルドできないこともないけど

ほかの鳥はのことはよくしらないの

391:デフォルトの名無しさん
11/12/24 23:10:38.31
ジャバも普通に使えるのでライノでやります
次期ライノ(多分1.8R)はnode.jsも含まれるって聞いたのでさしあたりライノのままで問題も生じません

392:385
11/12/24 23:17:03.17
降参?

393:デフォルトの名無しさん
11/12/25 00:07:03.47
>>390
chris-leaのPPAだな
けどそれらを使うよりnvm等を使った方が良いと思うよ



394:デフォルトの名無しさん
11/12/25 08:50:02.35
>>364
勘違いしてるみたいだけど
NODE_PATH は JS ファイルに書くわけじゃないよ

395:デフォルトの名無しさん
11/12/25 16:58:36.56
var sys = require('sys');
var http = require('http');
var server = http.createServer(
function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write('Hello World!!\n');
response.end();
}
).listen(8124);
sys.log('Server running at URLリンク(127.0.0.1:8124)');

5行目の「response.writeHead(200, {'Content-Type': 'text/plain'});」
この中の200ってどういう意味があるの?
教えてください

396:デフォルトの名無しさん
11/12/25 17:01:43.70
HTTPステータスコードでは

397:デフォルトの名無しさん
11/12/25 17:06:40.22
>>396
ありがとうございます

398:デフォルトの名無しさん
11/12/25 19:55:18.39
データの保存はkvs?だとかNoSQL的なものがnode.jsにはお似合いなんすか?RDBMSやファイルIOは駄目すか?

399:デフォルトの名無しさん
11/12/26 08:17:03.16
>>398
ダメじゃないが、RDBよりドキュメント志向DBのが遥かに相性がいい
(処理に掛かる時間が圧倒的に違う)
nodeを新規でやるならKVSのがいい
既存DBがRDBでDB再構築がダルければRDBで良いかと

ファイルI/Oでも全然問題なく使える

400:デフォルトの名無しさん
11/12/26 12:13:22.41
どうもありがとう
ファイルIOにしようかなと思ってたけどドキュメント志向型DBはそんなに速いんすか
kvsとは違うっぽいけどMongoDBってのが流行ってるみたいなのでそれ試してみます

401:デフォルトの名無しさん
11/12/27 04:49:59.33
socket.ioのサンプルをいろいろ探してたらexampleディレクトリにもとからはいっていたでござる


402:デフォルトの名無しさん
11/12/27 12:18:11.96
URLリンク(gihyo.jp)
こんな記事でると日本でのmongo利用は極端に減るんだろうなぁ・・・


403:デフォルトの名無しさん
11/12/27 12:34:54.83
記事は新しいけど内容が数年前のものだのー


404:デフォルトの名無しさん
11/12/27 12:45:54.22
pestbinに貼られたのは2011年11月みたいだけど


405:デフォルトの名無しさん
11/12/27 16:59:52.79
どうして「Web Framework: Express」や「Web Sockets: Socket.IO」みたいな機能はデフォで提供されていないの?

406:デフォルトの名無しさん
11/12/27 18:30:52.03
CAも提供してるサービスでデータが飛んだとかあったな
やっぱ規模(データ量)が大きい(多い)とヤバいってのはマジなんだな
まぁ今更SQL文書くのも怠いけどw
Mongoの仕様上防げない気がする
Mongoがこれ以上逝ったら日本では間違いなくNodeは流行らない要因になるな

407:デフォルトの名無しさん
11/12/27 18:47:10.81
>>405
どうしてJavaScriptは、jQueryがデフォで提供されていないの?と似た感じだな

408:デフォルトの名無しさん
11/12/27 19:05:48.80
>>407
ああ、ごめんなさい
サードパーティ製モジュールはnode.jsコアの機能を組み合わせて書かれているんですね
別の言語で書かれたバイナリファイルも含んでいるのかと思ってました

409:デフォルトの名無しさん
11/12/29 02:11:51.17
例えば、コードに debugger を入れたときだけログ出力することは出来ますか?

410:デフォルトの名無しさん
11/12/29 11:40:02.19
質問がよくわからないんだぜ

411:409
11/12/29 14:29:50.62
>>410
debugger;
if (...) {
console.log('#debug');
}
console.log('Hello, world!');

debuggerが、あるときだけ"#debug"を出力するようなことです。出来ますか?

412:デフォルトの名無しさん
11/12/29 15:08:31.53
649 デフォルトの名無しさん [sage] 2011/12/29(木) 14:50:37.28 ID: Be:
学生プログラマ日本一決定戦(予選は社会人も参加可)
URLリンク(codevs.jp)
現在予選開催中
応募締切 2012.1.6 12:00

おもしろいことやっているじゃん。誰か今から参加しろよ。

413:デフォルトの名無しさん
12/01/03 00:52:30.05
52 :Name_Not_Found [↓] :2012/01/02(月) 14:08:53.32 ID:???
マジこのペースでどんどんAPIが増えてったら
仮にブラウザ間の仕様さが0になっても
覚えて使いこなしきれるかは微妙

そういえばWEBGLって結局どうなるの?
もう他の対抗APIとかは金輪際でなくて
WEBGL一本でしばらくいくことは決まったの?
それなら覚えるんだけど
53 :Name_Not_Found [↓] :2012/01/02(月) 14:42:42.41 ID:???
そこでライブラリの乱立ですよ。
そしてライブラリの使い方しか知らない人間が量産されていく…
54+1 :Name_Not_Found [↓] :2012/01/02(月) 14:47:21.67 ID:???
ライブラリ使う人が困るんならまあそれは仕方ないと思うけど
5年後くらいに昔のJavaScriptはわかりやすくてよかった
今はライブラリ覚えないとやっていけないってなりそうで怖いわー
55+1 :Name_Not_Found [↓] :2012/01/02(月) 16:37:49.89 ID:???
>>49
spanだと戻すとき大変だから、適当なタグ名にするのがいいんじゃないかな。
document.links[0].outerHTML = document.links[0].outerHTML.replace(/^<[aA]/, '<aback').replace(/<\/[aA]>$/, '</aback');
こんな感じかな
56 :Name_Not_Found [↓] :2012/01/02(月) 16:47:14.55 ID:???
>>54
結局、同じロジックを何度も書くことに疲れ果てライブラリに辿り着き、皆が同じ様なコードを書く。
これはどの言語でも共通の進化の過程。

しかし、最初からライブラリに頼ってきた小わっぱ達とは地力が違う為、コーディングの姿勢に漂う大人の余裕。
いざ困難に直面しても、涙目の小わっぱを尻目に多彩なテクニックを駆使して解決策を導く職人技。
そして仕様を知り尽くした上で完璧なチューニングを施し、パフォーマンスで他を圧倒するダンディズム。

このスレの回答者なら様々な面で格の違いが滲み出る。
ただし、>>55 は精進が必要な様だが。

414:デフォルトの名無しさん
12/01/03 00:55:07.60
>>398
現状のnode.jsに適してるのは、ハイパフォーマンスが要求されて
かつシンプルなアプリケーションやAPI(かつCPUバウンドでない)だから、
結果的にKVSの方が目的に合う可能性が高い。

個人的にはnode + mysql handlersocketとかは、結構期待してるんだけど、
人柱様達に任せたい。

サーバサイドもクライアントサイドもjsで書けるようになる
事によるメリットを活かして、何でもnodeで書けばいいじゃん、
に至るには現状のシングルループ指向からの転換を経る必要があると思う。


415:デフォルトの名無しさん
12/01/03 01:02:09.04
それは、javaとか.netでしょ普通

416:デフォルトの名無しさん
12/01/03 01:14:41.51
>>415
マルチプロセスはclusterとかで既に出来るけど、
CPUバウンドかIOバウンドかバランス考えながらコード書くのはめんどいのよ。
接続数の数だけループ回す必要は無いとは思うけど。
じゃあどういう単位で、というと更にあれだけど。


417:デフォルトの名無しさん
12/01/03 01:56:48.39
外部の計算環境も考慮することつまり The Networking is the Computing. を掲げるならそうかもね。

418:デフォルトの名無しさん
12/01/03 11:49:55.06
これからプログラミング勉強しようと思うのですが
phpだったらJavaScriptの方が勉強したほうがいいですか?

419:デフォルトの名無しさん
12/01/03 13:46:26.20
単純に勉強するだけならPHPちょっとやってサーバサイドの仕組みを覚えてからjavascript
仕事でやるならPHPしっかりやって合間にjavascript

420:デフォルトの名無しさん
12/01/03 21:33:28.60
SPAだとAPIの集合みたいにアプリ書けるけど、SEO考えるとねぇ

421:デフォルトの名無しさん
12/01/06 16:06:17.55
os.networkInterfaces() って,
node.exe だと動かなくね?

422:デフォルトの名無しさん
12/01/06 18:07:27.98
>>421
いま手元にWindowsないから確認できないけど、それNode 0.6?0.4にはないから動かないよ
良かったらOSのバージョン教えて

423:421
12/01/06 18:30:56.20
>>422
OS は Windows 7 Ultimate 32bit SP1
node.exe が v0.6.6

var os = require('os');
console.log(os.networkInterfaces());

を実行し,結果は

{}

が表示されるだけ.直後の ipconfig は次の通り

Wireless LAN adapter ワイヤレス ネットワーク接続:
リンクローカル IPv6 アドレス. . . . : fe80::1c55:5be6:42a6:e86c%11
IPv4 アドレス . . . . . . . . . . : 192.168.3.4
サブネット マスク . . . . . . . . : 255.255.255.0
デフォルト ゲートウェイ . . . . . : 192.168.3.1

イーサネット アダプター ローカル エリア接続:
メディアの状態. . . . . . . . . . : メディアは接続されていません

Tunnel adapter isatap.{96146F13-15AE-4A58-8112-E19230F1EB95}:
メディアの状態. . . . . . . . . . : メディアは接続されていません

Tunnel adapter Teredo Tunneling Pseudo-Interface:
IPv6 アドレス . . . . . . . . . . . : 2001:0:4137:9e76:4a1:85a:2431:7504
リンクローカル IPv6 アドレス. . . . : fe80::4a1:85a:2431:7504%14
デフォルト ゲートウェイ . . . . . : ::

Tunnel adapter isatap.{28E9F6EE-080F-4498-8C64-120C589B0F49}:
メディアの状態. . . . . . . . . . : メディアは接続されていません

424:デフォルトの名無しさん
12/01/06 19:16:12.54
>>423
Windows XP、7 で試したら空のオブジェクトが返ってきた
getNetworkInterfaces()も試したけど「networkInterface()使え」って怒られて、同じように空のオブジェクトが返ってきた
まだ未対応なのかも

425:421
12/01/06 20:13:14.22
なるほど,俺だけじゃないんだな
情報㌧

426:デフォルトの名無しさん
12/01/07 07:32:24.10
apacheより沢山のアクセスを捌く事が得意と記事見たんだけど、
DoS攻撃にも強いって事?
開発コスト的な事を置いておくとしたら、
可能ならapacheよりnode.js使った方が良いって事?

427:デフォルトの名無しさん
12/01/08 20:42:41.46
>>426
Webサーバとしてのパフォーマンス比較ならnginxでええよ。

DoS対策はまた別の話で、
Apacheでもnginxでもnodeでも別途必要だと思うけどね。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch