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

1デフォルトの名無しさん
垢版 |
2020/02/29(土) 01:21:17.89ID:JruiHcgf
Node.js はスケーラブルなネットワークアプリケーションを構築するために設計された非同期型のイベント駆動の JavaScript 環境です。
2020/02/29(土) 04:35:56.03ID:n2ON3dY7
Node.jsは最高
PHPとかRailsなんかよりよっぽど優れてるのに人気無い
3デフォルトの名無しさん
垢版 |
2020/02/29(土) 16:38:59.09ID:JruiHcgf
優れてるけど面倒だよね
でもこれからはNode.jsが主流になると思う
4デフォルトの名無しさん
垢版 |
2020/02/29(土) 21:31:49.87ID:9pINuHMo
RDBMSとの親和性がまだ合理化されたないから
じゃないかな
ActiveRecord導入したらいい
5デフォルトの名無しさん
垢版 |
2020/03/01(日) 00:42:33.97ID:RW98tzZT
今ドキのwebサービス作ろうと思ったら、PHP、Python、Railsあたりはもう古い、というか無理があるからな
どれにせよリアルタイム性は必要
2020/03/02(月) 04:44:44.15ID:OQeo0UJR
正直NodejsとJavaScriptとTypeScriptの違いが全然わからん
Nodejsはjs/tsを動かすエンジンみたいなモンって認識で合ってる?
2020/03/02(月) 05:54:42.20ID:qNk/7rd3
【node.js】サーバサイドjavascript 5【Nashorn】
https://mevius.5ch.net/test/read.cgi/tech/1518528093/
8デフォルトの名無しさん
垢版 |
2020/03/03(火) 01:16:46.98ID:RK9bRFjX
>>5
どのあたりに無理があるか詳しく教えて欲しいです
2020/03/03(火) 02:03:41.61ID:+zH5n5rm
>>6
絶対に必要なのが、VSCode, Node.js, yarn。
Node.js, yarn は、Ruby on Rails でも使う

TS は、JS を型付けする、トランスパイラ。
最終的には、JSへ変換して、Node.js で実行される
2020/03/03(火) 02:13:36.25ID:+zH5n5rm
>>8
別に無理はない。
Ruby on Rails 6 では、Webpacker, 通知機能のNotification もサポートした

サーバー側は、Rubyで、GUI は、HTML, CSS, JS。
サーバー側に、Node.js を使うこともできるけど、Rubyの方が可読性が高いし、バグらない。
まあ、Node.js は、Rubyのコピーだから、だいたい同じだけど

Ruby + React, Vue.js とか、jQuery, Bootstrap とか
1110
垢版 |
2020/03/03(火) 02:28:51.71ID:+zH5n5rm
#205 Push Notifications with ActionCable
https://www.driftingruby.com/episodes/push-notifications-with-actioncable

Ruby on Rails のActionCable で、
JavaScript のPush Notifications を実装する動画
12デフォルトの名無しさん
垢版 |
2020/03/03(火) 03:49:50.53ID:RK9bRFjX
>>10
5でruby pythonあたりでwebサービス作るのは古いと言っているのに、railsを押してくるのは何故ですか?
初学者なので教えて頂けると嬉しいです
13デフォルトの名無しさん
垢版 |
2020/03/05(木) 14:41:44.14ID:Bx6woUWz
熱く語っていた大先生方が消えてしまって悲しい
14デフォルトの名無しさん
垢版 |
2020/03/08(日) 20:19:56.01ID:IdJ+CGw6
レwwレイルズwwww
15デフォルトの名無しさん
垢版 |
2020/03/09(月) 01:44:20.76ID:U5LTwjE0
>>14
railsのこと馬鹿にしてるみたいだけど、railsのどこがダメなのか教えてほしい
16デフォルトの名無しさん
垢版 |
2020/03/09(月) 03:06:42.31ID:vLcN6ouJ
レwwレイノルズwwww
17デフォルトの名無しさん
垢版 |
2020/03/12(木) 00:21:36.55ID:b7X35fjy
とにかくめんどくせえわ
18デフォルトの名無しさん
垢版 |
2020/03/14(土) 15:56:43.66ID:yrnKANNG
>>15
webアプリなんかだと、リアルタイム性を重視したり大量のアクセスを捌くならnodejsだよ
2020/03/14(土) 16:37:00.94ID:JKHuUiBu
>>4
スケールの観点から流行らんだろ。
何か新しいやり方で出るまでは変に入れん方がいい。
20デフォルトの名無しさん
垢版 |
2020/03/23(月) 20:24:04.69ID:ix755EXZ
>>15
SSR が面倒臭い
モダンなWeb開発するには力不足
21デフォルトの名無しさん
垢版 |
2020/03/23(月) 21:41:38.05ID:cJV+8t/A
>>20
railsにはapiモードがあるけど、それじゃダメなの?
22デフォルトの名無しさん
垢版 |
2020/03/27(金) 23:08:28.41ID:YevT+Fte
app層がどんなアーキテクチャだろうと
前段にロードバランサやNGINX噛ませれば
並列化でイベント駆動になるやん
node使って鯖側のコードまでコールバック地獄に陥る必要は
ないわ
そう考えるとappサーバはrailsの方がええやろ
2020/03/27(金) 23:39:03.67ID:AqwAi9WP
railsのいいところ
・モノリシック
・ruby

