【非同期】node.js part.1【javascript】

0001デフォルトの名無しさん2020/02/29(土) 01:21:17.89ID:JruiHcgf
Node.js はスケーラブルなネットワークアプリケーションを構築するために設計された非同期型のイベント駆動の JavaScript 環境です。

0063デフォルトの名無しさん2020/05/20(水) 15:20:09.39ID:Ha8hK6lj
>>59
同意。

0064デフォルトの名無しさん2020/06/07(日) 16:48:57.46ID:r//P9Tmy
npm -g install xxxx
した後
yarn global list
したらxxxxはリストに現れるもの?

あるいは逆に
yarn global add yyyy
とした後、
npm -g list
としたらyyyyはリストに現れるもの??

browserifyで実験したらなんかyarnで入れたつもりがnpmのリストに出てこなかった気がするんだけど
おま環?

バージョン:
D:\proj_picbbs\TypeScript_x01\_scrap>node --version
v12.18.0

D:\proj_picbbs\TypeScript_x01\_scrap>npm --version
6.12.0

D:\proj_picbbs\TypeScript_x01\_scrap>yarn --version
1.22.4

0065デフォルトの名無しさん2020/08/05(水) 20:29:33.65ID:HaLefuVq
フロントエンドのnode.jsでフォームを連動させたいんだけど
チュートリアルとかサンプルを教えてクレメンス

一つのセレクトメニューを選んだら、もう一つのセレクトメニューも連動して選択される。
みたいなやつ

「node.js フォーム 連動」
とかでもあまり情報無いし・・

0066652020/08/05(水) 20:40:20.61ID:HaLefuVq
スレチだった
移動します

0067デフォルトの名無しさん2020/12/12(土) 00:15:14.10ID:/bNhRWKS
node js からシステムデフォルトのファイルエクスプローラで指定フォルダなりファイルなりを表示したい場合って、
os 別に場合分けするしかないんか…?
用意されてたり、用意されてるライブラリだったりはない感じですかね

0068デフォルトの名無しさん2020/12/14(月) 18:56:20.59ID:3+xx3JTf
>>67
fsっていうライブラリがbult inで入ってる

0069デフォルトの名無しさん2020/12/14(月) 19:47:00.45ID:vj7TAroN
必ずGUI環境があるとも限らんしなぁ

0070デフォルトの名無しさん2020/12/15(火) 00:06:32.24ID:O+bs2MyP
そういうことね
nodejsはサーバーサイドで利用するフレームワークだからguiを使用するような実装するは無理そう

0071デフォルトの名無しさん2020/12/15(火) 00:52:26.20ID:+RD1gPFt
ElectronとかNW.jsとかであるよ

0072デフォルトの名無しさん2020/12/15(火) 01:02:08.79ID:O+bs2MyP
election nwとか使うんだったらhtmlでええやん

0073デフォルトの名無しさん2020/12/15(火) 01:49:04.07ID:+RD1gPFt
html使えば指定ファイルをシステムデフォルトのファイルマネージャーで開けるの?

0074デフォルトの名無しさん2020/12/15(火) 10:12:30.28ID:X8TNos5U

0075デフォルトの名無しさん2020/12/15(火) 12:21:06.56ID:gQh/3Vfu
ファイルマネージャーもいいけど、頼むから ドラッグ&ドロップ にも対応しておいてね。

0076デフォルトの名無しさん2020/12/15(火) 14:51:45.29ID:5byBTz6M
>>74
ダメだろw

0077デフォルトの名無しさん2020/12/15(火) 15:16:37.42ID:XKndzQaP
Electronなら独自APIにelectron.shell.showItemInFolderというのがあるけどnode.js自体にはない

https://www.npmjs.com/package/open-file-explorer
これなんかも結局OS別にspawnしてるしなぁ

0078デフォルトの名無しさん2020/12/23(水) 01:23:03.32ID:kfH5hVvm
libuvの実装読んでる人とかいるかな

