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

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

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

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

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

42 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:40:10.36 ]
重くて不安定てだけでもFlashいらね

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

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

45 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 20:54:48.67 ]
jsLinuxの次は、htmlinuxか?w

46 名前:デフォルトの名無しさん mailto:sage [2011/09/19(月) 20:53:29.43 ]
ブートするのに半日
shellまで行くのに更に半日だな

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



48 名前:デフォルトの名無しさん mailto:sage [2011/09/20(火) 12:46:17.42 ]
なにそれこわい

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

50 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 08:47:20.30 ]
コールバックだらけで使いにくい

51 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 09:11:52.66 ]
Google Dartが本命。

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

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

54 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 16:41:12.33 ]
大事?

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

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


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

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



58 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 19:31:05.03 ]
連投したうえに今度はアンカーミスった
すまん。

59 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 19:34:19.39 ]
いいよいいよ

60 名前:デフォルトの名無しさん mailto:sage [2011/09/28(水) 22:24:16.90 ]
node.jsはいじって面白いからいんじゃね

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


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

63 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 08:04:02.46 ]
>>61
よく分からんがQt.jsはJavaScript好きなら面白いよ

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

65 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 10:07:41.04 ]
ja.wikipedia.org/wiki/JScript

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

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

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

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


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

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


67 名前:デフォルトの名無しさん mailto:sage [2011/09/29(木) 15:39:20.72 ]
デバッグが致命的に面倒そうだな



68 名前:デフォルトの名無しさん mailto:sage [2011/09/30(金) 07:09:13.43 ]
>>61
Qtって今はNokiaのQt?詳しく教えて

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

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

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

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

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

71 名前:デフォルトの名無しさん mailto:sage [2011/09/30(金) 22:14:10.86 ]
して研究成果は

72 名前:デフォルトの名無しさん mailto:sage [2011/09/30(金) 22:27:31.66 ]
時間の無駄との結論

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

74 名前:デフォルトの名無しさん mailto:sage [2011/10/01(土) 17:33:22.38 ]
オブジェクトモデルってなに
htmlやxmlはオブジェクトじゃないの

75 名前:デフォルトの名無しさん mailto:sage [2011/10/01(土) 17:33:50.07 ]
ツールつかったらモデルが変わるの

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

77 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 01:03:32.73 ]
なにいってんのか意味わからんw



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

79 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 20:03:35.52 ]
>>68
Qt.jsでググれ
C++のフレームワークのQtだよ

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

81 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 20:45:47.99 ]
元もおまいも的外れ過ぎな…

82 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 23:00:32.58 ]
GWTがまさにそれなんじゃないの?

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

84 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 18:36:08.56 ]
いらん

85 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 18:39:07.02 ]
>>84
thx
それはいいな

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

87 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 22:45:59.78 ]
「クライアント側にも」



88 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 23:07:18.51 ]
>>86
使ったことないんだろ
cliのツールとか色々あるぞ


89 名前:デフォルトの名無しさん mailto:sage [2011/10/07(金) 02:28:21.11 ]
How to build C++ native module under Windows?
groups.google.com/group/nodejs/browse_thread/thread/4272d88debbf74c0#
www.mingw.org/wiki/MixingCompilers

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

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

91 名前:デフォルトの名無しさん mailto:sage [2011/10/07(金) 13:33:43.98 ]
むしろその方がいんじゃね

92 名前:デフォルトの名無しさん mailto:sage [2011/10/07(金) 21:45:13.49 ]
>>91
まぁね
フィルターで弾かれた技術者はそれまでだしね

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

94 名前:デフォルトの名無しさん mailto:sage [2011/10/09(日) 23:44:53.18 ]
今時windowsしか使えないような
ソフトエンジニアなんていねえだろ

95 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 16:35:08.93 ]
Dartキタ
www.dartlang.org/

96 名前:デフォルトの名無しさん mailto:sage [2011/10/10(月) 17:03:48.35 ]
なんかjsとjavaの間ぐらいの感じだな
覚えるのは楽そうだ

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



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

99 名前:デフォルトの名無しさん mailto:sage [2011/10/11(火) 18:40:22.28 ]
>>98
classとprototypeのカーニヴァルが今、始まる

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

