◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net YouTube動画>1本 ->画像>2枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1460359714/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
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/
2デフォルトの名無しさん
2016/04/11(月) 21:35:34.13ID:Dip4Tgpn
一乙
3デフォルトの名無しさん
2016/04/11(月) 23:33:50.49ID:nWjhgNZ/
いちもつ
4デフォルトの名無しさん
2016/04/12(火) 00:09:04.53ID:XDndw3nx
ええなんでまだスレタイとテンプレにio.js入ってんの
あとNashornもテンプレに入れてあげなよ
5デフォルトの名無しさん
2016/04/12(火) 00:10:58.11ID:/1JjO9y+
建てる前に言えや無能
6デフォルトの名無しさん
2016/04/12(火) 00:14:34.33ID:XDndw3nx
ふぇぇ
7デフォルトの名無しさん
2016/04/12(火) 00:22:39.64ID:/1JjO9y+
言い過ぎたよ!悪かったな!
8デフォルトの名無しさん
2016/04/12(火) 01:01:54.75ID:oLQPZW2w
koaの日本語書籍出ないかなあ
9デフォルトの名無しさん
2016/04/12(火) 01:53:53.86ID:qFt02Pi+
無理だろ
英語でもoreillyやmanningは当然としてpacktからも出てないやんけ
v2でasync/awaitベースに変わるから当分出そうにないし
その間にnode foundation傘下になったexpressの体勢が整ったらkoaはマイナーで終わるかもしれん
10デフォルトの名無しさん
2016/04/12(火) 02:11:10.70ID:LLlQMkVS
出しても元がシンプルなだけに需要ないんじゃない
11デフォルトの名無しさん
2016/04/12(火) 02:47:42.05ID:qFt02Pi+
本体の説明だけで終わらせるつもりかよw
ミドルウェアたくさんあるんだから書く気があればいくらでも書けるだろ
12デフォルトの名無しさん
2016/04/12(火) 12:29:37.47ID:MlmCnlCJ
書く気はないんですけどね
13デフォルトの名無しさん
2016/04/12(火) 16:02:04.59ID:56zGDR89
エーフィのけつがっちりつかんでパンパンしたすぎる!
14デフォルトの名無しさん
2016/04/12(火) 16:02:54.61ID:56zGDR89
>>13
すまん誤爆
15デフォルトの名無しさん
2016/04/12(火) 16:14:27.15ID:YS0WWjgC
ホモ板の誤爆を彷彿とさせるポケモナーの誤爆
16デフォルトの名無しさん
2016/04/13(水) 13:28:41.81ID:1GV7ImOm
npmって単にフォルダに入れておくだけでは使えないんですか?
インストールが必要なのでしょうか?
初心者ですみません
17デフォルトの名無しさん
2016/04/13(水) 14:17:12.90ID:1GV7ImOm
requestというモジュールをインストールすると、
他のnpmまでインストールされるんですが、これはどういうことでしょうか?
https://www.npmjs.com/package/request
このモジュールなんですが
18デフォルトの名無しさん
2016/04/13(水) 15:03:15.87ID:K44TORoo
そろそろ荒らしにしか見えない
相手した奴はお仲間と見做す
19デフォルトの名無しさん
2016/04/13(水) 16:07:42.06ID:1GV7ImOm
あと、モジュールは任意の場所にインストールできないのでしょうか?
普通、インストールするとnode_modulesフォルダが作られると思うんですが、その中に大量のファイルがインストールされてしまうため猥雑です。
node_modulesの下層に適当なフォルダを作ってそこにインストールしようとすると、エラーが出るのですが。
連投すみません。
20デフォルトの名無しさん
2016/04/13(水) 16:22:50.99ID:q38B7k8+
君は質問のやり方がヘタだなぁ
その聞き方じゃほとんど答えてもらえないだろうな

あとさ、その程度の質問は自分で解決しろって
ググればたいていわかるんだからさ
まじでその程度を自分で解決できないならプログラミング向いてないので止めなさい
21デフォルトの名無しさん
2016/04/13(水) 17:38:49.14ID:372sz71r
>>17
requestモジュールの中で、また別のモジュールを使っていて(依存していて)、
それが必要だからインストールされる

>>19
>モジュールを任意の場所に
素人は、決められた場所を使った方がいい

モジュールの場所を変えると、モジュールが読み込まれなくなったり、
間違って、同名の別の場所にある、異なるバージョンのモジュールが読み込まれたりして、危険

たいていの実行環境には、モジュール探索パスという環境変数があって、
どのディレクトリから先にモジュールを探すのか、順番が決まっている。
こういうシステムを知らない者は、決められた場所を使うこと

それと、コンピューター名・ユーザー名・パス・ファイル名など、
システムの重要項目に、日本語を使うな
22デフォルトの名無しさん
2016/04/13(水) 19:25:26.63ID:x9xQcmq4
deleteで確実に消えるオブジェクトはどうやって構成できるの?
23デフォルトの名無しさん
2016/04/13(水) 19:37:51.59ID:ihuFOFJr
deleteはオブジェクトを消すものじゃないですけど理解されてますか?
24デフォルトの名無しさん
2016/04/13(水) 22:27:50.78ID:JKiuLOht
お遊戯的なことはry
25デフォルトの名無しさん
2016/04/13(水) 23:34:14.64ID:1GV7ImOm
>>21
ありがとうございます。
場所はデフォルトの場所がいいんですね。
26デフォルトの名無しさん
2016/04/14(木) 00:18:24.82ID:JrYrqJdM
叩かれても気にしないスルー力、プログラマーには向いてなくても2chには向いてるな
27デフォルトの名無しさん
2016/04/15(金) 07:41:49.76ID:ypL17/E1
node jsのモジュールはインストールしないと使えないのですか?
ダウンロードしてきたものをnode_modulesにポイッと入れておくだけではだめなのでしょうか?
28デフォルトの名無しさん
2016/04/15(金) 08:20:26.48ID:Qjy3QEEg
単独で動作するモジュールならそれでもOK。
他のモジュールに依存してるモジュールなら素直にnpm installしたほうがいい。
29デフォルトの名無しさん
2016/04/15(金) 09:22:49.61ID:ypL17/E1
28
インストールの方が無難なのですね。
ありがとうございました。
30デフォルトの名無しさん
2016/04/17(日) 07:21:50.20ID:XV8EAMus
co便利すぎ
なぜ私は今まで使ってなかったんだ
便利すぎて徹夜で遊んでしまった
31デフォルトの名無しさん
2016/04/17(日) 09:44:29.78ID:zLHXr089
末尾再帰の最適化はまだ実装されてないんだっけ?
32デフォルトの名無しさん
2016/04/17(日) 14:34:17.40ID:oaifAOu8
>>30
そこまで行くならもうES7とかaltjs 使えばいいんちゃう?
33デフォルトの名無しさん
2016/04/17(日) 15:02:58.46ID:/BT6zS4R
>>32
es7(es2016)にはasync/await入らんのやで
babelでasync/await使えばええんちゃう、ならおk
34デフォルトの名無しさん
2016/04/17(日) 15:10:22.11ID:oaifAOu8
>>33
え?そうなの?いつの間に
どちらにしろ拡張機能使うならbabelでええやろ
35デフォルトの名無しさん
2016/04/17(日) 15:21:38.65ID:oaifAOu8
typedobjectといいオーバーロードといい、どんどん先延ばしにされてるなあ…
大丈夫なんか?
36デフォルトの名無しさん
2016/04/17(日) 16:16:19.91ID:QVsoTXmC
実装を置いてきぼりにしてもしゃーないし
37デフォルトの名無しさん
2016/04/17(日) 16:29:42.92ID:Qyz1BQkj
オレがNode.jsに求めることはただ一つ

あの非同期が当たり前の実装をやめてくれ。もしくはそうではない普通のJavaScript
と同じ実装にしてくれ。いちいちコールバックとか面倒で仕方ない。
38デフォルトの名無しさん
2016/04/17(日) 16:53:22.96ID:vB/UVa4U
お前向いてないよ
javascript自体


「ぱある」なるものでも使ってれば?
39デフォルトの名無しさん
2016/04/17(日) 16:56:17.84ID:/BT6zS4R
>>37
普通のJavaScriptと同じなんだが…
普通のJavaScriptでsetTimeoutもxhrも使ったことない人なのかな?
40デフォルトの名無しさん
2016/04/17(日) 18:56:56.92ID:chSabP/R
twitterのstreaming APIを使いたくてnode.js入れてみたけど
ググって出て来るサンプルコードがことごとく動かない…
npmで入れたtwitterモジュールもntwitterもだめ。

ちなみに参照してるのは
http://qiita.com/n0bisuke/items/09126e6e2cd111841a2e
とか
http://engineer.recruit-lifestyle.co.jp/techblog/2015-07-21-node3/

サーバー側を立ち上げてもすぐプロンプト戻るか無反応。
何が足りないん?
4140
2016/04/17(日) 19:52:50.45ID:chSabP/R
access_tokenの後の_keyを落としてたっぽい
凡ミスで半日潰したわ
42デフォルトの名無しさん
2016/04/18(月) 15:43:11.25ID:NxXedIF3
馬鹿には無理
43デフォルトの名無しさん
2016/04/18(月) 15:46:57.64ID:0YU0WiCr
2chで質問するやつってその時点で向いてない
44デフォルトの名無しさん
2016/04/19(火) 06:38:29.13ID:doEeCIn2
>>43は人間に向いていない。
虫ケラに転生したほうがいい
45デフォルトの名無しさん
2016/04/19(火) 20:28:52.19ID:X1zaZ+P/
1日15回しか質問されないja.stackoverflow.comよりは
多くの人間を救ってると思う
46デフォルトの名無しさん
2016/04/28(木) 01:07:21.16ID:ihYXt9xE
Arukas触ってみたけどnode.jsのインスタンス作っても動かないな
47デフォルトの名無しさん
2016/04/28(木) 13:56:27.86ID:k1aARqjb
オレがNode.jsに求めることはただ一つ
48デフォルトの名無しさん
2016/04/28(木) 19:50:46.25ID:T9Fq50Y9
それはスピード
この世の理はすなわち速さだと思いませんか、物事を速くなしとげればそのぶん時間が
有効に使えます、遅いことなら誰でも出来る、20年かければバカでも傑作小説が書ける!
有能なのは月刊漫画家より週刊漫画家、週刊よりも日刊です、つまり速さこそ有能なのが、
文化の基本法則!そして俺の持論でさ−−−−−−−ァ!
49デフォルトの名無しさん
2016/04/29(金) 15:39:50.67ID:yIWTKkJ0
正論
50デフォルトの名無しさん
2016/05/01(日) 00:25:12.65ID:kuTuaHk/
確かに正論
51デフォルトの名無しさん
2016/05/01(日) 09:18:32.44ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
52デフォルトの名無しさん
2016/05/01(日) 10:45:43.08ID:ZxoAm746
>>51
死ね
53デフォルトの名無しさん
2016/05/01(日) 17:19:38.95ID:Ujha+X5o
nodejsって別HHDのデータを読み込めないの?

htmlからならアクセスできるのにnodeでパス情報取得しようとしてもうまくいかない
54デフォルトの名無しさん
2016/05/01(日) 19:33:53.35ID:qzBkGc9X
データって具体的に何?
ファイル?
ファイルどうやって読もうとしてんの?
fsモジュールのドキュメント読んだ?
ねえ?ねえ?ねえ?
55デフォルトの名無しさん
2016/05/02(月) 12:01:21.60ID:8H2YwrSI
まだ学生だがこんな上司だったら嫌だな
3日で辞めそう
56デフォルトの名無しさん
2016/05/02(月) 12:07:32.85ID:/HEiP4n3
ドットインストールでも読んでくれば?って書こうとしたけど
これ明らかに他の言語やったことある人向けで、あんまり価値ねえな
http://dotinstall.com/lessons/basic_nodejs
57デフォルトの名無しさん
2016/05/02(月) 16:41:37.26ID:aR8AOrvI
こういう宣伝の仕方もあるんだな
58デフォルトの名無しさん
2016/05/02(月) 22:11:38.88ID:m5ZjdYyF
>>56
はっきり言って其のサイトのコンテンツ、ろくなのがないわ
59デフォルトの名無しさん
2016/05/03(火) 00:56:18.53ID:yIms8CXu
nodemailerでuser/pass認証をして、20人くらいをtoに設定してsendmailするとスパム扱いされて返送されてしまいます
試しに3人だけにして送ってみたところ、正常に送信することができました

こういうのはGoogle側にスパムじゃないと報告いれたりしないとダメなんでしょうか
60デフォルトの名無しさん
2016/05/03(火) 03:15:53.10ID:PQ3d4MP7
あなたのメールをスパムと判定されないためには
みたいな文書があったような…あった
https://support.google.com/mail/answer/9008?hl=ja
61デフォルトの名無しさん
2016/05/03(火) 11:54:43.35ID:yIms8CXu
>>60
どうもー
mandrillが有料化しなければぁ
62デフォルトの名無しさん
2016/05/04(水) 20:55:54.92ID:b/2mDK8P
>>55
2chに就職するわけじゃないだろう。
上司がねらー丸出しならすぐに逃げ出すべき。
63デフォルトの名無しさん
2016/05/05(木) 00:09:26.12ID:pinnJm27
アスペかな
64デフォルトの名無しさん
2016/05/09(月) 15:44:26.50ID:KFv/4yv6
急成長のUberもNode.jsなのにお前らときたら・・・
https://fa-works.com/blog/how-uber-scales-their-real-time-market-platform
65デフォルトの名無しさん
2016/05/09(月) 16:22:07.42ID:fQwtjbTF
まあこのスレは何を作るかってスレではないからな
v6.1.0出たけど特に話題になる要素もないし
66デフォルトの名無しさん
2016/05/10(火) 18:55:25.06ID:DK7gy/9B
v6.1.0だとbabel入らなくなるの?
LTSじゃないせいか情報が少ない
67デフォルトの名無しさん
2016/05/11(水) 04:38:16.92ID:e5ttOytk
node.jsド初心者なんだけどヒマな人いたら教えてほしい

node somescript.jsでバッチのように動かせることや
http.createServerでポート空けて待ち受ける簡易Webサーバやれることやデーモン化もできることはわかった

んでこれ実際に運用するときどうする?http://example.com/hoge/hage/ みたいなリクエストはどう受け付ける?
ていうかnginxやapache httpdからfastcgi呼び出すみたいにフロントのWebサーバがリバースプロキシになるような感じ?
68デフォルトの名無しさん
2016/05/11(水) 11:28:20.38ID:z7XWs6Or
>>67
http://www.nodebeginner.org/index-jp.html
69デフォルトの名無しさん
2016/05/12(木) 11:05:45.43ID:23UKfqZQ
nodeで読み込んだExcelテンプレートを編集して
ダウンロードさせたいのですがExceljsを使用すると
スタイルの情報が落ちてしまいます。。。

Streaming XLSX Writerなるものを使えばスタイル情報の書き込みもできる
みたいですが読み込み方がわからない。

そもそもnodeでExcel扱うなってことですかね。
いろいろ調べてももう行き詰ってしまったので教えてください。
Exceljsにこだわりはないので他のものでも大丈夫です。
70デフォルトの名無しさん
2016/05/12(木) 17:45:43.81ID:kJTP2wgD
公式からnode.jsのwindows版をダウンロードしようとしたら、chromeに 〜 may harm browsing experience, so Chrome has blocked itって怒られるよう
71デフォルトの名無しさん
2016/05/12(木) 23:25:26.78ID:Xc9f48N7
>>69
基本的に内部構造が非公開のExcelを
まともに解析できるライブラリは無いと思え。

一番良く出来ているのはJava製だ。
72デフォルトの名無しさん
2016/05/13(金) 00:19:28.85ID:Po0C4aft
>>69
google spreadsheetでも使え
73デフォルトの名無しさん
2016/05/13(金) 08:26:22.42ID:PA7fuAE5
>>71
> 基本的に内部構造が非公開のExcelを
http://www.ecma-international.org/publications/standards/Ecma-376.htm
74デフォルトの名無しさん
2016/05/13(金) 09:20:21.81ID:ohutIF2K
xlsxに限っては嘘だな
xlsは非公開
7569
2016/05/13(金) 11:50:34.68ID:8I+78kq5
レスありがとうございます。
>>72
google spreadsheetの選択肢はありませんでした。
これであればスタイルの読み出しをしないでも
書き込みとDLだけで実現できそうです。
ありがとうございます。
76デフォルトの名無しさん
2016/05/13(金) 11:52:46.81ID:VaDZ5Gj+
>>69
スタイルの情報って具体的にどんなやつ?
77デフォルトの名無しさん
2016/05/13(金) 13:07:59.75ID:8I+78kq5
>>76
線やフォントの情報がほとんどです。

Exceljsで下記のような実装をしたところ
エクセルファイルに追記はできるものの、
線もフォントサイズも元に戻ってしまいました。

var Excel = require('exceljs');
var workbook = new Excel.Workbook();
workbook.xlsx.readFile(filename)
.then(function() {
var worksheet = workbook.getWorksheet(1);
worksheet.getCell(1,1).value = "test";
workbook.xlsx.writeFile(outputname)
.then(function() {
// done
});
});
78デフォルトの名無しさん
2016/05/13(金) 14:36:44.79ID:VaDZ5Gj+
>>77
>Streaming XLSX Writerなるものを
これの使い方を調べれば?
79デフォルトの名無しさん
2016/05/13(金) 14:59:32.62ID:8I+78kq5
>>78
ExcelJSのReadmeを見てみると
>> var workbook = new Excel.stream.xlsx.WorkbookWriter(options);
で書き込み用のワークブックを用意することはできるので
同様にWorkbookReaderにてワークブックを読み込むことはできるのですが
この方法だと読み込んだワークブックに対して
シート指定 (workbook.getWorksheet()) を使用とするとエラーになります。
そもそもインスタンスを作っただけなのでこの時点で指定したファイルが
読み込めているわけではないような気もするのですが。。。
ドキュメントやコミュニティの記事もほとんどなく行き詰ってしまったわけです。
80デフォルトの名無しさん
2016/05/14(土) 06:14:39.92ID:wJYxysEH
ついに、Electron 1.0がリリースされたぞ
81デフォルトの名無しさん
2016/05/14(土) 08:03:10.77ID:YqHA7/Dn
1.0になったら、でなく
サイズが10MB未満なったら教えてくれ
82デフォルトの名無しさん
2016/05/14(土) 08:08:57.91ID:10usGhO1
サイズでかいよな
自分用にちょちょいと書いたアプリならいいけど
人に渡すには躊躇う大きさだ
83デフォルトの名無しさん
2016/05/14(土) 08:24:43.73ID:YqHA7/Dn
あるいはElectronアプリごとのchromiumを共有できるようにして欲しい
84デフォルトの名無しさん
2016/05/14(土) 09:24:22.56ID:pahI6w8f
>>82
2DDフロッピーや4800bpsの通信が一般的だった時代ならいざ知らず
数百GBのHDDにギガビットのネットワークが普通の時代に何を言うw
85デフォルトの名無しさん
2016/05/14(土) 09:44:07.58ID:1JOshMS2
xssがなくなったら起こしてくれ
86デフォルトの名無しさん
2016/05/14(土) 10:22:49.75ID:pahI6w8f
>>74
>xlsは非公開

こっちも公開されてるよ。見て理解できるかどうかは別にして。
https://codezine.jp/article/detail/2250
https://msdn.microsoft.com/en-us/library/8aea05e3-8c1e-4a9a-9614-31f71e679456
87デフォルトの名無しさん
2016/05/14(土) 11:10:01.09ID:YqHA7/Dn
>>84
引きこもりならそういう考えもアリだね
88デフォルトの名無しさん
2016/05/14(土) 11:10:36.39ID:r8zKr16p
>>77
その程度ならActiveXで書き込めば一発じゃね
89デフォルトの名無しさん
2016/05/14(土) 11:24:41.99ID:pahI6w8f
>>87
引きこもりとファイルサイズの関係を桶屋に例えて説明してくれ。
90デフォルトの名無しさん
2016/05/14(土) 13:28:34.42ID:5pXvQAwD
Electronは、Gradleみたいに自動で、JCenter/MavenCentral などから、
指定したバージョンのChromium/Node.js を、
まだインストールされていなければ、インストールするようにしたらよいのに

そうすれば同じPCで、同じバージョンのChromium/Node.js を、重複して持つことは無い
91デフォルトの名無しさん
2016/05/14(土) 13:38:01.69ID:8701OXOx
>>90
はいどうぞ書き込んでください。

https://github.com/electron/electron/issues/new

こちらでも構いませんよ。
https://github.com/electron/electron/pulls
92デフォルトの名無しさん
2016/05/15(日) 11:16:03.18ID:Q0jJd4Wt
npmの思想に従ったらやはり個別に持つんじゃねーのかな
やはりelectron用chromiumが小さくなる方が妥当だ
93デフォルトの名無しさん
2016/05/15(日) 11:32:55.67ID:Y0vt3lCd
読み込むmoduleが解決出来なければnpmから導入を試みる仕組みなら少しほしい
例えばテストにしか使わないbabel一連を毎度npm i -Dすると容量食うだけだし
とはいえglobalに入れてmoduleのpackage.jsonに一々devDependencies書くのも手間だ
94デフォルトの名無しさん
2016/05/15(日) 12:31:22.18ID:dQ3oq8kE
100Mbyteくらいでセコイ事をいうなよ。
95デフォルトの名無しさん
2016/05/15(日) 13:17:38.37ID:Eqq7M5pc
引きこもりならそういう考えもアリだね
96デフォルトの名無しさん
2016/05/15(日) 15:02:44.09ID:AhilAPgi
nodeってどういう人が
何する為に使うもんなの?
97デフォルトの名無しさん
2016/05/15(日) 16:06:58.13ID:nepemUuD
>>96
俺も知らないけど、javascript大好きな人がサーバーサイドをjavascriptで書くために使うんじゃないの?
98デフォルトの名無しさん
2016/05/15(日) 16:26:24.00ID:e+kzQGE7
業界あげてウェブ技術だけでなんでも出来る世界を作ろうとしてるからね。
99デフォルトの名無しさん
2016/05/15(日) 17:38:46.01ID:AhilAPgi
>>97
サーバーサイトを書くのは普通php?
python、その他なんて使わないの?
100デフォルトの名無しさん
2016/05/15(日) 17:54:58.56ID:gfIC+EQb
ひとつのモジュールからクラサバ出来れば、楽じゃん。
って発想で俺は割とnode推し。
validationとか。
101デフォルトの名無しさん
2016/05/15(日) 20:13:10.39ID:jf4/vLKx
>>96
普通にtypeScriptみたいにaltJSとか使いたかったり
js側でもテスト駆動開発やりたかったり
SPAとか作りたかったらnodeのエコシステムは必要だと思うけど。
102デフォルトの名無しさん
2016/05/15(日) 21:00:40.05ID:GXfI7+hY
ぶっちゃけnode側のjsとクライアント側のjs
そこまで共通化省力化できる部分多くないよね
103デフォルトの名無しさん
2016/05/16(月) 01:50:06.72ID:Pm3ds6MJ
>>90
正直、配布関係がグダグダのままだよねw

インストーラと呼べるものもねぇし。node.jsのライブラリとかを
実行ファイルの同じディレクトリにまるまんまコピーして配布とか
ダセェこといつまでやらせるつもりなのか。

作ってる連中の程度が低くてイライラする。
104デフォルトの名無しさん
2016/05/16(月) 01:59:04.85ID:4SztQafU
>>103
なんでプルリクしないの?バカなの?
105デフォルトの名無しさん
2016/05/16(月) 02:02:37.84ID:Pm3ds6MJ
>>104
そんなもの言われなくても実装して当然ですよ。今どき。
106デフォルトの名無しさん
2016/05/16(月) 02:11:59.90ID:K/hgNSZS
>>105
LL言語でインストーラーなんて聞いたことがないが?
107デフォルトの名無しさん
2016/05/16(月) 02:17:23.20ID:IapxlnNr
どうやったところでXSSを克服できない限りおもちゃ扱いだろ
業務にElectronアプリ使ってXSSで機密情報盗まれましたとか目も当てられんわ
108デフォルトの名無しさん
2016/05/16(月) 02:24:07.71ID:K/hgNSZS
>>107
そのアプリで特定のドメインだけに接続するようにすれば
XSSは簡単に克服できるよ
109デフォルトの名無しさん
2016/05/16(月) 02:25:43.57ID:K/hgNSZS
まあそれ以前にXSSを克服してないはずの
ウェブがこれだけ世界を支配してるんだけどね。
110デフォルトの名無しさん
2016/05/16(月) 02:27:37.78ID:IapxlnNr
テキストファイル開いただけでホストの権限取られる脆弱性はウェブにはないわ
111デフォルトの名無しさん
2016/05/16(月) 02:30:29.64ID:K/hgNSZS
テキストファイル(例~/.ssh/以下)開いただけでホストの権限取られるからな
ネイティブアプリは
112デフォルトの名無しさん
2016/05/16(月) 02:40:45.00ID:IapxlnNr
こういうバカに騙されないように知らない人に説明すると
ElectronはXSSの仕込まれたHTML開くだけでPC乗っ取られることがバレてから
まともな開発者はElectronから手を引きました
JSだけが拠り所の低能キチガイNode信者の言うことを真に受けないようにしましょう
113デフォルトの名無しさん
2016/05/16(月) 02:45:40.15ID:Pm3ds6MJ
>>106
馬鹿かてめぇは。

言語の問題じゃねぇだろ
114デフォルトの名無しさん
2016/05/16(月) 02:46:04.20ID:Pm3ds6MJ
>>108←セキュリティ問題が各所で指摘されてることもわからないアホ
115デフォルトの名無しさん
2016/05/16(月) 02:47:13.49ID:K/hgNSZS
>>114
反論になってないw
116デフォルトの名無しさん
2016/05/16(月) 02:48:06.52ID:Pm3ds6MJ
>>107
>>112
>>110
だな。しかしElectron開発者のキモヲタ連中は全く改善しようともしていない。
Node.jsの連中も然りだけれどな。

内紛起こして分裂はするわ、npm停止させて問題起こすわ、このコミュニティは
ちょっと問題ありすぎ。
117デフォルトの名無しさん
2016/05/16(月) 10:06:52.07ID:DkcwsRla
>>112
横からだけど情報thx
様子見してただけだったが良かった
118デフォルトの名無しさん
2016/05/16(月) 10:10:09.43ID:Pm3ds6MJ
>>117
ま、正直言わせてもらうけれど、サーバサイドやるならNode.jsなんて
やめておいたほうがいいですよ。実用レベルには至っていないから。
特にElectronはね。

Node.jsのほうはコミュニティと開発者連中に頭のオカシイのが多いから
これまでも問題を起こしまくってるしね。いつまた分裂したりnpm止め
られたりするかわかったもんじゃないよ。
119デフォルトの名無しさん
2016/05/16(月) 10:35:56.54ID:mzVyV5EK
何をどうはねっかえりたいかわからん。
electronで外部のHTMLを開くという事を考えつく方がどうかしてる。
いわゆるアプリなら、得体の知れないdllをロードして叩くとか、得体のしれないモジュールをrequireするくらい頭おかしい行為なんだが。
あとは、モジュールを全部持つってのも、別にwebpackかなんかかけちゃえいいんでないの?
120デフォルトの名無しさん
2016/05/16(月) 11:09:29.86ID:o8E95WL6
前提条件としてElectronを狙い撃ちにしたXSSが仕込まれたサイトを
Electronで見に行けば、任意のコードを実行させられることもありえるよね
という無理筋な話だよね
121デフォルトの名無しさん
2016/05/16(月) 12:42:26.06ID:DkcwsRla
>得体の知れないdllをロードして叩くとか、得体のしれないモジュールをrequire

python良く使うけどimportしただけで個人情報を外部サーバーに送信されるモジュールがあったら確かに怖いな
122デフォルトの名無しさん
2016/05/16(月) 12:55:37.33ID:r8GcqOe4
今eslint 2.9.0をインストールしてます
eslint 2.10が出てたので更新しようと思いnpm update -gを実行してもeslintが更新されません
何で更新されないんですか?
123デフォルトの名無しさん
2016/05/16(月) 15:31:32.74ID:EErMUWjt
分裂騒ぎで悪いのはjoyentって企業だけどな
それでもjenkins、mariadbと複数の分裂騒ぎ起こして再統合しようともしないoracleよりマシ
最高に頭おかしいoracleが中心に居座ってるjava使うのもやめた方がいいってことだな
124デフォルトの名無しさん
2016/05/16(月) 15:41:03.11ID:vcp2NKdV
nodejs作ってる人たちは無給で趣味でやってんの
それともお給料もらってやってんの
125デフォルトの名無しさん
2016/05/16(月) 16:03:44.38ID:mzVyV5EK
>>121
そう。
レンダリングエンジンとしてHTML+cssを使ってるのであって、
ウェブページを見るもんじゃないの。
古い時代の素のphpなんかで、HTMLのヘッダ文を出すためだけに自分で書いたhtmlをrequireしたりするじゃん。
そういう物であって、外部コンテンツをそのまま表示させるものじゃない。
126デフォルトの名無しさん
2016/05/16(月) 16:27:01.48ID:IapxlnNr
わかりやすさのためにHTMLを開くと書いたがテキストをはじめとするユーザー入力を表示するために
パースしてDOMに入れる行為にブラウザと同じくXSSのリスクがあってそれが実行アプリを越えて攻撃できるので危険度激大ということ
ウェブページのようにファイルをHTMLとして解釈させる必要などない
DOMに入れなきゃ表示できないんだからむしろすべてHTMLとさえ言える
VSCodeですらXSSの成功が報告されてて危なくて使えない
はっきり言ってこの程度のアンテナも張れない無能は初心者でもなければ技術者やめたほうがいいよ
こんな赤ちゃんみたいに懇切丁寧に説明されなきゃ理解できないなんてまともなプログラマなら恥ずかしくて死んじゃうぞ
127デフォルトの名無しさん
2016/05/16(月) 17:07:13.65ID:DkcwsRla
cssってスタイルシートですか?レベルのひとらが集まってる感じはします
128デフォルトの名無しさん
2016/05/16(月) 17:40:01.01ID:mzVyV5EK
>>126
何言ってんだよ。
DOMにユーザ入力を入れるとか寝言だろ。
phpの、<input ....value="<?=$evi?>">レベルの話。
jQueryなんかでテキトーに組んでる程度の知識しかねえんじゃねえの?
129デフォルトの名無しさん
2016/05/16(月) 17:41:54.90ID:mzVyV5EK
もしくはある程度evalしなきゃならんエディタと、普通のelectronアプリ混同してるのかな。
130デフォルトの名無しさん
2016/05/16(月) 18:36:56.67ID:o2eG9R3E
誰かさんもフロントエンジニアはレベルが低いって言ってましたし
仕方ないんじゃないでしょうか!?
131デフォルトの名無しさん
2016/05/16(月) 19:10:26.84ID:IapxlnNr
低レベルなフロントエンジニアの崇めてるElectronアプリがいかに危険か擁護の低能さからよくわかりますね
HTMLタグに直接埋め込むなんてキチガイ行為がさらっと出てくる人には戦慄を隠せませんわ
この程度のスキルでXSSを防げると勘違いしてるパソコンの大先生がElectronアプリを作ってOSを危険に晒しているのです
みなさんも気をつけましょうね

Fin
132デフォルトの名無しさん
2016/05/16(月) 19:28:01.64ID:d8WCTinP
kik問題ごときで混乱するような連中だもの、程度なんか知れたもんだろ
ここではないどこか他に行くといい
馬鹿が感染っても責任は取れないぞ
133デフォルトの名無しさん
2016/05/16(月) 20:25:04.64ID:mzVyV5EK
>>131
何言ってるのかわからん。
HTMLタグに直接埋め込むレベルのアホさを露呈したのはお前じゃねえの?
指摘されてる事に真摯に受け止めたらどうなんだろ。
134デフォルトの名無しさん
2016/05/16(月) 20:31:49.14ID:dl3n57UC
とりあえずnode.jsできたサイトをXSSでハッキングしてみせてくれ
135デフォルトの名無しさん
2016/05/16(月) 20:35:28.12ID:o8E95WL6
>>131
君が言ってるのは悪意のあるテキストをElectronで開いたら、悪意のあるコードが実行されたってわけなんだけど
なぜ、開いた!ってことなんだよ