railsの悪いところ
・モノリシック
・ruby

node (next/nuxt) を使うのはフロントエンドのいわゆるbffなんでdbアクセスはしない
nodeはdbにアクセスするバックエンドのapiを叩くだけ
だからバックエンドにrailsでもいいんだけどapiサーバならgoでもいいよね、goの方がいいよねってのが最近の流れかな
モノリシックならrailsが強かったけどマイクロサービス(を意識)するならフロントエンドで強いnode+バックエンドで強いgoが増えてる感じ
typescriptが当たり前になってきてるように静的型チェックが好まれてきてるってのもあってruby/rails推す人は減ってる
うちのバッグエンドは相変わらずjavaだけどな
24デフォルトの名無しさん
垢版 |
2020/03/28(土) 02:32:46.37ID:nJtnxZBj
>>23
なるほど!!わかりやすい説明ありがとう
2020/03/28(土) 14:25:46.82ID:lvHGCPQW
サーバー側を、JavaScript, Node.js で作るのは苦痛。
Ruby で良い

どの道、主戦場は、Docker/Kubernetes だし
2020/03/28(土) 15:04:34.69ID:cEdnldjA
こういう話をしてるんだけどね
https://image.itmedia.co.jp/ait/articles/1803/12/news012_06.jpg

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不要でモノリシック最高と言いたいのか明確にしてくれ
2020/03/28(土) 15:52:46.92ID:0D5kTPqj
BFFって目的が違うだけで使う技術はただのバックエンドと変わらんと思うが?
BFFがSSRにReact使うというなら、ただのバックエンドだってSSRするわけだし。
2020/03/28(土) 16:22:33.70ID:cEdnldjA
旧来のモノリシックなバックエンドでssrする場合はサーバサイド専用のテンプレート言語を使ってた
古のerbやjsp、その最たるものはphpだな
最近のssrはspaとして動くjsのコードをサーバでもそのまま使うところが違う
だから必然的にjsの実行環境がサーバサイドでも必要になる
それもあってnodeでbffを構築するのが有力な選択肢になってるわけ
railsでもreact/vueをssrできるといっても結局はhypernovaでnodeプロセスを立てるわけじゃん(hypernovaは古いのかな?知らんけど何使っても中はnodeでしょ)
だったら素直にnode使ったほうがいいよね
どうせフロントエンドの大部分はjsなんだしフロントエンドエンジニアはみんなjs書いてるんだから極々一部のために複雑な構成にしたくないしruby書きたくもない
2020/03/28(土) 16:27:26.03ID:0D5kTPqj
「SSRやるならnodeが良い。」って話にBFF関係なやん、ってだけ。
べつにnodeバックエンドは否定しないよ?
2020/03/28(土) 16:43:39.28ID:cEdnldjA
いやいや、nodeはdbを捏ねるにはライブラリも実績も乏しいからbffでないバックエンドには向かないぞ
bffっていう立ち位置ができるまでnodeはサーバサイドjsではなくフロントエンドのコマンドラインツール(grant/gulpってあったな)止まりだったことを忘れたか?
2020/03/28(土) 17:10:15.44ID:0D5kTPqj
は?いつの時代の話をしている?
うちのnodeバックエンドはmongoやpostgresも普通に使ってるけど?
2020/03/28(土) 17:26:36.88ID:cEdnldjA
いつの時代でも広くは使われてないだろ
お前んとこの事例がレアケースなだけで
だから「ただのバックエンド」に普通nodeは入らない
2020/03/28(土) 17:37:38.75ID:0D5kTPqj
まさか、ただのnodeバックエンドよりSSR使ったBFFの方が多いとでも?
本当にそんな統計があったとしたら興味深いが。
2020/03/28(土) 18:07:38.88ID:cEdnldjA
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くらいじゃね
2020/03/28(土) 18:44:55.87ID:0D5kTPqj
>ssrはともかくdbアクセスするバックエンドよりもしないbffの方が事例として紹介された数は断然多いと思うぞ

