[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2ch.scのread.cgiへ]
Update time : 09/01 18:10 / Filesize : 211 KB / Number-of Response : 798
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【node.js】サーバサイドjavascript 5【Nashorn】



1 名前:デフォルトの名無しさん [2018/02/13(火) 22:21:33.91 ID:moEhrPrC.net]
pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。

node.js - googleが開発したV8エンジン上で実行できる処理系
nodejs.org/
ayo.js - node.js 互換で Rod の影響からの脱却を目指す処理系
https://github.com/ayojs/ayo
Nashorn - Java8 からRhinoに代わって同梱されているJavaScriptエンジン
www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-JA17-Nashorn.pdf

ayo.js の経緯
https://web.archive.org/web/20170821212745/https://github.com/nodejs/TSC/issues/310
javascriptはrubyと比較してもかなり速い
shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=yarv
基礎から学ぶNode.js
gihyo.jp/dev/serial/01/nodejs
node.jsの概要とアプリケーション開発の準備
gihyo.jp/dev/serial/01/realtimeweb/0002

前スレ
【node.js】サーバサイドjavascript 4【io.js】
mevius.5ch.net/test/read.cgi/tech/1460359714/
【node.js】サーバサイドjavascript 3【io.js】
echo.2ch.net/test/read.cgi/tech/1419673207/
【node.js】サーバサイドjavascript 2【Rhino】
peace.2ch.net/test/read.cgi/tech/1358937029/
【node.js】サーバサイドjavascript【Rhino】
toro.2ch.net/test/read.cgi/tech/1310087535/

2 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 22:45:24.68 ID:dgfWGlMV.net]
スレ立てとテンプレ更新乙

3 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 23:16:03.20 ID:RZh6bj8U.net]


4 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 07:27:19.83 ID:QhkCr6hZ.net]
>>1={乙}

5 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 12:47:30.67 ID:QhkCr6hZ.net]
じゃぁ聞くけどjavaで作るよりnode.jsの方がいい利点はなに?

6 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 12:51:28.06 ID:Dh0Ktwjh.net]
じゃあ?

7 名前:デフォルトの名無しさん [2018/02/14(水) 13:32:00.27 ID:eUHthdqL.net]
>>5
サーバサイドとクライアントサイドでコードの共有化ができるくらいかな。
俺はTypeScript大好きっ子だからjsに型がないという弱点も克服したし。

8 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 14:53:00.89 ID:GP+9iuzv.net]
javascriptは言語仕様も実装も活発に更新されてる生きた言語だけどjavaは……
去年はjava9とjava ee 8が出たけど内容は乏しくて死につつある言語
cobolのように現役で使われてはいるけど見向きもされない言語にまっしぐら

9 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 16:25:13.94 ID:H2gVyVCN.net]
>>8
そのくせ昔のが動かなくならないようにとバックワードコンパチビリティがキチガイみたいに徹底してるのが好き。
rubyとかpythonとかphpとかとてもやってられない。

10 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 16:34:15.53 ID:I0RXr+6s.net]
Javaはこれからの言語じゃなくてこれまでの言語ということだな
未来より過去が大事



11 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 16:41:30.19 ID:X6WT15xX.net]
大体Oracleが悪い

12 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 16:59:02.39 ID:OvGNKU5V.net]
「そのくせ」の使い方を間違えている
活発に更新されている言語なのに(逆接)互換性命なら「そのくせ」でいいけど

13 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 17:52:07.97 ID:X6WT15xX.net]
ネガティブに対してポジティブだから逆接であってる

14 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 17:57:48.03 ID:QhkCr6hZ.net]
javaの本は今でもたくさんあるのに、node.jsの本はちょっとしかなく、前より減ってるけど
それでも未来はあるの?

15 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 18:07:53.31 ID:0/UN9UNj.net]
それは視点ないし評価の反転であって主従ないし因果関係としては順接だろう
「そのくせ」よりも「だからこそ」の方が適切だと思う

16 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 18:08:56.46 ID:0/UN9UNj.net]
>>14
プログラミングの本には未来がないだろうね

17 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 18:14:23.49 ID:Dh0Ktwjh.net]
>>15
お前は日本語以前の問題とみた

18 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 18:15:48.39 ID:tUoPyiUs.net]
>>17
バレたか

19 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 18:38:00.97 ID:eUHthdqL.net]
>>14
前スレで言ってたように言語仕様が毎年更新されるから出しづらいのかも。
と言うか皆買わないんじゃないかな。
本なくても使えるし。

20 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 18:44:00.97 ID:eUHthdqL.net]
javaはjavaでjava vmの部分で生き残るんじゃないの
kotlinがあるから最新トレンドの言語仕様が使えるし。
最近はASTとかを駆使してコードの変換も個人でかけるようになったし気にせずいろんな言語で書いて最悪トランスレータをかけばいいよw



21 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 19:09:33.80 ID:nJ8XQB9a.net]
kotlinはnativeもやってるからjvmなくても生きていける可能性がある
そこら辺はandroid次第

22 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 19:32:54.87 ID:H2gVyVCN.net]
>>9だけどjavascriptのこと書いたんだけどjavaと勘違いしてる人がいるみたいで…
言葉足らずだったわゴメンゴメン

23 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 21:24:49.82 ID:zjyx6XTj.net]
ブラウザではともかくnode.jsでは後方互換性が徹底されてるとは感じない

24 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 23:05:01.77 ID:1QOtYRN6.net]
>>23
つまりAPIの破壊的変更が多いってことかね?あんまし使ったことがないから知らんかった。どの辺の話?

25 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 23:28:14.70 ID:itb3AbpA.net]
v0.12まではほとんどどこでも壊れてたイメージ
streamから何から
v4以降はネイティブアドオンでなければ深刻じゃないかな
細かい非互換性は日本語のブログなんかでもまとめられてる
今はsemverだからメジャーバージョンアップは後方非互換なんでLTSでも年に一回は動かなくなる可能性がある

26 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 23:32:27.00 ID:4HiMoKqx.net]
なーんだ、結局rubyやpythonやphpとおんなじじゃん。ガッカリ

27 名前:デフォルトの名無しさん mailto:sage [2018/02/14(水) 23:49:34.96 ID:X6WT15xX.net]
>>25
active期間が終わってから1年間のmaintenance期間があるわけだからその間に移行しろってことでしょ
メジャーバージョンアップが頻繁だってのは分かるけど

28 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 00:44:38.71 ID:xvxGqpCI.net]
Meteor.jsを結構前にチュートリアルを一通りやったときは
バックエンドとクライアントでコードを共有できる喜びは感じたかな。
ただ惜しむらくはDBがmongoDB固定だったこと。
今は変わっただろうか?
仕組み上他のDBにしづらいフレームワークで色々ロックインしちゃうんだけど
当時からなんだかとってもPWAって感じだった。

29 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 07:48:47.58 ID:0lPDoa5Y.net]
今jsしてないんだけどフロント周りはまだ暴風雨状態なの?

30 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 08:00:29.63 ID:SuVvVuMr.net]
うん



31 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 13:45:36.01 ID:ungn8NGW.net]
React選んだ人は3年くらい無風じゃね
あれこれ手を出してる人もいるだろつけど

32 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 13:52:45.80 ID:J0hKQiJo.net]
reactはreduxとか, 本体より周辺が暴風雨なイメージ

33 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 14:53:55.86 ID:Z5nyO2py.net]
非同期はいいぞーって言われても、処理終了まで待ちたい場合は、プログレスバーとか出せばいいの?

34 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 14:54:13.33 ID:YSj3CECL.net]
react無風か?今やv16だぞ何年前のライブラリだっけ?

+reduxでreactと同等のことができるhyperappがスンバらしい。300行しかないのにコードが読みやすい。

35 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 15:04:03.11 ID:2TdTJC2z.net]
reactはv0.14→v15→v16だから落ち着いたものだよ
非互換な変更はまず警告が出るバージョンがリリースされて次のバージョンで変更とかだし移行のためのツールも提供されるし

36 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 15:25:42.03 ID:Z5nyO2py.net]
Electronってやつと同じことはjavaじゃできないんですか

37 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 16:02:18.16 ID:Y2MAEGuu.net]
vscode→electronベースのide
webstorm→javaベースのide

同じようなアプリを作れるかって意味ならできるんじゃね?

38 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 16:14:19.77 ID:Z5nyO2py.net]
これから業務用アプリもスマホ化してきますやんかー、
そうしたらHTML5とかで作るって話になりますやんかー
javaには無理?node.jsじゃないとだめ?

39 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 16:30:14.63 ID:1CgTZOOO.net]
wasmにコンパイルすれば?

40 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 16:32:27.60 ID:x1xC6fNl.net]
クライアントとサーバの区別は出来てるか?



41 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 16:38:36.43 ID:Z5nyO2py.net]
wasmなんかよさげなこと書いてますね、unityもいけるのか

42 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 19:06:28.24 ID:IXv90w8V.net]
wasmよくわからんかった
ためしにunityの何かを入れてみたけど、ぜんぜん動かない

43 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 21:04:19.20 ID:soH0s4OR.net]
JavaScriptがwasmにコンパイル出来たらいいんだがなぁ。
動的な部分が多いからコンパイル自体がそもそも難しいか。

44 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 21:40:37.57 ID:wm9Pntzw.net]
jsのサブセットともいえるasm.jsからwasmならできる
むしろ一番最初にwasm出てきた時やってたのがそれだろ

45 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 21:49:32.52 ID:soH0s4OR.net]
そりゃasm.jsじゃなくてAssemblyScriptのことだろ。

46 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 21:57:55.53 ID:Z5nyO2py.net]
wasmでできることのサンプルでいいのないですか

47 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 22:26:17.03 ID:LVCrmyEJ.net]
>>45
AssemblyScriptが中で使ってるBinaryenがasm.js→wasmサポートしてるじゃん
そいつってTS→asm.jsしてBinaryen呼び出してるだけだったりしてね?
俺が44で書いたのは元々wasmがasm.jsベースで実装始まったって見た気がしたからでそんなライブラリとは関係ないけど

48 名前:デフォルトの名無しさん mailto:sage [2018/02/15(木) 22:56:54.50 ID:soH0s4OR.net]
あぁ、サブセットってところに引っかかっただけだ。
話を戻すと、RPythonに対するPyPyみたいなものがあればいいんだがなぁ。

49 名前:デフォルトの名無しさん mailto:sage [2018/02/16(金) 07:32:01.09 ID:9ipJLmm1.net]
wasm調べてたらrustってのに行き着いたのだけど
rustっていいの?

50 名前:デフォルトの名無しさん mailto:sage [2018/02/16(金) 07:38:32.94 ID:WQE4iPFk.net]
うんにゃ



51 名前:デフォルトの名無しさん mailto:sage [2018/02/16(金) 07:48:59.59 ID:N1s5Hdgd.net]
websocketをやらねば!!

node.js!!

なんか使いづらい、ぐっさくね?

java!!

もう老人

wasm!!からの〜

なに?

52 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 10:37:50.14 ID:TKHdwdGa.net]
.Net

53 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 20:06:38.18 ID:S3U39YpB.net]
ナイスジョークw

54 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 20:23:50.11 ID:lRCoRBcw.net]
なんでnodeはwebsocket使いにくいの?
煽りじゃなく、ほんとなら個人的に対策立てたいので。

55 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 20:45:16.99 ID:pKIDPIGb.net]
NodeでWebSocket使おうと思ってるところなんだけど, どのライブラリを使うのがいいか分からん
統計だけ見ればwsかな?
Nodeとブラウザで同じコードで動くようにするにはisomorphic-ws使えばいいのかな?

使ってる人おせーて

56 名前:デフォルトの名無しさん mailto:sage [2018/02/20(火) 07:23:49.73 ID:GgzKQl9s.net]
ぐっさいからWebAssemblyができたんでしょ
答え出てるやん

57 名前:デフォルトの名無しさん [2018/02/20(火) 15:51:09.84 ID:8AxQ9YzH.net]
ワイ「firebase 」

58 名前:デフォルトの名無しさん [2018/02/21(水) 19:31:38.94 ID:O384HGBH.net]
nodeでAPI作ったらテストツールはfrisbyしかないの?

59 名前:デフォルトの名無しさん [2018/02/22(木) 20:46:37.90 ID:c2upgmLY.net]
sqlite3で、serialize関数の中に書くのと直に書くのの違いは何ですか?

60 名前:デフォルトの名無しさん mailto:sage [2018/02/22(木) 20:55:18.66 ID:4xFkIfES.net]
>>59
質問の仕方とAPIリファレンスを調べる方法を学んでくれ
https://github.com/mapbox/node-sqlite3/wiki/Control-Flow



61 名前:デフォルトの名無しさん [2018/02/22(木) 21:40:09.49 ID:c2upgmLY.net]
データベース読み取り完了後に処理するには直に並べて書いてもいいのでしょうか

62 名前:デフォルトの名無しさん [2018/02/22(木) 21:45:11.82 ID:c2upgmLY.net]
コールバックの引数からしか結果を取得できないので無理でした

63 名前:デフォルトの名無しさん [2018/02/22(木) 21:53:52.78 ID:c2upgmLY.net]
db.run(...)でクエリを実行

DBとは無関係の普通のjsの式を実行

serializeの中にこの2行を書いたらクエリの実行が完了してから2行目が実行されるのでしょか。

64 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 21:30:09.82 ID:lFj/dPwY.net]
サーバーサイドとクライアントで共通に使うモジュールでlog4jsを使いたいんですが、サーバー側は
npmのlog4js-node、クライアント側はオリジナルのlog4jsを使うようなことってできないでしょうか。
それぞれwebpackでバンドルしてますのでwebpack.configで差し替えるような方法でもよいです。

65 名前:デフォルトの名無しさん [2018/02/28(水) 17:29:15.91 ID:F8/eMdWm.net]
できますよ

66 名前:デフォルトの名無しさん mailto:sage [2018/02/28(水) 17:32:46.76 ID:nrJj4j7P.net]
yes/noクエスチョンして撃沈するやつ大杉www

67 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 01:02:44.52 ID:rslrcUh9.net]
FreeBSDで
$node -e "console.log('Hello world');"
を入力すると
illegal instruction (core dumped)
と表示されるます
解決方法を教えてください
ちなみにgdbコマンドでcoreファイルを調べても
#0 0x086bed17 in ?? ()
と表示されますが詳細が分かりません
osはi386-marcel-freebsdです

68 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 03:03:42.72 ID:T/uji2Bj.net]
>>67
back trace確認した?
バグか環境の問題だろうから新しい環境とか
違うバージョンのnodeやosで試して切り分けするといいかもね

あとコアダンプ見るのはllnode使うと捗る
https://github.com/nodejs/llnode

69 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 05:25:55.91 ID:rslrcUh9.net]
backtraceでは#0〜3が全部in ⁇ ()としか表示されません
またnpmもコアダンプするのでllnodeはインストールできませんでした
nodeのバージョンは最新の9.3.0の他に8.9.3、6.12.2、4.8.7を試したのですが全てコアダンプしました
インストーラーにはpkgを使いました

70 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 13:29:27.27 ID:T/uji2Bj.net]
おおーそんなことってあるのか
FreeBSDの環境構築含めて最小限の再現手順を添えてIssueに上げたら?

ちなみに今のバージョンって8.10.0と9.8.0だよ



71 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 22:23:21.10 ID:Ik/iQCHb.net]
Node.jsを使ってwindowsでmp3を再生するにはどうすればいいのでしょうか?
とりあえずググって出てきたplay-soundというのとplayerというのを使ってみたのですが
何故かうまくいきません
play-soundは外部プレイヤーを呼び出してるだけっぽいですし

72 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 01:33:12.81 ID:DnMaJisN.net]
>>71
simplayerってのが気になってたから代わりに試して報告レスを書く権利をやろう

73 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 10:13:09.28 ID:fj69X1D3.net]
>>72
ありがとうございます
それも見たのですが、コマンドを呼び出してるだけですよね
アプリを入れなくてもいいのはいいのですが、
windowsではwavしか再生できないというのが困ります
まぁwindowsがイケてないのですが・・

74 名前:デフォルトの名無しさん [2018/03/29(木) 12:32:32.82 ID:90vctbdp.net]
鯖側だけで音が鳴ってても困る

75 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 12:33:22.32 ID:fj69X1D3.net]
Electronのメインプロセスでサウンドが鳴らせないことが問題だったのですが
非表示のレンダラプロセスを起動しておいてそこで鳴らせばいいと気づきました
mp3を鳴らすモジュールもElectronを使うようにすれば実現できるでしょうね
メモリ使用量的に富豪的ですが

76 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 20:14:37.76 ID:0KWZ/AkQ.net]
Pixi.js ベースのゲームエンジン、Phaser とか使わないとできないのかも

77 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 16:03:54.94 ID:Sn+gu03Z.net]
CommonJSのやつをESモジュールに書き換える際に依存モジュールってどうしてる?
ブラウザ用にバンドル出力すると.mjsじゃなくなっちゃうし

78 名前:デフォルトの名無しさん [2018/04/03(火) 18:21:34.47 ID:DyW1PQoq.net]
axiosでdatファイルやsubjectファイルを取得するソフトを作っているのですが、文字化けしてしまいます。
jconvやiconv-liteなどのパッケージを使ったり、環境もDigitalOceanのドロップレットを使ったり
ローカルのWindows10で動かしたり色々しているのですが、どうしても文字化けが治りません。
どなたか、ご教示いただけませんでしょうか。

79 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 02:04:22.96 ID:dci/EUEW.net]
dat ファイルって、5ch の?

HTML に、文字コードを付けていないのだろ。
どうせ、CP932 だろ

強制変換すれば?

80 名前:デフォルトの名無しさん [2018/04/04(水) 02:30:53.74 ID:h2UR4/YM.net]
ほんそれ



81 名前:デフォルトの名無しさん [2018/04/04(水) 02:37:45.24 ID:RW7X0/F+.net]
>>79
ご回答ありがとうございます。
axiosで取得した時にSHIFT_JISのコードをaxiosが勝手にutf-8扱いしてデコードしていたために
おかしくなっていただけでした。

82 名前:デフォルトの名無しさん [2018/04/04(水) 02:52:05.21 ID:h2UR4/YM.net]
>axiosが勝手にutf-8扱いしてデコード

そうか?
鯖がUA観て送信塩湖変えてる可能性は?

83 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 02:55:41.91 ID:dci/EUEW.net]
スクレイピングなら、Ruby で、Selenium WebDriver, Mechanize の方が簡単

JavaScript, Node は、面倒くさい。
まだ、Electron の方がマシ

84 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 09:11:36.38 ID:jx2XXyxV.net]
electronてnodeじゃんwwwww

85 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 14:38:08.10 ID:dci/EUEW.net]
参考までに。
Ruby で、Selenium WebDriver で、Chrome のHeadless mode で、
5ch をスクレイピングしたら、文字化けもせずに、テキストが取得できた

ブラウザが、CP932 を自動的に、UTF-8 に変換しているのかな?

driver.navigate.to "https://mao.5ch.net/test/read.cgi/linux/1479499953/8-9"

element = driver.find_element(:css, 'div[data-id="8"] > div.message > span')

puts "内容 :#{element.text}"

86 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 14:45:50.99 ID:YO5zcEko.net]
以前ならnodeでスクレイプはjsdomとjqueryが定番だったイメージ
最近は知らんけど

87 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 15:49:11.75 ID:jx2XXyxV.net]
最近はヘッドレスChrome使う。(puppeteerなどのラッパーを使って)
seleniumと比べて挟むレイヤーが少なくて同じ以上の事ができる。
他のブラウザでやんなきゃならないときはSeleniumだね。セットアップが非常にめんどくさいけど。

88 名前:デフォルトの名無しさん [2018/04/04(水) 16:43:05.55 ID:s/NBnuXV.net]
Windows環境でもpuppeteerのヘッドレスChrome動くようになった?

89 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 17:14:10.26 ID:jx2XXyxV.net]
MBPだから分からん。

90 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 17:22:12.84 ID:hx9HkNum.net]
>>89
MBPでもWindowsは動くから分からない理由にならん



91 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 18:31:27.93 ID:JZ99J8cJ.net]
macOSだからわからん

92 名前:デフォルトの名無しさん [2018/04/05(木) 17:30:27.50 ID:PWNYpPzv.net]
>>90
MBPだから(いちいちwindows環境用意するのは面倒、従って)分からん

93 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 18:15:24.72 ID:rXLddpo5.net]
MBPだから面倒とはよく分からんな
AT互換機やVMと大してWindowsセットアップの手間は変わらんのに

94 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 18:38:12.24 ID:xSbyKHuy.net]
それ面倒って言ってるのと同じ

95 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 11:55:39.33 ID:GDtrufJB.net]
Node.jsではグローバル変数はglobalの属性にすると知りました
jsファイルにグローバル変数のように書いてる変数はグローバル変数ではなかったのでしょうか?

96 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 12:03:17.21 ID:GDtrufJB.net]
エントリーポイントのjsファイルも、
実際にはモジュールのように独自の名前空間に閉じ込められていたということなのでしょうか

97 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 12:30:34.93 ID:ZEcSoj1Y.net]
>>95
グローバル変数がグローバルオブジェクトのプロパティだというのはNode固有の話ではない。
ブラウザだとwindow、Nodeだとglobalでそのグローバルオブジェクトにアクセスできるというだけ。

>>96
仮に閉じ込められているとしても、その「外」が無ければどっちと捉えても同じ。

98 名前:デフォルトの名無しさん [2018/05/23(水) 19:55:38.17 ID:Au5e7VGg.net]
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

AY2FW

99 名前:デフォルトの名無しさん mailto:sage [2018/05/24(木) 11:04:01.98 ID:cPlRxlDn.net]
AY2FW

100 名前:デフォルトの名無しさん [2018/06/06(水) 12:49:05.94 ID:1yp8yW1B.net]
fs.createReadStream()のstart, endの値ってuintの範囲に制限されてるっぽくて困った



101 名前:デフォルトの名無しさん [2018/06/06(水) 12:59:17.94 ID:1yp8yW1B.net]
GitHub見たら10.3.0で修正されてると見て試したら問題なかった 良かった

102 名前:デフォルトの名無しさん [2018/06/11(月) 03:02:37.71 ID:+ZXvp0cd.net]
スレタイに入ってるNashornオワタ/(^o^)\

JavaでJavaScriptを実行する「Nashorn」が非推奨に、ECMAScriptの速い進化に追いつけないと。代替案はGraalVM
https://www.publickey1.jp/m/blog/18/javajavascriptnashornecmascriptgraalvm.html

103 名前:デフォルトの名無しさん mailto:sage [2018/06/11(月) 11:03:40.44 ID:NM/bnQBs.net]
使ってるやついるか?
正直どうでもいいな。

104 名前:デフォルトの名無しさん mailto:sage [2018/06/11(月) 19:57:45.35 ID:sBJsXOBY.net]
それよりはzip slipの方が余程大事じゃねえの

105 名前:デフォルトの名無しさん mailto:sage [2018/06/11(月) 21:14:19.40 ID:e0vR8q3f.net]
なにそれ?

106 名前:デフォルトの名無しさん mailto:sage [2018/06/11(月) 21:16:36.65 ID:TtmKEAmt.net]
毎度毎度の脆弱性

107 名前:デフォルトの名無しさん mailto:sage [2018/06/12(火) 06:50:18.57 ID:OD105wYY.net]
標準のZIP展開は並列処理されず遅いので皆自分で書いたりして試したことがあると思うが
パスをそのまま信用しちゃまずいことあるだろうなってことは99.99%の作者が気づく
それをケアしていないのはバグではなく、素朴な実装を目指しただけ
つまり問題と責任は利用者側にある 実際のファイルへの書き込みはライブラリ外の場合も多いだろうし
特に標準が用意されていない環境でそういったライブラリを選ぶときは
きちんと知識を持った上で中身を確認して利用しろというだけのことでしかない

108 名前:デフォルトの名無しさん mailto:sage [2018/06/14(木) 15:13:23.32 ID:9vBjb8Eh.net]
GAEの無料枠で動くようになったけど今となっては遊び場にも微妙だな

109 名前:デフォルトの名無しさん mailto:sage [2018/06/14(木) 15:46:30.74 ID:Zu1EvjtC.net]
GAEこそ真のPaaS
そんなふうに考えていた時期が俺にもありました

110 名前:デフォルトの名無しさん mailto:sage [2018/06/14(木) 20:12:54.74 ID:1UAOBXCc.net]
何が駄目なの?具体的に。



111 名前:デフォルトの名無しさん [2018/06/15(金) 09:26:26.58 ID:xbpv1wwF.net]
>>107
ほんそれ

112 名前:デフォルトの名無しさん mailto:sage [2018/06/16(土) 13:10:06.73 ID:q1gUWLEE.net]
>>110
俺はだめだとは思わないけどdatastore周りとかじゃないかな。

113 名前:デフォルトの名無しさん mailto:sage [2018/06/17(日) 00:11:11.59 ID:WQHP2n97.net]
nodistをインストールしたら、node7.2.1がインストールされました
このバージョンはどのような基準で決まるのでしょうか?

114 名前:デフォルトの名無しさん mailto:sage [2018/06/17(日) 00:17:30.58 ID:WQHP2n97.net]
最新のLTSは8.9.0のようです
それが入るなら分かりますが・・

115 名前:デフォルトの名無しさん [2018/07/04(水) 22:18:23.52 ID:gFgZc5FG.net]
PMV

116 名前:デフォルトの名無しさん mailto:sage [2018/07/05(木) 16:37:50.98 ID:AeL6VB/V.net]
PMV

117 名前:デフォルトの名無しさん mailto:sage [2018/07/11(水) 00:45:10.51 ID:UCabWAAs.net]
npmjsずいぶん見やすくなったな

118 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:13:07.98 ID:sptiC22u.net]
npmってのはnode.jsでサーバサイドアプリケーションを開発する人専用のツールではなく、
Javaで書かれたプログラムを実行するのにJavaVMが必要なように
何か使いたいアプリケーションがnode.jsで書かれていて、
それをインストールするために必要なものという認識でよいのでしょうか?
なんかちょっと使いたいものを調べるとなんでもnpmが出てくるのですが、
別にnode.jsで何かサーバサイドアプリケーションを作りたいわけではないので、
なんでいちいちnode.js導入しないといけないのだろうと思ってたのですが。

119 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 22:52:48.33 ID:ikbDgWAP.net]
NodeJSはJavaScriptの処理系のひとつでブラウザを除けば最も広く使われている
NPMはパッケージマネージャ