101 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 02:38:56.10 ]
初めて聞いたんだが

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

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

こんな感じ?

102 名前:デフォルトの名無しさん [2011/10/26(水) 02:39:13.56 ]
ん?結構過疎ってるなw

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

104 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 08:01:34.85 ]
>>101
サーバーサイドで動いてる他言語も同じじゃん


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

106 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 11:01:37.59 ]
>>105
え?

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



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

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

109 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 16:54:40.60 ]
え?

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

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

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

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

114 名前:デフォルトの名無しさん mailto:sage [2011/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 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 21:13:14.88 ]
ubuntu自体が提供してるnpmは古いからなぁ
どこかのppaが提供してる物でないと使い物にならないぞ



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

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

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



118 名前:デフォルトの名無しさん mailto:sage [2011/11/08(火) 22:54:42.00 ]
そんな面倒なことしないといけないのか・・・

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

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

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

122 名前:デフォルトの名無しさん mailto:sage [2011/11/10(木) 08:00:01.92 ]
>>121
Emacs

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

124 名前:デフォルトの名無しさん mailto:sage [2011/11/15(火) 20:10:07.53 ]
jsdo.itとjsapp.usがあればIDEなんていらないな

125 名前:デフォルトの名無しさん mailto:sage [2011/11/15(火) 23:09:22.63 ]
>>124
node.jsにも対応したんだ?

126 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 18:34:37.46 ]
v0.8 Roadmap
https://mail.google.com/mail/h/dqdx8t9b57iv/?&v=c&th=133b026ec0c61900
>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)
https://github.com/joyent/node/issues?labels=gyp&sort=created&directi...

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

127 名前:デフォルトの名無しさん mailto:sage [2011/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 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 20:31:39.89 ]
name = window.prompt("入力してください", "");
これは何のつもりだ。クライアント側で実行される訳ではないぞ。

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

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

131 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 21:07:25.05 ]
javascript サーバーで引っかかった

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

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


134 名前:デフォルトの名無しさん mailto:sage [2011/11/17(木) 22:13:23.59 ]
無理せずVisial某を使っとけば

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

136 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 10:40:37.41 ]
scan.netsecurity.ne.jp/article/img/2011/11/13/27625/93.html
tokuhirom、ma.la?っていう人の話だけ聞きたい
色々なスレで見かけるけどWEB業界で有名らしいね
動画ありませんか?

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

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



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

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

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

141 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 12:42:23.69 ]
そういうのって流行らない技術の典型なんじゃないの

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

143 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 15:46:48.87 ]
最近のnodeでless動かなくない?

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

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

145 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 21:56:17.38 ]
https://github.com/visionmedia/jade

とかいうのもあるな…

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

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



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

149 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 09:54:41.60 ]
blog.nodejs.org/

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

150 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 08:03:35.32 ]
>>149
サイトのmsiじゃダメなの?


151 名前:デフォルトの名無しさん mailto:sage [2011/11/27(日) 12:28:14.33 ]
comments.gmane.org/gmane.comp.lang.javascript.nodejs/33832

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

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

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

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

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

155 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 23:05:35.14 ]
LAMPだってそれぞれ違うでしょ


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

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

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



158 名前:1 mailto:sage [2011/11/29(火) 12:24:50.96 ]
このような報告もあります

NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現
www.publickey1.jp/blog/10/nosqlmysqldenamemcached75.html

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や再帰が使えないとか愚痴り始めるので。

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


261 名前:245 mailto:sage [2011/12/16(金) 00:11:23.51 ]
もしかしてapp.postで受け取ったものはapp.postの外に持ち出せない?

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

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

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


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

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

265 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 13:02:08.93 ]
nodejs上でphpというnpmはあったとは思うがw

266 名前:デフォルトの名無しさん [2011/12/16(金) 18:31:35.87 ]
v0.6.6

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



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

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

269 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 12:48:05.58 ]
【ウェブアプリケーションという不幸 】

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

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

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

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

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

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

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

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

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


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

272 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 13:27:37.76 ]
marutiotu
toro.2ch.net/test/read.cgi/hp/1323498887/158-159