0079デフォルトの名無しさん2020/12/23(水) 06:46:50.18ID:4FZ7yNJk
Boost.asio使ってるのでlibuvはかぶってますしねえ。

0080デフォルトの名無しさん2020/12/29(火) 20:43:46.71ID:kv2UyxGf
Goと比較した場合のAPIサーバーを作る場合のメリットを教えて。フロントはvueを使っている

0081デフォルトの名無しさん2020/12/30(水) 21:26:48.35ID:SErw+pCY
バックエンドで prisma とかを使う場合、フロントと型を共有できる。
一つの言語で書くことができる

それくらいしかないと思う。

0082デフォルトの名無しさん2020/12/30(水) 23:12:43.82ID:zA1s3IaL
>>81
あざます
なるほど、 あとはlodashとかあるしコレクション操作がGoより簡単とか?

webフロントしかいじれない人にAPIを短期間で開発してもらう必要があって
TS + node.jsでやってもらおうかと思ったけど
今の会社のAPIがほぼGoでできてるから、どうしたものか悩ましかったんすよねぇ。

Prisma名前しか知らなかったけどいいすねぇ。すでにプロダクション環境で使われるレベルなのかな。

0083デフォルトの名無しさん2020/12/31(木) 00:46:19.99ID:sQdowbAr
loadash 相当のライブラリは go にもあるだろうからそれが理由で ts / js を採用するのは良くないかも。
でもフロントしか経験がない人間に任せるとしたら ts nodeの組み合わせでいいと思う。

あるある技術構成は

express or fastify / prisma / firebase auth

になるかな。

apiサーバーとしてのパフォーマンス要件が特にない場合は prisma 使えばいいと思うよ。

0084デフォルトの名無しさん2021/01/02(土) 20:13:07.21ID:rgdqiUs3
>>83
あざます。参考になる・・。
ここでのprismaは TypeORMと同じ立ち位置?
リレーションを使ったときにタイプセーフになる(らしい)のはいいなぁ。

0085デフォルトの名無しさん2021/01/03(日) 00:19:48.93ID:TSfF4AGC
type ormと同じ立ち位置だけど、厳密には色々ちがう

https://www.prisma.io/docs/concepts/more/comparisons/prisma-and-typeorm

↑に type orm との比較が書いてある。少しだけ複雑なアプリケーションを両方を使用して書けばprismaのメリットがわかると思う

0086デフォルトの名無しさん2021/01/31(日) 00:38:35.74ID:FhHz48VU
>>84
めちゃくちゃ遅レスだけど、ありがとう
prismaを管理画面で試験的に使い始めたけどいい感じですわ。

0087デフォルトの名無しさん2021/02/01(月) 21:42:09.81ID:X9p3x0Ns
おお、よかった

0088デフォルトの名無しさん2021/02/01(月) 22:25:28.00ID:ZelzH3+k
非同期で得するのは、ネットワークへファイルを送り出すときくらいのような気がするのですよ。

0089デフォルトの名無しさん2021/02/01(月) 23:07:36.70ID:8w5N58GZ
また来たのか

0090デフォルトの名無しさん2021/03/04(木) 20:04:39.55ID:3i7uGyjx
音声再生のライブラリ漁ってみたがあんまり良いのないのね…
コマンドラインツールに音声ファイル丸投げするような感じのやつばっかり
ってか、VSCode の Extension で音だすやつ片っ端から何使ってるのか見たけど、
少なくとも Windows 環境では全部コマンドラインツールに丸投げして音声再生してた

マルチスレッドで多重再生するみたいなの Java で作ってたんだけど、そういうのは難しそうなのかな
js 自体がシングルスレッドだから、別プロセスの何かに頼るしかないんだろうけど

0091デフォルトの名無しさん2021/03/04(木) 20:46:29.66ID:c49dhPn9
今はworker_threadがあるからマルチスレッド使えるぞ
ネイティブ(c/c++)アドオン作るのがめんどいんじゃね

0092デフォルトの名無しさん2021/03/04(木) 22:58:38.75ID:XqDcDxR+
何がしたいの?

