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