別に珍しくもないからわざわざ紹介されんだけでは?
2020/03/28(土) 18:58:26.38ID:cEdnldjA
少なくともnodeが出て数年(10年代前半)は本番で使ってるというだけで珍しかったはずだけどもういいよ
君とは違う世界線に住んでると思ってくれ
37デフォルトの名無しさん
垢版 |
2020/03/29(日) 14:33:20.38ID:H6lf9IPA
>>27
railsはssrしているが、bffではない。
bffはbackends for frontendsだから、reactやvueなどモダンなフロントエンドのために存在するものだから
2020/03/29(日) 15:58:34.26ID:/30xRyv+
>>37
それは目的の話で>>27も目的は違うと書いてるわけでな
39デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:00:10.33ID:H6lf9IPA
>>38
目的と技術は両方とも一緒でしょ

サーバーがフロントエンドのために存在しているものが、その名の通りbffでしょ
2020/03/29(日) 18:34:46.34ID:a0L6N7lT
>>39
BFFは特定のクライアントのためのAPI Gatewayを用意するアーキテクチャパターン
該当する役割を担ってるサーバー/レイヤー/コンポーネントを便宜上BFFと呼んでるだけ

BFFは目的の話でそれを実現する技術スタックとして何を使うかとは別の話
41デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:44:15.05ID:H6lf9IPA
>>40
bffの目的というのはssrや特定のクライアントに対してのapi endpointの定義とかだよね?

あと、サーバー、レイヤー、コンポーネントのそれぞれの違いを教えてほしい
2020/03/29(日) 18:51:50.89ID:alUIuZRB
それくらいググれよ……
2020/03/29(日) 18:54:02.46ID:ryRl/n6a
>>39
だとするとツッコミどころがおかしいぞ。
>>27は(目的が違うだけで)使う技術は同じだからbffとただのバックエンドを区別して考える
必要はないと言っているわけで。
2020/03/29(日) 19:06:04.34ID:yWcv+yMY
27はその後のレス読むと(railsではなく)nodeバックエンドの話をしてるからややこしい
37はrailsの話してるから全然噛み合ってない気がする

node bffとnodeバックエンド:目的は違うが技術は同じ
node bffとrailsバックエンド:目的も技術も違う
2020/03/29(日) 19:18:11.09ID:oXSmQy6i
サーバサイドにnode.jsをまだ使ったことないけれど、エコシステム整ってくれば既存のバックエンド言語を置き換えるくらいのポテンシャルある感じなんだ?
46デフォルトの名無しさん
垢版 |
2020/03/29(日) 19:20:02.24ID:AGiPFrpB
>>43
ここではっきりして欲しいのは目的が何を指しているのか。

みんなそれぞれが口に出している目的が違う気がする
2020/03/29(日) 19:27:04.31ID:azSf2dbM
(ダメだこいつ・・・)
2020/03/29(日) 19:30:17.50ID:ryRl/n6a
目的に違いがあるのかもしれないがそこに意味はない→「目的」を掘り下げる意味もない
ってことなんだが。
2020/03/29(日) 20:23:03.93ID:d2xFjdux
>>45
いいえ
50デフォルトの名無しさん
垢版 |
2020/04/04(土) 01:57:12.17ID:sQk2k7c/
>>49
バックエンドをnodeで開発してるけど全然辛くないよ。
何が問題だと考えてるの?
2020/04/04(土) 02:48:49.28ID:fEES17HX
>>50
辛くない程度じゃ既存の言語を置き換える理由になるわけないだろ
逆にどれほどのアドバンテージがあるのか>>45に教えてあげれば?
52デフォルトの名無しさん
垢版 |
2020/04/04(土) 03:05:51.42ID:sQk2k7c/
>>51
すまん
置き換えるがreplaceの意味だったのね
技術選定として視野に入るか的な意味だと思ってた
53デフォルトの名無しさん
垢版 |
2020/04/09(木) 15:09:19.88ID:rF1HV24F
まぁ、既存のものは良くも悪くも既に動いているっていう実績あるからな。COBOLも未だに無くなってないし。
2020/04/13(月) 21:32:21.61ID:y5NxMLkd
node.jsで5ch作りたいんだけれど何から始めればいいんだろう
nodeistはインストールした

因みにJavascriptはdocument.writeまで出来る
2020/05/03(日) 02:46:18.30ID:KiTmHFZB
スクラッチで構築するシステムは、クラウドとの相性考慮するとnodeが第一選択肢で次にPython検討するくらいかな
AWS, Azure, GCPでスクリプト実行できるようなサービスがリリースされると、大体1〜2番目にnodeが使えるようになるしね
56デフォルトの名無しさん
垢版 |
2020/05/05(火) 16:21:46.44ID:KGrK8SBQ
PHP, Ruby, GoあたりはNodeに駆逐される未来しか見えない
57デフォルトの名無しさん
垢版 |
2020/05/15(金) 22:59:31.26ID:fJGpkBrc
nodeはsync化をちゃんとやってくれれば
覇権とれる
コールバックが当たり前の出てくるようなライブラリや
フレワがのさばってる以上は避けられ続ける
2020/05/17(日) 15:53:55.99ID:pmJJj293
async/awaitが標準的に支えればいいよね。
deno使おう
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況