(メールで送られてきた)悪意のあるexeを実行したら、悪意のあるコードが実行されたってのと同レベルなわけだよ
136デフォルトの名無しさん
2016/05/16(月) 20:38:39.83ID:IapxlnNr
>>132
その時もここの連中のnpmに依存しない方法すら考えられないアマグラマっぷりには呆れたもんだ
公式で提供されてるのにどんだけ頭悪いんだよ
今回もド素人集団なのを再確認しただけだったな
他の言語だとまだ読めたスレがあるがこのスレはゴミとデマばかりだし捨てるか
初心者向け言語はせいぜい隔離所として役に立ってくれ
137デフォルトの名無しさん
2016/05/16(月) 21:00:04.14ID:5VzHAN2o
殺伐としたスレにシュレディンガーの猫が!
     ______
   /          /|
  ┃ ̄ ̄ ̄ ̄ ̄┃ ┃< にゃー
  ┃          ┃ ┃
  ┃          ┃/
    ̄ ̄ ̄ ̄ ̄ ̄
 _人人人人人人人人_
 >  生 存 確 認  <
  ̄^Y^Y^Y^Y^Y^Y^Y^Y ̄
138デフォルトの名無しさん
2016/05/16(月) 21:01:40.13ID:mzVyV5EK
むしろ全てHTMLと言える、ってそうなんだけど、
だからといってそれはコンテンツとは地続きではないからな。

余程、こういった類の技術についていけず脅威だと思っているか、もしくは自分がXSSを避けるコーディングが出来ないから、そんなものはあり得ないと思い込んでいるかだろうな。
139デフォルトの名無しさん
2016/05/16(月) 21:21:09.44ID:uJCe7PEp
どうしても怪物と戦って怪物になりたいらしいな
140デフォルトの名無しさん
2016/05/17(火) 11:10:18.49ID:t7otmJ+D
eslint 2.10.2でeslint-config-airbnbが使いたいので
kidotoyohiko$ubuntu: $ npm -g i eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react
ってしたんですけど

+-- UNMET PEER DEPENDENCY eslint@^2.9.0
+-- [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]
ってでました
今の段階ではeslint 2.9じゃないとだめってことですか?
141デフォルトの名無しさん
2016/05/17(火) 11:10:18.65ID:NWTAtPGB
>>135
>悪意のあるexeを実行したら、悪意のあるコードが実行された

なんでそんな糞メーラー(=Electron)使ってるっつー話かと
142デフォルトの名無しさん
2016/05/17(火) 11:22:28.23ID:vWciy/Ev
>>141
そら、メーラーで防いでも無駄だし、メーラーか防ぐべきもんじゃないからね。
143デフォルトの名無しさん
2016/05/17(火) 11:25:24.26ID:iVXO0tyU
検証もせずライブラリバンバン使ってるだろう性善説盲信者の劣等node民にはお似合い
144デフォルトの名無しさん
2016/05/17(火) 12:00:35.68ID:NWTAtPGB
>>142
メーラーはメーラーらしくしてろってことだろう
145デフォルトの名無しさん
2016/05/17(火) 12:42:42.82ID:GWS/+oAS
てめーらー落ち着け
146デフォルトの名無しさん
2016/05/17(火) 12:50:37.50ID:vWciy/Ev
>>144
そうだね、だから、アプリケーションとして、外部のなんかとか、ユーザ入力を実行なんかしないように作らないとね。CSP化とか。
147デフォルトの名無しさん
2016/05/17(火) 13:45:03.52ID:EMvssbgN
概出だったらスマソが3行でまとめて
http://utf-8.jp/public/2016/0307/electron.pdf
http://utf-8.jp/public/2016/0328/shibuyaxss.pdf
148デフォルトの名無しさん
2016/05/17(火) 14:33:01.77ID:10XG9XuV
メーラーも気合いと根性が足りないんだな
149デフォルトの名無しさん
2016/05/17(火) 15:09:28.08ID:0bevgSyf
無理というのは嘘吐きの言葉なんです(WTM感)
150デフォルトの名無しさん
2016/05/17(火) 15:34:24.89ID:8aS7q7M5
ここで質問しても答えられる奴がいなくて使い物にならねえ
151デフォルトの名無しさん
2016/05/17(火) 15:52:52.28ID:Fxw/fT3u
>>150
>>43見れ
152デフォルトの名無しさん
2016/05/17(火) 16:12:13.60ID:vWciy/Ev
>>147
ごくごく当たり前の事だが、
「枠組みでどんなサンドボックスを用意しても割と抜け穴は有る」ので、「サニタイズしてないものを画面に出さない」
それだけ。

自作でも、既存のでも良いけどMVVMフレームワークでも使ってきちんと対応すればいいと思うよ。
vue.jsなんかだと、{{hoge}}で展開されるものは必ずエスケープされてるし、
エスケープされない{{{hoge}}}を使うと使ってるだけで警告出る。
153デフォルトの名無しさん
2016/05/17(火) 16:22:43.13ID:n8Ruzxjv
>>147
人類にXSSは止められない
今までも止められたことはない、許されてただけ
だがElectron、てめーは影響範囲的にダメだ
154デフォルトの名無しさん
2016/05/17(火) 16:41:47.37ID:vo+rcdbu
サニタイズ言うな
155デフォルトの名無しさん
2016/05/17(火) 16:57:04.05ID:UCMPaER9
うるせー高木てめーは自分の仕事してろ
156デフォルトの名無しさん
2016/05/17(火) 18:45:18.15ID:vWciy/Ev
そもそも、XSSと言うが、その意図がわからんのだよね。
全然クロスじゃないでしょ、アプリとしてならば。
その中で、Webや信頼出来ないソースからテキトーに取った値を不用意に実行すると死ぬよって凄く当たり前の話。
自分のグローバルIPが知りたいからって言って
$piyo=`curl ..... | awk ....`
を、rootで動くスクリプトで叩くようなもん。
157デフォルトの名無しさん
2016/05/17(火) 19:00:39.35ID:n8Ruzxjv
なんで馬鹿が食い下がるときは決まって言葉の定義に難癖つけはじめるんだろうな
158デフォルトの名無しさん
2016/05/17(火) 19:47:27.06ID:eRIY89eq
序盤の段階でファイル名と行番号付きで指摘すべきだよな
159デフォルトの名無しさん
2016/05/17(火) 20:12:18.27ID:yt714euB
>>156
nodejs使いに信頼性を語られると鼻からスパゲティが飛び出しそうになるんですよ
食べてないのに
止めてもらえます?
160デフォルトの名無しさん
2016/05/17(火) 21:35:57.49ID:4p4kNHWE
適当に取ってきたライブラリは信用します
その結果、どこの誰とも知らない奴が癇癪を起こしただけでbabelの塔は崩れました
お見事に御座りまする
161デフォルトの名無しさん
2016/05/17(火) 21:59:04.91ID:OcL1ewkF
node.jsに親でも殺されたんだろうか
粘着こわいわあ
162デフォルトの名無しさん
2016/05/17(火) 23:23:08.63ID:3xMKUXNM
>>159
色んな言語で色々してるけど、どの言語でもそうだし、信頼性なんか語ってないよw
これを信頼性だというなら、お里が知れる。
最低限するべきこと。

>>160
適当には取らんだろ。
取ってソース読んでから使うよ。
163デフォルトの名無しさん
2016/05/17(火) 23:54:59.69ID:gy1vNCq/
信頼性云々は自分で調べたことないし知らんけど以下推測

node.jsのサーバ性能そのものは利用が進んで突き詰められていくとapacheと同じ様なもんになると思う
速い、大量リクさばける、省メモリ、と今思われているならそれは
今使ってる人が最低限必要なものだけやれるよう頭使って設計がんばってるから
apacheでもnginx(+cgi)でもチューンに精を出して不要なもの省いてどうしても必要ならモジュール開発すれば同じになるんじゃないか

これが正しければ最後にメリットとして残るのはjavascriptで書けるの一点になるだろうけど
いろいろnodeで書いてみた感想としてはめんどくさすぎ氏ねよダボが
164デフォルトの名無しさん
2016/05/18(水) 00:12:43.60ID:px5hJj8g
GoとErlang/ElixerがあるのにサーバーにNode選ぶ理由皆無
ユーザーとライブラリの水準や最低品質の点でも前者のほうが信用が置ける
まあ、JSerをサーバーとクライアント両方でこき使うのには向いてるんじゃないの
165デフォルトの名無しさん
2016/05/18(水) 00:52:44.06ID:GquLwZbh
netflixとかがnode選んでるというのにプププ
166デフォルトの名無しさん
2016/05/18(水) 00:57:38.32ID:LRw1LBCt
nodeを速度で選ぶ意義は無いだろうな。
jsで書けるのは凄いメリットだと思うけどね。
手続き型に呪われた言語より余程書いてて納得行く。

>>164
Goはビルドとデプロイめんどい。
どうせビルドとデプロイが面倒ならScalaで書く。
167デフォルトの名無しさん
2016/05/18(水) 01:46:29.92ID:RjYV2Vao
nodeを大がかりに採用してる有名どころ

netflix
uber
airbnb
linkedin
paypal
walmart
groupon
ebay
dow jones
ny times
yahoo
facebook
instagram
168デフォルトの名無しさん
2016/05/18(水) 06:31:28.07ID:mIb5QxnS
まともな開発者が使うなら何でもいいんだよ
nodeユーザーは一概にレベルが低いから信頼性の低いライブラリと化学反応を起こして爆発するのだ
今やPHPより酷かろう
169デフォルトの名無しさん
2016/05/18(水) 06:35:54.80ID:mIb5QxnS
>>162
ソース読んだって開発者が癇癪起こすかどうかまで判断つきません
サードパーティーライブラリの信頼性とは開発主体の信頼性であり=ソースの信頼性ではない
馬鹿だから仕方ないけどズレた答えを返すものだね
170デフォルトの名無しさん
2016/05/18(水) 06:37:21.67ID:mIb5QxnS
ここら辺でnodeユーザーの意識が他の言語の利用者と明らかに異なるってのが分かるよね
171デフォルトの名無しさん
2016/05/18(水) 08:36:14.59ID:LRw1LBCt
>>169
バージョンを適当に定義するからでしょ。
バージョン限定で指定するんだよ。
npmに関して言えば、中身を変えるにはバージョン上げる必要があるからね。

お前らの想像してるnode.js使いのイメージがわからん。
ちょっとjQuery書けるから、サーバサイド書いてみました、みたいなアホばかりを想定してるんだろうか。
172デフォルトの名無しさん
2016/05/18(水) 08:49:32.49ID:LRw1LBCt
なんか、サーバサイド長いとこの流れ何度目だろうなって思うわ。
そしてどの言語のコミュニティもこれやるんだなぁ、って。
php3くらいの頃のperl使いのphp叩きとか、phpとruby同士での殺し合いとか。
誰もが自分が使ってる言語が唯一正しい言語だと思ってて、
それ以外は信頼性が無い(と言うか、その言語なりの信頼性の担保の仕方を知らないだけ)と思い込んでて、
んでこういう流れになる。

phpの本家にevalは邪悪じゃないかと言う超長いスレッドあったじゃん。
本家追っかけてたら知ってるとは思うけど。
同じ話してるからね。今。11年もかけて。
173デフォルトの名無しさん
2016/05/18(水) 12:30:17.91ID:nScWfz4V
node-inspectorもっと軽快にならないの?
それだけじゃなくて
Uint8Arrayの中身見たら固まるとか
デバッガ接続すると終了時にassert失敗するとかもずっと直らない
174デフォルトの名無しさん
2016/05/18(水) 12:44:11.74ID:T1RnKav0
>>171
謙遜しなくていいよ
想定じゃなくてそんなアホしかいねーもん
175デフォルトの名無しさん
2016/05/18(水) 13:12:55.57ID:u7J2zmgl
>>167
お里が知れるな
176デフォルトの名無しさん
2016/05/18(水) 13:27:59.94ID:LRw1LBCt
>>174
なるほど、railsででっち上げた「jsonを返すビュー」をjQueryで叩いて、値を画面に表示する、って事しか出来ない方々が流入してるのね。
177デフォルトの名無しさん
2016/05/18(水) 19:26:38.50ID:Q3cKTCnY
どんなに有名人が採用してようがあなたの能力で扱えるとは別だということが分からない愚かなnodeユーザ
178デフォルトの名無しさん
2016/05/18(水) 19:44:06.50ID:u7J2zmgl
この界隈には自分のバグを他人のせいにする香具師が多い
179デフォルトの名無しさん
2016/05/18(水) 20:15:48.43ID:uOujd20Z
ごめんねjqもまともに書いたことないのにnode module作ったりしてごめんね
180デフォルトの名無しさん
2016/05/18(水) 20:48:21.48ID:W9Cxd75i
煽り屋と餌やり屋の戯れ
野良猫みたいに殺処分と行政処分されねーかなー
181デフォルトの名無しさん
2016/05/18(水) 20:58:36.12ID:1l5+mIBG
こういうのが沸くくらいnodeも普及してきたんだな
感慨深い
182デフォルトの名無しさん
2016/05/18(水) 21:04:03.55ID:LRw1LBCt
>>180
あれ?そういうスレじゃないの?
ここでガチャガチャやってるうちは、他のスレに迷惑かかんないじゃんw

俺はいろんな言語やったけど、javascript面白いと思ってるよ。ひとによると言語仕様が破綻してると言われかねない仕様も含めて。
プロトタイプベースで、弱すぎる型付けで、nullはオブジェクトで、キャストが強引。
これは逆に他の言語には無い便利さだと思う。
183デフォルトの名無しさん
2016/05/18(水) 21:05:50.91ID:LRw1LBCt
>>181
黎明期は、それこそキチガイ扱いだったから、相手にされる程度に知名度上がったんだろう。
gaucheでcgi作るよりは少しだけ理解できて、かつ、わかりやすいディスりが出来るからね。
184デフォルトの名無しさん
2016/05/19(木) 13:42:45.63ID:Gndv5tvj
黎明期は、何でもロールオーバーしてたなw
185デフォルトの名無しさん
2016/05/27(金) 08:52:43.90ID:6e4nfPYs
>>183
でも現状まだ、ピーエイチピーの牙城を切り崩すというスタート地点には立っていない
と言える。その辺のレンタルサーバのスタンダードモデルでも普通にnode.jsが使えるよ
うになって、はじめてスタート地点だ。
186デフォルトの名無しさん
2016/05/27(金) 09:42:09.37ID:5O2HSGrs
>>185
そりゃ無理でしょ。
phpは、Webサーバのページ代わりにftpて上げれば良いんだから。
187デフォルトの名無しさん
2016/05/27(金) 11:45:14.29ID:+931Hxzr
そのうちHe6みたいなのが出るんじゃね
188デフォルトの名無しさん
2016/05/27(金) 17:20:21.53ID:a5zDK+Zd
gegege
189デフォルトの名無しさん
2016/05/28(土) 11:30:20.75ID:QX+Vjkui
>>71
190デフォルトの名無しさん
2016/05/28(土) 11:43:56.43ID:YkPoIoOS
POI って何て発音するの?
ポア?
191デフォルトの名無しさん
2016/05/28(土) 23:34:09.17ID:TToadlrK
[p:ouai]
192デフォルトの名無しさん
2016/06/03(金) 21:36:04.31ID:6tJjdY0+
ローカルにあるnpmパッケージをインストールしたいんですがなんてコマンドで出来ますか?
C:/packages/hogeがnpmのパッケージのパスです
193デフォルトの名無しさん
2016/06/03(金) 23:59:29.74ID:Eze3tq7Y
npm link
194デフォルトの名無しさん
2016/06/04(土) 21:15:25.84ID:+9DkyzPr
>>177
nodeすら扱えない無能を自覚してるのにこんなところで吠えてる人って・・・
2chがあってよかったね!
195デフォルトの名無しさん
2016/06/04(土) 21:57:43.69ID:pwpB9SqL
3週間も前のレスが気になるほど暇なのか
196デフォルトの名無しさん
2016/06/05(日) 02:46:57.81ID:b0qHmmcL
無能だから堪えたんだろう。
197デフォルトの名無しさん
2016/06/05(日) 04:31:05.59ID:9zmSpSVO
今勢いあるフレームワークは何かね?
198デフォルトの名無しさん
2016/06/05(日) 04:32:11.09ID:CHuVDKX+
フレームワークを使わないことがブーム
199デフォルトの名無しさん
2016/06/05(日) 10:20:37.15ID:aSkOvhi4
React.jsとかじゃないの?
フレームワーク無しで作れるスキルは必要だけどフレームワーク無しなんてありえんわ
200デフォルトの名無しさん
2016/06/05(日) 13:18:03.12ID:fcicNZfN
react.jsはコミュ症が妙なアピールしてるせいでヘイト爆買いで好きだと言いづらいのが難
201デフォルトの名無しさん
2016/06/05(日) 16:39:11.51ID:PAgdOZpu
ヘイト爆買いとかいう用語がすらすら出てくる
人生が、キモいw
202デフォルトの名無しさん
2016/06/06(月) 15:10:06.18ID:FEwwmJy5
http://geekforbrains.com/post/after-a-year-of-nodejs-in-production

>Easy to learn, impossible to master
203デフォルトの名無しさん
2016/06/06(月) 16:10:18.73ID:zn9AI40b
どのレベルをマスターって言うんだ
将棋棋士で例えて
204デフォルトの名無しさん
2016/06/06(月) 16:17:48.46ID:hRKd2zL3
バックエンドにnodeを選んだ時点でセンスないなこの記事書いた人
うまくやってるところは大概bffに使ってる
適材適所もできなくてnodeのせいにする無能な人ってこのスレだけじゃなく海外にもいるんだな
205デフォルトの名無しさん
2016/06/06(月) 16:24:52.22ID:8Ex6WVsG
>>204
> 適材適所もできなくてnodeのせいにする無能な人ってこのスレだけじゃなく海外にもいるんだな
まさかそんなことないとか思ってたわけじゃないだろうな
206デフォルトの名無しさん
2016/06/06(月) 16:47:56.88ID:B7qEBb4m
舶来品崇拝主義なら海外勢全肯定でも別におかしくはない
207デフォルトの名無しさん
2016/06/06(月) 17:17:14.19ID:gOmKNf/3
欧米ガー
208デフォルトの名無しさん
2016/06/06(月) 20:22:01.78ID:vUcZj6al
>>203
フォースが使えるようになったらマスターだな
209デフォルトの名無しさん
2016/06/06(月) 20:28:56.94ID:kYOSRyqE
誰がジェダイの騎士に例えろと言った
210デフォルトの名無しさん
2016/06/11(土) 19:26:34.76ID:ut81tplf
               【Win10】    こんな犯罪級OS薦めんなよwww   ↓   【スパイウェア】



この使用許諾契約書には書かれています

”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”

開示する ここ重要だよ

契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです





       【秘密保護法】  ナチスの手口でサヨクを捕まるんだろ? 早くやってみろよ m9(^Д^)  【緊急事態法】



スノーデン氏→国家秘密法は諜報機関NSAの日本での活動を容易にするために米国が設計して日本政府に導入を要求したもの。
全日本人が調査の対象であり、NSAはあなたの交際関係、信仰等の個人情報を把握している。
https://twitter.com/hopi_domingo/status/740193540529999873
今朝、辺野古で新基地建設に反対するママの会メンバーに対して、機動隊員が「お前たちには汚い血が流れている」などと暴言を吐いたそうです。
自分のやっていることを「だってお金欲しいもん〜」「俺の写真を待ち受けにしろ」とも (顔写真)
https://twitter.com/MothersNoWar/status/690357793702940672
サンマ以降のバラエティ芸人の大半が、暴走族出身で極右思想。原発反対派を「放射脳」と嘲笑する連中。
芸能界極右は石原慎太郎一家を筆頭に、上田晋也 草野仁 津川雅彦 向井理 松本人志 宇多田ヒカル マツコ 春日俊彰 田村淳 北村晴雄
https://twitter.com/tokaia mada/status/630627400552845312
211デフォルトの名無しさん
2016/07/10(日) 03:44:25.42ID:WHnx1K9H
Buildにmake使わないのは何故?
212デフォルトの名無しさん
2016/07/15(金) 23:21:25.75ID:/IkQTUfk
>>45
こっちのがお薦め
http://stackoverflow.com/questions/tagged/javascript
213デフォルトの名無しさん
2016/07/18(月) 11:10:31.75ID:pxxTdndl
https://twitter.com/kyo_nanba/status/754348245959086082
214デフォルトの名無しさん
2016/08/13(土) 12:34:10.31ID:zuqEHmKN
webpackとかでワンソース化するのが
メリットあるのってクライアントサイドだけの話ですよね?
サーバサイドの場合はいちいちwebpack通したりするものですか?
215デフォルトの名無しさん
2016/08/15(月) 16:18:01.64ID:NVT4drit
koa.jsいいっすね。
generator -> co -> async-awaitの流れを学んだら断然コッチが面白い
216デフォルトの名無しさん
2016/08/21(日) 14:18:55.57ID:+qVE0zeq
今から始めるんだったら
koa.jsとexpress どっちがいいんですか?
217デフォルトの名無しさん
2016/08/22(月) 16:57:35.00ID:d5DQ07MM
そろそろサーバサイドもjsでやってもいい頃じゃないかな。
エコシステムも成熟しつつあるし
218デフォルトの名無しさん
2016/08/24(水) 00:28:06.83ID:mGpqCU5h
xserverのx10でnode動きますか?
219デフォルトの名無しさん
2016/08/24(水) 22:20:04.68ID:YjNG/PI0
>>218
動かなそうだけど
https://www.xserver.ne.jp/manual/man_program_soft.php

素直にvpsにしたら。digitaloceanとか
220デフォルトの名無しさん
2016/08/25(木) 13:28:32.63ID:xKCwnmi1
babel-preset-latestいいな
221デフォルトの名無しさん
2016/08/27(土) 15:55:06.97ID:OdMRFjsT
nodeを色々調べるとサーバサイド環境とか非同期処理が特徴とか出るけど、rubyやpythonでよくやるような書き捨てのスクリプト(例えばテキストファイル開いて整形するとか)で使うとしたら使い勝手はどんな感じでしょうか?
222デフォルトの名無しさん
2016/08/27(土) 16:19:53.61ID:QI8SWCwQ
>>221
出来るけどめんどくさい
223デフォルトの名無しさん
2016/08/27(土) 16:33:33.49ID:6tGwOPx0
>>221
無駄な抵抗は止めろ
224デフォルトの名無しさん
2016/08/27(土) 17:22:45.47ID:3HAzTXmX
やればわかる
225デフォルトの名無しさん
2016/08/27(土) 20:00:25.80ID:qPuFnqYi
サムスン、Node.jsの開発企業Joyentを買収

サムスンは、米国でNode.jsの開発企業Joyentを買収することで合意した、と発表した。

今回の買収で、サムスンは、これまでベンダーに依存してきた
ソフトウェア、特にSaaS領域での遅れを取り戻し、モバイル、IoT、
クラウドベースのソフトウェアやサービスなどの大規模な需要に
自社のクラウドプラットフォームで対応できるようになる。

Joyentは、Node.jsの開発企業で、
Dockerコンテナに最適化したクラウドサービス「Triton」と、
オブジェクトストレージを提供するクラウドサービス「Manta」が主力サービスに持つ。
https://news.thepedia.co/article/839/
226デフォルトの名無しさん
2016/08/27(土) 20:15:58.48ID:6/CZVqq6
宗教上の理由でnodeはNGって言えるようになったわけか
227デフォルトの名無しさん
2016/08/27(土) 22:26:02.43ID:MqlYnWcm
node.jsのコアモジュールhttp.request/http.getをつかってWebページ(の文字列)を取得したいのですが、
いろいろ検索してみても、

var http = require('http');
http.get('<url>', function(res) {
 res.setEncoding('utf8');
 res.on('data', function(body) {
  console.log(body);
 });
});

こんな感じの、コンソールに表示する例しか見当たらず、
文字列を変数に取り込む方法がわかりません。
他のリクエストやスクレイピングのモジュールを用いることなく、
文字列を変数に取り込んで文字列操作をするにはどうしたらいいでしょうか?
228デフォルトの名無しさん
2016/08/27(土) 22:30:45.89ID:AeepL8xQ
今更かよ

>>221
標準モジュール使ってしこしこ書くしかない
まあ大抵npmに便利なものが上がってるから落として使えばいいけど
しっくりこないと自分で作りたくなって結局時間が飛ぶように消える
229デフォルトの名無しさん
2016/08/27(土) 22:33:52.49ID:AeepL8xQ
>>227
コンソール部分の代わりに変数への代入や他の関数呼び出しを行えばいい
そもそも非同期の扱い方がわかってないみたいだから質問スレ行った方がいいよ
230デフォルトの名無しさん
2016/08/27(土) 22:57:04.66ID:MqlYnWcm
>>229
レスありがとうございます。
console.log()の部分で変数を代入しても上手くいかず、
returnで外に持ち出すこともできず、詰んでしまいました。
一旦ファイルに書き出して、読みだす方法も、まさに非同期の扱いで難儀しています。

質問スレ、どこがいいんでしょうねぇ。
231デフォルトの名無しさん
2016/08/27(土) 22:57:26.87ID:mf8jh8Qk
>>227
コンソールに表示してるbodyに入ってんじゃないの?
取りたいものが決まってて定形なら正規表現で取れば多分一番楽だと思う。
232デフォルトの名無しさん
2016/08/27(土) 22:59:22.69ID:mf8jh8Qk
>>230
外で定義した変数に入れれば入るけど、そうじゃない。
eventEmitterでも使って、適当な粒度のイベントにして渡したら疎になって後々使いやすいよ。
233デフォルトの名無しさん
2016/08/27(土) 23:17:15.65ID:MqlYnWcm
>>231,232
レスありがとうございます。

"body" に文字列が入っているのは間違いないと思いますが、
これを、後で関数の外で上手く拾うことができないのです。

たとえば、>>227 の後に "console.log(body);" としてもダメでした。
"body" が未定義となってしまうのです(この結果はなんとなくわかります)。

前もって定義した変数"body2"に"body"を代入しても、この "body2" も空でした。
return を使って、関数の外に出すことも試しましたが、
どのコールバック関数を相手にしても、上手く行きませんでした。

eventEmitter 、調べてみます。ありがとうございます。
234デフォルトの名無しさん
2016/08/27(土) 23:21:38.36ID:AeepL8xQ
>>233
変数で橋渡しする場合は>>232の言うように外側で書いて
callbackがそれを参照できる形にする必要がある
また>>227の最後尾にコンソールを書いた場合はリクエスト投げる前に実行されるよ
今回の場合は単に res.on('data', bodyを受け取って文字列操作する関数); でもいいと思うけど

質問スレは↓だけど荒らし(本日ID:W50SJfH+)がずっと常駐しているから注意
http://echo.2ch.net/test/read.cgi/tech/1468158373/
235デフォルトの名無しさん
2016/08/27(土) 23:24:57.65ID:c6b53s6w
非同期が全くわかってないパターンか
いるんだねこういう人
236デフォルトの名無しさん
2016/08/27(土) 23:46:44.31ID:l4YlCK6k
まあでも最初はわからなかった
237デフォルトの名無しさん
2016/08/27(土) 23:58:21.81ID:vp5ltHnS
>>233
質問スレ側の人間だが、
マジレスすると質問スレで質問するのではなく、非同期を勉強し直した方がいい。
JavaScriptでは非同期が分かっていないと話にならない。
質問したところで分かるようにはならないよ。
色々console.log('test');とか置いて動作タイミングを確認してみるといい。
238デフォルトの名無しさん
2016/08/28(日) 00:05:46.28ID:Ks/jICmD
面倒だから普通はrequestとかsuperagentとかfetchとか使うが標準モジュールでシコるなら

var http = require('http');
http.get('<url>', function(res) {
 res.setEncoding('utf8');
 var body = '';
 res.on('data', function(data) {
  body += data;
 });
 res.on('end', function() {
  console.log(body);
 });
});
239デフォルトの名無しさん
2016/08/28(日) 01:27:18.04ID:/ORT5A+I
第2引数に外側で定義した関数を指定すればいいだけなんだけど、非同期に慣れてないとこれがわかりづらいね
240デフォルトの名無しさん
2016/08/28(日) 05:08:46.10ID:H8sJUdJ0
>>234
>荒らし(本日ID:W50SJfH+)がずっと常駐しているから注意

一日中張り付いているのか?目的は何なの?
241デフォルトの名無しさん
2016/08/28(日) 06:19:56.03ID:PtjyY+N9
他スレの荒しの話なんかどうでもいいわボケ
242デフォルトの名無しさん
2016/08/28(日) 14:10:07.19ID:ZU3e5ILB
>>225-226
どうみても法則発動
243227
2016/08/28(日) 19:20:42.00ID:jcLwso4P
レスありがとうございます。
外の関数を呼び出すことはできました。
非同期の対処はもう少し勉強します。
244デフォルトの名無しさん
2016/08/31(水) 12:10:57.79ID:+XSeJi30
undeclared-variables-check入れてみたらrequireでエラー投げて笑った
そりゃ未定義だけどさ
245デフォルトの名無しさん
2016/08/31(水) 22:44:26.98ID:mxX4GOAr
そんな、最初にやる設定が抜けてる程度の話をされましても。
246デフォルトの名無しさん
2016/09/01(木) 03:25:08.52ID:CJsgpLVH
>>242
逃げた方が良いな
247デフォルトの名無しさん
2016/09/01(木) 11:47:53.50ID:2ypEql9s
Tizenと共に闇に葬られる
248デフォルトの名無しさん
2016/09/01(木) 17:37:46.03ID:qznKMbiw
サムソンがnodeの会社を買う理由ってなんだろうな。
なんかメリットあるのか?
249デフォルトの名無しさん
2016/09/01(木) 17:39:29.52ID:wmHkFOqO
飼い殺し
250デフォルトの名無しさん
2016/09/01(木) 17:41:12.88ID:qznKMbiw
jsでサーバサイドってそんなにダメかな?
むしろaltJSでいろいろな言語から選べるしクライアントとサーバサイドの
共通コードかけるし便利だと思うんだけど
シングルスレッドなところがダメなのかとも思ったけど
cluster使ってforkすりゃCPU数分プロセス作れるし何がイカンのか
251デフォルトの名無しさん
2016/09/01(木) 18:28:47.43ID:wmHkFOqO
クライアントとサーバーでコード共通になってもうれしいこと思いつかない
252デフォルトの名無しさん
2016/09/01(木) 20:04:21.33ID:qznKMbiw
>>251
バリデーション
253デフォルトの名無しさん
2016/09/02(金) 07:31:30.00ID:D4RF+Hn1
大したメリットないな
254デフォルトの名無しさん
2016/09/02(金) 08:07:33.63ID:kRpLrkZu
一人がクライアントとサーバーの両方を担当するなら
同じ機能を2回書かずに済んだり、同じエディタを使えたりは利点になるか

