X



【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/
0930デフォルトの名無しさん
垢版 |
2018/01/10(水) 22:13:57.25ID:NAqv0WmW
>>929
いつの間にサーバーOS=シングルユーザーOSになったんだよw
OSっていうのは複数の人が自分の権限で自分のコードを実行するもんだろ
0932デフォルトの名無しさん
垢版 |
2018/01/10(水) 23:40:19.20ID:ejeCAGvR
他のプロセスのメモリー内容まで簡単に読みに行けちゃうのはメルトダウンだけだよね?
0933デフォルトの名無しさん
垢版 |
2018/01/11(木) 00:49:54.75ID:PrVjW9Sz
http://blog.trendmicro.co.jp/archives/16735 読んだだけの
大雑把な理解だが、

カーネルのメモリを覗けるのがメルトダウン
同じコードを共有した他のプロセスのメモリを覗けるのがスペクター
だと思ってる

メルトダウンはカーネルのメモリを覗けるものだから
カーネルが覗かれないように対策できる

スペクターはアプリが覗かれないように対策する必要があるが
その必要があるのは、例えばブラウザのような同じブラウザ上で
別々の人が作った任意のコードを実行するようなものだから
攻撃の前提を満たすのが難しい
0934デフォルトの名無しさん
垢版 |
2018/01/11(木) 01:45:26.94ID:zDr2JTOQ
>>933
この記事はいいね。

> その必要があるのは、例えばブラウザのような同じブラウザ上で
> 別々の人が作った任意のコードを実行するようなものだから
この場合のコードは実行コードの意味だろうから、つまりは同じDLLをリンクしてたらアウトで、
Linuxならlibstdcやlibmとか、ほぼ全部のアプリが使ってるだろうしアウトじゃね?と思うが。
同じアプリである必要はないはずよ。
0935デフォルトの名無しさん
垢版 |
2018/01/11(木) 09:18:34.65ID:gamfIHe5
Spectreの2つの亜種のうち
1つは同じプロセスの内容だけを覗けて
もう一つは他プロセスの内容を見れるが、スーパーユーザー権限が必要って書いてあるようだけど?
0937デフォルトの名無しさん
垢版 |
2018/01/13(土) 20:38:05.97ID:iJyUFjEF
一度でもasync/awaitを使ってしまうと、もう元には戻れない
楽すぎるぅぅぅぅぅ
0939デフォルトの名無しさん
垢版 |
2018/01/13(土) 22:03:52.60ID:xaNBQnI8
単発非同期にはasync-awaitで十分便利だけど
イベントのようなものを扱うのはまだまだ難しい
まず値が複数あるということ
一応for-awaitはあるけどreturn時に特別な最終処理を行いたい場合は
結局done:trueを見ないといけないから使えない
また、イベントって標準on〜も結構な工夫がされてるけど、
イベントが起きた直後にセットしたハンドラで受け取りたいかどうかっていう問題がある
この辺り最近ずっと個人的に研究してるが容易ではない
0940デフォルトの名無しさん
垢版 |
2018/01/24(水) 19:25:24.68ID:BUPTScBe
最近node.jsを勉強しています。
socket.ioで質問なのですが、何か非同期処理していて接続が切れた場合、再接続したら
その処理完了のメッセージは受け取れるのでしょうか、それとも接続が切れた段階で、キャンセルされますか?
0941デフォルトの名無しさん
垢版 |
2018/01/24(水) 19:35:05.25ID:yxm2qYfd
>接続が切れた

もう少し詳しく
0943デフォルトの名無しさん
垢版 |
2018/01/25(木) 11:23:58.90ID:zPND7U3x
同じ切れると言っても切れてる時間の長さとか再接続でIPも変わるときと変わらない時でも違うんじゃね
0944デフォルトの名無しさん
垢版 |
2018/01/25(木) 11:26:00.59ID:zPND7U3x
TCPかUDPかとかでも違うんだろうけど
socket.ioがどっちかは忘れた
0945デフォルトの名無しさん
垢版 |
2018/01/25(木) 19:29:10.53ID:Jk7QmDIY
socket.ioってクッキーみたいので、セッションID維持してて
切れても安心みたいな感じじゃないんですか?
0947デフォルトの名無しさん
垢版 |
2018/02/01(木) 14:15:55.68ID:zVItOEuq
node.jsって人気ないな〜
解説ブログは古いし、間違ってるし、
こんなんで作ったらバグだらけやん
0948デフォルトの名無しさん
垢版 |
2018/02/01(木) 14:21:50.49ID:XMp5TkVS
はげそれ
ブームは去った
0952デフォルトの名無しさん
垢版 |
2018/02/02(金) 07:24:52.85ID:E+B1ekpI
結局、どう使うべきかわからないというのが問題なんじゃないかな
拡張機能があるけど、個々の機能はわかるけど、うまくピースがはまらないイメージ
0954デフォルトの名無しさん
垢版 |
2018/02/02(金) 19:30:20.18ID:E+B1ekpI
プログラムの設計思想がぴんとこない
非同期で時間のかかることやらせるならsocket.ioは必須なの?
切断したときにどう復旧させるの?
自分は何者で何をしてたかの情報をうまく組み合わせる必要ない?
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は選ばれないんじゃね
結局そういうアーキテクチャの要請があってプロダクトが選ばれる
0966デフォルトの名無しさん
垢版 |
2018/02/04(日) 21:25:10.40ID:UUFlqCAw
expressはあんまり高水準のフレームワークじゃないしormはsequelizeくらいしかないしメリットなさげじゃね
0973デフォルトの名無しさん
垢版 |
2018/02/07(水) 19:02:22.99ID:ob9DrvK1
特定業種にiPadごと配るアプライアンス的なサービスのBff
なので事例には出しにくいけどバッチリ使ってる
0974デフォルトの名無しさん
垢版 |
2018/02/07(水) 19:11:11.32ID:GPioIT5w
>>973
そのiPadに入ったアプリが通信する先のサービスってこと?
あとBffって何ですか?
無知ですまん
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とかのほうが楽やで
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への依存なくせやって話もしつこく何回も立ってたんだね
0992デフォルトの名無しさん
垢版 |
2018/02/13(火) 19:06:40.59ID:X+YiM6Et
今日ジュンク堂行ったらnode.jsの本2つしかなかった。
しかも入門書、やっぱりnode.jsオワコン?
他にwebsocketできるものなんてあるの?
0994デフォルトの名無しさん
垢版 |
2018/02/13(火) 19:14:04.34ID:kAM/OKSF
node.jsは全然オワコンじゃない
es2015,6,7,8と毎年進化していく予定なんだから
むしろこれから盛り上がるってなもんで
0996デフォルトの名無しさん
垢版 |
2018/02/13(火) 19:21:38.52ID:esah1bhU
node.jsもjavascriptも毎年大きなバージョンアップが確定だから書籍は出しにくいよなぁ
0998デフォルトの名無しさん
垢版 |
2018/02/13(火) 19:24:14.62ID:X+YiM6Et
windowsは使わないのでC#はいらない
dockerをそろそろ勉強しないといけないので、dockerといっしょにjavaでwebsocketもやるかな
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 673日 2時間 58分 16秒
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況