0093デフォルトの名無しさん2021/03/05(金) 13:48:11.22ID:GkxdZauC
今やりたいのは、単純な通知音ですね

ただ、音って割といろいろな場面で使うので、
ある程度使い回しの効くライブラリがあるといいなと思って調べてました
音が何個かかぶっても、汚い音にならないといいかなーと

イメージ的には下みたいな感じの事ができると嬉しいです

ファイル名指定するだけお手軽再生
メモリ上にいつロードするかを指定(ストリーム or プリロード)
1つの音声ファイルに対して多チャンネル割当できて、多重再生できる
チャンネル番号(スレッド)ごとに再生、ストップ、ループ、回数指定ループ
sync / async 両対応

0094デフォルトの名無しさん2021/03/05(金) 13:52:54.22ID:GkxdZauC
タイプ音とかゲームの効果音なんかは、
別プロセスにファイル名指定で投げるのってかなり非効率で、
音源管理のスレッドでプリロードしておいて、
後はそのロードしたデータを毎回再生しにいくだけの方がいいかなと思うのですよ

そういう効率的な再生ライブラリは Node.js には見当たらないなーと思いまして

(喫緊の通知音だけに関してみるとあれですけど)

0095デフォルトの名無しさん2021/08/05(木) 00:36:39.98ID:/cOmEksG
ウェブサイトのHTML取得までできたが、その中身のtdタグとかの内容取得がわからん
ネットでちょっと調べてcherio使うまでは分かったが
初心者向けの本買えば載ってるかなやりかた
伝助のデータ取得したいだけなんだが

0096デフォルトの名無しさん2021/08/13(金) 22:17:12.46ID:vkiHY+MX
>>95
htmlparser2

0097デフォルトの名無しさん2021/11/01(月) 15:33:43.60ID:Hw158eF4
EJSとやらを少しいじってまあ面白いなあと

しかしサーバー関連って毎回バケツの底ぶち抜くようなもんで
個人のPCでやるのは度胸いるなあ

0098デフォルトの名無しさん2022/01/18(火) 20:30:50.18ID:gYZQaM7s
勘違いしてたらスマンなんだが教えてくれ。
jsってボケボケテキトーに書いてたらめちゃくちゃな順番で実行されてくんだけど、async/await使うとキッチリ順番通りに動いていくってことであってる?


特定のファイル名のcsvファイルを再起処理で探してきて、jsonに変換して送信するって処理書いてみたんだけど…
順番に実行してもらいたいところにasyncawait付け足してったらうまく動いたからさ。


ググると「非同期処理でasyncawait使う」って書いてあるのにasyncawait使ったら順番通りに実行されたから混乱してしまって。


js難しすぎん?
vbaしか書いたことないからハァ〜さっぱりさっぱり!
やっぱり俺にはエクセルvbaがお似合いだぜ

0099デフォルトの名無しさん2022/01/18(火) 20:51:30.53ID:ORdcRN+B
そうですね

0100デフォルトの名無しさん2022/01/18(火) 21:03:16.57ID:zM0s63vx
非同期処理でasyncawait使う

↑をもちっと詳しく書くと↓

非同期処理を待ち合わせるためにasync/await使う

非同期処理の完了をawaitで待ち合わせたから順番通りに実行されたんやろ

0101デフォルトの名無しさん2022/01/20(木) 11:54:34.71ID:+/xZ0hCv
待ち合わせる ⇐これ知人にも言われたけど、全然ピンとこないんだよね…
どういうこっちゃ?状態
もうちょいちゃんと読み込んでトレーニングしないと使いこなせそうにないな…

0102デフォルトの名無しさん2022/01/20(木) 12:48:53.44ID:xHvB1DGJ
非同期処理は基本待ってくれない
awaitを付けると文字取り待ってくれる
程度のイメージ

0103デフォルトの名無しさん2022/01/21(金) 20:00:20.03ID:fPjKnmm+
async await使って動かしたい順番通りに動くようになったぜ!
csvから加工したjsonも送れるようになったぜ!
しかしforeverとかいうのがまったく動かねぇぜ!
先はなげえぜ!