273 名前:デフォルトの名無しさん mailto:sage [2011/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 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 15:09:16.77 ]
>>273
"null" を null に

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

276 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 16:47:43.51 ]
↑なにこいつw

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



278 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:26:26.33 ]
>>276
かまっちゃだめ。
ちょっとやばいからそいつ。

279 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:34:41.33 ]
自演乙

280 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:34:43.37 ]
>>275
キモッ

281 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:38:54.37 ]
>>275
荒すなよキモイ奴

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

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

283 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:25:20.88 ]
>>282
ということはejsでもjavascriptが利用可能ってことですね

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

285 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:29:59.97 ]
node.js

286 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:42:15.35 ]
>>284
「そもそも "Node" なの? "Node.js" じゃないの?

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

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



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

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

290 名前:287 mailto:sage [2011/12/17(土) 22:13:10.02 ]
express+socket.ioを入れてサンプルコピペでできました


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

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

293 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 09:39:49.16 ]
>>227
find . -iname xxx\*


294 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 19:13:20.74 ]
node.jsはwebサーバソフトウェアですか?

295 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 22:44:11.51 ]
webサーバソフトウェアってなんですか?

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

297 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 08:27:37.77 ]
>>296
微妙だがNodeは違うと思う
apacheはソフトウェアだね



298 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 08:30:13.02 ]
>>1が読めないのか

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

300 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 08:52:36.67 ]
>>298
>>1のどこに答えが書いてあるん?

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

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

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

303 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 10:36:55.14 ]
>>302のURLね
blog.nodejs.jp/2011/10/node.html
もう、これテンプレに入れたら?

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

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

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

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

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



308 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 17:31:52.91 ]
>>307
全然違くてワロタww

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

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

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

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

310 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 17:42:27.13 ]
>>308
んじゃサーバはどこに行くんだよってなるぜ

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

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

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

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

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

313 名前:308 mailto:sage [2011/12/22(木) 18:10:02.19 ]
>>310
>>311の通りだ
サーバー上で動いてる以上サーバーはどこに行くんだよ?なんて考え方はないだろ
>>308>>311をよく読め


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

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

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

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

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



318 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 20:52:20.96 ]
ありがとう
なんとなくわかった

319 名前:デフォルトの名無しさん mailto:sage [2011/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 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 00:34:45.73 ]
んー
nodeはDOM APIを含んでるの?含んでないの?どっちー?

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

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

322 名前:デフォルトの名無しさん mailto:sage [2011/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 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 00:56:45.27 ]
V8はコマンドラインから実行できる。

324 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 01:02:34.01 ]
linuxで使いたいですがどうすればいいんですか?

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

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

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

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

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

326 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 01:47:17.91 ]
>>325
アンカーミスった。
>>324 な。


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



328 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 02:10:44.61 ]
そんな頭でLinuxを使うほうが面倒だと思うんだ

329 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 02:32:29.12 ]
多分ubuntu入れてるんだろうな

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

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

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

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

332 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 03:22:30.42 ]
C#と.Netの関係に似てるかもしれない

333 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 03:47:08.66 ]
>>314 出来ない

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

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

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

336 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 08:03:23.81 ]
つまらん用語の事で伸びてた。

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



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

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

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

339 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 13:45:37.87 ]
↑何しにきたの?おまえw

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

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


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

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

344 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 15:31:37.97 ]
setTimeout(function () {
 fn(arg)
},0);

これでいいだろ

345 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 15:52:46.88 ]
>>343
0点。

346 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 15:59:51.23 ]
>>345
お前の評価なんざ求めてねぇw

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



348 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 16:16:32.22 ]
>>346
this の値が意図しない値になってるだろ。

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

349 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 16:27:34.55 ]
>>338-339の流れにワロタww


350 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 16:31:26.93 ]
>>348
thisはグローバルオブジェクトだろ。

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

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

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

353 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 17:18:44.29 ]
そんなにそんなに焦るなってよw

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

355 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 18:42:22.22 ]
setTimeoutに第三引数など無い。

356 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 19:09:42.19 ]
荒れてんな

357 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 19:12:04.67 ]
arguments.calleeなくなるの?



358 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 19:17:06.62 ]
なくなりますん

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

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