そもそもNPMのCLIツールがJavaScriptで書かれていてNode上で動かすことが前提
NPMで導入可能なパッケージは必ずしもNodeを必要としないがNode上で動かすことを前提としたものも多い
例えばブラウザ向け開発でもWebpackとかでブラウザ用JSを生成するわけだがWebpack自体はNode上で動作する

120 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 23:02:36.93 ID:6hOxkvv1.net]
npmはjavaでいうmavenみたいなもん



121 名前:デフォルトの名無しさん mailto:sage [2018/07/14(土) 23:21:53.17 ID:sptiC22u.net]
>>119-120
なるほど、どうもありがとうございます。
VMとかたとえが悪くてすみませんでした。
rpmとかでLinuxにアプリケーションをインストールするイメージで、
node.jsはOSに相当するプラットフォームのようにとらえていました。
あくまでも、その言語向けのアプリケーションを開発するために必要な、
ライブラリを管理するためのマネージャーなんですね。

122 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 00:11:20.46 ID:tzV6EtXj.net]
>>121
みんなこういう例え話好きだが使ってみたほうが早いと思うぞ。
正直osで例えるのはまじで何が言いたいのかわからない

123 名前:デフォルトの名無しさん [2018/07/15(日) 11:52:48.40 ID:PPKweFFg.net]
nodeコマンドはjsインタプリタ。
nodeで動くjsモジュールが公式、非公式に色々提供されている。多彩なモジュールによりコマンドラインツールやwebサービス、ブラウザアプリ、デスクトップアプリまで開発できる。

パッケージマネージャはnpm。
nodeのモジュールのインストールと、スクリプトの実行機能をもっている。
スクリプト実行はnodeコマンドだけでもできるが大量のモジュールを使うアプリでは依存関係や実行タスク切替が必要になる。そこまで管理できるのがnpm。
npmではまだ機能不足だと感じる人たちはさらにwebpackのようなツールを使う。

web界隈ではcoffeescriptやtypescriptなどのaltjsのjsへの変換が日常的におこなわれる。こういったトランスパイラもnpmでインストールして実行できる。

またトランスパイラはaltjsの変換以外にも毎年アップデートされるjs(es)のパージョン間の違いや、ブラウザ環境とサーバー環境の違いを吸収したり、jsx,vuexなどのDSLの変換等も行うが、それらもnpmで導入出来るようになっている。

124 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 11:58:16.04 ID:3AmTzi+H.net]
coffeescriptは滅んだよ。今altjsで生存確認取れるのはtypescriptだけ。

125 名前:デフォルトの名無しさん [2018/07/15(日) 15:56:04.95 ID:noPBsGa8.net]
>>118
たとえ話に意味があるとは思えないが
python: python - pypi
python: python - conda (anaconda)
ruby: ruby - gem
perl: perl - CPAN
node.js: javascript - npm
linux: python - yum
linux: perl - rpm

126 名前:デフォルトの名無しさん [2018/07/15(日) 16:07:22.97 ID:jsMvl+lU.net]
プロジェクト毎に3万ファイルとか50MB以上とかダウンロードしてくるけどこんなもん?
SSDが死にそう

127 名前:デフォルトの名無しさん mailto:sage [2018/07/15(日) 16:29:40.23 ID:IE1rNzTR.net]
>>126
> SSDが死にそう
安心しろ。この程度でSSDが死ぬことはない

SSDの書き込み回数は1万回ぐらいと言われているが、それはセルごとだ。
1セルのサイズは多くても4ビットだ。もっとも1セル単位で
書き込むわけではなくブロック単位で書き込む。

ブロックサイズは製品にって違うが2KBとしよう
50MB = 50000KB、3万ファイルだから1ファイル1.6KB。
ざっくり大目に見てブロックサイズと同じで2KBとしよう。
つまり1ファイルで1ブロック書き込みをするということだ

ということは1プロジェクトのファイル数が3万とか50MBあったとしても
結局は1万回書き込みができるブロック毎に1回しか書き込みしないということだよ

さらに128GBのSSDであれば、128 * 1024 * 1024 = 134217728KB
これをブロックサイズで割ると67108864ブロックあることがわかる。
それぞれのブロックごとに1万回書き込みができるのだから
全ブロックで671088640000(約67千億回)が総書き込み可能回数となる

SSDはうまくブロックごとの書き込み数を平均化してくれるので
3万ファイル = 3万回の書き込み なので 22369621(約2千万)プロジェクトの
ダウンロードが可能ということだよ(1ファイル1ブロック書き込む前提)

128 名前:デフォルトの名無しさん [2018/07/18(水) 01:10:24.04 ID:ZhFIl0gF.net]
将来プログラマーになりたい高校生です
去年どうやったらプログラム上手くなりますか?と5chで聞ききました。
とにかく何か作れ!と教えてもらいました。そして作りました。

レベルが低くて恥ずかしいのですが、JSで壁にブツカッてしまいました。
こちらのWEBなのですが、
www.pafumo.com/
地域を絞り込んで検索をしたら出来るのですが、
選択肢の中身がもとに戻ってしまうのです。

そしてサーバーサイドJSだったら、こういう問題も解決できるかもしれない。
と思いまして、今、導入を考えているのですが、
私のレベルは低すぎて、よく分からなくて、ココの皆さんに教えていただきたくて、
書き込みました。

レベルが低すぎてスイマセンが、なにかアドバイスを頂けませんか?
私は、サーバーサイドJSをやったほうが良いのでしょうか?

129 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 02:29:18.27 ID:Xrgq5rZT.net]
>>128
これまじでつくったん?
高校生でこのレベルだったら日本じゃ食いっぱぐれないから自信持っていいよwすごい
将来有望!

phpやったことないけど、「php 入力値 保持」とかでググって解決できるかも?

130 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 10:24:27.37 ID:9lJLz1c7.net]
>>129
甘えさせんな



131 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 10:33:56.80 ID:9lJLz1c7.net]
>>128
別にサーバーサイドJavaScriptだろうがphpだろうが大差ない
好きな言語を使えばいいし、言語による問題など無いに等しい
言語の壁なんてずっと先の話の話だ
現時点では自分自身の壁の方がずっと近くにある

あとなどうせ現時点では大したデータ入ってないだろうけど
そのコードおそらく脆弱性があるからな。

<input type="radio" name="gakureki" value="AND `学歴_int` IN(2,3)">高校
<input type="radio" name="gakureki" value="AND `学歴_int` IN(2,3,4)">専門

こんな感じでSQLの一部(らしきもの)をサーバーにそのまま投げてはいけない。
この部分は、サイト利用者が自由に書き換えられるから、SQLインジェクションという脆弱性になる
その結果サーバーの全てのデータの流出や削除が起こる可能性がある

仕事ではありえないレベル

132 名前:デフォルトの名無しさん [2018/07/18(水) 11:47:33.49 ID:4ilUbnPJ.net]
>>128
hiddenタグとかに埋め込むとかformでpostした内容を読み取ってvalueを書き替えるじゃん?
PHPをやったら簡単かも、htmlspecialcharsとか使えるし->その先はスレ違いで。

133 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 12:09:46.83 ID:jJw1m5s0.net]
「たのしいRuby 第5版、2016」を、3回読んで、
無料のRails チュートリアルをやればよい

Rails をやれば、どのフレームワークにも応用できる

PHP は、Rubyよりも難しいから、素人レベルでは避ける方が無難。
数言語を学んでからの方が良い

134 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 13:01:01.59 ID:0VQDXwHE.net]
node勧めろよw

135 名前:133 mailto:sage [2018/07/18(水) 13:08:12.74 ID:jJw1m5s0.net]
フレームワークの基礎は、Rails。
無料のRails チュートリアルをやった後に、以下の掌田津耶乃の本を読む

Node.js超入門、2017
Python Django 超入門、2018

Spring Framework 4 プログラミング入門、2014
Spring Boot プログラミング入門、2016

136 名前:デフォルトの名無しさん [2018/07/18(水) 13:18:01.82 ID:nZmqMr15.net]
rubyは組み込みメソッドの仕様が恣意的で見た通りに動いてるとは限らない。
逐次確認が必要だが昔からドキュメント書きたくないでござるの人たちばっかりのコミュニティなのでrubyソース読む羽目になる(教祖もそうすべきと言っている)
Pythonが(書きにくく)読みやすいと言われるのに対しRubyが(好き勝手に書きやすく)読みにくいと言われるのはそのため。
また、似た機能を実現するためのメソッドがたくさんあり、まったく動作が同じ単なるエイリアスだったり、微妙に動作が違っていたりする。これも調べないと分からない。
構文レベルでも同様の混乱を引き起こしており、行き当たりばったりの機能追加が言語全体の一貫性を著しく損ねている状態。
例)https://qiita.com/jnchito/items/83410c0cda446efea582
なのでPythonに完敗して滅んだ。
動物の細胞内に共生して生き長らえているミトコンドリアのように、現在はRailsの内蔵バッテリーとしてのみ生存が確認されている。

137 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 15:19:54.93 ID:OB31EeM/.net]
>>128
クライアントに状態を保存したいなら、 WebStorage で事足りるかと思います
サーバに進んでもいいけど WebExtension でブラウザ拡張にするって手もありですかね

138 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 18:55:58.06 ID:HvbxYtHk.net]
mevius.5ch.net/test/read.cgi/hp/1529144063/
マルチのキチガイ相手にすんな

139 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 19:59:05.56 ID:GJ20wEra.net]
Node.jsに興味がある者です(使ったことはありません)

Node.jsって非同期処理らしいけど、コールバック地獄になったりしないのでしょうか?
見通しの良いプログラム書けますか?
どんな用途に向いていますか?例えば企業のHP? 掲示板? ゲーム?

ド素人ですみませんが、教えてください。

140 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 20:01:30.57 ID:vkID/FCq.net]
firebaseとかをやると多少サーバサイド周りが楽になる。おすすめ



141 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 21:48:09.86 ID:lX9iw+l5.net]
>>139
NodeというかJavaScriptの文化が非同期中心

コールバック地獄に対してはそれを解消するために色々な機能の導入が進んでる
* ジェネレータ/yield
* promise
* async/await

142 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 21:49:04.83 ID:Ptw15SBf.net]
>>137
そのWebExtensionはSafari、特にMobile Safariで
使えるようになるのでしょうか?

143 名前:デフォルトの名無しさん mailto:sage [2018/07/18(水) 22:23:27.09 ID:xtLcDzcX.net]
最初からasync/awaitできるようにライブラリを再設計してもらいたいね

144 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 06:39:55.91 ID:7J8bSQkS.net]
それよりもasync awaitは、forEachとか関数を引数に取るようなメソッドを使うと
いつの間にかasyncの世界が解除されてしまうのツライ。そのせいでバグってるの何度かみた。lintツールで監視してほしいんだがないかなー?

145 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 07:08:25.59 ID:/uEaO2eB.net]
>>144
どんなコードでトラブってんの

146 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 07:14:17.52 ID:Gj4aV2Pa.net]
それは勝手にasyncにされたら困るでしょ

147 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 07:19:59.43 ID:k4hdpfM8.net]
>>145
try catchが、機能しなくなったりとか。
await 入れ忘れてるとpromiseになっちゃうから

148 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 07:20:45.38 ID:k4hdpfM8.net]
>>146
だからlintで対応したいと言ってる。

149 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 07:29:46.78 ID:/uEaO2eB.net]
lintでやることじゃない
TypeScriptで型チェックすればいいんじゃね

150 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 08:31:24.37 ID:6uxn/aT1.net]
>>149
つまり型推論を使わずに受け側の型を確定しろってこと?めんどくせえよ。

lintでasync function 内のスコープで関数を引数に取るような関数呼び出しがあったら警告する。くらいで良い



151 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 10:22:17.98 ID:jn3CABTs.net]
サンプルコードとexpected/actual見ないと何とも言えんな

152 名前:デフォルトの名無しさん mailto:sage [2018/07/19(木) 21:14:29.49 ID:r+W9F2HQ.net]
TypeScriptなら推論してくれるだろ?どこが面倒くさいと言っているんだろうか。

153 名前:デフォルトの名無しさん [2018/07/21(土) 06:27:45.75 ID:ElqtIK48.net]
>>128
128ですー!
お兄様達!ありがとうございました。
今回は色々反省点も多かったですが、自分の未熟さが又見えてきました。
本当にありがとうございました

今回はセキュリティを少し修正して一度つくりなおします
まずは・・・また空っぽのWEBサイトに戻りましたwww

154 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 11:26:07.15 ID:qX0Dt9ZM.net]
これより簡単な最新版インストール方法ないん?@ubuntu16.04

sudo apt-get install npm
sudo npm install -g n
sudo n latest
sudo npm install -g npm@latest

155 名前:デフォルトの名無しさん mailto:sage [2018/07/21(土) 11:57:42.82 ID:O8QI/iof.net]
nのnvmやnodebrewに対する利点欠点教えてくれ。移行の検討したい

156 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 11:58:28.68 ID:3BcXSGzx.net]
これ値上がりしてるけどもしかしてもう絶版なの?

実践Node.js プログラミング
https://www.amazon.co.jp/dp/479812947X/

157 名前:デフォルトの名無しさん [2018/08/11(土) 12:04:26.76 ID:AWnFhpjF.net]
売ってあげてもいいよ

158 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 12:13:48.16 ID:/QURPuCG.net]
では中古ですのでKindle版より安くお願いします。
裁断は不可です。

159 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 13:05:24.81 ID:3BcXSGzx.net]
いやまぁ、もう持ってるんだけどね
なんかAmazon見てたらオススメ欄に明らかにこんな値段じゃなかった気がする価格で出てたから

なんか原書のIN ACTIONが改版してるみたいだね

160 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 23:46:03.56 ID:DgZEeL87.net]
基礎から学ぶ Vue.js、mio、2018/5/29

Vue の本が出た



161 名前:デフォルトの名無しさん [2018/08/12(日) 12:34:21.45 ID:rtSL/abo.net]
いらね

162 名前:デフォルトの名無しさん [2018/08/17(金) 22:04:36.04 ID:4NJ8UK9X.net]
JavaScriptってウンコだな
並列処理ができるサーバーサイドでnode.jsよりマシな言語って何かある?

163 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 22:05:22.28 ID:+k3F0uGS.net]
>>162
C#

164 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 22:14:36.92 ID:4NJ8UK9X.net]
Visual Studioとかもっとウンコくさい

165 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 22:30:35.38 ID:+k3F0uGS.net]
>>164
C#と言ったんだが…
Visual Studioでも駄目ならもうこの業界から去った方がいいよ

166 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 22:44:08.63 ID:ktJvAt38.net]
永久にJava使っとけばいいんじゃないかな

167 名前:デフォルトの名無しさん [2018/08/19(日) 02:55:54.88 ID:fvMiJicq.net]
こんばんわ>>128です
ちょうど一ヶ月前に色々教えていただきました
あの時はありがとうございました

あれからずっとWEBサイトを作りました
WEBサイトと宿題以外何もやってません
www.pafumo.com/


その時に色々注意されたんですが
とにかく教えていただいたスレッド?にはまた書き込ませてもらいました

ワタシとしては頑張ったほうだと思うのですが
完全に生活リズムが崩れて体調も崩したり泣いたり色々ありましたが
とにかくコチラの皆さんに見ていただきたかったのです

とにかく1ヶ月は寝る間も惜しんでやりました
どうでしょうか?動きとかどうでしょうか?

168 名前:デフォルトの名無しさん [2018/08/19(日) 12:43:00.38 ID:plhuPGbS.net]
>>167
大学行く気はないの?

169 名前:デフォルトの名無しさん [2018/08/19(日) 12:47:16.62 ID:guZgI/xk.net]
そらはーは高校行くのやめてたんか
今何歳だろ
https://www.facebook.com/notes/urabe-shyouhei/俺はもうそらはーに大学行けとか言わないことにした/409479182515899/
https://twitter.com/sora_h
https://togetter.com/li/396341
gihyo.jp/lifestyle/serial/01/shukatsu_joshi/0001
(deleted an unsolicited ad)

170 名前:デフォルトの名無しさん [2018/08/20(月) 19:18:07.67 ID:cZE9+/lx.net]
>>167
褒めてほしいなら褒めてやろうか?
『高校生にしちゃ良くできてるわ笑』

体調?泣いた?甲子園じゃないんだから感動しねぇわ
node.js使いこなしてから書き込めや

もうすぐ夏休み終わりだぞ?
宿題おわらなくても先生に涙見せればok?ってか



171 名前:デフォルトの名無しさん [2018/08/20(月) 20:55:48.45 ID:bV0bfDA8.net]
余裕のねえおっさんだなw

172 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 02:56:39.15 ID:wR4pFdwQ.net]
こんな大人ばっかりだから
間違えても職業プログラマにはなるなよ

そのまま趣味レベルで大学卒業する迄頑張って何かを作り続けてみ
巷のプログラマのレベルの低さを理解できるようになるから
プログラマになったらそいつらの下で仕事するのが馬鹿らしくなるよ

173 名前:デフォルトの名無しさん [2018/08/22(水) 13:43:02.55 ID:ucL1rxd7.net]
>>167
こんにちは>>128>>167です。

ありがとうございます。
前回の僕が作ったWEBが駄目すぎて色々注意をいただきましたね。
でも今回はダメ出しがなかったので、
そこそこ通用したのかな?と思っておきます。

174 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 14:08:53.29 ID:Opme7aq9.net]
突っ込むのが面倒だからだと思う
なるべく色々な人に見せた方がいいよ
5chの住人はめんどくさがりが多そうだから(多分)

175 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 14:32:48.78 ID:xEhqeRfD.net]
ツッコむのが面倒以前に
おそらくサイトも見てないと思う

176 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 15:09:56.93 ID:Chs+lHYf.net]
>>175
それな

177 名前:デフォルトの名無しさん [2018/08/22(水) 20:04:15.95 ID:uhR98H94.net]
node.jsのサーバがちょっとした負荷で無応答になって
それっきり復帰できないので対応策を教えてください。

例えば「user/index」というURLに対してDBなどのソート処理などを
クライアントから連打してリクエストを何回か送ると、
そのうち無応答になります。
タイムアウト処理をしてタイムアウト時に強制的に
res.redirect()とかres.end()すればよいと思ったのですが、
一度無応答になると以降「uder/index」にリクエストしても全て
無応答になってしまいます。
(厳密には「GET」などのリクエストは受け取っている表示が出たあと
全くログが出ません。)
サーバ全体はダウンしていなくて「user/add」へのリクエストは
正常に動くので「user/index」だけが無応答になっている状態です。
この無応答状態を解除する方法を教えてください。
処理中のアクションの関数まだ継続中なら、強制終了したいのですが
その方法がわかりません。

最悪、タイムアウト時にサーバを再起動したいのですが、
外部からでなくnodejs自体で内部から再起動することはできるのでしょうか?
よろしくおねがいします。
フレームワークはexpressを使っています。
また、node.jsのパフォーマンスや可用性対策で参考になるサイトが有りましたら
教えていただけると大変助かります。

178 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 20:32:56.12 ID:mHU9sjBy.net]
今日も暑いからな

179 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 23:22:50.18 ID:0YvB5ppq.net]
実践Node.js プログラミングの原著の第二版出てるみたいだけどなんか全然内容違うみたいだね
https://www.manning.com/books/node-js-in-action-second-edition

180 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 01:10:59.57 ID:qUZ5eK5Q.net]
>DBなどのソート処理
DB の更新処理に時間が掛かって、表がロックされているとか?
DBのタイムオーバーを設定できないの?

Node.js が受け付ける、同時接続数とかも

5ch のサーバーなんて、しょっちゅうアクセス不能を戻す



181 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 05:04:48.63 ID:kxLVtsMJ.net]
>>177
こういうときは再現可能なシンプルなコードを書いて晒すのが一番かと

182 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 05:27:17.11 ID:NPcuqlt3.net]
user/indexって単なるselectじゃないの?
それを繰り返してロックするなんてことあるのかね?
select for update呼んでるとか?

183 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 06:49:10.72 ID:UQ+YkEmz.net]
>>173
Webサイト制作初心者用質問スレ part249
mevius.5ch.net/test/read.cgi/hp/1529144063/436
マルチポストばれないとでも思ったのか
スキルと並行してマナーも学ばなきゃプロにはなれないぞ

184 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 06:53:02.35 ID:4Ni+ZJQh.net]
マルチポストがいけない理由って何ですか?

185 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 06:55:42.64 ID:NPcuqlt3.net]
>>184
自分でググることも覚えよう
https://ja.m.wikipedia.org/wiki/マルチポスト

186 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 07:06:13.29 ID:4Ni+ZJQh.net]
>>185
もちろんググりましたよ
おおむねどこもウィキペディアに書かれている理由がほとんどのようですが
パソコン通信やダイヤルアップ接続時代ならともかく現代では無意味です
知識の集積とか気分とか善意とかの理由も2chのようなコミュニティでは無意味でしょう

ちょっとは自分で考えることも覚えましょう

187 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 07:16:05.08 ID:NPcuqlt3.net]
>>186
だめだこりゃ

188 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 07:18:50.45 ID:4Ni+ZJQh.net]
>>187
なにがだめなんでしょうか?

189 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 07:21:10.99 ID:NPcuqlt3.net]
プライドだけは高そうw

190 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 07:27:43.86 ID:4Ni+ZJQh.net]
>>189
私は具体的な根拠をあげて意見を述べたつもりです
それをあなたは見下したような態度をとっただけで具体的な反論もない

プライドだけは高そうですね



191 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 07:45:01.41 ID:p0u00SDp.net]
まぁコウモリ野郎は嫌われるって事だよ

192 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 07:56:53.07 ID:4Ni+ZJQh.net]
コウモリ野郎っていうのは、こっちでは向こうの悪口、向こうではこっちの悪口言う奴ですよね
いろんなところで質問するマルチポストとは違うような気がするんですが

193 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 08:03:10.28 ID:7f2db5Zi.net]
>>186
マルチポストの是非については納得いかないかもしれないが
(そして今は俺もそこには触れないが)
マルチポストしたら実際どうなるかは今実感してるはずだろ
せっかく年齢の割に優秀とか言ってもらえてたのにこの数分でこの有様だ

その向上心と行動力をこんな事で殺さないでくれよ勿体ない

194 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 08:08:54.33 ID:NPcuqlt3.net]
これだけは言っておこう
俺の若い頃にそっくりだw

195 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 08:10:33.15 ID:NPcuqlt3.net]
どうだ
怖いだろ?

196 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 08:11:49.22 ID:p0u00SDp.net]
意識高い系にはNode.jsよりもRuby onRailsの方が向いてると思うよ

197 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 08:16:59.96 ID:NPcuqlt3.net]
Ruby on railsなんて一番チームワークが必要だ。
オワコンJava servletで十分。
そしてなるべく家から出るな。

198 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 08:19:16.32 ID:4Ni+ZJQh.net]
>>193
実際どうなるか今実感しているのは、全く論理的でない筋違いなレスがもらえるということです
マルチポストの話題というのはひょっとしたらタブーになっているのでしょうか
あなたのマルチポスト以外の発言もまた意味不明です

>>195
いえ、何が怖いのかよくわかりません

>>196
>>197
何言ってるのかさっぱりわかりません

199 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 08:22:19.27 ID:NPcuqlt3.net]
プライド捨てられないやつは一人でやった方がいいよ。
周りに迷惑かけるだけだから。

200 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 09:06:27.88 ID:5URB78uz.net]
典型的なアスペだな



201 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 09:13:10.29 ID:SHqa2C3g.net]
叩ける材料見つかってよかったなw

202 名前:デフォルトの名無しさん [2018/08/23(木) 12:21:10.84 ID:4+C+OXJA.net]
マルチポスト高校生に束になってもかなわない自称プログラマー達www
有能な若者に嫉妬なんかしてないで自分たちの心配した方がいいんじゃないの?www

203 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 12:30:20.77 ID:NPcuqlt3.net]
これ本人だとしたら相当病んでるな

204 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 12:50:55.09 ID:kZnXG8MX.net]
おれはマルチポスト君は変なこと言ってないと思うぞ。物言いはムカつくがw
>>203
お前の方が相当病んでるぞ

205 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 12:55:20.68 ID:NPcuqlt3.net]
こりゃ完全な病気だな

206 名前:デフォルトの名無しさん [2018/08/23(木) 13:00:07.47 ID:4+C+OXJA.net]
高校生にボコられて発狂中www

207 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 13:08:24.14 ID:NPcuqlt3.net]
はいはい。良かったねw

208 名前:デフォルトの名無しさん [2018/08/23(木) 13:12:44.35 ID:29gBK1aD.net]
レベルが同じすぎて草

209 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 13:17:21.85 ID:NPcuqlt3.net]
ID変えるほど落ちぶれてはいないがな

210 名前:デフォルトの名無しさん [2018/08/23(木) 15:11:58.49 ID:zcVFY2eP.net]
マルチポストの件でスゴイ荒れてますけど、
僕の書き込みは、173が最後なので、その後の口論みたいなのは僕じゃないです。

ちなマルチポストが駄目って事は1ヶ月前に2chで教えてもらいました
だからもうマルチポストをするつもりはないです
2つのスレッドで報告したのは2つのスレッドで色々教えてもらったからです。
でも途中から見た人にはマルチポストに見えたかも知れません
すいませんでした



211 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 16:20:21.86 ID:SHqa2C3g.net]
よしジジイども、何が何でも叩け
ジジイのプライド見せてやれ

212 名前:デフォルトの名無しさん [2018/08/23(木) 16:29:22.48 ID:+UveuQfQ.net]
>>210
荒れるから酉つけろ

213 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 17:38:20.56 ID:NMWQFTIr.net]
ってかDBの方で設定してる最大のコネクションとコアは何本と何個なの?
そっちが問題だろ。
問題のクエリを何端末か開いて叩いてみればいいじゃないか。
別のメソッドは返事してくれてるんだから、nodeで何かする問題でもなかろう。

214 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 19:32:08.14 ID:4Ni+ZJQh.net]
>>210
マルチポストがなぜ駄目かの質問書き込みは私です
あらぬ疑いをかけられた様で申し訳ないです
マルチポストが駄目と言われたそうですが、もし理由があったなら教えてもらえないでしょうか

215 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 19:39:58.78 ID:S737Skjm.net]
>>214
Wikipediaの理由ひとつひとつに論理的に反論してみ

216 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 20:05:35.05 ID:4Ni+ZJQh.net]
>>215
>>186