0104デフォルトの名無しさん2022/02/11(金) 19:47:27.42ID:yJN6p+vI
asyncよりもpromiseのがわかりやすくね?

0105デフォルトの名無しさん2022/02/13(日) 12:14:26.10ID:D2hdCn1O
parcelってプロダクションでも使えますか?

0106デフォルトの名無しさん2022/02/24(木) 22:25:36.08ID:qAucykev
練習にnodeでコンソールアプリ作ってるんだけど2日くらい悶々としてる。
一度非同期処理に入るとフラグ管理するか全部非同期メソッドにしないとダメなんだな。

0107デフォルトの名無しさん2022/07/03(日) 22:26:50.27ID:JikZSbh4
jsdomをインストールしようとしたら
Unsupported engine
package: 'jsdom@20.0.0',
required: { node: '>=14' },
とインストールできなかった。古いjsdomのはインストールできる
Node.jsは14から一部のOSでインストールできなくなったのに、14以降でないと最新のjsdomをインストールできない

0108デフォルトの名無しさん2022/07/31(日) 02:28:27.61ID:MoxEHSGR
質問です
nodejsで自作モジュールを作って使ってるのですが、自作モジュールにも「const socket = require('websocket')」のようにモジュールを利用しています。

メインのスクリプトでnpm installしたときに自作モジュールも同じくnpm installさせたいのですが何か方法はありますか?

ちなみに、npmのスクリプトで「"install": "npm i --no-save && cd user_lib && npm i --no-save"」と記載してnpm run installした場合、メインのnpm iは実行されるのですが2つ目の自作モジュールのnpm iが失敗します。

0109デフォルトの名無しさん2022/08/08(月) 13:10:04.52ID:70CiiugU
nodejsも使ってみないとなあと思うけどWSL2で運用できるのかな?

結局仕事で使ってるPHPに戻りそうだけどJSによるWEBやDOMの操作は知ってるに越したこと無いし

0110デフォルトの名無しさん2023/02/13(月) 21:08:50.92ID:xNR1Emis
レベル低過ぎて恥ずかしいけどProgateのNode.js終えた
レッスンIとIIがとても難しくて挫折しそうになったけど周回して時間かけたら理解出来て、それからレッスンVIまでスムーズだった
レッスンIIIはMySQL組み合わせてテーブルをWEBの操作に応じて編集する内容だけどIとII分かってたら難しくない
レッスンIVはデバッグの仕方で意図的に混ぜてあるミスを直すんだがI、II、III理解してたら簡単だった
レッスンIVはexpressでログインの管理、これは難しかったし長かったけど一回で理解出来た
レッスンVIはその応用でbcryptを使いパスワードをハッシュ化させてWEB入力のパスワードと比較する内容だけどまぁ簡単だった
唯一難しかったのはejsファイルにif文書いて引数入れるとres.renderでそのejsファイルを呼び出すとこにもその引数定義しないといけないしejs側にforEach書いたらそのejsファイル呼び出すjs側にもforEachに対応したオブジェクト書かないと駄目なとこ

progateは超初心者向けだけどその中でもNode.jsは一番難しいらしくて、覚悟してたけど最初から挫折しそうになって自信無くして、でもそこ超えたらスムーズに理解出来たのがとても嬉しい😇

0111デフォルトの名無しさん2023/02/13(月) 21:09:58.76ID:xNR1Emis
次はreactやって、それからProgate卒業してreact-native勉強してAndroidアプリ作りたい

0112デフォルトの名無しさん2023/02/13(月) 21:12:44.79ID:xNR1Emis
嬉しいわ
ここの皆ならProgateのNode.jsとか鼻で笑っちゃう内容なんだろ?凄いね

0113デフォルトの名無しさん2024/04/28(日) 17:37:21.06ID:ODHLSEZy
jestが思ったように動かなくてイライラした

新着レスの表示
レスを投稿する