◎正当な理由による書き込みの削除について: 生島英之とみられる方へ:
【非同期】node.js part.1【javascript】 ->画像>1枚
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/tech/1582906877/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。
Node.js はスケーラブルなネットワークアプリケーションを構築するために設計された非同期型のイベント駆動の JavaScript 環境です。
Node.jsは最高
PHPとかRailsなんかよりよっぽど優れてるのに人気無い
優れてるけど面倒だよね
でもこれからはNode.jsが主流になると思う
RDBMSとの親和性がまだ合理化されたないから
じゃないかな
ActiveRecord導入したらいい
今ドキのwebサービス作ろうと思ったら、PHP、Python、Railsあたりはもう古い、というか無理があるからな
どれにせよリアルタイム性は必要
正直NodejsとJavaScriptとTypeScriptの違いが全然わからん
Nodejsはjs/tsを動かすエンジンみたいなモンって認識で合ってる?
【node.js】サーバサイドjavascript 5【Nashorn】
http://2chb.net/r/tech/1518528093/ >>5 どのあたりに無理があるか詳しく教えて欲しいです
>>6 絶対に必要なのが、VSCode, Node.js, yarn。
Node.js, yarn は、Ruby on Rails でも使う
TS は、JS を型付けする、トランスパイラ。
最終的には、JSへ変換して、Node.js で実行される
>>8 別に無理はない。
Ruby on Rails 6 では、Webpacker, 通知機能のNotification もサポートした
サーバー側は、Rubyで、GUI は、HTML, CSS, JS。
サーバー側に、Node.js を使うこともできるけど、Rubyの方が可読性が高いし、バグらない。
まあ、Node.js は、Rubyのコピーだから、だいたい同じだけど
Ruby + React, Vue.js とか、jQuery, Bootstrap とか
#205 Push Notifications with ActionCable
https://www.driftingruby.com/episodes/push-notifications-with-actioncable Ruby on Rails のActionCable で、
JavaScript のPush Notifications を実装する動画
>>10 5でruby pythonあたりでwebサービス作るのは古いと言っているのに、railsを押してくるのは何故ですか?
初学者なので教えて頂けると嬉しいです
>>14 railsのこと馬鹿にしてるみたいだけど、railsのどこがダメなのか教えてほしい
>>15 webアプリなんかだと、リアルタイム性を重視したり大量のアクセスを捌くならnodejsだよ
>>4 スケールの観点から流行らんだろ。
何か新しいやり方で出るまでは変に入れん方がいい。
>>15 SSR が面倒臭い
モダンなWeb開発するには力不足
>>20 railsにはapiモードがあるけど、それじゃダメなの?
app層がどんなアーキテクチャだろうと
前段にロードバランサやNGINX噛ませれば
並列化でイベント駆動になるやん
node使って鯖側のコードまでコールバック地獄に陥る必要は
ないわ
そう考えるとappサーバはrailsの方がええやろ
railsのいいところ
・モノリシック
・ruby
railsの悪いところ
・モノリシック
・ruby
node (next/nuxt) を使うのはフロントエンドのいわゆるbffなんでdbアクセスはしない
nodeはdbにアクセスするバックエンドのapiを叩くだけ
だからバックエンドにrailsでもいいんだけどapiサーバならgoでもいいよね、goの方がいいよねってのが最近の流れかな
モノリシックならrailsが強かったけどマイクロサービス(を意識)するならフロントエンドで強いnode+バックエンドで強いgoが増えてる感じ
typescriptが当たり前になってきてるように静的型チェックが好まれてきてるってのもあってruby/rails推す人は減ってる
うちのバッグエンドは相変わらずjavaだけどな
サーバー側を、JavaScript, Node.js で作るのは苦痛。
Ruby で良い
どの道、主戦場は、Docker/Kubernetes だし
こういう話をしてるんだけどね
nodeで作るのはサーバといってもbackend for frontendsのところな
ここは大部分がreactやvueをゴリゴリ使うところだからrails使っても結局jsやで
だったらnodeの方がずっといい
next/nuxtがある今は尚更
db触るapiサーバはrailsでもいいけど人気はgoでjavaでもいい(ここでnodeは使わない)
まずはこの記事でも読んでくれ
https://www.atmarkit.co.jp/ait/spv/1803/12/news012.html その上でrailsを推すならbff作るにもnodeよりrailsが向いてると言いたいのかbff不要でモノリシック最高と言いたいのか明確にしてくれ
BFFって目的が違うだけで使う技術はただのバックエンドと変わらんと思うが?
BFFがSSRにReact使うというなら、ただのバックエンドだってSSRするわけだし。
旧来のモノリシックなバックエンドでssrする場合はサーバサイド専用のテンプレート言語を使ってた
古のerbやjsp、その最たるものはphpだな
最近のssrはspaとして動くjsのコードをサーバでもそのまま使うところが違う
だから必然的にjsの実行環境がサーバサイドでも必要になる
それもあってnodeでbffを構築するのが有力な選択肢になってるわけ
railsでもreact/vueをssrできるといっても結局はhypernovaでnodeプロセスを立てるわけじゃん(hypernovaは古いのかな?知らんけど何使っても中はnodeでしょ)
だったら素直にnode使ったほうがいいよね
どうせフロントエンドの大部分はjsなんだしフロントエンドエンジニアはみんなjs書いてるんだから極々一部のために複雑な構成にしたくないしruby書きたくもない
「SSRやるならnodeが良い。」って話にBFF関係なやん、ってだけ。
べつにnodeバックエンドは否定しないよ?
いやいや、nodeはdbを捏ねるにはライブラリも実績も乏しいからbffでないバックエンドには向かないぞ
bffっていう立ち位置ができるまでnodeはサーバサイドjsではなくフロントエンドのコマンドラインツール(grant/gulpってあったな)止まりだったことを忘れたか?
は?いつの時代の話をしている?
うちのnodeバックエンドはmongoやpostgresも普通に使ってるけど?
いつの時代でも広くは使われてないだろ
お前んとこの事例がレアケースなだけで
だから「ただのバックエンド」に普通nodeは入らない
まさか、ただのnodeバックエンドよりSSR使ったBFFの方が多いとでも?
本当にそんな統計があったとしたら興味深いが。
ssrはともかくdbアクセスするバックエンドよりもしないbffの方が事例として紹介された数は断然多いと思うぞ
instagram, twitter, netflix, yahoo(us)辺りはssrもしてるbffの有名どころ、facebookはssrなしbff、airbnbがssrするbffの先駆者(もうやめてるが)、paypal, walmart, ebay, grouponとかはbffって用語が普及する前(もちろんssr以前)からその用途で使ってた
国内だとca, pixiv, recruit辺りがssrするbffの事例出してたかな
nodeをbffじゃないバックエンドって国内で有名な事例はcaくらいじゃね
>ssrはともかくdbアクセスするバックエンドよりもしないbffの方が事例として紹介された数は断然多いと思うぞ
別に珍しくもないからわざわざ紹介されんだけでは?
少なくともnodeが出て数年(10年代前半)は本番で使ってるというだけで珍しかったはずだけどもういいよ
君とは違う世界線に住んでると思ってくれ
>>27 railsはssrしているが、bffではない。
bffはbackends for frontendsだから、reactやvueなどモダンなフロントエンドのために存在するものだから
>>37 それは目的の話で
>>27も目的は違うと書いてるわけでな
>>38 目的と技術は両方とも一緒でしょ
サーバーがフロントエンドのために存在しているものが、その名の通りbffでしょ
>>39 BFFは特定のクライアントのためのAPI Gatewayを用意するアーキテクチャパターン
該当する役割を担ってるサーバー/レイヤー/コンポーネントを便宜上BFFと呼んでるだけ
BFFは目的の話でそれを実現する技術スタックとして何を使うかとは別の話
>>40 bffの目的というのはssrや特定のクライアントに対してのapi endpointの定義とかだよね?
あと、サーバー、レイヤー、コンポーネントのそれぞれの違いを教えてほしい
>>39 だとするとツッコミどころがおかしいぞ。
>>27は(目的が違うだけで)使う技術は同じだからbffとただのバックエンドを区別して考える
必要はないと言っているわけで。
27はその後のレス読むと(railsではなく)nodeバックエンドの話をしてるからややこしい
37はrailsの話してるから全然噛み合ってない気がする
node bffとnodeバックエンド:目的は違うが技術は同じ
node bffとrailsバックエンド:目的も技術も違う
サーバサイドにnode.jsをまだ使ったことないけれど、エコシステム整ってくれば既存のバックエンド言語を置き換えるくらいのポテンシャルある感じなんだ?
>>43 ここではっきりして欲しいのは目的が何を指しているのか。
みんなそれぞれが口に出している目的が違う気がする
目的に違いがあるのかもしれないがそこに意味はない→「目的」を掘り下げる意味もない
ってことなんだが。
>>49 バックエンドをnodeで開発してるけど全然辛くないよ。
何が問題だと考えてるの?
>>50 辛くない程度じゃ既存の言語を置き換える理由になるわけないだろ
逆にどれほどのアドバンテージがあるのか
>>45に教えてあげれば?
>>51 すまん
置き換えるがreplaceの意味だったのね
技術選定として視野に入るか的な意味だと思ってた
まぁ、既存のものは良くも悪くも既に動いているっていう実績あるからな。COBOLも未だに無くなってないし。
node.jsで5ch作りたいんだけれど何から始めればいいんだろう
nodeistはインストールした
因みにJavascriptはdocument.writeまで出来る
スクラッチで構築するシステムは、クラウドとの相性考慮するとnodeが第一選択肢で次にPython検討するくらいかな
AWS, Azure, GCPでスクリプト実行できるようなサービスがリリースされると、大体1~2番目にnodeが使えるようになるしね
PHP, Ruby, GoあたりはNodeに駆逐される未来しか見えない
nodeはsync化をちゃんとやってくれれば
覇権とれる
コールバックが当たり前の出てくるようなライブラリや
フレワがのさばってる以上は避けられ続ける
async/awaitが標準的に支えればいいよね。
deno使おう
Deno応援する
はやくNodeを駆逐してほしいわ
応援するならまずはdenoスレ立てろや口だけ野郎が!
COD:MW ODEN
低レートだが高威力なこいつで狩るのは嫌いじゃない
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
フロントエンドのnode.jsでフォームを連動させたいんだけど
チュートリアルとかサンプルを教えてクレメンス
一つのセレクトメニューを選んだら、もう一つのセレクトメニューも連動して選択される。
みたいなやつ
「node.js フォーム 連動」
とかでもあまり情報無いし・・
node js からシステムデフォルトのファイルエクスプローラで指定フォルダなりファイルなりを表示したい場合って、
os 別に場合分けするしかないんか…?
用意されてたり、用意されてるライブラリだったりはない感じですかね
>>67 fsっていうライブラリがbult inで入ってる
そういうことね
nodejsはサーバーサイドで利用するフレームワークだからguiを使用するような実装するは無理そう
election nwとか使うんだったらhtmlでええやん
html使えば指定ファイルをシステムデフォルトのファイルマネージャーで開けるの?
ファイルマネージャーもいいけど、頼むから ドラッグ&ドロップ にも対応しておいてね。
Electronなら独自APIにelectron.shell.showItemInFolderというのがあるけどnode.js自体にはない
https://www.npmjs.com/package/open-file-explorer これなんかも結局OS別にspawnしてるしなぁ
Boost.asio使ってるのでlibuvはかぶってますしねえ。
Goと比較した場合のAPIサーバーを作る場合のメリットを教えて。フロントはvueを使っている
バックエンドで prisma とかを使う場合、フロントと型を共有できる。
一つの言語で書くことができる
それくらいしかないと思う。
>>81 あざます
なるほど、 あとはlodashとかあるしコレクション操作がGoより簡単とか?
webフロントしかいじれない人にAPIを短期間で開発してもらう必要があって
TS + node.jsでやってもらおうかと思ったけど
今の会社のAPIがほぼGoでできてるから、どうしたものか悩ましかったんすよねぇ。
Prisma名前しか知らなかったけどいいすねぇ。すでにプロダクション環境で使われるレベルなのかな。
loadash 相当のライブラリは go にもあるだろうからそれが理由で ts / js を採用するのは良くないかも。
でもフロントしか経験がない人間に任せるとしたら ts nodeの組み合わせでいいと思う。
あるある技術構成は
express or fastify / prisma / firebase auth
になるかな。
apiサーバーとしてのパフォーマンス要件が特にない場合は prisma 使えばいいと思うよ。
>>83 あざます。参考になる・・。
ここでのprismaは TypeORMと同じ立ち位置?
リレーションを使ったときにタイプセーフになる(らしい)のはいいなぁ。
type ormと同じ立ち位置だけど、厳密には色々ちがう
https://www.prisma.io/docs/concepts/more/comparisons/prisma-and-typeorm ↑に type orm との比較が書いてある。少しだけ複雑なアプリケーションを両方を使用して書けばprismaのメリットがわかると思う
>>84 めちゃくちゃ遅レスだけど、ありがとう
prismaを管理画面で試験的に使い始めたけどいい感じですわ。
非同期で得するのは、ネットワークへファイルを送り出すときくらいのような気がするのですよ。
音声再生のライブラリ漁ってみたがあんまり良いのないのね…
コマンドラインツールに音声ファイル丸投げするような感じのやつばっかり
ってか、VSCode の Extension で音だすやつ片っ端から何使ってるのか見たけど、
少なくとも Windows 環境では全部コマンドラインツールに丸投げして音声再生してた
マルチスレッドで多重再生するみたいなの Java で作ってたんだけど、そういうのは難しそうなのかな
js 自体がシングルスレッドだから、別プロセスの何かに頼るしかないんだろうけど
今はworker_threadがあるからマルチスレッド使えるぞ
ネイティブ(c/c++)アドオン作るのがめんどいんじゃね
今やりたいのは、単純な通知音ですね
ただ、音って割といろいろな場面で使うので、
ある程度使い回しの効くライブラリがあるといいなと思って調べてました
音が何個かかぶっても、汚い音にならないといいかなーと
イメージ的には下みたいな感じの事ができると嬉しいです
ファイル名指定するだけお手軽再生
メモリ上にいつロードするかを指定(ストリーム or プリロード)
1つの音声ファイルに対して多チャンネル割当できて、多重再生できる
チャンネル番号(スレッド)ごとに再生、ストップ、ループ、回数指定ループ
sync / async 両対応
タイプ音とかゲームの効果音なんかは、
別プロセスにファイル名指定で投げるのってかなり非効率で、
音源管理のスレッドでプリロードしておいて、
後はそのロードしたデータを毎回再生しにいくだけの方がいいかなと思うのですよ
そういう効率的な再生ライブラリは Node.js には見当たらないなーと思いまして
(喫緊の通知音だけに関してみるとあれですけど)
ウェブサイトのHTML取得までできたが、その中身のtdタグとかの内容取得がわからん
ネットでちょっと調べてcherio使うまでは分かったが
初心者向けの本買えば載ってるかなやりかた
伝助のデータ取得したいだけなんだが
EJSとやらを少しいじってまあ面白いなあと
しかしサーバー関連って毎回バケツの底ぶち抜くようなもんで
個人のPCでやるのは度胸いるなあ
勘違いしてたらスマンなんだが教えてくれ。
jsってボケボケテキトーに書いてたらめちゃくちゃな順番で実行されてくんだけど、async/await使うとキッチリ順番通りに動いていくってことであってる?
特定のファイル名のcsvファイルを再起処理で探してきて、jsonに変換して送信するって処理書いてみたんだけど…
順番に実行してもらいたいところにasyncawait付け足してったらうまく動いたからさ。
ググると「非同期処理でasyncawait使う」って書いてあるのにasyncawait使ったら順番通りに実行されたから混乱してしまって。
js難しすぎん?
vbaしか書いたことないからハァ~さっぱりさっぱり!
やっぱり俺にはエクセルvbaがお似合いだぜ
非同期処理でasyncawait使う
↑をもちっと詳しく書くと↓
非同期処理を待ち合わせるためにasync/await使う
非同期処理の完了をawaitで待ち合わせたから順番通りに実行されたんやろ
待ち合わせる ⇐これ知人にも言われたけど、全然ピンとこないんだよね…
どういうこっちゃ?状態
もうちょいちゃんと読み込んでトレーニングしないと使いこなせそうにないな…
非同期処理は基本待ってくれない
awaitを付けると文字取り待ってくれる
程度のイメージ
async await使って動かしたい順番通りに動くようになったぜ!
csvから加工したjsonも送れるようになったぜ!
しかしforeverとかいうのがまったく動かねぇぜ!
先はなげえぜ!
asyncよりもpromiseのがわかりやすくね?
練習にnodeでコンソールアプリ作ってるんだけど2日くらい悶々としてる。
一度非同期処理に入るとフラグ管理するか全部非同期メソッドにしないとダメなんだな。
jsdomをインストールしようとしたら
Unsupported engine
package: 'jsdom@20.0.0',
required: { node: '>=14' },
とインストールできなかった。古いjsdomのはインストールできる
Node.jsは14から一部のOSでインストールできなくなったのに、14以降でないと最新のjsdomをインストールできない
質問です
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が失敗します。
nodejsも使ってみないとなあと思うけどWSL2で運用できるのかな?
結局仕事で使ってるPHPに戻りそうだけどJSによるWEBやDOMの操作は知ってるに越したこと無いし
レベル低過ぎて恥ずかしいけど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は一番難しいらしくて、覚悟してたけど最初から挫折しそうになって自信無くして、でもそこ超えたらスムーズに理解出来たのがとても嬉しい😇
次はreactやって、それからProgate卒業してreact-native勉強してAndroidアプリ作りたい
嬉しいわ
ここの皆ならProgateのNode.jsとか鼻で笑っちゃう内容なんだろ?凄いね
httpサーバをexpressからhonoに変えてみた
性能差がわかるほどのことはまだしてない
lud20250619062524このスレへの固定リンク: http://5chb.net/r/tech/1582906877/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。
TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像
↓「【非同期】node.js part.1【javascript】 ->画像>1枚 」を見た人も見ています:
・Rust vs Go
・Androidプログラミング質問スレ revision53
・【マック】Macintoshプログラミング質問箱
・松尾豊さん以外に人工知能で有名な日本人研究者
・【統計分析】機械学習・データマイニング27
・C/C++の宿題片付けます 170代目
・React と React Native のスレ
・WPF(.NET, WinUI) GUIプログラミング Part26
・C# vs Java どっちが好き? その5
・C# vs Java どっちが好き? その3
・intel xdk HTML5 アプリケーション 無償のエミュ
・プログラミングのお題スレ Part21
・プログラム板へのID導入の投票実施中 月曜0:00まで
・【マウスだけで】Scratch【プログラミング】その1
・C#, C♯, C#相談室 Part96
・Git 19
・BigQueryが非構造化データに対応。ユニケージ終焉へ
・なぜ競プロ信者は遊びは遊びと割り切れないのか
・エビデンスは役に立たない。再現手順をもってこい。
・JS初心者の集まるスレ
・★★Java質問・相談スレッド172★★
・iphone6とmacbookpro(2015)ってまだ現役?
・Visual Studio 2019 Part2
・Visual Studio 2019 Part5
・Google Cloud Platformでシステム開発
・くだすれFORTRAN(超初心者用)その7
・VB.NET質問スレ(Part43)
・Visual Studio Code / VSCode Part4
・日本語プログラミング言語Mind
・5chみたいな掲示板を立てたい!
・【統計分析】機械学習・データマイニング33
・ノーコードが破綻。これからはRADツールの時代
・Java⇔RDBのMapping-Frameworkを語るスレ Vol.6
・■暗号技術【ROUNDπ】■
・How to do Math in programming
・最近学校の顧問に頼まれたプログラムのこと。
・ビルド自動化ツールCMake Part.1
・Excel VBA 質問スレ Part73
・C#は糞2.0
・【コボル】COBOL不要論【ただのDSLだよね?】
・ふらっと C#,C♯,C#(初心者用) Part153
・Q# 【量子プログラミング】
・次世代言語Part7[Go Rust Swift Kotlin TypeScript]
・Java入門・初心者質問スレ Part.8
・racket/opencvについて分かる方教えてください
・Hello Worldってなんですか?
・どのレベルならプログラミング出来ると言っていい?
・Reactでチャット掲示板を作っていくスレ
・BITCOIN ビットマイニング始めました BTC
・オンライン投票が不可能な理由 理解できない無能IT技術者
・各言語の記法と用語の変換スレ
・COBOL?極めてやんよ シュッシュ!!
・Android Studio 2
・Boost C++ Libraries Sandbox
・インタープリター言語スレ。
・★初心者以前の質問に雪崩のように答えるスレ 3★
・くだすれDelphi(超初心者用)その58【Embarcadero】
・文字コードの種類は何故複数あるのでしょうか?
・【分散型バージョン管理】 Mercurial 2【hg】
・ビッグデータを活用しても新しいことはわからない
・アプレットとは何だったのか?
・Android開発質問スレ Part2
・掲示板をapacheで外部公開したいです
・java初めてみたいんだがさっぱり分からん
・【クラウド】Cloud9【IDE】
16:24:27 up 65 days, 17:23, 0 users, load average: 10.88, 9.92, 9.83
in 0.05705714225769 sec
@0.05705714225769@0b7 on 062205
|