217 名前:デフォルトの名無しさん [2018/08/23(木) 20:43:16.58 ID:n9wdMl+k.net]
実行するSQLをログで履いて、それを
コピーして手動でDBでSQL実行すると
意図通り4件のレコードが取得できるのに、
nodejsで同じSQLを実行するとresultオブジェクトの
行数が0件なのは非同期処理関係ありますか?
因みにresultオブジェクトは正しく取得できて
いてDBのテーブル名やカラム名情報は
取得できているから接続には問題がない。
一応、結果として返されてはいるのに、
何故か手動の時と結果の内容が違う。

218 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 21:33:44.64 ID:AuVZlFM/.net]
>>216
ひとつひとつに論理的に反論してみ

219 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 21:36:08.48 ID:NMWQFTIr.net]
>>217
件数が異なるのに、なんで「resultオブジェクトは正しく取得出来てる」と思えるの?
正しくないじゃん。

nodeでクエリ投げるユーザと、手動で実行するユーザは同じなの?
そのDBやテーブルでSELECTをGRANTしてないとかそういう話ではないと切り分けしてる?

220 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 21:45:16.98 ID:6IqyOKm1.net]
この手の輩は再現する最小コードを絶対に書かない



221 名前:デフォルトの名無しさん [2018/08/23(木) 22:48:43.81 ID:wvgL9Tt8.net]
1.回答が複数のコミュニティーに分散してしまい、知識の集積という1コミュニティーの目的にそぐわない。
2.ネット資源(サーバーや回線の能力)とて無限ではない。同じ内容の記事をばら撒くのは資源の無駄遣いといえる。
3.その問題に関心のある人は類似した複数のコミュニティーに参加して新規投稿をチェックしていることが多いが、あちこちの同じ投稿に対してそれが本当に目新しい内容かを峻別しなければならなくなる。
4.他のコミュニティーで付けられた回答を知らずに同内容の回答を付けてしまったり、他のコミュニティーですでに解決したことを知らずに検討を続けたり、善意の回答者の労力が無駄になる。
5.この場所だけでは質問が解決するか不安であるという不信感を表明することと、結果としては同じである。

222 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 22:52:21.73 ID:SHqa2C3g.net]
ウィキペディアの内容をコピペするのはマナー違反にならないの?

223 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 23:14:12.19 ID:yAx95x6B.net]
マルチポストごときで何を必死になってんだかねえ

224 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 23:17:06.11 ID:qUZ5eK5Q.net]
プログラミングと言うよりも、環境構築だろ。
LinuC・データベーススペシャリストなどの資格もいるし、数年以上掛かる

DB なんて、WEB+DB とか、ミックの本を読んだり、何年も勉強する

掌田津耶乃の本
Node.js超入門、2017
Python Django 超入門、2018

ましてや、Node, Django の本などは、ここ1, 2年の話。
一方、Rails なんて何十冊も出てるだろ

Node, Django ができる奴は、英語もできて、自分で問題を解決できる人だけ。
最低でも数言語できて、資格も持っていて、数年以上勉強している人だけ

そもそも簡単な言語の順番は、Ruby, Python, JavaScript の順番。
初心者は、無料のRails チュートリアルで、環境構築もみっちり勉強すべき

225 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 23:34:47.51 ID:p0u00SDp.net]
Node.js超入門は読んだけどこれ読んだだけだとNode.jsを使うアドバンテージなんて得られないと思う
素直にPHPかRubyでも使ってた方がいいんじゃないかってレベル

ちゃんと使おうと思うなら実践Node.jsプログラミングくらいを読んだ方がいいと思う

226 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 23:51:23.31 ID:AuVZlFM/.net]
.NET Coreが最近快適すぎて

227 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 23:51:55.65 ID:GEXgWULo.net]
>>221
2ちゃんねるがこんなに高尚なコミュニティーだとは知らなかった

228 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 23:58:21.87 ID:x1LmQtTu.net]
MSの環境に慣れたらもう戻れない

229 名前:デフォルトの名無しさん [2018/08/23(木) 23:59:41.31 ID:E5h4CmTu.net]
何日くらい回答なかったらマルチポストしていいんだろうかって悩むことはある

230 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 00:17:51.60 ID:+eNrM5zE.net]
>>229
そんなもんでいちいち悩まずマルチすりゃあいいんだよ。
ここは罵詈雑言、煽り上等、虚実混交の2ちゃんねるだ。
難癖付けられたら華麗にスル〜



231 名前:224 mailto:sage [2018/08/24(金) 01:25:32.83 ID:ZgK6e0Tb.net]
結局、掌田津耶乃の「Node.js超入門」「Python Django 超入門」を読んでも、触り程度。
本格的な勉強は、Python, JavaScript で、悪戦苦闘していじくりまわすしかない

それならRuby で、Sinatra をいじくりまわす方が簡単。
難しい言語のフレームワークをいじくりまわすのは、時間を損する

232 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 08:00:14.19 ID:q0UJEScu.net]
マルチしても良いけど、全部で言い方変えるのと、
全部の回収するのは徹底してほしい。

233 名前:デフォルトの名無しさん [2018/08/24(金) 13:05:33.08 ID:ZVlysGry.net]
>>224
掌田 ω
Rails ω

234 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 14:45:41.42 ID:ZgK6e0Tb.net]
世界中で、すべての主要言語のフレームワーク・ゲームエンジンの本を書いたのは、掌田だけ!

235 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 21:21:20.94 ID:FSpmxK6R.net]
昔ニフティーフォーラム会議室ってあったよなあ
マルチポスト探し出して投稿者を糾弾することを生きがいにしてたような奴がいたなあ

236 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 23:42:17.90 ID:Y6g05Ur0.net]
Nashorn生まれてすぐ脂肪www
憐れwwwww

237 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 12:44:20.44 ID:00w/RGH3.net]
>>217
resultをコールバックの中で取得してるよね?
コンセント刺さってる?レベルの質問で申し訳ないが

238 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 13:24:10.85 ID:FL+uDwnj.net]
Japはケチでロクなもんじゃないな
意地悪で陰険

239 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 13:25:10.28 ID:00w/RGH3.net]
>>238
急だな

240 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 19:58:20.44 ID:tqG09mle.net]
babel-upgradeで楽できるかと思いきやstage-*の中身を個別に書き足さなきゃ行けなくてしんどい



241 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 21:03:45.27 ID:1rD3/Svv.net]
Chromeの低速時JavaScript無効化はブラウザ側jsだよな
node.jsへ誘導する為の動き

242 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 02:58:42.50 ID:rrTM/UB7.net]
>>241
マルチ乙

243 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 05:29:56.60 ID:J05bSyHo.net]
サーバーサイドの意味を全く理解してないなこのマルチ

244 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 06:34:19.56 ID:ohwMH4+4.net]
さすがに釣りだろう

245 名前:デフォルトの名無しさん [2018/09/09(日) 01:50:35.75 ID:0bXk8YdS.net]
無名関数の req, res, に続く3番目の「next」ってなんなんですか?
「next()」を実行すると、次の処理が行われるって言うけど
「次の処理」が何なのかわからないかからよくわかりません。
nextで次に何が呼ばれるか確かめる方法ってありますか?
あとexpressには routesとviewのフォルダしか無いけど、
モデルクラスの定義ってどうやるの?
クラスを定義してオブジェクト指向をやろうとすると、
メンバ変数への値の格納や参照に「this」を使うけど、
JavaScriptの「this」って無名関数のなかだと違う意味になるし、
非同期処理だかthisに格納した値を生成したインスタンスから取り出そうと
思っても格納されていない。
無名関数内でメンバ変数に格納するという作業が後回しになって、
インスタンスからメンバにアクセスして値を取得するコードが
先に実行されてるからだと思う。
Promiseとか使ったけどこのメンバ変数への格納だけはうまく行かなかった。
というのはインスタンスのnewが関数実行じゃないから、
コンストラクタは返り値としてオブジェクトをreturnするわけじゃないだろ?
通常の関数のreturnが非同期でうまくいかない問題はPromiseで
解決できたけど、インスタンスのnewを非同期で成功させる方法がわからない。
node jsで無名関数を使わない処理なんてほぼ無いと言っていいから、
このままだとインスタンスを生成してクラスに処理を委託することができない。

246 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 02:07:58.37 ID:ytcgsCFj.net]
ドキュメント嫁

247 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 02:14:44.05 ID:rd2vglUK.net]
今北産業

248 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 09:50:06.93 ID:4j2Kj4Fd.net]
reqに入れれば次のミドルウエアなりなんなりで読めるっしょ。

249 名前:デフォルトの名無しさん [2018/09/09(日) 11:22:54.87 ID:kzlGF2pO.net]
メソッドチェーン

250 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:30:53.56 ID:0ym3cmgA.net]
JavaScript のthis は、文脈依存だからバグる。
jQuery, Haxe では、this を変えてる

だから事前に、this を取っておく。
変数 = this

フレームワークは最初に、無料のRails チュートリアルをやった方が、わかりやすい

Node.js超入門、掌田津耶乃、2017



251 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:57:43.82 ID:4SlBIw2j.net]
var that=this
先輩がよく書くこれが何の事か理解するのに半年かかった。

252 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 21:09:26.80 ID:4j2Kj4Fd.net]
>>250
またRails語の布教してるの?
次世代言語スレで叩かれて学習しただろう?

253 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 22:13:11.20 ID:XVLphpcz.net]
クラスのコンストラクタでasync await使えるようになってほしい

254 名前:デフォルトの名無しさん [2018/09/10(月) 11:08:22.30 ID:wQh8RVrU.net]
>>252
x Rails語の布教
〇 掌田津耶乃の宣伝

255 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 18:56:16.28 ID:xy7pEog1.net]
本人定期

256 名前:デフォルトの名無しさん [2018/09/11(火) 13:46:36.75 ID:pwo3DQbp.net]
布留川英一の本っていいの?

257 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 17:13:33.45 ID:je6kVHqj.net]
ここに関係ある本なんて出してた人だっけ?

258 名前:デフォルトの名無しさん [2018/11/09(金) 12:24:29.99 ID:fHYOMbmE.net]
Promiseの再帰について質問です
やりたいことは、フォルダの中を再帰的に掘って見つけたファイルを配列に入れて返す、です
フォルダの深さやファイル数は不確定です

1フォルダの中身をループでひとつずつ見ていって
 ファイル・フォルダか判定し
  ファイルなら返す配列に入れる
  フォルダなら再帰
   返った配列を、返す配列にconcat

とする再帰関数を作れば良いと考えたのですが
この再帰関数自体と、ファイル・フォルダ判定が非同期なので、全部堀り終わったかわかりません

そこでループの中身をまるっとPromiseにして、仮配列に貯めておき
最後にPromise.allで実行する、としているのですが、なんか回りくどい気がします
考え方は正しいでしょうか?
https://jsbin.com/rocebihipo/edit?js

259 名前:258 [2018/11/09(金) 12:25:11.79 ID:fHYOMbmE.net]
スレ違いだったらすんません

260 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 12:41:54.63 ID:gpiLPqbS.net]
statSync



261 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 14:55:23.41 ID:9TLjX86J.net]
あるいは再帰関数内でasync-await使えばいいんじゃない
どっちによ最初の関数が終了するかpromiseがresolveすればそれが完走判定になる
素直にnpmから同じことをやるモジュール拾って使ったほうがいいと思うけど

262 名前:258 [2018/11/09(金) 15:04:40.93 ID:fHYOMbmE.net]
あざます

>>260
同期ならふつうの再帰関数になるので
数が少ないうちはそれでも良いかなと考えてます

>>261
なるほどー

263 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 23:15:09.16 ID:11OK0uj5.net]
files = [ ]

Dir.glob( 'C:/Users/Owner/Documents/**/*.txt' ) do | full_path |
next if File.directory? full_path # ファイルだけを処理する

files.push full_path
end

puts files

Ruby なんて、これだけ。
glob に、** で再帰する。glob star

ただし、. で始まる、directory, file を除く

264 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 00:00:53.51 ID:jxhvzDRc.net]
rubyをすべてのスレで非表示推奨

265 名前:デフォルトの名無しさん [2018/11/10(土) 13:44:39.63 ID:KutuN/gN.net]
同意せざるを得ない

266 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 22:54:16.36 ID:uI2sCS6p.net]
find ./ -name "*.txt"

find なんて、これだけ。

267 名前:デフォルトの名無しさん mailto:sage [2018/11/20(火) 11:26:56.53 ID:uxKeWy0p.net]
ウインドーズ環境でnode.jsでcon.拡張子 みたいなファイル作ったら消せなくなるな。
いろいろ調べてやってみたが全部のほうほうで消せなかった。
消せなくなる勇気があればやってみてほしい。

268 名前:デフォルトの名無しさん [2018/11/20(火) 12:46:58.78 ID:ZfASh1x8.net]
管理者でコマンドプロンプト開いて
rd /s "\\?\フォルダ名"

269 名前:デフォルトの名無しさん [2018/11/28(水) 21:53:23.10 ID:ndifwdFb.net]
visual studio 2017ってnode.jsは自分でダウンロードして
インストールする必要があるの?

270 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 23:24:27.79 ID:C4pMtE3c.net]
>>269
もち



271 名前:デフォルトの名無しさん mailto:sage [2018/11/28(水) 23:42:01.46 ID:LGvbReX9.net]
vs17?vscodeじゃなくて?

272 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 00:45:45.96 ID:eqpLvbYV.net]
>>271
VS2017でもnode.js開発できるよ

273 名前:デフォルトの名無しさん mailto:sage [2018/11/29(木) 01:11:01.78 ID:rs9fzmaE.net]
日本語通じてない感やばない?

VS2017はインストール時にNodeを一緒にインストールするか選べる

274 名前:デフォルトの名無しさん [2018/12/02(日) 18:17:04.36 ID:r/YV3Hmh.net]
農奴はオワコン

275 名前:デフォルトの名無しさん mailto:sage [2018/12/02(日) 19:49:58.35 ID:hHHhmr7T.net]
>>258
好きなの使え
https://www.npmjs.com/package/walker
https://www.npmjs.com/package/walkdir
https://www.npmjs.com/package/walk
https://www.npmjs.com/package/fs-walk

276 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 09:51:27.26 ID:/0a+/ZiL.net]
グローバル空間に、ネームスペースを付けずに、パッケージに
含まれる関数全部を一度に分割代入を使わずにリクワイヤーするにはどうやりますか?

277 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 11:10:58.92 ID:9Mj5/4cf.net]
require('hoge.js');

278 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 11:30:16.23 ID:jEzMm4KB.net]
Object.assign(global, require('hoge.js'))

279 名前:デフォルトの名無しさん mailto:sage [2018/12/21(金) 15:27:30.27 ID:/0a+/ZiL.net]
>>277
ありがとうございます。
リファレンスエラーになってできませんでした。

280 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 00:53:23.01 ID:RKXbiRtg.net]
2018年になってようやくnpmを理解できた



281 名前:デフォルトの名無しさん mailto:sage [2018/12/23(日) 04:40:19.41 ID:4FLJEAfZ.net]
今年中にわかってよかったな

282 名前:デフォルトの名無しさん [2018/12/23(日) 12:40:19.38 ID:1CMGQ+zK.net]
npmはオワコン

283 名前:デフォルトの名無しさん mailto:sage [2018/12/25(火) 22:12:21.78 ID:a1VV5QoF.net]
未だに--saveが必要なくなったことに気がついてない人がいる

284 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 01:01:54.88 ID:o7c2/aOT.net]
>>283
マジかよ…知らなかった…

285 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 23:32:12.78 ID:0rGTuPiX.net]
ホントだ 知らなかったwww

286 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 15:48:56.03 ID:5w9WbE4d.net]
あの変更はかえって--no-saveする手間が増えて不便だわ

287 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 15:52:03.62 ID:kq41KEy5.net]
cliとしてはyarnの方が使いやすい

288 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 16:20:54.35 ID:dG7CRozn.net]
>>287
どうしてそう思うのか書いてもらえないと参考にならない。
海外のブログ読んでると、真っ先にyarn移ったような人たちが最近続々とnpmに戻ってきていて、俺にはなぜyarnに移ったのか、そしてなぜnpmに戻ってきたのかサッパリ分からない。

289 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 16:31:34.16 ID:9Wczl2GP.net]
今さら分からない人は分かりたいとも思ってないだろうからどうでもいんじゃね?
npmに戻る人がいるのはnpmがyarnのいいところをどんどん取り入れたからだろう
まともなロックファイル、パフォーマンス、コマンドラインの改善(npx含む)はyarnの後追い
npm独自なのはセキュリティ周りか

290 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 18:00:55.29 ID:2IMw5f1U.net]
良くも悪くも、標準だからだと思うけど。
俺も標準だから戻ったよ。



291 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 18:13:43.11 ID:00PdR8uN.net]
標準の地位に胡座をかいてシュリンクラップ糞のまま放置してたからyarnに寝首をかかれた
なんでも独占はよくない切磋琢磨が必要

292 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 19:09:40.30 ID:cQueOXAg.net]
ラズパイでなんかやろうとしたときに全然うまくいかなくて試しにyarnにしたらうまくいった事はあった

293 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 19:18:59.81 ID:dG7CRozn.net]
npmのとこ行っちゃいyarn…

294 名前:デフォルトの名無しさん mailto:sage [2019/01/16(水) 02:20:59.42 ID:r494tM7s.net]
ほとんどAPI同じだけどstatsじゃなくてdirent実装したのは何でなん?

295 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 00:35:01.04 ID:DKQzzj98.net]
yarnはパッケージマネージャー界のCoffeeScript

296 名前:デフォルトの名無しさん mailto:sage [2019/01/21(月) 12:31:54.36 ID:yPBr5z/L.net]
それはない

297 名前:デフォルトの名無しさん mailto:sage [2019/02/27(水) 08:08:28.87 ID:OYLvU+sF.net]
node.jsに将来性はあるかなぁ?

298 名前:デフォルトの名無しさん mailto:sage [2019/02/27(水) 09:26:32.31 ID:gzx7LPiY.net]
個人的な感覚だけど組込み関連でもっと伸びるんじゃないかと思う
最近シリアル通信のプログラムよく書いてるよ

299 名前:デフォルトの名無しさん mailto:sage [2019/02/27(水) 09:53:02.76 ID:haTnnqie.net]
あの遅いpythonですら許容されてるもんな。

300 名前:デフォルトの名無しさん [2019/04/02(火) 19:47:41.43 ID:2j6V1crX.net]
非同期処理できなくて泣きそう



301 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 21:28:46.28 ID:3dIjgbOm.net]
node.js は、Ruby on Rails でも必須

Babel, Webpack で、ES2015 を、ES5 へ変換する。
Coffee Script, Type Script は不要

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017

Rails プログラマーも、この本を読むのが必須!

302 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 21:53:33.10 ID:bvgXxWzo.net]
jsはフロントエンドで排他的な地位を築いてるわけだがwasmで変わるかどうか

303 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 06:46:18.73 ID:JogZOakl.net]
つうかwasmっていつ始まるんだよ

304 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 08:54:18.63 ID:6aon8UUL.net]
もう始まってるよ!

305 名前:デフォルトの名無しさん [2019/05/18(土) 01:39:55.47 ID:NUmvom/y.net]
class使うと冗長的でイヤだな〜
JAVAの人以外に使う人いるのか?
PHPもclass文化が入ってきてから長ったらしくて見にくくなった

306 名前:デフォルトの名無しさん [2019/05/18(土) 23:10:19.77 ID:V1bm/mN0.net]
入れ物どうするの?

307 名前:デフォルトの名無しさん mailto:sage [2019/05/18(土) 23:47:25.37 ID:6fmwe7rg.net]
昔はReactはclass必須だったけど最近はconstしか使わなくなったな

308 名前:デフォルトの名無しさん mailto:sage [2019/05/20(月) 13:57:02.12 ID:315y2LTs.net]
>>306
え?

309 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 10:36:45.88 ID:P9kv6fd4.net]
https://electronjs.org/releases/stable
electron のバージョンを確認すると.6.4.1と出るんですが、最新と違います
なにか間違っているでしょうか
npm electron -v
こうやってます

310 名前:デフォルトの名無しさん mailto:sage [2019/05/25(土) 11:18:04.02 ID:lK+K49ID.net]
>>309
それじゃnpmのバージョンが表示されてるだけ
npm outdated electronとか
npm list electron



311 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 07:33:35.43 ID:BNx/1Kr/.net]
仕事じゃなければclass使う機会ないんじゃないの?
もともと第一級言語だし。
JAVAはいちいち面倒なことしてるなって思う。

312 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 13:33:28.57 ID:/3XSSWvk.net]
去年までのreactではライフサイクル扱うのに必須だったからそれなりにclass使ってた
今はhooksで不要になったけど
vuejsでclass使わないのはvuejsのclassサポートの出来が悪いから
webcomponentsではclass使う

313 名前:デフォルトの名無しさん mailto:sage [2019/05/26(日) 13:34:42.45 ID:/3XSSWvk.net]
おっとwebcomponentsではssrしてないからスレチか

314 名前:デフォルトの名無しさん mailto:sage [2019/05/28(火) 18:26:28.76 ID:u9qp/pn3.net]
Readable.from便利だな

315 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 14:14:57.93 ID:jracdouM.net]
ちょっと実装の依存関係について質問。
deps配下って、
依存モジュール構築時、node.jsそれ自体に依存しているけど、どうやってビルドしているの?

https://github.com/nodejs/node

316 名前:デフォルトの名無しさん mailto:sage [2019/08/15(木) 16:24:58.54 ID:tw8yrSxj.net]
依存してるか?
置いてあるだけでは?

317 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 13:12:16.63 ID:7O56BTDL.net]
dockerでwindowsとalpineの間で共有フォルダを作り、windows上のvscodeで作業しています。
作業ファイル(React)をvscodeを通してdocker内でnpm startしローカルホストを立てそれをwindowsのchromeでアクセスしています。

そのとき、ファイルを変更しては保存をしての繰り返しで挙動を逐一チェックしたいのですが、
修正した.jsファイルを更新してもブラウザ上では内容が更新されません。
一度ctrl c を押して停止させてから、再度npm startをして接続すると、ブラウザでも修正内容が更新されます。
ブラウザのキャッシュ削除や、検証モードでdisable cacheにチェックを入れていても同じでした。

dockerを使わないwindowsだけでの作業をしていた時は、ブラウザの更新マークを押すだけで修正内容が反映されていました。

現在、自動でキャッシュを削除してくれるるnodemonを入れて作業しているのですが、
こちらも結局は、ファイルを上書き保存した時点で自動でnpm startを繰り返してくれるだけなので
どうしても時間がかかってしまいます。

上書き保存をし、ブラウザを更新しただけで修正内容が反映される様にするにはどうすればいいでしょうか?

318 名前:デフォルトの名無しさん mailto:sage [2019/09/07(土) 13:39:38.96 ID:FOx1f63/.net]
nodemonってことはwebpackは起動してない?
hot module replacement(HMR)使うならdockerの中だろうとwebpack通さないと
あとHMRちゃんと設定できてればブラウザのリロードしなくてもファイル保存しただけで変更が反映されるよ

つか画面周りの開発でdocker使っていいことあるか?

319 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 18:31:46.54 ID:VwkXsBh7.net]
初心者ですがWindowsでnode.jsを使いたいのですが
一人で開発する分にはnvm-windowsとnode.jsとvscodeぐらいを入れとけばやれますか?
作ったアプリを配布する際にパッケージの依存関係を何かに表さなければならないと思うのですが、どう抽出して何に記述しますか?
あとBrowserifyって額面どおりのことを本当にやれるんですか?
(たとえばローカルファイルにアクセスしたりソケット通信するようなJavaScriptコードについて

320 名前:デフォルトの名無しさん mailto:sage [2019/10/19(土) 20:52:32.38 ID:yv9dYCWj.net]
ガチの初心者かい
的外れなこと聞くよりnpmとかyarnのチュートリアル探してやった方が意味があるぞ



321 名前:デフォルトの名無しさん [2019/10/20(日) 10:50:05.69 ID:Xl2t0ZNf.net]
ツールを検討するレベルにもまだ達していないな

322 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 12:17:01.14 ID:ADDbXmaX.net]
Node.js, VSCode, Babel, Webpack。
他には、VSCode の拡張機能とか、yarn, gulp

タスクランナーは、gulp, npm scripts

PC 内のファイルにアクセスするなら、Electron とか。
VSCode も、Electron 製

323 名前:デフォルトの名無しさん [2019/10/20(日) 12:19:52.71 ID:FREy/Z7W.net]
なるほどPC内のファイルにアクセスするためのツールなんですね、Electronって。

324 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 12:49:58.20 ID:TAO9/plN.net]
ファイルにアクセスするだけならnode.js単体でもできる
electronはブラウザとnode.jsを統合したものでHTMLベースのGUIを持ちつつファイルやネットワークを自在に扱える
つまりデスクトップアプリのプラットフォーム

325 名前:デフォルトの名無しさん [2019/10/20(日) 13:14:43.74 ID:Df2Q09El.net]
えっ、でも>>322が…

326 名前:デフォルトの名無しさん mailto:sage [2019/10/20(日) 13:36:05.62 ID:nEJBA+Mj.net]
こんなとこ鵜呑みにしないで自分で調べろ

327 名前: mailto:sage [2019/10/20(日) 23:37:18 ID:ADDbXmaX.net]
Electron は、サーバー側・GUI の両方を、1つにまとめたもの!

V8 は、JavaScript の実行環境

サーバー側は、Node.js + V8。
GUI はブラウザで、Chromium + V8

おおー!
V8 が重複しているから、これを1つにしたら効率的!

つまり、Electron = Node.js + Chromium + V8

だから、Electron アプリは、300MB もあるw

328 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 00:49:40.00 ID:cifrZUYa.net]
>>327
知らないならそんな無理してレスしなくてもいいやろ

329 名前:デフォルトの名無しさん [2019/10/21(月) 02:36:24 ID:W7vxtZcq.net]
>>327
なんで>>322みたいなウソつくの?ねぇ!?

330 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 02:49:42.38 ID:rOQwe8UN.net]
この変な改行は見覚えあるな
いつもWeb板の質問スレでめちゃくちゃなレスしてるやつかな



331 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 21:10:41.94 ID:R3+rebPF.net]
違うよ。Rubyガイジっていう、ム板で一番嫌われているキチガイ。

332 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 21:21:14.20 ID:gI2SKdMr.net]
そいつweb板にも来てるよ

333 名前:デフォルトの名無しさん [2019/10/25(金) 23:35:33.90 ID:9ZGj0mXw.net]
糖質の見本みたいなやつ。医学発展のために献体すべき。

