【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2016/04/11(月) 16:28:34.52ID:ORuOCkHy
pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。

node.js - googleが開発したV8エンジン上で実行できる処理系
http://nodejs.org/
io.js - node.js 互換で Joyent の影響からの脱却を目指す処理系
http://iojs.org/
Rhino - JVM上で実行できる処理系
https://developer.mozilla.org/ja/Rhino

io.js の経緯
http://stackoverflow.com/questions/27309412/what-is-the-difference-between-node-js-and-io-js
javascriptはrubyと比較してもかなり速い
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&;lang=v8&lang2=yarv
基礎から学ぶNode.js
http://gihyo.jp/dev/serial/01/nodejs
node.jsの概要とアプリケーション開発の準備
http://gihyo.jp/dev/serial/01/realtimeweb/0002

前スレ
【node.js】サーバサイドjavascript 3【io.js】(c)2ch.net
http://echo.2ch.net/test/read.cgi/tech/1419673207/
【node.js】サーバサイドjavascript 2【Rhino】
http://peace.2ch.net/test/read.cgi/tech/1358937029/
【node.js】サーバサイドjavascript【Rhino】
http://toro.2ch.net/test/read.cgi/tech/1310087535/

0952デフォルトの名無しさん2018/02/02(金) 07:24:52.85ID:E+B1ekpI
結局、どう使うべきかわからないというのが問題なんじゃないかな
拡張機能があるけど、個々の機能はわかるけど、うまくピースがはまらないイメージ

0953デフォルトの名無しさん2018/02/02(金) 07:41:34.72ID:sggyuymU
juliaもそうだった

0954デフォルトの名無しさん2018/02/02(金) 19:30:20.18ID:E+B1ekpI
プログラムの設計思想がぴんとこない
非同期で時間のかかることやらせるならsocket.ioは必須なの?
切断したときにどう復旧させるの?
自分は何者で何をしてたかの情報をうまく組み合わせる必要ない?

0955デフォルトの名無しさん2018/02/02(金) 22:13:57.33ID:ISpZH99S
どう使うべきかじゃなくて
自分が作りたいものを作る時に何を使うかだろ

0956デフォルトの名無しさん2018/02/03(土) 07:40:05.67ID:dVw1phCl
そこが想像できない、よくわからないから抜け出せないので、使う候補に上がってこない

0957デフォルトの名無しさん2018/02/03(土) 09:00:51.63ID:C+glEnt3
世界的な事例のほとんどは

バックエンドをマイクロサービス化

その前段のbffにnode.js

これだからモノリシックなシステムには無縁

0958デフォルトの名無しさん2018/02/03(土) 09:43:35.86ID:qWVkS+Es
それだとgolangに負けるな

0959デフォルトの名無しさん2018/02/03(土) 09:48:29.04ID:q+B7XjZz
bffでnode.js使うところはssrもやってるからgoは選ばれないんじゃね
結局そういうアーキテクチャの要請があってプロダクトが選ばれる

0960デフォルトの名無しさん2018/02/03(土) 10:20:29.26ID:k4L1joBU
bffとssrって関係あるかねぇ?

0961デフォルトの名無しさん2018/02/03(土) 10:30:11.33ID:lOPjGEYQ
isomorphic javascriptでググれ

0962デフォルトの名無しさん2018/02/04(日) 10:07:02.98ID:iEv00Bkz
SNSのバックエンドをExpressオンリーにするのって無理かな

0963デフォルトの名無しさん2018/02/04(日) 14:58:55.91ID:WVo2r3Ik
>>962
phpでもrubyでもいけるのにexpressじゃ無理かもしれないと思った理由は?

0964デフォルトの名無しさん2018/02/04(日) 15:27:37.16ID:B22IaXtA
一つのexpressにHTTPdからAPI鯖まで全部詰め込んでもいいんだぞ

0965デフォルトの名無しさん2018/02/04(日) 21:03:28.89ID:iEv00Bkz
>>963
あまりそういう話を聞かないから
不都合全く無いの?