jsしか書けない人間が複数いるなら必要に応じて担当を割り当てられるか
255デフォルトの名無しさん
2016/09/02(金) 11:20:10.42ID:UbwoQtPa
複数言語を習得してる人間でも、同時に異なる言語使おうとすると頭の混乱起こりやすい。
やっぱ同じ言語がクライアント・サーバの両方で使えるのは良いんじゃないかな。
256デフォルトの名無しさん
2016/09/02(金) 12:17:06.72ID:Do4GNfXI
戦闘力5のプログラマならそんなものだろう
257デフォルトの名無しさん
2016/09/02(金) 12:50:45.48ID:FbVLNmm2
JavaScriptさえ知ってればnode.js経験者として採用されるのかと
258デフォルトの名無しさん
2016/09/02(金) 13:15:13.96ID:kRpLrkZu
まぁ後はJava/C#を使いたくない場合に
TypeScriptと絡めて「硬い」コーディングがしたい場合の選択肢か
259デフォルトの名無しさん
2016/09/02(金) 13:50:23.86ID:FbVLNmm2
サムソンw
260デフォルトの名無しさん
2016/09/02(金) 13:55:24.31ID:IM+qI477
サムソンとか超兄貴思い出すからやめてくれよ
261デフォルトの名無しさん
2016/09/02(金) 14:05:52.43ID:LgVEFfHs
バリデーションの共有ってメリットにならないか?
webAPI側のバリデーションとclient側のエラーチェックを共通コードに纏めれたほうがいい気がするんだけど。結構面倒くさいでしょバリデーション
262デフォルトの名無しさん
2016/09/02(金) 14:45:38.47ID:2cG65SkE
寒チョンにデータが送られるのでバリデーションは大事ニダ
263デフォルトの名無しさん
2016/09/02(金) 15:15:17.79ID:dglZ+Mdk
完全なバリデーションが書けるなら client/server 共通でいいだろうけど
なかなかそうもいかないから、別言語の別観点で2重にバリデーションを
するほうが安全かも知れない。
264デフォルトの名無しさん
2016/09/02(金) 15:33:28.19ID:tIJhbCeG
ばりでーチョン
265デフォルトの名無しさん
2016/09/02(金) 15:42:50.04ID:LgVEFfHs
>>263
そんな手間を掛けるくらいならテストを書いたほうがいい。
サーバサイドでjsエンジンを動かしてという手もあるんでしたっけ
reactのサーバサイドレンダリングってrailsとか使うとどうしてるんだろ。
266デフォルトの名無しさん
2016/09/02(金) 15:50:27.04ID:2cG65SkE
一方が間違ってると両方間違うので注意w
267デフォルトの名無しさん
2016/09/09(金) 21:30:49.46ID:oMlYA35z
テストで何とかしようとするのは
同じ動的型付けであるRubyが辿った悲劇の二の舞
268デフォルトの名無しさん
2016/10/28(金) 06:44:17.03ID:r/x8mVSr
Win使いなんだけど、みんな開発環境どうしてるんです?

Winでそのまま開発?
GUIありのLinuxをバーチャルか普通にPCインストールしてそこで開発?
それともMac?
269デフォルトの名無しさん
2016/10/28(金) 09:56:15.34ID:3tZbr/Tc
前は仮想マシンのLinux内でやってたけど今はそのまま
270デフォルトの名無しさん
2016/10/28(金) 13:19:17.97ID:3lkqIeOw
禿丸最強
271デフォルトの名無しさん
2016/10/28(金) 13:20:38.14ID:9rEP3QYc
Node.jsなんてLinux入れるまでもないじゃん
272デフォルトの名無しさん
2016/10/28(金) 14:48:17.79ID:xXLR7gqA
winだとパス長すぎって
273デフォルトの名無しさん
2016/10/28(金) 14:53:48.34ID:EfMWYGcS
最近のwinはlinux環境入れられるんでしょ?
もうwin環境のことは気にしなくていい?
274デフォルトの名無しさん
2016/11/01(火) 23:42:56.87ID:jbWQdUPc
すみません質問させてください!

postcssのビルドに7秒くらいかかるんですが、もっと早くする方法ありませんか?
使ってるモジュールはpostcss-importとpostcss-cssnextだけなのですがなんでこんなにかかるんでしょう。

browserifyの時も15秒くらいかかっててwatchify使ったら爆速になったので感動したのですが
postcssにもwatchifyみたいなのってないんでしょうか...
275274
2016/11/03(木) 11:57:32.06ID:ELIf3lFW
>>274ですが、postcssを使っていると言いましたが具体的には
post-css-cliを使っています。

今、代わりにwebpackを利用したpostcss-loaderを使ったビルドを行ってみたら
物凄く早くてびっくりしました。(webpackも内部的にpostcssを使っていると思ってたのですが...)

ただjsにパッケージしたいわけではなく、cssファイルとして出力したいので
webpackは使いたくないです。

昨日、こんな記事を見つけました
http://blog.greggant.com/posts/2016/05/03/post-css-is-slow.html

やっぱりPostCSSって遅いんですかね?
なんかSassよりビルドが早いってことがメリットだと思ってたんですが...
276デフォルトの名無しさん
2016/11/03(木) 13:41:25.94ID:lfIkemy8
SassはRuby実装版とC言語実装版があるんだよ。
Ruby実装版は遅かった。
C言語実装版は爆速

PostCSSはJavaScript実装みたいだから
一般論としてC言語実装のほうが速いだろうね。
277デフォルトの名無しさん
2016/11/03(木) 13:44:00.34ID:lfIkemy8
>>275
> (webpackも内部的にpostcssを使っていると思ってたのですが...)
どのプラグイン(loader)を使うかによる

> ただjsにパッケージしたいわけではなく、cssファイルとして出力したいので
> webpackは使いたくないです。
extract-text-webpack-pluginを使えば、cssを別ファイルに切り出せる
278デフォルトの名無しさん
2016/11/22(火) 01:30:31.04ID:kbDRJTGd
webpackで指定したrequireをバンドルせずスルーするのってライブラリ書くときにやると思うけど
変換せずにES6 Modulesそのままで出力する時代になったら同様の手法ってどう実装するんだろ
import,exportはトップレベル限定だし
279デフォルトの名無しさん
2016/11/23(水) 16:26:43.44ID:q+/j2xKv
>>278
だからwebpackにexternalsって機能が用意されてるだろ
280デフォルトの名無しさん
2016/11/23(水) 16:30:10.06ID:q+/j2xKv
> ES6 Modulesそのままで出力する時代
webpackを使わないって話か?
それなら細切れのファイルのままで動くはずだろ。

これらのファイルをパフォーマンスのために結合したいっていう話であれば
結合するツールを通せばいいだけ。

それがwebpackだけどなw
最初からwebpackは結合ツールだろ?
281デフォルトの名無しさん
2016/11/23(水) 19:18:19.97ID:8JM49hh7
npm socket.io以外の方法でsocket.ioを入れる方法はあるのでしょうか?
格安VPSを借りてnodeを入れたらnpmがメモリ不足で落ちました。。。
ちなみに128MB+swap128MBです。nodeのために借りたわけじゃないので最低プランです。
nodeを少し触ってみようと思ってみたらメモリ不足だったと。。
282デフォルトの名無しさん
2016/11/23(水) 19:27:52.62ID:q+/j2xKv
yarnでも使ってみたら?
npmは異常にメモリ食うツールだと思ってるんで
改良されたyarnならそこら辺も改良されてるんじゃね?
283デフォルトの名無しさん
2016/11/23(水) 19:28:46.35ID:q+/j2xKv
あと結局のところファイルがあれば十分だろうから、
互換性がある環境をローカルで用意してコピーしても動くだろうね。
284デフォルトの名無しさん
2016/11/23(水) 19:34:05.74ID:8JM49hh7
了解しました。ありがとうございました。
285デフォルトの名無しさん
2016/11/24(木) 16:25:31.08ID:8ph3HZsS
httpリクエストのパラメーターをJSONで受け取りたいのですが簡単に型チェックを行うにはどうしたらいいでしょうか?
286デフォルトの名無しさん
2016/12/15(木) 12:29:15.65ID:7KRIzock
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja
287デフォルトの名無しさん
2016/12/24(土) 08:28:57.62ID:SsPwlmKa
node.jsってコンパイル環境なんですか?
いまいちよくわからない・・・
288デフォルトの名無しさん
2016/12/24(土) 09:05:53.13ID:n8P5UzA6
単純にはスクリプト言語だよ
289デフォルトの名無しさん
2016/12/24(土) 12:38:08.47ID:p4lqfCaM
TypeScriptのコンパイル?
290デフォルトの名無しさん
2016/12/24(土) 12:59:31.99ID:pvCha/M1
最近Winでも動くようにシェルじゃなくNodeのAPIでファイル操作書いてるけど
fsはディレクトリ名の変更が面倒だな
291デフォルトの名無しさん
2016/12/26(月) 17:10:45.18ID:YoRbV7Fw
native moduleでBuffer返そうとしてるんだけど何故かUint8Arrayが返る
これどうすればいい?

v8::Local<v8::Object> lr;
v8::MaybeLocal<v8::Object> buf=node::Buffer::New(isolate, datalen);
buf.ToLocal(&lr);
memcpy(node::Buffer::Data(lr), data, datalen);
args.GetReturnValue().Set(lr);//Uint8Arrayが返る(中身自体は期待通り)
292デフォルトの名無しさん
2016/12/26(月) 17:34:43.32ID:TRnwbnfO
args.GetReturnValue().Set(buf);
293デフォルトの名無しさん
2016/12/26(月) 18:03:53.64ID:YoRbV7Fw
自己解決 根本的な勘違いをしてた
global掴んでbuffer引っこ抜いきつつ、変換掛けたらとりあえず動いた
294デフォルトの名無しさん
2016/12/28(水) 20:41:17.73ID:qA/oaz24
downloadRecの処理が終わったあとに処理をしたいのですが、何かいい方法ありますか?

var client = require('cheerio-httpcli');
var URL = require('url');
var target = "http://nodejs.jp/";

downloadRec(target, 2);

function downloadRec(url, l) {
if (l <= 0) return;
console.log(url);
client.fetch(url, {}, function(err, $, res) {
$("a").each(function(i) {
var next_url = $(this).attr('href');
next_url = URL.resolve(url, next_url);
downloadRec(next_url, l - 1);
});
});
}
295デフォルトの名無しさん
2016/12/29(木) 15:54:09.62ID:qVUp/W0S
>>294
Promise使えばいいと思う
296デフォルトの名無しさん
2016/12/29(木) 16:52:22.26ID:gZvvZQ+j
>>295
使って色々頑張ってみたんだがどうしてもできなかったので、どうすればいいか教えてください。
297デフォルトの名無しさん
2016/12/29(木) 17:05:49.86ID:k+96c2nT
Promise直接使うみたいなアホな事する時代は終わったで
時代はasync/await
298デフォルトの名無しさん
2016/12/30(金) 15:01:32.10ID:CLzRlwe+
>>294
function downloadRec(url, l) {
if (l <= 0) return 処理終わった後に実行する関数();
299デフォルトの名無しさん
2016/12/30(金) 20:45:17.69ID:RIzfmHx0
>>298
それだと処理し終わった後に実行する関数が複数回実行されないか?
300デフォルトの名無しさん
2016/12/30(金) 22:35:37.39ID:b7WBl9TI
>>297
いやいや。段階的に移行した方がいいと知った。
先ずはPromiseを使いこなしてからasync/awaitへ
じゃないと使いこなせないし
301デフォルトの名無しさん
2016/12/31(土) 21:49:05.77ID:QjPQSkfd
>>299
確認不足だった
$("a")のlengthを使えばできるかも
302デフォルトの名無しさん
2017/01/11(水) 15:42:49.05ID:vH7dCRyh
すみません教えてください
node.jsでaccessのデータを扱うにはどうしたらいいでしょうか?
勉強を始めてみたもののこの部分がさっぱり分からなくて
303デフォルトの名無しさん
2017/01/11(水) 16:32:33.71ID:gsuc1xOj
ole
304デフォルトの名無しさん
2017/01/31(火) 02:47:01.11ID:NZevozPS
foreverで嵌まっています。
環境はCentOS6.8+node.js v4.7.2+npm 2.15.11です。

通常なら起動すると、
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: ここにパス
が出るのが正常ですが、
最終行のinfoが出ずにコマンドが帰ってこない状態になっています。
肝心のnodeは起動しているのですが、コマンドが帰ってこないので仕方なくCtrl+Cで中断するとnodeのプロセスも止まってしまいます。
forever は-g付でグローバルインストールしており、何度か削除、再インストールを繰り返しましたがだめでした。

散々ぐぐっても解決できず数日立ち往生しています。
何か気付きがある方は知恵をお貸しください。
305デフォルトの名無しさん
2017/01/31(火) 03:00:34.59ID:NZevozPS
状況の追記です。
コマンドが帰ってこないと書きましたが、状況として、
node ここにスクリプト名
を打った時と同じ状態です。
console.logの内容がそのまま出てきます。
306デフォルトの名無しさん
2017/02/07(火) 19:56:14.64ID:rnaKi3ZD
>>304
なんでcentosなんて使ってるの?
実環境がredhatで有料サポート受けるから開発ではcentos使ってるくち?
それならわかるけど、そうでないならcentos使うメリットなんて殆どないだろ。標準リポジトリのパッケージ少なくて結局サードパーティのリポジトリから持ってくるとか、ソースからビルドとかバカじゃないの?
307デフォルトの名無しさん
2017/02/07(火) 21:18:13.77ID:sCX3nP78
リポジトリ追加なんてたいした手間じゃないし
ソースからビルドも愚行でもなけりゃ別に普通だろ
308デフォルトの名無しさん
2017/02/08(水) 14:42:02.74ID:man5IBG6
うちの会社はサードパーティリポジトリ認められてないな。
ソースからビルドするのはオーケーなので基本いつもビルド。
309デフォルトの名無しさん
2017/02/08(水) 15:31:52.83ID:fGXhImwi
>>306
>標準リポジトリのパッケージ少なくて結局サードパーティのリポジトリから持ってくるとか、ソースからビルドとかバカじゃないの?

わろた
ほんそれ
310デフォルトの名無しさん
2017/02/08(水) 15:51:35.85ID:6dEGRHzt
高能力なせいかビルドでハマったこととかない
本当に申し訳ない
311デフォルトの名無しさん
2017/02/08(水) 16:06:35.04ID:h2xuxrYQ
世界的にはとっくにubuntuとかが主流なのに日本は未だにcentosのままってとこが多いよね
312デフォルトの名無しさん
2017/02/08(水) 16:22:57.83ID:kddAP5Zw
で、いつ目障りなio.jsとかいうゴミグループは消えるの?こいつらのやった事はnode.jsの発展と普及をいたずらに遅らせただけでしたwww

いつものコンピュータだけがお友達な根暗馬鹿の自己満足でフォークするとか辞めていただきたいね。
313デフォルトの名無しさん
2017/02/08(水) 16:25:08.80ID:+f0LmjaI
サーバには安全性、安定性が求められるから、
世界的に見てもエンジニアに好まれてるのはRHELクローンの方。
314デフォルトの名無しさん
2017/02/08(水) 16:42:31.50ID:rVmGmxZl
io.jsはとっくにnode.jsって名前に変わった
315デフォルトの名無しさん
2017/02/08(水) 16:46:43.32ID:QCQx6ash
>>312
うむ
316デフォルトの名無しさん
2017/02/08(水) 17:13:34.47ID:Tas274F6
>>312
現在から2年後に書き込む方法を知っているなら教えて欲しい
317デフォルトの名無しさん
2017/02/08(水) 18:58:19.46ID:uiFBRwjo
ソースからビルド、そんなに少数かな。
俺の知ってる環境も基本はそうだった。
318デフォルトの名無しさん
2017/02/08(水) 20:33:43.02ID:z7CrxHSJ
>>311
用途が違うんじゃね
319デフォルトの名無しさん
2017/02/08(水) 23:10:55.63ID:wsrFvMlT
>>313
ガラパゴスの住人さん乙

>>318
DBサーバーなら違うって話はあり得るがここはnode.jsスレだからな
nginxと同居することも多いんだからボリュームゾーンからそう外れないだろ
320デフォルトの名無しさん
2017/02/09(木) 04:37:18.58ID:KfjJ3OGM
>>304の話もそうだけど、みんなforever大好き人間なの?

ってのも今日のTechCrunchの記事にあったKeymetricsってとこが出してるpm2ってプロセスマネージャがすんげー使いやすそうなんだけどと思ってさ。

http://jp.techcrunch.com/2017/02/08/20170207keymetrics-is-a-nodejs-monitoring-tool-for-your-server-infrastructure/
321デフォルトの名無しさん
2017/02/09(木) 05:13:21.96ID:2qzHgTI5
普通にサービススクリプト書くかな俺は
どうせzabbix入れてるし
322デフォルトの名無しさん
2017/02/09(木) 11:35:11.33ID:xprSmyqC
>>319
普通にcentにnginx入れてるが
つうかどのディストリ使おうがインストール作業なんてたいしたもんじゃない
面倒なのは設定だ
ubuntuなら特別設定が楽かといったらNOだろ
323デフォルトの名無しさん
2017/02/09(木) 16:32:01.00ID:KfjJ3OGM
>>321
スクリプト書く労力も大して変わらないっってのもわかるんだけど、pm2だとプロセスのリスタートとかも簡単でさ。Node.jsにAPIをいくつもぶら下げるような環境だとこれ入れた方が楽そうだなって思って。
324デフォルトの名無しさん
2017/02/13(月) 15:30:13.15ID:+69sTJr+
計算方式が複雑で専門知識も必要な超面倒なことで止まってて、npm無いかなと思ったらあったんですが、マイナーで開発も止まってるっぽいです。
installしてみたら、moduleの中にあるc++のところで何やらwarningがいろいろ吐かれてたのですが一応は動く… cは全然やったことないので何でダメなのかはぼんやり。
こんなとき。これをそのまま使うのと、改変出来るようにcも勉強するのと、専門知識と計算を自力で勉強して頑張るの、どれがベストですかね。
325デフォルトの名無しさん
2017/02/13(月) 17:49:48.97ID:UyeCKZqE
warning出てるから信頼性無いとかいう盲信はヤメロ
326デフォルトの名無しさん
2017/02/13(月) 19:42:59.45ID:+69sTJr+
>>325
レスありがとう。もうそのまま使っちゃうっ
327デフォルトの名無しさん
2017/02/14(火) 11:43:04.67ID:o7NkWciL
警告の内容による

割とどうでも良い内容の場合オプションで黙らせてるオープンソースソフトウェアも多々ある

chromiumでビルドツールが吐いたファイルのコンパイルオプションを見ると
かなりの数の警告がデフォルトで無効化されてるはず
328デフォルトの名無しさん
2017/02/14(火) 15:11:01.24ID:0FAFNiBf
初心者ですまんだけど、functionの中で使えるモジュールとそうじゃないのあるんだけどそれってどうしてなの?
エラーも出ずにただただ動かないやつあるんだよね。関数の外だと動かせるのに。
329デフォルトの名無しさん
2017/02/14(火) 16:20:21.96ID:06xiI2rQ
>>328
具体的に何のモジュール?
どういう環境で動かして発生してる?
330デフォルトの名無しさん
2017/02/14(火) 21:50:07.73ID:MfKEp5BT
ただただその関数が呼ばれてないだけというオチに1票
331デフォルトの名無しさん
2017/02/14(火) 22:21:25.87ID:W41n3HIS
呼んでないならエラー出るんじゃね?
関数の外だと動くとしたらexpressとかかな。router.getとかpostの中で走らないとかなら前にあった気もしなくない。どうしたか忘れたけどw
332デフォルトの名無しさん
2017/02/15(水) 00:10:45.91ID:ZQplfFJ2
Rubyを使えば?
Chefのレシピは、どこにでもある

Chef → Vagrant → VirtualBox

CentOSは8〜10年と、サポート期間が長い。
Ubuntu Serverは5年だろ
333デフォルトの名無しさん
2017/02/15(水) 00:54:49.40ID:EMySciej
Chefはオワコン
あんなものに時間を費やするとか
バカみたいだろう
334デフォルトの名無しさん
2017/02/15(水) 03:20:36.44ID:ZQplfFJ2
%w{php mysql nginx}.each do |name|
package name do
action :install
end
end

%w{php-fpm mysql nginx}.each do |name|
service name do
action :start
end
end

Chefで、複数のパッケージをまとめて、インストール・起動できる
335デフォルトの名無しさん
2017/02/15(水) 03:48:14.72ID:EMySciej
>>334
シェルスクリプトでいいやんw
336デフォルトの名無しさん
2017/02/15(水) 05:14:07.85ID:ZQplfFJ2
Rubyでは中間言語にコンパイルする時に、エラーが分かるから、
途中まで実行されないから、中途半端な状態にならない

シェルスクリプトではエラー処理など、複雑なプログラミングはできない

Chefでは、action :install など、共通のコードで、
ディストリによって、CentOSのyum / Ubuntuのapt-get を自動的に切り替える

設定ファイルに書き込むとか、cron での定期実行とか、
Vagrant を削除すればすべて消えるから、何回でもテストできるし、
Test Kitchen というテストツールもある

こんな全工程をとても、シェルスクリプトでは書けない
337デフォルトの名無しさん
2017/02/15(水) 07:49:09.63ID:gA9AwOPh
Rubyは宗教だからな
>>331
もしこれなら呼ぶ順番とかnextされてないとかそういうことちゃう?
338デフォルトの名無しさん
2017/02/15(水) 12:50:14.06ID:ULOZzaq4
spookyjsでjsonをファイルから読み込むのってどうやるの?
339デフォルトの名無しさん
2017/02/15(水) 21:49:05.06ID:EMySciej
>>336
> Rubyでは中間言語にコンパイルする時に、エラーが分かるから、
> 途中まで実行されないから、中途半端な状態にならない

まあ、誰に目にも間違いだと明らかにわかっていることだが、
ネタ的に面白いから言ってみて。

「他の言語だとこういう場合にこうなって、
Rubyだとそうならない」という形で例を言ってみて
340デフォルトの名無しさん
2017/02/15(水) 22:02:17.92ID:MGTJrHMY
面白くないし言わせなくていいよ
元々スレ違いの話だし続けても荒らしにしかならん
341デフォルトの名無しさん
2017/02/15(水) 22:03:49.19ID:EMySciej
逃げ出すなら今のうちだぞ?w


Rubyだとコンパイルされてもエラーがわからず
エラーで途中で中断されるまで実行されてしまって
中途半端な状態になる例

↓↓↓↓

f = File.new("out.txt", "w")
f.write("test")
f.close()
aaa()
File.delete("out.txt")


aaa()で途中で中断される。out.txtというファイルは消えずに残る
342デフォルトの名無しさん
2017/02/15(水) 22:04:48.80ID:EMySciej
>>340
さーせんw

>>336がウソだってばらしてやったので
もう来ないと思うわーww
343デフォルトの名無しさん
2017/02/16(木) 03:04:55.36ID:1M26REHO
Chefの冪等性を言語の機能だと思ってんのかな
あれは苦労してそうなるように実装してるんだよ
スッキリくん
344デフォルトの名無しさん
2017/02/16(木) 11:50:45.61ID:1CyXSjc0
おまいらがいろいろめんどくさいこと言うから事の発端の初心者の子が出てこれなくなってるじゃないかw
345デフォルトの名無しさん
2017/02/16(木) 13:30:50.42ID:1VBkG9E6
何を今更
いつものことだろ

それとも自演か
346デフォルトの名無しさん
2017/02/16(木) 14:09:27.37ID:1CyXSjc0
ちょっと伸びててしかもなんで別言語の話になってるの?と思って追ってみただけだけど。
いつもということは常駐してんの?ひまだねえ
347デフォルトの名無しさん
2017/02/16(木) 14:22:02.95ID:1VBkG9E6
いや
このスレに限ったことじゃなくて
2ちゃん全般だから

ひまなのは認める
348デフォルトの名無しさん
2017/02/16(木) 14:42:37.07ID:squjHSRZ
>>336
そろそろJenkinsおじさんに次ぐChefおじさんと呼ばれる人たちがでてくるころかな。
今始めるなら、Ansibleがおすすめだよ。
349デフォルトの名無しさん
2017/02/16(木) 22:07:51.85ID:jc3dpiuS
Chef(など)の冪等性の機能って本当に同じ状態にするわけじゃないからな

まず書いてないことの状態は、定まらない。例えばこういうファイルを作れや
ファイルを削除する。なら定義できるが、そこに書いたこと以外の
余計なファイルが有ったり足りなかったりしてた場合は違う状態になる。

それからパッケージとかライブラリとか、インターネット上から落としてくるようなやつは
同じになるとは限らない。バージョンを指定したら同じになるだろうが、今度は
そのバージョンが削除されたらエラーになってしまう

本当に同じ状態にするのであれば、最初に作ったものをイメージ化するしかない。
だがイメージ化したものを使って変更を入れないのならば冪等性なんかは不要になる。
これがイミュータブルインフラストラクチャーという考え方

必要なのは「最初に作るもの」を手順化したものだけ。
そこにChefが必要か?と言われれば当然必要ない。

なぜなら、Chef等が登場する以前、みんな端末から手動で構築していたろ?
端末っていうのは要するにbashだったりzshだったり。
つまりbashシェルスクリプトで全部できることでしかない。

インタラクティブな処理とファイル編集はbashシェルスクリプトでやりにくいように思うかもしれないけど
インタラクティブな処理は、シェルスクリプトでも実行する方法が用意されているものだし
ファイル編集は発想を変えて、ファイルそのものをコピーすればいい

そうすれば消して特定の状態から環境を作る処理なんざシェルスクリプトでなんの苦労もなくできる。
消さずに何度も設定を送り込んむような(クラウド的ではない)使い方をするのなら
冪等性があると便利だから使う意味があるが、それでもAnsibleで十分だし、Ansibleの方が簡単
350デフォルトの名無しさん
2017/02/16(木) 22:12:01.74ID:jc3dpiuS
>>336
> Chefでは、action :install など、共通のコードで、
> ディストリによって、CentOSのyum / Ubuntuのapt-get を自動的に切り替える

一見便利そうに思うかもしれないけど、汎用的なChefレシピを作ってる人(誰かいんの?)以外は
CentOSとUbuntuを変更したいなんてことはまずない。

そもそもCentOSとUbuntuではパッケージ名が違う

だから自動的に切り替えることは完全にはできない。
それからバージョン番号とかどうする?完全に一致するわけじゃない。

結局CentOSはこの名前のパッケージで、Ubuntuだとこの名前のパッケージというように
切り替えるファイルが別に必要

誰かが用意してくれてるんだろうが、マイナーなパッケージまでそれをやってくれるのか?
頑張った所でCentOSとUbuntuで違うが生まれるというのに、誰が喜ぶんだという話
351デフォルトの名無しさん
2017/02/16(木) 23:13:35.09ID:jc3dpiuS
https://www.ogis-ri.co.jp/otc/hiroba/technical/vagrant-chef/chap3.html

> どうやら Ubuntu と CentOS は git-daemon のパッケージ名が異なるため、
> 同じパッケージ名で両方の OS に対してパッケージをインストールできないようです。
> 以下のようにレシピ中でプラットフォームごとに適切なパッケージ名を使うように変更しましょう。
>
> package "git-daemon" do
> case node[:platform]
> when "centos"
> package_name "git-daemon"
> when "ubuntu"
> package_name "git-daemon-run"
> end
> action :install
> end

あははw あほくさ
本末転倒とはまさにこの事
352デフォルトの名無しさん
2017/02/17(金) 00:09:45.16ID:fTK4d/WW
cookbookは各社が公開している

Chef社のopscode、Railsを作っている Basecamp社、
Berkshelfを作っている Riot Games社、
Pivotal Trackerを作っている Pivotal Sprout社、
aws, engine yard

この本を参照。
Chef実践入門 - コードによるインフラ構成の自動化、2014
353デフォルトの名無しさん
2017/02/17(金) 01:33:30.98ID:EzDq9nSn
> cookbookは各社が公開している

そうやって誰かが用意してくれなければ
使いづらいようなものを他人(各社以外=つまり俺ら)が
メンテ何するなんて苦行でしかない。

シェルスクリプトでみんなやれているのに
それをわざわざ別の形式で書く必要なんてないんだわ。

みんなが手動でパッケージ入れたりしているものを
単に記述しただけなんだぞ。
シェルスクリプトなら探す必要もないし、
難しさのかけらもない

2014年という終わコンになったChef soloを
使った手順しか書かれてない本も読まなくていい
354デフォルトの名無しさん
2017/02/17(金) 03:01:13.25ID:avRI9kck
時代はAnsibleだからどうでもいい
355デフォルトの名無しさん
2017/02/21(火) 19:28:09.02ID:hNSzp0Df
ansibleから漂う超光速通信感が格好いいからアンシブル好き何やってるのかは知らんけど
356デフォルトの名無しさん
2017/02/22(水) 11:38:24.75ID:nFPUHBlJ
>>352
俺がchefをやめた理由:
・アーキテクチャがころころ変わる(最大の理由)
 → なので、ちょっと前の情報がもう全然駄目になる(書籍もネットの情報も)
・リモートにインストールが必要
・他人が作ったcookbookでなにやってるのかよくわからん
・さらに、そのカスタマイズポイントを調べるのが面倒
・自分で書く場合は、結局ディストロ意識するので、CentOS用に書いた奴はUbuntuでは使えない

まあ、Ansibleにもあてはまる項目あるけどね。
357デフォルトの名無しさん
2017/02/22(水) 11:38:55.75ID:nFPUHBlJ
>>352
俺がchefをやめた理由:
・アーキテクチャがころころ変わる(最大の理由)
 → なので、ちょっと前の情報がもう全然駄目になる(書籍もネットの情報も)
・リモートにインストールが必要
・他人が作ったcookbookでなにやってるのかよくわからん
・さらに、そのカスタマイズポイントを調べるのが面倒
・自分で書く場合は、結局ディストロ意識するので、CentOS用に書いた奴はUbuntuでは使えない

まあ、Ansibleにもあてはまる項目あるけどね。
358デフォルトの名無しさん
2017/02/22(水) 12:09:52.48ID:yaW/NUco
アーキテクチャがころころ変わるのは
オンプレ連中に楽させるかよ金払えって意図がある
359デフォルトの名無しさん
2017/02/22(水) 20:56:44.68ID:TiP/fttU
>>357
そのAnsibleにもあてはまる項目だけど、
各アプリの設定ファイルを、わざわざAnsibleのyml形式で
書き直すっていうのがアホらしいと思う

あと、

Ansible公式でモジュールが用意されているとあるサーバーアプリがあるのだけど、
そのサーバーアプリの最新版がリリースされたら公式モジュールが動かなくなった

このように間に別の仕組みがはいって、その別の仕組はアプリごとに
用意しないといけないものというのは、公式で対応すべきじゃないと思う。
利用者が自分で書くか、アプリ自信に配布してもらうか

ちなみになAnsible Galaxy見てみたら、そのアプリに対応するモジュールが
50個以上あったわw 検証してられるか=それらはゴミ
360デフォルトの名無しさん
2017/02/23(木) 10:44:15.73ID:5OVH7aZj
>>359
> 各アプリの設定ファイルを、わざわざAnsibleのyml形式で
> 書き直すっていうのがアホらしいと思う
うん、アホらしいね
だから、設定ファイル(ふつーのテキストファイル)に変数を埋め込む機能が準備されてるんだね

ゴミに関しては、chefのcookbookの方が多いんじゃないかな
さらに同じ目的なのに多数類似品が見つかるし、動かなくなってるのもあるし
361デフォルトの名無しさん
2017/02/23(木) 10:50:09.51ID:5OVH7aZj
ただ、
> 各アプリの設定ファイルを、わざわざAnsibleのyml形式で
> 書き直すっていうのがアホらしいと思う
は書くのは大変だけど、多大なメリットがある

それは、デプロイするパッケージのバージョンを上げるときに、付属する設定ファイルが
結構変わったり、パッケージそのものが変わっても、設定をyamlで書いとけば変更なし
(あるいはちょっとした変更)でいけたりする
iptablesからfirewalldの変更とかね

設定アイル事前準備→内容書き換え→配布だと、それに対応できない場合がある
362デフォルトの名無しさん
2017/02/23(木) 22:10:27.88ID:Ka1UMSVA
> それは、デプロイするパッケージのバージョンを上げるときに、付属する設定ファイルが
> 結構変わったり、パッケージそのものが変わっても、設定をyamlで書いとけば変更なし
> (あるいはちょっとした変更)でいけたりする

それは普通にアプリ標準の設定形式であっても同じ

もし、付属する設定ファイルが結構変わっていたりしたら
それにAnsibleが対応するまで、使えない。

実際、エラーが出て困ってる。
363デフォルトの名無しさん
2017/02/23(木) 22:11:49.00ID:Ka1UMSVA
>>360
> 書き直すっていうのがアホらしいと思う
うん、アホらしいね

だから、設定ファイル(ふつーのテキストファイル)に変数を埋め込む機能が準備されてるんだね

そして、アホらしいから設定ファイルに変数を埋め込む方法を使えば
設定ファイルが大きく変わったとき困るよね?
364デフォルトの名無しさん
2017/02/23(木) 22:17:25.43ID:Ka1UMSVA
>>361
> iptablesからfirewalldの変更とかね

iptablesはこっちを使いましょう
https://docs.ansible.com/ansible/iptables_module.html

firewalldはこっちを使いましょう
http://docs.ansible.com/ansible/firewalld_module.html

見ての通り使える機能が違うからオプションも違います。


iptablesを勉強した後、Ansibleのドキュメントを見て、何が何に対応するか調べましょう
そして
firewalldを勉強した後、Ansibleのドキュメントを見て、何が何に対応するか調べましょう
365デフォルトの名無しさん
2017/02/23(木) 22:38:29.44ID:OjaB8M7n
Ansible警察です^^
366デフォルトの名無しさん
2017/02/24(金) 00:19:14.85ID:J1gh7NVQ
まだやってんのか もうそれでスレ立てろよw
367デフォルトの名無しさん
2017/02/24(金) 07:54:29.50ID:8JeFvz/h
docker派の俺、高みの見物
自社サーバー中心だとその辺楽だなあ
368デフォルトの名無しさん
2017/02/24(金) 10:50:57.89ID:L3urbmMZ
>>362
> もし、付属する設定ファイルが結構変わっていたりしたら
> それにAnsibleが対応するまで、使えない。
そんなことないよ。
設定ファイルが結構変わってても、設定する項目は変わらなかったりする。
locale関連設定とか、timezone設定とか。

>>363
> 設定ファイルが大きく変わったとき困るよね?
そうだよ。だからyamlで設定するメリットを書いた。

>>364
> 見ての通り使える機能が違うからオプションも違います。
だから、yamlで設定を書いておけば、少しの変更でいけるって書いたじゃん。
それに、この例で言えば、iptablesでもfirewalldでもいける設定を誰かが作ってるかもしれないし。
俺はそれ探すより自分で書き換えた方が速かったから探してないけど。

誰かが作ったカスタマイズ度が高い設定を使うだけなら、chefもansibleも似たようなもんかもね。
>>357のデメリットが大部分あてはまる。
369デフォルトの名無しさん
2017/02/25(土) 00:07:14.99ID:7KoBIFTE
> だから、yamlで設定を書いておけば、少しの変更でいけるって書いたじゃん。

それは無理。公式がコードを修正しないといけない
370デフォルトの名無しさん
2017/02/25(土) 00:51:19.65ID:KfcxLahl
どれも枯れてないものばかりだし変化に文句つけても仕方なかろう
371デフォルトの名無しさん
2017/02/25(土) 01:26:59.68ID:JBoxI4/B
幻想に乗っかっちゃだめよ
372デフォルトの名無しさん
2017/02/26(日) 18:16:36.24ID:vI+CT2Uu
すまん、ここnode.jsのスレだよな?
373デフォルトの名無しさん
2017/02/26(日) 18:37:39.09ID:TIfPFmII
実際に手を動かしてるやつがいて安心したんだけどな
机上の空論語るよりよっぽどためになる
と言いつつ、dockerの俺は高みの見物
374デフォルトの名無しさん
2017/03/17(金) 16:32:59.98ID:AoUhXhvS
ES6モジュールで書かれた依存モジュールがある状態だとbabel-node使えないな
node_modulesのignore外すとbabel自身を変換しようとするのかエラー出て通らない
globalにbabel-cli入れないとダメか
375デフォルトの名無しさん
2017/03/22(水) 22:15:57.31ID:ZzjrTTVd
electronで作ってるんだけどC#とかのWindow Form?と違ってcssデザインの才能ないと見た目が悪くなるなコレ
376デフォルトの名無しさん
2017/03/23(木) 02:57:25.40ID:RevR4EA/
こういうのを参考にすれば?
monaca(PhoneGap/Cordova) + AngularJS + Onsen UI

サンプルアプリ & テンプレート
https://docs.monaca.io/ja/sampleapp/samples/

Onsen UIをカスタマイズするOnsen Theme Rollerの紹介
http://blog.asial.co.jp/1355
377デフォルトの名無しさん
2017/03/23(木) 23:51:44.74ID:kxaT0+ZA
>>376
これ便利ですね! ありがとうございますm(__)m
378デフォルトの名無しさん
2017/03/27(月) 02:17:39.25ID:lADNPtGP
npmが壊れたみたいなのですが、これはどうすればよろしいのでしょうか。

経緯:
1. 本日初めてインストール。(v4.8.1-x86、なおvistaなのでv6.10.1は無理だった)
2. gulp等インストールが順調に完了
3. uglifyしようとするも、ES2015のためエラー
4. uglify#harmonyをインストールしようとするも、httpsでエラー
5. ローカルにクローンしてnpmしても、途中でhttpsでエラー
6. npm install npm@latest -g しようとするが、ディレクトリを間違えていたため途中でCtrl-Cで止める
7. これ以降npmが動かなくなる
8. 何度もnodeをアンインストール/再インストールしてみたが、npmが動かない。
9. エラーメッセージは以下。(ディレクトリ名は消してます)

>npm version npm
module.js:327
throw err;
^

Error: Cannot find module 'semver'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (npm\node_modules\npm\lib\utils\unsupported.js:2:14)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)