334 名前:デフォルトの名無しさん [2019/10/26(土) 10:05:13.04 ID:e6NVGnmw.net]
糖合質調症
脳が糖で溶ける

335 名前:デフォルトの名無しさん [2019/11/03(日) 20:01:18.21 ID:v1wfX+lc.net]
Nodeって、なんでこんなに広がったんだろうな?
たかだかjs如きが

336 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 20:16:57.32 ID:lIMPkprv.net]
jsだからじゃね

337 名前:デフォルトの名無しさん mailto:sage [2019/11/03(日) 23:25:52.66 ID:ungx1UoX.net]
たかがJSと蔑まれる要因だった高過ぎる自由度が、ベストプラクティスの集積のお陰ですべてプラスに転化してしまったんだ

338 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 00:16:03.94 ID:U87Emrnv.net]
古くはunixやcもたかがだしpcもwindowsもたかがだし
たかがtcp/ip、たかがjava、たかがlinux、そんなばっかだぞ

339 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 02:10:19.67 ID:PlunRwPx.net]
詰まったので質問させてください
WSH(JScript)で書いたスクリプト[run.js]からnode.js[test.js]を実行して結果を標準出力で受け取って表示させると日本語が文字化けします
文字化けしないように受け取るにはどうすればいいか教えてください

[run.js](WSH)test.jsを実行して標準出力で結果を受け取る
var WShell = WScript.CreateObject("WScript.Shell");
a = WShell.Exec("\"C:\\Program Files\\nodejs\\node.exe\" C:\\script\\test.js").StdOut.ReadAll();
WScript.echo(a);//結果の日本語文字化け
WScript.Quit(0);

[test.js](node.js)コマンドプロンプトのdirの結果
var childProcess = require("child_process");
var iconv = require("iconv-lite");
var buffer = childProcess.execSync("dir",
{
timeout: 60 * 1000, // タイムアウト1分
});
console.log(iconv.decode(buffer, "Shift_JIS"));

340 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 02:25:09.17 ID:ku/TWmjC.net]
少なくともブラウザ上で実質唯一の選択肢だったのがブラウザ以外で実用的になったわけだし, 広がる道理としては十分だと思うけどな



341 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 08:35:20.63 ID:SxA1gV4C.net]
サーバーサイドでnode使ってる人いる?

342 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 08:42:56.84 ID:cptTSbgU.net]
>>339
chcp 65001 は実行済み?

343 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 10:32:03.99 ID:PlunRwPx.net]
>>342
ありがとうございます!
CodePageを65001にしても変わらずrun.js実行で文字化けの結果が返ってきます・・・

344 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 10:33:10.71 ID:PlunRwPx.net]
あ、CodePageじゃなくてchcpです。レジストリからいじってやりました・・・

345 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 11:20:17.56 ID:kKuYGgew.net]
>>339
process.stdout.write(buffer);

346 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 11:40:31.03 ID:PlunRwPx.net]
>>345
ありがとうございました!最後の行を置き換えたら文字化けせずに表示されました
ずっとハマってたのでちゃんとできて泣きそう聞いてよかった

347 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 13:20:30.25 ID:Zu03xGz4.net]
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる

CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0

WScript.Shell の、Run, Exec は、絶対パスじゃなくても、node みたいなコマンド名で書けるだろ?
例えば上なら、powershell というコマンド名

コマンドプロンプトで、where node と入力すると、パスが通っているだろ?
C:\Program Files\nodejs\node.exe

348 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 13:20:30.45 ID:Zu03xGz4.net]
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる

CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0

WScript.Shell の、Run, Exec は、絶対パスじゃなくても、node みたいなコマンド名で書けるだろ?
例えば上なら、powershell というコマンド名

コマンドプロンプトで、where node と入力すると、パスが通っているだろ?
C:\Program Files\nodejs\node.exe

349 名前:デフォルトの名無しさん mailto:sage [2019/11/04(月) 20:17:02.81 ID:PlunRwPx.net]
はい、絶対パスはnodeに短縮できました

350 名前:デフォルトの名無しさん mailto:sage [2019/11/10(日) 15:12:00.68 ID:xm1aPYIT.net]
そのやり取り見てふと探してみたけどNodeから扱えるクリップボード監視APIorモジュールってないんだな
単なるコピペなら見つかったけど



351 名前:デフォルトの名無しさん mailto:sage [2019/11/12(火) 13:33:25.22 ID:7YZfdUQ7.net]
node.jsでローカルのクリップボード操作ってどうしてる?
java使ったりFlash使ったりは見つかるけどいまいち

352 名前:デフォルトの名無しさん [2019/11/12(火) 13:39:01.64 ID:VHJGIodx.net]
>>351
https://github.com/sindresorhus/clipboardy

353 名前:デフォルトの名無しさん mailto:sage [2019/11/12(火) 15:21:55.81 ID:7YZfdUQ7.net]
>>352
ありがとう
これ超簡単だ

354 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 04:55:17 ID:gxeBmcpY.net]
npm startをしたところ
Something is already running on port 3000. Probably:
Would you like to run the app on another port instead?
と表示されNoを選択したところローカルで立ち上がりませんでした。

(先にport3000を閉じたくてNoを選んだのですが)
既にport3000が立ち上がっているのが原因かと思うのですが
port3000のローカルを閉じるにはどうすればいいのでしょうか?
通常ですとctrl cで閉じれると思うのですが、
気づいたらそのフォルダごと消えていて、でもport3000は更新しても立ち上がったままになっていまして。
フォルダの方は練習用だったので消えても良いのですが
今後のためにport3000を閉じるコマンドを教えて頂けないでしょうか

355 名前:デフォルトの名無しさん [2019/11/23(土) 09:32:04.13 ID:cBKKqL2b.net]
netstat -a -n | grep 3000

356 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 22:16:23.66 ID:fbMjr17B.net]
>>355
こういったコマンドがあったのですね・・・
関連コマンドも調べてみて勉強になりました
ありがとうございます!

357 名前:デフォルトの名無しさん [2019/12/03(火) 09:38:40 ID:yN5r9ueQ.net]
ここサーバーサイドのスレだよな

358 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 00:05:17.66 ID:OYZOPSrf.net]
prompt系モジュールでtimeout実装したのって無いの?
探したけどinguirerがプラグインで追加できるくらいしか見つからなかった

359 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 00:19:44.26 ID:+KWK+mzK.net]
>>358
Promise.race()でタイマーと組み合わせればいい

360 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 21:41:20.26 ID:j7231URK.net]
全く初心者です。
Node.js と nuxt.jsってどうちがうの?



361 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 21:52:48.22 ID:vHo7jlv+.net]
nuxtはnodeの上で動く

362 名前:デフォルトの名無しさん [2019/12/17(火) 22:36:05.58 ID:SHyLrbNS.net]
なるほど

363 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 11:46:32.95 ID:j3JURanB.net]
Node.js は、Electron, Ruby on Rails でも使う、すべてのweb 系の基礎。
絶対に、インストールして使うもの

パッケージマネージャーのnpm/yarn も使う。
Webpack, Babel なども

Nuxt.js は、Vue.js をより効果的に使うためのライブラリ

JavaScript のサーバー側は、Node.js で、
クライアント側は、jQuery, Vue.js, React など

364 名前:デフォルトの名無しさん [2019/12/18(水) 11:58:33.63 ID:kJrLdJZA.net]
初めてwebpackでサンプルをビルドした新参ですが、node moduleからbrowser.jsっていうのが組み込まれているようです
これって何をするものなんでしょうか?

365 名前:デフォルトの名無しさん [2019/12/18(水) 11:59:14.85 ID:RQBBPl9v.net]
>>363
さすが農奴
はんぱねぇわ

366 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 14:06:17.43 ID:j3JURanB.net]
browser.js は、babelで変換せずに、ES6で書いたJSを、ブラウザで実行する

Not intended for serious use
Compiling in the browser has a fairly limited use case...

まあ、実験用

詳しくは「browser.js」で検索して!

367 名前:デフォルトの名無しさん [2019/12/18(水) 16:43:15.09 ID:kXCOuU9J.net]
>>366
有り難うございます

ES6で書かなければ必要ないものが組み込まれちゃうって事なんでしょうか?
自分のコードが大丈夫でも使用したmoduleがES6の可能性あるとかなのかな
とりあえず気にしない事にします

368 名前:366 mailto:sage [2019/12/18(水) 22:32:50.86 ID:j3JURanB.net]
VSCode では、普通にES6 でも動くから、気にした事がない

それが他人のプロジェクトなら、その設定ファイルに書いてあるのだろう

369 名前:デフォルトの名無しさん [2019/12/21(土) 13:23:45.97 ID:gaERTb6x.net]
サーバにphpとDBおいてフロントサイドをjsで運用しているんですが
web-dev-serverでこういった環境をローカルに作る事って可能でしょうか?
それともnode.jsを使う以上サーバサイドもjsにしてしまうべきなんでしょうか?

370 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 13:29:18.33 ID:tKqa0Mcd.net]
PHPのbuilt-inのweb server使え



371 名前:デフォルトの名無しさん [2019/12/21(土) 13:58:12.68 ID:gaERTb6x.net]
>>370
有り難うございます
今までxammpっていうのを使っていたのでそれに流せばいいのでしょうか?
ちょっと試してみます

372 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 14:16:41.22 ID:tKqa0Mcd.net]
>>371
流す?

projectのrootディレクトリで
$ php -S localhost:8080
ってやれば
localhost:8080/foobar.php
でアクセス可能

373 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 15:31:45.26 ID:BSqycIZI.net]
Ruby なら、PowerShell から、1-liner で、
Rubyで作られた遅いウェブサーバー、WEBrick が起動する

ruby -run -e httpd . -p 8080

そのフォルダに、index.html があれば、
何も考えなくても、これでブラウザからアクセスできる

localhost:8080

これで遊んだ後は、Routing, O/R マッパーなどを備えた、Sinatra, Rails などのフレームワークを使う。
Rails のコピーが、CakePHP, Spring Boot

374 名前:デフォルトの名無しさん [2019/12/21(土) 15:43:47.89 ID:DXb4EnUP.net]
最終的な構成で、考えれば?
フロントエンドをサーバーサイドと一緒に配布する(ただの静的ファイル扱い)だけなら、同じサーバでいいけど、
そうでないなら、フロントエンド側も初めから別のサーバにしておく方がいい(CORS対応は必須)。

375 名前:デフォルトの名無しさん [2019/12/21(土) 15:52:38.28 ID:5ArYAWFR.net]
>>373
お前、アムロの父ちゃんみたいだなw

376 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 16:08:05.96 ID:CcLWlaTM.net]
dev-serverだから開発用途のでしょ
たぶんwebpack-dev-serverだろうけどそれならhot module replacementとか使えるからサーバが何だろうと開発時は使うべき
サーバがnode以外の時はproxyの形で使える

377 名前:デフォルトの名無しさん [2019/12/23(月) 13:15:15.27 ID:lCv+3OMn.net]
>>376
有り難うございます
proxyの概念自体がよく解ってないんですが、そういう仲立ち的な使い方も出来るという事ですね

ちょっとnpmだけでも覚える事が多すぎるのでゆっくり慣れていく所存です…

378 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 22:45:35.05 ID:nv2HpLa5.net]
Node.js のnpm, yarn, PHP のComposer とか、Ruby のBundler のコピーだろ。
別に、覚えることなんてない

global/local のインストールの区別と、本番用/開発用の区別だけ。
それと、設定ファイル

379 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 23:46:27.75 ID:blTffQrc.net]
たぶんnpmレジストリで公開されてるパッケージ群の総称としてnpmと言ってんじゃね

380 名前:デフォルトの名無しさん [2019/12/24(火) 14:05:27.32 ID:IBUEMR4t.net]
npmのパッケージ全部覚えるとか
Cの野良ライブラリ覚えるのとか
githubのレポジトリ全部覚えるのとか
苦行以外の何物でもない



381 名前:デフォルトの名無しさん [2020/02/15(土) 11:48:59.21 ID:rOuGo3aV.net]
node.jsはjavaにおけるjvmみたいなもの?

electronを使ったデスクトップアプリは今後普及するでしょうか?

382 名前:デフォルトの名無しさん [2020/02/15(土) 15:14:42.82 ID:C3ilCL7T.net]
実行環境という意味ではそっすね

383 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 17:28:25 ID:rOuGo3aV.net]
>>382
web開発で培った技術がパソコン・携帯端末でもさらに活かせるようになったら嬉しい。

384 名前:デフォルトの名無しさん mailto:sage [2020/02/16(日) 07:11:26.16 ID:5EL9p8ON.net]
VSCode は、Electron 製

マルチプラットフォームは、
React Native + Expo
アシアルのMonaca(Cordova/PhoneGap) + Onsen UI
Mono を使っている、Unity, Xamarin

やっぱり漏れは、サーバー側は、Node.js よりも、Ruby を使うけど

385 名前:デフォルトの名無しさん mailto:sage [2020/02/16(日) 08:37:01 ID:GfLcoptO.net]
Ruby使うセンスはわからんな。
今どきRailsとか?
あんなの使うぐらいならPHPで素組したほうが早いし安全だと思うわ。

386 名前:デフォルトの名無しさん mailto:sage [2020/02/16(日) 12:47:35 ID:iNVxJNOu.net]
>>385
>あんなの使うぐらいならPHPで素組したほうが早いし安全だと思うわ。
流石にそれはないww

387 名前:デフォルトの名無しさん mailto:sage [2020/02/16(日) 13:36:59 ID:WhOeRDRv.net]
>>386
Railsがそれぐらいあり得ない悪手だよ、今どき。

388 名前:デフォルトの名無しさん [2020/02/18(火) 01:59:27 ID:1aZdIiHX.net]
案件の数的にはphp, laravelってのが多いな。
PHPも7以降はプリミティブにもタイプヒンティング使えるからそれを積極的に使うとrailsより良かったりする。

389 名前:デフォルトの名無しさん [2020/02/18(火) 05:16:07.44 ID:KGU+DtHT.net]
うつ病君
青木 一泰

390 名前:デフォルトの名無しさん mailto:sage [2020/02/18(火) 09:42:41 ID:0PsFYxUX.net]
PHPはフレームワーク使わずに、きちんとバリデーションして信頼境界線を意識して使うと、すごく便利よ。
歯を磨くには歯ブラシだなって思う。



391 名前:デフォルトの名無しさん [2020/02/18(火) 21:16:40.68 ID:enVFBik2.net]
Ruby は、JIT で速いから、web サイトの最高速度は未だに、Rails。
世界を驚嘆させた、dev.to もそう

表示速度が“異常な”Webサイト「dev.to」とか
https://dev.to/

元乃木坂46 の川後陽菜のWebサイト、SKIYAKI とか
https://kawagopro.com/

でも、PHP も、次からは、JIT を搭載するらしい

392 名前:デフォルトの名無しさん [2020/02/19(水) 10:03:13.31 ID:z/G/Tqiv.net]
Electronで作られたソフトってVSCode以外に何がある?

393 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 10:16:12.59 ID:4HrdDmIC.net]
Electronによる掲示板ビューア Siki
egg.2ch.net/test/read.cgi/software/1581869479/

数日前偶然見つけた

394 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 10:46:23.82 ID:WbyYOLLj.net]
>>392
Slack
Fiddler Everywhere

395 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 11:15:19 ID:WbyYOLLj.net]
Skype、Discord、Atom、Wordpress、WhatsAppのそれぞれデスクトップ版はElectronらしい

396 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 16:22:36 ID:z/G/Tqiv.net]
>>393-395
返信ありがとうございます。

397 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 18:04:10.08 ID:5ReMICFY.net]
>>392
公式サイトにまとめられてる
https://www.electronjs.org/apps

398 名前:デフォルトの名無しさん mailto:sage [2020/03/03(火) 12:38:04.52 ID:OUIky4K3.net]
HomebrewのインストーラがBashに置き換えられた

399 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 15:04:35 ID:F6UjfHtk.net]
GitHub、パッケージ管理システム「npm」をメンテナンスするnpm, Inc.を買収
ttp://forest.watch.impress.co.jp/docs/news/1241272.html

400 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 15:06:30 ID:hD7fKBeR.net]
一番望まれてたところに落ち着いてよかったな



401 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 19:30:12 ID:kaSPl16J.net]
どっちにpublishすればいいねん問題は杞憂に終わったか
でも一強他弱の構図ってあんまりろくなことにならないんだよなぁ

402 名前:デフォルトの名無しさん mailto:sage [2020/03/18(水) 00:48:08 ID:DfI3jJn5.net]
やーんが頑張るやん

403 名前:デフォルトの名無しさん mailto:sage [2020/03/18(水) 00:56:50 ID:Y6R8GMvO.net]
やーんはcliだから今の話とはちょっと…
リポジトリ/レジストリがms/github一強過ぎて他の選択肢がーってことよね

404 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 01:34:09 ID:bDh7CEKX.net]
eventsモジュールにいつの間にか生えてるonceメソッド
ずっと前にこのスレで誰かが欲しがってたやつだな

405 名前:デフォルトの名無しさん mailto:sage [2020/05/14(木) 13:28:24.58 ID:IPYOGIQF.net]
Deno出てきたけどコアモジュールの互換性がないのはきつい
両対応のための中間モジュールが必要になって太る結果にならないといいけど

406 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 10:25:40.44 ID:f6yoswhG.net]
今から始めるならDeno1択ですね

407 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 12:43:33 ID:D/2Y1Nc3.net]
勉強を始めるならそれでもいいがプロダクションで使うのはまだしばらくnode一択だな

408 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 14:17:45 ID:XFHZbI1n.net]
Deno普通に良さそうだな。
地味に名前で喧嘩売ってるのも嫌いじゃない。

409 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 15:05:29 ID:bDXiWOOM.net]
次はおでん

https://twitter.com/ryanflorence/status/1261097693033553920
node
deno
enod
oden <- this has potential
(deleted an unsolicited ad)

410 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 15:59:01 ID:pmJJj293.net]
deno、typescriptネイティブに使えるのが良いな
セキュリティ機能は、早々にalias切って無効化して使いそう。
あと、モジュール読み込みがgolangぽくURIなのは構わんけど、deno.landの信頼性が未知数だ



411 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 16:38:25.62 ID:XFHZbI1n.net]
モジュールがURIなのはgoと同じ轍を踏みそうで気にはなるな。
みんなちゃんと互換性に注意して作って、最初からRESTなAPIのようにv1とかv2とかパスに含めるかな?みたいな猜疑心はある。

ただ、Denoでよくやったと思うのは、バンドラーを積んだ事だと思ってるけど、みんなどう思う?
今までnodeで作ったサーバモジュールをインターネットが繋がってない環境にデプロイするの、結構めんどくなかった?

412 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 18:40:18.02 ID:ZSTUbran.net]
npmのパワーなしに開発なんて出来ない

413 名前:デフォルトの名無しさん mailto:sage [2020/05/17(日) 19:13:03 ID:CWw2P5tA.net]
arm64用のパッケージがほしいdeno

414 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 09:17:50 ID:y60azEFm.net]
bundleは素晴らしいと思う。
モジュールURIはversion含められるみたいよ

415 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 10:49:02 ID:3+tKSNz+.net]
1.0で指定できなくね?

416 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 11:19:43.08 ID:AZvqm7LQ.net]
armまだなのか。ラズパイで動けばホントに言うことなかったんだけどな。

417 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 13:49:33 ID:y60azEFm.net]
モジュール周り
https://deno.land/manual/linking_to_external_code

418 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 14:53:11 ID:X/pFb7Is.net]
やっぱbundle前提か。
しかし、deps.tsは言われてみるとなんと言うことはないんだけど、賢いな。
こいつがっつり使ってみようかな。

419 名前:デフォルトの名無しさん mailto:sage [2020/05/18(月) 23:35:57 ID:a6jMS+hP.net]
Nodeと併用できないと趣味以外で使う人いないだろうな

420 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 10:49:44.03 ID:GoO5KVYD.net]
node.jsなしでESLintが動かないなら難しい
あとlanguage protocol serverが実装されないと難しい
開発ツールとしてのポジションとなるのは難しいね



421 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 11:59:16 ID:1h+Pwucu.net]
VSCodeのランゲージサーバー動いてるよ

422 名前:デフォルトの名無しさん mailto:sage [2020/05/19(火) 12:42:47 ID:482topUH.net]
linterはdenoが公式に内蔵する可能性高い
formatterはすでに入ってる

423 名前:デフォルトの名無しさん mailto:sage [2020/05/23(土) 17:14:18 ID:0ZrNuMGI.net]
nodeにもTLA着たけどREPLじゃ動かんな
仕様ではESM限定だった気がするけどDevTools辺りではできてなかったっけ

424 名前:デフォルトの名無しさん mailto:sage [2020/05/24(日) 21:34:47 ID:4uKrfJjq.net]
やっぱ周辺ツールが整わないと使いづれえな

425 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 00:55:30 ID:Qj2nGC3D.net]
>>418
https://youtu.be/lK384YQx-h0?t=203

426 名前:デフォルトの名無しさん mailto:sage [2020/06/20(土) 18:47:10.97 ID:3Kl5NtPD.net]
Why deps.ts and mod.ts is BAD in Deno
https://dev.to/wongjiahau/why-deps-ts-and-mod-ts-is-bad-in-deno-bjo

427 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 05:08:14.54 ID:XbLXAbNL.net]
こんな感じのコードでresolveは実行されてもpromiseが伝達しないケースがあるんだけど
内部的にはどういう理屈でそうなってるの?

new Promise(function(resolve,reject){
eventemitter.on('hoge', function(){
this.removeAllListeners();
resolve();
});
});

428 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 08:23:00.68 ID:OtlYTeas.net]
お前が間違ってるだけに500億ペリカ

429 名前:デフォルトの名無しさん mailto:sage [2020/06/23(火) 09:23:44 ID:jyrEAGC5.net]
>>427
伝達されないケースの具体例を出さないとわからんよ

430 名前:427 mailto:sage [2020/06/24(水) 01:09:40.37 ID:KrEfgFvd.net]
実際にはlistenerがasync関数で後から発火した他の同期listener内で先にresolve実行してた
そりゃ伝達しないわ…



431 名前:デフォルトの名無しさん mailto:sage [2020/07/03(金) 01:38:35 ID:0cCY6OI/.net]
Web API実装の流れでNodeにEventTargetが来たけど使う人いる?
逆なら欲しかったけど

432 名前:デフォルトの名無しさん [2020/07/23(木) 10:30:41.88 ID:LlcoMZmJ.net]
データベースからデータオブジェクトを
returnする関数をあたかも同期関数のように
ただ実行するだけで戻り値を得られるように作りたいです。

DB情報取得関数定義内でasync await promise
を使ってみましたが
戻り値がpromiseのpendingになってしまったので
仕方なく実行側でもpromiseを生成してラップして
then()を使ってようやく戻り値を得られました。
しかし本来は実行側でpromiseとthenを使うことなく
戻り値を得たかったです

どうすれば良いか教えてください。

あと関数定義内でresolveの実行とreturnがどう違うのか
がわかりません。

433 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 11:06:39 ID:MBVi+zLE.net]
頼むからコードで説明してくれ

似た質問多いけど非同期を同期にすることは不可能
やるなら呼出側の文脈をまるごと非同期にしてawait

434 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 16:11:17.38 ID:+diZSvZW.net]
まるごとも今ならTopLevelAwaitがあるから楽だね
callbackに渡されるresolveはpromiseを解決させるためのスイッチであってreturnではない
Promiseに対する理解が曖昧なままDB扱う処理を書くのは危ないと思う

435 名前:デフォルトの名無しさん mailto:sage [2020/07/31(金) 16:11:51.42 ID:CGhJjJjO.net]
ライブラリっつーのか?
Passportやexpress-sessionってどうやって見つけてきてるの?

436 名前:デフォルトの名無しさん [2020/08/04(火) 02:57:28 ID:vydsY05j.net]
github express middleware やりたいことの英語
でググる

437 名前:デフォルトの名無しさん [2020/08/06(木) 20:05:58.89 ID:MUhDPlnI.net]
cryptoで公開鍵ファイルつかって
暗号化したんですが
同じデータが毎回違う暗号になってしまいます。
原因を教えてください

438 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 00:05:01 ID:TzYKRTqH.net]
たぶん、時刻とか、何かランダムな要素を使っているのだろう

439 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 19:32:20.45 ID:ysU+OJWY.net]
今後は大規模システム以外は全てJavaScriptだけで書ける夢のような未来が来るね。

440 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 20:50:53.11 ID:TH1C+bUh.net]
なんという地獄



441 名前:デフォルトの名無しさん [2020/08/08(土) 10:07:34.33 ID:noFfmCPy.net]
>>437
salt
iv

442 名前:デフォルトの名無しさん [2020/08/08(土) 14:52:32 ID:ciegX9N/.net]
非同期処理って普通に
バグと脆弱性の温床になるよね?

443 名前:デフォルトの名無しさん mailto:sage [2020/08/08(土) 17:42:04.42 ID:/vlgEPfS.net]
その理解のまま触っていたらそうだろうね

444 名前:デフォルトの名無しさん [2020/08/08(土) 23:33:14 ID:f7NhkLiO.net]
node.js 面白いな。久しぶりにおもしろい言語だ。

445 名前:デフォルトの名無しさん [2020/08/08(土) 23:34:04 ID:f7NhkLiO.net]
PythonとかRubyとかPHPって面白いとか言われてるけど、正直イマイチだよ。

俺はPerlのが好き。

446 名前:デフォルトの名無しさん [2020/08/08(土) 23:46:39.64 ID:bKK8FlY/.net]
サーバサイドで非同期で
IOやりたい状況なんてそうそうないよ。
ロギングくらいか
とくにトランザクション処理で非同期に
動かれちゃうとほんと地獄


同期的な処理をする専用の
DBアクセス
ファイルIOアクセス
ネットワークアクセス
するライブラリを提供すべき
使用側でpromiseとかじゃなくて

447 名前:デフォルトの名無しさん [2020/08/08(土) 23:55:39.53 ID:OT1M6D83.net]
今一番熱いライブラリ。

https://ja.uncyclopedia.info/wiki/Progress_display

448 名前:デフォルトの名無しさん mailto:sage [2020/08/08(土) 23:56:53.43 ID:ZWuolq0D.net]
>>444
言語じゃないけどな

449 名前:デフォルトの名無しさん [2020/08/08(土) 23:58:34.55 ID:OT1M6D83.net]
ライブラリですね。

450 名前:デフォルトの名無しさん [2020/08/09(日) 00:40:28 ID:sb6ynJ/q.net]
違います



