- 1 名前:デフォルトの名無しさん mailto:sage [2013/01/23(水) 19:30:29.58 ]
- pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。 node.js - googleが開発したV8エンジン上で実行できる処理系 nodejs.org/ Rhino - JVM上で実行できる処理系 https://developer.mozilla.org/ja/Rhino javascriptはrubyと比較してもかなり速い shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=yarv 基礎から学ぶNode.js gihyo.jp/dev/serial/01/nodejs node.jsの概要とアプリケーション開発の準備 gihyo.jp/dev/serial/01/realtimeweb/0002 前スレ 【node.js】サーバサイドjavascript【Rhino】 toro.2ch.net/test/read.cgi/tech/1310087535/
- 231 名前:デフォルトの名無しさん mailto:sage [2013/08/02(金) NY:AN:NY.AN ]
- MeteorのTable/Gridはロードマップに入ってました。 17Voteでは、まだ先のようです。
Meteoriteでパッケージ化するしかないのかな? 大変なんだよな 動かすの・・・
- 232 名前:デフォルトの名無しさん mailto:sage [2013/08/03(土) NY:AN:NY.AN ]
- package.json読み込んでパッケージの更新があるかどうかを
まとめてチェックするツールってない? (更新があるものだけリスト表示される)
- 233 名前:デフォルトの名無しさん mailto:sage [2013/08/03(土) NY:AN:NY.AN ]
- npm outdated
- 234 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
- Partial.jsのスクリーショットすげぇな。 HTML理解してれば、ナルホドナルホドの連発じゃね?
WebAppの敷居が低くなった。
- 235 名前:デフォルトの名無しさん mailto:sage [2013/08/05(月) NY:AN:NY.AN ]
- tutorial videoのこと?
- 236 名前:デフォルトの名無しさん mailto:sage [2013/08/18(日) NY:AN:NY.AN ]
- もっとWebかぶれっぽくウェビナーと言えよ
- 237 名前:デフォルトの名無しさん mailto:sage [2013/08/31(土) NY:AN:NY.AN ]
- expressのビューで採用されてるJadeって
あらかじめプレコンパイルってされる? それとも毎回コンパイルが走るのかな?
- 238 名前:デフォルトの名無しさん mailto:sage [2013/09/01(日) 23:58:47.37 ]
- オプションで
- 239 名前:デフォルトの名無しさん [2013/09/06(金) 03:36:43.07 ]
- 皆Stream3の話はもう知ってる?
- 240 名前:デフォルトの名無しさん [2013/09/06(金) 17:24:32.22 ]
- chrome.blogspot.jp/2013/09/a-new-breed-of-chrome-apps.html
itpro.nikkeibp.co.jp/article/NEWS/20130906/502868/ news.mynavi.jp/news/2013/09/06/057/ internet.watch.impress.co.jp/docs/news/20130906_614308.html
- 241 名前:デフォルトの名無しさん mailto:sage [2013/09/06(金) 18:18:12.60 ]
- ソケット系APIが扱いづらいからNodeとは競合しない
- 242 名前:デフォルトの名無しさん mailto:sage [2013/09/06(金) 18:24:22.74 ]
- nodeはdomを扱えないからクソだな
- 243 名前:デフォルトの名無しさん mailto:sage [2013/09/06(金) 18:28:28.42 ]
- つnpm install jsdom
- 244 名前:デフォルトの名無しさん mailto:sage [2013/09/06(金) 18:41:41.97 ]
- >>241
JSのエコシステム拡大につながるならむしろ援軍だしな
- 245 名前:デフォルトの名無しさん mailto:sage [2013/09/06(金) 19:00:51.62 ]
- V8チームはもうエンジンにDOMを組み込みたいんでしょ
現状だとパフォーマンスの面でもいろいろ問題あるし 基礎的なAPIも更新され続けてるからJSONみたいに簡単な話じゃないだろうけど 根本的なインターフェイスだけ実装してくれるのでもずいぶんパフォーマンスと実装がやりやすくなるに違いない
- 246 名前:デフォルトの名無しさん mailto:sage [2013/09/06(金) 19:11:48.22 ]
- それがBlinkの目標の1つだっけ
JSエンジンが1つだけなら分離させておく必要ないね
- 247 名前:デフォルトの名無しさん mailto:sage [2013/09/06(金) 20:51:04.97 ]
- Dart |ω・`) チラ
- 248 名前:デフォルトの名無しさん mailto:sage [2013/09/06(金) 20:59:49.30 ]
- DOMがJSネイティブでサポートされればWorker等も経由できるようになるし、
DOMPromiseみたいなのも採用しやすくなる。
- 249 名前:デフォルトの名無しさん mailto:sage [2013/09/09(月) 09:19:44.18 ]
- Math.floor((0.7+0.1)*10)
昔から分かってることだけど、やっぱ面倒くさいなあ。
- 250 名前:デフォルトの名無しさん [2013/09/09(月) 14:03:32.51 ]
- 誤爆???
- 251 名前:デフォルトの名無しさん mailto:sage [2013/09/09(月) 15:28:43.40 ]
- 面倒くさいって何がだ
- 252 名前:デフォルトの名無しさん mailto:sage [2013/09/09(月) 16:35:57.83 ]
- 普通は8を期待するところが、JSでは7が正解ということ。
まあ floor はいらないんだけど、整数の方が分かりやすいだろうとね。
- 253 名前:デフォルトの名無しさん mailto:sage [2013/09/09(月) 16:41:03.61 ]
- JSに限った話じゃ無くね?
- 254 名前:デフォルトの名無しさん mailto:sage [2013/09/09(月) 16:59:39.87 ]
- そうだよ。面倒くさいなあってだけの話。
- 255 名前:デフォルトの名無しさん mailto:sage [2013/09/09(月) 17:43:27.86 ]
- ES7ではdecimal型が導入されるけど
同時にuse 〜で数値型を制御する案が出されてる そうなれば解決できるかもね
- 256 名前:デフォルトの名無しさん mailto:sage [2013/09/12(木) 22:31:45.74 ]
- ES4のこれが入るといいね
wiki.ecmascript.org/doku.php?id=proposals:decimal
- 257 名前:デフォルトの名無しさん mailto:sage [2013/09/12(木) 22:57:05.05 ]
- opaって、どーよ?
- 258 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 02:54:06.31 ]
- なるほど、JSをWebサーバー用にかなりカスタマイズした感じか
本当に特化してるから確かにWebサーバーではいいこともあるかもね だけど対サーバーサイドJS用の謳い文句の、HTMLとかを直書き出来る機能は もうしばらくでJSにも導入されるし、どうなのかな wiki.ecmascript.org/doku.php?id=harmony:quasis
- 259 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 13:57:43.57 ]
- htmlのテンプレートは関係ないでしょ
- 260 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 14:59:10.26 ]
- いや、例えばよくあるこんなのの話だよ
"<div>$mes</div>" 今のNodeはアプリケーションサーバー向きだけど CGIとして利用するにはこういうの無いとちょっと不便でしょ?
- 261 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 15:02:32.54 ]
- >>260
テンプレートエンジンなら山ほどあるよ
- 262 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 15:29:16.76 ]
- Jadeは神だと思う
domはネストしまくるから相当綺麗になる
- 263 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 15:48:32.06 ]
- >>260
そんなのライブラリで解決してくれよ そんなつまらない機能で言語仕様を汚さないでくれ。。。
- 264 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 16:17:39.78 ]
- OpaってPHPみたいにhtmlとサーバーのJSコードを混ぜて書けるのか
これまたカオスを生みそうではあるな
- 265 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 18:29:56.30 ]
- >>263
だよな。E4Xの死亡が全てを語ってるのに蒸し返すなよっていう
- 266 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 21:48:34.66 ]
- node.jsってなんなんですか?
Webサーバの一種なんですか?プログラム言語の一種なんですか? そのへんがよくわかりません・・・
- 267 名前:デフォルトの名無しさん mailto:sage [2013/09/13(金) 22:01:06.54 ]
- ぐぐれ
- 268 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 13:40:27.31 ]
- exports.idcheck = function(req, res){
if(req.session.id){ res.send({"id" : req.session.id}); return; } res.send('hoge'); return; } 例えばこういう処理があった場合if文はelseで分岐させるべきですか? ifの中でもreturn文があればifブロック以下の処理は実行されないと思いますが
- 269 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 13:45:04.07 ]
- exports.idcheck = function(req, res){
var s = req.session.id ? {"id" : req.session.id} : 'hoge'; res.send('hoge'); return; }
- 270 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 13:45:57.85 ]
- exports.idcheck = function(req, res){
var s = req.session.id ? {"id" : req.session.id} : 'hoge'; res.send(s); return; }
- 271 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 13:58:47.56 ]
- >>270
>>268の処理をするならそちらの記述の方がスマートですね 結局elseを使えって事ですね
- 272 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 16:30:39.58 ]
- ifで条件付けて即returnするような場合は
無駄に深くなるからelse書かないほうが良くない? Javaの例で恐縮だが、これのequalsの例みたいに。 stackoverflow.com/questions/27581/overriding-equals-and-hashcode-in-java
- 273 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 17:04:37.90 ]
- 俺も大抵returnしてelse書かない派
さっさとreturnすればその状態のことは忘れられるから健忘の俺向き JSにもNodeにも関係ないプログラミング初級ネタになってるなw
- 274 名前:デフォルトの名無しさん [2013/09/14(土) 17:37:02.90 ]
- >266
解らないなら「馬鹿には無理」と書いてあると思っていい
- 275 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 17:50:17.96 ]
- ド底辺のnode.jsが出来なかったら何も出来ないからな
- 276 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 18:01:34.35 ]
- >>272
if () { //非同期処理 return; } とかだと話は変わってきそう
- 277 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 18:15:38.82 ]
- var hoga = function(x, callback){return callback(x);};
var hoge = function(a){ hoga(a, function(b){ return function(b){ return b*b; }; }); return b; }; console.log(hoge(2)); さて実行結果はいくつ?
- 278 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 18:24:17.16 ]
- undefined
- 279 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 18:33:33.15 ]
- コールバック関数内でreturnした値はどこへいくのでしょう
- 280 名前:デフォルトの名無しさん mailto:sage [2013/09/14(土) 18:37:39.41 ]
- hoist絡みのネタかと思いきやstrictモードじゃ実行もできない糞コードじゃねーか氏ね
ここはJS質問スレじゃねーんだよ!
- 281 名前:デフォルトの名無しさん mailto:sage [2013/09/26(木) 16:35:41.40 ]
- これってnode 0.10 だと使えない?
visionmedia/co https://github.com/visionmedia/co
- 282 名前:デフォルトの名無しさん mailto:sage [2013/09/26(木) 17:11:17.77 ]
- このすれってnodeとrhino限定?
- 283 名前:デフォルトの名無しさん mailto:sage [2013/09/26(木) 18:15:01.86 ]
- サーバサイドのJSならなんでもいんじゃね?
これからAvatar出てくるし
- 284 名前:デフォルトの名無しさん mailto:sage [2013/09/29(日) 00:13:31.64 ]
- node.jsのほとんどのモジュールでなぜか名前が出てくる
visionmediaって何者なの?
- 285 名前:デフォルトの名無しさん mailto:sage [2013/09/29(日) 01:08:11.90 ]
- TJ Holowaychuk
- 286 名前:デフォルトの名無しさん mailto:sage [2013/10/07(月) 18:44:00.14 ]
- 結局大規模開発向きではないのかな
- 287 名前:デフォルトの名無しさん mailto:sage [2013/10/07(月) 19:08:26.76 ]
- えっ
- 288 名前:デフォルトの名無しさん mailto:sage [2013/10/07(月) 21:38:52.77 ]
- 大規模開発やってる組織向きではないな
- 289 名前:デフォルトの名無しさん mailto:sage [2013/10/07(月) 21:39:53.35 ]
- Node自体が大規模なJSモジュールの集合みたいなもんだ
- 290 名前:デフォルトの名無しさん mailto:sage [2013/10/07(月) 22:30:20.80 ]
- >>289
は?
- 291 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 00:14:10.84 ]
- なんでVERT.Xの話題がでないの?
- 292 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 00:14:49.02 ]
- VERT.XのほうがNODE.JSよりパフォーマンスも生産性も上なのに
- 293 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 02:14:58.04 ]
- node.jsのフレームワーク出過ぎだな
今が戦国時代でこれからどんどん統治が始まっていくんだろう
- 294 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 08:53:48.04 ]
- >>291-292
そんなん使うなら生のJava使え
- 295 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 09:29:05.57 ]
- JVMが必要な時点で検討対象にならない
- 296 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 10:19:25.82 ]
- V8よりServerSide-JVMのほうが歴史も長く堅牢。
サーバーサイドJavaScriptが書けるなら検討する価値はある。 巷のnode.js開発案件って、炎上してないプロジェクトを 見たこと無いし。
- 297 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 13:55:33.98 ]
- >>291-292
万能すぎワロタ 多言語対応がとっても素敵
- 298 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 14:18:22.60 ]
- Java(笑)
- 299 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 18:44:55.93 ]
- >>291-292
Vert.xでJS選ぶ理由がないからここじゃ話題にならない
- 300 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 21:35:29.32 ]
- なんだかんだ言ってV8のパフォーマンスと将来性には敵わないから
これがもしJScoreだったら今の半分も流行ってたかどうか
- 301 名前:デフォルトの名無しさん mailto:sage [2013/10/08(火) 22:01:50.49 ]
- Vert.x調べてみてね、もう「うわ〜っ」って引いたよ
なぜかって言うとね、NodeとAPIが「少々」違うから もうね、覚える気がおきないわこれ Vert.xだけじゃない 最近ChromeAppっていうのができたでしょ? もうね、ソケットの触り方全然違うのよこれが 同じなのはね、コールバック地獄ってとこだけ もうね、ふざけんなと せめてデフォルトでPromiseくらい返すかしてよねと 早く誰かライブラリ作ってくんないかなあ
- 302 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 00:05:54.94 ]
- コールバック地獄は>>281が入ったら終了だ
早く来い新時代
- 303 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 01:35:36.73 ]
- いや、あえてジェネレータ+coは書かなかった
致命的な欠点があるからな それは処理途中の関数、特に同じものが複数生きてる状態が容易に作り出されるから 副作用を使う場合関数単位でスレッドセーフじゃないような感じになってしまう これはPromiseみたいなコールバックを「上手く扱う」仕組みではなくて 全く考え方を変えるもの まあそれが十分わかってりゃいいんだが もてはやされるのは気に食わない
- 304 名前:デフォルトの名無しさん [2013/10/09(水) 01:50:52.98 ]
- JavascriptはLispだと思っとけよ
- 305 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 02:25:15.98 ]
- マクロがないけどな
- 306 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 04:08:03.39 ]
- マクロは言語仕様外でも定義できる
power-assertみたいにAST使って言語に深く食い込んだものも可能
- 307 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 04:12:30.92 ]
- >>303
俺が無知なせいでよく分からないのだが 簡単に再現できるコードとかある?
- 308 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 04:21:59.41 ]
- ブラウザの話で悪いが
例えば何らかのイベントを処理する関数があるとする JavaScriptではその関数を実行中に他のイベントを処理する関数が (自分で明示的に呼び出したりしない限り)実行されることは無い このおかげで排他処理とかを難しく考える必要が無い しかし、ジェネレーター関数を使うと、関数を終わらせる前に 他のイベントを処理する関数が実行される可能性がある したがって排他処理をきちんと考えることが必要になる
- 309 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 05:05:37.85 ]
- 例えば大げさな例だがこういうのは厳禁ってこと
server.on('connect', function(socket) { var messages = [] socket.on('data', sync(function*(data) { var length = messages.length yield await(fileAddAsync, ['log.dat', length + ':' + data]) var messages[length] = data })) }) つまりとあるリクエストの処理が完了し切る前に次のが走っている、 時には次のほうが先に終わる場合だってありえるから つまり一時休止より前に取得した情報は 一時休止前に取得した情報を使って休止後に処理をするのは危険ということ
- 310 名前:デフォルトの名無しさん [2013/10/09(水) 07:59:21.72 ]
- 板違いやろ
- 311 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 08:44:16.86 ]
- 突然どうした?
node.jsに関して言えばWEBサーバ目的じゃないコードも書ける
- 312 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 09:05:04.27 ]
- 今してるのはもろWEBサーバのコードの話だけどね
- 313 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 09:13:54.93 ]
- プログラム板はソケットをlistenするコードは一切禁止なの?
- 314 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 10:21:31.71 ]
- node.jsに関して言えばム板にとってスレ違いじゃない話題*も*出来る
- 315 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 18:29:51.83 ]
- >>309
ありがとう
- 316 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 18:44:17.42 ]
- VERT.Xなら生産性が4割り増し
- 317 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 20:52:32.16 ]
- nodeos.github.io/
面白そうではあるけどNPM管理以外は不自由そう
- 318 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 21:10:46.20 ]
- >>317
Linux Kernelもnpmコマンドも使ってOSってどういうことなの
- 319 名前:デフォルトの名無しさん mailto:sage [2013/10/09(水) 23:40:00.86 ]
- NPMをパッケージマネージャにした新しいLinuxディストリビューションを作ろうっていうのかね?
それともnode.js版Vagrantみたいなのをつくるのか?
- 320 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 15:44:00.80 ]
- Rendrってどうよ? 使っているヤシ居る? ん? Rhino? Vert.xじゃねぇの?
- 321 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 15:53:19.67 ]
- rendrは死ぬほど流行るべき。
ってツイッターで見た
- 322 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 15:54:31.19 ]
- 死ぬと流行るはどういう因果関係があって使ってるんだ?
- 323 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 16:04:10.68 ]
- >>321
うひゃ〜 そうか 心強い。 ポチってみよ! Gruntから起動ってデバッグどうすんの? ツイットでは、ちょっとしたパラダイムシフトのような事書いてあったが良くわからん・・・
- 324 名前:デフォルトの名無しさん [2013/10/12(土) 16:19:41.94 ]
- >>323
クライアント側は普通にブラウザのデバッガが使える サーバ側は最新版だとrendr/examples/*/Gruntfile.jsの110行目付近にある args: ['./node_modules/nodemon/nodemon.js', 'index.js'], を args: ['./node_modules/nodemon/nodemon.js', '--debug', 'index.js'], に修正してgrunt serverすればWebStromやEclipseでリモートデバッグ出来る たぶんnode-inspector+ブラウザでもおk rendr-app-templateには最初から--debug付いてたんだがなぜか外された
- 325 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 16:24:55.64 ]
- sage忘れた
組込デバッガが使いたければこれでいける grunt compile node debug index.js
- 326 名前:774ワット発電中さん mailto:sage [2013/10/12(土) 16:30:48.23 ]
- >>324>>325
ふむふむ、メモメモ。 WebStormでやってみよん。 ありがとん。 ちら見だが、Controllerの概念がBackbone.jsになかったけど、馴染めるかな? ModelとViewをコントロールって・・・ 本来のMVCでね? なんで、Backbone.jsに無かったんだろ?
- 327 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 16:39:33.52 ]
- RendrのコントローラはBackboneルータの先っちょでAPI叩く係
- 328 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 17:48:39.93 ]
- >>324
無事00_simple動きましたん。 デバッグもOK ありがとん。 今までのように、ViewのeventじゃなくてControllerでやるのね、、、 Viewの肥大化を嫌ったのかな? Meteorのカルチャーショックとは違うショックをこれから期待してマス。 アナログハード屋なもんで、なかなかWebAppは手ごわいん。 次のニュービジネスを何しようかワクワク!
- 329 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 18:16:51.04 ]
- >>328
ちょっと違う ViewじゃなくてRouterでやってたことをするのがController router.navigate()でpushStateした時やURL直叩きされた時に routes.jsに定義されてるController#actionが呼ばれてAPIを叩く その結果で新しいModelやCollectionが作られてViewが作られて レンダリングするのがRendrの基本動作 つまり画面(URL)遷移する時だけ最初に動くのがController サーバ側MVCのControllerに近い
- 330 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 18:46:39.19 ]
- >>329
ほよ thx その視点でトレースしてみます。 勉強になります。
- 331 名前:デフォルトの名無しさん mailto:sage [2013/10/12(土) 18:59:54.76 ]
- URL変わらない時のイベント処理は今までのBackboneと同じでViewでする
フォームの処理とか始めると肥大化しがちなのも同じ Backboneはシンプルでいいけど双方向バインディングのあるMV*版のRendrも欲しくなる
|

|