360 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 19:41:36.74 ]
何気なく質問しただけで、こんなことに・・・

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

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

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

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

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


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

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

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

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



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

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



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

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


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

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

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

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

375 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 12:26:04.55 ]
363が本当はどういう意味なのか、それは363にしかわからない

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

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

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



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

379 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 13:13:53.04 ]
_人人人人人人人人人_
>わりとどうでもいい<
 ̄YYYYYYYYY ̄

   ヘ(^o^)ヘ
     |∧
     /

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

381 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 13:23:48.55 ]
ここまで rhino の話題は無し

382 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 13:45:19.78 ]
ライノいらないの

383 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 13:54:04.66 ]
処理の一部を外部化するのにたまに使ってるよ

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

385 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 14:49:14.36 ]
rhino は2回使っただけで
使うのが嫌になりました。



なぜでしょう?

386 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 15:06:16.99 ]
>>385
それなぞなぞ?答えは>>382かな

387 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 15:19:44.96 ]
>>386
ハズレ。ヒント2回



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

389 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 16:32:05.26 ]
>>385
そんなの知ならいの

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

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

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

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

392 名前:385 mailto:sage [2011/12/24(土) 23:17:03.17 ]
降参?

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



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

395 名前:デフォルトの名無しさん mailto:sage [2011/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 127.0.0.1:8124/');

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

396 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:01:43.70 ]
HTTPステータスコードでは

397 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 17:06:40.22 ]
>>396
ありがとうございます



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

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

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

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

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


402 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 12:18:11.96 ]
ttp://gihyo.jp/dev/clip/01/orangenews/vol66/0003
こんな記事でると日本でのmongo利用は極端に減るんだろうなぁ・・・


403 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 12:34:54.83 ]
記事は新しいけど内容が数年前のものだのー


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


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

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

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



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

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

410 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 11:40:02.19 ]
質問がよくわからないんだぜ

411 名前:409 mailto:sage [2011/12/29(木) 14:29:50.62 ]
>>410
debugger;
if (...) {
console.log('#debug');
}
console.log('Hello, world!');

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

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

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

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

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

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


415 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 01:02:09.04 ]
それは、javaとか.netでしょ普通

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


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



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

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

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

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

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

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

425 名前:421 mailto:sage [2012/01/06(金) 20:13:14.22 ]
なるほど,俺だけじゃないんだな
情報d

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

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

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



428 名前:デフォルトの名無しさん [2012/01/08(日) 23:29:37.54 ]
javascriptでcgiしたいんだけどおとなしく別の言語にしたほうがいいのか?

429 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 02:23:19.54 ]
>>428
初学者で無駄な苦労したくないなら、まだPHPとかRubyがいいよ。
nodeはまだまだバージョンアップ激しいし。

430 名前:デフォルトの名無しさん [2012/01/09(月) 16:17:14.23 ]
>>429
ありがとう
fx拡張ちょくちょく作るくらいにはjs知ってるけど、rubyとかは見た目キモくて触った程度しかない
c++も11で使いやすい感じになってきたので他の言語も色々試しつつ決めようかな

431 名前:デフォルトの名無しさん [2012/01/09(月) 16:49:25.07 ]
さぁみんなぁ〜〜〜〜俺のメタ言語に進化した散文詩をきいてくれたまえぇ〜〜
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1179007636


432 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 18:43:58.51 ]
>>430
なんでC++が出てくるの。

433 名前:デフォルトの名無しさん [2012/01/09(月) 19:36:30.38 ]
>>432
動的か静的かなんて関係なく、自分が使いやすい言語を使うだけなんで
いろんな言語触るの楽しいしね

434 名前:デフォルトの名無しさん mailto:sage [2012/01/09(月) 22:50:47.44 ]
>>430
js自体の経験がそれなりにあって、
英語の情報読むのも苦にならなければ、
nodeから始めるのもありかもね。

それでも環境として枯れてないから、
どちらかといえば生PHPで小物書いたり、
RubyでRailsとかのが、
楽にサーバサイドプログラミングを学べるとは思う。

学習曲線と仕事での需要を無視出来るなら、
どの言語で何を初めても無問題。


435 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 00:37:57.41 ]
そうするとnode.js触ってる人は、一体何に使ってるの?