451 名前:デフォルトの名無しさん [2020/08/09(日) 00:51:05.32 ID:2tff8pgk.net]
データベースですね。

452 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 01:20:28 ID:8UfVx4ij.net]
違います

453 名前:デフォルトの名無しさん [2020/08/09(日) 01:48:00.71 ID:2tff8pgk.net]
ゴミですね。

454 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 12:06:37 ID:4gz4Sy4n.net]
そ、違います

455 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 13:10:04.80 ID:HdBz3xHm.net]
nude.js ですね

456 名前:デフォルトの名無しさん [2020/08/09(日) 16:47:11.71 ID:sb6ynJ/q.net]
https://www.moongift.jp/2012/02/20120211/
nude.jsは画像をCanvasで読み込んでヌード画像か否かを判定するソフトウェアです。

裸が見たい!たくさんの画像の中からとにかく裸を見たい!と思う人はnude.jsを自動実行してみると幸せになれるかも知れません。
https://github.com/pa7/nude.js/

457 名前:デフォルトの名無しさん [2020/08/11(火) 00:54:04.11 ID:jdRsH5YI.net]
これまでの非同期対策手段の
やって欲しかったのはこういうことじゃないんだよ感
がやばい
本来求めてるのはコールバックの記述ないようにして
欲しいのと 余計な関数定義無しで処理を書きたいということ
なのに

Promiseやasync awaitがやってるのは
非同期処理をネストしなくて良くするだけで
肝心のコールバック記述や
余計な関数定義自体はなくならず、
それどころかこれらを使うと更にコードが複雑に
なって可読性が下がってしまう。
そういうゴチャゴチャした部分を無くして欲しいんだよ。

458 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 02:13:08.66 ID:DrUL4lPZ.net]
>>457
具体的に理想系を書いてくれるか?

459 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 06:51:02.02 ID:KjgiWsfP.net]
WScript.sleep(1000);

460 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 09:44:42 ID:DyHWpKfR.net]
>>458
ボンッキュッボンッ!



461 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 12:08:29 ID:HwJhgroD.net]
互換性ぶっ壊してでもコールバックなAPIをどうにかしてくれ
ってことならDenoじゃね

462 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 12:31:29.28 ID:RcrtMjNU.net]
>>457はコールバックだけじゃなくてPromiseも否定してね?
どういうものを期待してるのかわからんが、少なくともdenoじゃ解決にならんかと。

463 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 13:28:07.94 ID:gDej+7HY.net]
ならGoだろうな
コールバックも非同期処理もいらない
さようなら

464 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 13:50:34 ID:OsUriXGV.net]
どうせメッセージパッシングに文句垂れるな決まってる

465 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 13:51:16 ID:OsUriXGV.net]
s/垂れるな/垂れるに/

466 名前:デフォルトの名無しさん [2020/08/11(火) 15:38:26.65 ID:jdRsH5YI.net]
>>458
ごめんちょっとコールバック入っちゃったけど
こんな感じがいい
「await」という単語は他に思い浮かばなかったから
真似しただけで別の単語でもなんでもいい
実際の「await」の処理とは無関係


await setTimeout( ()=>{}, 1000);
console.log('1秒経過しました');


コールバック引数が欲しい場合
ver data = await $.ajax({省略}).done();
console.log('レスポンスを受信しました');
console.log(data);

467 名前:デフォルトの名無しさん [2020/08/11(火) 15:42:24.62 ID:jdRsH5YI.net]
↑varをverと書いてしまいました。

468 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 15:50:28.89 ID:RcrtMjNU.net]
結局Promise化すれば解決する話に見えるが
中途半端なコールバックの存在が謎。

469 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 16:25:16.36 ID:E31y9T9f.net]
Promiseとasync/awaitで解決済みだよなぁ

const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))

って用意するなりimportするなりしておけば

await sleep(1000);
console.log('1秒経過しました');

これだけやんけ
$.ajaxとか書いちゃう知恵遅れさんだからしょうがないか

470 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 17:12:35.72 ID:dI29r3/p.net]
あんまりPromiseの事わかってなくて批判しちゃった感じかな。



471 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 17:34:48.50 ID:DrUL4lPZ.net]
>>467
スコープないのかよ
ゴミくそ

472 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 19:26:37.90 ID:HwJhgroD.net]
数行のコードじゃ意図が読み取り辛いけど
非同期関数を同期にしたいってコトなら絶対無理

473 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 19:33:26.30 ID:GZz3NG8W.net]
非同期関数を同期関数のように呼び出せるのがasync/awaitだけどな
動作の話じゃなくてソースの見た目の話だろどうせ
そんなこと気にするよりlet/const覚える方が先だぞ

474 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 07:56:55.71 ID:XuneBSJh.net]
promiseもasync/awaitも何も分かってないけど批判してたということだけは非常によく分かった

475 名前:デフォルトの名無しさん [2020/08/14(金) 21:41:29 ID:Fc7pCCli.net]
どうでもいいけど
独自の概念や用語をバンバン押し付けてくる
フレームワークは
ゲロ以下の匂いがプンプンするぜぇーって思うわ
PHP系の糞フレームワークに多い

476 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 21:47:18.13 ID:970Aew80.net]
>>475
逆に、独自の概念や用語を押し付けてこないフレームワークって例えば何?

477 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 21:50:10.65 ID:B7DyCr2o.net]
アセンブラ

478 名前:デフォルトの名無しさん [2020/08/14(金) 21:53:03.39 ID:Fc7pCCli.net]
>>476
やっぱexpressかな?
ララベルとかyiiとかは
ファサードとかDIコンテナとか
ゴミみたいな余計な用語出てきて腹立たしいわ

479 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 21:56:59 ID:970Aew80.net]
>>478
ファサードもDIコンテナも、フレームワーク独自の用語じゃなくてごくごく初歩的な一般用語では?

480 名前:デフォルトの名無しさん [2020/08/14(金) 22:07:25 ID:Fc7pCCli.net]
>>479
そうだね。webとは関係ないよね
webとは関係ない設計上の概念を
Webフレームーワークが押し付けてくるのはおかしいよね
フレームワークはルーティングと
HTMLレンダだけやってりゃいい
DBにもビジネスロジックにも出しゃばってくるべきでは無い
とくにJavaをパクってるだけのPHPでそんな内容
吐き気がするに決まってるだろ



481 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 22:24:17.70 ID:B01JOFDh.net]
DIは、最初はめんどくさい仕組みだなって思うけど、
ある日突然納得感に包まれるぞ。

482 名前:デフォルトの名無しさん [2020/08/18(火) 21:29:27.81 ID:ZCkQ8Dn9.net]
MySQLとかのDBアクセス
同期的にやってくれるライブラリないんか?
fsはSync版あるやん

483 名前:デフォルトの名無しさん mailto:sage [2020/08/18(火) 21:50:58.81 ID:uzsO+4Q7.net]
async/await使えばいいやろ
fsのsyncなんてお遊びかツールでしか使えんし

484 名前:デフォルトの名無しさん mailto:sage [2020/08/18(火) 21:58:10.75 ID:wak8Bz4V.net]
もうjavascriptだけで出来ないことはない!
javascript最強!
javascript最高!

今、javascriptの伝説が始まる!!!!!!

485 名前:デフォルトの名無しさん [2020/08/19(水) 04:18:53 ID:vidjSvBe.net]
キッショ

486 名前:デフォルトの名無しさん [2020/08/20(木) 19:53:59.17 ID:KMfIHaw0.net]
真偽値が非同期になるとヤバイ
trueかfalseのどちらかかと
思っていた変数が
pendingになっててif文の分岐に
ミスがあったとかマジで勘弁

セキュリティやトランザクション処理が
クリティカルな部分でこんなことやられたら叶わん

487 名前:デフォルトの名無しさん mailto:sage [2020/08/20(木) 20:05:16 ID:t5R+TL7j.net]
ごめんよく分からないので
コードで頼む

488 名前:デフォルトの名無しさん mailto:sage [2020/08/20(木) 20:09:16 ID:AoU9HO21.net]
低脳はプログラマやめとけ

489 名前:デフォルトの名無しさん mailto:sage [2020/08/20(木) 20:16:29.65 ID:X1nNk3cj.net]
>>486
それマルチスレッドの話じゃね?「非同期」つってもjavascriptのそれとは意味が違う。

490 名前:デフォルトの名無しさん mailto:sage [2020/08/20(木) 20:32:39 ID:tyNv301J.net]
pendingは普通にPromiseの話やろ

Promiseを理解せず非同期のコード書くのが悪い



491 名前:デフォルトの名無しさん [2020/08/20(木) 20:41:23.02 ID:qjxJt4Hn.net]
>>489
node.jsのスレだからJavaScriptの話なんだが
nodeってシングルスレで合ってる?

あと素人で申し訳ないが
if文がある時もそれ以降のコードに勝手に進んじゃうの?

たとえば
if(非同期の真偽値メソッド() ){
return;
}

console.log('ifに該当したら逐次処理ならここには到達しないはず');

逐次処理ならelseなしで処理を抜けることが出来るが、
非同期処理だと条件分岐も待ってくれないの?
こういうのがかなり怖い

492 名前:デフォルトの名無しさん [2020/08/20(木) 20:44:17.20 ID:qjxJt4Hn.net]
>>490
非同期のコードが書くの悪いって僕も書きたくないです。
でもデフォルトで非同期の関数ばかりですよね?
ちょっとでも油断すると非同期になっちゃうんです
もちろんasyncやawaitつけてるけど
ついつけ忘れるといつの間にか非同期になってるんです。

493 名前:デフォルトの名無しさん mailto:sage [2020/08/20(木) 20:49:28.75 ID:AoU9HO21.net]
await付け忘れるヤツが悪い
TypeScriptで型チェックしとけ

494 名前:デフォルトの名無しさん mailto:sage [2020/08/20(木) 21:17:24 ID:t5R+TL7j.net]
>>491
if(await hoge())するだけ
何も難しいことない

495 名前:デフォルトの名無しさん [2020/08/20(木) 22:05:57.37 ID:wmqy4S/J.net]
まぁそこは同期が基本から非同期が基本に頭切り替えないとね

496 名前:デフォルトの名無しさん mailto:sage [2020/08/20(木) 22:43:19.84 ID:tyNv301J.net]
>>491
nodeに限らずJSは基本シングルスレッド

JSで本格的にコード書くなら
シングルスレッドでどうやって非同期や並行処理を実現してるのかを
最低限の知識として知っておく必要がある

setTimeout(fn, 0)で渡したfnがどのタイミングで実行されるのかと同じ
少し詳しめのチュートリアルならだいだい解説してある

497 名前:デフォルトの名無しさん [2020/08/21(金) 00:43:07.71 ID:CMx879FZ.net]
とは言え今ではスレッドも使えるから上手く利用したいところ。
シングルスレッドにこだわってコールバックの中で時間のかかる処理しちゃったら本末転倒。

498 名前:デフォルトの名無しさん mailto:sage [2020/08/21(金) 01:18:26.76 ID:RmDQK783.net]
プロセスも使えるぞ。
せっかくだからV8 isolateも使いたいけどどうやるんだっけ…

499 名前:デフォルトの名無しさん mailto:sage [2020/08/21(金) 01:47:45.18 ID:fPne1yUC.net]
workerが別スレッドのisolate

500 名前:デフォルトの名無しさん [2020/09/01(火) 20:38:22.47 ID:QR4OvP6I.net]
nodeはバッチ処理にはマジで向いてないよな
ループ中に非同期発生すると
ループ番号の順序性があべこべになるとか
ヤバすぎる
ループ外グローバル変数への
数値溜め込み処理とかどうなるんだこれ

あと完了したと思ってた処理が
完了表示されただけで
実はまだ非同期で動作してたとかありそうで
怖すぎる



501 名前:デフォルトの名無しさん mailto:sage [2020/09/01(火) 20:42:12.06 ID:I2eVqLbl.net]
無能w

502 名前:デフォルトの名無しさん [2020/09/01(火) 20:43:25.87 ID:tH3NhyKR.net]
>>500
アホ過ぎるwww

503 名前:デフォルトの名無しさん mailto:sage [2020/09/01(火) 20:58:34.78 ID:z4ASdXsC.net]
>ループ中に非同期発生すると

まるで自然現象とか天災みたいな言い方

504 名前:デフォルトの名無しさん [2020/09/01(火) 21:12:04.15 ID:QR4OvP6I.net]
すまん、俺は無能なんだわ
バッチ処理は終わるまで時間がかかるから
プログレスバーとして
進捗報告として
データベースの進捗状況テーブルへ
進行度をアップデートしてんだわ
毎ループ進捗報告しなくていいから
%で余り算して定期的に
進捗をアップデートしてんだわ
ところがその進捗報告DBアクセスで
非同期が発生してループの順序が乱れる
進捗状況の進行度が進んだり戻ったり
トリッキーに変動するんだわ
でもループの最後まで到達して完了すると
全てのデータ整合してんだわw
なぜ中間状態だけこんなにトリッキーなのか謎

505 名前:デフォルトの名無しさん mailto:sage [2020/09/01(火) 21:24:55.53 ID:I2eVqLbl.net]
コード書くのやめろ

506 名前:デフォルトの名無しさん mailto:sage [2020/09/01(火) 21:59:23 ID:usFRsaVF.net]
進捗の書き込みはシリアルにやればいいよね?
「80%完了」の後に「70%完了」が来ても無視すればいい

507 名前:デフォルトの名無しさん [2020/09/01(火) 22:02:04.20 ID:QR4OvP6I.net]
>>506
無視するようにしてるんだよ
whereで大小比較して
更新する数の方が小さかったら更新されないように
してる
でもDB上の数値が減るんだよ。何故だ?

508 名前:デフォルトの名無しさん mailto:sage [2020/09/01(火) 22:05:22.51 ID:3AXmEbq5.net]
コードも無しで言われても知らんわ

509 名前:デフォルトの名無しさん mailto:sage [2020/09/01(火) 22:28:22.77 ID:usFRsaVF.net]
>>507
シリアルに書いてないからでしょ
今実行中の進捗報告の書き込みが完了してから
次の進捗報告の書き込みをする

理解できないほうが謎

510 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 02:59:56.27 ID:bHRnrATQ.net]
7月入ってからageながら変なこと書いてんの同じ人っぽいな
挫けないでがんばれよ



511 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 12:32:41.24 ID:U40YU3HI.net]
並列処理しなければ良い

1つが、確実に終わってから、
次のものを処理する

512 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 13:19:02.32 ID:FrAP3fk+.net]
回答者まで同じ内容を繰り返し始めたw

513 名前:デフォルトの名無しさん [2020/09/02(水) 21:31:48.71 ID:C0O9Iab7.net]
>>504
こうなる原因が今日特定出来た
ループ自体が多重に並列に動作してた
1つのfor文が動いてるんだと思ってたら
ログをよくよく見たらfor文自体が
3つくらい並列で動いてた
勝手に多重実行になった原因は、
MySQLが処理しきれなくなってタイムアウトが
発生したあと
nodeが自動で(promiseの仕様?)最初から
リクエストの処理をリトライするようで
ピタゴラスイッチのアルゴリズム体操見たいに
なってたわw

初歩的な質問ですが
サーバに飛んできたリクエストだけを中断するには
exitが正解ですか?
returnが正解ですか?
res.end(); ですか?
サーバ自体は止めたくありませんが
ある関数自体を中断するだけでなく
そのリクエストだけ大元から全部中断したいです

514 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 22:07:44.16 ID:m9UvO5Rn.net]
お前がコード書くのをやめる、が正解

515 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 13:52:39.16 ID:KQEAaFWf.net]
どなたか、次の JS のコードの結果が、2,5,3 ではなく、2,3,5 になっている理由を説明出来ますか?

console.log( "0" );
var sample = new Promise( function(resolve, reject) {
  console.log( "1" );
  setTimeout(function() {
    console.log( "2" );
    resolve();
    console.log( "3" );
  }, 1000);
});
console.log( "4" );
sample.then( function(value) {
  console.log( "5" );
});
console.log( "6" );

[結果]
0
1
4
6
2
3
5

516 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 14:38:17 ID:UUesL9I9.net]
説明できますかって何だよ挑発してんのかよ
resolve()は必ずイベントループに戻ってからthen()のコールバックが呼ばれるからに決まってるだろがボケカス
マイクロタスクキューでも調べやがれポンコツ

517 名前:デフォルトの名無しさん [2020/09/07(月) 15:25:12.91 ID:Egt+Qwmp.net]
0
4
1
6
2
3
5

とか

0
4
6
1
2
3
5

にならない?

518 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 15:45:30.49 ID:UUesL9I9.net]
ならない
Promiseコンストラクタはコールバックを即時実行する

MDN
executor 関数は Promise 実装により resolve 関数と reject 関数が渡されて即座に実行されます (Promise コンストラクターが作成したオブジェクトを返すよりも前に executor は呼び出されます)。

519 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 17:09:51 ID:3uGG3SyO.net]
>>515
コールスタックが空にならないと、各種キューに入ってる処理は実行されない

最初にconsole.log(“6”);まで処理したらスタックが空になる
その状態でsetTimeoutのタイマーが発動してキューにコールバック関数が入る
スタックが空なのでキューの1番目にあるsetTimeoutのコールバック関数がスタックに積まれて呼び出される
この関数がreturnするまではスタックは空にならないので
それまではキューに入った処理を実行するタイミングはない

console.log(“3”);まで実行してreturnしたらスタックが空になるので
その後、各種キューに入ってる処理があれば実行される

520 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 17:21:12.28 ID:KQEAaFWf.net]
試してみたんですが、setTimeout()で指定している関数の中で、
resolve(111);
resolve(222);
resolve(333);
としてから、
sample.then( function(value) {
  console.log( "5, value=", value );
});
とすると、
5, value = 111
とだけ表示されて、222, 333 の分は表示されないんですが、どういった
理由なのでしょう。



521 名前:デフォルトの名無しさん [2020/09/07(月) 17:33:56.06 ID:Egt+Qwmp.net]
お前はもう死んでいる

522 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 17:39:40.90 ID:UUesL9I9.net]
最初にresolve()した時点でそのPromiseの値は確定するから
つかスレに書き込む暇があるならドキュメントでも何でもいいから学習してPromiseがどういうもんか理解してから試せよ
Promiseってのは「将来確定する"値"」を表現するもんなんだよ

523 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 17:52:24.52 ID:neZOTIA1.net]
一旦解決したPromiseを再度変更出来たらそれは改竄と呼ぶべきだな
reject(111);
resolve(222);
reject(333);
これは成功したのか失敗したのかどっちよ?

524 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 18:07:19.89 ID:ieMFgaPK.net]
これ近頃よく見る相手にしちゃダメなやつだな

525 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 18:08:35.44 ID:UUesL9I9.net]
最初のreject()で失敗が確定する
Promiseの状態はpending→settledと変わる
settledにはfulfilledとfailedがある
resolve()でfulfilled、reject()でfailedになる

526 名前:デフォルトの名無しさん [2020/09/08(火) 00:01:18.48 ID:8muSUg7S.net]
nodeの非同期を同期的にやりたい時のコードって
promise async await
resolve thenが複雑に入り組んで
意図した動きになった時はめっちゃ過剰なコードになるよね
精神的にヘトヘトに疲れて 清書する元気も起きん
promiseやresolve変数がたくさん生成しまくって
名前つけるのもめんどうになって
p1とかr3みたいなのが沢山できてる
特にforループの中に非同期使うときは地獄

早くmysqlを同期的にクエリ投げられる
ライブラリ出してください。何でもしますから。

527 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 01:45:13 ID:1Wq/gxeB.net]
だからお前はプログラマやめろって
才能なさすぎ

528 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 02:32:28 ID:o0Kum352.net]
>>526
nodeも非同期も関係なくお前がめっちゃ過剰なコード書いてるだけだからな

529 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 12:00:40.54 ID:gglleEZ2.net]
ライブラリは需要があればとっくに作られてる
今現在無いのはつまりそういうことだ

530 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 12:14:59.78 ID:1sQ8nqM1.net]
そこの無能が探してもいないだけで無いわけじゃないだろ
例えばあるライブラリのREADMEから

const conn = await mysql.createConnection({ database: test });
const [rows, fields] = await conn.execute('select ?+? as sum', [2, 2]);
await conn.end();

トランザクションも

await connection.beginTransaction();

await connection.commit();

と書ける



531 名前:デフォルトの名無しさん [2020/09/08(火) 13:42:27.36 ID:8muSUg7S.net]
select文を投げるのは
selectの結果が欲しいから投げる訳であって
結果が取得できる前に
後続のコードに勝手に動かれたら困るのは
当たり前だよなあ?
DBアクセスで非同期って何がメリットが
あるのか分からない。

それにnodeの概念はバカの新人に言葉で説明しにくいんだよ
あいつぜってー非同期とか理解出来ねえぞ

532 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 13:47:44.03 ID:op+kwVtr.net]
新人に言葉で説明できないバカ
新人かわいそう

533 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 13:57:56.32 ID:c4WmASUK.net]
> 勝手に動かれたら

何も理解してないことがよく分かるw

534 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 14:51:08.13 ID:QV2EnsJl.net]
お前の場合はMySQL一つしか使わないのが当たり前かもしれないが世の中にはシャードされた複数のMySQLにアクセスしたりキャッシュのRedisにアクセスしたり検索エンジンのelasticsearchにアクセスしたりいろんなことをしなきゃいけないアプリがあったりするわけ
Nodeではこれらは非同期だから特別なことをしなくてもたやすく並行アクセスできる
同期で並行アクセスしようとすると複数スレッド使って待ち合わせすることになるから非同期より簡単にできるわけではない

535 名前:デフォルトの名無しさん [2020/09/08(火) 16:00:24.51 ID:8muSUg7S.net]
>>534
ああ、アクセスするのは簡単やと思うわ
問題はその結果の始末を付けるのが大変だと思うわ
なんかいい書籍あるか?

536 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 17:40:30 ID:Qj0BclxS.net]
本当に本当にダメなヤツだなぁ(呆れ)
アクセスってのは接続して要求を投げて結果を受け取ってそれを処理して接続を閉じるまでの一連に決まってるだろ
>>530の例だって後始末まで書いてあるのに全然大変じゃないだろが

537 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 19:19:05.95 ID:gglleEZ2.net]
とりあえずオライリーでも読んだらいいんじゃない
https://www.amazon.jp/dp/4873118735/

538 名前:デフォルトの名無しさん mailto:sage [2020/09/09(水) 06:42:52 ID:N3PFvdWI.net]
スレ的には真っ当な質問なのに当たり強過ぎでしょ

539 名前:デフォルトの名無しさん mailto:sage [2020/09/09(水) 08:44:06.86 ID:7Dxn++Hv.net]
質問じゃなくて文句

540 名前:デフォルトの名無しさん mailto:sage [2020/09/09(水) 17:07:03 ID:SFlZHAWP.net]
謙虚に質問してればレスも優しかったかもよ



541 名前:デフォルトの名無しさん mailto:sage [2020/09/09(水) 21:03:51 ID:OFM+73CL.net]
分からないだけならともかく延々と自分以外を貶めつつ無能を晒してたからなぁ

542 名前:デフォルトの名無しさん mailto:sage [2020/09/09(水) 21:12:34.50 ID:XGuez22g.net]
それな

× node.js が悪い
× 非同期が悪い
× promise が悪い
× async/awaitが悪い
× 新人がバカ
○ ID:8muSUg7S がバカ

こうだからな

543 名前:デフォルトの名無しさん [2020/09/10(木) 14:55:06.91 ID:rLZBXCmM.net]
グレたωωω

544 名前:デフォルトの名無しさん [2020/09/10(木) 19:56:10 ID:FWP0gZB+.net]
clusterでマルチプロセスしようとしたんだけど
「EADDRINUSE(ポートが既に使われている)」
エラーがどうしても出てしまいます。
もちろん既に稼働しているnodeはなく、
fork元のapp.jsでlistenしているのと同じポート
子プロセスでまたbindしようとして失敗しているようで
子プロセスは外部からリクエストを受けるような
ものではなく、重い処理をコア分散させて並列処理したいだけです
子プロセスにポート割り当てが必要な理由がよく分かりませんが
恐らく親プロセスと子プロセス間の通信
とかに使うんでしょうか?
子プロセスのポート割り当て回避か、
親プロセスと別ポートを割り当てる方法はありますか?

545 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 20:18:09 ID:VafdMbGz.net]
> 子プロセスは外部からリクエストを受けるようなものではなく

それならclusterモジュールは必要なくね
clustetは複数のプロセスを使って大量のリクエストを捌くためのもの
ただの子プロセスならchild_processのメソッドを使う

546 名前:デフォルトの名無しさん [2020/09/10(木) 20:21:53 ID:C+K2oJgr.net]
>>545
なるほど、助かりました
じつはworker_threadsも試してみて同じ
エラー出たので
child_processが正解でしたか
これだとポートは関係ない?

547 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 20:43:38.94 ID:oBZEl9rg.net]
clusterだと親は子を産むだけの役割じゃなかったっけ

548 名前:デフォルトの名無しさん mailto:sage [2020/09/10(木) 20:45:06.67 ID:oBZEl9rg.net]
あとworker_threadsで同じエラーが出るのはいくらなんでもおかしい

549 名前:デフォルトの名無しさん [2020/09/14(月) 20:42:48.98 ID:JdQogpR1.net]
>>544 の者ですが
今日これをデバッグしてました。
clusterでもwoker_threadsfでも
child_processでも
「EADDRINUSE」が発生しました

発生するタイミングは子プロセスを生成した時でも
なく
子プロセスでMySQLに対しのコネクション確立時でもなく
確立したDBコネクションからクエリを投げるコード
を実行する時に発生しますが
なぜこのタイミングなのか分かりません

ここで気になったのが
nodeでフロントユーザーに対し
80番ポートをlistenしていて
nodeがローカルのMySQLにアクセスする時
nodeのクライアントポートはフロントと
おなじ80を使うのでしょうか?
それとも別のランダムポートを取得してきて使うのでしょうか?

550 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 20:55:49.60 ID:AayaioGL.net]
説明と全然違う事象じゃねーの
せめてエラーメッセージとスタックトレース貼れ



551 名前:デフォルトの名無しさん [2020/09/14(月) 20:55:58.86 ID:JdQogpR1.net]
続きですか
もう少し調べてみると
「EADDRINUSE」が発生するタイミングは
MySQLに対しコネクション確立後
SQLを投げる時で間違いないと思いますが、
エラーのスタックとレースを見ても
何かのハンドラから駆動されており自分の書いたコードでは
ありません。
nodeかexpressかmysqlモジュールのハンドラ
だと思います