アンインストールしても直らないので、レジストリかどこかに書いてそうなのですが、
ご存じないでしょうか。
379デフォルトの名無しさん
2017/03/27(月) 09:36:51.01ID:p7pVTGV7
vistaの場合はドッチなんだろう

ここも削除してみたら

Windows XP - %USERPROFILE%¥Application Data¥npm¥node_modules
Windows 7 - %AppData%¥npm¥node_modules
380デフォルトの名無しさん
2017/03/27(月) 09:43:01.09ID:p7pVTGV7
と言うか最新版が入らない時点で終了な気がする。
ネット上の環境使ったほうが早くないかな
https://c9.io/
381デフォルトの名無しさん
2017/03/27(月) 09:43:54.86ID:p7pVTGV7
>>375
つ bootstrap
382デフォルトの名無しさん
2017/03/27(月) 10:58:39.97ID:lADNPtGP
>>379
ありがとうございます。復活しました。
ディレクトリは%USERPROFILE%\AppData\Roaming\npm\node_modulesでした。
383デフォルトの名無しさん
2017/03/27(月) 19:07:50.12ID:lADNPtGP
>>380
試行錯誤の末、何とか動くようになりました。
結論としては、Gitも最新版にする必要があったようです。
> https://git-scm.com/download/win
nodeにもgitが入っていてそれを使っているものだと勘違いしてました。

ありがとうございました。
384デフォルトの名無しさん
2017/03/27(月) 20:47:54.47ID:GesejkPS
gitは不要
385デフォルトの名無しさん
2017/03/28(火) 17:23:59.52ID:3EkUFmFA
next.js使えるって思ったら
クライアントサイドのコードとサーバサイドのコードの連携方法が不明。
386デフォルトの名無しさん
2017/03/28(火) 18:15:57.57ID:kpaN19Jn
連携意味ない
387デフォルトの名無しさん
2017/03/29(水) 07:57:57.41ID:KsdrIF6a
expressでlistenしているサーバーの443ポートに、socket.ioをねじ込むことはできますか?
httpsしか許可していないLAN環境で使いたいためです。
388デフォルトの名無しさん
2017/03/29(水) 08:25:41.12ID:go5sII7e
無理です
389デフォルトの名無しさん
2017/03/29(水) 08:56:34.12ID:GhOdSF7q
>>387
普通にできるんじゃね?
390デフォルトの名無しさん
2017/03/29(水) 09:06:05.10ID:KsdrIF6a
>>389
ありがとうございます。
別IPか別ホストに分けて起動するようにします。
391デフォルトの名無しさん
2017/03/29(水) 09:18:00.82ID:KsdrIF6a
レス間違えました。388ありがとうございます。

>>389
そうなんですか? どうやるんでしょう?
何分、始めたばかりで基本の知識に乏しいものでして…
392デフォルトの名無しさん
2017/03/29(水) 11:56:09.16ID:GhOdSF7q
>>391
expressのserverをioの引数にしてlistnするだけじゃなかったっけ?
393デフォルトの名無しさん
2017/03/29(水) 12:15:17.04ID:KsdrIF6a
>>392
ありがとうございます!
調べてやってみます。
394デフォルトの名無しさん
2017/03/29(水) 13:18:48.28ID:KsdrIF6a
こんな感じであっさりとできました。すげー!
keysはSSLの証明書ファイルとかです。

ex = require('express');
app = ex();
... some js ...
sv = https.createServer(keys, app).listen(port, bind);
io = require('socket.io').listen(sv);

ありがとうございました!!
395デフォルトの名無しさん
2017/04/01(土) 17:53:04.82ID:y/KMs3zV
Node.js@Windowsです。
spawnを使ってexpectのようなことってできないんでしょうか?
例えば以下のように、stdoutに「Y/N」が出力されたら「y」と答えるようなことがしたいのですが…。

const spawn= require('child_process').spawn;
const de = spawn('del', [ '/p', 'foo' ], { shell: true });
de.stdout.on('data', (data) => {
  if (data.toString().indexOf('Y/N') !== -1)
    de.stdin.write('y'); // ???
});
396デフォルトの名無しさん
2017/04/02(日) 01:44:35.81ID:FpSI1UN2
next.jsってjsコードをクライアントでもサーバでも動くように書かないとだめなの?
例えば以下のような条件を入れてサーバとクライアントで処理を分岐することはできるけど
typeof window === `undefined`

そもそもimportについてはどうすればいいの?

fsがないって怒られんるだけどサードパーティのライブラリが依存してたら使わなくてもエラーになっちゃうし。
397デフォルトの名無しさん
2017/04/02(日) 17:23:56.57ID:FpSI1UN2
react naitive躓きました
react-naitive init hogehoge

ってやってプロジェクト作ろうとするとdoneと表示されてもプロンプトが戻ってこない。
nodejsはanyenvを使って最新を入れてます。

ctrc+cで無理やり戻すと当然プロジェクトはできていないので何もできない。
398デフォルトの名無しさん
2017/04/02(日) 19:13:35.17ID:FpSI1UN2
>>397
自己解決しました
399デフォルトの名無しさん
2017/04/02(日) 20:42:34.04ID:FuCfSbZi
nodeたのしんでる?
400デフォルトの名無しさん
2017/04/02(日) 22:53:02.06ID:0PLfOFLS
まだ勉強し始めなんだけどコールバック地獄を抜けたらPromiseラップ地獄が始まってる気がするゾ
401デフォルトの名無しさん
2017/04/02(日) 23:49:36.07ID:jk9X28Xe
その先にはasync地獄が待ってるから早く進め
402デフォルトの名無しさん
2017/04/02(日) 23:55:00.71ID:TvISwdcG
Rxで脱出できるよ
403デフォルトの名無しさん
2017/04/03(月) 00:08:15.13ID:pMsTDita
RxのAsyncSubjectってPromiseと比較してどんなメリットがあるんだ?
async/awaitで使えないから不便と思う
404デフォルトの名無しさん
2017/04/03(月) 00:37:17.85ID:UPqV6+1g
callback地獄なんか近づかずにpromiseとasync await始めたほうがいい。
promise抑えてからじゃないとasync await使えないから、promiseは必須な
405デフォルトの名無しさん
2017/04/03(月) 00:44:19.88ID:UPqV6+1g
rxはreact nativeあたりと組み合わせるとどうなんだろうね?
coldとhotって概念があったり意外とつまずきやすい。全てがstreamという概念は素敵そうだけどreactとうまく組み合わせられるんか?
406デフォルトの名無しさん
2017/04/03(月) 00:47:12.84ID:YqyQZW/v
async使い出すとやってくるtry catch地獄
407デフォルトの名無しさん
2017/04/03(月) 00:50:42.75ID:CTM8h4Rc
コールバック地獄って無名関数でしか渡してないから問題なだけじゃね?
408デフォルトの名無しさん
2017/04/03(月) 01:10:13.39ID:MrxLrKt6
fs.readdir(source, function(err, files) {
if (err) {
console.log('Error finding files: ' + err)
} else {
files.forEach(function(filename, fileIndex) {
console.log(filename)
gm(source + filename).size(function(err, values) {
if (err) {
console.log('Error identifying file size: ' + err)
} else {
console.log(filename + ' : ' + values)
aspect = (values.width / values.height)
widths.forEach(function(width, widthIndex) {
height = Math.round(width / aspect)
console.log('resizing ' + filename + 'to ' + height + 'x' + height)
this.resize(width, height).write(destination + 'w' + width + '_' + filename, function(err) {
if (err) console.log('Error writing file: ' + err)
})
}.bind(this))
}
})
})
}
})
409デフォルトの名無しさん
2017/04/03(月) 03:42:09.46ID:XYXk6jFX
React + RxJSで興味ある人はこの辺でも見て
http://rudiyardley.com/redux-single-line-of-code-rxjs/
https://www.slideshare.net/jayphelps/rxjs-redux-react-amazing
410デフォルトの名無しさん
2017/04/03(月) 03:53:47.87ID:CTM8h4Rc
>>408
fs.readdir(source, func1)

var func1 = function(err, files) {
if (err) {
console.log('Error finding files: ' + err)
} else {
files.forEach(func2)
}
}
var func2 = function(filename, fileIndex) {
console.log(filename)
gm(source + filename).size(func4)
}
var func3 = function(width, widthIndex) {
height = Math.round(width / aspect)
console.log('resizing ' + filename + 'to ' + height + 'x' + height)
this.resize(width, height).write(destination + 'w' + width + '_' + filename, function(err) {
if (err) console.log('Error writing file: ' + err)
}
var func4 = function(err, values) {
if (err) {
console.log('Error identifying file size: ' + err)
} else {
console.log(filename + ' : ' + values)
aspect = (values.width / values.height)
widths.forEach(func3)
}.bind(this))
}
}
411デフォルトの名無しさん
2017/04/03(月) 15:48:27.07ID:UPqV6+1g
>>409
redux学習中だけどRxJSと組み合わせると何が幸せになるん?
412デフォルトの名無しさん
2017/04/03(月) 19:33:34.98ID:963+qoSh
RPとFRPの区別がついてない奴を馬鹿にして粋がれるとか
413デフォルトの名無しさん
2017/04/03(月) 21:16:06.10ID:XYXk6jFX
>>411
RxJSのメリットは非同期の扱いを楽にしてくれること

RxJSとreduxを組み合わせるのは
一番よく使われてるフレームワークにのっかることで
Redux向けのツール類やノウハウなんかでそのメリットを享受するため

>>409の1つ目のリンクはRxJSだけでreduxと同じようなことをやってる例
2つ目は組み合わせて使う例
414デフォルトの名無しさん
2017/04/03(月) 21:22:08.20ID:MrxLrKt6
>>410
少し訂正。問題は適切な名前をつけるのが難しいところにあると思うね。

var func1 = function(err, files) {
 if (err) {
  console.log('Error finding files: ' + err)
 } else {
  files.forEach(func2)
 }
}
var func2 = function(filename, fileIndex) {
 console.log(filename)
 gm(source + filename).size(func3)
}
var func3 = function(err, values) {
 if (err) {
  console.log('Error identifying file size: ' + err)
 } else {
  console.log(filename + ' : ' + values)
  aspect = (values.width / values.height)
  widths.forEach(func4.bind(this)))
 }
}
var func4 = function(width, widthIndex) {
 height = Math.round(width / aspect)
 console.log('resizing ' + filename + 'to ' + height + 'x' + height)
 this.resize(width, height).write(destination + 'w' + width + '_' + filename, func5)
}
var func5 = function(err) {
 if (err) console.log('Error writing file: ' + err)
}
fs.readdir(source, func1)
415デフォルトの名無しさん
2017/04/03(月) 23:44:03.74ID:1+ofpVMn
electronというかjsでデスクトップアプリって流行ると思いますか?
416デフォルトの名無しさん
2017/04/03(月) 23:49:14.81ID:fhkbvCOs
そもそもデスクトップアプリが今日日流行らんような
417デフォルトの名無しさん
2017/04/04(火) 00:42:57.27ID:P+kSkPRB
>>413
非同期の扱いを楽にするって観点ならasync awaitで必要十分じゃないか。
RxJSならではのメリットを知りたい。
418デフォルトの名無しさん
2017/04/04(火) 00:47:36.02ID:P+kSkPRB
>>415
reactnativeでデスクトップアプリが作れるようになったほうがいいと思うけどね。性能面でも。

electronで結構キラーアプリは出てるから使えて損はない。
chromeOSが復活しないかな。
アプリごとにchromeが中で動いてるのって無駄な気がするんだよね
419デフォルトの名無しさん
2017/04/04(火) 01:25:34.52ID:K8Tf42DL
WEB+DB vol.97 の特集が、React

WEB+DB vol.94 の特集が、Kotlin, Electron
420デフォルトの名無しさん
2017/04/04(火) 01:35:05.25ID:y0lCbigz
>>417
>>409の2番目のリンク先を見て
421デフォルトの名無しさん
2017/04/04(火) 03:08:30.98ID:QcgfrUUh
RxJSをみてるとJavaScriptにPromise入れるのは
もっと慎重にやるべきだったと思うね
422デフォルトの名無しさん
2017/04/05(水) 00:42:45.34ID:wcVK36T3
reduxは非同期処理入れるのにミドルウエアが必要でその中の候補としてrxjsがあるってこと?

非同期処理は多用するんだからミドルウエア無しで対応しろよ
423デフォルトの名無しさん
2017/04/05(水) 01:59:50.23ID:T1xSqOuQ
>>422
違うyo
424デフォルトの名無しさん
2017/04/05(水) 02:29:41.05ID:kU4Jv4wh
非同期の方法がたくさんあるからビルトインにしてないんだろ
RxJSが使いたい→redux-observable
generaterが使いたい→redux-saga
Promiseが使いたい→redux-promise
好きなのを選べる
425デフォルトの名無しさん
2017/04/05(水) 09:43:00.09ID:ObdYHa+p
rxは嫌いな奴は本当に嫌いなのでデフォルトにすると人死にが出る
426デフォルトの名無しさん
2017/04/05(水) 18:20:05.80ID:6P7JyL2t
猫は炬燵で丸くなる
427デフォルトの名無しさん
2017/04/05(水) 20:06:36.76ID:zmBGqA0p
ReactとRx同時に使ったら、サイズが大きいのが気になりませんか?
428デフォルトの名無しさん
2017/04/06(木) 14:59:39.46ID:TGfMJct9
>>421
かなり慎重だったよ
当初提案のメソッドや機能も大分削ぎ落とされたし
429デフォルトの名無しさん
2017/04/06(木) 17:23:22.82ID:udT44U5Z
Rxってコンセプトがシンプルなのにいざ使おうとするとライブラリのインターフェースは複雑で、シンドってならない?
430デフォルトの名無しさん
2017/04/06(木) 20:16:24.28ID:rNIgAdOn
>>428
でも結局Observableになるんだろ?
431デフォルトの名無しさん
2017/04/06(木) 20:20:21.49ID:rNIgAdOn
Fetch APIがPromiseベースなので、処理がキャンセルできなくて困ったしな。
Fetch APIの戻り値はObservableに変更すべき。
432デフォルトの名無しさん
2017/04/06(木) 20:23:20.40ID:rNIgAdOn
>>429
jQueryとPromise(Deffered)で関数型インターフェースには慣れていたから、
イベントでフィルタできる新しいメソッドが追加されたぐらいにしか思ってないよw
433デフォルトの名無しさん
2017/04/07(金) 00:20:55.58ID:W6kcLwca
>>430
おいおい大丈夫か??
PromiseはPromiseで、ObservableはObservableで必要だよ
いいか?
ObがあればPrが要らないと言うのは
ジェネレーター関数があれば関数が要らないと言ってるのと同じことだぞ
434デフォルトの名無しさん
2017/04/07(金) 01:10:39.92ID:muVw6N7l
配列があればnumberはいらない、的な
435デフォルトの名無しさん
2017/04/07(金) 01:27:24.68ID:E9+XPTIr
関数とジェネレータ関数の関係とはちょっと違う気がするが
まあ言いたいことはわかる
436デフォルトの名無しさん
2017/04/07(金) 01:53:54.75ID:feQdKcc1
>>433
説得力ゼロだなw

ObservableがあればPromiseはいらない。
ObservableにPromiseの機能が含まれてるから
437デフォルトの名無しさん
2017/04/07(金) 02:08:35.05ID:muVw6N7l
promiseは単発、observableは連発
連発は単発を包含してるが最適とは限らない
438デフォルトの名無しさん
2017/04/07(金) 02:12:06.86ID:xCtKbZyH
completeしか発生しないObservable = Promise

そもそも非同期=時間がかかる処理なのだから、
必然的に途中でキャンセルしたくなるのが普通。
キャンセルができない時点でPromiseは片手落ち
439デフォルトの名無しさん
2017/04/07(金) 02:20:36.15ID:MrQDMpDH
>>436

promiseは非同期処理の約束手形observableはオブジェクトの値の変化を検知する仕組み。

なんでどっちかしかいらないって話になるのか
440デフォルトの名無しさん
2017/04/07(金) 02:25:12.94ID:MrQDMpDH
>>438
Netflixとかなら動画を取り扱うからキャンセルできたほうがいいけど、
他の案件でも必要か?適材適所でしょう。
なんでもストリームとして取り扱うRxは宣言的な記述になるけど、
それが読みやすいかというと、
俺はpromise とasync awaitの方が読みやすい。
441デフォルトの名無しさん
2017/04/07(金) 02:48:44.21ID:ZOMGhg3k
RxのObservableと廃案になったObject.observeが混在してる件
442デフォルトの名無しさん
2017/04/07(金) 02:51:12.64ID:ZOMGhg3k
多機能があれば単機能はいらない
そんなふうに思って(ry
443デフォルトの名無しさん
2017/04/07(金) 03:29:00.04ID:MrQDMpDH
>>441
えっ。違うのかそれ。解ってなかった。すまぬ
444デフォルトの名無しさん
2017/04/07(金) 03:40:41.83ID:7WaVyHOC
RxのObservableはnodeのReadable Stream (flowing mode) みたいなもん
445デフォルトの名無しさん
2017/04/07(金) 07:20:07.56ID:Bfn8G5Of
someがあればeveryは要らないって話?
446デフォルトの名無しさん
2017/04/07(金) 09:40:29.94ID:xCtKbZyH
>>443
分かってなかったのかw
通りで話が噛み合わないわけか。

ObservableはPromiseの改良版
447デフォルトの名無しさん
2017/04/07(金) 09:44:07.30ID:xCtKbZyH
>>445
違う。Promiseで十分と思えるような作業であっても
実際は、処理のキャンセルや進捗状況の把握が必要になる。
だからPromiseの仕様では不十分という話
448デフォルトの名無しさん
2017/04/07(金) 10:06:57.71ID:NIm6zjXF
必要になるとは限らない
そもそもキャンセルの方法がないものも多い
449デフォルトの名無しさん
2017/04/07(金) 10:50:07.00ID:a3tdoMh+
promiseでは全てのケースをカバーできない→正しい
だからpromiseはいらない→間違い
450デフォルトの名無しさん
2017/04/07(金) 11:38:12.33ID:MrQDMpDH
でもPromiseだからこそasync awaitを駆使して同期プログラミングっポイ見た目でかけるわけで。
そこはRxではむりでしょ?そもそも宣言的な記述なウリなんだろうけども。
まぁ結局一人で開発だったらドッチもあってもいいけど
複数人プロジェクトだとRxは使いづらいわな。
451デフォルトの名無しさん
2017/04/07(金) 11:54:59.99ID:5+HcG4Iv
Observeを束ねて全部処理が終わったら終了処理をしたいんだけど、どうやったらいいんだろう
452デフォルトの名無しさん
2017/04/07(金) 12:16:24.62ID:dJwAVcRG
全部zipすれば
453デフォルトの名無しさん
2017/04/07(金) 12:28:20.19ID:Fuvg5lKD
Httpリクエスト…Promise
websocket…Observable
454デフォルトの名無しさん
2017/04/07(金) 13:19:55.32ID:MrQDMpDH
んでRx使ったやつで良いプロジェクトってあるの?
RxSwift使ってたときは良いプロジェクトが見当たらなくて
汚い設計になってしまった。
455デフォルトの名無しさん
2017/04/07(金) 13:59:32.72ID:0MVaqOPa
>>449
これな
456デフォルトの名無しさん
2017/04/07(金) 14:44:51.56ID:PRiizMve
要る要らないは個人の考えや開発スタイルによるものだしなぁ
457デフォルトの名無しさん
2017/04/07(金) 17:45:00.18ID:7PhLdANq
>>452
やってみる
458デフォルトの名無しさん
2017/04/07(金) 18:11:21.26ID:W6kcLwca
つうかキャンセルだけならCancelablePromise案もあるし、
実際はキャンセルが内蔵されていると不都合があるのでCancelToken案のように
仕組みを外部に用意するのがベストだからPromiseは今のままで良いと思うよ

あと因みに例で挙がってたfetchはキャンセル出来る。
キャンセルする必要があるような重たいファイルをDLするときは
Stream使うだろうから、その場合rs側にcancelメソッドがある。
459デフォルトの名無しさん
2017/04/07(金) 18:13:30.99ID:W6kcLwca
逆に言うと、もしfetchがプロミスレベルでキャンセルに対応した場合、
こういうStream何かとの兼ね合いはどうするのかって話になる。
自動でrs.cancelが呼ばれるようにするのか、それともclosed例外吐くようにするのか。

やっぱりCancelTokenのように外側から突き刺す形が一番良いよ。
460デフォルトの名無しさん
2017/04/07(金) 21:38:04.53ID:M/7BCwbh
なんかの勉強会でcancelable promiseの標準化は頓挫したと聞いた
461デフォルトの名無しさん
2017/04/07(金) 21:50:33.96ID:M/7BCwbh
終了してた
https://github.com/tc39/proposal-cancelable-promises
462デフォルトの名無しさん
2017/04/07(金) 23:33:00.86ID:xCtKbZyH
>>449
promiseでは全てのケースをカバーできない→正しい
だからpromiseはいらない→そんなこと言ってない

Observableでpromiseのケースをカバーできる→正しい
だからpromiseはいらない→こう言っている
463デフォルトの名無しさん
2017/04/07(金) 23:33:50.39ID:xCtKbZyH
>>460
> なんかの勉強会でcancelable promiseの標準化は頓挫したと聞いた

そしてObservableの標準化が進んでいる
464デフォルトの名無しさん
2017/04/07(金) 23:52:45.97ID:OQDmCCRm
promiseで十分なケースでわざわざobservable使うメリットあんのかよ
465デフォルトの名無しさん
2017/04/07(金) 23:55:32.50ID:xCtKbZyH
>>464
promiseとobservableはインターフェースが違うから互換性がない。
だからライブラリを作るならば両方に対応しなければならない。

またtoPromise()などでobservableからPromiseに変更するなんて
面倒なことをしなければならない場合もある。

promiseとobservableの両方に対応しなくて良いのがメリットだ
466デフォルトの名無しさん
2017/04/07(金) 23:57:21.56ID:D3WCz+HD
>>461
そこはキャンセルしてたでしょ!
467デフォルトの名無しさん
2017/04/08(土) 00:03:38.77ID:x261ON0r
>>465
は?
それならobservableなんて対応しなけりゃいいだけじゃねーか
なんで両方に対応しなきゃいけねーんだよ
468デフォルトの名無しさん
2017/04/08(土) 00:07:31.07ID:Ibdd+rg/
>>467
殆どの要件でcancelは必要だから結局Fetch APIみたいに
cancelするための別の仕様が出てくる。

だから最初からobservable一本にしておけばいいという話
急ぎすぎてPromiseを標準化してしまったのは黒歴史
Promiseを使ったFetch APIも黒歴史
469デフォルトの名無しさん
2017/04/08(土) 00:15:58.80ID:cNZiPnVn
>>468
fetchのことしか考えてねーのかよ
fsの非同期apiはキャンセル不可だがこれobservableにする意味あんのかよ

fetchが黒歴史なのは正しい
promiseじゃなくstreamだろってsubstackも突っ込んでた
470デフォルトの名無しさん
2017/04/08(土) 00:23:48.13ID:Ibdd+rg/
> fsの非同期apiはキャンセル不可だがこれobservableにする意味あんのかよ

あると思うけど?

俺は200MBを超えるファイル×数十個を "並列で" サーバーに送信したことがあるのだが、
もしメモリに全部読み込んでいたら、マシンによってはメモリ不足になっただろう。

だから特定のチャンクごとに読み込んで送信していたわけだが、当然キャンセルもしたいし
どのファイルが何%処理完了したかの状況も表示したくなる。

そんときはループを使って、チャンクごとにデータを読み取って処理したわけだが、
もしfsがobservableであれば、メモリに全部読み取ることなく
一定のチャンクごとに処理する簡単な方法も提供されただろう。
471デフォルトの名無しさん
2017/04/08(土) 00:28:43.38ID:Ibdd+rg/
setTimeoutなんかもclearTimeoutみたいにキャンセルするメソッドがあるし、
時間がかかるからこそ非同期にしているわけで、時間がかかる処理を
キャンセルしたいことがありえないなんてAPIが本当にあるのだろうか?
472デフォルトの名無しさん
2017/04/08(土) 00:35:11.20ID:cNZiPnVn
>>470
それはnodeじゃ昔からstreamでやってるやつだがその話じゃねーよ
今のnodeではcallbsckを取るfs.fstatとかの話だ
473デフォルトの名無しさん
2017/04/08(土) 00:37:42.94ID:Ibdd+rg/
>>472
俺が話をしているのはブラウザ版だ
nodeの話はしてねーよw
474デフォルトの名無しさん
2017/04/08(土) 00:38:09.39ID:cNZiPnVn
>>470
つかてめーnodeやってねーだろ
475デフォルトの名無しさん
2017/04/08(土) 00:38:37.44ID:cNZiPnVn
>>473
スレ違い死ね
476デフォルトの名無しさん
2017/04/08(土) 00:38:44.04ID:Ibdd+rg/
そういやブラウザではFile APIだったなw
477デフォルトの名無しさん
2017/04/08(土) 00:39:23.93ID:i0oWHzgI
>>471
時間がかかる処理をキャンセルじゃなくて、待つのをキャンセルするじゃね?
478デフォルトの名無しさん
2017/04/08(土) 00:44:38.31ID:Ibdd+rg/
>>477
それは言い方の違いでしかないよ

nodeでcallbackを使うやつの話であれば、そもそもなんで
nodeはPromiseを使わなかったのか?の話になるだろ。

それはcallbackを使う方が速いのと、
何度もイベントを発生する必要があるものがあるからだろうな。

つまり、Promiseでは要件に耐えられないから
Promiseではなくcallbackを使ったんだよ。

fs.fstatでは何度もイベントが発生するわけじゃなくても、
何度もイベントが発生することが可能なcallbackを使っている。

それは一度しかイベントが発生しなくてもPromiseではなく
Observableを使ってよいのと同じ考えだ。
479デフォルトの名無しさん
2017/04/08(土) 00:49:22.15ID:cNZiPnVn
>>478
promiseの仕様がいつできたかも知らないのかよ
nodeはその前からあるんだよ
スレ違い野郎は消えろ
480デフォルトの名無しさん
2017/04/08(土) 00:51:43.82ID:Ibdd+rg/
http://stackoverflow.com/questions/30299613/why-does-nodejs-not-use-promise-for-the-readfile-api

Node’s early iterations used Promises in its nonblocking API. However, in February 2010,
Ryan Dahl made the decision to switch to the now-familiar callback(err, results...)
format, on the grounds that Promises are a higher-level construct that belongs in “userland.”

英語わかるか?
Nodeは最初Promise使っていて、callbackに変えたって書いてあるんだぞ
481デフォルトの名無しさん
2017/04/08(土) 00:54:37.05ID:Ibdd+rg/
(JavaScriptの)Promiseはいつできたんだっけな?
前に調べたんだが忘れたな。

ここを見る限り2009年なのは間違いないが。
http://wiki.commonjs.org/index.php?title=Promises&;oldid=516
482デフォルトの名無しさん
2017/04/08(土) 00:55:18.13ID:cNZiPnVn
そのpromiseはes6のpromiseとは別物だ
483デフォルトの名無しさん
2017/04/08(土) 00:56:40.01ID:cNZiPnVn
nodeでobservableに相当するのはstream
fs.fstatはstreamを使わない
それが答え
以上
484デフォルトの名無しさん
2017/04/08(土) 01:03:43.79ID:Ibdd+rg/
>>482
それは当たり前だが、Promiseを捨てた理由は同じだ

>>483
fs.fstatはPromiseを使わない。
それが答えだろう?w
485デフォルトの名無しさん
2017/04/08(土) 01:05:41.12ID:Ibdd+rg/
> nodeでobservableに相当するのはstream

ちなみに、streamを知らない人に説明しておくと、
streamが使ってるのはPromiseではなくcallback
486デフォルトの名無しさん
2017/04/08(土) 01:10:44.04ID:cNZiPnVn
>>484
promiseを使わない理由がキャンセルできないからじゃないのは分かってんのかよ
システムコールレベルでキャンセルする方法がないのにobservableにするメリットあんのかって問いに答えてねーだろ
nodeは単発にcallback、連発にstreamで使い分けてる
大は小を兼ねるとは限らないんだよ
487デフォルトの名無しさん
2017/04/08(土) 01:24:00.13ID:Ibdd+rg/
システムコールレベルって何の話?

Win32APIとかレベルの話してるの?


独自用語で話すんなよ
488デフォルトの名無しさん
2017/04/08(土) 01:25:28.87ID:Ibdd+rg/
ふむ

Windows Vista での Win32 I/O キャンセル サポート
https://msdn.microsoft.com/ja-jp/library/aa480216.aspx
489デフォルトの名無しさん
2017/04/08(土) 01:27:17.78ID:GAoRTfTW
何やこいつ
キャンセルする必要がない単発はPromiseでいいし、キャンセルが必要か連発ならobs使えばいいって話だろ
しゅうきょーせんそーかな?
490デフォルトの名無しさん
2017/04/08(土) 01:28:10.51ID:Ibdd+rg/
単発だからってキャンセルする必要が無いことにはならないんだが?

言ってる意味わかる?
491デフォルトの名無しさん
2017/04/08(土) 01:31:42.23ID:Ibdd+rg/
Observableが得意なのはキャンセルだけじゃなくて
並列処理もなんで、fs.fstatを並列で実行したいときにも
簡単にかけるというメリットも有るな
492デフォルトの名無しさん
2017/04/08(土) 01:33:57.12ID:i0oWHzgI
いくら君らが言い合っても、現実はかわらないでしょ?
今ある仕様がすべてで文句かるなら他の言語つかいなよで終わる話しじゃないの?
生産性のない答えもない事で争って暇すぎるだろ
493デフォルトの名無しさん
2017/04/08(土) 01:36:49.14ID:GAoRTfTW
>>490
「キャンセルする必要がない場合は」
よく嫁
494デフォルトの名無しさん
2017/04/08(土) 01:37:27.20ID:GAoRTfTW
こいつもしかしてIT速報の管理人か?
転載禁止やぞ。対立煽りはNG
495デフォルトの名無しさん
2017/04/08(土) 01:45:22.63ID:w3FPiolV
スプーンとお玉の関係に似てる。
ジャムをすくうのにお玉を使ったら逆に不便だろ。そこは適切にスプーンを使え。
キャンセル処理がPromiseだと絶対無理というわけでもないし、Rxが必要とも思えないプロジェクトで無理やりRxを使う必要もない。
496デフォルトの名無しさん
2017/04/08(土) 01:49:13.35ID:Ibdd+rg/
>>493
> 「キャンセルする必要がない場合は」

それはまずないだろうねw
497デフォルトの名無しさん
2017/04/08(土) 02:25:27.18ID:FnclMLRN
レスの文体からして前からJSスレに常駐してる荒らしでしょ
コピペブログ管理人もやってたのかは知らんが
498デフォルトの名無しさん
2017/04/08(土) 02:31:02.63ID:hy422I1n
>>487
システムコールってwikipediaにもエントリあるのに
unix/linux系はダメなwindows君か
どうりでダメなわけだ
499デフォルトの名無しさん
2017/04/08(土) 02:35:20.51ID:Ibdd+rg/
>>498
分かってないなw
なんでシステムコールの話がでてくるんだってことだよ。

nodeのAPIと、OSのシステムコールを
一対一で直接結びつける必要はないっつーの

nodeのAPIは単純な一命令でも、内部の実装は
何回もシステムコール呼んだって良いわけだ。

それが分かってないから、お前はシステムコールが
キャンセルできるかどうかなんて言い出したんだろ
こっちは全部お見通しだってーの
500デフォルトの名無しさん
2017/04/08(土) 05:35:10.56ID:iZgQ7lMc
fetchはキャンセルできる必要があるが、
fetchの戻り値をObsevableにするのは駄目。
Obsevableって一様な幾つものデータを受け取るのに向いているので
fetchのように幾つかの段階で全然違うものが帰って来るのには向いていない。

単純に、Responseにabortメソッドを付けるのが良いと思う
勿論途中のStreamをObsevableにするのはとても良いと思うけど、
それを含んだ全体をするのはおかしい。
501デフォルトの名無しさん
2017/04/08(土) 05:38:38.21ID:iZgQ7lMc
というか考えたら分かると思う。
キャンセルしたいのはfetchではなく、DLなのだから。
やっぱりCancelToken以外の解は無いと思うよ。
502デフォルトの名無しさん
2017/04/08(土) 17:16:04.09ID:uEU+oXmi
イベントでいいじゃんかよ、もう
503デフォルトの名無しさん
2017/04/08(土) 17:29:52.27ID:py60arCP
> キャンセルしたいのはfetchではなく、DLなのだから。

fetchはデータ送信もするんだが?
その場合キャンセルしたいのは何だよ
504デフォルトの名無しさん
2017/04/08(土) 17:40:38.81ID:py60arCP
>>500
> 単純に、Responseにabortメソッドを付けるのが良いと思う

fetchの戻り値はpromiseであってresponseではない。

responseはpromiseのthenの時に渡される。
promiseのthenが呼び出されるのはfetchの処理が完了した後。

つまりresponseを取得したとき=fetchし終わった時に
abortするのは遅すぎる
505デフォルトの名無しさん
2017/04/08(土) 18:46:58.17ID:1OsO7EoR
>>499
なにを見通してるのかさっぱり分からんがnodeは低水準のapiを提供するものだ
そうすれば複数のシステムコールを組み合わせた高水準apiはユーザーレベルのライブラリで実現できる
だからfsモジュールは意図的にposixの薄いラッパーになっていてキャンセルはない
506デフォルトの名無しさん
2017/04/08(土) 18:50:52.30ID:1OsO7EoR
>>504
仕様にはstreamが追加されてる
https://fetch.spec.whatwg.org/#streams
507デフォルトの名無しさん
2017/04/08(土) 18:56:59.44ID:py60arCP
>>505
> nodeは低水準のapiを提供するものだ

どこにそんなことが書いてあるのか?

nodeの立場はブラウザと同じだ。
JavaScriptの実行環境だ。

お前の理屈だと、ブラウザは低水準のAPIを提供するものということになる。
508デフォルトの名無しさん
2017/04/08(土) 18:58:44.31ID:py60arCP
>>505
> だからfsモジュールは意図的にposixの薄いラッパーになっていてキャンセルはない

じゃあ、例えば、fs.lstatSync は posixのどの薄いラッパーなのか言ってみ
509デフォルトの名無しさん
2017/04/08(土) 19:01:09.86ID:py60arCP
>>506
> 仕様にはstreamが追加されてる
どっちみち仕様を加えるなら
Observableにした方がいいだろうな。
510デフォルトの名無しさん
2017/04/08(土) 19:02:35.33ID:py60arCP
しかもPOSIXは非同期I/Oをキャンセルする機能あるじゃんwww

https://linuxjm.osdn.jp/html/LDP_man-pages/man3/aio_cancel.3.html
aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする
POSIX.1-2001, POSIX.1-2008.
511デフォルトの名無しさん
2017/04/08(土) 19:22:58.68ID:+j3lf9vK
>>507
https://nodejs.org/api/fs.html
File I/O is provided by simple wrappers around standard POSIX functions.

>>508
lstat

>>510
posix aioはほとんどのosで実装されてないしnodeでもサポートしてない
512デフォルトの名無しさん
2017/04/08(土) 19:25:59.41ID:+j3lf9vK
>>510
細かく言うとposix aioはほとんどのos kernelで実装されてない
gnuがユーザーレベルのライブラリとして実装したものがあるだけ
513デフォルトの名無しさん
2017/04/08(土) 19:34:34.87ID:+j3lf9vK
manだとlstat(2)に対して>>510のaio_xxx(3)なのでシステムコールじゃないことが分かる
514デフォルトの名無しさん
2017/04/08(土) 19:36:55.48ID:py60arCP
>>511
lstatは非同期じゃないぞw
515デフォルトの名無しさん
2017/04/08(土) 19:39:34.36ID:+j3lf9vK
>>504
fetch apiが返すpromiseはfetchが完了してからresolveするわけではない
完了してからresolveするのはres.text()が返すpromise
516デフォルトの名無しさん
2017/04/08(土) 19:40:34.49ID:+j3lf9vK
>>514
>>508のlstatSyncは非同期じゃない
517デフォルトの名無しさん
2017/04/08(土) 19:43:59.84ID:py60arCP
>>516
逆だったなw
fs.lstatの方だ
518デフォルトの名無しさん
2017/04/08(土) 19:45:48.32ID:+j3lf9vK
>>517
lstat
519デフォルトの名無しさん
2017/04/08(土) 19:46:03.01ID:py60arCP
>>515
> fetch apiが返すpromiseはfetchが完了してからresolveするわけではない

完了してからだよ。正確にはレスポンスが返ってきてから、
データの受信が完全に完了してからではない。

でないと、Response.statusが取れるわけがないだろう?
520デフォルトの名無しさん
2017/04/08(土) 19:46:40.03ID:py60arCP
>>518
それではシステムコールにあるPromise相当のものは何?w
521デフォルトの名無しさん
2017/04/08(土) 19:51:37.12ID:+j3lf9vK
>>519
そう、だから完了してからじゃないじゃん
最初のチャンクが届いたらresolveする
「fetchの処理が完了した後」は明らかな間違い
522デフォルトの名無しさん
2017/04/08(土) 19:53:33.42ID:+j3lf9vK
>>520
システムコールにはない
単にワーカースレッドでlstat呼ぶだけ
523デフォルトの名無しさん
2017/04/08(土) 19:53:53.72ID:py60arCP
>>521
Fetchの処理はリクエスト投げてレスポンス戻すところまでだよ。
ダウンロードが終了するまでの話は最初からしてない

で、Fetchのキャンセル(thenが発動する前)はPromiseでできるの?
できないでしょ?
そこに新しい仕様が必要ならObservableを使えば良いわけさ。
524デフォルトの名無しさん
2017/04/08(土) 19:54:42.49ID:py60arCP
>>522
だろう? Promiseを含めて「システムコールの軽いラッパー」と
お前が呼ぶならば、Observableを含めたって「システムの軽いラッパー」になる
525デフォルトの名無しさん
2017/04/08(土) 20:03:11.46ID:0e5YIioE
>>523
fetch apiがpromiseベースでバカなのは何年も前から言われてるし俺も言ってきたからそこに反論する気はない
526デフォルトの名無しさん
2017/04/08(土) 20:05:16.72ID:0e5YIioE
>>524
キャンセルできなくて単発で結果が決まるシステムコールのラッパーにpromiseよりobservableを選ぶメリットは?
527デフォルトの名無しさん
2017/04/08(土) 20:20:53.33ID:cXe/TGOq
システムコールとライブラリの違いをわかってないやつがいそうだから、用語をシステムAPIかOSのAPIで統一してくれ
528デフォルトの名無しさん
2017/04/08(土) 20:27:37.55ID:py60arCP
>>526
並列処理がしやすいから
529デフォルトの名無しさん
2017/04/08(土) 20:31:19.27ID:iZgQ7lMc
>>523
何度も説明してるが、キャンセルは必要だが、Observableはそぐわない
CancelTokenのようなものじゃないと実際齟齬が出るし
その流儀に則って真似して使いやすいように色んなAPIを実装していくのは大変
530デフォルトの名無しさん
2017/04/08(土) 20:33:09.43ID:py60arCP
俺がobservableの話で並列処理の話を始めると
すぐにキャンセルの話に変えるやつってなんなんだろうねw
わざとなのかな?
531デフォルトの名無しさん
2017/04/08(土) 20:38:17.35ID:FGB2+VgV
>>528
正しくは並行処理だが常に必要となるわけではない
必要ならpromiseをobservableでラップすればいいだけ
そのために無駄に高機能なapiを土台にするメリットはない
シンプルの上にリッチを乗せることは有意だが逆は無意味だ
532デフォルトの名無しさん
2017/04/08(土) 20:40:15.25ID:py60arCP
> 正しくは並行処理だが常に必要となるわけではない

絶対に必要ないならいらんだろうさ
常に必要となるわけではない=必要な場合もある。
ならば同じやり方でやったほうが楽
533デフォルトの名無しさん
2017/04/08(土) 20:49:17.82ID:FGB2+VgV
長さ1の配列があればスカラ値の変数はいらない

let x=1
let y=2
let z=x+y

これは配列が必要な場合と同じやり方で

let x=[1]
let y=[2]
let z=[x[0]+y[0]]

ってやった方が楽
なるほど
534デフォルトの名無しさん
2017/04/09(日) 16:42:26.31ID:4FESG0wM
なるほどじゃねぇよ
535デフォルトの名無しさん
2017/04/09(日) 17:00:22.44ID:ZPMPIHcF
Observableだけでなく、jQueryもLodashもそうなんだけど、
配列をスカラのように扱うことができるんだよね。

1と2以上を同一化して処理できる。

例えばquerySelectorAllは配列を返す。$()だとスカラ値を返す
どちらもセレクタから複数の要素を検索しているようだけど、この違いによって
querySelectorAllではループ処理が必要になるが、jQueryではループ処理が不要になる

Promiseも単数だから並列しようと思ったら配列が必要になってループも必要になる
つまり>>533でいう後者の書き方
Observableであれば単数も複数も同じように処理できるから、>>533の前者の書き方で
複数の対象を単数と同じ書き方で並列に処理できる。
536デフォルトの名無しさん
2017/04/09(日) 18:21:09.53ID:c0gwQMp6
querySelectorAllが配列を返すなんてとんと知りませんでしたわ
537デフォルトの名無しさん
2017/04/09(日) 19:39:40.08ID:FYNHGER+
そもそも「配列」という言葉の定義がない
因みにNodeListは@@iterator対応の予定がずっとある
538デフォルトの名無しさん
2017/04/09(日) 20:58:23.64ID:04OXxo7q
jQueryしか使わないゆとりだから下のレイヤーのことは知らないんだろ
539デフォルトの名無しさん
2017/04/09(日) 21:08:17.95ID:qkkzIUk4
下層民同士仲良くしなさいよ〜
粛清すっぞ
540デフォルトの名無しさん
2017/04/10(月) 16:04:40.78ID:/vWjJFQd
一年に1,2回はtoArrayをどうするかの話題で盛り上がるよね
Array、TypedArray、@@iterator、length、Array.isArrayとか沢山楽しい話できるよね
541デフォルトの名無しさん
2017/04/11(火) 15:44:57.90ID:EI2QNfVc
キャンセルトークン方式のプロポーザル
https://github.com/tc39/proposal-cancellation
542デフォルトの名無しさん
2017/04/11(火) 20:28:11.22ID:rWanRa9I
>>541

https://azu.github.io/slide-what-is-ecmascript/slide/12.html
Stage 0: Strawman
アイデア

から抜け出したら、もう一回知らせてくれ
せめてStage 3にならなければ評価する価値もない
543デフォルトの名無しさん
2017/04/11(火) 20:53:27.45ID:CJtRplzd
stage1のobservableも評価する価値がない
よってこの話題完全終了
544デフォルトの名無しさん
2017/04/11(火) 20:56:52.33ID:3Yv+2Fi9
50歩100歩ってやつだな。
差は2倍もあるということだ
545デフォルトの名無しさん
2017/04/11(火) 21:09:11.09ID:62uXcToV
デバッグ用にconsole.logで出力を行ってるんだけど、foreverで起動するときはどこにも出力されてないって事でいいのかな?
546デフォルトの名無しさん
2017/04/11(火) 21:46:41.59ID:fGKCOXVl
今日追加されたのより一歩進んでたって話にならんよ
547デフォルトの名無しさん
2017/04/12(水) 12:43:00.43ID:rqT+n0Ti
>>544
ゴールまで千里の道というオチですね
548デフォルトの名無しさん
2017/04/12(水) 16:04:44.52ID:WRJ4LE6o
>>545
Optionsを観ると以下のようになってる。
-o OUTFILE Logs stdout from child script to OUTFILE
-e ERRFILE Logs stderr from child script to ERRFILE
549デフォルトの名無しさん
2017/04/16(日) 06:10:01.13ID:JlKTjebd
ln -s -f /dev/null /dev/stdout
550デフォルトの名無しさん
2017/04/21(金) 22:47:20.35ID:vwhSF093
Converting circular structure to JSON
at JSON.stringify

自分なりにdeepCopyつもりのコードで
上記エラーが出た場合に、原因なコードを簡単に見つける方法ってどんなのがありますでしょうか?
551デフォルトの名無しさん
2017/04/22(土) 11:59:52.05ID:WQjYmpaa
>>550
http://stackoverflow.com/questions/14962018/detecting-and-fixing-circular-references-in-javascript
552デフォルトの名無しさん
2017/04/25(火) 16:04:38.46ID:+ad05VVs
circular structur
原因書いてますやん
553デフォルトの名無しさん
2017/04/26(水) 14:11:46.04ID:mOputr8e
>>551
まさにピッタリの解説でした。ありがとうございました。
554デフォルトの名無しさん
2017/04/28(金) 08:36:18.97ID:NZ0i2p+n
循環参照を持っていてもちょっと関数噛ましてテーブル2つに変換すればJSONに落とし込むことは可能だよ
555デフォルトの名無しさん
2017/04/28(金) 12:43:11.19ID:TC+lQYaW
以下のように表記を統一するクラス(またはデータベース)でありますでしょうか?

'php' => 'PHP' ,
'perl' => 'Perl' ,
'javascript' => 'JavaScript' ,
556デフォルトの名無しさん
2017/04/28(金) 13:10:12.31ID:ytJUGaM1
自然言語処理用でいいの最近見たけど忘れた
557デフォルトの名無しさん
2017/04/28(金) 15:01:07.81ID:TC+lQYaW
思い出してください w

「自然言語処理 "単語の正規化" 」でググってみましたがズバリ思っているようなのはヒットしませんでした。
どなたか是非!
558デフォルトの名無しさん
2017/04/29(土) 05:10:42.30ID:GfKuDHiR
つうか全部小文字の単語を直したいだけの辞書なら
通常の固有名詞辞書にちょっと手を加えればいいだけじゃん
559
2017/04/29(土) 11:53:18.38ID:R/nsoadB
freetaggerとか昔使ったことあるけど、javaScriptなんかの表記の統一は辛かったような。
isDisabledのiはどうするのとか、結局プロジェクト向けのスクリプト書いた気がする。
560デフォルトの名無しさん
2017/04/29(土) 12:10:57.72ID:xHNM2Zad
>>559
結局はそうだよな
完全な答えがあるものじゃないし
561デフォルトの名無しさん
2017/05/03(水) 23:37:41.27ID:jNZhewdQ
package.jsonの"scripts"に書いたコマンドをnpm runで実行する際はnode_modules/.bniがPATHに
追加されますが、これ以外に任意のディレクトリをPATHに追加する方法ってあるでしょうか。
562デフォルトの名無しさん
2017/05/03(水) 23:44:19.89ID:/FJiuNZS
実行するコマンドの前で設定するとか
563デフォルトの名無しさん
2017/05/04(木) 01:58:16.57ID:arHoxXIF
windowsだからpythonのpip以上にnpm厄介だな
564561
2017/05/04(木) 11:09:36.82ID:l8/ufUYV
ありがとうございます。でもwindowsだとうまくいかないなぁ。

"somecommand": "set PATH=%PATH%;<パス> && <コマンド>"
#<コマンド>は内部でPATH環境変数を使用するスクリプトで、これ自体にはPATHが通っている。

&&の両側のコマンドが同時に立ち上がるんだから当然と言えば当然か。
でもコマンドプロンプトで順次実行する&に変えても結果は同じだった。
bashのexportみたいなのが使えればいいんだけど。
565デフォルトの名無しさん
2017/05/04(木) 11:15:14.24ID:rRUt3/Oc
めんどくせぇなぁ、
そのためのnpmライブラリでもあんだろ
566デフォルトの名無しさん
2017/05/04(木) 14:13:58.13ID:PLZ28pn/
cross-envが定番
https://www.npmjs.com/package/cross-env
567デフォルトの名無しさん
2017/05/04(木) 14:31:06.73ID:lWCYxa45
他にnpm-run-allとかrimrafとかあればwinでも動くnpm scriptsが書ける
568561
2017/05/04(木) 15:13:22.65ID:l8/ufUYV
ありがとうございます。cross-envでいけました。
569デフォルトの名無しさん
2017/05/06(土) 06:40:04.53ID:jJg9RTT4
カオスですね
570デフォルトの名無しさん
2017/05/08(月) 19:19:22.70ID:Eylo3eTX
node.jsでimportを使うと
SyntaxError: Unexpected token import
ってなるんですが、importに対応したnode.jsはまだ出てないのでしょうか?
571デフォルトの名無しさん
2017/05/08(月) 19:53:32.68ID:zqCx33pk
質問する前にぐぐれ
http://sakamock.hatenablog.com/entry/2016/02/03/091623
http://yosuke-furukawa.hatenablog.com/entry/2016/05/10/111102
http://va2577.github.io/post/18/
572デフォルトの名無しさん
2017/05/09(火) 01:01:42.73ID:VdFod0fE
>>571
importの使い方を聞いていません
babelとwebpackでimport書いてるので使い方は知ってます
node.js自体がimportを実装しているのかを聞いています
573デフォルトの名無しさん
2017/05/09(火) 06:20:18.78ID:SYbF5UtF
してないよ
574デフォルトの名無しさん
2017/05/09(火) 06:58:49.50ID:i7CM3KKL
*.mjsからはimport出来るようにしようぜ
ってのを結構前に読んだ気がするけど、まだ実装されたないんか?
575デフォルトの名無しさん
2017/05/09(火) 08:05:18.10ID:SYbF5UtF
実装どころか提案文書はドラフトのままだよ
(技術的検証が済んでACCEPTされないと実装に進まない)
検証だけであと1年以上掛かるってさ

なお拡張子(*.mjs)でES moduleかどうか判別する手法は
考え得る限り最低の糞という判断が下されたので無くなる
576デフォルトの名無しさん
2017/05/09(火) 14:19:15.46ID:QH2cY82P
そこはESの管轄外だよ
NodeがWebと合わせる必要もない
577デフォルトの名無しさん
2017/05/09(火) 14:46:23.14ID:mIqB5B7Y
相互運用性は必要
578デフォルトの名無しさん
2017/05/09(火) 14:48:00.66ID:bmQioI1H
いやnodeってv8使ってる立場だから何もできんでしょ
間違ってる?
579デフォルトの名無しさん
2017/05/09(火) 15:09:01.72ID:UecSchXq
v8はネットワークもファイルシステムも持ってないからimportは環境(ブラウザやnode)に丸投げでしょ
580デフォルトの名無しさん
2017/05/09(火) 15:45:52.73ID:bmQioI1H
なるほど
581デフォルトの名無しさん
2017/05/09(火) 16:25:22.62ID:yROPnHQF
Buffer.byteLengthをブラウザ側でも利用できるように移植して欲しい
今時バイトでカウントするにも自力でコード書かないといけないのは無駄すぎる
582デフォルトの名無しさん
2017/05/09(火) 21:56:24.65ID:AJpeMRYn
importはJavaScript(EcmaScript)の仕様範疇の中に入れてもいいが、
ブラウザで動かすJavaScriptにおいて、
importはビルド時に解決する問題になるんだよね。

なぜならファイルのアクセス数が増えてパフォーマンス低下につながるから。
JavaScriptファイルを結合することでパフォーマンスをあげるという目的があるから
結合させずに動いたとしても、ビルド時に結合させるという手段は今後も続く。

ウェブサーバーのプラグインでJavaScriptファイルをimport定義に従って
結合するという仕組みができるかもしれないがこれもビルドを配信時に行うってだけ
583デフォルトの名無しさん
2017/05/09(火) 22:01:42.74ID:AJpeMRYn
>>581
ブラウザ側で実装する or 自力でコードを書く

の中間に、ライブラリを使うという方法があるよ。
この方法を使えば、既存のブラウザでも動くし
自力でコードを書くムダもない

自力でコードを書けるたぐいのものなら、ブラウザに移植してほしい理由を言うとしたら
「ネイティブで実装されていれば速い可能性がある」であるべきだろう
584
2017/05/09(火) 23:27:53.20ID:jm0lp/yb
>>582
すごく巨大なファイルへのアクセス数でパフォーマンス低下するか、
CDNで配信されてて、もうすでにブラウザキャッシュに存在するかだと、後者の方が速いと思うけど。
585デフォルトの名無しさん
2017/05/09(火) 23:38:56.70ID:AJpeMRYn
すごく巨大なファイルもCDNで配信されブラウザにキャッシュされるだろw
586デフォルトの名無しさん
2017/05/09(火) 23:45:41.79ID:UecSchXq
お前らhttp/2知らんのか
587デフォルトの名無しさん
2017/05/10(水) 02:35:14.26ID:APsKv2KG
>>586
コネクションが再利用されるとしても、
ファイル要求は別に行われるだろうが
588デフォルトの名無しさん
2017/05/10(水) 02:43:19.47ID:dOAvi++p
要求されるまでもなくプッシュできる
キャッシュとの絡みで今んとこ絵にかいた餅だが
589デフォルトの名無しさん
2017/05/10(水) 06:37:42.31ID:p6BdxMwR
ふーん
そういう妄想は同人誌即売会で売ってるといいよ
590デフォルトの名無しさん
2017/05/10(水) 11:21:57.19ID:3E/iyxQi
それよりもminifyが未だにes2015を正式対応してないの早くなんとかしてほしい。ブラウザがes2015サポートしてても結局es5で吐き出してる
591デフォルトの名無しさん
2017/05/10(水) 22:20:22.50ID:f7GpB8cT
babel使えば?
babel自体にminify入ったろ?
592デフォルトの名無しさん
2017/05/10(水) 22:27:47.55ID:3E/iyxQi
>>591
おー。愚痴ってみるもんですな。
typescript使ってたんだけどbabel挟んでみようかな。
593デフォルトの名無しさん
2017/05/10(水) 22:31:57.68ID:f7GpB8cT
typescript使ってるならビルドした後minifyすればいいだろ
594デフォルトの名無しさん
2017/05/10(水) 23:04:23.70ID:3E/iyxQi
>>593
そう言ってるんだよ
595デフォルトの名無しさん
2017/05/11(木) 09:14:44.78ID:2k4cBKy7
jsでデスクトップアプリケーションが作成できるelectronでソフトを作りたいのですが、
http通信のためのモジュールであるrequestモジュールを、main processからrequireするといろんなプロパティを持ったオブジェクトが返ってきてその中の関数でhttp通算できるのですが、
renderer processからrequireするとただのrequestという名前の関数オブジェクトが返されるだけで使い物にならないです。
pc通信でrenderer processからmain processにhttp通信を代行してもらうしかhttp通信をrenderer processで扱うための方法はないですか?
596デフォルトの名無しさん
2017/05/11(木) 09:15:08.72ID:2k4cBKy7
x pc通信
o ipc通信
597デフォルトの名無しさん
2017/05/11(木) 15:47:14.50ID:5AwxqDXW
>>595
renderプロセスはブラウザと同じなのでfetch使えばいいですよ
598デフォルトの名無しさん
2017/05/12(金) 10:36:16.44ID:0XJDwknN
>>582
なんかごちゃごちゃ言ってる間にブラウザがモジュールサポートし始めたで
https://medium.com/dev-channel/es6-modules-in-chrome-canary-m60-ba588dfb8ab7
599デフォルトの名無しさん
2017/05/12(金) 21:53:20.88ID:RdNTmSbh
>>598
そりゃサポートはされるだろ
結合しないと遅いってだけなんだから
600デフォルトの名無しさん
2017/05/12(金) 22:55:56.28ID:zfFA8MYk
>>599
モジュール化するほうがファイル増えて遅くなりそうなんだが
601デフォルトの名無しさん
2017/05/13(土) 00:08:46.87ID:f5G7qLua
>>600
だからwebpackでビルドして結合するんだよ
602デフォルトの名無しさん
2017/05/13(土) 09:42:16.53ID:7pndE6Ym
>>582
> ウェブサーバーのプラグインでJavaScriptファイルをimport定義に従って
> 結合するという仕組みができるかもしれないがこれもビルドを配信時に行うってだけ

事実誤認も甚だしい
パックする仕組みは配信からの要求で考えられた
それをトランスパイルとかいう歪な仕組みを進めている連中が取り込んだだけ
逆だね
603デフォルトの名無しさん
2017/05/13(土) 17:57:39.66ID:DoozTjZk
>>602
うん
だからhttp配信という構図だとパックする必要があるからimportがあまり意味がないというのは間違ってないとおもうんだが
604デフォルトの名無しさん
2017/05/13(土) 22:06:37.81ID:qm49A/r9
馬鹿に何を言っても無駄っぽいよ
ほどほどに
605デフォルトの名無しさん
2017/05/14(日) 08:08:37.33ID:GJiVsoER
正しいか正しくないかでなく
自分が最後に喋って締めないと気が済まない人種というのがいるのだ
マウンティング症候群を併発していることが多い

ようするにキチガイ
606デフォルトの名無しさん
2017/05/14(日) 08:58:24.04ID:Yfbw1s8U
特徴的なレス引用と改行だから覚えとくといいよ
607デフォルトの名無しさん
2017/05/14(日) 12:02:12.51ID:RQAIFfqK
>>605
それって相手もそうじゃないとそんな状態が発生しなくね
どっちかが最後にレスしなくてもいいと思ってるならいつまでも会話続かなくね
608デフォルトの名無しさん
2017/05/15(月) 16:08:20.12ID:K4VlRHcT
>>607
自分はするけど相手がするのは許せない人なんでしょ
609デフォルトの名無しさん
2017/05/15(月) 18:54:23.23ID:ejKo8zg4
609
610デフォルトの名無しさん
2017/05/26(金) 17:26:28.49ID:/lAAh6KQ
初めてインストールする初心者なんですが、インストールしようとすると
下記エラーが出てインストール出来ません。

There is a problem with this Windows Installer package.
A DLL required for this install to complete could not be run.
Contact your support personnel or package vendor.

色々ググってみましたが解決方法がさっぱりです。
どなたか対処方法をご存じでしょうか?
ご意見を戴ければ幸いです。
611デフォルトの名無しさん
2017/05/26(金) 19:28:40.56ID:GnitEmTF
OSを入れなおすと治るはず
612デフォルトの名無しさん
2017/05/26(金) 19:31:51.91ID:3n6eNBdq
zip版でやったら?
613デフォルトの名無しさん
2017/05/26(金) 19:53:10.09ID:IXNjZ2pR
検索すると解決法がでて来てるじゃん
それをやったけど解決しないというのか?
それとも検索する能力がないのか?
はっきりしろ
614デフォルトの名無しさん
2017/05/26(金) 19:56:45.81ID:r0MrR931
英語読めないバカなんだろ
615デフォルトの名無しさん
2017/05/26(金) 20:56:17.06ID:/lAAh6KQ
>>614

その通りです。英語どころか日本語にすら不自由しているバカです。
よろしければ解決方法をお教え戴けないでしょうか?
616デフォルトの名無しさん
2017/05/27(土) 02:29:43.21ID:0Q3Lyy5A
>>615
win版はとにかく問題がおおくMSが公式にインストール順序公開してたぞ
ぐぐってみろ
617デフォルトの名無しさん
2017/05/31(水) 17:32:42.62ID:ZPfn9esu
Node v8.0.0 リリース
https://nodejs.org/en/blog/release/v8.0.0/

ついに来たか!
618デフォルトの名無しさん
2017/05/31(水) 18:12:03.95ID:buo/Bij8
>>617
npm5も
yarnよりは遅いけど高速化&lockファイル追加
619デフォルトの名無しさん
2017/05/31(水) 19:21:31.62ID:JH+W+dlz
つーかむしろリリース早くないか?
どうしちゃったの最近
620デフォルトの名無しさん
2017/06/01(木) 06:22:15.78ID:YAAERIty
野良ライブラリが挙動不安定になりそうだな。
621デフォルトの名無しさん
2017/06/04(日) 02:24:58.72ID:5FvMCxhk
いやん、6にしなきゃなぁと思ってたら8がでちゃったよ
622デフォルトの名無しさん
2017/06/04(日) 08:28:21.48ID:Ya2UW7fS
おれ4のまま使ってるんたけど6とか8は何が違うの?
623デフォルトの名無しさん
2017/06/04(日) 13:22:39.42ID:x+PHGK1n
スーパーサイヤ人だとフリーザしか倒せないけど
スーパーサイヤ人2ならセルまでなら倒せるぐらい
624デフォルトの名無しさん
2017/06/04(日) 15:13:46.93ID:cUbmknIq
>>623
具体的に何がかわるんだろう?
625デフォルトの名無しさん
2017/06/04(日) 15:26:15.30ID:QmvXFzFq
主にasyn/awaitなどのes新機能
http://kangax.github.io/compat-table/es2016plus/
626デフォルトの名無しさん
2017/06/04(日) 15:31:35.11ID:cUbmknIq
>>625
なるほど
ところで下位互換は保たれてるんだろうか?
627デフォルトの名無しさん
2017/06/04(日) 15:44:01.38ID:075YxDUD
semver準拠でメジャーバージョンアップだからブレーキングチェンジがあるということ
些細なものばかりに見えるけど
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#8.0.0
628デフォルトの名無しさん
2017/06/04(日) 16:17:05.52ID:qUWZGkRh
async/awaitとかの大抵の機能はnodeのバージョンアップしなくてもbabelとかtypescript使えば古いバージョンでも使えるよ
629デフォルトの名無しさん
2017/06/04(日) 18:39:31.69ID:+x9cOwwe
>>628
これ。typescript使ってるから正直どうでもいい。
630デフォルトの名無しさん
2017/06/04(日) 22:48:20.08ID:qUWZGkRh
>>629
ts2.1でtarget es5でも使えるようになったしな
631デフォルトの名無しさん
2017/06/05(月) 21:13:25.69ID:nBMIbdLx
nodeって起動するだけでメモリ相当食うから、バージョンアップでさらに増えてないかが気になる
安いプランのVPSだとメモリ1Gとかだから
632デフォルトの名無しさん
2017/06/05(月) 22:36:15.71ID:hT8phHO4
>>631
node起動するだけなら7MBしか食ってなかったぞ?
633デフォルトの名無しさん
2017/06/06(火) 09:07:00.80ID:rjyabpco
>>632
v8が起動するんだからそんな少ないわけないだろw
634デフォルトの名無しさん
2017/06/06(火) 09:39:06.61ID:dRy+c6tT
>>633
こんな感じのようだが?

http://qiita.com/shouta-dev/items/09d7055329710684d9c7

> process.memoryUsage()
{ rss: 9019392,
heapTotal: 5115392,
heapUsed: 2658096 }
635デフォルトの名無しさん
2017/06/06(火) 12:19:41.83ID:e4Yt3Epi
そりゃnode.js内のメモリ消費量でねーの
ランタイム内のプロセスと実行環境自体のプロセスを混同させるような>>634もアレだがな
だからWeb屋は
636デフォルトの名無しさん
2017/06/06(火) 13:46:28.87ID:rjyabpco
ちょっとしたサービス作って待ち受けするだけで普通に数百MBは食うぞ
637デフォルトの名無しさん
2017/06/06(火) 13:56:30.47ID:yrQvF/57
ちょっとしたサービスなら200MB台で済んでる気が
638デフォルトの名無しさん
2017/06/06(火) 13:59:17.60ID:rjyabpco
>>637
うん、実際そんなもんだよ
サービスによりけりだけど単位は百MBにはなるね
639デフォルトの名無しさん
2017/06/06(火) 15:37:19.98ID:CUcBhzlW
えメモリ500MBのvpsじゃキツいのかよ!
640デフォルトの名無しさん
2017/06/06(火) 16:38:33.57ID:rjyabpco
>>639
nodeやるなら512は実用的じゃないと思う
ssdならスワップ早いからなんとかいけるかもしれんが最低でも1GBは欲しい
641デフォルトの名無しさん
2017/06/06(火) 17:48:28.25ID:RW5d4zA8
>>640
node起動するだけなら7MBしか食ってなかったぞ?
642デフォルトの名無しさん
2017/06/06(火) 17:53:37.43ID:Q/vepSQ/
nodeは依存関係の関係でアホみたいにモジュールロードあるからね
643デフォルトの名無しさん
2017/06/06(火) 22:49:25.44ID:dRy+c6tT
>>641
条件は「nodeを起動するだけ」なんだからその程度だろうね。

>>642
そりゃexpressとか動かせばその分のメモリ食うさ
でもそれはrailsとかでも同じなわけで、なんのモジュールをロードするかとか
言ってない上、nodeを起動するだけのメモリ使用量しかわかるわけがない
644デフォルトの名無しさん
2017/06/06(火) 23:48:02.40ID:rexPHFK5
>>643
バカは黙ってた方がいいとおもう
645デフォルトの名無しさん
2017/06/06(火) 23:52:26.78ID:uLFYe46X
>>644
何も言い返せないなら黙っていたほうが良い
646デフォルトの名無しさん
2017/06/07(水) 00:17:35.99ID:uxrwudqM
7MB君ってほんとうにおめでたい脳味噌してるんだな
647デフォルトの名無しさん
2017/06/07(水) 00:20:57.96ID:Xdd0wH5l
>>643
socket.ioのみの簡単なサービスですら200M越えるんだが?
君はどうやって使用メモリを調べてるのかな?ん?
linuxコマンドでも書いてごらん
648デフォルトの名無しさん
2017/06/07(水) 00:22:10.32ID:c02yQ3lM
>>631の文脈からして何らかのサーバー立てるんだからnode単体の話をするのは空気読めてないよね
649デフォルトの名無しさん
2017/06/07(水) 00:27:56.94ID:Xdd0wH5l
>>648
おまえはVPS借りてnode動かすのに何のサーバーもたてないつもりかな?んー?
で?
検証用のコードと7MBの確認コマンド公開まだかな?
650デフォルトの名無しさん
2017/06/07(水) 00:31:58.18ID:Xdd0wH5l
649はレス相手間違えた
この期に及んでnode単体という屁理屈で逃げてるやつは回答まだかな?
651デフォルトの名無しさん
2017/06/07(水) 00:32:13.23ID:kUtim7jQ
>>647
たった5行でWebサーバーが書ける
http://engineer.recruit-lifestyle.co.jp/techblog/2015-06-22-node1/

httpモジュールを使っている分、nodeだけのメモリ使用量ではないが、
ps uのRSSの値は26000KB、つまり26MBだが?
652デフォルトの名無しさん
2017/06/07(水) 00:33:21.79ID:kUtim7jQ
>>649
> おまえはVPS借りてnode動かすのに何のサーバーもたてないつもりかな?んー?

サーバーたてなくてもコマンド実行するという使い方もあるだろ?
653デフォルトの名無しさん
2017/06/07(水) 00:46:45.23ID:kUtim7jQ
> nodeって起動するだけでメモリ相当食うから、バージョンアップでさらに増えてないかが気になる
> 安いプランのVPSだとメモリ1Gとかだから

>>631の文脈から言って、メモリを相当食う何かを動かしているのだろう。
だがそれはnodeの使用量ではなく、モジュールの使用量がほとんど。
nodeのバージョンアップでメモリ使用量が増えたとしても
大部分のモジュールの使用量は変わらないので、気にするレベルにはならない。
654デフォルトの名無しさん
2017/06/07(水) 01:45:14.18ID:GBlW6tcD
メモリの使用量を抑えようと思ったら何を使うのが一番いいんだろうな。
やっぱgoとか?
655デフォルトの名無しさん
2017/06/07(水) 05:15:29.36ID:H4RzZJ5B
c
656デフォルトの名無しさん
2017/06/07(水) 14:14:41.23ID:Kk4r5o3h
Cは現実的じゃない
Goでおk
それかRust
657デフォルトの名無しさん
2017/06/07(水) 18:49:24.55ID:GBlW6tcD
間を取ってobjc
658デフォルトの名無しさん
2017/06/07(水) 18:51:47.29ID:GBlW6tcD
v8ってandroidでも動くようにしてるんだよね。新しいバージョンのほうが省メモリの可能性ないかな。

android goとか出してるわけだし
659デフォルトの名無しさん
2017/06/07(水) 21:06:02.29ID:Q5pKLWbH
v8のignitionは省メモリ、スモールフットプリントのためだから可能性は十分よ
660デフォルトの名無しさん
2017/06/07(水) 22:03:21.25ID:kUtim7jQ
結局逃げちまってたかw
661デフォルトの名無しさん
2017/06/07(水) 22:28:48.05ID:Kk4r5o3h
v8がiosで動けばな
662デフォルトの名無しさん
2017/06/08(木) 13:07:07.77ID:oPuedIYN
久々に延びてるから良い話題期待したもれが間違ってたし
663デフォルトの名無しさん
2017/06/10(土) 23:18:03.35ID:c4FhnErI
>>661
v8じゃないけどnode.jsなら
http://www.janeasystems.com/blog/node-js-meets-ios/
664デフォルトの名無しさん
2017/06/13(火) 13:54:50.94ID:ohFJ/OWS
selenium使ってるんだけどnodeだとすんごい使いづらいな
他はpythonしか知らないけど
665デフォルトの名無しさん
2017/06/15(木) 14:45:14.68ID:p0Tdw73d
中学生でもランサム作ってるんだから
それくらいがんがれ
666デフォルトの名無しさん
2017/06/21(水) 08:58:52.16ID:E+Sq/aqi
Windows10のユーザーフォルダでnpmにてnode-notifierと言うライブラリをインストールしたのですが
ユーザーフォルダ以外でnode-notifierを呼び出しても見つからずにエラーが出ます。

これを解決するにはWinの環境変数でPATHを通さないとダメなのでしょうか?
それとも呼び出し時に何か指定すれば良いのでしょうか?
667デフォルトの名無しさん
2017/06/21(水) 10:18:32.72ID:A4qiE8Ip
>>666
グローバルインストールっのがあるんじゃ?
668デフォルトの名無しさん
2017/06/23(金) 10:29:44.77ID:0OdP20aK
>>666
-g
669デフォルトの名無しさん
2017/06/28(水) 10:06:32.62ID:+O8L6XqQ
366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744

367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/

372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する

Railsはマイナー、メジャーのアップデートが半年以内に必ずある

客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく

気づいてから1年以内に通知すれば、5年間無料保証ゲット

つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな

376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
670デフォルトの名無しさん
2017/06/28(水) 10:07:07.91ID:+O8L6XqQ
瑕疵担保責任(かしたんぽせきにん)

瑕疵担保責任のポイント

民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない

http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt

改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている

全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html

ポイント1:修補や損害賠償、契約解除の期限がなくなる

従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。

もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
671デフォルトの名無しさん
2017/06/28(水) 11:55:35.82ID:6M+2cmcB
そのぶん金取るだけだよな
そんな主張もできない弱小は存在価値ないから他に吸収された方がいい
672デフォルトの名無しさん
2017/06/28(水) 16:29:31.80ID:7uiFkJf0
>>671
マルチに反応するな
673デフォルトの名無しさん
2017/06/28(水) 21:25:29.27ID:V4ji+kX8
>>670
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、有償で改修するだろう。

の間違いでは?
普通は不具合の修正に有償で対応する方を選ぶでしょ?
674デフォルトの名無しさん
2017/06/29(木) 03:44:27.70ID:KULunYvr
app.jsみたいなフレームワーク固有のファイルって
どんな役割なのかもよくわからんし
何を書けばいいのかもわからないしすげえ苦手だ。
最低限何を書けば動くの?
675デフォルトの名無しさん
2017/06/29(木) 09:04:07.63ID:nn6a6Cug
フレームワークのドキュメントに書いてあるんじゃないですかね…
書いてないなら使う価値がない(品質が水準に達していない)
676デフォルトの名無しさん
2017/07/08(土) 17:32:49.37ID:Ra2NVXKJ
koa2ってどうよ? 使っているヤシ居る?
677デフォルトの名無しさん
2017/07/08(土) 21:12:14.30ID:XWVPkNFz
触ろうと思ってサンプルプロジェクト作って中途半端に弄ってから半年経ったわ
678デフォルトの名無しさん
2017/07/09(日) 00:03:48.07ID:FGayP2eL
jQueryとかnode.jsとかデファクトスタンダードでみんなやってる感のやつはどうも食指が動かない
変わり者ですみません
679デフォルトの名無しさん
2017/07/09(日) 00:23:45.88ID:nvV/UuF5
本当の変わり者は自分を変わり者とは言わない
680デフォルトの名無しさん
2017/07/09(日) 00:24:16.28ID:iCzPmO29
中二病やん
681デフォルトの名無しさん
2017/07/09(日) 00:29:34.35ID:nYzmJ4mS
nodeは一部の変態しかつかってないだろ?
スタンダードとかないわ
682デフォルトの名無しさん
2017/07/09(日) 00:36:10.71ID:ODdY4A4c
>>678
それでは変わったことをやっている人が
みんなやってるものをやれば良いのでは?
683デフォルトの名無しさん
2017/07/09(日) 00:38:52.02ID:iCzPmO29
人と違うことが誇らしいお年頃〜
684デフォルトの名無しさん
2017/07/09(日) 01:14:59.47ID:A+aVbo6r
んなこと言ってるくせに変わったものなんか使ってないんだろどうせ
685デフォルトの名無しさん
2017/07/09(日) 02:41:44.02ID:zx3kMPLK
自分から○○がやりたい!っていうのなら
それは前向きな意見であるが、

みんながやってるからやらない。
誰もやってないからそれをやるっていうのは
それをやりたいという意志がないので
後ろ向きな考え方だよ。やる気が無いといえる
686デフォルトの名無しさん
2017/07/09(日) 08:27:13.61ID:CH1C34jF
みんながやってるからやりたくない、はひねくれ者
気がついたらみんながやってることと違うことをやってた、てのが変わり者
687デフォルトの名無しさん
2017/07/09(日) 10:14:40.44ID:LHQ7nZ8B
javascriptとかいうデファクトスタンダードの権化を使うのをまずやめるべきだね
688デフォルトの名無しさん
2017/07/09(日) 12:11:00.81ID:zrZ5NBAs
x86やARMも使ってはいけない
689デフォルトの名無しさん
2017/07/09(日) 12:43:30.36ID:TMBKe/0c
インターネットを使ってるようじゃ変わり者ではない
690デフォルトの名無しさん
2017/07/09(日) 17:11:49.90ID:88Sc1mx+
>>676
async await使ってるならむしろどんどん触るべきじゃないのか。
俺はgoでサーバサイド書いてるからあえて使ってないけど、
全部jsでやるならkoaかも
691デフォルトの名無しさん
2017/07/09(日) 18:30:24.07ID:cjuI8GCo
express使ってても自分でミドルウェア書きまくるわけじゃないからな
標準のやらpassportやら使うだけだからasync/await使えて嬉しいことはほぼない
結局エコシステム揃ってる方を使う
692デフォルトの名無しさん
2017/07/10(月) 13:43:08.24ID:gqDySAuG
>>691
koaってexpressのミドルウェア使えたはず。
だからエコシステム的には問題ない。
とは言えasync-awaitもところどころ詰まるところはあるのは分かる
(例えばarrayのmapに渡す関数としては使えないとか。)

でも今から使うならkoaの方かな。
693デフォルトの名無しさん
2017/07/10(月) 13:46:50.96ID:Labl8nFy
expressのミドルウェア使うならexpressでええやん
694デフォルトの名無しさん
2017/07/10(月) 14:16:11.77ID:gqDySAuG
>>693
非同期処理を同期的にかける魅力には勝てない。
695デフォルトの名無しさん
2017/07/10(月) 14:57:56.02ID:szK1finj
691に戻る
696デフォルトの名無しさん
2017/07/10(月) 16:33:23.58ID:hbYLDPUX
697デフォルトの名無しさん
2017/07/10(月) 17:53:20.41ID:LYSrTSKk
>>692
array.mapに非同期関数渡したいならrxjsで処理してtoPromiseすればおk
698デフォルトの名無しさん
2017/07/10(月) 18:48:24.41ID:gqDySAuG
>>697
いや。そもそもPromise.Allがmapと同義じゃんってわかったから
あえてrxjsは使わなくてもok
699デフォルトの名無しさん
2017/07/10(月) 19:17:56.48ID:9M+6V9gq
まっ CORE ASP使っている身としては、koa2で十分なんだが、JadeからPugへの変更って必要だったのかえぇ〜? いまいちのような感じかする。
軽いCMSにkoa2は便利。 重いのもいけそうではあるが・・・
700デフォルトの名無しさん
2017/07/10(月) 19:26:02.76ID:LYSrTSKk
>>699
jadeもpugも一緒だぞ
商標の問題で名前変えただけで
701デフォルトの名無しさん
2017/07/11(火) 16:15:40.20ID:IkyG2RiR
koa2ってなに?koa.jsのこと?
702デフォルトの名無しさん
2017/07/11(火) 17:21:49.33ID:9uLf2kf9
koe.js v2
703デフォルトの名無しさん
2017/07/11(火) 17:22:14.73ID:9uLf2kf9
x koe.js v2
o koa.js v2
704デフォルトの名無しさん
2017/07/11(火) 23:24:55.50ID:rvrzGERi
あんましexpressもkoaも使ってるぜーって情報発信してる人いない気がする。
知らないうちにブロだクションで動いてるんかな
705デフォルトの名無しさん
2017/07/11(火) 23:54:59.61ID:0kzPGIzN
expressってwebアプリケーションフレームワークって感じじゃないからな
rubyでいえばrack相当でrails相当じゃないから表に出ない
706デフォルトの名無しさん
2017/07/12(水) 00:05:15.88ID:lpTuRvg7
expressはnode.js標準に付いていてもおかしくない程度の軽いフレームワークだしな
707デフォルトの名無しさん
2017/07/12(水) 01:08:53.04ID:VV5TEq59
ぶっちゃけ、express使うような案件だとphpでよくない?っておもっちゃう
708デフォルトの名無しさん
2017/07/12(水) 01:23:02.63ID:qAT72GnU
socket.ioとか使いたいからそれはないな
709デフォルトの名無しさん
2017/07/12(水) 03:27:41.84ID:VV5TEq59
>>708
おれもゲームサーバーでnode+socket.io使ってるけど、expressで配信するコンテンツってphpでよくね?ってパターン多い気がする
どうしても非同期じゃないと無理ってパターン以外は非同期のデメリットがでかすぎる
とくにDBがらみの単純な登録画面とかね
phpの数倍の開発コストかかるよ
710デフォルトの名無しさん
2017/07/12(水) 04:17:22.08ID:Rdi75m+a
expressでdbアクセスなんてしてないな
bffとして使ってるから
node/expressの後ろのapi鯖はphpだったりrailsだったりjavaだったり
711デフォルトの名無しさん
2017/07/12(水) 04:21:26.67ID:VV5TEq59
>>710
ああ、そういう二段構えならokだね
712デフォルトの名無しさん
2017/07/12(水) 07:31:45.77ID:46U9BX05
でもphpって1requestが1プロセスで高コストだから同時接続数を稼ごうと思ったらnode.jsの方が良いんじゃないの?dbがボトルネックだから気にする必要はない?
713デフォルトの名無しさん
2017/07/12(水) 07:33:23.93ID:46U9BX05
それにasync awaitつかえば非同期処理はかなり自然に書けないかな?
学習コストは高くなるかもだけど
714デフォルトの名無しさん
2017/07/12(水) 08:32:57.14ID:Fm5flkvk
async/await使いたいけど、LTSになるまで待ってって言われてる(´・ω・`)
TypeScriptはコンパイルしたくないって言われた、、、
715デフォルトの名無しさん
2017/07/12(水) 08:35:16.60ID:VV5TEq59
最終的にはアクセス増えたときのパフォーマンスの話になるんだろうけどそんなこと気にするレベルじゃない案件でわざわざ苦労してまでexpressでがんばる必要はないなと思う
必要な場面で局所的に使うのがnodeっていうイメージ
716デフォルトの名無しさん
2017/07/12(水) 11:37:51.18ID:WN7PTjbN
phpだってさすがにスレッドぐらい使えるだろう
717デフォルトの名無しさん
2017/07/12(水) 14:22:08.20ID:sNyzU/qO
非同期DB使えよ
718デフォルトの名無しさん
2017/07/12(水) 15:54:06.61ID:46U9BX05
>>716
むっちゃしんどかった。
goを学習してgorutineで書き直したわ。
719デフォルトの名無しさん
2017/07/24(月) 09:12:28.43ID:/vKjgZpt
express-resourceを使ってAPIサーバーを作りたいって考えているのですが
データベースへのアクセス手順を共通化したくなり、下記のようにしました。

class dbaccess {
 constructor(db) {
  this.db = db
 }
 index(req, res, next) {
  console.log(this) // undefined
  this.db.find({}, (e,r)=>res.json(r))
 }
 // 以下略
}

app.use('users', new dbaccess(db))

1 APIクライアントからの GET /
-> this が undefined になっていてエラーになる

2 下記のコードからのindex()呼び出し
var dba = new dbaccess(db)
dba.index(null, null)
-> thisの内容が表示される

何か上手い解決策はないでしょうか。
720デフォルトの名無しさん
2017/07/24(月) 10:45:49.25ID:1TXRI9Gx
constructor内で
this.index.bind(this)でthisの束縛をすれば解決しませんか?
721デフォルトの名無しさん
2017/07/24(月) 15:05:38.54ID:BdqEvISL
うむ
722デフォルトの名無しさん
2017/07/24(月) 17:23:58.44ID:/vKjgZpt
>>720
お答えいただきありがとうございます。
それを全部のメソッドにやるのも何かしっくりこないので、

下のようにクロージャにしてしまったら何とか期待する動作になりました。

function dbaccess(db) {
 let _db = db;
 return {
  index(req, res) {
  }
  // 以下略
 }
}

クラスだと上手くいかないのがイマイチ納得できてませんけど。
723デフォルトの名無しさん
2017/07/25(火) 06:14:42.65ID:5XPEt11J
>>722
それが問題ならアロー関数をつかえば解決します。自動でthisを固定するんで。
724デフォルトの名無しさん
2017/07/25(火) 21:46:43.91ID:1fcXX4D/
>>719
おいおい、変なことしないほうが良いぞ
もうちょっと調べるべきだろ?

他のプロジェクトでそんな書き方してるか?
昔やったきりで忘れたし今のやり方は変わってるかもしれないから
適切なアドバイスはできないがよ、他はもっと簡単な書き方してるだろ?
725デフォルトの名無しさん
2017/07/25(火) 22:27:51.60ID:5XPEt11J
>>724
http://qiita.com/kazusa-qooq/items/23926befcb87c0c7b26f
によると
req,res,nextの3引数を取る関数を作ればいいみたいね。
偶然にもクロージャーを使うというのは正解だけど
nextを省略してるってことは他のミドルウエアを後から追加したら
動かなくなる

こういうの見てるとtypescript使うべきって思う。
型でapp.useに渡すクロージャーを制約できるからこういう失敗がない。
726デフォルトの名無しさん
2017/07/25(火) 22:30:30.22ID:FGFvX1HY
>>719
GCされてね?
727デフォルトの名無しさん
2017/07/26(水) 15:41:26.54ID:2Xw6+C7K
722です
一応、最小限っぽいコードを書いてみました。
http://www.dotup.org/uploda/www.dotup.org1319642.zip.html
users.jsからdbaccessを利用していますが、ここをtags.js, articles.jsと増やしていきたいって考えています。

>>724
本家のサンプルも利用者のblog記事なども一通り見たのですが、
見つかるは全部関数なので、そもそもクラスでの利用を想定していないのだろうと当たりを付けて
影響なさそうなクロージャにしてしまいました

>>725
ミドルウェアの追加は想定していない、クライアントコードなので特に支障はないと判断してます
本音を言うと、ただ書き忘れただけなのですけど。
728デフォルトの名無しさん
2017/07/26(水) 16:04:27.16ID:2Xw6+C7K
ちなみに、なんでクラスで書こうと思ったのかと言えば
クロージャとクラスのインスタンスが内部的には等価だと思っていたからです
729デフォルトの名無しさん
2017/07/26(水) 16:54:58.69ID:p1ZvRLSy
codepenとか使うかgithubに上げるかして欲しいわ。
正直zipでってなんかイャ
730デフォルトの名無しさん
2017/07/26(水) 16:56:23.68ID:p1ZvRLSy
>>728
将来の自分のためにも流儀は合わせておくべき。
コード量の削減に影響するとも思えない。
731デフォルトの名無しさん
2017/07/26(水) 21:17:16.61ID:EkC4vcRh
>>728
thisが違うことから等価じゃないことが証明されてるでしょ?
じゃあクラスで書こうと思った理由は消滅してるよね?
ならクラスで書くのをやめるべきだよね?
732デフォルトの名無しさん
2017/08/18(金) 21:49:38.61ID:ujwXUmoS
useの第2引数に何が許されてるのかドキュメント読みなさい
733デフォルトの名無しさん
2017/08/27(日) 14:46:16.26ID:JVSE3drk
forkの経緯を眺めてたけどこれio.jsの時と違って結構めんどくさいな
これまでのNodeは人治主義のOSSだったってことか
734デフォルトの名無しさん
2017/08/27(日) 15:42:03.26ID:XHFSs/EA
シングルスレッドだから遅くならないって言うけど
マルチスレッド言語で動的にスケールすればいいでしょ?
735デフォルトの名無しさん
2017/08/27(日) 15:44:19.45ID:IFPOQiAt
Node.js Foundationに対し不安を持つグループによるNode.jsのフォークプロジェクト「Ayo.js」誕生
https://mag.osdn.jp/17/08/25/163000
736デフォルトの名無しさん
2017/08/27(日) 15:53:01.24ID:4pu+F5Jq
>>734
だよな
737デフォルトの名無しさん
2017/08/27(日) 15:53:18.14ID:4pu+F5Jq
>>735
matakayo
738デフォルトの名無しさん
2017/08/27(日) 16:05:49.89ID:iBnNI7N6
シングルスレッドだから遅くならないなんて言っている人なんているかねぇ?
C10Kの話ならかなりニュアンスが違う。
739デフォルトの名無しさん
2017/08/27(日) 16:12:18.21ID:HAnDkIM0
優秀な一名をこき使うから速いんだな。
ほんの少しでも空時間があったら仕事をぶっこむ。
人間なら死ぬわ。
740デフォルトの名無しさん
2017/08/27(日) 16:17:42.17ID:XHFSs/EA
>>738
メモリ使用量が増えないってnodeのメリットじゃないの?
そんなのスケールアウトで十分だと思うんだが
741デフォルトの名無しさん
2017/08/27(日) 16:22:23.64ID:sNhXAArf
> メモリ使用量が増えないってnodeのメリットじゃないの?
だれがメモリ使用量が増えないというメリットが有ると
いったんだ? お前の脳内か?
742デフォルトの名無しさん
2017/08/27(日) 17:35:42.54ID:0P4eY3kj
nodeが良かったのはは非同期apiにより
プロセスあたりのリクエスト処理数を高めたからでしょう?
マルチプロセスにすればその分リクエスト処理数もある程度スケールしてくれる。ただしdbアクセスは考慮しないものとする
743デフォルトの名無しさん
2017/08/27(日) 18:30:42.93ID:LIgBPoun
mongoDBとかNoSQLとはなんだったのか
744デフォルトの名無しさん
2017/08/27(日) 18:57:54.53ID:IIGC9wQX
>>743
nodeとは全く別もので、ただのデータベース
745デフォルトの名無しさん
2017/08/28(月) 11:26:19.65ID:XrV67/p5
Nodeが普及したのは良いサイバーサイドJS環境だったから
746デフォルトの名無しさん
2017/08/29(火) 09:43:28.14ID:PNzW02X+
let dict = {}
で辞書のように使おうとしたんだけど、
dict['constructor']ではまった
アレイにkvペア入れて頑張るしか無いの?
16万項目あるので線形検索は躊躇う
747デフォルトの名無しさん
2017/08/29(火) 10:19:27.35ID:9ZzXxIqM
Mapを使うとかlet dict = Object.create(null)とか
748デフォルトの名無しさん
2017/08/29(火) 11:53:07.27ID:sgTDSrY2
>>746
16万項目のデータをメモリ内に置くのか。
もっといい方法無いかな。realmとか使えればいいんだけど。
749デフォルトの名無しさん
2017/08/29(火) 11:59:45.48ID:PNzW02X+
Object.createで上手くいった
try catchで検出してエラーになるのを、別管理と考えてたけど、すっきりした
さんきゅ
750デフォルトの名無しさん
2017/08/29(火) 12:07:49.40ID:PNzW02X+
>>748
db構築に使うフォーマット変換ツールなので、適切な時間で終了する事が要件で
利用リソース量はあまり気にしない
751デフォルトの名無しさん
2017/09/03(日) 12:30:07.14ID:U+3KDr2c
eslintとそれにぶら下がるプラグイン本当互換性がない
ツール入れる所でトラブらないといけないとかだるいわ
これだからJavaScriptなんて書きたくないんだよ
752デフォルトの名無しさん
2017/09/03(日) 12:34:43.60ID:DIhXI1rF
eslintのプラグイン何を使おうとしてるの?
使わなければいいじゃない
753デフォルトの名無しさん
2017/09/03(日) 12:59:47.72ID:VH3Jw1dH
airbnb辺りのプリセット使えばええやん
754デフォルトの名無しさん
2017/09/03(日) 20:32:32.58ID:CKCB7oSp
そのairbnb関連のjsx-a11yとかな
https://github.com/evcohen/eslint-plugin-jsx-a11y/issues/283
755デフォルトの名無しさん
2017/09/04(月) 11:57:48.72ID:xXgpQO1P
>>742
そういうのもNginxやApacheがある程度やってくれるようになってるからね。
後ろは好きな言語をそのまま使えばいい。PHP-FcgidとかuWSGIとかRackとかServletとか。
756デフォルトの名無しさん
2017/09/04(月) 18:58:52.14ID:XPn2hQsA
>>755
非同期apiはphp処理系では無理じゃない?phpはインスタンスの生存時間がリクエストを受けてからレスポンスを返すまでの固定だよね。

どうやってイベントループ回すの?
757デフォルトの名無しさん
2017/09/04(月) 20:39:48.99ID:tWvDAnX3
>>756
フレームワークによってはイベントループで生存期間が無限のものもあったはず。
前の会社で、そういうWebSocketフレームワーク使おうとしてたよ。

…そんな用途全く想定してない普通のPHP用のオレオレライブラリ組み合わせて
メモリリーク起こしてたけど(藁
758デフォルトの名無しさん
2017/09/05(火) 08:00:30.55ID:JsNUX7wh
>>757
メモリリーク起こすなら使えないな。
phpってインスタンスの生存時間短い前提だから、
メモリリークってさほど気にしなくて良い言語なのかも。
素直にjsでいい気がするけどね。今の時代。
yahooで勤務してる知り合いも今はjsでサーバサイドを書いてるってさ。
759デフォルトの名無しさん
2017/09/05(火) 14:51:11.75ID:x6NjkUnp
もともとCGIはリクエスト毎にプロセス作ってサービスしてた
なので、一つのリクエストが終了するとperlやphpのプロセスも終了するので、オブジェクトを解放(リファレンス外す)しないCGIが多くある

ところが、これじゃおせーよと言うことで、終了させないで無理やりに複数リクエストを処理させる仕組みをでっち上げた
これがPHP-FcgidとかuWSGI

リークしまくりのサービスが出来上がり

三菱とかやりそうだろ
760デフォルトの名無しさん
2017/09/05(火) 15:05:46.14ID:EAdtS/tk
だから一定数のリクエストを処理したらプロセス再起動する
三菱でも大丈夫
761デフォルトの名無しさん
2017/09/05(火) 15:06:06.76ID:y9gU3zED
メモリだけじゃなくて
CPUもファイルI/Oも簡単に食い潰せるからな
762デフォルトの名無しさん
2017/09/05(火) 16:00:05.67ID:JsNUX7wh
>>760
なるほどね。大雑把な作りだ。
大昔Dephiの案件をやった時に、PLが
ひとかたまりのEXEを画面ごとにバラバラのEXEにして
切り替えるたびに終了させる仕組みを作り出して、メモリリークを
極力抑える仕様にしてたの思い出した(データはDBにおいてる)
763デフォルトの名無しさん
2017/09/05(火) 17:07:49.21ID:x6NjkUnp
>>760
三菱は自動再起動なんて技術がないから、連絡受けて手動で再起動してた
764デフォルトの名無しさん
2017/09/06(水) 21:18:48.34ID:CWS2BygD
何故、三菱が引き合いに出されるのだ?
なんかやらかしたんかい。
765デフォルトの名無しさん
2017/09/06(水) 21:34:30.85ID:tZ2T0w/m
Librahackで検索
766デフォルトの名無しさん
2017/09/06(水) 22:59:23.06ID:CWS2BygD
三菱電機インフォメーションシステムズ (MDIS) 製のソフトウェアは、
1時間に400以上リクエストを送られると他のリクエストの処理が不可能になる不具合を含んでいた

これか?
9秒に1回以上で破たんするなんてどんな実装か興味津々
767デフォルトの名無しさん
2017/09/06(水) 23:25:37.77ID:tZ2T0w/m
これを読むとイメージがわかる
http://takagi-hiromitsu.jp/diary/20130316.html
http://el.jibun.atmarkit.co.jp/pressenter/2012/09/1-0f4e.html (事件をモデルにしたフィクション)
768デフォルトの名無しさん
2017/09/07(木) 03:05:39.43ID:x1ExMc+m
そもそもDOMとのメモリリークとかまともに対応してきたJS界のエンジンが優秀過ぎるだけで
他のサーバサイド言語で環境を跨いた循環参照とか上手く処理できるエンジンは無いし、他のGC技術や調整も何年も遅れてる
769デフォルトの名無しさん
2017/09/07(木) 06:19:08.39ID:+w9zPnXt
WebアプリでDBコネクションを10分間も保持するなんてどういう実装したらできるんだろ?
普通にやったんじゃできないよね。
770デフォルトの名無しさん
2017/09/07(木) 07:18:46.25ID:K4PeVUi8
応答しなければいい
771デフォルトの名無しさん
2017/09/07(木) 09:17:55.33ID:9vlATu9m
>>769
expressだって、グローバルスコープの変数にコネクション保持すれば、その参照切るまで残るぞ
772デフォルトの名無しさん
2017/09/07(木) 12:06:54.84ID:OJmUELTm
>>769
膨大な数のリクエスト処理するのになぜ閉じるのかが逆に理解できないんだけど
普通WebアプリやサービスのDBはつなぎっぱなしだとおもう
773デフォルトの名無しさん
2017/09/07(木) 12:43:46.04ID:rxsfMKHp
Webのセッションが終わってるのにコネクションをセッションのために10分間保持してたって事でしょ?
普通はコネクションは閉じないがWebのリクエスト毎に紐付けは開放でしょ。
774デフォルトの名無しさん
2017/09/07(木) 13:10:59.01ID:ZzrrO/3t
>>773
アプリサーバーとか作ったことある?
775デフォルトの名無しさん
2017/09/07(木) 14:19:14.16ID:oGYUX/gJ
>>773
その紐付けを解放しないのが三菱流
776デフォルトの名無しさん
2017/09/07(木) 19:20:21.66ID:+w9zPnXt
>>774
ないズラ
そんなヤツ僅少だろ
777デフォルトの名無しさん
2017/09/07(木) 19:23:08.30ID:+w9zPnXt
>>775
三菱に限らずSIerの技術力低下が半端ない
778デフォルトの名無しさん
2017/09/07(木) 22:32:27.03ID:9vlATu9m
自分達の底辺技術レベルが原因で、無実のエンジニアを罪人にして、ほっかむりしたのは三菱だけ
779デフォルトの名無しさん
2017/09/08(金) 00:15:56.20ID:7o1xz83o
ちなみにDBってopenとtransactionを分離している奴があるけど、これって何で?
例えばIndexedDBでもそうで、open後にtransactionを作ってアクセスしなければならない。
しかし普通に読み書きだけなら
DBWrite(DBname, objectStores, key, value)
みたいなAPIでクエリ毎にopen/close繰り返した方が使う側は楽だよね。

何らかの理由でopenが重いから分離しているのだろうけど、
普通に実装すればそんなに重いとも思えない。
(実際はopenは数秒かかる時もある程重いが)
これって何で?

ちなみに類似ケースはXHRで、通常は毎回XHRをnewするだろ。
indexedDB.openもそれに近くて、本来はオブジェクトを初期化するだけで終わるはず。
780デフォルトの名無しさん
2017/09/08(金) 00:27:44.82ID:vWsWUiiy
>>769
> WebアプリでDBコネクションを10分間も保持するなんてどういう実装したらできるんだろ?
> 普通にやったんじゃできないよね。

コネクションプールを使ったら普通にそうなりますが?
781デフォルトの名無しさん
2017/09/08(金) 00:28:57.91ID:vWsWUiiy
>>779
DBをopenしてselectしてcloseするなら
トランザクションいらないでしょ?
782デフォルトの名無しさん
2017/09/08(金) 00:31:58.67ID:vWsWUiiy
>>779
> 何らかの理由でopenが重いから分離しているのだろうけど、
> 普通に実装すればそんなに重いとも思えない。

ゆえにopenが重いから分離しているという
あなたの想像は間違いだって言うこと。

根拠のない想像を結論にしないようにしよう
検証の前にあるのは結論ではなく仮定という



トランザクションは複数の操作を一塊にするもので
openが軽いのとは関係ない話
783デフォルトの名無しさん
2017/09/08(金) 00:47:45.77ID:pIgMfxSJ
>>781
IndexedDBの場合はトランザクションは常に必要だ。
他の楽観的なトランザクション分離のDBについては知らん。

>>782
では何故openとtransactionを分離するんだ?
最初からtransaction単位でopen/closeするAPIにしておけばいいだけの話だろ。
そこを分離して手動でやらせる理由が分からん。
784デフォルトの名無しさん
2017/09/08(金) 00:55:56.99ID:vWsWUiiy
IndexedDB特有の話なら、IndexedDBの話だって書けよ

はい、トランザクションつかってませーん。ばいなら

http://qiita.com/butakoma/items/2c1c956b63fcf956a137#%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%82%B9%E3%83%88%E3%82%A2%E4%BD%9C%E6%88%90

オブジェクトストア作成
オブジェクトストアは、RDBでいうテーブル。

var storeName = 'sampleStore';

var openReq = indexedDB.open(dbName, dbVersion);
// オブジェクトストアの作成・削除はDBの更新時しかできないので、バージョンを指定して更新

openReq.onupgradeneeded = function(event){
var db = event.target.result;
db.createObjectStore('storeName', {keyPath : 'id'})
}
785デフォルトの名無しさん
2017/09/08(金) 00:57:25.86ID:vWsWUiiy
IndexedDB特有の話ならtransaction使わないと
readonlyなのかreadwriteなのか決められないからだろ
786デフォルトの名無しさん
2017/09/08(金) 01:14:01.64ID:mcCYyLIS
>>779
DBへの接続(open)とトランザクションは別のレイヤーだからだよ
1つの接続で2つのトランザクションを実行したい場合どうすんの?

transactionを明示的に指定しない場合に
デフォルト設定で例えばステートメント単位でトランザクションになるような仕組みがDBにあればtransaction指定は必須でなくなる
一般的なRDBはそうなってると思うけど
787デフォルトの名無しさん
2017/09/08(金) 01:20:17.29ID:pIgMfxSJ
>>784-785
つかお前根本的に分かってないだろ。

IndexedDBはonupgradeneededの時は最初からトランザクションを張っている。
これはMDNからはとてもそうは読めないのだが、とにかくそう。

そしてAPIが
> DBWrite(DBname, objectStores, key, value)
> DBWrite
とかでいいのではないか?というのが俺の疑問なのだが。


何故かは知らんがDBには「繋ぎっぱなし」の文化はあるんだよ。>>772
IndexedDBのAPIからもそれは読みとれる。
> Web アプリが別のタブで開かれているときにバージョンを変更する
> https://developer.mozilla.org/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB
毎回閉じる文化ならそもそもこれは要らない。

MDISはこの「繋ぎっぱなし」の文化でWeb側にも解放したらリソースが枯渇しただけだろ。
ただそもそもこの「繋ぎっぱなし」ってなんなのさ?
open/closeが軽いのなら毎回open/closeすればいいだけだし、
普通に実装すれば重いとも思えないし、ということなのだが。
(ただし実際にはIndexedDBでもopen/closeは重い)
788デフォルトの名無しさん
2017/09/08(金) 01:26:20.56ID:pIgMfxSJ
>>786
> transactionを明示的に指定しない場合に(以下略)
これについてはそれでいい。
APIコール1回=1つのtransactionになるって事で。

> 1つの接続で2つのトランザクションを実行したい場合どうすんの?
これってどういうケース?
その2つのトランザクションをくっつけて1つのトランザクションにしておけばいいだけの話では?
並列性を限界まで出したくて、例えばライト/リードでトランザクションを分けておきたいとかか?
789デフォルトの名無しさん
2017/09/08(金) 03:16:51.74ID:mcCYyLIS
>>788
1回の接続で複数トランザクションを実行したいケースってあんまりないのかな
例えば2つのトランザクションのうち後者が失敗しても前者をロールバックしたくない時とか考えてみたら?

トランザクションのたびに再接続するので良いケースもありうるけどそうじゃないケースもありうるよね
だから一般的にはトランザクション境界と接続の開閉を一つにしたAPIってのはいい設計じゃないと思う

>>787
繋ぎっぱなしの文化なんかなくて、ただの開放漏れのバグだよ
openしたらcloseするのが必須
790デフォルトの名無しさん
2017/09/08(金) 08:36:52.78ID:Q9xrmP/+
>>780
コネクションプーリングはコネクションを使いまわす仕組みだからDBには繋がったままだけどWebのセッションからはリクエストの度に切り離される。
とっくに終わってるセッションがコネクションを独占するようなアホな作りはどうやったらできるのかって事。
791デフォルトの名無しさん
2017/09/08(金) 08:40:11.92ID:Q9xrmP/+
>>787
繋っぱなしってコネクションプーリングのことでしょ。アプリから見ると毎回、open/closeしてるように見える。
792デフォルトの名無しさん
2017/09/08(金) 09:36:43.18ID:vWsWUiiy
>>790
コネクションを独占ってなんだ?
異なるセッションから、コネクションを使いまわすのがコネクションプーリングなんだが?
セッションが終わってるっていうのなら、コネクションは明け渡してるだろ
793デフォルトの名無しさん
2017/09/08(金) 09:38:38.44ID:vWsWUiiy
>>787
> IndexedDBはonupgradeneededの時は最初からトランザクションを張っている。

じゃあなおのこと、openでトランザクションは貼れないな。
だって、何の操作をするかで、トランザクションの種類が変わるわけで
openした時点ではわからないんだから
794デフォルトの名無しさん
2017/09/08(金) 09:40:18.14ID:vWsWUiiy
>>787
> そしてAPIが
> > DBWrite(DBname, objectStores, key, value)
> > DBWrite
> とかでいいのではないか?というのが俺の疑問なのだが。

トランザクションは複数のDBWriteを
一つにまとめるものなんだから
それじゃだめだろって言ってるんだが?

いいからトランザクションを勉強してくれ
お前、根本的に分かってない(笑)
795デフォルトの名無しさん
2017/09/08(金) 11:27:15.08ID:K/Y+ost0
>>792
>>766-767
796デフォルトの名無しさん
2017/09/08(金) 19:22:44.56ID:pIgMfxSJ
>>789
ただのバグでMDISが糞だというのは同意だが、APIは糞だぞ。

> 例えば2つのトランザクションのうち後者が失敗しても前者をロールバックしたくない時とか考えてみたら?
これなら2つトランザクションを打てばいいだけ。それで何の問題もない。

> トランザクションのたびに再接続するので良いケースもありうるけどそうじゃないケースもありうるよね
ねえよ。具体的に挙げられないだろ。

open/closeがAPIにある場合の利点は、連続した同一DBに対する2つのトランザクションで、
・open/transaction1/close/open/transaction2/close

・open/transaction1/transaction2/close
とでき、真ん中のclose/openを省ける分速度が稼げることだ。
しかしこの場合に、DB内部でキューイング機構を持ってこの余分なclose/openを自動的に省き、
・ユーザ側で手動open/closeした場合と、
・ユーザAPIはトランザクション単位で、DB内部で自動open/close
で、パフォーマンスが全く変わらない場合、前者を使う理由がないだろ。
(現実的にはユーザ側でコネクションプールを実装する必要であり、
これの代替としてDB内部でキューイング機構を持っていてもパフォーマンスは変わらないはず)

open/closeをユーザ側に見せている時、ユーザ側の解は以下で、
A. いちいちopen/closeして使う。
B. これがウザイから自前でラッパを用意し、
> アプリから見ると毎回、open/closeしてるように見える (>>791)
ようにする。
C. さらにこれもウザイから、何らかの既存ラッパ(PouchDBとか)を使う。
だろ。俺はまずAを試し、スループットが全く出ないのでBにしたが、車輪の再開発感ありまくりだった。
コネクションプーリングするのが常なら、最初から付けとけよボケ、でしかない。
(なおPouchDBもdb.open必須。多分これがDBのAPIの標準形だからだと思う)
797デフォルトの名無しさん
2017/09/08(金) 19:23:19.38ID:pIgMfxSJ
DBのAPIは意味不明で、そもそもオブジェクト指向にも反してる。
ユーザがやりたいのはread/writeであって、open/closeではない。
File.openの代わりにHDD.open+File.readというAPIにする奴がいたら、死ねでしかないだろ。

open/closeってもしかして今みたいなパケット相乗り回線ではなく、専用回線を掴んでいた時の名残か?
798デフォルトの名無しさん
2017/09/08(金) 19:24:30.23ID:pIgMfxSJ
>>790
MDISのケースは多分、図書館内端末用の界面にそのままWebを接続しただけだろ。
この場合、見た目は問題なく動く。
リソース枯渇のケースはコードから落とすしかないが、レビューが新規コードだけなら無理だ。
(この場合は新規コードはほぼ無しで、問題は今動作しているコード内にあるから)
おそらくMDISもB方式で、自前でコネクションプーリングしてる。
これは館内端末用で、端末に行列が出来ているかどうかは知る由もないから、closeはタイムアウトで10分とした。
ここまでは妥当な設計で、館内端末なんて高々数十台だし、問題なく動く。

問題はこれをそのままWeb側にも解放したことで、
この場合は一気に端末数が無限大になるのと等価で、コネクションが枯渇した。それだけだろ。
本来は、
D. Webからの入力を受ける「仮想端末」を用意し、Web入力は一旦全部そこで受けてからDBアクセス。
E. open/closeを毎回やるようにする。(Aと同じ)
のどちらかが必要で、本来はDの方がいいし多分そうしていると思う。
Dの場合はDDoS時にも館内端末は無傷で済む。
追加コードは仮想端末部分だけであり、既存コードには一切手を入れる必要がない。
Eの場合は全体のパフォーマンスが「いちいちopen/close」分だけ落ちる。
とはいえ真面目にDBを組んであればUIからでは見えないとも思う。
変更はopen/closeが内部APIで隠蔽されていれば数行、といったところか。
(そうなっていない場合は全体ソースを見直す必要があり、現実的ではない)
799デフォルトの名無しさん
2017/09/08(金) 23:49:21.12ID:mcCYyLIS
>>796
もうめんどくさいな君w
DBへの接続とトランザクション境界を一致させた画期的APIを作って流行らせればいいよ?
一つのユースケースたけに特化したものとしては別にあっても悪く無いと思うよ
ただなぜそういう設計のものが存在しないのか考えてからね
800デフォルトの名無しさん
2017/09/09(土) 01:02:01.91ID:al+wrNfN
>>797
> ユーザがやりたいのはread/writeであって、open/closeではない。

そのうち二回のwriteを実行して二回目のwriteで
エラーが起きた時に一回目のwriteもロールバックするために
トランザクションがあるんですよ?
801デフォルトの名無しさん
2017/09/09(土) 01:12:33.18ID:al+wrNfN
https://developer.mozilla.org/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB#Getting_data_from_the_database

データベースからデータを取得する

よーし、今から customers テーブルのデータを読み込むぞー!

var transaction = db.transaction(["customers"]);



おい、ちょっとまて俺はdbオープンした時に
自動的にトランザクション実行するぞ!
全てのテーブルに対してreadwriteロックじゃ
誰も読み込みも書き込みもできない
俺はcutomersテーブルなんか触らないけどなwww


こういう迷惑バカが居るから、openとトランザクションは別にするべき
802デフォルトの名無しさん
2017/09/09(土) 01:14:33.64ID:al+wrNfN
>>798
open/closeのパフォーマンスを気にしてるのはお前だけだ
忘れろな
803デフォルトの名無しさん
2017/09/09(土) 01:16:06.59ID:al+wrNfN
>>798
> 問題はこれをそのままWeb側にも解放したことで、
> この場合は一気に端末数が無限大になるのと等価で、コネクションが枯渇した。それだけだろ。

誰もコネクションが枯渇したなんて言ってない
804デフォルトの名無しさん
2017/09/09(土) 01:26:53.73ID:al+wrNfN
>>798
当たり前すぎることだが、MDISのシステムは
「1時間に400以上リクエストを送られると他のリクエストの処理が不可能になる不具合を含んでいた」
と言ってるだけで、

ウェブのクライアントが直接DBに接続したなんて誰も言ってない。
そもそもそんなことはできない

ブラウザからデータベースに接続することなんてできない。
IndexedDBはお前、それブラウザん中に実装されてるもんだ。そこを勘違してたわけかw
MDISのシステムはIndexedDBを用意してなんかいない。時代的に使ってすらいないだろう

本当に当たり前のことだが、
> D. Webからの入力を受ける「仮想端末」を用意し

仮想端末じゃなくて、普通はアプリケーション・サーバーっていうんだよ。
PHPだとウェブサーバーの場合もあるな。MDISも当然その仕組みだ

> E. open/closeを毎回やるようにする。(Aと同じ)

open/closeを毎回やっても、パフォーマンス向上のために内部的にデータベースに
接続しっぱなしにする機能がコネクションプールだ。正確言うと
前回のリクエストで使った(使い終わった)コネクションを使いまわす。


> 変更はopen/closeが内部APIで隠蔽されていれば数行、といったところか。
あははw ばーかwww アプリは毎回open/closeをしてるんだよ。
コネクションプールというミドルウェアがcloseした時になにもしないように置き換えてるんだよw
805デフォルトの名無しさん
2017/09/09(土) 01:27:51.16ID:al+wrNfN
コネクションプールを行うためのミドルウェアが
806デフォルトの名無しさん
2017/09/09(土) 08:27:34.35ID:HacXztT4
>>802
少なくともコネクションプーリングを考えたヤツはopen/closeのコストが大きいと考えてる。
数十ミリ秒と数ミリ秒の差が影響するシステムもある。
807デフォルトの名無しさん
2017/09/09(土) 11:05:16.16ID:2lDsKHBN
連想配列のキーに使用できる文字列の仕様ってどこに載ってますか?
808デフォルトの名無しさん
2017/09/09(土) 11:18:09.89ID:2lDsKHBN
連想配列にキーが存在するかチェックするのならinが速いな

const o = {
'a': 1,
'b': 2,
'あ b': 3,
};

const key = 'あ b';

const l = 100000;
console.time();
for (let i = 0; i < l; i += 1) {
key in o;
}
console.timeEnd();

console.time();
for (let i = 0; i < l; i += 1) {
o.hasOwnProperty(key);
}
console.timeEnd();

//undefined: 5.921ms
//undefined: 9.741ms
809デフォルトの名無しさん
2017/09/09(土) 11:31:15.85ID:LLd0E2c+
連想配列ならMapが最強
従来のオブジェクト形式が良いにしても
o = Object.create(null)でo[key]の方が早い
810デフォルトの名無しさん
2017/09/09(土) 11:46:17.16ID:36A1ffms
o[key] = 0
で破綻するやん
811デフォルトの名無しさん
2017/09/09(土) 11:50:30.88ID:al+wrNfN
>>806
だからなんだよ。

トランザクションの話をしてる時に
open/closeのコストを考えるなって話だろうが
812デフォルトの名無しさん
2017/09/09(土) 12:01:05.07ID:al+wrNfN
>>808
> 連想配列にキーが存在するかチェックするのならinが速いな
一回あたり
59.21ナノ秒(=0.00000005921秒)
97.41ナノ秒(=0.00000009741秒)

だと10万回〜100万回ぐらいチェックしない限り
速度を気にしたって意味なさそうだね。
813デフォルトの名無しさん
2017/09/09(土) 12:42:11.18ID:gq9mYezw
Object を連想配列にした場合、キーを、__proto__ にすると誤動作するから、
そのキーだけ、特別な処理が必要

他にも、使えないキーがあるかも
814デフォルトの名無しさん
2017/09/09(土) 12:46:58.91ID:al+wrNfN
>>813
どういう時に __proto__ をキーに使ったの?
815デフォルトの名無しさん
2017/09/09(土) 14:34:12.81ID:gq9mYezw
英文から、すべての単語を取り出して、出現回数でも調べたのかな?

どこかのサイトで、そういう質問を見た
816デフォルトの名無しさん
2017/09/09(土) 15:01:25.52ID:1mapG51j
つい最近>>746でオレが聞いた
817デフォルトの名無しさん
2017/09/09(土) 15:37:47.37ID:al+wrNfN
>>815
そういう場合は、適当なプリフィックスをつけるだけで解決するね

obj['@' + word] = なんとか
818デフォルトの名無しさん
2017/09/09(土) 16:00:58.16ID:3M7laixG
Object.create(null)で作ったオブジェクトには__proto__は無いし自由に値を設定できるこれ豆
819デフォルトの名無しさん
2017/09/09(土) 17:11:43.49ID:gq9mYezw
Object.create() は、ECMA 5.1, IE9 以上か

こういう機能が無かった、ES3 の頃の話かな
820デフォルトの名無しさん
2017/09/09(土) 19:32:09.22ID:JfRpRKzR
chromeのdevtoolsからconsole.dir({})やるとオブジェクトの中身が見れるけど
nodejsの場合はどうやって見るんでしょうか?
821デフォルトの名無しさん
2017/09/11(月) 09:40:29.07ID:vJ3AiMg+
○次受けが多いほど退場率が早くなる。高くなる

直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は90万払ってる) 客:短期延長していい?
5次受けの50万(客は150万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ 
長時間労働 高稼働 高スキル要求が多い

フリーランスサイトを運営している零細ITの自称エージェントは労働市場から流れてくる案件を転売してるだけだった。
労働市場に加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む

エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×3 = 言い値50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×1 悪質な言い値で50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - JIETに加入して公表価格で応募できる

eJobgo JIET JISA で検索

優良エージェント・優良サイト

首都圏IT(PE-BANK)  プログラマーズ
822デフォルトの名無しさん
2017/09/12(火) 14:01:13.14ID:yQ6PO1c5
https://github.com/rook2pawn/node-ddos
調べ物をしている最中にこんなの見付けたんだけど
Httpdがリクエスト受け取ってる時点でDDoS対策にならないんじゃないの?
823デフォルトの名無しさん
2017/09/12(火) 14:33:55.38ID:ziqXdae+
>>822
動作の軽いリバースプロキシ立ててそこで対応するほうがよさそう
824デフォルトの名無しさん
2017/09/12(火) 15:30:08.72ID:bSzAw540
node 8.0ってimpotr対応してないの?
825デフォルトの名無しさん
2017/09/12(火) 18:35:03.20ID:e3er3ToK
Chromeですら対応したというのに・・
826デフォルトの名無しさん
2017/09/12(火) 18:49:24.80ID:BAm9hYWq
node 8はこの秋LTSになるんだからアグレッシブに最新機能は入れないよ
node 9には入る
827デフォルトの名無しさん
2017/09/12(火) 21:29:56.96ID:LuYVlbWB
くそっ、typoかよ騙された
828デフォルトの名無しさん
2017/09/15(金) 21:47:46.74ID:v6+6iXpW
>>810
どういうこと?くわしく
829デフォルトの名無しさん
2017/09/15(金) 23:16:55.75ID:AmSlTqPm
const o = {
a: {name: 1},
b: {name: 2},
};

↑をObject.create(null)で作りたいんですけど

const z = Object.create(null);
z.a = Object.create(null);
z.a.name = 1;
z.b = Object.create(null);
z.b.name = 2;
console.log(z.a.name, z.b.name);

こう書くしかないんですかね?これだと読みづらくて1番目のようにデータが見やすく作る方法ってないですか?
830デフォルトの名無しさん
2017/09/15(金) 23:30:32.45ID:Xh3vGrxx
なんでObject.createしばりなの?
リテラル使っちゃだめな理由は?
831デフォルトの名無しさん
2017/09/15(金) 23:36:18.16ID:QyBaQfPQ
>>828
>>809を読め

>>830
>>746とか>>813を読め
832デフォルトの名無しさん
2017/09/15(金) 23:40:38.42ID:wJEpgv7W
リテラルじゃ継承されるからじゃね
833デフォルトの名無しさん
2017/09/16(土) 00:01:15.52ID:xdW9+GRk
>>829
Object.assign(Object.create(null), { a: {name: 1}, b: {name: 2}, }) ;

>>810
undefinedと比較
834デフォルトの名無しさん
2017/09/16(土) 00:09:23.95ID:YClTS+Ib
>>833
Object.assignはシャローコピーだから>>829と同じじゃない

undefinedとの比較は>>809とは違うしどっちみちundefinedを値として使うと破綻する
835デフォルトの名無しさん
2017/09/16(土) 00:18:50.51ID:gf/ZkNkm
>>831
え〜〜、Object.prototypeのプロパティに被る可能性があるからっていう理由で
>>829みたいな書き方になっちゃうの。。。用途によるんだろうけど何とも言えない気分
836デフォルトの名無しさん
2017/09/16(土) 00:36:48.84ID:NSNMTUH3
使うプロパティの種類が限られてるなら
気にする必要ないだろ
837デフォルトの名無しさん
2017/09/16(土) 08:30:48.03ID:7pQmikz8
>>829
jqueryから$を取り上げよう
838デフォルトの名無しさん
2017/09/16(土) 08:33:39.21ID:NSNMTUH3
>>837
また新しいライブラリを作ろうって話かよ。
lodashでできるんじゃね?
839デフォルトの名無しさん
2017/09/16(土) 09:45:53.23ID:7pQmikz8
簡単な関数だよ
$(name1, value1 ...)
>>829みたいな事をすれば良い
840デフォルトの名無しさん
2017/09/16(土) 09:57:17.44ID:NSNMTUH3
そうするとjQueryと勘違いされるから
違う関数名のほうが良さそうだね
841デフォルトの名無しさん
2017/09/16(土) 11:34:59.96ID:C+9D3UXm
にわかばっかだなここ

{
__proto__: null,
a:1
}

を使えば良いだけだろ……
その程度も知らないようじゃJSer失格
恥ずかしいよほんとに
842デフォルトの名無しさん
2017/09/16(土) 18:21:39.65ID:/o2/v2Gm
chromeのdevtoolsのコンソールでconsole.log.を補完すると色々でてくるんですが、
console.logの中にはnameってプロパティがあるんですがこういうのはObject.getOwnPropertyNamesで取れました
console.log(Object.getOwnPropertyNames(console.log));

console.logに含まれるhasOwnPropertyとか__proto__とか__defineGetter__なども関数とか
for (let v in console.log) {
console.log(v);
}
じゃとれませんでした
どうやって取るんでしょうか?
843デフォルトの名無しさん
2017/09/16(土) 18:46:19.62ID:GikFp8do
もはやnode.jsの話じゃないな
node.js使わずchromeでやってるんだからわざとやってるだろ
まずはjavascript prototypeでググれ
それで分からないことはどこかのjavascriptスレで聞け
844デフォルトの名無しさん
2017/09/16(土) 21:08:44.37ID:qXL21HWW
?????????????????
845デフォルトの名無しさん
2017/09/16(土) 21:17:16.00ID:fS24z2RM
バッドノウハウ多すぎ!!!!!!!!
846デフォルトの名無しさん
2017/09/17(日) 09:39:33.63ID:FQFctnSq
>>843
chromeのコンソールでconsole.logした方が解析しやすいじゃん バカなの?
847デフォルトの名無しさん
2017/09/17(日) 18:24:28.11ID:bBG8AL9E
>>842
getOwnPropertyNamesは名前の通りOwnなプロパティしか取れん
for-inは継承を遡るが、列挙不可にされてるプロパティは取れん
ビルトインプロパティは基本的に列挙不可されているので
結局for-inでも殆どOwnなプロパティしか取れん
それを取るには、__proto__を繋げていって一つ一つにgetOwnすること
848デフォルトの名無しさん
2017/10/16(月) 07:08:15.82ID:x77nDEIG
https://nodejs.org/en/
の、8.7.0 Current をインストールしました。
で、
node.jsを立ち上げ、
.helpは通るのですが、
$ node
や、
$ node -v
は、
SyntaxError: Unexpected identifier
になってしまいます。
どうすればいいでしょうか?
849デフォルトの名無しさん
2017/10/16(月) 07:58:53.13ID:BYvG9erR
コマンドプロンプト・PowerShell で、
node -v
とコマンドを打つと、そのコマンドの実行ファイルを、OS が探す必要がある

つまり、その実行ファイルの場所を、環境変数PATH などで、OSに教える必要がある

環境変数PATHに指定していなくても、
絶対・相対パスで指定すれば、実行できるはず

Windowsのパス(PATH)の読込順 と起動される順番
http://takuya-1st.hatenablog.jp/entry/20110116/1295188903
850デフォルトの名無しさん
2017/10/16(月) 08:26:32.58ID:x77nDEIG
>>849
レスありがとうございます。
では、どうやればいいのでしょうか?
node.exeは↓にあります。
"C:\Program Files\nodejs\node.exe"
851デフォルトの名無しさん
2017/10/16(月) 08:44:36.72ID:H4ZQF/LB
これはひどい
852848
2017/10/16(月) 09:14:18.01ID:x77nDEIG
>>851
インストールした、
node.jsのコマンドプロンプトみたいな所に、
..helpを打てば、
↓を返してくれる。

.break Sometimes you get stuck, this gets you out
.clear Alias for .break
.editor Enter editor mode
.exit Exit the repl
.help Print this help message
.load Load JS from a file into the REPL session
.save Save all evaluated commands in this REPL session to a file

しかし、
$ node -vを打っても、
エラーになってまう。
これは不思議なことだと思わないかね?
853デフォルトの名無しさん
2017/10/16(月) 11:09:57.97ID:FZpcfz8T
思わんよ
お前だからな
854デフォルトの名無しさん
2017/10/16(月) 15:17:21.46ID:kN1YFDVK
なんでそんなレベルでnode.jsインストールしようと思ったんだろ
855848
2017/10/16(月) 19:08:59.31ID:x77nDEIG
>>854
https://www.webprofessional.jp/beginners-guide-node-package-manager/
このページの黒い部分でいうと、
> console.log('Node is running');

> .help
これは、
実行出来るのです。

この状態でバージョン確認をするにはどうすればいいのでしょうか?
856デフォルトの名無しさん
2017/10/16(月) 19:46:31.00ID:MK8giXG1
>>850
C:\Program Files\nodejs\node.exe
857デフォルトの名無しさん
2017/10/16(月) 20:38:10.52ID:VwEzpL/B
>>855
> process.version
858848
2017/10/16(月) 20:56:45.49ID:x77nDEIG
>>857
お、ありがとうございます。 通りました。
じゃ、私の環境で↓のコマンドが使えるようにするにはどうすればいいのでしょうか?ちなみに、バージョンは、v8.7.0でした。
$ which node
$ node --version
859デフォルトの名無しさん
2017/10/16(月) 21:14:41.96ID:VwEzpL/B
>>858
849が書いてくれてるようにPATHが通ってないんだろうからPATHを通す
パスの通し方とかでググって
コマンドプロンプト使う時の基本だから
860デフォルトの名無しさん
2017/10/16(月) 21:32:19.39ID:dl4DNYXd
windowsとlinuxの違い、コマンドプロンプトとnode起動後のコンソールの違いが理解できてないっぽいな
$は入力するものじゃないしwitchコマンドはwindowsにはない
861デフォルトの名無しさん
2017/10/16(月) 23:57:03.44ID:BYvG9erR
例えば、コマンドプロンプトで、
where notepad
と打てば、メモ帳の実行ファイルの場所が、表示される

where node
と打てば?
862848
2017/10/17(火) 01:14:58.50ID:ISfP7NF8
皆さん、レスありがとうございます。感謝します。

ちなみに、
コマンドプロンプトで、
C:\Windows\system32>where notepad
と打つと、
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
と表示されます。

さらに、
C:\Windows\system32>where node
と打つと、
C:\Program Files\nodejs\node.exe
と表示されます。

さらに、
https://qiita.com/taiponrock/items/9001ae194571feb63a5e
ここを参考にして、コマンドプロンプトに、
C:\Windows\system32>node --version
と、打つと
v8.7.0
と表示されます。
ってことは、「nodejsのパスは通ってる」ってことはないですか?

さらに、コマンドプロンプトで、
C:\Windows\system32>npm --version
と、打つと、コマンドプロンプトがどこかに行って戻って来ません。
863デフォルトの名無しさん
2017/10/17(火) 02:57:58.14ID:HKb0WdLR
npm の仕組みについても、検索して調べて!
思い付きで、色んなコマンドを打っても、動かない

C:\Windows\system32>node --version

C:\Windows\system32>
そもそも、ここは、Windows のシステム領域だろ。
こんな場所へは行かないし、ここからコマンドを打つことは、絶対にない

自分のホームディレクトリ以下に、プロジェクトフォルダを作って、
そこからコマンドを実行する

プロジェクトフォルダ>node --version

これで、コマンドが探せないのなら、
>>849
のサイトを見て、勉強する

OS の仕組みについて、何年も勉強していなければ、
環境構築・システム運用はできない
864848
2017/10/17(火) 03:06:35.78ID:ISfP7NF8
つか、わかった。
スタートメニューに色々出来るけど、
nodejs
と、
Node.js command prompt
があって、
Node.js command prompt
を立ち上げるべきを、
nodejs
を立ち上げてたのだと思う。
865848
2017/10/17(火) 03:18:05.69ID:ISfP7NF8
http://gihyo.jp/dev/serial/01/nodejs/0001
つかこれの、真ん中ぐらいの、
>を実行すると,コンソールに「foo」と出るのが確認できます。
これが確認出来ました。
ありがとうございました。
866848
2017/10/17(火) 03:22:08.69ID:ISfP7NF8
しかし、nodejsも、Node.js command prompt も、
どっちもコマンドプロンプトみたいなもんだけど、ドコが違うんですかね?
867デフォルトの名無しさん
2017/10/17(火) 10:55:35.86ID:tiaX2vSA
それを調べて糧にするのがお前の役目だろ
868848
2017/10/17(火) 11:29:12.47ID:ISfP7NF8
node.jsを使ってjQueryチックにWebサイトをクローリングする方法
https://liginc.co.jp/programmer/archives/4848
これが半分ぐらい出来たんですけど、
これをちゃんとやるには自分のpcにmysqlがインストールされてないとダメなんですかね?
869848
2017/10/17(火) 11:30:33.39ID:ISfP7NF8
私的には.csvのデータで十分なんだけど。
870デフォルトの名無しさん
2017/10/17(火) 15:55:26.78ID:G9wCIPXR
プログラミングの学習が目的ではないみたいだし
潔く諦めてGUIのスクレイピングツールを使え

自分で学ぼうとしないやつを
いつまでも相手にするほどみんなヒマじゃないから
871デフォルトの名無しさん
2017/10/17(火) 19:05:26.58ID:OFQ0CJNG
>>868
SQLiteおぬぬめ
872デフォルトの名無しさん
2017/10/17(火) 22:43:19.58ID:HKb0WdLR
MongoDB, Redis など、NoSQL系DB で良い
873デフォルトの名無しさん
2017/10/18(水) 11:32:51.58ID:RFRRa2Hk
KVS最強
874デフォルトの名無しさん
2017/10/23(月) 09:02:07.81ID:2VeGFVWI
windows10をFCUしたら
node-notifierと言うライブラリが機能しなくなってしまいました。
呼び出すとエラーも出さずに消えてしまいます。
どこを確認すべきでしょうか?
875デフォルトの名無しさん
2017/10/23(月) 12:01:05.02ID:bv0ZvSeb
クリーンなPCで検証
876デフォルトの名無しさん
2017/10/25(水) 17:27:32.02ID:wXo7lKEI
コレってnode.jsでGoogle Assistantを呼び出せるの?

https://github.com/actions-on-google/actions-on-google-nodejs
877デフォルトの名無しさん
2017/11/02(木) 09:20:24.78ID:qskrUnxL
>>876
書いてあるだろ
878デフォルトの名無しさん
2017/11/02(木) 18:07:41.82ID:bLT6lfrr
expressってproductで使われてんの?
879デフォルトの名無しさん
2017/11/02(木) 18:13:56.96ID:RicVp4Qn
ツイッターもインスタグラムも使ってるよ
880デフォルトの名無しさん
2017/11/02(木) 19:46:41.59ID:cCQG4q+b
koa使おうぜ
881デフォルトの名無しさん
2017/11/03(金) 09:20:41.79ID:tbSBcvrg
複数人体勢のexpressのほうが安心
koaは作者一人だから不安だから使わない
882デフォルトの名無しさん
2017/11/06(月) 21:16:07.71ID:tccVqtCS
koaってexpressのミドルウェアそのまま使える。async await大好きマンに取ってはたまらない1品
883デフォルトの名無しさん
2017/12/01(金) 17:33:36.24ID:Tsnnxn0j
koa2+reactjsのdynamicで快適。 ejsやjadeを使わず、javascriptのみですっきり。
いいで〜 koa2+react。
884デフォルトの名無しさん
2017/12/01(金) 20:58:49.48ID:dEoQxhVh
>>883
うむ
885デフォルトの名無しさん
2017/12/02(土) 05:34:12.07ID:IJ6GXagf
サーバサイドでreactってどういう意味?
886デフォルトの名無しさん
2017/12/02(土) 08:11:38.76ID:zj58uySz
ssrじゃね?
887デフォルトの名無しさん
2017/12/02(土) 12:17:05.09ID:JzqKudWn
ssrっていらなくね?
888デフォルトの名無しさん
2017/12/02(土) 13:37:03.76ID:iXlrNF2g
ツイッターもインスタもNetflixもやってるぞ
889デフォルトの名無しさん
2017/12/04(月) 01:47:10.73ID:sdiyRgle
メテオとかいうFWって死んじゃったんですか?
890デフォルトの名無しさん
2017/12/04(月) 20:47:28.49ID:EJPuWg3p
全体的に名前空間で仕切られてないこのグダグタnodeライブラリ。
10年後も、その時の最新のnodeで使えるんなほんまに。
891デフォルトの名無しさん
2017/12/06(水) 19:36:04.95ID:GgcfIolq
ん? SSRに何か問題でも?
892デフォルトの名無しさん
2017/12/06(水) 20:20:27.85ID:MyyqK5wy
鯖側の負荷が増える
893デフォルトの名無しさん
2017/12/12(火) 22:19:31.72ID:gHkSE4eN
node.js難しいっていうイメージだったけど、
JavaScriptがウンコだったってことみたい

なんでこんなに散らかってしまったんだ
せめて書き方を統一しろよ
894デフォルトの名無しさん
2017/12/12(火) 23:49:28.08ID:gqOvSsDA
>>893
ESLint使えば?
895デフォルトの名無しさん
2017/12/12(火) 23:57:54.77ID:8VRWkTHd
なんでって20年以上も歴史のある言語で産まれたときとは用途も規模も全然違ってるからな
896デフォルトの名無しさん
2017/12/13(水) 00:01:47.40ID:pDkqMCU5
JavaScriptは言語仕様が使いにくいとは思う
小規模なら使いやすいかというと全然そんなことない
897デフォルトの名無しさん
2017/12/13(水) 23:32:59.98ID:dQY+CYRc
言語仕様に難しいところはない。
難しいと思う所言ってみな?
898デフォルトの名無しさん
2017/12/14(木) 01:12:30.76ID:JyoUxFOL
プロトタイプベースなところ
使いやすいと思ったことがない
899デフォルトの名無しさん
2017/12/14(木) 01:32:58.14ID:LEbaYuuB
プロトタイプなんて使うことないだろ?
900デフォルトの名無しさん
2017/12/14(木) 05:58:01.99ID:fEY/FzHm
>>893
うむ
901デフォルトの名無しさん
2017/12/14(木) 05:59:02.65ID:fEY/FzHm
>>896-897
仕様が難しいというのと馬鹿の扱いが難しいのは別の話だな
902デフォルトの名無しさん
2017/12/14(木) 10:39:14.62ID:y5gxd1px
ES2015に従えばプロトタイプってことを意識することはないかな。
既存のクラスにメソッド追加したいときとかなら意識するけども。
903デフォルトの名無しさん
2017/12/14(木) 20:55:43.66ID:LEbaYuuB
>>902
prototypeを使って簡単なことをするのと
prototypeを使って複雑なことをするのでは
当たり前だけど難易度が違うのさ

既存のクラスにメソッドを追加するのは、
prototypeの簡単な使い方に含まれる
意味はわからなくてもいいから、こういう書き方をすればOK
程度の説明だけでもクラスにメソッドを追加することはできる
904デフォルトの名無しさん
2017/12/15(金) 02:24:03.53ID:OK9q/vji
クラスだけじゃなく手続き型っぽくも書いたり
はたまた関数型っぽくも書いたりするとこがどう書いていいか分からなくて難しいってことなんじゃない?

凄く冗長に厳かに書いたかと思えばハッキ―なテクニックも使ったりもするしね
世の中には「良い書き方は1つ」を目指してる言語もあるけどJSはその対極だからね
標準ライブラリが少ないという点もそう

俺はそういう点こそが好きだけどね
905デフォルトの名無しさん
2017/12/15(金) 07:18:04.72ID:18KhAamS
OOPが常に最適解ではないというのは衆知の事実だしな。
俺は基本関数型風で書くのが好みで、データ型にtsのinterfaceが使えれば充分だ。
906デフォルトの名無しさん
2017/12/15(金) 11:04:58.73ID:vwC80Nto
node-redを使ってるんですが
フローって作成するとメモリに常駐するんですか?
作れば作るほど実行してなくても他のフロー処理速度は遅くなっていきますかね?
907デフォルトの名無しさん
2017/12/15(金) 17:13:59.28ID:WQPs5rl9
パイプ演算子追加されれば関数型っぽく書くのが楽になるんだけどね
現状じゃ括弧のネスト増えるからとてもじゃないけど書けない
908デフォルトの名無しさん
2017/12/15(金) 17:30:06.75ID:nGMqwgOn
関数の合成も完結に書きたいしimmutableなデータ構造もネイティブにサポートして欲しいし
そしたらパターンマッチも不可欠だし
関数型への道は険しい
Elm使え
909デフォルトの名無しさん
2017/12/15(金) 21:51:56.77ID:OK9q/vji
ES提案中のパイプライン演算子は当分奇抜な草案扱いだったが
|>await|>など提案によりStage1の中ではHotになりつつある
あとは?を絡めた関数定義を詰めるのと、Mixin周りの提案が勝負
そこをもう少しでも詰めればStage2まではいけるが、Stage3にはawaitの様なパンチが必要
頑張れ
910デフォルトの名無しさん
2017/12/15(金) 22:47:15.05ID:L7gVN0RS
>>907
パイプだろうがドットだろうが大差ないだろw
どうせ一行が長くなったら改行するんだから


つまり

foooooooooo()
| baraaaaaaaaaaaa()
| bazzzzzzzzzzzzzzz()

でも

foooooooooo()
.baraaaaaaaaaaaa()
.bazzzzzzzzzzzzzzz()

でも同じだろと

foo() | bar() | baz() でも
foo().bar().baz() でも同じだろと
911デフォルトの名無しさん
2017/12/15(金) 23:37:27.58ID:WQPs5rl9
>>910
いや、メソッドじゃなくて関数
bazzzzzzzzzzzzzzz(baraaaaaaaaaaaa(foooooooooo()))

foooooooooo()
|> baraaaaaaaaaaaa()
|> bazzzzzzzzzzzzzzz()
じゃ後者がいいやん?

メソッドはクラスインスタンスに対してしか使えないけど、クラスインスタンスだとprototypeの関係でObject.assignなどが使えなくて不変プログラミングがやりにくいからね
912デフォルトの名無しさん
2017/12/15(金) 23:54:55.14ID:SRfxT1c6
>>910
>>911
パイプの方が可読性高いだけでもいいわ
メソッドチェーンは読みにくくなるから嫌い
913デフォルトの名無しさん
2017/12/16(土) 00:14:10.39ID:plaGBrRo
https://www.npmjs.com/package/babel-plugin-pipe-operator

babel-plugin-pipe-operator
Overload the pipe operator (|) to provide Elixir/F#/Shell-like behavior

これ使えば今すぐ使えるのかな?
914デフォルトの名無しさん
2017/12/16(土) 00:18:33.91ID:ArLhqftT
A | B | C

たぶん、パイプだと並行処理する

1. Aが最初の1KBを処理する
2. 1の出力を、Bが処理する。同時に、Aは次の1KBを処理
3. 2の出力を、Cが処理する。同時に、A, Bは次の1KBを処理
915デフォルトの名無しさん
2017/12/22(金) 09:15:33.73ID:8f8y8qIA
これの第2引数って{anyway:true}みたいなのを渡せばいいんですか?
【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net	YouTube動画>1本 ->画像>2枚
916デフォルトの名無しさん
2017/12/22(金) 09:37:16.18ID:8f8y8qIA
合ってました自己解決しまひた
917デフォルトの名無しさん
2017/12/22(金) 21:07:59.68ID:dt9jytk4
socket.io 2.0.4で指定したルーム内の全てのソケットもしくは
ソケットIDを取るにはどうしたらいいですか?
socket.io 0.9.6ではio.sockets.clients(ルーム名)で取れていたのですが、
同じようなことを2.0.4でしたいです。
918デフォルトの名無しさん
2017/12/22(金) 23:11:18.78ID:dt9jytk4
自己解決しました。
socket.ioのgithubに行ったら詳しいドキュメントがありました。
919デフォルトの名無しさん
2017/12/27(水) 08:03:34.44ID:hw44w6Qj
JavaScriptエンジン向けのポータブルなCommonJS実装ってどこかにないかな。
ピュアJSのモジュールシステムというとRequireJSがあるけど、あっちはいわゆるAMDだよね。
CommonJS使いたいとなるとやっぱりBrowserifyやWebpackとかしかないのかな。
920デフォルトの名無しさん
2017/12/27(水) 14:23:29.84ID:LFgX9gcs
一年くらい前にブラウザのSW上に実装した記事をどっかで見たな
921デフォルトの名無しさん
2017/12/29(金) 09:12:07.30ID:LK61JUUB
console.logを自前で実装しているんだけど、%cの扱いをどうしようか迷っている。
一応解釈だけして引数を無視するのと%c自体無視するのとどっちがいいかな。
Node.jsは後者みたいだけど。
922デフォルトの名無しさん
2017/12/29(金) 12:21:26.51ID:LK61JUUB
あぁそうか、Node.jsを前提しているコードで%cを使うことはまずないだろうから
とりあえず前者にしておけばいいんだな。
923デフォルトの名無しさん
2017/12/31(日) 21:37:45.29ID:9jWP4uLU
クライアントサイドjavascriptのスレってどこにあるんですか?
WebProg板にあるのかと思いきやあっちもサーバサイドだし
924デフォルトの名無しさん
2017/12/31(日) 22:08:43.06ID:beY0Iyii
これ
http://mevius.2ch.net/test/read.cgi/tech/1417749547/
925デフォルトの名無しさん
2017/12/31(日) 23:43:06.40ID:B2mtcXzM
web制作板
926デフォルトの名無しさん
2018/01/01(月) 08:44:35.42ID:oE47bkuE
ありがとん
3つめもあるとは想定外でした
927デフォルトの名無しさん
2018/01/07(日) 11:33:35.99ID:pcvnpBsv
child_process.spawnSync()はプロセスの終了を待ち合わせるけど、workerにはそういう
スレッドのjoin()のように待ち合わせる機能はないのかな。
928デフォルトの名無しさん
2018/01/10(水) 11:06:47.57ID:AcbVN6ZK
workerってWebWorkerのこと?
それならSharedArrayBufferとAtomics APIでできるよ
ただCPU脆弱性問題で今は無効にされてる
929デフォルトの名無しさん
2018/01/10(水) 22:10:28.26ID:oFasEgAN
サーバーサイドでそれ無効にする必要ある?
Webブラウザは様々なサイトのコードを実行するから
対策が必要だろうが
サーバーにハッカーのコードを仕込まれたらその時点でもう終わってるじゃん
930デフォルトの名無しさん
2018/01/10(水) 22:13:57.25ID:NAqv0WmW
>>929
いつの間にサーバーOS=シングルユーザーOSになったんだよw
OSっていうのは複数の人が自分の権限で自分のコードを実行するもんだろ
931デフォルトの名無しさん
2018/01/10(水) 22:57:46.99ID:PVJi42Un
自鯖レン鯖ならともかくコンテナやVPSでメモリ共有する環境もあるしな
932デフォルトの名無しさん
2018/01/10(水) 23:40:19.20ID:ejeCAGvR
他のプロセスのメモリー内容まで簡単に読みに行けちゃうのはメルトダウンだけだよね?
933デフォルトの名無しさん
2018/01/11(木) 00:49:54.75ID:PrVjW9Sz
http://blog.trendmicro.co.jp/archives/16735 読んだだけの
大雑把な理解だが、

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

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

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

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

もう少し詳しく
942デフォルトの名無しさん
2018/01/24(水) 19:42:51.25ID:BUPTScBe
スマホでアクセスポイントが変わったりした場合、一回切れますよね?
943デフォルトの名無しさん
2018/01/25(木) 11:23:58.90ID:zPND7U3x
同じ切れると言っても切れてる時間の長さとか再接続でIPも変わるときと変わらない時でも違うんじゃね
944デフォルトの名無しさん
2018/01/25(木) 11:26:00.59ID:zPND7U3x
TCPかUDPかとかでも違うんだろうけど
socket.ioがどっちかは忘れた
945デフォルトの名無しさん
2018/01/25(木) 19:29:10.53ID:Jk7QmDIY
socket.ioってクッキーみたいので、セッションID維持してて
切れても安心みたいな感じじゃないんですか?
946デフォルトの名無しさん
2018/01/26(金) 05:42:52.58ID:XyEr3Esl
やってみろ
947デフォルトの名無しさん
2018/02/01(木) 14:15:55.68ID:zVItOEuq
node.jsって人気ないな〜
解説ブログは古いし、間違ってるし、
こんなんで作ったらバグだらけやん
948デフォルトの名無しさん
2018/02/01(木) 14:21:50.49ID:XMp5TkVS
はげそれ
ブームは去った
949デフォルトの名無しさん
2018/02/01(木) 19:35:39.75ID:3VWe7l68
>>947
今は何が流行ってんの?
950デフォルトの名無しさん
2018/02/01(木) 20:52:06.68ID:6/askoF7
unity
951デフォルトの名無しさん
2018/02/01(木) 21:34:46.61ID:lSl6eIsr
golangに持って行かれたね
952デフォルトの名無しさん
2018/02/02(金) 07:24:52.85ID:E+B1ekpI
結局、どう使うべきかわからないというのが問題なんじゃないかな
拡張機能があるけど、個々の機能はわかるけど、うまくピースがはまらないイメージ
953デフォルトの名無しさん
2018/02/02(金) 07:41:34.72ID:sggyuymU
juliaもそうだった
954デフォルトの名無しさん
2018/02/02(金) 19:30:20.18ID:E+B1ekpI
プログラムの設計思想がぴんとこない
非同期で時間のかかることやらせるならsocket.ioは必須なの?
切断したときにどう復旧させるの?
自分は何者で何をしてたかの情報をうまく組み合わせる必要ない?
955デフォルトの名無しさん
2018/02/02(金) 22:13:57.33ID:ISpZH99S
どう使うべきかじゃなくて
自分が作りたいものを作る時に何を使うかだろ
956デフォルトの名無しさん
2018/02/03(土) 07:40:05.67ID:dVw1phCl
そこが想像できない、よくわからないから抜け出せないので、使う候補に上がってこない
957デフォルトの名無しさん
2018/02/03(土) 09:00:51.63ID:C+glEnt3
世界的な事例のほとんどは

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

その前段のbffにnode.js

これだからモノリシックなシステムには無縁
958デフォルトの名無しさん
2018/02/03(土) 09:43:35.86ID:qWVkS+Es
それだとgolangに負けるな
959デフォルトの名無しさん
2018/02/03(土) 09:48:29.04ID:q+B7XjZz
bffでnode.js使うところはssrもやってるからgoは選ばれないんじゃね
結局そういうアーキテクチャの要請があってプロダクトが選ばれる
960デフォルトの名無しさん
2018/02/03(土) 10:20:29.26ID:k4L1joBU
bffとssrって関係あるかねぇ?
961デフォルトの名無しさん
2018/02/03(土) 10:30:11.33ID:lOPjGEYQ
isomorphic javascriptでググれ
962デフォルトの名無しさん
2018/02/04(日) 10:07:02.98ID:iEv00Bkz
SNSのバックエンドをExpressオンリーにするのって無理かな
963デフォルトの名無しさん
2018/02/04(日) 14:58:55.91ID:WVo2r3Ik
>>962
phpでもrubyでもいけるのにexpressじゃ無理かもしれないと思った理由は?
964デフォルトの名無しさん
2018/02/04(日) 15:27:37.16ID:B22IaXtA
一つのexpressにHTTPdからAPI鯖まで全部詰め込んでもいいんだぞ
965デフォルトの名無しさん
2018/02/04(日) 21:03:28.89ID:iEv00Bkz
>>963
あまりそういう話を聞かないから
不都合全く無いの?
966デフォルトの名無しさん
2018/02/04(日) 21:25:10.40ID:UUFlqCAw
expressはあんまり高水準のフレームワークじゃないしormはsequelizeくらいしかないしメリットなさげじゃね
967デフォルトの名無しさん
2018/02/05(月) 07:30:15.23ID:GXsl78kw
node.jsでウェブサーバやる利点って何?超使いづらいんですけど
968デフォルトの名無しさん
2018/02/05(月) 12:00:21.59ID:ozQGTy2c
使う側は意識することないだろ
969デフォルトの名無しさん
2018/02/06(火) 06:03:09.31ID:xat7U2Z1
meteor.jsとか見てるとjsのメリットすごいけどね
970デフォルトの名無しさん
2018/02/06(火) 06:07:24.84ID:BAsI0MB0
ssrでしょ
うん……
971デフォルトの名無しさん
2018/02/07(水) 09:30:35.59ID:5vmiY3qq
>>967
一人しか利用しないなら使わなくていいんじゃないの。
972デフォルトの名無しさん
2018/02/07(水) 18:55:54.33ID:GPioIT5w
素朴な疑問だけど
ここのみんなは node.js でどんなサービス作ってるの?
973デフォルトの名無しさん
2018/02/07(水) 19:02:22.99ID:ob9DrvK1
特定業種にiPadごと配るアプライアンス的なサービスのBff
なので事例には出しにくいけどバッチリ使ってる
974デフォルトの名無しさん
2018/02/07(水) 19:11:11.32ID:GPioIT5w
>>973
そのiPadに入ったアプリが通信する先のサービスってこと?
あとBffって何ですか?
無知ですまん
975デフォルトの名無しさん
2018/02/07(水) 19:19:56.30ID:IITgqAFh
Backends for Frontends
https://samnewman.io/patterns/architectural/bff/
976デフォルトの名無しさん
2018/02/07(水) 20:36:41.69ID:GPioIT5w
ありがとう、翻訳して読んだりしました
難しい
gateway とか dispacher的なもの?
nodeとnginxの関係を見た時nginxがbffの位置づけ?
見当違いならほっといてください
977デフォルトの名無しさん
2018/02/11(日) 15:29:51.01ID:6yH3qsLl
socketを使う必要がってnode+expressがやりやすそうと考えて
独学でnode.js始めて(独学)1年くらいです

sessionにredis使ってまして
通常のhttpとsocketでの共有が面倒なのですが
皆さん、どんな方法使ってます?
978デフォルトの名無しさん
2018/02/11(日) 15:43:11.62ID:xSFjw/ao
socketってwebsocketのこと?
node.jsではnetモジュールが提供するtcp用のapiが本来のsocketだから変な略し方すると話が通じないよ
websocketならhttpで始まるからセッションは普通に共有できるはず
websocketを使うのにsocket.ioを使ってるならそれも書いた方がいい
最近はsocket.io使ってる人が少なそうだからレスが付くかはわからんけど
979デフォルトの名無しさん
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使われなくってるのは何故?
980デフォルトの名無しさん
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便利そうだけどね
981デフォルトの名無しさん
2018/02/11(日) 16:40:57.21ID:6yH3qsLl
>>980
express-socket.io-session 良さそ気

wsっかぁ、
自分を慰める理由が欲しいんだけど
room機能実装するならwsじゃなくてsocket.ioが楽?
982デフォルトの名無しさん
2018/02/11(日) 16:46:20.51ID:XUA6USjD
roomとか必要ならsocket.ioでいいんじゃない
よく聞くのはそれと再接続目当てな希ガス
983デフォルトの名無しさん
2018/02/11(日) 16:47:48.35ID:A30L58fq
お題が単に「room機能をとにかく楽に実装したい」ならgun.jsとかのほうが楽やで
984デフォルトの名無しさん
2018/02/11(日) 16:49:45.40ID:6yH3qsLl
thankYou!!!
生きてく元気ちょっと出た
985デフォルトの名無しさん
2018/02/11(日) 18:35:48.00ID:aqz0aJT4
未だにpython2に依存してるのが残念すぎる
986デフォルトの名無しさん
2018/02/11(日) 18:40:40.49ID:qCYdb3sP
残念おっぱいそん2
987デフォルトの名無しさん
2018/02/11(日) 18:57:55.27ID:A30L58fq
>>985
なーにそれ?くわしく
988デフォルトの名無しさん
2018/02/11(日) 19:18:40.58ID:WzEjvwQn
リアルタイムwebをいじりたいならmeteor.jsに乗っかるのも一つの手
989デフォルトの名無しさん
2018/02/11(日) 19:27:38.72ID:soB6fX+V
ビルドで使ってるgypがpython3に対応してないって話じゃね
開発元のgoogleでは対応済みなん?
まだならnode側じゃどうしょうもない
990デフォルトの名無しさん
2018/02/11(日) 19:53:03.30ID:A30L58fq
issue検索してみたけどgypへの依存なくせやって話もしつこく何回も立ってたんだね
991デフォルトの名無しさん
2018/02/11(日) 19:58:05.07ID:8+fCt4+r
v8のビルドがgypならそれも無理がありそうだがなんか代替案出てるんけ?
992デフォルトの名無しさん
2018/02/13(火) 19:06:40.59ID:X+YiM6Et
今日ジュンク堂行ったらnode.jsの本2つしかなかった。
しかも入門書、やっぱりnode.jsオワコン?
他にwebsocketできるものなんてあるの?
993デフォルトの名無しさん
2018/02/13(火) 19:09:35.96ID:flHxC5Ds
>>992
javaでもc#でも
994デフォルトの名無しさん
2018/02/13(火) 19:14:04.34ID:kAM/OKSF
node.jsは全然オワコンじゃない
es2015,6,7,8と毎年進化していく予定なんだから
むしろこれから盛り上がるってなもんで
995デフォルトの名無しさん
2018/02/13(火) 19:20:12.25ID:X+YiM6Et
同じことやるにしてもjava勉強したほうがいいのかな
C#はやらないけど
996デフォルトの名無しさん
2018/02/13(火) 19:21:38.52ID:esah1bhU
node.jsもjavascriptも毎年大きなバージョンアップが確定だから書籍は出しにくいよなぁ
997デフォルトの名無しさん
2018/02/13(火) 19:22:12.35ID:s321QVV0
>>995
javaやるくらいならc#にしとけ
998デフォルトの名無しさん
2018/02/13(火) 19:24:14.62ID:X+YiM6Et
windowsは使わないのでC#はいらない
dockerをそろそろ勉強しないといけないので、dockerといっしょにjavaでwebsocketもやるかな
999デフォルトの名無しさん
2018/02/13(火) 19:26:02.48ID:WkRgLvef
javaは死につつあるからgoの方がマシかな
1000デフォルトの名無しさん
2018/02/13(火) 19:26:50.37ID:WkRgLvef
なお次スレ
-curl
lud20241228090244ca
このスレへの固定リンク: http://5chb.net/r/tech/1460359714/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net YouTube動画>1本 ->画像>2枚 」を見た人も見ています:

)
.

テスト





|
_
.
.
報告


o
7


虎専
空牙
奈良
ω
愚痴
k
愚痴
^
R
J

石井
会7
 
珈琲4
んほ
n

g
んあん

幾何
a
ほれ
報告

'

_
,
t
t
 
交流会
B
阪神
a
テスト
一人鍋

田酒2

阪神
まんこ
13:35:58 up 28 days, 0 min, 1 user, load average: 9.65, 9.24, 8.68

in 1.2672829627991 sec @1.2672829627991@0b7 on 010903