436 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 02:13:42.76 ]
俺は WebSocket を使ってみたくて いろいろ調べてたら
Node に行き着いた

socket.io 最高です^^

437 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 04:22:16.14 ]
>>435

>>414
>>436
もしくは、乗るしかない、このビッグウェーブに



438 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 04:24:20.73 ]
現状、実務レベルで使ってるのは一部の先進的なソーシャルアプリ系企業とか、
それぐらいじゃないかね。

439 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 09:03:34.19 ]
うちもOKもらって使ってる。ソーシャルアプリ全く関係ないけどw

440 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 09:35:24.58 ]
俺は単にブラウザ外でjs使いたいがために使ってるな

441 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 01:06:37.13 ]
ブラウザ外で使うのなら、wscript.exeでいいのでは?
もちろんJavaScript(JScript)が使える。

442 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 01:46:26.42 ]
皆がWin使ってるわけでもあるまい

443 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 02:12:36.29 ]
すべてのJavaScriptが同じだと思うなよ

444 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 08:09:36.00 ]
>>441
JscriptはJavaScriptではないだろ

445 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 09:06:32.24 ]
>>441
俺Macだし、npmも使いたいんだよ

446 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 00:30:54.36 ]
>>444
どっちも同じECMAScriptだよ

447 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 19:26:48.98 ]
node-mysqlなんかでssl接続するにはどうしたらいいのだ?
他のライブラリ見ても出来ないしもしかして本格的にNode.jsでmysqlを使ってる人ってすくないのだろうか?



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 ]
ただ煽りたいだけの頭痛い子か

549 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 21:23:09.37 ]
最初に煽ってきたのは>>544だけどなw

550 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 14:33:19.64 ]
接続中のクライアントをサーバ側でランダムにマッチングするようなことはできますか?
Node.jsはシングルスレッドのため、別スレッドで検索しつつ見つかったら〜みたいなこと
出来ない気がするので・・・。

わかる方いらっしゃいましたら教えて頂ければと思います。



551 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 15:05:35.26 ]
なんでnode.jsっていうんですか?正式名称はnodeじゃないんですか?

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とか環境変数はどうやって取得すればいいの?

653 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 11:19:29.56 ]
>>652
process.env

654 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:08:24.31 ]

ejs で、

app.get("/p/:id", function(req, res){
var id = req.params.id;
var hoge = "fuga";

res.render(id, {
locals: {

hoge:"test"

}
});
});


上記のようにしてレンダリングした際に、
<%- fuga %> が test に置換されるように、
localsのhogeを変数として指定することは出来ますか?

パワープレイで解決することは出来るのですが…。

655 名前:デフォルトの名無しさん [2012/03/24(土) 22:37:05.35 ]
素直に
locals: {
 fuga: 'test'
}
じゃ駄目なの?

656 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:52:51.19 ]
無理やと思うけどな

何がしたいかわからんけどこれじゃダメ?

var hoge = "fuga";

res.render(id, {
locals: {

a[hoge]:"test"

}
});
});

a["fuga"] ==> "test"




657 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 00:45:45.65 ]
var fs = require('fs');
fs.__proto__ = require('path');
とやっておくと、色々と捗る。

fs.existsとかが0.7でも0.6でもいける。



658 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 05:26:42.18 ]
fs.watchってディレクトリをロックするのかよ。
使いにく過ぎる。。。


659 名前:デフォルトの名無しさん [2012/03/25(日) 14:23:24.05 ]
現在のOSの言語設定を取得する仕組みないですか?

660 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 14:26:38.10 ]
locale

661 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 17:31:32.98 ]
ありがとうございました。
ちゃんと、C言語って返ってきました。
LinxuってC言語で作られてるんですね。

662 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 20:12:04.47 ]
propertiesファイルのパーサ作ったんだが、
require.extensionsに登録しておくと、
requireだけでpropertiesファイルの読み込みが出来て、
捗り過ぎwwwワロタwww


663 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 21:51:09.61 ]
node.jsの勉強がてら掲示板を作ってるんだけど、
こんな機能があったらいいな
と思う機能ってなにかありますか?


664 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:04:59.62 ]
未来の輝いてる俺の記録が既に書かれている

