【node.js】サーバサイドjavascript 5【Nashorn】 (796レス)
【node.js】サーバサイドjavascript 5【Nashorn】 http://mevius.5ch.net/test/read.cgi/tech/1518528093/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
504: デフォルトの名無しさん [] 2020/09/01(火) 21:12:04.15 ID:QR4OvP6I すまん、俺は無能なんだわ バッチ処理は終わるまで時間がかかるから プログレスバーとして 進捗報告として データベースの進捗状況テーブルへ 進行度をアップデートしてんだわ 毎ループ進捗報告しなくていいから %で余り算して定期的に 進捗をアップデートしてんだわ ところがその進捗報告DBアクセスで 非同期が発生してループの順序が乱れる 進捗状況の進行度が進んだり戻ったり トリッキーに変動するんだわ でもループの最後まで到達して完了すると 全てのデータ整合して
んだわw なぜ中間状態だけこんなにトリッキーなのか謎 http://mevius.5ch.net/test/read.cgi/tech/1518528093/504
505: デフォルトの名無しさん [sage] 2020/09/01(火) 21:24:55.53 ID:I2eVqLbl コード書くのやめろ http://mevius.5ch.net/test/read.cgi/tech/1518528093/505
506: デフォルトの名無しさん [sage] 2020/09/01(火) 21:59:23.78 ID:usFRsaVF 進捗の書き込みはシリアルにやればいいよね? 「80%完了」の後に「70%完了」が来ても無視すればいい http://mevius.5ch.net/test/read.cgi/tech/1518528093/506
507: デフォルトの名無しさん [] 2020/09/01(火) 22:02:04.20 ID:QR4OvP6I >>506 無視するようにしてるんだよ whereで大小比較して 更新する数の方が小さかったら更新されないように してる でもDB上の数値が減るんだよ。何故だ? http://mevius.5ch.net/test/read.cgi/tech/1518528093/507
508: デフォルトの名無しさん [sage] 2020/09/01(火) 22:05:22.51 ID:3AXmEbq5 コードも無しで言われても知らんわ http://mevius.5ch.net/test/read.cgi/tech/1518528093/508
509: デフォルトの名無しさん [sage] 2020/09/01(火) 22:28:22.77 ID:usFRsaVF >>507 シリアルに書いてないからでしょ 今実行中の進捗報告の書き込みが完了してから 次の進捗報告の書き込みをする 理解できないほうが謎 http://mevius.5ch.net/test/read.cgi/tech/1518528093/509
510: デフォルトの名無しさん [sage] 2020/09/02(水) 02:59:56.27 ID:bHRnrATQ 7月入ってからageながら変なこと書いてんの同じ人っぽいな 挫けないでがんばれよ http://mevius.5ch.net/test/read.cgi/tech/1518528093/510
511: デフォルトの名無しさん [sage] 2020/09/02(水) 12:32:41.24 ID:U40YU3HI 並列処理しなければ良い 1つが、確実に終わってから、 次のものを処理する http://mevius.5ch.net/test/read.cgi/tech/1518528093/511
512: デフォルトの名無しさん [sage] 2020/09/02(水) 13:19:02.32 ID:FrAP3fk+ 回答者まで同じ内容を繰り返し始めたw http://mevius.5ch.net/test/read.cgi/tech/1518528093/512
513: デフォルトの名無しさん [] 2020/09/02(水) 21:31:48.71 ID:C0O9Iab7 >>504 こうなる原因が今日特定出来た ループ自体が多重に並列に動作してた 1つのfor文が動いてるんだと思ってたら ログをよくよく見たらfor文自体が 3つくらい並列で動いてた 勝手に多重実行になった原因は、 MySQLが処理しきれなくなってタイムアウトが 発生したあと nodeが自動で(promiseの仕様?)最初から リクエストの処理をリトライするようで ピタゴラスイッチのアルゴリズム体操見たいに なってたわw 初歩的な質問ですが サーバに飛んできたリクエストだけを中
断するには exitが正解ですか? returnが正解ですか? res.end(); ですか? サーバ自体は止めたくありませんが ある関数自体を中断するだけでなく そのリクエストだけ大元から全部中断したいです http://mevius.5ch.net/test/read.cgi/tech/1518528093/513
514: デフォルトの名無しさん [sage] 2020/09/02(水) 22:07:44.16 ID:m9UvO5Rn お前がコード書くのをやめる、が正解 http://mevius.5ch.net/test/read.cgi/tech/1518528093/514
515: デフォルトの名無しさん [sage] 2020/09/07(月) 13:52:39.16 ID:KQEAaFWf どなたか、次の 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 http://mevius.5ch.net/test/read.cgi/tech/1518528093/515
516: デフォルトの名無しさん [sage] 2020/09/07(月) 14:38:17.12 ID:UUesL9I9 説明できますかって何だよ挑発してんのかよ resolve()は必ずイベントループに戻ってからthen()のコールバックが呼ばれるからに決まってるだろがボケカス マイクロタスクキューでも調べやがれポンコツ http://mevius.5ch.net/test/read.cgi/tech/1518528093/516
517: デフォルトの名無しさん [] 2020/09/07(月) 15:25:12.91 ID:Egt+Qwmp 0 4 1 6 2 3 5 とか 0 4 6 1 2 3 5 にならない? http://mevius.5ch.net/test/read.cgi/tech/1518528093/517
518: デフォルトの名無しさん [sage] 2020/09/07(月) 15:45:30.49 ID:UUesL9I9 ならない Promiseコンストラクタはコールバックを即時実行する MDN executor 関数は Promise 実装により resolve 関数と reject 関数が渡されて即座に実行されます (Promise コンストラクターが作成したオブジェクトを返すよりも前に executor は呼び出されます)。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/518
519: デフォルトの名無しさん [sage] 2020/09/07(月) 17:09:51.23 ID:3uGG3SyO >>515 コールスタックが空にならないと、各種キューに入ってる処理は実行されない 最初にconsole.log(“6”);まで処理したらスタックが空になる その状態でsetTimeoutのタイマーが発動してキューにコールバック関数が入る スタックが空なのでキューの1番目にあるsetTimeoutのコールバック関数がスタックに積まれて呼び出される この関数がreturnするまではスタックは空にならないので それまではキューに入った処理を実行するタイミングはない console.log(“3”
);まで実行してreturnしたらスタックが空になるので その後、各種キューに入ってる処理があれば実行される http://mevius.5ch.net/test/read.cgi/tech/1518528093/519
520: デフォルトの名無しさん [sage] 2020/09/07(月) 17:21:12.28 ID:KQEAaFWf 試してみたんですが、setTimeout()で指定している関数の中で、 resolve(111); resolve(222); resolve(333); としてから、 sample.then( function(value) { console.log( "5, value=", value ); }); とすると、 5, value = 111 とだけ表示されて、222, 333 の分は表示されないんですが、どういった 理由なのでしょう。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/520
521: デフォルトの名無しさん [] 2020/09/07(月) 17:33:56.06 ID:Egt+Qwmp お前はもう死んでいる http://mevius.5ch.net/test/read.cgi/tech/1518528093/521
522: デフォルトの名無しさん [sage] 2020/09/07(月) 17:39:40.90 ID:UUesL9I9 最初にresolve()した時点でそのPromiseの値は確定するから つかスレに書き込む暇があるならドキュメントでも何でもいいから学習してPromiseがどういうもんか理解してから試せよ Promiseってのは「将来確定する"値"」を表現するもんなんだよ http://mevius.5ch.net/test/read.cgi/tech/1518528093/522
523: デフォルトの名無しさん [sage] 2020/09/07(月) 17:52:24.52 ID:neZOTIA1 一旦解決したPromiseを再度変更出来たらそれは改竄と呼ぶべきだな reject(111); resolve(222); reject(333); これは成功したのか失敗したのかどっちよ? http://mevius.5ch.net/test/read.cgi/tech/1518528093/523
524: デフォルトの名無しさん [sage] 2020/09/07(月) 18:07:19.89 ID:ieMFgaPK これ近頃よく見る相手にしちゃダメなやつだな http://mevius.5ch.net/test/read.cgi/tech/1518528093/524
525: デフォルトの名無しさん [sage] 2020/09/07(月) 18:08:35.44 ID:UUesL9I9 最初のreject()で失敗が確定する Promiseの状態はpending→settledと変わる settledにはfulfilledとfailedがある resolve()でfulfilled、reject()でfailedになる http://mevius.5ch.net/test/read.cgi/tech/1518528093/525
526: デフォルトの名無しさん [] 2020/09/08(火) 00:01:18.48 ID:8muSUg7S nodeの非同期を同期的にやりたい時のコードって promise async await resolve thenが複雑に入り組んで 意図した動きになった時はめっちゃ過剰なコードになるよね 精神的にヘトヘトに疲れて 清書する元気も起きん promiseやresolve変数がたくさん生成しまくって 名前つけるのもめんどうになって p1とかr3みたいなのが沢山できてる 特にforループの中に非同期使うときは地獄 早くmysqlを同期的にクエリ投げられる ライブラリ出してください。何でもしますから。 http://meviu
s.5ch.net/test/read.cgi/tech/1518528093/526
527: デフォルトの名無しさん [sage] 2020/09/08(火) 01:45:13.23 ID:1Wq/gxeB だからお前はプログラマやめろって 才能なさすぎ http://mevius.5ch.net/test/read.cgi/tech/1518528093/527
528: デフォルトの名無しさん [sage] 2020/09/08(火) 02:32:28.50 ID:o0Kum352 >>526 nodeも非同期も関係なくお前がめっちゃ過剰なコード書いてるだけだからな http://mevius.5ch.net/test/read.cgi/tech/1518528093/528
529: デフォルトの名無しさん [sage] 2020/09/08(火) 12:00:40.54 ID:gglleEZ2 ライブラリは需要があればとっくに作られてる 今現在無いのはつまりそういうことだ http://mevius.5ch.net/test/read.cgi/tech/1518528093/529
530: デフォルトの名無しさん [sage] 2020/09/08(火) 12:14:59.78 ID:1sQ8nqM1 そこの無能が探してもいないだけで無いわけじゃないだろ 例えばあるライブラリの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(); と書ける http://mevius.5ch.net/test/read.cgi/tech/1518528093/530
531: デフォルトの名無しさん [] 2020/09/08(火) 13:42:27.36 ID:8muSUg7S select文を投げるのは selectの結果が欲しいから投げる訳であって 結果が取得できる前に 後続のコードに勝手に動かれたら困るのは 当たり前だよなあ? DBアクセスで非同期って何がメリットが あるのか分からない。 それにnodeの概念はバカの新人に言葉で説明しにくいんだよ あいつぜってー非同期とか理解出来ねえぞ http://mevius.5ch.net/test/read.cgi/tech/1518528093/531
532: デフォルトの名無しさん [sage] 2020/09/08(火) 13:47:44.03 ID:op+kwVtr 新人に言葉で説明できないバカ 新人かわいそう http://mevius.5ch.net/test/read.cgi/tech/1518528093/532
533: デフォルトの名無しさん [sage] 2020/09/08(火) 13:57:56.32 ID:c4WmASUK > 勝手に動かれたら 何も理解してないことがよく分かるw http://mevius.5ch.net/test/read.cgi/tech/1518528093/533
534: デフォルトの名無しさん [sage] 2020/09/08(火) 14:51:08.13 ID:QV2EnsJl お前の場合はMySQL一つしか使わないのが当たり前かもしれないが世の中にはシャードされた複数のMySQLにアクセスしたりキャッシュのRedisにアクセスしたり検索エンジンのelasticsearchにアクセスしたりいろんなことをしなきゃいけないアプリがあったりするわけ Nodeではこれらは非同期だから特別なことをしなくてもたやすく並行アクセスできる 同期で並行アクセスしようとすると複数スレッド使って待ち合わせすることになるから非同期より簡単にできるわけではない http:
//mevius.5ch.net/test/read.cgi/tech/1518528093/534
535: デフォルトの名無しさん [] 2020/09/08(火) 16:00:24.51 ID:8muSUg7S >>534 ああ、アクセスするのは簡単やと思うわ 問題はその結果の始末を付けるのが大変だと思うわ なんかいい書籍あるか? http://mevius.5ch.net/test/read.cgi/tech/1518528093/535
536: デフォルトの名無しさん [sage] 2020/09/08(火) 17:40:30.89 ID:Qj0BclxS 本当に本当にダメなヤツだなぁ(呆れ) アクセスってのは接続して要求を投げて結果を受け取ってそれを処理して接続を閉じるまでの一連に決まってるだろ >>530の例だって後始末まで書いてあるのに全然大変じゃないだろが http://mevius.5ch.net/test/read.cgi/tech/1518528093/536
537: デフォルトの名無しさん [sage] 2020/09/08(火) 19:19:05.95 ID:gglleEZ2 とりあえずオライリーでも読んだらいいんじゃない https://www.amazon.jp/dp/4873118735/ http://mevius.5ch.net/test/read.cgi/tech/1518528093/537
538: デフォルトの名無しさん [sage] 2020/09/09(水) 06:42:52.84 ID:N3PFvdWI スレ的には真っ当な質問なのに当たり強過ぎでしょ http://mevius.5ch.net/test/read.cgi/tech/1518528093/538
539: デフォルトの名無しさん [sage] 2020/09/09(水) 08:44:06.86 ID:7Dxn++Hv 質問じゃなくて文句 http://mevius.5ch.net/test/read.cgi/tech/1518528093/539
540: デフォルトの名無しさん [sage] 2020/09/09(水) 17:07:03.98 ID:SFlZHAWP 謙虚に質問してればレスも優しかったかもよ http://mevius.5ch.net/test/read.cgi/tech/1518528093/540
541: デフォルトの名無しさん [sage] 2020/09/09(水) 21:03:51.38 ID:OFM+73CL 分からないだけならともかく延々と自分以外を貶めつつ無能を晒してたからなぁ http://mevius.5ch.net/test/read.cgi/tech/1518528093/541
542: デフォルトの名無しさん [sage] 2020/09/09(水) 21:12:34.50 ID:XGuez22g それな × node.js が悪い × 非同期が悪い × promise が悪い × async/awaitが悪い × 新人がバカ ○ ID:8muSUg7S がバカ こうだからな http://mevius.5ch.net/test/read.cgi/tech/1518528093/542
543: デフォルトの名無しさん [] 2020/09/10(木) 14:55:06.91 ID:rLZBXCmM グレたωωω http://mevius.5ch.net/test/read.cgi/tech/1518528093/543
544: デフォルトの名無しさん [] 2020/09/10(木) 19:56:10.61 ID:FWP0gZB+ clusterでマルチプロセスしようとしたんだけど 「EADDRINUSE(ポートが既に使われている)」 エラーがどうしても出てしまいます。 もちろん既に稼働しているnodeはなく、 fork元のapp.jsでlistenしているのと同じポート 子プロセスでまたbindしようとして失敗しているようで 子プロセスは外部からリクエストを受けるような ものではなく、重い処理をコア分散させて並列処理したいだけです 子プロセスにポート割り当てが必要な理由がよく分かりませんが 恐らく親プロセスと子プ
ロセス間の通信 とかに使うんでしょうか? 子プロセスのポート割り当て回避か、 親プロセスと別ポートを割り当てる方法はありますか? http://mevius.5ch.net/test/read.cgi/tech/1518528093/544
545: デフォルトの名無しさん [sage] 2020/09/10(木) 20:18:09.02 ID:VafdMbGz > 子プロセスは外部からリクエストを受けるようなものではなく それならclusterモジュールは必要なくね clustetは複数のプロセスを使って大量のリクエストを捌くためのもの ただの子プロセスならchild_processのメソッドを使う http://mevius.5ch.net/test/read.cgi/tech/1518528093/545
546: デフォルトの名無しさん [] 2020/09/10(木) 20:21:53.78 ID:C+K2oJgr >>545 なるほど、助かりました じつはworker_threadsも試してみて同じ エラー出たので child_processが正解でしたか これだとポートは関係ない? http://mevius.5ch.net/test/read.cgi/tech/1518528093/546
547: デフォルトの名無しさん [sage] 2020/09/10(木) 20:43:38.94 ID:oBZEl9rg clusterだと親は子を産むだけの役割じゃなかったっけ http://mevius.5ch.net/test/read.cgi/tech/1518528093/547
548: デフォルトの名無しさん [sage] 2020/09/10(木) 20:45:06.67 ID:oBZEl9rg あとworker_threadsで同じエラーが出るのはいくらなんでもおかしい http://mevius.5ch.net/test/read.cgi/tech/1518528093/548
549: デフォルトの名無しさん [] 2020/09/14(月) 20:42:48.98 ID:JdQogpR1 >>544 の者ですが 今日これをデバッグしてました。 clusterでもwoker_threadsfでも child_processでも 「EADDRINUSE」が発生しました 発生するタイミングは子プロセスを生成した時でも なく 子プロセスでMySQLに対しのコネクション確立時でもなく 確立したDBコネクションからクエリを投げるコード を実行する時に発生しますが なぜこのタイミングなのか分かりません ここで気になったのが nodeでフロントユーザーに対し 80番ポートをlistenしていて nodeがローカルの
MySQLにアクセスする時 nodeのクライアントポートはフロントと おなじ80を使うのでしょうか? それとも別のランダムポートを取得してきて使うのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1518528093/549
550: デフォルトの名無しさん [sage] 2020/09/14(月) 20:55:49.60 ID:AayaioGL 説明と全然違う事象じゃねーの せめてエラーメッセージとスタックトレース貼れ http://mevius.5ch.net/test/read.cgi/tech/1518528093/550
551: デフォルトの名無しさん [] 2020/09/14(月) 20:55:58.86 ID:JdQogpR1 続きですか もう少し調べてみると 「EADDRINUSE」が発生するタイミングは MySQLに対しコネクション確立後 SQLを投げる時で間違いないと思いますが、 エラーのスタックとレースを見ても 何かのハンドラから駆動されており自分の書いたコードでは ありません。 nodeかexpressかmysqlモジュールのハンドラ だと思います 子プロセスはローカルのMySQLに対して 接続して読み書きするだけで フロントとのやり取りは一切ありませんが 生成元の親プロセスはExpressのapp.js で立ち
上げてるwebアプリです http://mevius.5ch.net/test/read.cgi/tech/1518528093/551
552: デフォルトの名無しさん [] 2020/09/14(月) 20:56:11.94 ID:JdQogpR1 不思議なのが子プロセスで mysqlとコネクション確立までは失敗せずに 動作し、SQLを投げる段階で なぜか大元の「app.js」をもう1つ起動しようとしており app.jsはもう既に起動してるので、 listenポート重複により上記のエラーが発生するわけです 暫定対応で動くようにはなりましたが、 なぜローカルのDBアクセス時にapp.js実行する 動きをするのかの原因がまだ分かっていません webとは関係ないはずの子プロセスのファイルを 単体でコマンドで実行した場合も Expressのベー
スディレクトリにある 「app.js」が実行されていることが分かりました。 自身のコードではこのようなことをしてないので フレームワークかモジュールの内部処理だと思いますが、 知っている方がいましたら教えてください。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/552
553: デフォルトの名無しさん [] 2020/09/14(月) 20:57:39.11 ID:JdQogpR1 >>550 すみません、もう帰宅してしまったのと 機密事項で怒られるのでスタックトレースは貼れません http://mevius.5ch.net/test/read.cgi/tech/1518528093/553
554: デフォルトの名無しさん [sage] 2020/09/14(月) 21:14:49.11 ID:AayaioGL > 単体でコマンドで実行した場合も > Expressのベースディレクトリにある > 「app.js」が実行されていることが分かりました。 clusterも何も関係ねーじゃんwww 断言するがフレームワークもモジュールもmysqlも関係なくてお前のバグだから真面目に仕事しろ 子プロセスから再現に関係ない部分を削除しまくって最小限のここで見せられるコードになるまで書き込まなくていいよ http://mevius.5ch.net/test/read.cgi/tech/1518528093/554
555: デフォルトの名無しさん [sage] 2020/10/03(土) 14:17:11.74 ID:l4QjehZB https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14232251614?sort=1&page=2 abiko tetuってやつヤバすぎ http://mevius.5ch.net/test/read.cgi/tech/1518528093/555
556: デフォルトの名無しさん [sage] 2020/10/17(土) 18:10:22.96 ID:cX3MrjsP フォルダ全体をコピーしたくて 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 を試しましたが、途中で警告が出たりして、結局、元のエラーは直りません。 直す方法はありますでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1518528093/556
557: デフォルトの名無しさん [sage] 2020/10/17(土) 18:39:14.64 ID:cX3MrjsP >>556 結論的には、 $ npm install -g fs-extra $ set NODE_PATH=%AppData%\npm\node_modules としてから、 node xxxx.js とすると直りました。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/557
558: デフォルトの名無しさん [sage] 2020/10/17(土) 23:48:03.55 ID:5XNVi7jP Windows? http://mevius.5ch.net/test/read.cgi/tech/1518528093/558
559: デフォルトの名無しさん [sage] 2020/10/19(月) 16:19:09.43 ID:faSV5MEm # Fatal error in , line 0 とか見慣れぬエラーで落ちててビビって調べたらv14のバグか http://mevius.5ch.net/test/read.cgi/tech/1518528093/559
560: デフォルトの名無しさん [sage] 2020/10/25(日) 03:29:13.70 ID:xG/xcmJA import って mjsにしないといけないし http://mevius.5ch.net/test/read.cgi/tech/1518528093/560
561: デフォルトの名無しさん [sage] 2020/10/25(日) 03:30:20.11 ID:xG/xcmJA 途中送信すまん http://mevius.5ch.net/test/read.cgi/tech/1518528093/561
562: デフォルトの名無しさん [sage] 2020/10/25(日) 04:23:13.46 ID:Xs0QdE0/ mjsにしないといけないから何なんだよ気になるだろ… 因みにpackage.json弄れば.jsをESM扱いにはできる http://mevius.5ch.net/test/read.cgi/tech/1518528093/562
563: デフォルトの名無しさん [sage] 2020/10/25(日) 13:32:05.91 ID:xG/xcmJA node v15にしたからmjsにして requireを全部importに変更したらpuppeteerがimportできなくてまたrequireに戻した http://mevius.5ch.net/test/read.cgi/tech/1518528093/563
564: デフォルトの名無しさん [sage] 2020/10/26(月) 06:48:46.11 ID:AP4vuhmG 下記のモジュールを使用してHTMLソースからタグを全て取り除く処理を作っているのですが、タグを取り除いてくれません。 ES6で記述されたjavascriptを対応していないブラウザで動作させるために記法を変換してから読み込ませることは知っているのですが、 nodeコマンドで直接実行する場合にもそのような記法の変換などが必要なのでしょうか? ◆モジュール https://github.com/ericnorris/striptags ◆ソース main.js ----- var striptags = require('striptags'); str
iptags(html); console.log(html); // 取り除かれていない ◆コンソールで書きコマンドを実行 node main.js http://mevius.5ch.net/test/read.cgi/tech/1518528093/564
565: デフォルトの名無しさん [sage] 2020/10/26(月) 13:39:27.76 ID:jWz3MMEX html = striptags(html); じゃないの? http://mevius.5ch.net/test/read.cgi/tech/1518528093/565
566: デフォルトの名無しさん [sage] 2020/10/26(月) 14:12:32.65 ID:AP4vuhmG >>565 教えて頂いた方法で取り除かれていることが確認できました。 公開されているソースを確認したら戻り値を受け取るようになっていました。 今後はソースも確認するようにします。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/566
567: デフォルトの名無しさん [sage] 2020/10/26(月) 14:44:15.69 ID:/aZJ5myY その前にJavaScriptの勉強をちゃんとすべきでは。。。 JSの文字列は不変って知ってればstriptagsの使い方を知らなくても>>564の書き方じゃダメってわかったはず http://mevius.5ch.net/test/read.cgi/tech/1518528093/567
568: デフォルトの名無しさん [sage] 2020/10/28(水) 03:46:46.75 ID:Xggm0kAQ Fetchより先にAbortControllerが来るのタイムパラドックス感がある http://mevius.5ch.net/test/read.cgi/tech/1518528093/568
569: デフォルトの名無しさん [sage] 2020/10/28(水) 14:31:46.46 ID:jeoOjGPI node.jsがあればPHPはもういらないよね? http://mevius.5ch.net/test/read.cgi/tech/1518528093/569
570: デフォルトの名無しさん [sage] 2020/10/28(水) 14:45:56.45 ID:Nt7id6vD そんなことはない http://mevius.5ch.net/test/read.cgi/tech/1518528093/570
571: デフォルトの名無しさん [sage] 2020/10/28(水) 23:57:51.70 ID:jeoOjGPI >>570 なぜ? http://mevius.5ch.net/test/read.cgi/tech/1518528093/571
572: デフォルトの名無しさん [sage] 2020/10/29(木) 00:23:44.55 ID:6kIeo5xU rdb扱うのはphpの方が得意やろ http://mevius.5ch.net/test/read.cgi/tech/1518528093/572
573: デフォルトの名無しさん [sage] 2020/10/29(木) 00:35:34.69 ID:Phiv6uZl >>563 v15で試したけど import puppeteer from 'puppeteer' で読み込めてるよ http://mevius.5ch.net/test/read.cgi/tech/1518528093/573
574: デフォルトの名無しさん [] 2020/10/29(木) 10:07:34.55 ID:D91L/a15 俺も文法的にはPHPよりもjavascriptの方が好みなので、できれば移行したいんだけど、 URL単位で小物サービスを作る用途がメインなので今でもPHPを使ってしまう。 なんか、node.jsはCGI的に使うのはナンセンスという雰囲気があって、 でも、たまにしか使わない小物サービス毎にポート番号を消費したくない、 と思うと移行できない。 こんな俺にもおすすめなnode.jsの使い方ってある? http://mevius.5ch.net/test/read.cgi/tech/1518528093/574
575: デフォルトの名無しさん [sage] 2020/10/29(木) 10:28:14.20 ID:89EHBpBz レンタルサーバーだといまだにPHPだかんね http://mevius.5ch.net/test/read.cgi/tech/1518528093/575
576: デフォルトの名無しさん [sage] 2020/10/29(木) 11:43:25.35 ID:6uKcySyb >>573 ありがとうございます。 -gでインストールしてたのがいけないっぽいです http://mevius.5ch.net/test/read.cgi/tech/1518528093/576
577: デフォルトの名無しさん [sage] 2020/10/29(木) 16:31:46.11 ID:Phiv6uZl >>574 極々普通にNodeでもルーターから振り分ければいいと思う PHPだってサービスごとにhttpd立てているわけではないっしょ http://mevius.5ch.net/test/read.cgi/tech/1518528093/577
578: デフォルトの名無しさん [sage] 2020/10/29(木) 21:26:42.11 ID:/i1l21sm >>574 無料オンライン格ゲーを作る。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/578
579: デフォルトの名無しさん [] 2020/10/29(木) 23:24:45.00 ID:D91L/a15 >>577 ありがとう、それだ!俺に必要だったものは。 とりあえず、expressを入れればいいのかな? ちょっとやってみる。 >>578 俺にはレベル高すぎ(笑) http://mevius.5ch.net/test/read.cgi/tech/1518528093/579
580: デフォルトの名無しさん [sage] 2020/11/07(土) 11:58:54.69 ID:fULQIOig npm-run-all で複数のnpm scriptを連続で実行したいんだが、scriptのどれか一つでも 0以外のステータスを返すとそこで処理をやめてしまうのをどうにかできないのかな。 大抵の場合はその仕様でもいいんだけど、たまに、エラーだろうがなんだろうがとにかく 処理しきってしまいたい場合がある。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/580
581: デフォルトの名無しさん [sage] 2020/11/07(土) 12:35:45.81 ID:1KfyiAX9 >>580 --continue-on-error options.continueOnError = true; http://mevius.5ch.net/test/read.cgi/tech/1518528093/581
582: デフォルトの名無しさん [sage] 2020/11/07(土) 12:39:43.17 ID:fULQIOig さんきう。オプション見落としてた。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/582
583: デフォルトの名無しさん [] 2020/11/14(土) 16:32:10.90 ID:XA/NhCB9 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じゃなくてエラー画面が出るのが愛嬌だけど。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/583
584: デフォルトの名無しさん [] 2020/11/18(水) 14:56:07.27 ID:7Ekft4aV おめーら的にdenoってどうすか? 使ったことなさそうだけど http://mevius.5ch.net/test/read.cgi/tech/1518528093/584
585: デフォルトの名無しさん [] 2020/11/18(水) 19:28:04.93 ID:Zh0DQZnV ほんのちょっとしか触ってないけど面倒くささが無い npmライブラリが使えないけど init だの install だの package.json だの tsc だのやったりいじったりしないで済むから手軽に感じた 時間が経ってライブラリが充実してくれれば普通に使いやすい環境だと思う http://mevius.5ch.net/test/read.cgi/tech/1518528093/585
586: デフォルトの名無しさん [] 2020/11/18(水) 20:11:49.14 ID:7Ekft4aV 期待したいよな 開発者はイケメンだし http://mevius.5ch.net/test/read.cgi/tech/1518528093/586
587: デフォルトの名無しさん [sage] 2020/11/18(水) 21:25:12.52 ID:v8HWKopj npmが使えないからエコシステムが育つまで様子見だな。 @types以前のTypeScriptみたいな。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/587
588: デフォルトの名無しさん [sage] 2020/11/19(木) 01:51:43.98 ID:/aqa7r+0 io.jsのように良い部分はNode.js側に取り込んでほしいね 最近は複雑さばかりが増しているし http://mevius.5ch.net/test/read.cgi/tech/1518528093/588
589: デフォルトの名無しさん [] 2020/11/21(土) 19:45:56.38 ID:ANSb4B/j 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 http://mevius.5ch.net/test/read.cgi/tech/1518528093/589
590: デフォルトの名無しさん [sage] 2020/11/21(土) 23:08:26.52 ID:jQLdetle Ruby のBundler なら、プロジェクトルートに移動してから、 Gemfile にバージョン指定を書いて、 bundle install とコマンド入力するけど http://mevius.5ch.net/test/read.cgi/tech/1518528093/590
591: デフォルトの名無しさん [sage] 2020/11/21(土) 23:54:59.89 ID:lsz7D7Ic >>589 npm i express@next >>590 npm知らないヤツが何ででしゃばるわけ? http://mevius.5ch.net/test/read.cgi/tech/1518528093/591
592: デフォルトの名無しさん [sage] 2020/11/22(日) 00:38:30.85 ID:gYBzGuNC expressは当時koaに移行するのかと思ってたけど結局どっちも開発続いてるのな http://mevius.5ch.net/test/read.cgi/tech/1518528093/592
593: デフォルトの名無しさん [sage] 2020/11/22(日) 00:44:07.65 ID:A21DE4YF koaもhapiもfastifyもexpressの牙城は崩せそうもない http://mevius.5ch.net/test/read.cgi/tech/1518528093/593
594: デフォルトの名無しさん [] 2020/11/22(日) 00:46:23.77 ID:7U8BOc5J >>591 ありがとう。やってみたけどダメだった。 途中の表示には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 vulnerabilitie
s $ npm view express version 4.17.1 http://mevius.5ch.net/test/read.cgi/tech/1518528093/594
595: デフォルトの名無しさん [sage] 2020/11/22(日) 01:12:26.72 ID:uIWU98XF viewコマンドはインストールされたものじゃなくて公開されてるパッケージの情報見るものよ http://mevius.5ch.net/test/read.cgi/tech/1518528093/595
596: デフォルトの名無しさん [sage] 2020/11/22(日) 01:15:05.72 ID:nMBoVd/n >>594 npm viewはレジストリの情報を表示するものでローカルにインストールされたものとは無関係だからだなw npm ls express http://mevius.5ch.net/test/read.cgi/tech/1518528093/596
597: デフォルトの名無しさん [sage] 2020/11/22(日) 01:19:23.91 ID:ujQ9d+0r >>594 インストールの時は $ npm i express@next って打ってるくせに なんで $ npm view express version って打つわけ? それなら $ npm view express@next version でしょうが… http://mevius.5ch.net/test/read.cgi/tech/1518528093/597
598: デフォルトの名無しさん [] 2020/11/22(日) 09:31:06.57 ID:7U8BOc5J >>595-597 ありがとう。バージョン確認方法の方が間違ってたのか。 あぶねえ。パッケージ側の情報で確認してたら、何を試しても永遠に出来ないって言ってるところだったw 改めて確認したら、ちゃんと5.xが入ってた。 お騒がせしました。 $ npm ls express | grep express └── express@5.0.0-alpha.8 http://mevius.5ch.net/test/read.cgi/tech/1518528093/598
599: デフォルトの名無しさん [] 2020/11/23(月) 12:57:39.74 ID:3jYl7MgH node.jsのドキュメントや書籍等で、セキュリティー対策を考慮して書かれているものがあれば教えてください http://mevius.5ch.net/test/read.cgi/tech/1518528093/599
600: uy ◆e6.oHu1j.o [sage] 2020/11/24(火) 12:43:32.88 ID:gfNKbZsO >>599 (u_・y)っhttp://asciimw.jp/search/mode/item/cd/A1000670 http://mevius.5ch.net/test/read.cgi/tech/1518528093/600
601: デフォルトの名無しさん [sage] 2021/01/01(金) 19:21:03.31 ID:/+4IUuLb さくらVPSとかのlinuxサーバにwebアプリをデプロイするベターな手順ってなんかありますか 単純に考えれば、既存のサーバ中のプロジェクトフォルダを消して gitから新しくpullしてnpm ciすればいいはずなんだが ・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい ・ローカルの設定、ログフォルダといった、消したくないフォルダがある からちょっと面倒でなんとかしたい nodejs deployment tool とかで検索して
も、すぐ自社のSaasに誘導しようとして 素のEC2的なlinuxマシンでの方法が分からなかった。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/601
602: デフォルトの名無しさん [sage] 2021/01/02(土) 03:22:23.36 ID:HtnkmSa8 普通にDockerでnpm i後のイメージ作ればいいんじゃない http://mevius.5ch.net/test/read.cgi/tech/1518528093/602
603: デフォルトの名無しさん [sage] 2021/01/02(土) 04:25:18.76 ID:VICQRi/P >>602 ありがとうございます。やはりdockerか。 docker使えない自分はこんな感じでやっていました。 >・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい git fetchした後git diff HEAD..origin/master -- package.json で変更があるか確認出来る。 変更があった場合のみnpm installすればいい。 >・ローカルの設定、ログフォルダといった、消したくないフォルダがある ログフォルダや設定ファイルは.g
itignoreしてあるはずだから、気にせず毎回git merge origin/master しても全く問題ないはず。 深く考えすぎてて、普通に手を動かしたら違和感なくデプロイ出来ました。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/603
604: デフォルトの名無しさん [sage] 2021/03/01(月) 09:14:19.43 ID:vtDgs//2 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 http://mevius.5ch.ne
t/test/read.cgi/tech/1518528093/604
605: デフォルトの名無しさん [sage] 2021/03/01(月) 09:46:34.15 ID:g7xhMPQT タイムゾーン http://mevius.5ch.net/test/read.cgi/tech/1518528093/605
606: デフォルトの名無しさん [sage] 2021/03/01(月) 11:40:37.52 ID:vtDgs//2 >>605 ボケてました。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/606
607: デフォルトの名無しさん [sage] 2021/03/01(月) 17:11:01.18 ID:Jj2WQfq1 npm outdateをCLIじゃなくてNode側から使う方法ってない? stdoutからパースするのは流石に手間で http://mevius.5ch.net/test/read.cgi/tech/1518528093/607
608: デフォルトの名無しさん [sage] 2021/03/01(月) 17:57:45.51 ID:LQGHEOvf こいつを直接使えばいんじゃねーの知らんけど https://github.com/npm/cli/blob/latest/lib/outdated.js http://mevius.5ch.net/test/read.cgi/tech/1518528093/608
609: デフォルトの名無しさん [sage] 2021/03/01(月) 22:10:08.82 ID:Jj2WQfq1 >>608 thx 試しにnode_modules/lib/outdated.jsがexportしてる関数を叩いてみたけど 内部のglobalディレクトリ参照でコケているようなエラーが出て機能しなかった npm自体がModとしてのexportするのもAPIのないEventEmitterインスタンスだし想定してなさそうだ 諦めて自前で実装しているユーザーパッケージを適当に探すよ http://mevius.5ch.net/test/read.cgi/tech/1518528093/609
610: デフォルトの名無しさん [sage] 2021/04/24(土) 07:20:56.16 ID:CqGuC/ho JavaScript/TypeScriptランタイム環境「Deno 1.9」がリリース、パフォーマンス向上に寄与する機能追加など https://codezine.jp/article/detail/13970 http://mevius.5ch.net/test/read.cgi/tech/1518528093/610
611: デフォルトの名無しさん [sage] 2021/07/14(水) 17:16:26.21 ID:x3WS9adn 質問ってここで良いの? Angularが良くわかないんだけど、例えばmd-toobarとmat-toolbarはなにが違うの? いま触っているのが全部md-xxxだけど、ググるとmat-xxxばかり package.jsonも、angularーmaterialになっているけど、ググって出てくるのは@angular/materialで、違いが分からない http://mevius.5ch.net/test/read.cgi/tech/1518528093/611
612: デフォルトの名無しさん [sage] 2021/07/16(金) 23:12:53.43 ID:ku0oROTf dnsモジュールのgetServers()が初回実行時の内容キャッシュしてて使い物にならん >>611 フロントエンドスレが一応立ってるからそっちで聞いてみれば あとはWeb制作板に質問スレあったけど大分前に荒らしに乗っ取られて今はどうなってるやら http://mevius.5ch.net/test/read.cgi/tech/1518528093/612
613: デフォルトの名無しさん [] 2021/07/30(金) 15:13:55.95 ID:COPEXZUK Ubuntu18.04でNode.js8.10.0を使ってるのですが、 BigIntのリテラル(例:10N)が使えません。 どうやったら使えるように出来るのでしょう? http://mevius.5ch.net/test/read.cgi/tech/1518528093/613
614: デフォルトの名無しさん [sage] 2021/07/30(金) 15:53:45.87 ID:0CdNCLhG Node.jsをv12以上にする(細かいこと言うとv10の途中から使える) http://mevius.5ch.net/test/read.cgi/tech/1518528093/614
615: デフォルトの名無しさん [sage] 2021/07/30(金) 17:48:26.38 ID:n/UloM9p 漏れは、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 -)" http://mevius.5ch.net/test/read.cgi/tech/1518528093/615
616: 615 [sage] 2021/07/30(金) 18:08:58.02 ID:n/UloM9p anyenv などを使わず、 Docker で探した方が、もっと簡単かも apt でインストールした、Node.js 8 は、アンインストールすれば良い http://mevius.5ch.net/test/read.cgi/tech/1518528093/616
617: デフォルトの名無しさん [sage] 2021/07/30(金) 18:19:19.46 ID:7AkGA5GJ スクレイピングしたいんですけど何を勉強すればいいですか 不正アクセスに問われたりしないでしょうか? セキュリティ対策はどのようなことに注意すればよいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1518528093/617
618: デフォルトの名無しさん [sage] 2021/07/30(金) 21:07:04.19 ID:AXk+vMk4 今ならPuppeteerか同種のヘッドレスブラウザで実装するのが楽 通常の用途であればセキュリティを気にする部分はない 不正アクセスはまたの問題だから他の質問スレで聞こう http://mevius.5ch.net/test/read.cgi/tech/1518528093/618
619: 613 [sage] 2021/07/31(土) 11:22:07.03 ID:A0amfNLA 皆さんありがとうございました。 最新のLTS版Node.jsを入れたらBigIntなリテラル(N)が使える様になりました。 どのようにUbuntu18.04に最新版をインストールしたかと申しますと。 1. npmでnコマンドをインストール 2. nコマンドで最新LTS版Node.jsをインストール 3. aptでインストールしていたnodejsとnpmをアンインストール(依存も解消) です。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/619
620: 615 [sage] 2021/07/31(土) 11:37:20.92 ID:tQlroryC NVM, n も、知ってるけど、 各言語ごとに、ツールの使用方法を覚えるのが大変 全言語で使用方法が統一されている、anyenv, asdf が良い。 最近はどの言語も、Docker が多い http://mevius.5ch.net/test/read.cgi/tech/1518528093/620
621: 613 [sage] 2021/07/31(土) 12:37:39.44 ID:A0amfNLA >>620 Node.jsでパッケージングされているプログラムだけで完結できるのに、 新しいNode.jsにする上で、 他のプログラムや仮想化に依存しなくてはいけない理由は何ですか? 仮想環境が便利だ等であれば別の話だと思うのですが。 私はC/C++、Java、Perl、JavaScript(フロント少々)使いで、 最近Node.jsに手を出し始めたのですが、 anyenvやasdfについては全く存じ上げませんでした。 それらを覚える事によって、 それらのラーニングコストを上回る恩恵を授かれるとは思いませんでした
。 >>614さんのアドバイスから>>619まで行き着いた次第で、 シンプルに管理コストを抑えられるるのが一番だとも思っています。 http://mevius.5ch.net/test/read.cgi/tech/1518528093/621
622: デフォルトの名無しさん [sage] 2021/07/31(土) 16:07:39.01 ID:nZmJDmGx 好きなもん使えばいい 俺もubuntuではaptでクソ古いNode入れてからnpmでn入れてnからlatest突っ込んでるよ http://mevius.5ch.net/test/read.cgi/tech/1518528093/622
623: デフォルトの名無しさん [sage] 2021/07/31(土) 17:22:45.59 ID:23Q0KlZH ruby 君の言うことを真に受けてはいけない http://mevius.5ch.net/test/read.cgi/tech/1518528093/623
624: デフォルトの名無しさん [sage] 2021/07/31(土) 19:12:03.00 ID:8Bi9zOKj Ubuntu-ltsのデフォnodejsが10.xだもんなあ オレの環境では動かない、とか言われても知らねえよ。NodeJS公式もサポートしないバージョンまでカバーできる訳ないだろうが http://mevius.5ch.net/test/read.cgi/tech/1518528093/624
625: デフォルトの名無しさん [sage] 2021/08/04(水) 17:08:54.13 ID:O4k/EVJC 「Electron」と「WebView2」はどう違う? 〜「Electron」の開発チームが解説 https://forest.watch.impress.co.jp/docs/serial/yajiuma/1342249.html http://mevius.5ch.net/test/read.cgi/tech/1518528093/625
626: デフォルトの名無しさん [sage] 2021/08/04(水) 19:09:25.30 ID:qrQ4Lnon >>625 ただの翻訳(かつ雑な簡素化)記事なのにその旨の記述がない 画像も元ブログからの転載(盗用)だけどクレジット無し 大手メディアでこれって大丈夫か? http://mevius.5ch.net/test/read.cgi/tech/1518528093/626
627: デフォルトの名無しさん [sage] 2021/08/04(水) 19:20:49.91 ID:L5LJfz6s 丸コピしたのとは違うと思うぞ 画像の方はアウト臭いな http://mevius.5ch.net/test/read.cgi/tech/1518528093/627
628: デフォルトの名無しさん [] 2021/08/24(火) 08:49:56.10 ID:YRe/N1mJ node.jsのconsole.logのpretty printをデフォルトでやめさせる方法ないのかな? このおせっかい機能すごくいらいらするのは俺だけかな? http://mevius.5ch.net/test/read.cgi/tech/1518528093/628
629: デフォルトの名無しさん [sage] 2021/08/24(火) 10:42:50.46 ID:5pgrc+RU process.stdout.write使え console.logはブラウザに寄せようと頑張ってるんやろ http://mevius.5ch.net/test/read.cgi/tech/1518528093/629
630: デフォルトの名無しさん [] 2021/08/24(火) 15:31:19.22 ID:qPWgCxGJ puppeteerを使ってるプログラムをwebpackでバンドルすると、distにはChromiumが無いからエラーが出ちゃうわ よく分からん http://mevius.5ch.net/test/read.cgi/tech/1518528093/630
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 166 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s