子プロセスはローカルのMySQLに対して
接続して読み書きするだけで
フロントとのやり取りは一切ありませんが

生成元の親プロセスはExpressのapp.js
で立ち上げてるwebアプリです

552 名前:デフォルトの名無しさん [2020/09/14(月) 20:56:11.94 ID:JdQogpR1.net]
不思議なのが子プロセスで
mysqlとコネクション確立までは失敗せずに
動作し、SQLを投げる段階で
なぜか大元の「app.js」をもう1つ起動しようとしており
app.jsはもう既に起動してるので、
listenポート重複により上記のエラーが発生するわけです
暫定対応で動くようにはなりましたが、
なぜローカルのDBアクセス時にapp.js実行する
動きをするのかの原因がまだ分かっていません

webとは関係ないはずの子プロセスのファイルを
単体でコマンドで実行した場合も
Expressのベースディレクトリにある
「app.js」が実行されていることが分かりました。
自身のコードではこのようなことをしてないので
フレームワークかモジュールの内部処理だと思いますが、
知っている方がいましたら教えてください。

553 名前:デフォルトの名無しさん [2020/09/14(月) 20:57:39.11 ID:JdQogpR1.net]
>>550
すみません、もう帰宅してしまったのと
機密事項で怒られるのでスタックトレースは貼れません

554 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 21:14:49.11 ID:AayaioGL.net]
> 単体でコマンドで実行した場合も
> Expressのベースディレクトリにある
> 「app.js」が実行されていることが分かりました。

clusterも何も関係ねーじゃんwww
断言するがフレームワークもモジュールもmysqlも関係なくてお前のバグだから真面目に仕事しろ
子プロセスから再現に関係ない部分を削除しまくって最小限のここで見せられるコードになるまで書き込まなくていいよ

555 名前:デフォルトの名無しさん mailto:sage [2020/09/21(月) 23:41:10.99 ID:h9hvsVjr9]
この時代に生きててSNS発信を頑張らないやつはアホだ。
https://www.youtube.com/watch?v=TPMNmuWQm_o
【事例付き】YouTuberは最強の副業である件について。
https://www.youtube.com/watch?v=wB8hNuNVoIw&t=267s
【初心者向け】YouTubeの始め方・稼ぎ方を徹底解説!
https://www.youtube.com/watch?v=YEw-a8qlADM
【貧者の工夫で戦え】ガラケーだっていい。YouTube始めるのにパソコンはいらない!
https://www.youtube.com/watch?v=jYdWfjjzD7Y
YouTubeを伸ばすコツ【5つの本質論/初心者向けのセミナーです】
https://www.youtube.com/watch?v=fn-LxP9Unmc
【悲報】YouTuberはマジで難しいので、ほぼ挫折すると思う【無理ゲー】
https://www.youtube.com/watch?v=iKREw5p0Yqc

556 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 14:17:11.74 ID:l4QjehZB.net]
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14232251614?sort=1&page=2
abiko tetuってやつヤバすぎ

557 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 18:10:22.96 ID:cX3MrjsP.net]
フォルダ全体をコピーしたくて fs-extra のcopySync()を使うために
const fse = require('fs-extra');
としたら、
internal/modules/cjs/loader.js:968
throw err;
^
Error: Cannot find module 'fs-extra'
というエラーが出ます。
npm install fs-extra

npm install -g fs-extra
を試しましたが、途中で警告が出たりして、結局、元のエラーは直りません。
直す方法はありますでしょうか?

558 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 18:39:14.64 ID:cX3MrjsP.net]
>>557
結論的には、

$ npm install -g fs-extra

$ set NODE_PATH=%AppData%\npm\node_modules

としてから、

node xxxx.js

とすると直りました。

559 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 23:48:03.55 ID:5XNVi7jP.net]
Windows?

560 名前:デフォルトの名無しさん mailto:sage [2020/10/19(月) 16:19:09.43 ID:faSV5MEm.net]
# Fatal error in , line 0
とか見慣れぬエラーで落ちててビビって調べたらv14のバグか



561 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 03:29:13.70 ID:xG/xcmJA.net]
import って mjsにしないといけないし

562 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 03:30:20.11 ID:xG/xcmJA.net]
途中送信すまん

563 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 04:23:13.46 ID:Xs0QdE0/.net]
mjsにしないといけないから何なんだよ気になるだろ…
因みにpackage.json弄れば.jsをESM扱いにはできる

564 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 13:32:05.91 ID:xG/xcmJA.net]
node v15にしたからmjsにして requireを全部importに変更したらpuppeteerがimportできなくてまたrequireに戻した

565 名前:デフォルトの名無しさん mailto:sage [2020/10/26(月) 06:48:46.11 ID:AP4vuhmG.net]
下記のモジュールを使用してHTMLソースからタグを全て取り除く処理を作っているのですが、タグを取り除いてくれません。
ES6で記述されたjavascriptを対応していないブラウザで動作させるために記法を変換してから読み込ませることは知っているのですが、
nodeコマンドで直接実行する場合にもそのような記法の変換などが必要なのでしょうか?

◆モジュール
https://github.com/ericnorris/striptags

◆ソース
main.js
-----
var striptags = require('striptags');
striptags(html);
console.log(html); // 取り除かれていない

◆コンソールで書きコマンドを実行
node main.js

566 名前:デフォルトの名無しさん mailto:sage [2020/10/26(月) 13:39:27.76 ID:jWz3MMEX.net]
html = striptags(html);
じゃないの?

567 名前:デフォルトの名無しさん mailto:sage [2020/10/26(月) 14:12:32.65 ID:AP4vuhmG.net]
>>566
教えて頂いた方法で取り除かれていることが確認できました。
公開されているソースを確認したら戻り値を受け取るようになっていました。
今後はソースも確認するようにします。
ありがとうございました。

568 名前:デフォルトの名無しさん mailto:sage [2020/10/26(月) 14:44:15.69 ID:/aZJ5myY.net]
その前にJavaScriptの勉強をちゃんとすべきでは。。。
JSの文字列は不変って知ってればstriptagsの使い方を知らなくても>>565の書き方じゃダメってわかったはず

569 名前:デフォルトの名無しさん mailto:sage [2020/10/28(水) 03:46:46.75 ID:Xggm0kAQ.net]
Fetchより先にAbortControllerが来るのタイムパラドックス感がある

570 名前:デフォルトの名無しさん mailto:sage [2020/10/28(水) 14:31:46.46 ID:jeoOjGPI.net]
node.jsがあればPHPはもういらないよね?



571 名前:デフォルトの名無しさん mailto:sage [2020/10/28(水) 14:45:56.45 ID:Nt7id6vD.net]
そんなことはない

572 名前:デフォルトの名無しさん mailto:sage [2020/10/28(水) 23:57:51.70 ID:jeoOjGPI.net]
>>571
なぜ?

573 名前:デフォルトの名無しさん mailto:sage [2020/10/29(木) 00:23:44.55 ID:6kIeo5xU.net]
rdb扱うのはphpの方が得意やろ

574 名前:デフォルトの名無しさん mailto:sage [2020/10/29(木) 00:35:34.69 ID:Phiv6uZl.net]
>>564
v15で試したけど import puppeteer from 'puppeteer' で読み込めてるよ

575 名前:デフォルトの名無しさん [2020/10/29(木) 10:07:34.55 ID:D91L/a15.net]
俺も文法的にはPHPよりもjavascriptの方が好みなので、できれば移行したいんだけど、
URL単位で小物サービスを作る用途がメインなので今でもPHPを使ってしまう。
なんか、node.jsはCGI的に使うのはナンセンスという雰囲気があって、
でも、たまにしか使わない小物サービス毎にポート番号を消費したくない、
と思うと移行できない。
こんな俺にもおすすめなnode.jsの使い方ってある?

576 名前:デフォルトの名無しさん mailto:sage [2020/10/29(木) 10:28:14.20 ID:89EHBpBz.net]
レンタルサーバーだといまだにPHPだかんね

577 名前:デフォルトの名無しさん mailto:sage [2020/10/29(木) 11:43:25.35 ID:6uKcySyb.net]
>>574
ありがとうございます。 -gでインストールしてたのがいけないっぽいです

578 名前:デフォルトの名無しさん mailto:sage [2020/10/29(木) 16:31:46.11 ID:Phiv6uZl.net]
>>575
極々普通にNodeでもルーターから振り分ければいいと思う
PHPだってサービスごとにhttpd立てているわけではないっしょ

579 名前:デフォルトの名無しさん mailto:sage [2020/10/29(木) 21:26:42.11 ID:/i1l21sm.net]
>>575
無料オンライン格ゲーを作る。

580 名前:デフォルトの名無しさん [2020/10/29(木) 23:24:45.00 ID:D91L/a15.net]
>>578
ありがとう、それだ!俺に必要だったものは。
とりあえず、expressを入れればいいのかな?
ちょっとやってみる。
>>579
俺にはレベル高すぎ(笑)



581 名前:デフォルトの名無しさん mailto:sage [2020/11/04(水) 19:01:36.37 ID:M+x6liG8u]
【アフィリエイト】ブログで「月100万円稼ぐ方法」を初心者向けにプロブロガーが解説
https://www.youtube.com/watch?v=tnp0oUbg2uc
【実例有り】ブログで月1万円稼ぐまでの具体的な道筋を教える【プロが解説】
https://www.youtube.com/watch?v=S-pk5AmW3g8
【案件も公開】ブログで月20万円稼ぐ方法の全て。具体的な道筋や戦略も全て公開【雑記でもいけた】
https://www.youtube.com/watch?v=Jiujwjhe300
ブログ収益が大きく伸びた、たった1つのきっかけを話す【ネタバレ:人と会う】
https://www.youtube.com/watch?v=r5cutrq6GO4
ブログで稼ぐ仕組み徹底解説】初心者にもやさしく、丁寧に説明
https://www.youtube.com/watch?v=n4qF7xpL7-M
【ミスるとヤバい】特化ブログと雑記ブログ、どっちがいいの?おすすめの運営方法も解説!
https://www.youtube.com/watch?v=sh2v5Uqlo1M
【危険】ブログで稼げずに「挫折」してしまう人の特徴【初心者は特に注意】
https://www.youtube.com/watch?v=W86zHTngRLE

582 名前:デフォルトの名無しさん mailto:sage [2020/11/07(土) 11:58:54.69 ID:fULQIOig.net]
npm-run-all で複数のnpm scriptを連続で実行したいんだが、scriptのどれか一つでも
0以外のステータスを返すとそこで処理をやめてしまうのをどうにかできないのかな。

大抵の場合はその仕様でもいいんだけど、たまに、エラーだろうがなんだろうがとにかく
処理しきってしまいたい場合がある。

583 名前:デフォルトの名無しさん mailto:sage [2020/11/07(土) 12:35:45.81 ID:1KfyiAX9.net]
>>582
--continue-on-error
options.continueOnError = true;

584 名前:デフォルトの名無しさん mailto:sage [2020/11/07(土) 12:39:43.17 ID:fULQIOig.net]
さんきう。オプション見落としてた。

585 名前:デフォルトの名無しさん [2020/11/14(土) 16:32:10.90 ID:XA/NhCB9.net]
574です。
$ express --ejs myapp
を実行して、routes/index.jsに
router.all('/:ejs',(req,res)=>res.render(req.params.ejs,{req:req}))
の1行を書き加えただけでかなりphpっぽく使えるね。
ejsファイルを置くだけで、nodeを再起動しなくていいし。
ejsファイルが存在しないときに404 Not Foundじゃなくてエラー画面が出るのが愛嬌だけど。

586 名前:デフォルトの名無しさん [2020/11/18(水) 14:56:07.27 ID:7Ekft4aV.net]
おめーら的にdenoってどうすか?
使ったことなさそうだけど

587 名前:デフォルトの名無しさん [2020/11/18(水) 19:28:04.93 ID:Zh0DQZnV.net]
ほんのちょっとしか触ってないけど面倒くささが無い
npmライブラリが使えないけど init だの install だの package.json だの tsc だのやったりいじったりしないで済むから手軽に感じた
時間が経ってライブラリが充実してくれれば普通に使いやすい環境だと思う

588 名前:デフォルトの名無しさん [2020/11/18(水) 20:11:49.14 ID:7Ekft4aV.net]
期待したいよな
開発者はイケメンだし

589 名前:デフォルトの名無しさん mailto:sage [2020/11/18(水) 21:25:12.52 ID:v8HWKopj.net]
npmが使えないからエコシステムが育つまで様子見だな。
@types以前のTypeScriptみたいな。

590 名前:デフォルトの名無しさん mailto:sage [2020/11/19(木) 01:51:43.98 ID:/aqa7r+0.net]
io.jsのように良い部分はNode.js側に取り込んでほしいね
最近は複雑さばかりが増しているし



591 名前:デフォルトの名無しさん [2020/11/21(土) 19:45:56.38 ID:ANSb4B/j.net]
express 5.xを使ってみたいんだけど、4.17.1になってしまう。
どうすればいいの?
$ npm init --y
$ npm install express@>=5.0.0-alpha.8 --save
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN e5@1.0.0 No description
npm WARN e5@1.0.0 No repository field.
$ npm view express version
4.17.1

592 名前:デフォルトの名無しさん mailto:sage [2020/11/21(土) 23:08:26.52 ID:jQLdetle.net]
Ruby のBundler なら、プロジェクトルートに移動してから、

Gemfile にバージョン指定を書いて、
bundle install とコマンド入力するけど

593 名前:デフォルトの名無しさん mailto:sage [2020/11/21(土) 23:54:59.89 ID:lsz7D7Ic.net]
>>591
npm i express@next

>>592
npm知らないヤツが何ででしゃばるわけ?

594 名前:デフォルトの名無しさん mailto:sage [2020/11/22(日) 00:38:30.85 ID:gYBzGuNC.net]
expressは当時koaに移行するのかと思ってたけど結局どっちも開発続いてるのな

595 名前:デフォルトの名無しさん mailto:sage [2020/11/22(日) 00:44:07.65 ID:A21DE4YF.net]
koaもhapiもfastifyもexpressの牙城は崩せそうもない

596 名前:デフォルトの名無しさん [2020/11/22(日) 00:46:23.77 ID:7U8BOc5J.net]
>>593
ありがとう。やってみたけどダメだった。
途中の表示にはexpress@5.0.0-alpha.8って出てるのに…
なんか晒すべき設定ってある?

$ npm init --y
$ npm i express@next
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN e5@1.0.0 No description
npm WARN e5@1.0.0 No repository field.
+ express@5.0.0-alpha.8
added 57 packages from 39 contributors and audited 57 packages in 4.105s
found 0 vulnerabilities
$ npm view express version
4.17.1

597 名前:デフォルトの名無しさん mailto:sage [2020/11/22(日) 01:12:26.72 ID:uIWU98XF.net]
viewコマンドはインストールされたものじゃなくて公開されてるパッケージの情報見るものよ

598 名前:デフォルトの名無しさん mailto:sage [2020/11/22(日) 01:15:05.72 ID:nMBoVd/n.net]
>>596
npm viewはレジストリの情報を表示するものでローカルにインストールされたものとは無関係だからだなw
npm ls express

599 名前:デフォルトの名無しさん mailto:sage [2020/11/22(日) 01:19:23.91 ID:ujQ9d+0r.net]
>>596
インストールの時は
$ npm i express@next
って打ってるくせに
なんで
$ npm view express version
って打つわけ?
それなら
$ npm view express@next version
でしょうが…

600 名前:デフォルトの名無しさん [2020/11/22(日) 09:31:06.57 ID:7U8BOc5J.net]
>>597-599
ありがとう。バージョン確認方法の方が間違ってたのか。
あぶねえ。パッケージ側の情報で確認してたら、何を試しても永遠に出来ないって言ってるところだったw
改めて確認したら、ちゃんと5.xが入ってた。
お騒がせしました。

$ npm ls express | grep express
└── express@5.0.0-alpha.8



601 名前:デフォルトの名無しさん [2020/11/23(月) 12:57:39.74 ID:3jYl7MgH.net]
node.jsのドキュメントや書籍等で、セキュリティー対策を考慮して書かれているものがあれば教えてください

602 名前:uy mailto:sage [2020/11/24(火) 12:43:32.88 ID:gfNKbZsO.net]
>>601
(u_・y)っasciimw.jp/search/mode/item/cd/A1000670

603 名前:デフォルトの名無しさん mailto:sage [2021/01/01(金) 19:21:03.31 ID:/+4IUuLb.net]
さくらVPSとかのlinuxサーバにwebアプリをデプロイするベターな手順ってなんかありますか

単純に考えれば、既存のサーバ中のプロジェクトフォルダを消して gitから新しくpullしてnpm ciすればいいはずなんだが
・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい
・ローカルの設定、ログフォルダといった、消したくないフォルダがある
からちょっと面倒でなんとかしたい

nodejs deployment tool とかで検索しても、すぐ自社のSaasに誘導しようとして
素のEC2的なlinuxマシンでの方法が分からなかった。

604 名前:デフォルトの名無しさん mailto:sage [2021/01/02(土) 03:22:23.36 ID:HtnkmSa8.net]
普通にDockerでnpm i後のイメージ作ればいいんじゃない

605 名前:デフォルトの名無しさん mailto:sage [2021/01/02(土) 04:25:18.76 ID:VICQRi/P.net]
>>604
ありがとうございます。やはりdockerか。

docker使えない自分はこんな感じでやっていました。
>・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい
git fetchした後git diff HEAD..origin/master -- package.json で変更があるか確認出来る。
変更があった場合のみnpm installすればいい。

>・ローカルの設定、ログフォルダといった、消したくないフォルダがある
ログフォルダや設定ファイルは.gitignoreしてあるはずだから、気にせず毎回git merge origin/master しても全く問題ないはず。

深く考えすぎてて、普通に手を動かしたら違和感なくデプロイ出来ました。

606 名前:デフォルトの名無しさん mailto:sage [2021/03/01(月) 09:14:19.43 ID:vtDgs//2.net]
for文について質問させてください。

const execTime = new Date(2021,0,1);
for (
const ix = new Date(execTime.getTime());
ix.getMonth() === execTime.getMonth();
ix.setDate(ix.getDate() + 1)
) {
console.log(ix);
}

これを実行すると、以下のようになります。

2020-12-31T15:00:00.000Z
...
2021-01-30T15:00:00.000Z

なぜ1月1日〜1月31日にならないのでしょうか?
どのように書けばいいのか教えてください。

node -v
v15.9.0

607 名前:デフォルトの名無しさん mailto:sage [2021/03/01(月) 09:46:34.15 ID:g7xhMPQT.net]
タイムゾーン

608 名前:デフォルトの名無しさん mailto:sage [2021/03/01(月) 11:40:37.52 ID:vtDgs//2.net]
>>607
ボケてました。
ありがとうございました。

609 名前:デフォルトの名無しさん mailto:sage [2021/03/01(月) 17:11:01.18 ID:Jj2WQfq1.net]
npm outdateをCLIじゃなくてNode側から使う方法ってない?
stdoutからパースするのは流石に手間で

610 名前:デフォルトの名無しさん mailto:sage [2021/03/01(月) 17:57:45.51 ID:LQGHEOvf.net]
こいつを直接使えばいんじゃねーの知らんけど
https://github.com/npm/cli/blob/latest/lib/outdated.js



611 名前:デフォルトの名無しさん mailto:sage [2021/03/01(月) 22:10:08.82 ID:Jj2WQfq1.net]
>>610
thx
試しにnode_modules/lib/outdated.jsがexportしてる関数を叩いてみたけど
内部のglobalディレクトリ参照でコケているようなエラーが出て機能しなかった
npm自体がModとしてのexportするのもAPIのないEventEmitterインスタンスだし想定してなさそうだ
諦めて自前で実装しているユーザーパッケージを適当に探すよ

612 名前:デフォルトの名無しさん mailto:sage [2021/03/11(木) 17:50:04.24 ID:UcSYqbju6]
シェア買いアプリ「カウシェ」運営のX Asia、副業メンバー向け昇給制度等を定めた人事制度「KAUCHE de WORK」を制定
https://prtimes.jp/main/html/rd/p/000000011.000064598.html
「お試し転職」じわり広がる 副業が人材流動化に風穴
https://www.nikkei.com/article/DGXZQOFK155HY0V10C21A2000000/
キャリアSNS「YOUTRUST」が登録ユーザー数30,000人を突破
2020年10月の20,000人突破発表から、2ヶ月で10,000人のユーザー増
https://prtimes.jp/main/html/rd/p/000000027.000040832.html
副業解禁やコロナ禍をきっかけに68%が資産形成に関心、本業の収入減を理由に44%が別の収入の柱を作り始める
https://prtimes.jp/main/html/rd/p/000000003.000071794.html
日本初、研究開発に特化した業務委託マッチングプラットフォームCipher(サイファー)の試験運用を開始
https://prtimes.jp/main/html/rd/p/000000001.000074192.html
幹部人材・事業承継者候補に特化した地方転職Webプラットフォーム『Glocal Mission Jobs』
地銀・人材紹介会社等業務提携先が100社に
https://prtimes.jp/main/html/rd/p/000000054.000016557.html
overflowが考える「複業転職」がスタンダードになる未来
https://hrnote.jp/contents/saiyo-overflowfukugyo-0926/
東海オンエア・りょうが考えるこれからの“働き方” デュアルキャリアは「率直に言うと…」
https://news.yahoo.co.jp/articles/915a869dab286faabfd1a371d69b7bfc8515e2f2

613 名前:デフォルトの名無しさん mailto:sage [2021/04/24(土) 07:20:56.16 ID:CqGuC/ho.net]
JavaScript/TypeScriptランタイム環境「Deno 1.9」がリリース、パフォーマンス向上に寄与する機能追加など

https://codezine.jp/article/detail/13970

614 名前:デフォルトの名無しさん mailto:sage [2021/07/14(水) 17:16:26.21 ID:x3WS9adn.net]
質問ってここで良いの?
Angularが良くわかないんだけど、例えばmd-toobarとmat-toolbarはなにが違うの?
いま触っているのが全部md-xxxだけど、ググるとmat-xxxばかり
package.jsonも、angularーmaterialになっているけど、ググって出てくるのは@angular/materialで、違いが分からない

615 名前:デフォルトの名無しさん mailto:sage [2021/07/16(金) 23:12:53.43 ID:ku0oROTf.net]
dnsモジュールのgetServers()が初回実行時の内容キャッシュしてて使い物にならん

>>614
フロントエンドスレが一応立ってるからそっちで聞いてみれば
あとはWeb制作板に質問スレあったけど大分前に荒らしに乗っ取られて今はどうなってるやら

616 名前:デフォルトの名無しさん [2021/07/30(金) 15:13:55.95 ID:COPEXZUK.net]
Ubuntu18.04でNode.js8.10.0を使ってるのですが、
BigIntのリテラル(例:10N)が使えません。
どうやったら使えるように出来るのでしょう?

617 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 15:53:45.87 ID:0CdNCLhG.net]
Node.jsをv12以上にする(細かいこと言うとv10の途中から使える)

618 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 17:48:26.38 ID:n/UloM9p.net]
漏れは、Windows 10, WSL2, Ubuntu 18.04, VSCode だけど、

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、Linux側から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

anyenv 公式サイト
https://github.com/anyenv/anyenv

anyenv + macOS環境構築
https://qiita.com/rinpa/items/81766cd6a7b23dea9f3c

anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しなくても良い

export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"

619 名前:615 mailto:sage [2021/07/30(金) 18:08:58.02 ID:n/UloM9p.net]
anyenv などを使わず、
Docker で探した方が、もっと簡単かも

apt でインストールした、Node.js 8 は、アンインストールすれば良い

620 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 18:19:19.46 ID:7AkGA5GJ.net]
スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?



621 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 21:07:04.19 ID:AXk+vMk4.net]
今ならPuppeteerか同種のヘッドレスブラウザで実装するのが楽
通常の用途であればセキュリティを気にする部分はない
不正アクセスはまたの問題だから他の質問スレで聞こう

622 名前:613 mailto:sage [2021/07/31(土) 11:22:07.03 ID:A0amfNLA.net]
皆さんありがとうございました。
最新のLTS版Node.jsを入れたらBigIntなリテラル(N)が使える様になりました。

どのようにUbuntu18.04に最新版をインストールしたかと申しますと。

 1. npmでnコマンドをインストール
 2. nコマンドで最新LTS版Node.jsをインストール
 3. aptでインストールしていたnodejsとnpmをアンインストール(依存も解消)

です。

623 名前:615 mailto:sage [2021/07/31(土) 11:37:20.92 ID:tQlroryC.net]
NVM, n も、知ってるけど、
各言語ごとに、ツールの使用方法を覚えるのが大変

全言語で使用方法が統一されている、anyenv, asdf が良い。
最近はどの言語も、Docker が多い

624 名前:613 mailto:sage [2021/07/31(土) 12:37:39.44 ID:A0amfNLA.net]
>>623
Node.jsでパッケージングされているプログラムだけで完結できるのに、
新しいNode.jsにする上で、
他のプログラムや仮想化に依存しなくてはいけない理由は何ですか?
仮想環境が便利だ等であれば別の話だと思うのですが。

私はC/C++、Java、Perl、JavaScript(フロント少々)使いで、
最近Node.jsに手を出し始めたのですが、
anyenvやasdfについては全く存じ上げませんでした。
それらを覚える事によって、
それらのラーニングコストを上回る恩恵を授かれるとは思いませんでした。

>>617さんのアドバイスから>>622まで行き着いた次第で、
シンプルに管理コストを抑えられるるのが一番だとも思っています。

625 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 16:07:39.01 ID:nZmJDmGx.net]
好きなもん使えばいい
俺もubuntuではaptでクソ古いNode入れてからnpmでn入れてnからlatest突っ込んでるよ

626 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 17:22:45.59 ID:23Q0KlZH.net]
ruby 君の言うことを真に受けてはいけない

627 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 19:12:03.00 ID:8Bi9zOKj.net]
Ubuntu-ltsのデフォnodejsが10.xだもんなあ
オレの環境では動かない、とか言われても知らねえよ。NodeJS公式もサポートしないバージョンまでカバーできる訳ないだろうが

628 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 17:08:54.13 ID:O4k/EVJC.net]
「Electron」と「WebView2」はどう違う? 〜「Electron」の開発チームが解説
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1342249.html