0966デフォルトの名無しさん2018/02/04(日) 21:25:10.40ID:UUFlqCAw
expressはあんまり高水準のフレームワークじゃないしormはsequelizeくらいしかないしメリットなさげじゃね

0967デフォルトの名無しさん2018/02/05(月) 07:30:15.23ID:GXsl78kw
node.jsでウェブサーバやる利点って何?超使いづらいんですけど

0968デフォルトの名無しさん2018/02/05(月) 12:00:21.59ID:ozQGTy2c
使う側は意識することないだろ

0969デフォルトの名無しさん2018/02/06(火) 06:03:09.31ID:xat7U2Z1
meteor.jsとか見てるとjsのメリットすごいけどね

0970デフォルトの名無しさん2018/02/06(火) 06:07:24.84ID:BAsI0MB0
ssrでしょ
うん……

0971デフォルトの名無しさん2018/02/07(水) 09:30:35.59ID:5vmiY3qq
>>967
一人しか利用しないなら使わなくていいんじゃないの。

0972デフォルトの名無しさん2018/02/07(水) 18:55:54.33ID:GPioIT5w
素朴な疑問だけど
ここのみんなは node.js でどんなサービス作ってるの?

0973デフォルトの名無しさん2018/02/07(水) 19:02:22.99ID:ob9DrvK1
特定業種にiPadごと配るアプライアンス的なサービスのBff
なので事例には出しにくいけどバッチリ使ってる

0974デフォルトの名無しさん2018/02/07(水) 19:11:11.32ID:GPioIT5w
>>973
そのiPadに入ったアプリが通信する先のサービスってこと?
あとBffって何ですか?
無知ですまん

0975デフォルトの名無しさん2018/02/07(水) 19:19:56.30ID:IITgqAFh

0976デフォルトの名無しさん2018/02/07(水) 20:36:41.69ID:GPioIT5w
ありがとう、翻訳して読んだりしました
難しい
gateway とか dispacher的なもの?
nodeとnginxの関係を見た時nginxがbffの位置づけ?
見当違いならほっといてください

0977デフォルトの名無しさん2018/02/11(日) 15:29:51.01ID:6yH3qsLl
socketを使う必要がってnode+expressがやりやすそうと考えて
独学でnode.js始めて(独学)1年くらいです

sessionにredis使ってまして
通常のhttpとsocketでの共有が面倒なのですが
皆さん、どんな方法使ってます?

0978デフォルトの名無しさん2018/02/11(日) 15:43:11.62ID:xSFjw/ao
socketってwebsocketのこと?
node.jsではnetモジュールが提供するtcp用のapiが本来のsocketだから変な略し方すると話が通じないよ
websocketならhttpで始まるからセッションは普通に共有できるはず
websocketを使うのにsocket.ioを使ってるならそれも書いた方がいい
最近はsocket.io使ってる人が少なそうだからレスが付くかはわからんけど

0979デフォルトの名無しさん2018/02/11(日) 16:01:04.40ID:6yH3qsLl
>>978
ありがと&ごめん
socket.ioを使ったwebsocketでした

websocket側からsessionのハンドリングに自分は

var sockeio = require('socket.io')(server, {'transports': ['websocket']});
var io = sockeio.of(ns).on('connection', function(socket) {
/** socket.request.session;
* で拾える
*/
});
てなことしてまして、拾うのは楽なんですが
session save するのに
redisの該当データをupdate(set)するってことしてます
これ普通ですか?アホですか

あとsocket.io使われなくってるのは何故?

0980デフォルトの名無しさん2018/02/11(日) 16:29:55.16ID:d+jiviOC
こういうユーティリティで便利なのがないかさがしてみるのも一手
https://www.npmjs.com/package/express-socket.io-session

昔はwebsocket使えないブラウザが多かったから他のプロトコルにフォールバックしてくれるsocket.ioが重宝されてたらしい
今はwebsocket使える前提でいいからフォールバックは不要なので豊富な機能が不要ならwsとかシンプルなモジュールで十分って感じ
再接続とか考えるとsocket.io便利そうだけどね

