19/11/10 15:12:00.68 xm1aPYIT.net
そのやり取り見てふと探してみたけどNodeから扱えるクリップボード監視APIorモジュールってないんだな
単なるコピペなら見つかったけど
351:デフォルトの名無しさん
19/11/12 13:33:25.22 7YZfdUQ7.net
node.jsでローカルのクリップボード操作ってどうしてる?
java使ったりFlash使ったりは見つかるけどいまいち
352:デフォルトの名無しさん
19/11/12 13:39:01.64 VHJGIodx.net
>>351
URLリンク(github.com)
353:デフォルトの名無しさん
19/11/12 15:21:55.81 7YZfdUQ7.net
>>352
ありがとう
これ超簡単だ
354:デフォルトの名無しさん
19/11/23 04:55:17 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:デフォルトの名無しさん
19/11/23 09:32:04.13 cBKKqL2b.net
netstat -a -n | grep 3000
356:デフォルトの名無しさん
19/12/02 22:16:23.66 fbMjr17B.net
>>355
こういったコマンドがあったのですね・・・
関連コマンドも調べてみて勉強になりました
ありがとうございます!
357:デフォルトの名無しさん
19/12/03 09:38:40 yN5r9ueQ.net
ここサーバーサイドのスレだよな
358:デフォルトの名無しさん
19/12/16 00:05:17.66 OYZOPSrf.net
prompt系モジュールでtimeout実装したのって無いの?
探したけどinguirerがプラグインで追加できるくらいしか見つからなかった
359:デフォルトの名無しさん
19/12/16 00:19:44.26 +KWK+mzK.net
>>358
Promise.race()でタイマーと組み合わせればいい
360:デフォルトの名無しさん
19/12/16 21:41:20.26 j7231URK.net
全く初心者です。
Node.js と nuxt.jsってどうちがうの?
361:デフォルトの名無しさん
19/12/16 21:52:48.22 vHo7jlv+.net
nuxtはnodeの上で動く
362:デフォルトの名無しさん
19/12/17 22:36:05.58 SHyLrbNS.net
なるほど
363:デフォルトの名無しさん
19/12/18 11:46:32.95 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:デフォルトの名無しさん
19/12/18 11:58:33.63 kJrLdJZA.net
初めてwebpackでサンプルをビルドした新参ですが、node moduleからbrowser.jsっていうのが組み込まれているようです
これって何をするものなんでしょうか?
365:デフォルトの名無しさん
19/12/18 11:59:14.85 RQBBPl9v.net
>>363
さすが農奴
はんぱねぇわ
366:デフォルトの名無しさん
19/12/18 14:06:17.43 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:デフォルトの名無しさん
19/12/18 16:43:15.09 kXCOuU9J.net
>>366
有り難うございます
ES6で書かなければ必要ないものが組み込まれちゃうって事なんでしょうか?
自分のコードが大丈夫でも使用したmoduleがES6の可能性あるとかなのかな
とりあえず気にしない事にします
368:366
19/12/18 22:32:50.86 j3JURanB.net
VSCode では、普通にES6 でも動くから、気にした事がない
それが他人のプロジェクトなら、その設定ファイルに書いてあるのだろう
369:デフォルトの名無しさん
19/12/21 13:23:45.97 gaERTb6x.net
サーバにphpとDBおいてフロントサイドをjsで運用しているんですが
web-dev-serverでこういった環境をローカルに作る事って可能でしょうか?
それともnode.jsを使う以上サーバサイドもjsにしてしまうべきなんでしょうか?
370:デフォルトの名無しさん
19/12/21 13:29:18.33 tKqa0Mcd.net
PHPのbuilt-inのweb server使え
371:デフォルトの名無しさん
19/12/21 13:58:12.68 gaERTb6x.net
>>370
有り難うございます
今までxammpっていうのを使っていたのでそれに流せばいいのでしょうか?
ちょっと試してみます
372:デフォルトの名無しさん
19/12/21 14:16:41.22 tKqa0Mcd.net
>>371
流す?
projectのrootディレクトリで
$ php -S localhost:8080
ってやれば
URLリンク(localhost:8080)
でアクセス可能
373:デフォルトの名無しさん
19/12/21 15:31:45.26 BSqycIZI.net
Ruby なら、PowerShell から、1-liner で、
Rubyで作られた遅いウェブサーバー、WEBrick が起動する
ruby -run -e httpd . -p 8080
そのフォルダに、index.html があれば、
何も考えなくても、これでブラウザからアクセスできる
URLリンク(localhost:8080)
これで遊んだ後は、Routing, O/R マッパーなどを備えた、Sinatra, Rails などのフレームワークを使う。
Rails のコピーが、CakePHP, Spring Boot
374:デフォルトの名無しさん
19/12/21 15:43:47.89 DXb4EnUP.net
最終的な構成で、考えれば?
フロントエンドをサーバーサイドと一緒に配布する(ただの静的ファイル扱い)だけなら、同じサーバでいいけど、
そうでないなら、フロントエンド側も初めから別のサーバにしておく方がいい(CORS対応は必須)。
375:デフォルトの名無しさん
19/12/21 15:52:38.28 5ArYAWFR.net
>>373
お前、アムロの父ちゃんみたいだなw
376:デフォルトの名無しさん
19/12/21 16:08:05.96 CcLWlaTM.net
dev-serverだから開発用途のでしょ
たぶんwebpack-dev-serverだろうけどそれならhot module replacementとか使えるからサーバが何だろうと開発時は使うべき
サーバがnode以外の時はproxyの形で使える
377:デフォルトの名無しさん
19/12/23 13:15:15.27 lCv+3OMn.net
>>376
有り難うございます
proxyの概念自体がよく解ってないんですが、そういう仲立ち的な使い方も出来るという事ですね
ちょっとnpmだけでも覚える事が多すぎるのでゆっくり慣れていく所存です…
378:デフォルトの名無しさん
19/12/23 22:45:35.05 nv2HpLa5.net
Node.js のnpm, yarn, PHP のComposer とか、Ruby のBundler のコピーだろ。
別に、覚えることなんてない
global/local のインストールの区別と、本番用/開発用の区別だけ。
それと、設定ファイル
379:デフォルトの名無しさん
19/12/23 23:46:27.75 blTffQrc.net
たぶんnpmレジストリで公開されてるパッケージ群の総称としてnpmと言ってんじゃね
380:デフォルトの名無しさん
19/12/24 14:05:27.32 IBUEMR4t.net
npmのパッケージ全部覚えるとか
Cの野良ライブラリ覚えるのとか
githubのレポジトリ全部覚えるのとか
苦行以外の何物でもない
381:デフォルトの名無しさん
20/02/15 11:48:59.21 rOuGo3aV.net
node.jsはjavaにおけるjvmみたいなもの?
electronを使ったデスクトップアプリは今後普及するでしょうか?
382:デフォルトの名無しさん
20/02/15 15:14:42.82 C3ilCL7T.net
実行環境という意味ではそっすね
383:デフォルトの名無しさん
20/02/15 17:28:25 rOuGo3aV.net
>>382
web開発で培った技術がパソコン・携帯端末でもさらに活かせるようになったら嬉しい。
384:デフォルトの名無しさん
20/02/16 07:11:26.16 5EL9p8ON.net
VSCode は、Electron 製
マルチプラットフォームは、
React Native + Expo
アシアルのMonaca(Cordova/PhoneGap) + Onsen UI
Mono を使っている、Unity, Xamarin
やっぱり漏れは、サーバー側は、Node.js よりも、Ruby を使うけど
385:デフォルトの名無しさん
20/02/16 08:37:01 GfLcoptO.net
Ruby使うセンスはわからんな。
今どきRailsとか?
あんなの使うぐらいならPHPで素組したほうが早いし安全だと思うわ。
386:デフォルトの名無しさん
20/02/16 12:47:35 iNVxJNOu.net
>>385
>あんなの使うぐらいならPHPで素組したほうが早いし安全だと思うわ。
流石にそれはないww
387:デフォルトの名無しさん
20/02/16 13:36:59 WhOeRDRv.net
>>386
Railsがそれぐらいあり得ない悪手だよ、今どき。
388:デフォルトの名無しさん
20/02/18 01:59:27 1aZdIiHX.net
案件の数的にはphp, laravelってのが多いな。
PHPも7以降はプリミティブにもタイプヒンティング使えるからそれを積極的に使うとrailsより良かったりする。
389:デフォルトの名無しさん
20/02/18 05:16:07.44 KGU+DtHT.net
うつ病君
青木 一泰
390:デフォルトの名無しさん
20/02/18 09:42:41 0PsFYxUX.net
PHPはフレームワーク使わずに、きちんとバリデーションして信頼境界線を意識して使うと、すごく便利よ。
歯を磨くには歯ブラシだなって思う。
391:デフォルトの名無しさん
20/02/18 21:16:40.68 enVFBik2.net
Ruby は、JIT で速いから、web サイトの最高速度は未だに、Rails。
世界を驚嘆させた、dev.to もそう
表示速度が“異常な”Webサイト「dev.to」とか
URLリンク(dev.to)
元乃木坂46 の川後陽菜のWebサイト、SKIYAKI とか
URLリンク(kawagopro.com)
でも、PHP も、次からは、JIT を搭載するらしい
392:デフォルトの名無しさん
20/02/19 10:03:13.31 z/G/Tqiv.net
Electronで作られたソフトってVSCode以外に何がある?
393:デフォルトの名無しさん
20/02/19 10:16:12.59 4HrdDmIC.net
Electronによる掲示板ビューア Siki
スレリンク(software板)
数日前偶然見つけた
394:デフォルトの名無しさん
20/02/19 10:46:23.82 WbyYOLLj.net
>>392
Slack
Fiddler Everywhere
395:デフォルトの名無しさん
20/02/19 11:15:19 WbyYOLLj.net
Skype、Discord、Atom、Wordpress、WhatsAppのそれぞれデスクトップ版はElectronらしい
396:デフォルトの名無しさん
20/02/19 16:22:36 z/G/Tqiv.net
>>393-395
返信ありがとうございます。
397:デフォルトの名無しさん
20/02/19 18:04:10.08 5ReMICFY.net
>>392
公式サイトにまとめられてる
URLリンク(www.electronjs.org)
398:デフォルトの名無しさん
20/03/03 12:38:04.52 OUIky4K3.net
HomebrewのインストーラがBashに置き換えられた
399:デフォルトの名無しさん
20/03/17 15:04:35 F6UjfHtk.net
GitHub、パッケージ管理システム「npm」をメンテナンスするnpm, Inc.を買収
URLリンク(forest.watch.impress.co.jp)
400:デフォルトの名無しさん
20/03/17 15:06:30 hD7fKBeR.net
一番望まれてたところに落ち着いてよかったな
401:デフォルトの名無しさん
20/03/17 19:30:12 kaSPl16J.net
どっちにpublishすればいいねん問題は杞憂に終わったか
でも一強他弱の構図ってあんまりろくなことにならないんだよなぁ
402:デフォルトの名無しさん
20/03/18 00:48:08 DfI3jJn5.net
やーんが頑張るやん
403:デフォルトの名無しさん
20/03/18 00:56:50 Y6R8GMvO.net
やーんはcliだから今の話とはちょっと…
リポジトリ/レジストリがms/github一強過ぎて他の選択肢がーってことよね
404:デフォルトの名無しさん
20/04/17 01:34:09 bDh7CEKX.net
eventsモジュールにいつの間にか生えてるonceメソッド
ずっと前にこのスレで誰かが欲しがってたやつだな
405:デフォルトの名無しさん
20/05/14 13:28:24.58 IPYOGIQF.net
Deno出てきたけどコアモジュールの互換性がないのはきつい
両対応のための中間モジュールが必要になって太る結果にならないといいけど
406:デフォルトの名無しさん
20/05/17 10:25:40.44 f6yoswhG.net
今から始めるならDeno1択ですね
407:デフォルトの名無しさん
20/05/17 12:43:33 D/2Y1Nc3.net
勉強を始めるならそれでもいいがプロダクションで使うのはまだしばらくnode一択だな
408:デフォルトの名無しさん
20/05/17 14:17:45 XFHZbI1n.net
Deno普通に良さそうだな。
地味に名前で喧嘩売ってるのも嫌いじゃない。
409:デフォルトの名無しさん
20/05/17 15:05:29 bDXiWOOM.net
次はおでん
URLリンク(twitter.com)
node
deno
enod
oden <- this has potential
(deleted an unsolicited ad)
410:デフォルトの名無しさん
20/05/17 15:59:01 pmJJj293.net
deno、typescriptネイティブに使えるのが良いな
セキュリティ機能は、早々にalias切って無効化して使いそう。
あと、モジュール読み込みがgolangぽくURIなのは構わんけど、deno.landの信頼性が未知数だ
411:デフォルトの名無しさん
20/05/17 16:38:25.62 XFHZbI1n.net
モジュールがURIなのはgoと同じ轍を踏みそうで気にはなるな。
みんなちゃんと互換性に注意して作って、最初からRESTなAPIのようにv1とかv2とかパスに含めるかな?みたいな猜疑心はある。
ただ、Denoでよくやったと思うのは、バンドラーを積んだ事だと思ってるけど、みんなどう思う?
今までnodeで作ったサーバモジュールをインターネットが繋がってない環境にデプロイするの、結構めんどくなかった?
412:デフォルトの名無しさん
20/05/17 18:40:18.02 ZSTUbran.net
npmのパワーなしに開発なんて出来ない
413:デフォルトの名無しさん
20/05/17 19:13:03 CWw2P5tA.net
arm64用のパッケージがほしいdeno
414:デフォルトの名無しさん
20/05/18 09:17:50 y60azEFm.net
bundleは素晴らしいと思う。
モジュールURIはversion含められるみたいよ
415:デフォルトの名無しさん
20/05/18 10:49:02 3+tKSNz+.net
1.0で指定できなくね?
416:デフォルトの名無しさん
20/05/18 11:19:43.08 AZvqm7LQ.net
armまだなのか。ラズパイで動けばホントに言うことなかったんだけどな。
417:デフォルトの名無しさん
20/05/18 13:49:33 y60azEFm.net
モジュール周り
URLリンク(deno.land)
418:デフォルトの名無しさん
20/05/18 14:53:11 X/pFb7Is.net
やっぱbundle前提か。
しかし、deps.tsは言われてみるとなんと言うことはないんだけど、賢いな。
こいつがっつり使ってみようかな。
419:デフォルトの名無しさん
20/05/18 23:35:57 a6jMS+hP.net
Nodeと併用できないと趣味以外で使う人いないだろうな
420:デフォルトの名無しさん
20/05/19 10:49:44.03 GoO5KVYD.net
node.jsなしでESLintが動かないなら難しい
あとlanguage protocol serverが実装されないと難しい
開発ツールとしてのポジションとなるのは難しいね
421:デフォルトの名無しさん
20/05/19 11:59:16 1h+Pwucu.net
VSCodeのランゲージサーバー動いてるよ
422:デフォルトの名無しさん
20/05/19 12:42:47 482topUH.net
linterはdenoが公式に内蔵する可能性高い
formatterはすでに入ってる
423:デフォルトの名無しさん
20/05/23 17:14:18 0ZrNuMGI.net
nodeにもTLA着たけどREPLじゃ動かんな
仕様ではESM限定だった気がするけどDevTools辺りではできてなかったっけ
424:デフォルトの名無しさん
20/05/24 21:34:47 4uKrfJjq.net
やっぱ周辺ツールが整わないと使いづれえな
425:デフォルトの名無しさん
20/05/27 00:55:30 Qj2nGC3D.net
>>418
URLリンク(youtu.be)
426:デフォルトの名無しさん
20/06/20 18:47:10.97 3Kl5NtPD.net
Why deps.ts and mod.ts is BAD in Deno
URLリンク(dev.to)
427:デフォルトの名無しさん
20/06/23 05:08:14.54 XbLXAbNL.net
こんな感じのコードでresolveは実行されてもpromiseが伝達しないケースがあるんだけど
内部的にはどういう理屈でそうなってるの?
new Promise(function(resolve,reject){
eventemitter.on('hoge', function(){
this.removeAllListeners();
resolve();
});
});
428:デフォルトの名無しさん
20/06/23 08:23:00.68 OtlYTeas.net
お前が間違ってるだけに500億ペリカ
429:デフォルトの名無しさん
20/06/23 09:23:44 jyrEAGC5.net
>>427
伝達されないケースの具体例を出さないとわからんよ
430:427
20/06/24 01:09:40.37 KrEfgFvd.net
実際にはlistenerがasync関数で後から発火した他の同期listener内で先にresolve実行してた
そりゃ伝達しないわ…
431:デフォルトの名無しさん
20/07/03 01:38:35 0cCY6OI/.net
Web API実装の流れでNodeにEventTargetが来たけど使う人いる?
逆なら欲しかったけど
432:デフォルトの名無しさん
20/07/23 10:30:41.88 LlcoMZmJ.net
データベースからデータオブジェクトを
returnする関数をあたかも同期関数のように
ただ実行するだけで戻り値を得られるように作りたいです。
DB情報取得関数定義内でasync await promise
を使ってみましたが
戻り値がpromiseのpendingになってしまったので
仕方なく実行側でもpromiseを生成してラップして
then()を使ってようやく戻り値を得られました。
しかし本来は実行側でpromiseとthenを使うことなく
戻り値を得たかったです
どうすれば良いか教えてください。
あと関数定義内でresolveの実行とreturnがどう違うのか
がわかりません。
433:デフォルトの名無しさん
20/07/23 11:06:39 MBVi+zLE.net
頼むからコードで説明してくれ
似た質問多いけど非同期を同期にすることは不可能
やるなら呼出側の文脈をまるごと非同期にしてawait
434:デフォルトの名無しさん
20/07/23 16:11:17.38 +diZSvZW.net
まるごとも今ならTopLevelAwaitがあるから楽だね
callbackに渡されるresolveはpromiseを解決させるためのスイッチであってreturnではない
Promiseに対する理解が曖昧なままDB扱う処理を書くのは危ないと思う
435:デフォルトの名無しさん
20/07/31 16:11:51.42 CGhJjJjO.net
ライブラリっつーのか?
Passportやexpress-sessionってどうやって見つけてきてるの?
436:デフォルトの名無しさん
20/08/04 02:57:28 vydsY05j.net
github express middleware やりたいことの英語
でググる
437:デフォルトの名無しさん
20/08/06 20:05:58.89 MUhDPlnI.net
cryptoで公開鍵ファイルつかって
暗号化したんですが
同じデータが毎回違う暗号になってしまいます。
原因を教えてください
438:デフォルトの名無しさん
20/08/07 00:05:01 TzYKRTqH.net
たぶん、時刻とか、何かランダムな要素を使っているのだろう
439:デフォルトの名無しさん
20/08/07 19:32:20.45 ysU+OJWY.net
今後は大規模システム以外は全てJavaScriptだけで書ける夢のような未来が来るね。
440:デフォルトの名無しさん
20/08/07 20:50:53.11 TH1C+bUh.net
なんという地獄
441:デフォルトの名無しさん
20/08/08 10:07:34.33 noFfmCPy.net
>>437
salt
iv
442:デフォルトの名無しさん
20/08/08 14:52:32 ciegX9N/.net
非同期処理って普通に
バグと脆弱性の温床になるよね?
443:デフォルトの名無しさん
20/08/08 17:42:04.42 /vlgEPfS.net
その理解のまま触っていたらそうだろうね
444:デフォルトの名無しさん
20/08/08 23:33:14 f7NhkLiO.net
node.js 面白いな。久しぶりにおもしろい言語だ。
445:デフォルトの名無しさん
20/08/08 23:34:04 f7NhkLiO.net
PythonとかRubyとかPHPって面白いとか言われてるけど、正直イマイチだよ。
俺はPerlのが好き。
446:デフォルトの名無しさん
20/08/08 23:46:39.64 bKK8FlY/.net
サーバサイドで非同期で
IOやりたい状況なんてそうそうないよ。
ロギングくらいか
とくにトランザクション処理で非同期に
動かれちゃうとほんと地獄
同期的な処理をする専用の
DBアクセス
ファイルIOアクセス
ネットワークアクセス
するライブラリを提供すべき
使用側でpromiseとかじゃなくて
447:デフォルトの名無しさん
20/08/08 23:55:39.53 OT1M6D83.net
今一番熱いライブラリ。
URLリンク(ja.uncyclopedia.info)
448:デフォルトの名無しさん
20/08/08 23:56:53.43 ZWuolq0D.net
>>444
言語じゃないけどな
449:デフォルトの名無しさん
20/08/08 23:58:34.55 OT1M6D83.net
ライブラリですね。
450:デフォルトの名無しさん
20/08/09 00:40:28 sb6ynJ/q.net
違います
451:デフォルトの名無しさん
20/08/09 00:51:05.32 2tff8pgk.net
データベースですね。
452:デフォルトの名無しさん
20/08/09 01:20:28 8UfVx4ij.net
違います
453:デフォルトの名無しさん
20/08/09 01:48:00.71 2tff8pgk.net
ゴミですね。
454:デフォルトの名無しさん
20/08/09 12:06:37 4gz4Sy4n.net
そ、違います
455:デフォルトの名無しさん
20/08/09 13:10:04.80 HdBz3xHm.net
nude.js ですね
456:デフォルトの名無しさん
20/08/09 16:47:11.71 sb6ynJ/q.net
URLリンク(www.moongift.jp)
nude.jsは画像をCanvasで読み込んでヌード画像か否かを判定するソフトウェアです。
裸が見たい!たくさんの画像の中からとにかく裸を見たい!と思う人はnude.jsを自動実行してみると幸せになれるかも知れません。
URLリンク(github.com)
457:デフォルトの名無しさん
20/08/11 00:54:04.11 jdRsH5YI.net
これまでの非同期対策手段の
やって欲しかったのはこういうことじゃないんだよ感
がやばい
本来求めてるのはコールバックの記述ないようにして
欲しいのと 余計な関数定義無しで処理を書きたいということ
なのに
Promiseやasync awaitがやってるのは
非同期処理をネストしなくて良くするだけで
肝心のコールバック記述や
余計な関数定義自体はなくならず、
それどころかこれらを使うと更にコードが複雑に
なって可読性が下がってしまう。
そういうゴチャゴチャした部分を無くして欲しいんだよ。
458:デフォルトの名無しさん
20/08/11 02:13:08.66 DrUL4lPZ.net
>>457
具体的に理想系を書いてくれるか?
459:デフォルトの名無しさん
20/08/11 06:51:02.02 KjgiWsfP.net
WScript.sleep(1000);
460:デフォルトの名無しさん
20/08/11 09:44:42 DyHWpKfR.net
>>458
ボンッキュッボンッ!
461:デフォルトの名無しさん
20/08/11 12:08:29 HwJhgroD.net
互換性ぶっ壊してでもコールバックなAPIをどうにかしてくれ
ってことならDenoじゃね
462:デフォルトの名無しさん
20/08/11 12:31:29.28 RcrtMjNU.net
>>457はコールバックだけじゃなくてPromiseも否定してね?
どういうものを期待してるのかわからんが、少なくともdenoじゃ解決にならんかと。
463:デフォルトの名無しさん
20/08/11 13:28:07.94 gDej+7HY.net
ならGoだろうな
コールバックも非同期処理もいらない
さようなら
464:デフォルトの名無しさん
20/08/11 13:50:34 OsUriXGV.net
どうせメッセージパッシングに文句垂れるな決まってる
465:デフォルトの名無しさん
20/08/11 13:51:16 OsUriXGV.net
s/垂れるな/垂れるに/
466:デフォルトの名無しさん
20/08/11 15:38:26.65 jdRsH5YI.net
>>458
ごめんちょっとコールバック入っちゃったけど
こんな感じがいい
「await」という単語は他に思い浮かばなかったから
真似しただけで別の単語でもなんでもいい
実際の「await」の処理とは無関係
await setTimeout( ()=>{}, 1000);
console.log('1秒経過しました');
コールバック引数が欲しい場合
ver data = await $.ajax({省略}).done();
console.log('レスポンスを受信しました');
console.log(data);
467:デフォルトの名無しさん
20/08/11 15:42:24.62 jdRsH5YI.net
↑varをverと書いてしまいました。
468:デフォルトの名無しさん
20/08/11 15:50:28.89 RcrtMjNU.net
結局Promise化すれば解決する話に見えるが
中途半端なコールバックの存在が謎。
469:デフォルトの名無しさん
20/08/11 16:25:16.36 E31y9T9f.net
Promiseとasync/awaitで解決済みだよなぁ
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
って用意するなりimportするなりしておけば
await sleep(1000);
console.log('1秒経過しました');
これだけやんけ
$.ajaxとか書いちゃう知恵遅れさんだからしょうがないか
470:デフォルトの名無しさん
20/08/11 17:12:35.72 dI29r3/p.net
あんまりPromiseの事わかってなくて批判しちゃった感じかな。
471:デフォルトの名無しさん
20/08/11 17:34:48.50 DrUL4lPZ.net
>>467
スコープないのかよ
ゴミくそ
472:デフォルトの名無しさん
20/08/11 19:26:37.90 HwJhgroD.net
数行のコードじゃ意図が読み取り辛いけど
非同期関数を同期にしたいってコトなら絶対無理
473:デフォルトの名無しさん
20/08/11 19:33:26.30 GZz3NG8W.net
非同期関数を同期関数のように呼び出せるのがasync/awaitだけどな
動作の話じゃなくてソースの見た目の話だろどうせ
そんなこと気にするよりlet/const覚える方が先だぞ
474:デフォルトの名無しさん
20/08/12 07:56:55.71 XuneBSJh.net
promiseもasync/awaitも何も分かってないけど批判してたということだけは非常によく分かった
475:デフォルトの名無しさん
20/08/14 21:41:29 Fc7pCCli.net
どうでもいいけど
独自の概念や用語をバンバン押し付けてくる
フレームワークは
ゲロ以下の匂いがプンプンするぜぇーって思うわ
PHP系の糞フレームワークに多い
476:デフォルトの名無しさん
20/08/14 21:47:18.13 970Aew80.net
>>475
逆に、独自の概念や用語を押し付けてこないフレームワークって例えば何?
477:デフォルトの名無しさん
20/08/14 21:50:10.65 B7DyCr2o.net
アセンブラ
478:デフォルトの名無しさん
20/08/14 21:53:03.39 Fc7pCCli.net
>>476
やっぱexpressかな?
ララベルとかyiiとかは
ファサードとかDIコンテナとか
ゴミみたいな余計な用語出てきて腹立たしいわ
479:デフォルトの名無しさん
20/08/14 21:56:59 970Aew80.net
>>478
ファサードもDIコンテナも、フレームワーク独自の用語じゃなくてごくごく初歩的な一般用語では?
480:デフォルトの名無しさん
20/08/14 22:07:25 Fc7pCCli.net
>>479
そうだね。webとは関係ないよね
webとは関係ない設計上の概念を
Webフレームーワークが押し付けてくるのはおかしいよね
フレームワークはルーティングと
HTMLレンダだけやってりゃいい
DBにもビジネスロジックにも出しゃばってくるべきでは無い
とくにJavaをパクってるだけのPHPでそんな内容
吐き気がするに決まってるだろ
481:デフォルトの名無しさん
20/08/14 22:24:17.70 B01JOFDh.net
DIは、最初はめんどくさい仕組みだなって思うけど、
ある日突然納得感に包まれるぞ。
482:デフォルトの名無しさん
20/08/18 21:29:27.81 ZCkQ8Dn9.net
MySQLとかのDBアクセス
同期的にやってくれるライブラリないんか?
fsはSync版あるやん
483:デフォルトの名無しさん
20/08/18 21:50:58.81 uzsO+4Q7.net
async/await使えばいいやろ
fsのsyncなんてお遊びかツールでしか使えんし
484:デフォルトの名無しさん
20/08/18 21:58:10.75 wak8Bz4V.net
もうjavascriptだけで出来ないことはない!
javascript最強!
javascript最高!
今、javascriptの伝説が始まる!!!!!!
485:デフォルトの名無しさん
20/08/19 04:18:53 vidjSvBe.net
キッショ
486:デフォルトの名無しさん
20/08/20 19:53:59.17 KMfIHaw0.net
真偽値が非同期になるとヤバイ
trueかfalseのどちらかかと
思っていた変数が
pendingになっててif文の分岐に
ミスがあったとかマジで勘弁
セキュリティやトランザクション処理が
クリティカルな部分でこんなことやられたら叶わん
487:デフォルトの名無しさん
20/08/20 20:05:16 t5R+TL7j.net
ごめんよく分からないので
コードで頼む
488:デフォルトの名無しさん
20/08/20 20:09:16 AoU9HO21.net
低脳はプログラマやめとけ
489:デフォルトの名無しさん
20/08/20 20:16:29.65 X1nNk3cj.net
>>486
それマルチスレッドの話じゃね?「非同期」つってもjavascriptのそれとは意味が違う。
490:デフォルトの名無しさん
20/08/20 20:32:39 tyNv301J.net
pendingは普通にPromiseの話やろ
Promiseを理解せず非同期のコード書くのが悪い
491:デフォルトの名無しさん
20/08/20 20:41:23.02 qjxJt4Hn.net
>>489
node.jsのスレだからJavaScriptの話なんだが
nodeってシングルスレで合ってる?
あと素人で申し訳ないが
if文がある時もそれ以降のコードに勝手に進んじゃうの?
たとえば
if(非同期の真偽値メソッド() ){
return;
}
console.log('ifに該当したら逐次処理ならここには到達しないはず');
逐次処理ならelseなしで処理を抜けることが出来るが、
非同期処理だと条件分岐も待ってくれないの?
こういうのがかなり怖い
492:デフォルトの名無しさん
20/08/20 20:44:17.20 qjxJt4Hn.net
>>490
非同期のコードが書くの悪いって僕も書きたくないです。
でもデフォルトで非同期の関数ばかりですよね?
ちょっとでも油断すると非同期になっちゃうんです
もちろんasyncやawaitつけてるけど
ついつけ忘れるといつの間にか非同期になってるんです。
493:デフォルトの名無しさん
20/08/20 20:49:28.75 AoU9HO21.net
await付け忘れるヤツが悪い
TypeScriptで型チェックしとけ
494:デフォルトの名無しさん
20/08/20 21:17:24 t5R+TL7j.net
>>491
if(await hoge())するだけ
何も難しいことない
495:デフォルトの名無しさん
20/08/20 22:05:57.37 wmqy4S/J.net
まぁそこは同期が基本から非同期が基本に頭切り替えないとね
496:デフォルトの名無しさん
20/08/20 22:43:19.84 tyNv301J.net
>>491
nodeに限らずJSは基本シングルスレッド
JSで本格的にコード書くなら
シングルスレッドでどうやって非同期や並行処理を実現してるのかを
最低限の知識として知っておく必要がある
setTimeout(fn, 0)で渡したfnがどのタイミングで実行されるのかと同じ
少し詳しめのチュートリアルならだいだい解説してある
497:デフォルトの名無しさん
20/08/21 00:43:07.71 CMx879FZ.net
とは言え今ではスレッドも使えるから上手く利用したいところ。
シングルスレッドにこだわってコールバックの中で時間のかかる処理しちゃったら本末転倒。
498:デフォルトの名無しさん
20/08/21 01:18:26.76 RmDQK783.net
プロセスも使えるぞ。
せっかくだからV8 isolateも使いたいけどどうやるんだっけ…
499:デフォルトの名無しさん
20/08/21 01:47:45.18 fPne1yUC.net
workerが別スレッドのisolate
500:デフォルトの名無しさん
20/09/01 20:38:22.47 QR4OvP6I.net
nodeはバッチ処理にはマジで向いてないよな
ループ中に非同期発生すると
ループ番号の順序性があべこべになるとか
ヤバすぎる
ループ外グローバル変数への
数値溜め込み処理とかどうなるんだこれ
あと完了したと思ってた処理が
完了表示されただけで
実はまだ非同期で動作してたとかありそうで
怖すぎる
501:デフォルトの名無しさん
20/09/01 20:42:12.06 I2eVqLbl.net
無能w
502:デフォルトの名無しさん
20/09/01 20:43:25.87 tH3NhyKR.net
>>500
アホ過ぎるwww
503:デフォルトの名無しさん
20/09/01 20:58:34.78 z4ASdXsC.net
>ループ中に非同期発生すると
まるで自然現象とか天災みたいな言い方
504:デフォルトの名無しさん
20/09/01 21:12:04.15 QR4OvP6I.net
すまん、俺は無能なんだわ
バッチ処理は終わるまで時間がかかるから
プログレスバーとして
進捗報告として
データベースの進捗状況テーブルへ
進行度をアップデートしてんだわ
毎ループ進捗報告しなくていいから
%で余り算して定期的に
進捗をアップデートしてんだわ
ところがその進捗報告DBアクセスで
非同期が発生してループの順序が乱れる
進捗状況の進行度が進んだり戻ったり
トリッキーに変動するんだわ
でもループの最後まで到達して完了すると
全てのデータ整合してんだわw
なぜ中間状態だけこんなにトリッキーなのか謎
505:デフォルトの名無しさん
20/09/01 21:24:55.53 I2eVqLbl.net
コード書くのやめろ
506:デフォルトの名無しさん
20/09/01 21:59:23 usFRsaVF.net
進捗の書き込みはシリアルにやればいいよね?
「80%完了」の後に「70%完了」が来ても無視すればいい
507:デフォルトの名無しさん
20/09/01 22:02:04.20 QR4OvP6I.net
>>506
無視するようにしてるんだよ
whereで大小比較して
更新する数の方が小さかったら更新されないように
してる
でもDB上の数値が減るんだよ。何故だ?
508:デフォルトの名無しさん
20/09/01 22:05:22.51 3AXmEbq5.net
コードも無しで言われても知らんわ
509:デフォルトの名無しさん
20/09/01 22:28:22.77 usFRsaVF.net
>>507
シリアルに書いてないからでしょ
今実行中の進捗報告の書き込みが完了してから
次の進捗報告の書き込みをする
理解できないほうが謎
510:デフォルトの名無しさん
20/09/02 02:59:56.27 bHRnrATQ.net
7月入ってからageながら変なこと書いてんの同じ人っぽいな
挫けないでがんばれよ
511:デフォルトの名無しさん
20/09/02 12:32:41.24 U40YU3HI.net
並列処理しなければ良い
1つが、確実に終わってから、
次のものを処理する
512:デフォルトの名無しさん
20/09/02 13:19:02.32 FrAP3fk+.net
回答者まで同じ内容を繰り返し始めたw
513:デフォルトの名無しさん
20/09/02 21:31:48.71 C0O9Iab7.net
>>504
こうなる原因が今日特定出来た
ループ自体が多重に並列に動作してた
1つのfor文が動いてるんだと思ってたら
ログをよくよく見たらfor文自体が
3つくらい並列で動いてた
勝手に多重実行になった原因は、
MySQLが処理しきれなくなってタイムアウトが
発生したあと
nodeが自動で(promiseの仕様?)最初から
リクエストの処理をリトライするようで
ピタゴラスイッチのアルゴリズム体操見たいに
なってたわw
初歩的な質問ですが
サーバに飛んできたリクエストだけを中断するには
exitが正解ですか?
returnが正解ですか?
res.end(); ですか?
サーバ自体は止めたくありませんが
ある関数自体を中断するだけでなく
そのリクエストだけ大元から全部中断したいです
514:デフォルトの名無しさん
20/09/02 22:07:44.16 m9UvO5Rn.net
お前がコード書くのをやめる、が正解
515:デフォルトの名無しさん
20/09/07 13:52:39.16 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:デフォルトの名無しさん
20/09/07 14:38:17 UUesL9I9.net
説明できますかって何だよ挑発してんのかよ
resolve()は必ずイベントループに戻ってからthen()のコールバックが呼ばれるからに決まってるだろがボケカス
マイクロタスクキューでも調べやがれポンコツ
517:デフォルトの名無しさん
20/09/07 15:25:12.91 Egt+Qwmp.net
0
4
1
6
2
3
5
とか
0
4
6
1
2
3
5
にならない?
518:デフォルトの名無しさん
20/09/07 15:45:30.49 UUesL9I9.net
ならない
Promiseコンストラクタはコールバックを即時実行する
MDN
executor 関数は Promise 実装により resolve 関数と reject 関数が渡されて即座に実行されます (Promise コンストラクターが作成したオブジェクトを返すよりも前に executor は呼び出されます)。
519:デフォルトの名無しさん
20/09/07 17:09:51 3uGG3SyO.net
>>515
コールスタックが空にならないと、各種キューに入ってる処理は実行されない
最初にconsole.log(“6”);まで処理したらスタックが空になる
その状態でsetTimeoutのタイマーが発動してキューにコールバック関数が入る
スタックが空なのでキューの1番目にあるsetTimeoutのコールバック関数がスタックに積まれて呼び出される
この関数がreturnするまではスタックは空にならないので
それまではキューに入った処理を実行するタイミングはない
console.log(“3”);まで実行してreturnしたらスタックが空になるので
その後、各種キューに入ってる処理があれば実行される
520:デフォルトの名無しさん
20/09/07 17:21:12.28 KQEAaFWf.net
試してみたんですが、setTimeout()で指定している関数の中で、
resolve(111);
resolve(222);
resolve(333);
としてから、
sample.then( function(value) {
console.log( "5, value=", value );
});
とすると、
5, value = 111
とだけ表示されて、222, 333 の分は表示されないんですが、どういった
理由なのでしょう。
521:デフォルトの名無しさん
20/09/07 17:33:56.06 Egt+Qwmp.net
お前はもう死んでいる
522:デフォルトの名無しさん
20/09/07 17:39:40.90 UUesL9I9.net
最初にresolve()した時点でそのPromiseの値は確定するから
つかスレに書き込む暇があるならドキュメントでも何でもいいから学習してPromiseがどういうもんか理解してから試せよ
Promiseってのは「将来確定する"値"」を表現するもんなんだよ
523:デフォルトの名無しさん
20/09/07 17:52:24.52 neZOTIA1.net
一旦解決したPromiseを再度変更出来たらそれは改竄と呼ぶべきだな
reject(111);
resolve(222);
reject(333);
これは成功したのか失敗したのかどっちよ?
524:デフォルトの名無しさん
20/09/07 18:07:19.89 ieMFgaPK.net
これ近頃よく見る相手にしちゃダメなやつだな
525:デフォルトの名無しさん
20/09/07 18:08:35.44 UUesL9I9.net
最初のreject()で失敗が確定する
Promiseの状態はpending→settledと変わる
settledにはfulfilledとfailedがある
resolve()でfulfilled、reject()でfailedになる
526:デフォルトの名無しさん
20/09/08 00:01:18.48 8muSUg7S.net
nodeの非同期を同期的にやりたい時のコードって
promise async await
resolve thenが複雑に入り組んで
意図した動きになった時はめっちゃ過剰なコードになるよね
精神的にヘトヘトに疲れて 清書する元気も起きん
promiseやresolve変数がたくさん生成しまくって
名前つけるのもめんどうになって
p1とかr3みたいなのが沢山できてる
特にforループの中に非同期使うときは地獄
早くmysqlを同期的にクエリ投げられる
ライブラリ出してください。何でもしますから。
527:デフォルトの名無しさん
20/09/08 01:45:13 1Wq/gxeB.net
だからお前はプログラマやめろって
才能なさすぎ
528:デフォルトの名無しさん
20/09/08 02:32:28 o0Kum352.net
>>526
nodeも非同期も関係なくお前がめっちゃ過剰なコード書いてるだけだからな
529:デフォルトの名無しさん
20/09/08 12:00:40.54 gglleEZ2.net
ライブラリは需要があればとっくに作られてる
今現在無いのはつまりそういうことだ
530:デフォルトの名無しさん
20/09/08 12:14:59.78 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:デフォルトの名無しさん
20/09/08 13:42:27.36 8muSUg7S.net
select文を投げるのは
selectの結果が欲しいから投げる訳であって
結果が取得できる前に
後続のコードに勝手に動かれたら困るのは
当たり前だよなあ?
DBアクセスで非同期って何がメリットが
あるのか分からない。
それにnodeの概念はバカの新人に言葉で説明しにくいんだよ
あいつぜってー非同期とか理解出来ねえぞ
532:デフォルトの名無しさん
20/09/08 13:47:44.03 op+kwVtr.net
新人に言葉で説明できないバカ
新人かわいそう
533:デフォルトの名無しさん
20/09/08 13:57:56.32 c4WmASUK.net
> 勝手に動かれたら
何も理解してないことがよく分かるw
534:デフォルトの名無しさん
20/09/08 14:51:08.13 QV2EnsJl.net
お前の場合はMySQL一つしか使わないのが当たり前かもしれないが世の中にはシャードされた複数のMySQLにアクセスしたりキャッシュのRedisにアクセスしたり検索エンジンのelasticsearchにアクセスしたりいろんなことをしなきゃいけないアプリがあったりするわけ
Nodeではこれらは非同期だから特別なことをしなくてもたやすく並行アクセスできる
同期で並行アクセスしようとすると複数スレッド使って待ち合わせすることになるから非同期より簡単にできるわけではない
535:デフォルトの名無しさん
20/09/08 16:00:24.51 8muSUg7S.net
>>534
ああ、アクセスするのは簡単やと思うわ
問題はその結果の始末を付けるのが大変だと思うわ
なんかいい書籍あるか?
536:デフォルトの名無しさん
20/09/08 17:40:30 Qj0BclxS.net
本当に本当にダメなヤツだなぁ(呆れ)
アクセスってのは接続して要求を投げて結果を受け取ってそれを処理して接続を閉じるまでの一連に決まってるだろ
>>530の例だって後始末まで書いてあるのに全然大変じゃないだろが
537:デフォルトの名無しさん
20/09/08 19:19:05.95 gglleEZ2.net
とりあえずオライリーでも読んだらいいんじゃない
URLリンク(www.amazon.jp)
538:デフォルトの名無しさん
20/09/09 06:42:52 N3PFvdWI.net
スレ的には真っ当な質問なのに当たり強過ぎでしょ
539:デフォルトの名無しさん
20/09/09 08:44:06.86 7Dxn++Hv.net
質問じゃなくて文句
540:デフォルトの名無しさん
20/09/09 17:07:03 SFlZHAWP.net
謙虚に質問してればレスも優しかったかもよ
541:デフォルトの名無しさん
20/09/09 21:03:51 OFM+73CL.net
分からないだけならともかく延々と自分以外を貶めつつ無能を晒してたからなぁ
542:デフォルトの名無しさん
20/09/09 21:12:34.50 XGuez22g.net
それな
× node.js が悪い
× 非同期が悪い
× promise が悪い
× async/awaitが悪い
× 新人がバカ
○ ID:8muSUg7S がバカ
こうだからな
543:デフォルトの名無しさん
20/09/10 14:55:06.91 rLZBXCmM.net
グレたωωω
544:デフォルトの名無しさん
20/09/10 19:56:10 FWP0gZB+.net
clusterでマルチプロセスしようとしたんだけど
「EADDRINUSE(ポートが既に使われている)」
エラーがどうしても出てしまいます。
もちろん既に稼働しているnodeはなく、
fork元のapp.jsでlistenしているのと同じポート
子プロセスでまたbindしようとして失敗しているようで
子プロセスは外部からリクエストを受けるような
ものではなく、重い処理をコア分散させて並列処理したいだけです
子プロセスにポート割り当てが必要な理由がよく分かりませんが
恐らく親プロセスと子プロセス間の通信
とかに使うんでしょうか?
子プロセスのポート割り当て回避か、
親プロセスと別ポートを割り当てる方法はありますか?
545:デフォルトの名無しさん
20/09/10 20:18:09 VafdMbGz.net
> 子プロセスは外部からリクエストを受けるようなものではなく
それならclusterモジュールは必要なくね
clustetは複数のプロセスを使って大量のリクエストを捌くためのもの
ただの子プロセスならchild_processのメソッドを使う
546:デフォルトの名無しさん
20/09/10 20:21:53 C+K2oJgr.net
>>545
なるほど、助かりました
じつはworker_threadsも試してみて同じ
エラー出たので
child_processが正解でしたか
これだとポートは関係ない?
547:デフォルトの名無しさん
20/09/10 20:43:38.94 oBZEl9rg.net
clusterだと親は子を産むだけの役割じゃなかったっけ
548:デフォルトの名無しさん
20/09/10 20:45:06.67 oBZEl9rg.net
あとworker_threadsで同じエラーが出るのはいくらなんでもおかしい
549:デフォルトの名無しさん
20/09/14 20:42:48.98 JdQogpR1.net
>>544 の者ですが
今日これをデバッグしてました。
clusterでもwoker_threadsfでも
child_processでも
「EADDRINUSE」が発生しました
発生するタイミングは子プロセスを生成した時でも
なく
子プロセスでMySQLに対しのコネクション確立時でもなく
確立したDBコネクションからクエリを投げるコード
を実行する時に発生しますが
なぜこのタイミングなのか分かりません
ここで気になったのが
nodeでフロントユーザーに対し
80番ポートをlistenしていて
nodeがローカルのMySQLにアクセスする時
nodeのクライアントポートはフロントと
おなじ80を使うのでしょうか?
それとも別のランダムポートを取得してきて使うのでしょうか?
550:デフォルトの名無しさん
20/09/14 20:55:49.60 AayaioGL.net
説明と全然違う事象じゃねーの
せめてエラーメッセージとスタックトレース貼れ
551:デフォルトの名無しさん
20/09/14 20:55:58.86 JdQogpR1.net
続きですか
もう少し調べてみると
「EADDRINUSE」が発生するタイミングは
MySQLに対しコネクション確立後
SQLを投げる時で間違いないと思いますが、
エラーのスタックとレースを見ても
何かのハンドラから駆動されており自分の書いたコードでは
ありません。
nodeかexpressかmysqlモジュールのハンドラ
だと思います
子プロセスはローカルのMySQLに対して
接続して読み書きするだけで
フロントとのやり取りは一切ありませんが
生成元の親プロセスはExpressのapp.js
で立ち上げてるwebアプリです
552:デフォルトの名無しさん
20/09/14 20:56:11.94 JdQogpR1.net
不思議なのが子プロセスで
mysqlとコネクション確立までは失敗せずに
動作し、SQLを投げる段階で
なぜか大元の「app.js」をもう1つ起動しようとしており
app.jsはもう既に起動してるので、
listenポート重複により上記のエラーが発生するわけです
暫定対応で動くようにはなりましたが、
なぜローカルのDBアクセス時にapp.js実行する
動きをするのかの原因がまだ分かっていません
webとは関係ないはずの子プロセスのファイルを
単体でコマンドで実行した場合も
Expressのベースディレクトリにある
「app.js」が実行されていることが分かりました。
自身のコードではこのようなことをしてないので
フレームワークかモジュールの内部処理だと思いますが、
知っている方がいましたら教えてください。
553:デフォルトの名無しさん
20/09/14 20:57:39.11 JdQogpR1.net
>>550
すみません、もう帰宅してしまったのと
機密事項で怒られるのでスタックトレースは貼れません
554:デフォルトの名無しさん
20/09/14 21:14:49.11 AayaioGL.net
> 単体でコマンドで実行した場合も
> Expressのベースディレクトリにある
> 「app.js」が実行されていることが分かりました。
clusterも何も関係ねーじゃんwww
断言するがフレームワークもモジュールもmysqlも関係なくてお前のバグだから真面目に仕事しろ
子プロセスから再現に関係ない部分を削除しまくって最小限のここで見せられるコードになるまで書き込まなくていいよ
555:デフォルトの名無しさん
20/09/21 23:41:10.99 h9hvsVjr9
この時代に生きててSNS発信を頑張らないやつはアホだ。
URLリンク(www.youtube.com)
【事例付き】YouTuberは最強の副業である件について。
URLリンク(www.youtube.com)
【初心者向け】YouTubeの始め方・稼ぎ方を徹底解説!
URLリンク(www.youtube.com)
【貧者の工夫で戦え】ガラケーだっていい。YouTube始めるのにパソコンはいらない!
URLリンク(www.youtube.com)
YouTubeを伸ばすコツ【5つの本質論/初心者向けのセミナーです】
URLリンク(www.youtube.com)
【悲報】YouTuberはマジで難しいので、ほぼ挫折すると思う【無理ゲー】
URLリンク(www.youtube.com)
556:デフォルトの名無しさん
20/10/03 14:17:11.74 l4QjehZB.net
URLリンク(detail.chiebukuro.yahoo.co.jp)
abiko tetuってやつヤバすぎ
557:デフォルトの名無しさん
20/10/17 18:10:22.96 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:デフォルトの名無しさん
20/10/17 18:39:14.64 cX3MrjsP.net
>>557
結論的には、
$ npm install -g fs-extra
$ set NODE_PATH=%AppData%\npm\node_modules
としてから、
node xxxx.js
とすると直りました。
559:デフォルトの名無しさん
20/10/17 23:48:03.55 5XNVi7jP.net
Windows?
560:デフォルトの名無しさん
20/10/19 16:19:09.43 faSV5MEm.net
# Fatal error in , line 0
とか見慣れぬエラーで落ちててビビって調べたらv14のバグか
561:デフォルトの名無しさん
20/10/25 03:29:13.70 xG/xcmJA.net
import って mjsにしないといけないし
562:デフォルトの名無しさん
20/10/25 03:30:20.11 xG/xcmJA.net
途中送信すまん
563:デフォルトの名無しさん
20/10/25 04:23:13.46 Xs0QdE0/.net
mjsにしないといけないから何なんだよ気になるだろ…
因みにpackage.json弄れば.jsをESM扱いにはできる
564:デフォルトの名無しさん
20/10/25 13:32:05.91 xG/xcmJA.net
node v15にしたからmjsにして requireを全部importに変更したらpuppeteerがimportできなくてまたrequireに戻した
565:デフォルトの名無しさん
20/10/26 06:48:46.11 AP4vuhmG.net
下記のモジュールを使用してHTMLソースからタグを全て取り除く処理を作っているのですが、タグを取り除いてくれません。
ES6で記述されたjavascriptを対応していないブラウザで動作させるために記法を変換してから読み込ませることは知っているのですが、
nodeコマンドで直接実行する場合にもそのような記法の変換などが必要なのでしょうか?
◆モジュール
URLリンク(github.com)
◆ソース
main.js
-----
var striptags = require('striptags');
striptags(html);
console.log(html); // 取り除かれていない
◆コンソールで書きコマンドを実行
node main.js
566:デフォルトの名無しさん
20/10/26 13:39:27.76 jWz3MMEX.net
html = striptags(html);
じゃないの?
567:デフォルトの名無しさん
20/10/26 14:12:32.65 AP4vuhmG.net
>>566
教えて頂いた方法で取り除かれていることが確認できました。
公開されているソースを確認したら戻り値を受け取るようになっていました。
今後はソースも確認するようにします。
ありがとうございました。
568:デフォルトの名無しさん
20/10/26 14:44:15.69 /aZJ5myY.net
その前にJavaScriptの勉強をちゃんとすべきでは。。。
JSの文字列は不変って知ってればstriptagsの使い方を知らなくても>>565の書き方じゃダメってわかったはず
569:デフォルトの名無しさん
20/10/28 03:46:46.75 Xggm0kAQ.net
Fetchより先にAbortControllerが来るのタイムパラドックス感がある
570:デフォルトの名無しさん
20/10/28 14:31:46.46 jeoOjGPI.net
node.jsがあればPHPはもういらないよね?
571:デフォルトの名無しさん
20/10/28 14:45:56.45 Nt7id6vD.net
そんなことはない
572:デフォルトの名無しさん
20/10/28 23:57:51.70 jeoOjGPI.net
>>571
なぜ?
573:デフォルトの名無しさん
20/10/29 00:23:44.55 6kIeo5xU.net
rdb扱うのはphpの方が得意やろ
574:デフォルトの名無しさん
20/10/29 00:35:34.69 Phiv6uZl.net
>>564
v15で試したけど import puppeteer from 'puppeteer' で読み込めてるよ
575:デフォルトの名無しさん
20/10/29 10:07:34.55 D91L/a15.net
俺も文法的にはPHPよりもjavascriptの方が好みなので、できれば移行したいんだけど、
URL単位で小物サービスを作る用途がメインなので今でもPHPを使ってしまう。
なんか、node.jsはCGI的に使うのはナンセンスという雰囲気があって、
でも、たまにしか使わない小物サービス毎にポート番号を消費したくない、
と思うと移行できない。
こんな俺にもおすすめなnode.jsの使い方ってある?
576:デフォルトの名無しさん
20/10/29 10:28:14.20 89EHBpBz.net
レンタルサーバーだといまだにPHPだかんね
577:デフォルトの名無しさん
20/10/29 11:43:25.35 6uKcySyb.net
>>574
ありがとうございます。 -gでインストールしてたのがいけないっぽいです
578:デフォルトの名無しさん
20/10/29 16:31:46.11 Phiv6uZl.net
>>575
極々普通にNodeでもルーターから振り分ければいいと思う
PHPだってサービスごとにhttpd立てているわけではないっしょ
579:デフォルトの名無しさん
20/10/29 21:26:42.11 /i1l21sm.net
>>575
無料オンライン格ゲーを作る。
580:デフォルトの名無しさん
20/10/29 23:24:45.00 D91L/a15.net
>>578
ありがとう、それだ!俺に必要だったものは。
とりあえず、expressを入れればいいのかな?
ちょっとやってみる。
>>579
俺にはレベル高すぎ(笑)
581:デフォルトの名無しさん
20/11/04 19:01:36.37 M+x6liG8u
【アフィリエイト】ブログで「月100万円稼ぐ方法」を初心者向けにプロブロガーが解説
URLリンク(www.youtube.com)
【実例有り】ブログで月1万円稼ぐまでの具体的な道筋を教える【プロが解説】
URLリンク(www.youtube.com)
【案件も公開】ブログで月20万円稼ぐ方法の全て。具体的な道筋や戦略も全て公開【雑記でもいけた】
URLリンク(www.youtube.com)
ブログ収益が大きく伸びた、たった1つのきっかけを話す【ネタバレ:人と会う】
URLリンク(www.youtube.com)
ブログで稼ぐ仕組み徹底解説】初心者にもやさしく、丁寧に説明
URLリンク(www.youtube.com)
【ミスるとヤバい】特化ブログと雑記ブログ、どっちがいいの?おすすめの運営方法も解説!
URLリンク(www.youtube.com)
【危険】ブログで稼げずに「挫折」してしまう人の特徴【初心者は特に注意】
URLリンク(www.youtube.com)
582:デフォルトの名無しさん
20/11/07 11:58:54.69 fULQIOig.net
npm-run-all で複数のnpm scriptを連続で実行したいんだが、scriptのどれか一つでも
0以外のステータスを返すとそこで処理をやめてしまうのをどうにかできないのかな。
大抵の場合はその仕様でもいいんだけど、たまに、エラーだろうがなんだろうがとにかく
処理しきってしまいたい場合がある。
583:デフォルトの名無しさん
20/11/07 12:35:45.81 1KfyiAX9.net
>>582
--continue-on-error
options.continueOnError = true;
584:デフォルトの名無しさん
20/11/07 12:39:43.17 fULQIOig.net
さんきう。オプション見落としてた。
585:デフォルトの名無しさん
20/11/14 16:32:10.90 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:デフォルトの名無しさん
20/11/18 14:56:07.27 7Ekft4aV.net
おめーら的にdenoってどうすか?
使ったことなさそうだけど
587:デフォルトの名無しさん
20/11/18 19:28:04.93 Zh0DQZnV.net
ほんのちょっとしか触ってないけど面倒くささが無い
npmライブラリが使えないけど init だの install だの package.json だの tsc だのやったりいじったりしないで済むから手軽に感じた
時間が経ってライブラリが充実してくれれば普通に使いやすい環境だと思う
588:デフォルトの名無しさん
20/11/18 20:11:49.14 7Ekft4aV.net
期待したいよな
開発者はイケメンだし
589:デフォルトの名無しさん
20/11/18 21:25:12.52 v8HWKopj.net
npmが使えないからエコシステムが育つまで様子見だな。
@types以前のTypeScriptみたいな。
590:デフォルトの名無しさん
20/11/19 01:51:43.98 /aqa7r+0.net
io.jsのように良い部分はNode.js側に取り込んでほしいね
最近は複雑さばかりが増しているし
591:デフォルトの名無しさん
20/11/21 19:45:56.38 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:デフォルトの名無しさん
20/11/21 23:08:26.52 jQLdetle.net
Ruby のBundler なら、プロジェクトルートに移動してから、
Gemfile にバージョン指定を書いて、
bundle install とコマンド入力するけど
593:デフォルトの名無しさん
20/11/21 23:54:59.89 lsz7D7Ic.net
>>591
npm i express@next
>>592
npm知らないヤツが何ででしゃばるわけ?
594:デフォルトの名無しさん
20/11/22 00:38:30.85 gYBzGuNC.net
expressは当時koaに移行するのかと思ってたけど結局どっちも開発続いてるのな
595:デフォルトの名無しさん
20/11/22 00:44:07.65 A21DE4YF.net
koaもhapiもfastifyもexpressの牙城は崩せそうもない
596:デフォルトの名無しさん
20/11/22 00:46:23.77 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:デフォルトの名無しさん
20/11/22 01:12:26.72 uIWU98XF.net
viewコマンドはインストールされたものじゃなくて公開されてるパッケージの情報見るものよ
598:デフォルトの名無しさん
20/11/22 01:15:05.72 nMBoVd/n.net
>>596
npm viewはレジストリの情報を表示するものでローカルにインストールされたものとは無関係だからだなw
npm ls express
599:デフォルトの名無しさん
20/11/22 01:19:23.91 ujQ9d+0r.net
>>596
インストールの時は
$ npm i express@next
って打ってるくせに
なんで
$ npm view express version
って打つわけ?
それなら
$ npm view express@next version
でしょうが…
600:デフォルトの名無しさん
20/11/22 09:31:06.57 7U8BOc5J.net
>>597-599
ありがとう。バージョン確認方法の方が間違ってたのか。
あぶねえ。パッケージ側の情報で確認してたら、何を試しても永遠に出来ないって言ってるところだったw
改めて確認したら、ちゃんと5.xが入ってた。
お騒がせしました。
$ npm ls express | grep express
└─ express@5.0.0-alpha.8
601:デフォルトの名無しさん
20/11/23 12:57:39.74 3jYl7MgH.net
node.jsのドキュメントや書籍等で、セキュリティー対策を考慮して書かれているものがあれば教えてください
602:uy
20/11/24 12:43:32.88 gfNKbZsO.net
>>601
(u_・y)っURLリンク(asciimw.jp)
603:デフォルトの名無しさん
21/01/01 19:21:03.31 /+4IUuLb.net
さくらVPSとかのlinuxサーバにwebアプリをデプロイするベターな手順ってなんかありますか
単純に考えれば、既存のサーバ中のプロジェクトフォルダを消して gitから新しくpullしてnpm ciすればいいはずなんだが
・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい
・ローカルの設定、ログフォルダといった、消したくないフォルダがある
からちょっと面倒でなんとかしたい
nodejs deployment tool とかで検索しても、すぐ自社のSaasに誘導しようとして
素のEC2的なlinuxマシンでの方法が分からなかった。
604:デフォルトの名無しさん
21/01/02 03:22:23.36 HtnkmSa8.net
普通にDockerでnpm i後のイメージ作ればいいんじゃない
605:デフォルトの名無しさん
21/01/02 04:25:18.76 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:デフォルトの名無しさん
21/03/01 09:14:19.43 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:デフォルトの名無しさん
21/03/01 09:46:34.15 g7xhMPQT.net
タイムゾーン
608:デフォルトの名無しさん
21/03/01 11:40:37.52 vtDgs//2.net
>>607
ボケてました。
ありがとうございました。
609:デフォルトの名無しさん
21/03/01 17:11:01.18 Jj2WQfq1.net
npm outdateをCLIじゃなくてNode側から使う方法ってない?
stdoutからパースするのは流石に手間で
610:デフォルトの名無しさん
21/03/01 17:57:45.51 LQGHEOvf.net
こいつを直接使えばいんじゃねーの知らんけど
URLリンク(github.com)
611:デフォルトの名無しさん
21/03/01 22:10:08.82 Jj2WQfq1.net
>>610
thx
試しにnode_modules/lib/outdated.jsがexportしてる関数を叩いてみたけど
内部のglobalディレクトリ参照でコケているようなエラーが出て機能しなかった
npm自体がModとしてのexportするのもAPIのないEventEmitterインスタンスだし想定してなさそうだ
諦めて自前で実装しているユーザーパッケージを適当に探すよ
612:デフォルトの名無しさん
21/03/11 17:50:04.24 UcSYqbju6
シェア買いアプリ「カウシェ」運営のX Asia、副業メンバー向け昇給制度等を定めた人事制度「KAUCHE de WORK」を制定
URLリンク(prtimes.jp)
「お試し転職」じわり広がる 副業が人材流動化に風穴
URLリンク(www.nikkei.com)
キャリアSNS「YOUTRUST」が登録ユーザー数30,000人を突破
2020年10月の20,000人突破発表から、2ヶ月で10,000人のユーザー増
URLリンク(prtimes.jp)
副業解禁やコロナ禍をきっかけに68%が資産形成に関心、本業の収入減を理由に44%が別の収入の柱を作り始める
URLリンク(prtimes.jp)
日本初、研究開発に特化した業務委託マッチングプラットフォームCipher(サイファー)の試験運用を開始
URLリンク(prtimes.jp)
幹部人材・事業承継者候補に特化した地方転職Webプラットフォーム『Glocal Mission Jobs』
地銀・人材紹介会社等業務提携先が100社に
URLリンク(prtimes.jp)
overflowが考える「複業転職」がスタンダードになる未来
URLリンク(hrnote.jp)
東海オンエア・りょうが考えるこれからの“働き方” デュアルキャリアは「率直に言うと…」
URLリンク(news.yahoo.co.jp)
613:デフォルトの名無しさん
21/04/24 07:20:56.16 CqGuC/ho.net
JavaScript/TypeScriptランタイム環境「Deno 1.9」がリリース、パフォーマンス向上に寄与する機能追加など
URLリンク(codezine.jp)
614:デフォルトの名無しさん
21/07/14 17:16:26.21 x3WS9adn.net
質問ってここで良いの?
Angularが良くわかないんだけど、例えばmd-toobarとmat-toolbarはなにが違うの?
いま触っているのが全部md-xxxだけど、ググるとmat-xxxばかり
package.jsonも、angularーmaterialになっているけど、ググって出てくるのは@angular/materialで、違いが分からない
615:デフォルトの名無しさん
21/07/16 23:12:53.43 ku0oROTf.net
dnsモジュールのgetServers()が初回実行時の内容キャッシュしてて使い物にならん
>>614
フロントエンドスレが一応立ってるからそっちで聞いてみれば
あとはWeb制作板に質問スレあったけど大分前に荒らしに乗っ取られて今はどうなってるやら
616:デフォルトの名無しさん
21/07/30 15:13:55.95 COPEXZUK.net
Ubuntu18.04でNode.js8.10.0を使ってるのですが、
BigIntのリテラル(例:10N)が使えません。
どうやったら使えるように出来るのでしょう?
617:デフォルトの名無しさん
21/07/30 15:53:45.87 0CdNCLhG.net
Node.jsをv12以上にする(細かいこと言うとv10の途中から使える)
618:デフォルトの名無しさん
21/07/30 17:48:26.38 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 公式サイト
URLリンク(github.com)
anyenv + macOS環境構築
URLリンク(qiita.com)
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しなくても良い
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
619:615
21/07/30 18:08:58.02 n/UloM9p.net
anyenv などを使わず、
Docker で探した方が、もっと簡単かも
apt でインストールした、Node.js 8 は、アンインストールすれば良い
620:デフォルトの名無しさん
21/07/30 18:19:19.46 7AkGA5GJ.net
スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
621:デフォルトの名無しさん
21/07/30 21:07:04.19 AXk+vMk4.net
今ならPuppeteerか同種のヘッドレスブラウザで実装するのが楽
通常の用途であればセキュリティを気にする部分はない
不正アクセスはまたの問題だから他の質問スレで聞こう
622:613
21/07/31 11:22:07.03 A0amfNLA.net
皆さんありがとうございました。
最新のLTS版Node.jsを入れたらBigIntなリテラル(N)が使える様になりました。
どのようにUbuntu18.04に最新版をインストールしたかと申しますと。
1. npmでnコマンドをインストール
2. nコマンドで最新LTS版Node.jsをインストール
3. aptでインストールしていたnodejsとnpmをアンインストール(依存も解消)
です。
623:615
21/07/31 11:37:20.92 tQlroryC.net
NVM, n も、知ってるけど、
各言語ごとに、ツールの使用方法を覚えるのが大変
全言語で使用方法が統一されている、anyenv, asdf が良い。
最近はどの言語も、Docker が多い
624:613
21/07/31 12:37:39.44 A0amfNLA.net
>>623
Node.jsでパッケージングされているプログラムだけで完結できるのに、
新しいNode.jsにする上で、
他のプログラムや仮想化に依存しなくてはいけない理由は何ですか?
仮想環境が便利だ等であれば別の話だと思うのですが。
私はC/C++、Java、Perl、JavaScript(フロント少々)使いで、
最近Node.jsに手を出し始めたのですが、
anyenvやasdfについては全く存じ上げませんでした。
それらを覚える事によって、
それらのラーニングコストを上回る恩恵を授かれるとは思いませんでした。
>>617さんのアドバイスから>>622まで行き着いた次第で、
シンプルに管理コストを抑えられるるのが一番だとも思っています。
625:デフォルトの名無しさん
21/07/31 16:07:39.01 nZmJDmGx.net
好きなもん使えばいい
俺もubuntuではaptでクソ古いNode入れてからnpmでn入れてnからlatest突っ込んでるよ
626:デフォルトの名無しさん
21/07/31 17:22:45.59 23Q0KlZH.net
ruby 君の言うことを真に受けてはいけない
627:デフォルトの名無しさん
21/07/31 19:12:03.00 8Bi9zOKj.net
Ubuntu-ltsのデフォnodejsが10.xだもんなあ
オレの環境では動かない、とか言われても知らねえよ。NodeJS公式もサポートしないバージョンまでカバーできる訳ないだろうが
628:デフォルトの名無しさん
21/08/04 17:08:54.13 O4k/EVJC.net
「Electron」と「WebView2」はどう違う? ~「Electron」の開発チームが解説
URLリンク(forest.watch.impress.co.jp)
629:デフォルトの名無しさん
21/08/04 19:09:25.30 qrQ4Lnon.net
>>628
ただの翻訳(かつ雑な簡素化)記事なのにその旨の記述がない
画像も元ブログからの転載(盗用)だけどクレジット無し
大手メディアでこれって大丈夫か?
630:デフォルトの名無しさん
21/08/04 19:20:49.91 L5LJfz6s.net
丸コピしたのとは違うと思うぞ
画像の方はアウト臭いな
631:デフォルトの名無しさん
21/08/24 08:49:56.10 YRe/N1mJ.net
node.jsのconsole.logのpretty printをデフォルトでやめさせる方法ないのかな?
このおせっかい機能すごくいらいらするのは俺だけかな?
632:デフォルトの名無しさん
21/08/24 10:42:50.46 5pgrc+RU.net
process.stdout.write使え
console.logはブラウザに寄せようと頑張ってるんやろ
633:デフォルトの名無しさん
21/08/24 15:31:19.22 qPWgCxGJ.net
puppeteerを使ってるプログラムをwebpackでバンドルすると、distにはChromiumが無いからエラーが出ちゃうわ
よく分からん
634:デフォルトの名無しさん
21/08/24 18:06:53.00 Ya+eWSVV.net
Webサイトのコンテキストで動かしてるならDevToolsとセッション張れないから意味ないぞ
URLリンク(github.com)
635:デフォルトの名無しさん
21/08/28 10:29:55.37 rJz23Izt.net
nodeで作ってるapiがメモリ使用量1GBくらいでかなりベビーなんですけど
ここら辺のパフォーマンスチューニングについての知見がまとまってるサイトか書籍ないですかね?
636:デフォルトの名無しさん
21/08/28 14:06:05.96 TLYe8gOd.net
>>635
URLリンク(www.youtube.com)
637:デフォルトの名無しさん
21/09/01 09:26:26.45 J/+xOU5Y.net
>>636
あざます!
638:デフォルトの名無しさん
21/09/06 01:52:20.93 B6t4Zwws.net
Fastifyいいな
639:デフォルトの名無しさん
21/09/15 19:03:06.18 fHmj5hYp.net
スクレイピングすると地獄へ落ちるって本当ですか?
640:デフォルトの名無しさん
21/09/15 20:01:32.00 DvcCOYYc.net
puppeteerのplaygroundでforループすれば任意の回数地獄に落ちられるぞ
641:デフォルトの名無しさん
21/09/18 03:38:26.28 YPBxfQEw.net
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
642:デフォルトの名無しさん
21/09/18 04:59:36.02 ZvozewrD.net
マルチポストすんな
643:デフォルトの名無しさん
21/09/18 18:16:18.88 J85RgKD5.net
頭のおかしい人に以下のようなことを言われました
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
644:デフォルトの名無しさん
21/09/19 01:37:30.15 k7BgVJB0.net
node初心者だけどnpmが脆弱性情報吐きまくってこわい
645:デフォルトの名無しさん
21/09/19 13:46:28.11 k7BgVJB0.net
ググったらauditはクソ設計みたいな記事が出てきた
無視して良かったんだね
いままで膨大な時間を無駄にしてた…(´Д`)ハァ…
646:デフォルトの名無しさん
21/10/10 13:43:36.36 rC7NAnza.net
なんか変な場所でエラー投げられてプロセスが止まると思ったら
依存Modの一つがPromiseコンストラクタのcallback内で非同期エラー投げて止まっていた
そりゃrejectしないしcatchブロックにも引っ掛からんわどうすりゃいいねん
647:デフォルトの名無しさん
21/10/10 17:42:53.02 6Ldb4KuL.net
そんな事は4,000年に一度しかないからヨシ!
648:デフォルトの名無しさん
21/10/10 18:08:01.88 aEbL1282.net
>>646
その依存モジュールを捨てる
649:デフォルトの名無しさん
21/10/10 20:04:03.47 rC7NAnza.net
最悪プルリク投げるかと思ってリポジトリ見たら消えてた
捨てて自分で書くわ
650:デフォルトの名無しさん
21/10/10 20:07:36.51 zb1mAGkH.net
>>649
お疲れさん。ちな何て言うモジュール?
651:デフォルトの名無しさん
21/10/10 20:11:13.74 rC7NAnza.net
具体名は避けるけどProxy関連
自前のDNSBL作るのに使ってる
652:デフォルトの名無しさん
21/10/20 02:52:30.75 7Ch1Hu5l.net
スクレイピングに興味があるのですが1時間に1回の頻度のGETだけで訴えられる危険があるって本当ですか?
653:デフォルトの名無しさん
21/10/20 07:42:40.20 442/7USe.net
マルチ
654:デフォルトの名無しさん
21/10/21 01:45:51.47 Z5+NocI4.net
17でStrcturedCloneの実装来るのか
もうv8にある似たようなAPI使わなくてよくなるのな
655:デフォルトの名無しさん
21/10/25 18:50:04.02 xfFAFxQ2.net
パッケージ管理ツールのnpmで公開されている「UAParser.js」は、ユーザーエージェントの判定処理を
実行するJavaScriptライブラリであり、Facebook・Microsoft・Amazon・Googleなどの超大手企業を
含む1000以上のプロジェクトで採用されています。
そんなUAParser.jsがハッカーによってハイジャックされ、LinuxおよびWindowsデバイスを対象に暗号
資産採掘やパスワードの盗難を行うトロイの木馬が仕込まれていたことが判明しました。
656:デフォルトの名無しさん
21/10/25 18:55:04.53 WgjrPOfi.net
GIGAZINEからのコピペだろうけどちゃんと引用元URL貼っとけよ
657:デフォルトの名無しさん
21/11/17 15:53:34.41 OJq8ALeu.net
上にもちょっとありましたが、レンタルサーバでnode.jsを動かすのって現実的じゃないもんなんですか?
658:デフォルトの名無しさん
21/11/17 16:00:07.09 lSu1Xmea.net
いや全然
上にある「レン鯖はPHP」ってレスは恐らく既に環境を構築済みで
あとは実行する.phpを配置するだけのWebスペースを想定したレス
659:デフォルトの名無しさん
21/11/17 16:22:49.28 sYjDCVja.net
node.js使えるレンサバってあるの?
660:デフォルトの名無しさん
21/11/17 16:34:28.88 lSu1Xmea.net
>>658に書いたような実質Webスペースの共有レン鯖でも端末触れる一部では使えるよ
占有型ではもちろん使えるけど今なら間違いなくVPSのほうがいい
661:デフォルトの名無しさん
21/11/17 17:46:17.02 +3kxan1m.net
古き良きLAMP環境に拘る理由がないなら好きにしたら良い
662:デフォルトの名無しさん
21/11/17 23:30:54.62 YG2/9hEL.net
>>659
昔ながらのFTPとかでファイル置くしかできないようなサービスならまずそんなもの導入されてないだろうな
663:デフォルトの名無しさん
21/11/25 05:21:15.21 HW7nta/v.net
gulp4でejsをを使用したい + 別のタスクと記述方法を統一したいのですが
どうしてもエラーが解消できないのでどなたかご教授頂けませんか?(exportsにオブジェクトを突っ込む方法)
古い記述方法では動作しますが、新しい記述方法ではどうしても動作しません。
色々ググったのですが、どのサイト(英語サイトも含め)も古い記述方法で書かれており困っています。
公式も古い書き方に記述されています。(ejsだけ新しい書き方に対応していない?)
URLリンク(www.npmjs.com)
//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:デフォルトの名無しさん
21/11/25 06:59:11.02 nh0ZEMSE.net
このエラーメッセージで検索すれば?
それか、意味を考えてみれば?
The following tasks did not complete
Did you forget to signal async completion?
もっと単純な例で、動くかどうか試してみれば?
665:デフォルトの名無しさん
21/11/25 07:24:22.11 QOEXsJ22.net
>>663
状況全く分からんが、JSのパーサーはややおかしい?所があって、returnの後はぶった切られる。
よって、 return gulp.src(srcPath.ejs).pipe(ejs()); と改行を無くして試す事を勧める。
666:デフォルトの名無しさん
21/11/25 07:46:08.16 88pS2ZzI.net
>>663
URLリンク(developer.mozilla.org)
667:デフォルトの名無しさん
21/11/25 08:25:42.47 QOEXsJ22.net
>>666
これ return と yield (と後置演算子もか?)はパーサの仕様バグだよな?
直感的じゃ無いという意味で。
668:デフォルトの名無しさん
21/11/25 08:37:10.78 acYGqwrp.net
仕様だよ
お前の直感がおかしい
669:デフォルトの名無しさん
21/11/25 08:57:16.71 QOEXsJ22.net
>>663
いや実際660はそうしてるだろ。俺も以前嵌った事があったし、
実際セミコロン必須の言語だとどこで切ってもいいから、660の書き方はよく見るよ。
俺はお前がおかしいと思うが。
結局これもMDNで説明するのに例外扱い("no LineTerminator here" 規則)になってるし。
統一された文法ではないよね。(=もっとましな仕様にする事も出来たし、実際他言語はそう)
670:デフォルトの名無しさん
21/11/25 08:57:57.52 QOEXsJ22.net
すまん分かると思うが 666 は >>668 宛
671:デフォルトの名無しさん
21/11/25 09:45:34.63 6PNOZvLH.net
>>669
その書き方よくみるというけど
1行で書けば見やすいのにわざわざ複数行で見にくくしている意図がわからない
672:デフォルトの名無しさん
21/11/25 10:02:02.58 QOEXsJ22.net
>>671
そりゃ、そうした方が見やすいと思う人がそうするだけだよ。
お前がそう思わなければしなければいいだけ。
ただ実際、660にある公式のコードもそうなってるだろ。
俺も個人的には横に長いコードを書くけど、一般的には縦に長いコードの方が多いと思うよ。
673:デフォルトの名無しさん
21/11/25 10:13:11.42 rnpiht7q.net
returnの直後に改行してないからASI関係なくないか?
674:デフォルトの名無しさん
21/11/25 10:19:20.71 QOEXsJ22.net
>>673
660の「新しい記述方法だと動かない」とされてるコードは return gulp で改行してる。
660内の公式はこれが出来ない事を知ってるから、 gulp.src(...) で改行してる。(ただしreturnはないが)
675:デフォルトの名無しさん
21/11/25 10:26:17.55 6PNOZvLH.net
>>672
それは長い行を分けて改行しているだけ
一方で>>663の人は長い行にならないのに無意味に改行しまくり
676:デフォルトの名無しさん
21/11/25 10:28:27.93 rnpiht7q.net
>>674
return
gulp.src()
ならreturnの後にセミコロンが自動挿入されるけど
return gulp
.src()
ならgulpの後にセミコロンは自動挿入されないでしょ
それよりfunction ejs(){}って名前がダメなんじゃないの?
.pipe(ejs())で再帰になってる
677:デフォルトの名無しさん
21/11/25 10:36:21.11 QOEXsJ22.net
>>675
長さではなく、意味で切るんだよ。
>>676
> return gulp
> .src()
> ならgulpの後にセミコロンは自動挿入されないでしょ
されて gulp が返されるはずだぞ。
678:デフォルトの名無しさん
21/11/25 10:42:13.14 6PNOZvLH.net
>>677
意味で切るならgulpと.src()の間で改行を入れてるのは明らかにおかしい
無意味な改行だ
679:デフォルトの名無しさん
21/11/25 10:42:35.39 QOEXsJ22.net
>>676
すまん、674は間違い。
試してみたところ、確かに挿入されないようだ。
680:デフォルトの名無しさん
21/11/25 11:42:21.71 QOEXsJ22.net
>>678
相手するだけ無駄っぽいが、そういうのは物によるんだよ。
そうした方が見やすいと思う奴がそうするだけ。
return ウンコ製造器675号
.src(ケーキ)
.pipe(胃)
.pipe(小腸);
.pipe(大腸);
なら、675によってケーキがウンコに変わるのが見やすくなると思う奴もいるだろ。
(詳しくないが)gulpの場合は基本はフィルタで型が変わらないし、出発点はソースファイルに決まってるから、
return gulp.src(ソース)
.pipe(フィルタ1)
.pipe(フィルタ2)
のケースが多いとは思うけど。
ついでに言っておくと、お前JSによくいる、やたら文法に拘る奴なら、止めた方がいい。
それだと全く進歩しないので。
上記の通り、まあどちらもいるわな、程度で進めていかないと、上達しない。
どちらが正しいとか、そういう問題ではない。
どうにもJS初心者は「改行を極める」「セミコロンを極める」とかになりがちのようで、よろしくない。
681:デフォルトの名無しさん
21/11/25 12:57:12.37 K4FLN1Dn.net
んじゃ俺は括弧の後に半角スペースを入れるのを極めるわ。
682:デフォルトの名無しさん
21/11/25 13:45:45.44 R4fLO2Lj.net
必死過ぎて笑えるw
683:デフォルトの名無しさん
21/11/25 14:09:48.85 reZpBJt7.net
珍しく伸びてんなと思ったらこれだよ
684:デフォルトの名無しさん
21/11/25 19:42:13.27 b7JhAcnH.net
.NET Standard が世界の中心と考えてる人でしょ
別スレで見た
685:デフォルトの名無しさん
21/11/25 21:14:35.40 QOEXsJ22.net
>>681
ゆとりにはそれがお似合いだね
686:デフォルトの名無しさん
21/11/25 22:13:54.29 HW7nta/v.net
610です。
仕事でレス遅くなりました。
>>676
ありがとうございます!
このコメントからピンときて修正したら無事に動作しました。
超初歩的なミスでした、、
こちらの書き方は関数の中にejs(gulp-ejsオブジェクト)を書いても動作しましたが
gulp.task('ejs', function() {
}
こちらでは関数に同じ関数入れたらまだタスク終わってないよと、動作しませんよね。(気づけば当たり前なのですが、、)
function ejs() {
}
お騒がせしました。コメント頂いた方もありがとうございました!
687:デフォルトの名無しさん
21/11/25 22:25:35.12 HW7nta/v.net
誤 610です。 = > 正 660です。
688:デフォルトの名無しさん
21/11/25 23:27:35.30 nh0ZEMSE.net
漏れは、Ruby でも、パーサーの誤解釈を避けるため、
. を行末に置く
a.
b( ).
c( )
689:デフォルトの名無しさん
21/11/26 01:34:21.64 KdVwfKAT.net
なんで Ruby が出てきた
690:デフォルトの名無しさん
21/11/26 22:15:56.74 FIwAqG/H.net
スクリプト系は改行も終端になって駄目ね
691:デフォルトの名無しさん
21/11/26 23:57:17.12 MbvsChzk.net
>>690
JavaScriptで駄目なのはreturnのみの行の時だけだよ
return
a
.b()
は駄目だけどこう書く人はいないから問題は起きることはない
return a
.b()
なら大丈夫
692:デフォルトの名無しさん
21/11/27 09:09:57.67 kX7QbhiL.net
そういうのはコーディング時にいちいち気にするよりlinterでチェックだな。
693:デフォルトの名無しさん
21/11/27 09:24:44.31 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.
> URLリンク(github.com)
他にセミコロンなしの有名ルール勢ってあったっけ?
return
'qwerty'
+'asdfgh';
とは書きたくなるだろ。書きたいように書けないのはよろしくないよ。今風ではないね。
セミコロン書くルールならASIなんて無い方がマシだし。
694:デフォルトの名無しさん
21/11/27 09:32:19.66 MtgsfYs/.net
書き方にこだわりがあるならそうではない書き方と比べて◯◯の利点があると言わないと他人の理解は得られにくい。
好みだけの問題ならスクリプトの仕様に従うしかない。
695:デフォルトの名無しさん
21/11/27 09:36:27.04 TUbuKQsw.net
自分はなりませんねとしか
696:デフォルトの名無しさん
21/11/27 09:41:13.68 LVgG7qhW.net
>>684
俺向けではないと思うが、
return
'qwerty'
+'asdfgh';
の利点は見れば分かるとおり、インデントを揃えられる事だよ。
タグの方が分かりやすいかもしれんが一々引っかかると面倒なので止めただけ。
return '<div>'
+'<span>'+
+'</span>'+
+'</div>';
だと最初のdivのインデントがずれるだろ。
まあ言うほどではないし、実際俺はこの書き方をしているが、出来れば return の後に改行したいね。
697:デフォルトの名無しさん
21/11/27 09:42:13.87 LVgG7qhW.net
すまん693内681は>>694
698:デフォルトの名無しさん
21/11/27 10:25:26.66 wIEauZJC.net
お前ら何も考えずにPrettier使え
それが今のデファクトだ
699:デフォルトの名無しさん
21/11/27 11:22:05.56 xgA8vuBV.net
>>693
Airbnbがセミコロンなしの筆頭って頭腐りすぎたろ
git時代に歴史改ざんしてもすぐにバレる
2012年にセミコロンの章が初めて書かれたときからAirbnbはセミコロン派だ
URLリンク(github.com)
700:デフォルトの名無しさん
21/11/27 11:35:18.29 LVgG7qhW.net
>>699
ならAirbnbというのは俺の勘違いだな。
俺がJSを始めた2013-14頃、有名なコーディングルールが4つほどあって、Airbnbが一番トンデモだった(が、人気は一番という話だった)
その中にはセミコロンを打つな、というルールもあった。誰か思えてないかね?
なお俺はgoogleのルールが一番マシっぽいのでそれを参考にした。(こちらはセミコロンあり)
701:デフォルトの名無しさん
21/11/27 11:43:32.92 WAiK9igD.net
>>700
どこだか覚えてないけど、確かにどっかでセミコロン打たないで、短文を1行に書くときだけセミコロン使うてなの見たか聞いたりした記憶ある。
702:デフォルトの名無しさん
21/11/27 12:14:33.21 LVgG7qhW.net
一応自分でも再確認しているところだが、
> Always use semicolons. (google)
> Use them. Never rely on ASI. (jQuery)
> あなたからセミコロンを奪おうとする反抗的な軍隊があるようです。でも確かに私達の伝統的な文化はまだ元気に生き残っています。だからコミュニティに従って、セミコロンを使いなさい!(Node)
> URLリンク(qiita.com)
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()
> }
> URLリンク(www.w3resource.com)
となると俺の勘違いはnpmという事になるが、npm==Nodeじゃねえのか?という疑問は発生する。Nodeはnpmからのフォークか?
多分俺が当時見たのは Airbnb, npm, jQuery, googleだと思う。