629 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 19:09:25.30 ID:qrQ4Lnon.net]
>>628
ただの翻訳(かつ雑な簡素化)記事なのにその旨の記述がない
画像も元ブログからの転載(盗用)だけどクレジット無し
大手メディアでこれって大丈夫か?

630 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 19:20:49.91 ID:L5LJfz6s.net]
丸コピしたのとは違うと思うぞ
画像の方はアウト臭いな



631 名前:デフォルトの名無しさん [2021/08/24(火) 08:49:56.10 ID:YRe/N1mJ.net]
node.jsのconsole.logのpretty printをデフォルトでやめさせる方法ないのかな?
このおせっかい機能すごくいらいらするのは俺だけかな?

632 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 10:42:50.46 ID:5pgrc+RU.net]
process.stdout.write使え
console.logはブラウザに寄せようと頑張ってるんやろ

633 名前:デフォルトの名無しさん [2021/08/24(火) 15:31:19.22 ID:qPWgCxGJ.net]
puppeteerを使ってるプログラムをwebpackでバンドルすると、distにはChromiumが無いからエラーが出ちゃうわ
よく分からん

634 名前:デフォルトの名無しさん mailto:sage [2021/08/24(火) 18:06:53.00 ID:Ya+eWSVV.net]
Webサイトのコンテキストで動かしてるならDevToolsとセッション張れないから意味ないぞ
https://github.com/puppeteer/puppeteer/blob/main/docs/api.md#working-with-chrome-extensions

635 名前:デフォルトの名無しさん [2021/08/28(土) 10:29:55.37 ID:rJz23Izt.net]
nodeで作ってるapiがメモリ使用量1GBくらいでかなりベビーなんですけど
ここら辺のパフォーマンスチューニングについての知見がまとまってるサイトか書籍ないですかね?

636 名前:デフォルトの名無しさん mailto:sage [2021/08/28(土) 14:06:05.96 ID:TLYe8gOd.net]
>>635
https://www.youtube.com/watch?v=hliOMEQRqf8

637 名前:デフォルトの名無しさん [2021/09/01(水) 09:26:26.45 ID:J/+xOU5Y.net]
>>636
あざます!

638 名前:デフォルトの名無しさん [2021/09/06(月) 01:52:20.93 ID:B6t4Zwws.net]
Fastifyいいな

639 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 19:03:06.18 ID:fHmj5hYp.net]
スクレイピングすると地獄へ落ちるって本当ですか?

640 名前:デフォルトの名無しさん mailto:sage [2021/09/15(水) 20:01:32.00 ID:DvcCOYYc.net]
puppeteerのplaygroundでforループすれば任意の回数地獄に落ちられるぞ



641 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 03:38:26.28 ID:YPBxfQEw.net]
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります

642 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 04:59:36.02 ID:ZvozewrD.net]
マルチポストすんな

643 名前:デフォルトの名無しさん mailto:sage [2021/09/18(土) 18:16:18.88 ID:J85RgKD5.net]
頭のおかしい人に以下のようなことを言われました

>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない

具体的な書籍名を教えてください


>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない

どこでそんなルールが決まっているのでしょうか?

644 名前:デフォルトの名無しさん mailto:sage [2021/09/19(日) 01:37:30.15 ID:k7BgVJB0.net]
node初心者だけどnpmが脆弱性情報吐きまくってこわい