665 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:10:34.76 ]
>>664
ハゲ・ズラ板へどうぞ

666 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:53:12.15 ]
>>663
新着RSS

667 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:54:50.96 ]
npmでインストールできる掲示板とか。



668 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:59:30.63 ]
みんなサニタイズはどうやってる?
自前で実装してる?

669 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 23:52:21.35 ]
静的ファイルを返す簡易httpを実装した時は、
ディレクトリトラバーサルをチェックして、
リクエストパスを書き換えたりした。

670 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 00:17:31.15 ]
>>668
サニタイズ言うな。
エスケープだろ。

正しくエスケープすれば
すべての文字は扱える。

671 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 00:22:25.54 ]
>>670
高木先生乙

672 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 00:24:48.30 ]
>>663
とりあえず2ch風のでも作って見て それから考えたら?



673 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 00:25:09.83 ]
そんなことはない

674 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 01:18:44.90 ]
>>666>>667>>672
参考になる意見をありがとうございます。
672の言う通り、まずは2ch風のでも作ってみようと思います。
1週間ほどでできると思いますので、
そのときにはまたご意見のほど、よろしくお願いします。

675 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 01:33:30.37 ]
高坂王子は無視かよっ

676 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 04:17:44.31 ]
ペニサイズなら使ってもいいッ!

677 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 15:40:58.15 ]
名前を予約しておきたかったので、
hello world的なやつをnpmに登録した。
今では反省している。。。



678 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/30(金) 12:25:00.33 ]
こうしてまたゴミファイルがnpmに登録されるのであった

679 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 02:29:00.89 ]
Cometにnode.jsって相性がいいってよく聞くけど、実装しているのを見たことがない

680 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 11:00:37.33 ]
フィボナッチが遅いから仕方が無いんじゃねw


681 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 11:13:32.08 ]
>>679
socket.ioにcomet実装されてる

682 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 13:52:38.64 ]
jsでのフィボナッチは実装の仕方によっては爆速だったはずだが

683 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 15:52:40.02 ]
リクエストがスレッドやプロセスにバインドされるモデルには、Cometは向かないだろうね。
レスポンスを保留するのにどれ位のサーバ資源を消費したままになるか。これが向き不向き違いだろうね。

最近のサーブレット触ってないけど、APIレベルで非同期処理に対応したよね。速いのだろうか。

684 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 16:09:11.45 ]
うーん、、、githubとかmarkdownとかnpmとかmakefileとか難しい。


685 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 21:26:29.49 ]
>>681
使ってるサービスある?WebSocketは見るけど…

686 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 21:31:53.45 ]
Sessionの実装難しいなぁ。

687 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 21:58:07.49 ]
>>685
WebSocketの動かないIEなんかでもsocket.ioが動くから
その中で使ってるんじゃないの?



688 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 22:36:00.97 ]
socket.ioってWebSocketだけじゃなく、
かなり泥臭いところまでフォールバックするみたいだね。
iframeを使った通信までやってくれるらしい。

689 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 10:32:30.33 ]
cometってコネクション張りっぱなしというのにすごい抵抗があるんだけど考え方古い?

690 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 11:22:36.24 ]
cometはブラウザによってはアイコンが回ったままになるのが好かない

691 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 08:16:40.36 ]
mojitoってのがYahooから出たね。
Tower.jsのライバルっぽい感じかな。
後でソース見てみる。誰か試した?

692 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 08:28:23.47 ]
mojotoってExpressとConnect使ってるのか。
クライアントと同一コードが動くといっても、
Yahooのライブラリだしねえって感じ。jQuery使いたいだろjk。

クライアントとサーバで同じコードを動かすメリットがイマイチわからない。
経験上、ドメインの違いを無理矢理埋めると、
大抵どっちも微妙な感じになる気がする。


693 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 20:23:50.40 ]
下のコードでparse()に渡しているiの値がendの値になります。
parse()に連番を渡したいのですがどうすれば良いですか?

var i,html,$;
$ = require('jquery');
http = require('http');
for (i = start; start <= end ? i <= end : i >= end; start <= end ? i++ : i--) {
options = {
host: 'hoge.jp',
port: 80,
path: '/' + i
};
http.get(options, function(res) {
res.on('data', function(data) {
html += data;
}).on('end', function() {
var $html;
$html = $(html);
parse($html ,i);
});
});
}

694 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 09:13:12.07 ]
>>693
クロージャ

695 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 06:54:27.93 ]
ナターシャ

696 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 15:02:34.02 ]
>>694
ガッチャ

697 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 15:41:22.06 ]
スジャータ



698 名前:デフォルトの名無しさん [2012/04/23(月) 00:17:52.41 ]
だいぶ前にnaveで0.6.9とnode-inspectorとnode-devいれてチュートリアルやってたんだけど。
0.7.8でおなじよーにステップ実行しようと思たら、node-inspectorのchromeのアクセス自体でエラー落ちしてるぽいんですが、
0.7.7でもだめみたいです。
なにか詳細知ってるかたおられませんか?

【^q^】.nave/installed/0.7.8/lib/node_modules/node-inspector/node_modules/socket.io/lib/manager.js:900
if (req.url.substr(0, resource.length) == resource) {
^
RangeError: Maximum call stack size exceeded

699 名前:698 [2012/04/23(月) 00:53:17.10 ]
近況:0.7.4は動いた、バージョンに対応してないとか、そういう問題?

700 名前:698 [2012/04/23(月) 01:09:28.75 ]
近況:やっぱり動いてなかった

701 名前:698 [2012/04/23(月) 01:48:43.32 ]
ざっとためしてみた。やっぱり対応具合によるものか?
0.7.8 ×
0.7.7 ×
0.7.6 ○
0.7.5 ○
0.7.4 ×
0.7.3 ○

ほかの方で0.7.8で動いてる方とかおられますか?

702 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 22:57:54.10 ]
node.jsって次世代技術として追う価値ある?

703 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 09:33:47.33 ]
nodeよりjsをだな


704 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 15:57:56.76 ]
技術的にはぜんぜん次世代じゃないよね。安いJSプログラマを使えるというのが魅力なだけで。

705 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 16:30:37.64 ]
安いJSプログラマはJSプログラマじゃなくてjQueryプログラマだろ

706 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 20:22:44.02 ]
もしくはなんちゃってjsプログラマ


707 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 21:54:12.39 ]
なんちゃってとそうでないjsブログラマの違いをおせーて



708 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:00:24.89 ]
JS理解してます^^
って人の7割ぐらいは理解してないんだよなぁ

先に上がってるjQueryの件もそうだし
グローバル汚染しまくる奴もどうかと思うし


709 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 02:04:33.83 ]
しょせんはプレゼンテーション層の効率が良くなるとかそういう次元の言語技術だからな
本質的に何か生み出してる訳じゃない

710 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 09:30:49.80 ]
V8のスレじゃないんだからせめてイベント駆動IOの文脈で語ってやれよw
イベント駆動IOも次世代ではないけどさ

711 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:50:39.99 ]
あん

712 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:55:58.21 ]
ぱん

713 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 09:52:33.72 ]
nodeよりnude.jsのが衝撃を受けた

714 名前:デフォルトの名無しさん [2012/04/30(月) 12:07:08.87 ]
node.exe 0.6.16 (x64) + express + socket.io で,
socket.io/#how-to-use のサンプルを動かしてみたんだけど
Firefox だと WebSocket でちゃんと動くんだけど
IE9 だと Ajax になってしまって,しかも timeout になっちゃうんだよね

IE9 って WebSocket 対応してなかったっけ?

715 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 13:06:27.96 ]
絶対、人に聞くよりググッたほうが早いと思うんだけど
caniuse.com/#feat=websockets

716 名前:714 mailto:sage [2012/04/30(月) 18:38:24.07 ]
つい軽く訊いてしまったw
これ解りやすいサイトですね dd

node.exe 0.7.5 (x64) + socket.io のときは普通に通信できたんだけどなぁ
なんで繋がらないんだろ

717 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 10:55:59.02 ]
5年ほど前は、シュワルツ変換しろよ(ぷ
とか言ってた時代なのに、今ではjavascriptがスクリプト界のラクダ的な立ち位置



718 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 00:38:11.22 ]
socket.ioはスタンドアローンで鯖立てられるようになったけど
expressを同居させるメリットってなんだ?
おしえてくらはい

719 名前:デフォルトの名無しさん [2012/05/08(火) 01:53:06.29 ]
meteor.jsなんだこれ。
MVCとかRESTとかajaxとかsocket.ioとか、何すかそれ?って感じ。
サーバとクライアントのデータのやり取りが簡単すぎる。
めちゃめちゃ面白い。

720 名前:デフォルトの名無しさん [2012/05/08(火) 23:13:53.37 ]
>>702
ない

721 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 00:07:47.97 ]
俺、週末になったらmeteor.jsで遊ぶんだ
win版もあれば会社でも遊べるのに……

722 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 08:45:58.56 ]
>>721
いや、サーバに置けばwin機からでも

723 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 23:29:30.71 ]
サーバ持ってないし
準備する時間もない

724 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 08:48:14.35 ]
>>723
お前には一生無理だから諦めた方がいいよ

725 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 10:22:20.96 ]
謎の煽り

726 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 19:19:35.93 ]
>>719
あれメンテしきれるのかねぇ。どっかのVCからお金引っ張れたらいいんだけど。

ってもうVC使うような風潮でもないのかな

727 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 15:29:36.44 ]
node.jsって最近囃し立てられなくなったけどステマする必要がないくらいに浸透したから?
node.jsが使われているメジャーなウェブサービスを教えてくださいたくさん



728 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:34:43.08 ]
CoffeeScriptを使ってみたくてさっき入れたけど、
Chromeのuser.js作成には使いにくいのではないかと今気づいた
さてどうしよう

729 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:42:42.54 ]
>>727
一番大規模なのはやっぱピグライフじゃないんかなー


730 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:21:25.94 ]
BrowserQuestは結構規模大きいんじゃないかな?

731 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:23:06.35 ]
>ピグライフ
ありがとう
時間とともに状態が変化していくから向いている
とかですか?とくにそういうことは関係なく?

732 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 20:28:18.54 ]
>>731
これ見りゃいい
www.nicovideo.jp/watch/1320663274

733 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 03:53:57.13 ]
www.infoq.com/jp/news/2012/05/vertx
https://github.com/purplefox/vert.x
ja.reddit.com/search?q=+vert.x+node.js
vertxproject.wordpress.com/2012/05/09/vert-x-vs-node-js-simple-http-benchmarks/

coffeescript 上で JVM 作ってみたり
逆に java で node.js みたいの作ってみたり

734 名前:デフォルトの名無しさん mailto:age [2012/05/23(水) 15:12:32.56 ]
asyncがインストールできなくて困ってます。
ご教示願います。
package.json
{
"author": "hoge",
"name": "webdbsample",
"description": "sample program for testing node",
"version": "0.0.1",
"dependencies": {
"request":"*",
"express":"*",
"async":"*"
},
"devDependencies": {
"request":"*",
"express":"*",
},
"optionalDependencies": {},
"engines": {
"node": "*"
}
}

735 名前:734 mailto:age [2012/05/23(水) 15:13:26.43 ]
npm-debug.logです。
info it worked if it ends with ok
verbose cli [ 'node', '/usr/local/bin/npm', 'install' ]
info using npm@1.1.18
info using node@v0.7.8
verbose config file /Users/bbqtaro/.npmrc
verbose config file /usr/local/etc/npmrc
verbose config file /usr/local/lib/node_modules/npm/npmrc
ERR! Couldn't read dependencies.
ERR! Error: ENOENT, open '/Users/bbqtaro/Node/package.json'
ERR! You may report this log at:
ERR! <github.com/isaacs/npm/issues>
ERR! or email it to:
ERR! <npm-@googlegroups.com>
ERR!
ERR! System Darwin 11.4.0
ERR! command "node" "/usr/local/bin/npm" "install"
ERR! cwd /Users/bbqtaro/Node
ERR! node -v v0.7.8
ERR! npm -v 1.1.18
ERR! path /Users/bbqtaro/Node/package.json
ERR! code ENOENT
ERR! message ENOENT, open '/Users/bbqtaro/Node/package.json'
ERR! errno {}
verbose exit [ 1, true ]






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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