0981デフォルトの名無しさん2018/02/11(日) 16:40:57.21ID:6yH3qsLl
>>980
express-socket.io-session 良さそ気

wsっかぁ、
自分を慰める理由が欲しいんだけど
room機能実装するならwsじゃなくてsocket.ioが楽?

0982デフォルトの名無しさん2018/02/11(日) 16:46:20.51ID:XUA6USjD
roomとか必要ならsocket.ioでいいんじゃない
よく聞くのはそれと再接続目当てな希ガス

0983デフォルトの名無しさん2018/02/11(日) 16:47:48.35ID:A30L58fq
お題が単に「room機能をとにかく楽に実装したい」ならgun.jsとかのほうが楽やで

0984デフォルトの名無しさん2018/02/11(日) 16:49:45.40ID:6yH3qsLl
thankYou!!!
生きてく元気ちょっと出た

0985デフォルトの名無しさん2018/02/11(日) 18:35:48.00ID:aqz0aJT4
未だにpython2に依存してるのが残念すぎる

0986デフォルトの名無しさん2018/02/11(日) 18:40:40.49ID:qCYdb3sP
残念おっぱいそん2

0987デフォルトの名無しさん2018/02/11(日) 18:57:55.27ID:A30L58fq
>>985
なーにそれ?くわしく

0988デフォルトの名無しさん2018/02/11(日) 19:18:40.58ID:WzEjvwQn
リアルタイムwebをいじりたいならmeteor.jsに乗っかるのも一つの手

0989デフォルトの名無しさん2018/02/11(日) 19:27:38.72ID:soB6fX+V
ビルドで使ってるgypがpython3に対応してないって話じゃね
開発元のgoogleでは対応済みなん?
まだならnode側じゃどうしょうもない

0990デフォルトの名無しさん2018/02/11(日) 19:53:03.30ID:A30L58fq
issue検索してみたけどgypへの依存なくせやって話もしつこく何回も立ってたんだね

0991デフォルトの名無しさん2018/02/11(日) 19:58:05.07ID:8+fCt4+r
v8のビルドがgypならそれも無理がありそうだがなんか代替案出てるんけ?

0992デフォルトの名無しさん2018/02/13(火) 19:06:40.59ID:X+YiM6Et
今日ジュンク堂行ったらnode.jsの本2つしかなかった。
しかも入門書、やっぱりnode.jsオワコン?
他にwebsocketできるものなんてあるの?

0993デフォルトの名無しさん2018/02/13(火) 19:09:35.96ID:flHxC5Ds
>>992
javaでもc#でも

0994デフォルトの名無しさん2018/02/13(火) 19:14:04.34ID:kAM/OKSF
node.jsは全然オワコンじゃない
es2015,6,7,8と毎年進化していく予定なんだから
むしろこれから盛り上がるってなもんで

0995デフォルトの名無しさん2018/02/13(火) 19:20:12.25ID:X+YiM6Et
同じことやるにしてもjava勉強したほうがいいのかな
C#はやらないけど

0996デフォルトの名無しさん2018/02/13(火) 19:21:38.52ID:esah1bhU
node.jsもjavascriptも毎年大きなバージョンアップが確定だから書籍は出しにくいよなぁ

0997デフォルトの名無しさん2018/02/13(火) 19:22:12.35ID:s321QVV0
>>995
javaやるくらいならc#にしとけ

0998デフォルトの名無しさん2018/02/13(火) 19:24:14.62ID:X+YiM6Et
windowsは使わないのでC#はいらない
dockerをそろそろ勉強しないといけないので、dockerといっしょにjavaでwebsocketもやるかな

0999デフォルトの名無しさん2018/02/13(火) 19:26:02.48ID:WkRgLvef
javaは死につつあるからgoの方がマシかな

1000デフォルトの名無しさん2018/02/13(火) 19:26:50.37ID:WkRgLvef
なお次スレ

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 673日 2時間 58分 16秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。