645 名前:デフォルトの名無しさん mailto:sage [2021/09/19(日) 13:46:28.11 ID:k7BgVJB0.net]
ググったらauditはクソ設計みたいな記事が出てきた
無視して良かったんだね
いままで膨大な時間を無駄にしてた…(´Д`)ハァ…

646 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 13:43:36.36 ID:rC7NAnza.net]
なんか変な場所でエラー投げられてプロセスが止まると思ったら
依存Modの一つがPromiseコンストラクタのcallback内で非同期エラー投げて止まっていた
そりゃrejectしないしcatchブロックにも引っ掛からんわどうすりゃいいねん

647 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 17:42:53.02 ID:6Ldb4KuL.net]
そんな事は4,000年に一度しかないからヨシ!

648 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 18:08:01.88 ID:aEbL1282.net]
>>646
その依存モジュールを捨てる

649 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 20:04:03.47 ID:rC7NAnza.net]
最悪プルリク投げるかと思ってリポジトリ見たら消えてた
捨てて自分で書くわ

650 名前:デフォルトの名無しさん [2021/10/10(日) 20:07:36.51 ID:zb1mAGkH.net]
>>649
お疲れさん。ちな何て言うモジュール?



651 名前:デフォルトの名無しさん mailto:sage [2021/10/10(日) 20:11:13.74 ID:rC7NAnza.net]
具体名は避けるけどProxy関連
自前のDNSBL作るのに使ってる

652 名前:デフォルトの名無しさん mailto:sage [2021/10/20(水) 02:52:30.75 ID:7Ch1Hu5l.net]
スクレイピングに興味があるのですが1時間に1回の頻度のGETだけで訴えられる危険があるって本当ですか?

653 名前:デフォルトの名無しさん mailto:sage [2021/10/20(水) 07:42:40.20 ID:442/7USe.net]
マルチ

654 名前:デフォルトの名無しさん mailto:sage [2021/10/21(木) 01:45:51.47 ID:Z5+NocI4.net]
17でStrcturedCloneの実装来るのか
もうv8にある似たようなAPI使わなくてよくなるのな

655 名前:デフォルトの名無しさん [2021/10/25(月) 18:50:04.02 ID:xfFAFxQ2.net]
パッケージ管理ツールのnpmで公開されている「UAParser.js」は、ユーザーエージェントの判定処理を
実行するJavaScriptライブラリであり、Facebook・Microsoft・Amazon・Googleなどの超大手企業を
含む1000以上のプロジェクトで採用されています。
そんなUAParser.jsがハッカーによってハイジャックされ、LinuxおよびWindowsデバイスを対象に暗号
資産採掘やパスワードの盗難を行うトロイの木馬が仕込まれていたことが判明しました。

656 名前:デフォルトの名無しさん mailto:sage [2021/10/25(月) 18:55:04.53 ID:WgjrPOfi.net]
GIGAZINEからのコピペだろうけどちゃんと引用元URL貼っとけよ

657 名前:デフォルトの名無しさん mailto:sage [2021/11/17(水) 15:53:34.41 ID:OJq8ALeu.net]
上にもちょっとありましたが、レンタルサーバでnode.jsを動かすのって現実的じゃないもんなんですか?

658 名前:デフォルトの名無しさん mailto:sage [2021/11/17(水) 16:00:07.09 ID:lSu1Xmea.net]
いや全然
上にある「レン鯖はPHP」ってレスは恐らく既に環境を構築済みで
あとは実行する.phpを配置するだけのWebスペースを想定したレス

659 名前:デフォルトの名無しさん mailto:sage [2021/11/17(水) 16:22:49.28 ID:sYjDCVja.net]
node.js使えるレンサバってあるの?

660 名前:デフォルトの名無しさん mailto:sage [2021/11/17(水) 16:34:28.88 ID:lSu1Xmea.net]
>>658に書いたような実質Webスペースの共有レン鯖でも端末触れる一部では使えるよ
占有型ではもちろん使えるけど今なら間違いなくVPSのほうがいい



661 名前:デフォルトの名無しさん mailto:sage [2021/11/17(水) 17:46:17.02 ID:+3kxan1m.net]
古き良きLAMP環境に拘る理由がないなら好きにしたら良い

662 名前:デフォルトの名無しさん mailto:sage [2021/11/17(水) 23:30:54.62 ID:YG2/9hEL.net]
>>659
昔ながらのFTPとかでファイル置くしかできないようなサービスならまずそんなもの導入されてないだろうな

663 名前:デフォルトの名無しさん [2021/11/25(木) 05:21:15.21 ID:HW7nta/v.net]
gulp4でejsをを使用したい + 別のタスクと記述方法を統一したいのですが
どうしてもエラーが解消できないのでどなたかご教授頂けませんか?(exportsにオブジェクトを突っ込む方法)
古い記述方法では動作しますが、新しい記述方法ではどうしても動作しません。

色々ググったのですが、どのサイト(英語サイトも含め)も古い記述方法で書かれており困っています。
公式も古い書き方に記述されています。(ejsだけ新しい書き方に対応していない?)
https://www.npmjs.com/package/gulp-ejs

//old
gulp.task('ejs', function() {
//
}

新しい記述方法では、どうしても下記のエラーが解消できません。
- The following tasks did not complete
- Did you forget to signal async completion?

また`ps aux`で別のプロセスも走っていないことを確認しており、別のgulpタスクも全てオフにした状態で
デバッグしております。
関数の引数にdoneを入れてdone()で締めたり、return除いてみたり試行錯誤していますが、数時間ハマっています。
どなたら分かる方いらっしゃたらご教授お願い致します。

//new
function ejs() {
return gulp
.src(srcPath.ejs)
.pipe(ejs());
}
exports.ejs = ejs;

664 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 06:59:11.02 ID:nh0ZEMSE.net]
このエラーメッセージで検索すれば?
それか、意味を考えてみれば?

The following tasks did not complete
Did you forget to signal async completion?

もっと単純な例で、動くかどうか試してみれば?

665 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 07:24:22.11 ID:QOEXsJ22.net]
>>663
状況全く分からんが、JSのパーサーはややおかしい?所があって、returnの後はぶった切られる。
よって、 return gulp.src(srcPath.ejs).pipe(ejs()); と改行を無くして試す事を勧める。

666 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 07:46:08.16 ID:88pS2ZzI.net]
>>663
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Lexical_grammar#automatic_semicolon_insertion

667 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 08:25:42.47 ID:QOEXsJ22.net]
>>666
これ return と yield (と後置演算子もか?)はパーサの仕様バグだよな?
直感的じゃ無いという意味で。

668 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 08:37:10.78 ID:acYGqwrp.net]
仕様だよ
お前の直感がおかしい

669 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 08:57:16.71 ID:QOEXsJ22.net]
>>663
いや実際660はそうしてるだろ。俺も以前嵌った事があったし、
実際セミコロン必須の言語だとどこで切ってもいいから、660の書き方はよく見るよ。
俺はお前がおかしいと思うが。
結局これもMDNで説明するのに例外扱い("no LineTerminator here" 規則)になってるし。
統一された文法ではないよね。(=もっとましな仕様にする事も出来たし、実際他言語はそう)

670 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 08:57:57.52 ID:QOEXsJ22.net]
すまん分かると思うが 666 は >>668



671 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 09:45:34.63 ID:6PNOZvLH.net]
>>669
その書き方よくみるというけど
1行で書けば見やすいのにわざわざ複数行で見にくくしている意図がわからない

672 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 10:02:02.58 ID:QOEXsJ22.net]
>>671
そりゃ、そうした方が見やすいと思う人がそうするだけだよ。
お前がそう思わなければしなければいいだけ。

ただ実際、660にある公式のコードもそうなってるだろ。
俺も個人的には横に長いコードを書くけど、一般的には縦に長いコードの方が多いと思うよ。

673 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 10:13:11.42 ID:rnpiht7q.net]
returnの直後に改行してないからASI関係なくないか?

674 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 10:19:20.71 ID:QOEXsJ22.net]
>>673
660の「新しい記述方法だと動かない」とされてるコードは return gulp で改行してる。
660内の公式はこれが出来ない事を知ってるから、 gulp.src(...) で改行してる。(ただしreturnはないが)

675 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 10:26:17.55 ID:6PNOZvLH.net]
>>672
それは長い行を分けて改行しているだけ
一方で>>663の人は長い行にならないのに無意味に改行しまくり

676 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 10:28:27.93 ID:rnpiht7q.net]
>>674
return
gulp.src()
ならreturnの後にセミコロンが自動挿入されるけど

return gulp
.src()
ならgulpの後にセミコロンは自動挿入されないでしょ

それよりfunction ejs(){}って名前がダメなんじゃないの?
.pipe(ejs())で再帰になってる

677 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 10:36:21.11 ID:QOEXsJ22.net]
>>675
長さではなく、意味で切るんだよ。

>>676
> return gulp
> .src()
> ならgulpの後にセミコロンは自動挿入されないでしょ
されて gulp が返されるはずだぞ。

678 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 10:42:13.14 ID:6PNOZvLH.net]
>>677
意味で切るならgulpと.src()の間で改行を入れてるのは明らかにおかしい
無意味な改行だ

679 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 10:42:35.39 ID:QOEXsJ22.net]
>>676
すまん、674は間違い。
試してみたところ、確かに挿入されないようだ。

680 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 11:42:21.71 ID:QOEXsJ22.net]
>>678
相手するだけ無駄っぽいが、そういうのは物によるんだよ。
そうした方が見やすいと思う奴がそうするだけ。

return ウンコ製造器675号
.src(ケーキ)
.pipe(胃)
.pipe(小腸);
.pipe(大腸);

なら、675によってケーキがウンコに変わるのが見やすくなると思う奴もいるだろ。
(詳しくないが)gulpの場合は基本はフィルタで型が変わらないし、出発点はソースファイルに決まってるから、

return gulp.src(ソース)
.pipe(フィルタ1)
.pipe(フィルタ2)

のケースが多いとは思うけど。


ついでに言っておくと、お前JSによくいる、やたら文法に拘る奴なら、止めた方がいい。
それだと全く進歩しないので。
上記の通り、まあどちらもいるわな、程度で進めていかないと、上達しない。
どちらが正しいとか、そういう問題ではない。
どうにもJS初心者は「改行を極める」「セミコロンを極める」とかになりがちのようで、よろしくない。



681 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 12:57:12.37 ID:K4FLN1Dn.net]
んじゃ俺は括弧の後に半角スペースを入れるのを極めるわ。

682 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 13:45:45.44 ID:R4fLO2Lj.net]
必死過ぎて笑えるw

683 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 14:09:48.85 ID:reZpBJt7.net]
珍しく伸びてんなと思ったらこれだよ

684 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 19:42:13.27 ID:b7JhAcnH.net]
.NET Standard が世界の中心と考えてる人でしょ
別スレで見た

685 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 21:14:35.40 ID:QOEXsJ22.net]
>>681
ゆとりにはそれがお似合いだね

686 名前:デフォルトの名無しさん [2021/11/25(木) 22:13:54.29 ID:HW7nta/v.net]
610です。
仕事でレス遅くなりました。

>>676
ありがとうございます!
このコメントからピンときて修正したら無事に動作しました。

超初歩的なミスでした、、
こちらの書き方は関数の中にejs(gulp-ejsオブジェクト)を書いても動作しましたが
gulp.task('ejs', function() {
}


こちらでは関数に同じ関数入れたらまだタスク終わってないよと、動作しませんよね。(気づけば当たり前なのですが、、)
function ejs() {
}

お騒がせしました。コメント頂いた方もありがとうございました!

687 名前:デフォルトの名無しさん [2021/11/25(木) 22:25:35.12 ID:HW7nta/v.net]
誤 610です。 = > 正 660です。

688 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 23:27:35.30 ID:nh0ZEMSE.net]
漏れは、Ruby でも、パーサーの誤解釈を避けるため、
. を行末に置く

a.
b( ).
c( )

689 名前:デフォルトの名無しさん mailto:sage [2021/11/26(金) 01:34:21.64 ID:KdVwfKAT.net]
なんで Ruby が出てきた

690 名前:デフォルトの名無しさん [2021/11/26(金) 22:15:56.74 ID:FIwAqG/H.net]
スクリプト系は改行も終端になって駄目ね



691 名前:デフォルトの名無しさん mailto:sage [2021/11/26(金) 23:57:17.12 ID:MbvsChzk.net]
>>690
JavaScriptで駄目なのはreturnのみの行の時だけだよ
return
a
.b()
は駄目だけどこう書く人はいないから問題は起きることはない
return a
.b()
なら大丈夫

692 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 09:09:57.67 ID:kX7QbhiL.net]
そういうのはコーディング時にいちいち気にするよりlinterでチェックだな。

693 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 09:24:44.31 ID:LVgG7qhW.net]
>>691
それを知ってないと嵌るだけの無駄仕様だよ。
セミコロンなしの筆頭だったAirbnbも諦めたようだし。
> ASI contains a few eccentric behaviors, though, and your code will break if JavaScript misinterprets your line break. These rules will become more complicated as new features become a part of JavaScript. Explicitly terminating your statements and configuring your linter to catch missing semicolons will help prevent you from encountering issues.
> https://github.com/airbnb/javascript#semicolons
他にセミコロンなしの有名ルール勢ってあったっけ?

return
'qwerty'
+'asdfgh';

とは書きたくなるだろ。書きたいように書けないのはよろしくないよ。今風ではないね。
セミコロン書くルールならASIなんて無い方がマシだし。

694 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 09:32:19.66 ID:MtgsfYs/.net]
書き方にこだわりがあるならそうではない書き方と比べて◯◯の利点があると言わないと他人の理解は得られにくい。
好みだけの問題ならスクリプトの仕様に従うしかない。

695 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 09:36:27.04 ID:TUbuKQsw.net]
自分はなりませんねとしか

696 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 09:41:13.68 ID:LVgG7qhW.net]
>>684
俺向けではないと思うが、

return
'qwerty'
+'asdfgh';

の利点は見れば分かるとおり、インデントを揃えられる事だよ。
タグの方が分かりやすいかもしれんが一々引っかかると面倒なので止めただけ。

return '<div>'
+'<span>'+
+'</span>'+
+'</div>';

だと最初のdivのインデントがずれるだろ。
まあ言うほどではないし、実際俺はこの書き方をしているが、出来れば return の後に改行したいね。

697 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 09:42:13.87 ID:LVgG7qhW.net]
すまん693内681は>>694

698 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 10:25:26.66 ID:wIEauZJC.net]
お前ら何も考えずにPrettier使え
それが今のデファクトだ

699 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 11:22:05.56 ID:xgA8vuBV.net]
>>693
Airbnbがセミコロンなしの筆頭って頭腐りすぎたろ
git時代に歴史改ざんしてもすぐにバレる
2012年にセミコロンの章が初めて書かれたときからAirbnbはセミコロン派だ
https://github.com/airbnb/javascript/blob/cab510342f93791a7487d16258d06ff73edb4507/README.md#semicolons

700 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 11:35:18.29 ID:LVgG7qhW.net]
>>699
ならAirbnbというのは俺の勘違いだな。
俺がJSを始めた2013-14頃、有名なコーディングルールが4つほどあって、Airbnbが一番トンデモだった(が、人気は一番という話だった)
その中にはセミコロンを打つな、というルールもあった。誰か思えてないかね?

なお俺はgoogleのルールが一番マシっぽいのでそれを参考にした。(こちらはセミコロンあり)



701 名前:デフォルトの名無しさん [2021/11/27(土) 11:43:32.92 ID:WAiK9igD.net]
>>700
どこだか覚えてないけど、確かにどっかでセミコロン打たないで、短文を1行に書くときだけセミコロン使うてなの見たか聞いたりした記憶ある。

702 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 12:14:33.21 ID:LVgG7qhW.net]
一応自分でも再確認しているところだが、
> Always use semicolons. (google)
> Use them. Never rely on ASI. (jQuery)
> あなたからセミコロンを奪おうとする反抗的な軍隊があるようです。でも確かに私達の伝統的な文化はまだ元気に生き残っています。だからコミュニティに従って、セミコロンを使いなさい!(Node)
> https://qiita.com/takeharu/items/dee0972e5f39bfd4d7c8

npmのもかなりトンデモだった記憶があり、改めて確認すると、打つな派だ。
> ;(x || y).performAction()
> ;[a, b, c].forEach(performAction)
> for (var i = 0; i < 10; i ++) {
> switch (state) {
> case 'begin': start(); continue
> case 'end': finish(); break
> default: throw new Error('unknown state')
> }
> end()
> }
> https://www.w3resource.com/npm/npm-coding-style.php

となると俺の勘違いはnpmという事になるが、npm==Nodeじゃねえのか?という疑問は発生する。Nodeはnpmからのフォークか?
多分俺が当時見たのは Airbnb, npm, jQuery, googleだと思う。

703 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 12:30:57.21 ID:i1Pzoh/C.net]
NodeはRyan Dahlが始めてセミコロンあり
npmはIsaac Z. Schlueterが始めてセミコロンなし
IsaacはNodeの2代目リーダーだけどNodeではセミコロンを書いてた

704 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 12:54:15.05 ID:XFyMXPdv.net]
セミコロンレスの強硬派として有名なのはStandard
カスタマイズも許さない
https://github.com/standard/standard

705 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 13:40:28.79 ID:LVgG7qhW.net]
>>704
初コミット2015年なのにstandardと主張して他と違うルールとか、頭おかしいな。
とはいえ議論する時間が一番無駄というのは同意だが。

多分セミコロン無し言語出身者用のルールが一つは必要で、
それに向けてのstandard命名なのだろうけど、なんだかね。

706 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 13:49:34.28 ID:MtgsfYs/.net]
文字列を「+」で繋げるのもうやめようよ。見にくいよ。
「´」(バッククォート)で括ればいいじゃん

707 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 13:51:01.70 ID:NSUO7OXD.net]
>>706
このルール入れろ
https://eslint.org/docs/rules/prefer-template

708 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 09:28:43.85 ID:yQx61O6E.net]
javascriptならセミコロン無い方がいいかなぁ

709 名前:デフォルトの名無しさん mailto:sage [2021/12/14(火) 18:36:52.92 ID:R85W1UAs.net]
async/awaitってawaitしかしないから無駄じゃね?

710 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 08:00:15.12 ID:iIGCgNg3.net]
Promise, async/await で無駄なのは、デタラメ解説の数々、ほぼ全滅だろ、酷い惨状だねー。



711 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 09:04:50.48 ID:S+a9i6vw.net]
それを言ったらWeb系言語は全部デタラメ解説で駄目だろ
初心者が情報公開の練習として解説を書くからそうなる

712 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 10:12:00.53 ID:6ScHvZpk.net]
それはしゃーない、正確さにこだわりすぎて萎縮する方がデメリットが大きい
読む方が気を付けて取捨選択するしかない

713 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 10:19:35.71 ID:jog3O69G.net]
c++とかjavaとか含めて進化してる技術の古い解説はことごとくゴミ化してるし一緒だわな

714 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 11:04:07.34 ID:4h95DB/2.net]
classは非推奨にして欲しい。
中途半端で使いにくい。

715 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 13:04:22.56 ID:PmcDL+gd.net]
>>714
どういう所?

716 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 13:40:10.35 ID:S+a9i6vw.net]
>>712
同意だが、C#はかなりマシ
一般的に上級者は初心者向けの説明なんて書きたくないものだが、
プログラミング自体について語りたい連中も多少はおり、そいつらを上手く取り込んでる

717 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 17:59:34.28 ID:4h95DB/2.net]
>>715
上っ面だけのクラスベース。
内容はプロトタイプのまま。

718 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 18:08:44.18 ID:PnBrsUGe.net]
上っ面といってもそこで整合とれていて内部の問題が表に現れないなら別に問題ないと思うが。
まぁ、中途半端というなら何かそういう部分が見えているということなんだろうが。

719 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 18:30:25.89 ID:oeLmweY9.net]
定期的に呟いてる人だから気にせんでいいよ

720 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 18:50:24.76 ID:PmcDL+gd.net]
>>717
オブジェクト指向的センスが無いと言う事だね

今の時代、両方出来ないとプロだと厳しいと思うがね



721 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 18:55:49.66 ID:S+a9i6vw.net]
プロトタイプの方が表現出来る空間が広くて、実際にただの糖衣構文でクラスを実装出来てるだけだろ
クラスで閉じて使ってる限りプロトタイプの側面は見えないはずだが

混ぜて使うのってありだっけ?(class宣言した物にgetPrototypeOfとか)
class構文の時にどうプロトタイプが配置されるか仕様で確定してないと駄目だと思うが、これってしてるのか?

722 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 19:35:46.48 ID:kUhTwtcg.net]
GoやRustなんかの新しい言語がクラスベースのオブジェクト指向を採用しないご時世
時代遅れとなったC++やJava風のクラス構文を導入する必要はなかったわな
TC39的にはES4で入れ損なったから悲願だったんだろうけど

723 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 20:25:20.58 ID:M+F+5/6j.net]
プロトタイプベースのオブジェクト指向ってIDEや静的型付けと相性悪いのでは

724 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 20:48:01.50 ID:S+a9i6vw.net]
>>723
仮にそうだとしても、IDEの都合を優先してプログラミング言語を簡素化するのは完全に本末転倒だろ
初心者専用のオモチャが欲しければScratchで満足しとけ

725 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 20:54:53.04 ID:M+F+5/6j.net]
>>724
既存との互換を保ったまま機能追加されてるわけだから言語自体は簡素化されたのてはなく複雑化されたのでは
それはさておき従来の機能が使えなくなるわけでもなく何が不満なのかわからない

726 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 21:02:39.16 ID:4h95DB/2.net]
>>721
してない。
だから細かい設定が解りづらい。

727 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 21:18:20.64 ID:S+a9i6vw.net]
>>725
糖衣構文を導入した分言語は複雑化してるし、IDEも余計に対応する必要がある。
IDEを優先するなら何もしないのが最善。
(もちろん仕様を削れるのが最善だが、JSの場合はこれはかなり無理なので)

>>726
仕様で確定してないのなら、混ぜて使う事は禁止だし、
クラスで閉じて使う分にはプロトタイプベースは見えないから問題ないだろ。
何を問題視してる?

728 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 21:26:19.15 ID:PIvfFszt.net]
>>726
ECMAScriptの仕様書も読んだことない低脳が堂々と嘘を書くなよ
ES2020の14.6.12

729 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 21:33:51.63 ID:PIvfFszt.net]
>>728
自己レス「ES2020の14.6.13」の書き間違い

730 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 22:43:28.35 ID:M+F+5/6j.net]
>>727
そもそもプロトタイプベースの方が静的解析難しいからちゃんと補完できるIDE作るの難しいと思うよ
例えばプロトタイプベースでtypescript作れるかというと結局クラス宣言的な物を導入せざるを得ないと思う
構文解析なんかは大して難しい話ではない



731 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 22:59:58.91 ID:vgGpFQt6.net]
実際にTypeScriptはinterface導入してるし何も問題ないだろ

732 名前:デフォルトの名無しさん mailto:sage [2021/12/26(日) 23:27:54.98 ID:S+a9i6vw.net]
>>730
最終的に何が言いたいのかさっぱり分からんが、既に言ったとおり、
IDEの都合でプログラミング言語の仕様を決めるものではない。それは逆だ。

プロトタイプベースではIDEを構成出来ないからクラスベースを導入した、と考えてるのなら、上記の通り。
IDEの為にプロトタイプベースを廃止してクラスベースに一本化すべき、でも上記の通りだし、JSでは無理。
IDEの為にクラス構文なんてそもそも導入すべきではなかった、と考えてるのなら、それもありだし個人的には賛成だが、
一般論としては現在の、メジャー言語でほぼクラス導入済みの状況で、JSだけ不採用も、メジャー言語としては難しい。
GoやRustは今も今後ともマイナー言語でしかないし、勝手にやってろでしかない。

静的解析自体はクラスの方が簡単だろうけど、だからどうしたでしかない。
実行エンジンはあるのだから、実装難易度の上限は実行エンジンを実装する程度でしかなく、出来る範囲だ。
最悪、実行エンジンをそのままコールして結果を得る事も出来る。Flycheckとかそういう構造のように見えるけど。

ちなみにTSが型を導入したのも、IDEを作るためではなく、
プログラマが型を明示的に示す事によって、間抜けなエラーを静的に検出するためだぞ。
そこにIDEが勝手に乗っかっただけであって、IDEが無くとも型の導入自体は意味も効果もある。
型無し言語出身者は型をIDEでの補完をするための物だと勘違いしてるが、そうじゃない。

733 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 00:11:53.01 ID:Btn3kp2t.net]
>>732
言いたかったこととしてはプロトタイプベースがクラスベースの機能包含しているとしても
静的解析のこと考えるとプロトタイプベースが必ずしもクラスベースのスーパーセットではないよねということ

実行エンジンを実装してもあらゆるパスが評価できるわけでないので宣言的記法の方に軍配が上がると思うが
実行エンジン内包する方式で宣言的記法と同等の静的解析できてる例ってあるの?

flycheckってemacsのパッケージのことだと思うけどあれも静的解析走らせてるだけで実際にJS評価してるわけじゃないでしょ?

IDEのためだけではないというのはその通りで、途中から略して書いてしまっているが >>723 ではIDEや静的解析といっている

734 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 05:27:18.08 ID:5b2Vj92V.net]
>>733
> 静的解析のこと考えるとプロトタイプベースが必ずしもクラスベースのスーパーセットではないよねということ
IDEの「実装」をプログラミング言語の「仕様」比較(スーパーセットかどうか)に含めるのがおかしい。

それは「○○は△△のスーパーセットではない。なぜなら『僕が』それを『実装』出来ないから」と言ってるのと同じだろ。
IDEは開発をサポートする道具であり、サポート対象はプログラミング言語だ。
よって、仕様上どんなに構文解釈が難しかろうが、必要ならやるしかないし、それだけだよ。
上下関係で言えばプログラミング言語の『仕様』が完全に上であって、
IDEの『実装』の都合をプログラミング言語側に押しつける事は出来ない。

> 静的解析走らせてるだけで実際にJS評価してるわけじゃないでしょ?
俺が使ったのはGoだけど、見た目は実際にコンパイルを走らせてそれをアノテートしてただけ。
でも確かにこれが一番生産性が高いんだよ。

当たり前だが、コンパイラはエラー時には何行目の何文字目でこけた、という情報を持ってる。
だから静的解析が目的ではなく、ソースコード作成時にエラーを表示する事が目的なら、これでいいんだよ。
最大のメリットは構文解釈を自前で実装する必要がない事。
構文解釈機の再開発をやめ、本体コンパイラのエラー情報をより詳細に出す事にリソースを突っ込み、
IDE側はその詳しいエラー情報を解釈してアノテートするだけに徹する。
これで言語側の仕様変更に自動的に追従するようになる。
IDEの数だけ構文解釈機を再開発するのは手段が目的化してる。

> 実行エンジン内包する方式で宣言的記法と同等の静的解析できてる例ってあるの?
Flycheckは外部から呼んでるだけ。でもそれでコンパイラが吐くエラー(=静的エラー)は全て検出出来る。
しかも自前の実装もなしだから、最も生産性が高い。

自前の構文解釈機でコンパイラ/ビルドシステム以上のエラーを検出する気なら、
それはIDEではなくリンターと呼ぶべきだが、
それが出来るのなら、コンパイラ/ビルドシステムにそのリンターを内包して、
IDEはそのエラーを表示する事に徹するのが最も生産性が高い。
IDEで構文解釈するのではなく、エラーを出来るだけ早い段階で検出して修正するのが目的だから。

735 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 08:32:17.24 ID:Btn3kp2t.net]
>>734
> IDEの『実装』の都合をプログラミング言語側に押しつける事は出来ない。
なぜそうあるべきなのですか?
近年の言語はサードパーティーのツール含めたエコシステム全体で生産性をいかに高めるかという観点で設計されることも多いと思うのですが

また、あなたの言う実行エンジンとは静的解析器の意味で実際にJSをevalするものではないということですね?

なぜか構文解析の話になっていますが意図してたのはintellisenseのような意味解析が必要な機能です
プロトタイプベースの記法では解析のためにコードの実行パスを追いかけプロトタイプの設定箇所を検出しなければならないのに対して
宣言的記法であればスコープ内のクラス宣言を見ればだいたい事足りるので実装難易度は大幅に異なるかと

736 名前:デフォルトの名無しさん [2021/12/27(月) 09:13:46.85 ID:mFj7RPUl.net]
今時プロトタイプベースがぁ、って言ってるのが時代遅れじゃねーの。
クラスベースじゃないからってRustやGoを出してるがそれらはプロトタイプベースですらないわけで。

737 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 09:41:04.48 ID:VqPkBZyA.net]
>>736
>>722はクラスベースを時代遅れと書いたんだが
ぶっちゃけオブジェクト指向が過去のものになってきてるのみんな分かってるだろ

738 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 10:22:30.58 ID:5b2Vj92V.net]
>>735
> 近年の言語はサードパーティーのツール含めたエコシステム全体で生産性をいかに高めるかという観点で設計されることも多いと思うのですが
「多い」というのならまず具体的に名前を複数挙げてみろ。
出来なければそれは君の妄想だね。

> また、あなたの言う実行エンジンとは静的解析器の意味で実際にJSをevalするものではないということですね?
違うぞ。それは今の話に関係ない。(どっちでもいい)

> 意図してたのはintellisenseのような意味解析が必要な機能です
だから何?これも君の考えが間違ってる。
flycheckのやり方でも原理的にインテリセンスは出来るんだよ。
インテリセンスで出なかったキーワードだとコンパイルエラーになるのなら、
仮にコンパイラが無限に速ければ、ソース内の全キーワードで試せば、コンパイルが通るキーワードのリストは得られる。
実際こんな事をしてる物はないと思うが、構文解釈で100%絞る必要なんて無くて、
候補が数個程度なら全部試してエラーが出なかった物を出す程度でも十分実用的なんだよ。
今時emacsでもインテリセンスするようだから、そんなにIDEが気になるのなら、彼等のアプローチを確認してみるといいよ。
全言語向けに自前でやってる事なんてないと思うよ。

プロトタイプを自分で追うのが技術的に無理なら、evalさせてgetPrototypeOfやinstanceofを使って追えばいいだけ。
自前の構文解釈器でソースからデータツリー構築をする気だからおかしくなる。
それはevalすれば実行エンジン内に構築されるものでしかないのだから、完全に再開発だろ。
eval出来る環境があり、それが一番近道なら、やればいいだけ。

君は多分「生産性」を勘違いしてる。
むしろ再開発しすぎてるし。


現状どうなってるのか知らないのだけど、メジャーなIDE、
例えばVSCodeとかだとクラスベースならインテリセンス出来るが、プロトタイプベースだと無理とかなのか?
誰か使ってたら教えてくれ。

739 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 10:51:32.02 ID:gEDfakwV.net]
×クラスベース
○クラス構文

クラス構文で書いてもプロトタイプベースなのは変わらん

740 名前:デフォルトの名無しさん [2021/12/27(月) 11:21:14.15 ID:mFj7RPUl.net]
>>737
確かにクラスベースがってよりオブジェクト指向が時代遅れって感じだね。
JS自体は関数プログラミングもいける。



741 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 11:22:05.04 ID:lxgQYw9b.net]
言語仕様も分かってないIDEも使ってない部外者の素人同士が長文レスバって地獄だな

742 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 11:54:45.10 ID:Btn3kp2t.net]
>>738
> 「多い」というのならまず具体的に名前を複数挙げてみろ。
例えばgolangやrustはコアチームがツール開発に積極的ですね
ツールのチームがコア言語に対してフィードバックしていたりする

> eval出来る環境があり、それが一番近道なら、やればいいだけ。
"構文解釈機" という言葉を使っているから静的解析を意図してるのかと思ったけど動的解析も含んで言っていたのね
それで実用に耐えうる速度と精度が実現できるならそういうアプローチもありかもね

それから別にIDEが自前で静的解析器を開発すべきなんて主張はしてないから藁人形論法はやめてくれ


>>740
オブジェクト指向というか継承が忌避されてる気はする

743 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 12:21:31.31 ID:VwNgBMvN.net]
オブジェクト指向ならではの筆頭が継承だから継承が忌避されてる=オブジェクト指向が忌避されてるってことよ
OOPLが提供していた継承以外の特性の多く(カプセル化など)は抽象データ型から来ていてそれは時代遅れになってないし忌避されてもいない

744 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 13:11:44.45 ID:+2NyFcdP.net]
クラスの定義だけど、
classとfunctionを混在した書き方でも問題ないの?

745 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 13:40:18.86 ID:Uq9DqbRx.net]
>>744
混在した書き方っての次第だが

class A {}
A.prototype.x = () => {}
a = new A()
a.x()

こんなのは当たり前に動くぞ
つかまずは自分で試せよw
JSなんかブラウザあれば動かせるんだからさー

746 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 15:00:45.57 ID:5b2Vj92V.net]
>>742
> 例えばgolangやrustはコアチームがツール開発に積極的ですね
それで、それらの言語のどの仕様がIDEの都合で採用されたものなの?

> 藁人形論法はやめてくれ
なら最初から分かるように主張しろ。
何が言いたいか分からないからエスパーして複数挙げてみただけ。
馬鹿は無視してきっちり自分の意見を書ききれ。
3行しか読めない馬鹿はプログラミングなんてどうやっても出来ない。
MDNその他のリファレンス見りゃ分かるが、そんな世界じゃない。
5ch程度の文にすら手こずるようではどだい無理だよ。

解釈が動的か静的かは意味無い。
出来るだけ早い段階でエラーを検出して修正したいだけであって、それが出来れば何だっていいんだよ。
その手段の一つが静的解析でソース作成時にエラーを表示する事であって。
でも、エラー表示だけなら、コンパイラやevalにぶち込めば出来るし、それをやってるっぽいのがflycheck。

構文解釈器を自前で作るとしても、クラス構文でもプロトタイプ構文でも、大して難易度は変わらない気もするが。
実際に問題になるのは、構文解釈そのもの、具体的にはJS的な様々な書き方でも問題なく動くパーサの構成だろ。
構文解釈後の親class/プロトタイプ追跡なんて辿ればいいだけだからアホでも出来る。
それで今時のIDEで実際どうなのか聞いたんだよ。
もしプロトタイプ構文ではインテリセンスが動かないのなら、何か理由はあるのだろうけど。


継承が忌避されてるのは、JAVAでは関数ポインタが使えず、同様の事をするためには継承をこねくり回すしかなくて、
それの残骸がデザインパターンなのだが、
結果、継承すべきでない局面での継承で酷い事になってるからだよ。
でも、継承すべき場所では継承した方がよくて、全部捨ててるGoはいちいち全部書かないといけないのが糞。
あれは1周目はまだしも、2周目以降でそのコピペされたソースにメンテコストがかかるから、先すぼみになると予想してる。
Rustはやってないから知らん。

747 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 15:36:34.22 ID:KDGmbGA4.net]
何言ってるか分からない相手にエスパーして反論って藁人形そのもので完全に異常者

748 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 15:55:56.69 ID:h2/Ma5NI.net]
いい加減スレチだから他所でやってもらえんかね
このスレ伸ばすにしてもnodeにScheduling APIが入ったとか普通にネタあるだろ

749 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 16:04:01.18 ID:XkNPDe9x.net]
最近アツいサーバサイドJSはnodeよりもdenoよりもCloudflare Workers

750 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 16:21:39.89 ID:U0LFk7o9.net]
denoって全然使われてないの?



751 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 16:28:54.26 ID:XkNPDe9x.net]
denoは苦戦してるみたいだねー
それでexpressなどnode用のライブラリが動くように互換性を高める方針になった
でもそれならnode使い続ければいいやってなりそう

752 名前:デフォルトの名無しさん [2022/01/05(水) 00:01:04.66 ID:XksPZRYQ.net]
puppeteerを使って投票サイトの投票を自動化したいのだけど、
実行してもエラーを起こさず無反応なんだよね

Headless Recorerを使ってるからHTML部分の間違いはないと思うのだけど、
UserAgent以外で何か対策ないっすかね

753 名前:デフォルトの名無しさん mailto:sage [2022/01/05(水) 00:22:23.97 ID:n516+jFB.net]
いくらでも試すことはあるけど悪事の片棒を担ぎそうで怖いな
一般論として言えるのはpuppeteerでも普通にWebページのコンテキストからDOM APIを叩ける

754 名前:デフォルトの名無しさん [2022/01/05(水) 00:33:19.61 ID:XksPZRYQ.net]
んじゃ、逆にWEBサイトを作る側はどんな対策をしているのでしょうか?

755 名前:デフォルトの名無しさん mailto:sage [2022/01/05(水) 10:54:49.76 ID:4mwV9n2W.net]
reCAPTCHA使ってんじゃない?

756 名前:デフォルトの名無しさん [2022/01/05(水) 15:02:25.17 ID:XksPZRYQ.net]
>>755
使ってるところは諦めてるんだけど、使ってないところはどうやってるのかな〜と思って
UserAgentをガラケーにしてみたり、プレステにしても無反応なんだよね

757 名前:デフォルトの名無しさん mailto:sage [2022/01/05(水) 15:47:16.38 ID:w42D9Ab/.net]
手動で操作した時のリクエストヘッダーの中身を解析して
間違いなく妥当なリクエストが投げられてるのが大前提

あとは“how to detect headless browser”でググるといいよ

758 名前:デフォルトの名無しさん mailto:sage [2022/01/06(木) 22:16:32.70 ID:vwKSLmqQ.net]
npmがぶっ壊れたらどうすればいいですかapt でuninstall installしても治りません

759 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 00:21:58.20 ID:MINWORCd.net]
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/538

ここに、YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースの内容を書いておいた

基本的に、Rails以外のフレームワークは、シェアが少ないのでおすすめしない。
学習環境も揃わないので、無理

Railsでは、Railsチュートリアル・Railsガイド・
黒田努の3冊の本・パーフェクト Ruby on Rails・Ruby on Rails 6 エンジニア養成読本とか、
Rubyでは、改訂2版 パーフェクトRuby・改訂2版 Ruby逆引きハンドブックなどの教科書が揃っている

これほど、良い教科書が揃っているフレームワークはない!

Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体がオワコンになってしまったw

日本のウェブ開発の将来は、ほぼKENTAが決めている。
Scala を滅ぼしたのも、KENTA

760 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 23:48:14.35 ID:ukL0Abnm.net]
for await (const chunk of stream(foo)) {
response.write(chunk);
}
response.end();

↑みたいな感じでレスポンスに直接書いてってるやつって、一旦に変数に入れることって可能?

const chunks;
for await (const chunk of stream(foo)) {
// chunksにchunkを書き込んでいく
}
response.write(chunks);
res.end();

↑こんな感じに書きたくてさ
レスポンスのサイズを減らしたくてzlibのコード見たらレスポンスを直接圧縮するんじゃなくて、オブジェクトを圧縮してそんでレスポンスにパイプって感じに見えたもんで
ただ書き方がよく分からんくてね



761 名前:デフォルトの名無しさん mailto:sage [2022/02/20(日) 02:19:47.65 ID:flSfy5Gd.net]
そんな感じのコードでやれると思うけど
ただ局所的な負荷を避けるStreamの利点が消えちゃうぞ

762 名前:デフォルトの名無しさん mailto:sage [2022/02/20(日) 02:30:31.20 ID:r6gz02kC.net]
> レスポンスにパイプ

stream.pipeline()関数を使えってこった

763 名前:デフォルトの名無しさん mailto:sage [2022/02/20(日) 03:59:37.87 ID:Y4d5gioW.net]
>>760
chunksに貯め込んでからzlib.gunzip()やzlib.inflate()を呼んでいたらメモリの無駄遣い
そこでzlib.createGunzip()やzlib.createInflate()で変換用streamを作って使う
それも昔はinput_stream.pipe(transform_stream).pipe(ourput_stream)と多段に繋げていたが
しかし速度差がある時のバッファリング問題もあるため一気に協調させることになり
今はpipeline(input_stream, transform_stream, ourput_stream, cb) と好きなだけ並べて書く

764 名前:デフォルトの名無しさん mailto:sage [2022/02/20(日) 13:07:52.69 ID:G2bzmeXG.net]
758 759 760
ありがとう
pipelineってやつ使うとよいみたいやね
調べてみますわ

765 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 08:50:47 ID:Hc0pjWMa.net]
なんでchildprocessのイベントにはSIGINTが実装されてないんだろ
それでいて親から伝搬はするからdetached入れて切り離さないと落ちちまう
親同様にリスナー付けてexitを止められるようにするべきだと思うんだが

766 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 18:43:55.67 ID:MKhHDYOQ.net]
相対パスでローカルモジュールをnpm iするとdependencieではfile:から始まる相対パスになるけど
実際これは完全に無視されて同時に作成されるnode_modules以下のsymlinkが読み込まれるんだな
なんでこんな実装になってんだ

767 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 18:53:57.82 ID:MKhHDYOQ.net]
いや更新時の参照用ならこれでいいのか
nodeのrequire/importとnpmのinstall/updateを混同してたわ

768 名前:デフォルトの名無しさん [[ここ壊れてます] .net]
バックエンドnode.jsだけで食っていけますか

769 名前:デフォルトの名無しさん mailto:sage [2022/10/12(水) 13:50:41.51 ID:PMp24lyt.net]
nodejs単体というよりOODBの管理ととトランザクションいじれるようになるのが一番じゃね?

770 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 13:26:50.96 ID:qyQuWblL.net]
>>768
可能と言えば可能だけど無理と言えば無理
結局何作って金稼ぐかに帰ってくる

PHPerがCRUDをLaravelで作って納品してるような事はNode.jsでも出来るけど
人口多いPHPでやれば良くないっすか?で詰む

改めてNode.jsを使う意味に戻ってくる



771 名前:デフォルトの名無しさん mailto:sage [2022/10/21(金) 14:23:53.93 ID:QgmICw4I.net]
この業界ってnodeよりphpのほうが多いの?

772 名前:デフォルトの名無しさん mailto:sage [2022/10/21(金) 17:27:25.06 ID:yOIwuGST.net]
nodeはhttpサーバ目指してんのか
クロスプラットフォームのコマンドツール群目指してんのか
立ち位置が分かりにくくなってきてるなぁ。

773 名前:デフォルトの名無しさん mailto:sage [2022/10/21(金) 17:37:31.50 ID:gaBKDdgt.net]
>>772
その辺はわりと初期から迷走してるでしょ
フロントエンド用ライブラリ郡も全てnpmで管理してるし

774 名前:デフォルトの名無しさん mailto:sage [2022/10/21(金) 20:11:01.49 ID:ho0gY/No.net]
立ち位置としては単なるJSのランタイムだから別に迷走はしてない
あれもこれもできている現状は目標が達成できている状態だな

775 名前:デフォルトの名無しさん mailto:sage [2022/10/21(金) 20:53:45.43 ID:r+LUs0oF.net]
自分が作りたいものを実現できるならそれでいいし

776 名前:デフォルトの名無しさん mailto:sage [2022/10/22(土) 10:24:29.33 ID:nOyTQUKy.net]
またnpmとbowerに分かれるのか

777 名前:デフォルトの名無しさん mailto:sage [2022/10/22(土) 12:20:56.88 ID:J0WzfMNr.net]
>>773
そもそもフロントエンドの実行環境はnodeじゃないしな。
そこで動くライブラリもnpmにしたのはライブラリ開発者側の意思だろ。

778 名前:デフォルトの名無しさん [2022/11/02(水) 16:05:58.82 ID:IF6ghKjX+]
テ口リス├の敵は味方、金正恩を支持しよう!
都心まて゛数珠つなき゛で私有地上空を侵犯するJΑLだのÅNАだのクソアヰヌドゥた゛のクサヰマークた゛のコ゛キブリフラヰヤ一だの
女風呂のそ゛きながら威カ業務妨害騒音ヘリグルク゛儿飛は゛して住民イラヰラ犯罪惹起してる猥褻犯罪逮捕者た゛らけのクソポリ公た゛の
国土破壊省だの都心まて゛数珠つなぎで騒音に温室効果ガスにコ口ナにとまき散らして,氣候変動させて海水温上昇させて,
地球破壞して土砂崩れに洪水.暴風、干は゛つ.森林火災にと災害連発させて、静音が生命線の知的産業を根絶やしにして儲けてる
この殺人テ□リストどもこそか゛安全保障にとって重大て゛差し迫った脅威であり.國際社會全体にとって明白で深刻な脅威だろ
ウケルのは大気圏外を飛んて゛るミサヰ儿か゛上空を通過しただのほさ゛いて國民を煽って電車まで止めて号外まで出すキチカ゛イっふ゜りな
人類に涌いた害虫税金泥棒公務員ってのはこういう白々しいネタまて゛作り上げてバカ騙して利権倍増させて私腹を肥やしてるわけよ

創価学會員は.何百万人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最惡の殺人腐敗組織公明党を
池田センセ━か゛囗をきけて容認するとか本氣で思ってるとしたら侮辱にもほどか゛あるぞ!
htTPs://i,imgur、cοm/hnli1ga.jpeg

779 名前:デフォルトの名無しさん mailto:sage [2022/12/01(木) 15:22:36.40 ID:gR9AoUvr.net]
npm@9にしたらupdate時にinstall済みのローカルモジュールがsymlinkから実ファイルコピーに書き換えられた
--install-linksの挙動変更だけじゃなかったのか

780 名前:デフォルトの名無しさん mailto:sage [2023/01/09(月) 13:40:55.90 ID:pkwz3DCl.net]
substackがGithubリポジトリごと全部消してるけど何かあったのか
npmは基本消せないから今のところは支障ないけど



781 名前:デフォルトの名無しさん mailto:sage [2023/01/09(月) 15:20:15.81 ID:QAUxwh3d.net]
スマホ持ってないのに2段階認証押し付けられて嫌気がしたからとか見かけたな

782 名前:デフォルトの名無しさん mailto:sage [2023/01/09(月) 19:48:04.21 ID:pkwz3DCl.net]
思ったよりしょうもなかったがバイク事故とかじゃなくてよかったわ

783 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 12:54:12.49 ID:O11XvwYM.net]
TSのバックエンドでファイル処理つったらstreamでいいのかな
BufferとかBlobは要らん子?pipeってのもあるらしくて混乱中

784 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 13:13:59.54 ID:f8HqO3bH.net]
最初はfs.writeFileとfs.readFileを使え
streamは小刻みにデータを処理する方法でpipeはその際の繋ぎ役
BufferやBlobはデータをメモリ上で扱う際の形式の一つ
TS以前にJSの基礎が怪しいから入門サイトなぞったほうがいいぞ

785 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 13:26:12.10 ID:O11XvwYM.net]
>>784
どうも
BufferとBlobは役割同じに思えるけどなんで分けてるん?

786 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 14:46:29.69 ID:gEyoKRRe.net]
BufferはNode固有のAPI
Blobは後から出てきたWeb (ブラウザ) のAPI
そしてTypedArrayBufferはECMAScriptのAPI
ストリームとかURLとか他にも重複してるのが多数ある

787 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 15:24:22.66 ID:G0G6dXL8.net]
>>786
どうも
JSごちゃごちゃしてて難しいっすね
でも大体わかったわ

788 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 08:27:38.73 ID:WC55EdF2.net]
今ってORMはPrisma一択?

789 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 10:01:03.33 ID:9VW44qMw.net]
勢いでは完全に負けてるが一応TypeORMもあるんじゃね

790 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 14:51:23.19 ID:dWfTEqUX.net]
util.aborted()が生えたけど用途がわからん



791 名前:デフォルトの名無しさん mailto:sage [2023/07/27(木) 23:08:16.03 ID:nxFTW9tq.net]
nodejsでDBマネージャーとかログマネージャーとか、可能な限り同一インスタンスを維持したいインスタンスって一般的にどうしてますでしょうか。

class DbManager{
private constructor(){}
static instance = new DbManager();
}
staticクラスを使うなら上記の書き方でしょうが、一般的にstaticクラスは良くないとされています。
他の硬い言語ならDIを使うのですが、nodejsというか、javascriptだとDIライブラリはあまり使われていないように見える。

毎回クラスを作る時に引数で渡しまくるのも面倒ですし、なにか良い手順はありますでしょうか

792 名前:デフォルトの名無しさん mailto:sage [2023/07/28(金) 01:56:41.01 ID:HsfaqfZ/.net]
常に引数で外部注入して生成するけど
引数にundefinedが来たら自動的にデフォルト注入を使って生成かな

793 名前:デフォルトの名無しさん mailto:sage [2023/07/28(金) 03:31:39.50 ID:H/mKlItN.net]
>>792
ありがとうございます。
そうなると大半がデフォルトなんだから、もう毎回書かなくていいや〜 ってなってしまいそう…

とにかく、それでも引数でちゃんと渡す or デフォルトで自動生成する が常套手段みたいですね。

794 名前:デフォルトの名無しさん mailto:sage [2023/07/28(金) 09:58:33.60 ID:Za7BrkqV.net]
ファイル(モジュール)のトップレベルで

export const instance = new Xxx();

で十分
Javaなんかと違ってこれでもモックできるから大げさなDIなんかJS/TSにはいらんやろ

795 名前:デフォルトの名無しさん mailto:sage [2023/07/28(金) 10:36:22.85 ID:HsfaqfZ/.net]
singletonならそれでいいね

796 名前:デフォルトの名無しさん mailto:sage [2023/07/28(金) 12:39:37.08 ID:Zbfe02RK.net]
>>791
> 同一インスタンスを維持したい

シングルトンの話だな

797 名前:デフォルトの名無しさん mailto:sage [2023/08/18(金) 15:34:38.37 ID:ccv6NoZV.net]
やめてっ!そこはビンカンなの!






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

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<211KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef