[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2ch.scのread.cgiへ]
Update time : 11/23 00:48 / Filesize : 116 KB / Number-of Response : 460
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Vue vs React vs Angular vs Svelte Part.11



1 名前:デフォルトの名無しさん mailto:sage [2022/08/20(土) 13:17:12.21 ID:OuD+ytSs0.net]
!extend:on:vvvvv:1000:512

Vue
https://jp.vuejs.org/
React
https://reactjs.org/
Angular
https://angular.io/
Svelte
https://svelte.dev/
solid.js
https://www.solidjs.com/


※前スレ
Vue vs React vs Angular vs Svelte Part.8
https://mevius.5ch.net/test/read.cgi/tech/1621744952/
Vue vs React vs Angular vs Svelte Part.9
https://mevius.5ch.net/test/read.cgi/tech/1642316774/
Vue vs React vs Angular vs Svelte Part.10
https://mevius.5ch.net/test/read.cgi/tech/1646747836/

★ここではjQuery, Ruby, C#, Blazorの話題は禁止です
★jQuery, Ruby, C#, Blazorキチガイが書き込んでも無視してください
Next, Nuxt, Sapper, Gatsby, VuePress, RedWoodなどはおk。
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured

255 名前:デフォルトの名無しさん [2024/09/20(金) 14:18:57.18 ID:ZOd0SPdka.net]
どんだけ取り繕ってもjavascriptが糞だという事実に変わりは無い
rubyもperlも糞

256 名前:デフォルトの名無しさん mailto:sage [2024/09/20(金) 15:32:49.35 ID:0HZwQuWgp.net]
スクリプト自体が糞だから仕方ない

257 名前:デフォルトの名無しさん (ワッチョイ e3ba-4vSm) mailto:sage [2024/09/22(日) 09:48:00.74 ID:hABY1nGb0.net]
どこにでもいる、サッカー代表どこが最強とか論議してる中、野球の方が面白いとか言い出す、社会の不適合者。人間フォーマットか脳みそデバッグ必要なアタオカは相手にするだけ無意味。さあ、俺もそろそろRemix勉強しようか

258 名前:デフォルトの名無しさん (ワッチョイ e3ba-4vSm) mailto:sage [2024/09/22(日) 10:26:35.95 ID:hABY1nGb0.net]
>>206
Vueはもともとフォーム周りを簡潔にするために生み出された技術であって、決して初心者向けとは言い切れない。様々なステート管理にメソッドやら算出プロパティやら独自のライブラリを駆使するのと、それを駆使するにはある程度経験とコツがいる。なんだかんだで、複雑なフックの仕組みさえ極めればJavaScriptの延長線で書けてステート管理が一本線のReactの方が簡単という人もいる

スパゲッティ確実でパフォーマンス無視だが、Vueは実はメソッドだけで書けたりする

259 名前:デフォルトの名無しさん mailto:sage [2024/09/22(日) 10:55:33.23 ID:kPNeBJFx0.net]
>>206
javascriptが特殊な言語で使いにくいからどうしてもVueみたいになってしまうんだよ
他の言語ならもっと簡素で簡潔に書けるんだけど

260 名前:デフォルトの名無しさん mailto:sage [2024/09/23(月) 12:45:02.08 ID:kXVPwjR50.net]
vueは2~3周りの変革がググらビリティ下げてて初心者に逆にキツくなってるのが良くない
時間が解決するとは思うけど、ねえ
optionsAPIで突き進むのも差別化的にはよかったろうに、けど時流に沿うのもわからなくもないからなあ

261 名前:デフォルトの名無しさん mailto:sage [2024/09/23(月) 13:39:10.98 ID:oa5eY4290.net]
Vueのググラビリティが低いのは中国が主戦場なせいだろう
我々日本人からするとコミュニティを置き去りにして大改造を続けてるように見えるけど、中華圏の中から見ればそうでもないのかもね

262 名前:デフォルトの名無しさん mailto:sage [2024/09/23(月) 13:53:57.31 ID:ZAvpVZgFH.net]
vueは好きじゃないけどパフォーマンスの改革がすごい
今ではsvelteと変わらんくらいのパフォーマンスになってる
あとnuxtの話になるけどunjsが良い

263 名前:デフォルトの名無しさん mailto:sage [2024/09/23(月) 18:01:38.02 ID:kRT830++0.net]
Next.jsよりHonoがすげえ伸びてるよな
開発者一人だけっぽいけど大丈夫なのか?



264 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 12:53:38.69 ID:25SVKRoU0.net]
>>235
pythonでいいし

265 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 12:53:56.13 ID:25SVKRoU0.net]
>>263
趣味ならいいんじゃね?

266 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 12:54:47.28 ID:25SVKRoU0.net]
>>262
好きじゃないけど慣れちゃうとこれでいいかとなってしまう
フロントエンドなんてどうせ作り直す想定なんだし

267 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 12:55:15.04 ID:25SVKRoU0.net]
>>261
ググることなんてあるか?
ChatGPTで十分だろ

268 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 12:55:32.57 ID:25SVKRoU0.net]
>>260
ChatGPTで困らない

269 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 12:57:04.04 ID:25SVKRoU0.net]
>>259
多少面倒でもReactみたいに統一的な書き方ができる方が良いことに気がついた時には手遅れだった

270 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 12:57:43.99 ID:25SVKRoU0.net]
>>258
マジで超単純なフォーム系のWebをサクッと作る用途に向いてるよね
ちょっとややこしいことすると破綻する

271 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 12:58:18.09 ID:25SVKRoU0.net]
>>257
Remixもビミョー

272 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 12:58:46.23 ID:25SVKRoU0.net]
>>255
クソだけどあるものからしか選べないのよね

273 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 12:59:11.60 ID:25SVKRoU0.net]
>>250
ゴミでもやるしかないんだよ



274 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 14:46:15.54 ID:4ZTe9NQw0.net]
そもそもAIの時代になってもはやUIというものが無くなるからjavascriptもだんだん使われなくなっていくだろうな

275 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 15:46:19.24 ID:25SVKRoU0.net]
5年以内には画像から完全なフロントエンド実装を作るツールが生まれるのは間違いないだろうけど
フロントエンドもサーバーサイドに回帰してるから結局コード書けないとダメ

276 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 15:47:43.57 ID:25SVKRoU0.net]
wasm gcが入るとほとんどの言語がwasmコンパイル可能になるから
新たなエデンが生まれると思う

277 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 17:31:42.29 ID:jWNJpVja0.net]
>>276
そうか?
デスクトップソフトですらweb技術で作られることが多くなった時代なのに

278 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 18:07:06.89 ID:FmaiGP410.net]
ガワはだいたいReactだね

279 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 18:49:58.49 ID:25SVKRoU0.net]
>>277
言語に縛られないからその点は良いよ
wasm対応の好きな言語を選べるようになると素晴らしい
まあ流行らなかったらキツいけど

280 名前:デフォルトの名無しさん mailto:sage [2024/09/24(火) 23:11:17.46 ID:vg4kYONk0.net]
>>275
> フロントエンドもサーバーサイドに回帰してるから結局コード書けないとダメ

回帰ってのはどういう意味?

281 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 00:05:02.99 ID:rLLrPC9L0.net]
サーバーサイドレンダリングのことじゃねえの?
古のMVCから変わってクライアントサイドでレンダリングするようになっていったかと思えば今度はまたNextのAppRouterよろしくSSR(orSSG)になったりと忙しない業界よな

282 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 00:09:03.70 ID:UXiRrgGj0.net]
>>281
単にWebベースのクライアントアプリの事を言ってると思う

283 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 15:20:38.11 ID:KipVgYfg0.net]
まさにサーバーサイドレンダリングのことだ
結局コンポーネントに必要なデータはサーバーで取得した方が早いよねということにフロントエンドの人が気がついて
サーバーサイドの人は今更何言ってるの?みたいなる空気感
コードの共有がそれほど意味があるとは思えないし
サーバーサイドは別の速い言語で作れば良くね?って思うけどね



284 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 15:22:37.11 ID:KipVgYfg0.net]
最近はフロントエンドの人がサーバー側に口出ししてきて
今更ORMガーとか言ってて昭和かと
こっちはORM地獄を10年以上前に経験してウンザリしてるんだよ

285 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 15:45:33.76 ID:EcYO77Ak0.net]
とサーバーしかしらん無知君が吠えてます
こいつ勘違いしてるというより無知だから今までのサーバーサイドレンダリングと同じだと思ってるらしい

286 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:31:31.44 ID:KipVgYfg0.net]
Twitterで騒いでるフロントエンドインフルエンサー()の方々はCSの知識がないのに調子乗ってるから本質が掴めてないんだよな
SSRなんて変な名前つけちゃってからに

287 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:35:31.76 ID:KipVgYfg0.net]
>>285
その発言はサーバーサイド何もわかってませんと言ってるようなもの

288 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:39:07.42 ID:EcYO77Ak0.net]
>>287
何もわかってませんってなんだ?
ずっとサーバーサイドの開発も散々してきてるが
お前はフロントエンドを何も理解してねえから無知晒してんだろw
マジで恥ずかしいレスだったわww

289 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:41:31.67 ID:KipVgYfg0.net]
>>288
匿名掲示板でそんなイキリをして恥ずかしくないのか?
それをどうやって確認するんだよ
確認できないようなことでイキるな
発言内容だけしか見ないんだよ

290 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:42:50.66 ID:KipVgYfg0.net]
あ、名前と所属晒すなら信じてやるけど?

291 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:46:02.20 ID:EcYO77Ak0.net]
>>289
何度読み返してもこれほどの無知はこのスレにはいねえわw
久しぶりにサーバーサイドおじさんが勝ち誇ったと思ったら実際はただの無知でしたってオチだったww

少しは勉強してから来てくれるか

292 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:47:50.81 ID:KipVgYfg0.net]
>>281
フロントエンドが「これからはレンダリングはこっちでやりまっせ」みたいなノリでこっちはもうAPIだけ作ればいいのかラクチンだーと思ってたら
いきなりサーバーサイドに土足で踏み込んできて
NextダーRemixダー言い出してもうめちゃくちゃだよ

293 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:48:40.15 ID:KipVgYfg0.net]
>>291
何も言ってないのと同じ
やりなおし



294 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:50:33.98 ID:KipVgYfg0.net]
ワイらがNext.jsの運用もやりまっせ!からの面倒だからVercel使いますと言われた日には我々の怒りもピークだよ

295 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:53:47.88 ID:KipVgYfg0.net]
中身のないイキリレスだけしたいなら消えてくれないか?
不愉快だし境界知能のADHDに構ってるほど暇じゃないんだ
そもそもがレスバでも俺には勝てない
感情のコントロールもできないやつの発言なんて聞くわけがないだろう
何度もいうが発言の中身だけしかみない
匿名掲示板はそういうところだ

296 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 16:57:48.51 ID:EcYO77Ak0.net]
なんだこいつ
レス連投のキチガイか
理解できないなら使わなきゃいいだろ

297 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 19:02:29.97 ID:5Vhwl/nZ0.net]
連投ちゃん増えたな

298 名前:デフォルトの名無しさん (ワッチョイ 1f64-L8o3) mailto:sage [2024/09/25(水) 19:06:11.81 ID:UXiRrgGj0.net]
>>283
それはないね

299 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 20:19:06.11 ID:W1zkzLQM0.net]
>>296
ケンカを売ってきたのはお前だろ

300 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 20:19:58.50 ID:W1zkzLQM0.net]
技術者なら中身のある批判をかけ
書けないなら黙ってろ

301 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 20:28:21.84 ID:Mp8Xmxrz0.net]
あー、、
そもそも最近のSSRやらSSGは普通DB操作まではやらんでしょ?

最近の豪華絢爛なUIを何でもかんでもクライアント側でレンダリングできるようにすると、そのレンダリングのためのコードで転送量が爆裂する上、
クライアント側の処理能力も問題になってくるからサーバーでレンダリングした結果を渡した安定するよねって流れだと思うよ
だから相変わらずAPIは提供してやる必要がある

ぶっちゃけ、処理効率を突き詰めていくとjsonやらxml吐き出すAPI叩いて結果からレンダリングしてみたいなバケツリレーのようなマネするよか、そのままAPIから直接html吐き出した方が処理効率はいいけどね
職務分掌の意味合いが強いと思う

302 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 21:10:16.58 ID:EcYO77Ak0.net]
>>300
>>301
こいつらも何もわかってなくてワロタw

そもそもコイツ↓のこのレスみて無知無能さがマジでわかるだろw
>>283
> コードの共有がそれほど意味があるとは思えないし
> サーバーサイドは別の速い言語で作れば良くね?って思うけどね

まさかのコードを共有してるだけだと思ってるらしいw
まっっったく理解してないどころかド素人通り越して知識ゼロで話にならんw

サーバーサイドは別言語で良くねって完全に自分は無知ですって言ってるようなもんだろwww
Next.jsとかのSSRとサーバーサイド言語のSSRが同じだと思ってんなら邪魔だからここから出ていけよwww

303 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 21:54:30.34 ID:EyxmHrtR0.net]
>>302
もうお前は黙ってろ



304 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 21:57:22.46 ID:W1zkzLQM0.net]
>>302
何も言ってなくて草

305 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 22:11:30.78 ID:/fsA69Ud0.net]
>>301
コードはページ開いた初回だけだぞ
(かつコードもローカルにキャッシュする事も可能)
それ以降はREST API叩くだけだから
ネイティブアプリと遜色ないレベルで動く

306 名前:デフォルトの名無しさん mailto:sage [2024/09/25(水) 22:26:15.23 ID:Mp8Xmxrz0.net]
>>305
それがつまりはクライアントサイドレンダリングが持て囃されてた10年ぐらい前の思想でしょ
豪華になっていくにつれてそれじゃ問題が出てきたからAppRouterのSSR&SSGと言ったもんが出てきたわけよ

307 名前:デフォルトの名無しさん mailto:sage [2024/09/26(木) 02:02:17.79 ID:O7j1NTfr0.net]
>>306
ばか

308 名前:デフォルトの名無しさん mailto:sage [2024/09/26(木) 12:39:43.01 ID:58bl5mE90.net]
>>301
cloudflare D1とか普通にやれるしむしろ積極的に使う方向性
サーバーレスDBだ
あと普通にpostgresqlサーバーへ接続できる(!)
もう何でもあり

309 名前:デフォルトの名無しさん mailto:sage [2024/09/28(土) 21:18:59.88 ID:ndtOzxxh0.net]
フロントエンドのPrismaに対する過剰な評価はなんなんだろう
そもそもORMなんて20年前にサーバーサイドで死ぬほど開発され全てクソという結論に至った技術なのに

310 名前:デフォルトの名無しさん mailto:sage [2024/09/28(土) 22:18:23.73 ID:XHRbCS6j0.net]
>>309
べつにPrisma以外のORMでもいいけど
TypeScriptから型安全に使えるのがいいんだよ

311 名前:デフォルトの名無しさん mailto:sage [2024/09/28(土) 23:08:59.38 ID:XzOFonI/0.net]
>>310
RDBのインターフェースにおいて型安全という思想自体が間違ってる派だがそれは置いておいて
定義したスキーマに対して型安全に使いたいならそれこそJavaやC#でそれこそ海千山千レベルで作られた
しかしどれも使いやすくはなく最終的にはシンプルなクエリービルダー型のものだけが残った
必要なのはORMではなく単なるSQLクエリービルダーだったというのが結論
まあ歴史を繰り返すことが悪いとは言わないが
自分で実装したものもないのになんかレベル低いことやってるなあと
「wasmコンパイルした時のサイズが最小のクエリビルダーを作る」というのは技術的にかなり面白いと思うけどね

312 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 01:13:04.48 ID:YuH+Iogz0.net]
フロントやってる人って強い言葉で極論語りたがるってことが、
顕著に表れてる数レスだなあって思った

313 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 01:47:21.26 ID:xSeXse3x0.net]
極論ではなく以下の構成が最適なのはいうまでもない

DBマイグレーションツール
+
データベース接続を抽象化するアダプターモジュール
+
SQLクエリービルダー

これこそがモダンなインターフェースなのである



314 名前:デフォルトの名無しさん [2024/09/29(日) 02:23:06.66 ID:EGkJuPay0.net]
昔は、ローカルの開発環境ではsqlite、実環境ではDBMSとかあったからORMにもメリットがあった。
でも今ではローカルでも実環境と同じDBシステムを使えるようになってるし、調査では結局素のSQL見る必要もあるし、リプレースする際でもフロント、バックエンド、DBシステムのなかではDBシステムの変更が一番可能性は低い。
それならORM毎の違い覚えるより素のSQLを使いこなせるようになったほうが長く使えるスキルになる。
結局ほしいのは >>313 で言ってるものだな。

315 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 06:12:44.91 ID:4S/kVkYa0.net]
昔、SQL使えないアホの選択肢がORMだったのよ

316 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 08:21:21.24 ID:Acvl9FUC0.net]
PrimaはTypedSQLみたいなものも出してきてるし
結構面白いよ

317 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 08:29:21.92 ID:IdcZrtIu0.net]
20年ぐらいこの業界やってるけど最適化を進めて複雑なサブクエリやらWITHやらを使い始めると、
大抵ORMじゃ対応しきれなくなって結局生のクエリを実行させるようになるケースが多すぎたな

318 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 08:41:41.79 ID:8BzfSqEJ0.net]
ぶっちゃけJSONにaxiosあたり出てきてLaravelがガワ連携実装してから、他言語フレームワークもガワ連携前提がデフォ化して自己完結主義のAngular以外ガワツールと化してる感あるな。あとは複雑だが階層は浅いフォーム制御が得意(Vue)か、単純だが階層が深いステート管理が得意(React)かで選択肢が変わる

ヨーロッパだとSvelte(イギリス生)が人気になってきてるみたいだけど、日本というかアジアはVue強いし、まだまだ普及に時間かかりそう

319 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 09:28:52.49 ID:Acvl9FUC0.net]
svelteを採用してる企業を見たことがない

320 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 13:04:00.66 ID:xSeXse3x0.net]
>>315
SQL理解できないのにORM使おうというのがそもそも間違いだからな
チューニングとか別の人がやるのか?って話
ふざけんなと
あと生成したSQLが本当に求めているものなのかのチェックも必要
SQL生成ごっこがしたいなら好きにしたらいいが

>>317
それと最近はデータ分析用にかなり複雑なSQLを投げることが増えた
別途バッチにすることも多いがどうしてもリアルタイムで実行しなきゃならんこともあったりして
これが厄介なんよね
彼らの実行するクエリはもう型とかぐちゃぐちゃ

321 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 13:08:53.67 ID:sHRcN5PC0.net]
ORMしか使えない奴ら多いよな
バックエンドエンジニアでSQL書けず最適化もできない連中ばっか

322 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 13:16:26.30 ID:xSeXse3x0.net]
>>316
サーバーサイドが型合わせ不毛だよねと実質捨てた部分を今どのように再開発するのか楽しみではある
「先」に進めてくれるのだろうか
ちなみに改めてORMを調べてみたがやはり状況は大して変わっていない模様
SQLクエリービルダーは大抵の言語でかなり進化しているが型のマッピングは程々にするという妥協案
Haskellが1番面白かった
以下のようにモナディックで型安全なSQLが書ける
ここまでやれるやらありか?とは思ったが

select $ from $ \person -> do
where_ (person ^. PersonAge >. val 30)
return person

323 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 16:05:49.23 ID:4S/kVkYa0.net]
SQL書けないからORMのtable単位で更新するレベルの機能で良しとするんですよ



324 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 16:25:50.06 ID:xSeXse3x0.net]
ちなみにJavaやC#のORMで出た型付けの結論は
「オブジェクトのプロパティと実行するSQLの型を手動でマッピングする」です
マッピングは動的に変えられるので汎用性がある
テーブルの型とプログラミング言語の型を直接マッピングしないというのがミソ

325 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 16:38:12.07 ID:xSeXse3x0.net]
簡単に言うと実行するSQLごとに型付けをする感じ
これだと同じテーブルで型が変わる場合などでも対応できる
PrismaのTypedSQLもこれに近いものなのではないの?
Java界の奴らが10年以上かけてたどり着いた結論だから多分こうなると思うよ

326 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 17:18:57.60 ID:4S/kVkYa0.net]
>>313
>>SQLクエリービルダー

ってGUIでクエリーを書く機能のこと?

327 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 17:35:45.85 ID:rGDHQpvA0.net]
SQL書けなくてどうやってデータ保存してるだ?
本当にSQL書けないならSQLite辺りで覚えていったほうが良いかもね

328 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 17:47:58.09 ID:xSeXse3x0.net]
>>326
違う
単にSQL生成を目的とするだけのモジュール
railsにおけるArelとか
以下のように複雑なSQLも構築可能

Task.where(
Arel::Nodes::NamedFunction.new(
'TO_CHAR',
[
Task.arel_table[:created_at],
Arel::Nodes.build_quoted('YYYY')
]
).eq('2023')
)
# => SELECT "tasks".* FROM "tasks" WHERE TO_CHAR("tasks"."created_at", 'YYYY') = '2023'

大抵の言語やフレームワークに似たようなモジュールが存在してそれを使ってSQLを作るというのがここ数年の流れ
もちろんN+1問題を容易に作ってしまうので結局実行時にどのようなSQLが生成されるか?は見なくてはならない

329 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 17:54:18.58 ID:8BzfSqEJ0.net]
>>319
いちばん有名な企業が楽天グループ、そこは公認パートナー企業にもなってる
>>327
ORMは便利だけどそっちしか知らない人が多いというか、各種フレームワークからデバッグ用にSQL吐き出せること知らない人も多い。だから結合とか副問い合わせで躓いてるのをよく質問サイトで見かけたな

330 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 18:05:01.99 ID:/6K/Gjr+0.net]
おぞましいことに、SELECT * FROM xxx WHERE yyy = zzzみたいな糞クエリのゴリ押しだけで全部解決しようとする新人がたまにいるのよ
明らかにJOINやサブクエリやウィンドウを使えば効率的に一度のクエリで解決する要件も、何回も何十回もクエリ発行して取りに行く
負荷試験が壊滅的だったプロジェクトに火消しを頼まれて助っ人で行ってみたらそんなザマで頭抱えたことがある
結局ほとんど俺が全部書き直した

331 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 18:20:31.60 ID:/6K/Gjr+0.net]
あんなDBの使い方しかしない(できない)からORMの弊害に気付かないんだと思うわ
型安全と言っても、それテーブルの全カラムを無加工で取得したい場合ぐらいしか有効に働かないだろうに

332 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 18:29:40.63 ID:4S/kVkYa0.net]
>>328
ストレートーにSQL書けよと言いたくなるな
障害時に綺麗なSQLはけてないと復旧とか損害保証とかできるの?

333 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 18:36:09.04 ID:4S/kVkYa0.net]
>>330
昔DBAという役職があって
その人に使用するSQL全部チェック対象にされ...



334 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 18:38:11.33 ID:1Tb71lk/0.net]
ストレートにSQL書くと、パラメーターとの文字列連結がカオスになるよ

335 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 18:41:51.91 ID:4S/kVkYa0.net]
サブクエリに、with、一時table使ってSQL書いてるけどそんな事一度もなかったな

336 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 18:43:50.27 ID:xSeXse3x0.net]
今回の調査で色々と調べたけど
javaのJOOQってORMやべーな
とんでないぞこのライブラリ

以下のように型がコロコロ変わる場合でもちゃんと書ける
Fieldクラスを抽象化することで静的な型チェックが可能になっている
この発想はなかった

DSLContext create = DSL.using(configuration);

Field<String> caseField = DSL.case_()
.when(field("age", Integer.class).gt(18), "adult")
.when(field("age", Integer.class).lt(18), "minor")
.otherwise("unknown");

create.select(caseField).from("users").fetch();

337 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 18:45:39.57 ID:xSeXse3x0.net]
caseってデータ分析ではめちゃくちゃ使うのだけど
これがこんな感じで書ける
素晴らしい

338 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 18:47:22.71 ID:xSeXse3x0.net]
>>333
昔は社内にオラクルデータベースの番人みたいなおじさんがいたなあ

339 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 19:00:17.50 ID:8BzfSqEJ0.net]
>>330
select * from tableA join tableBとして、吐き出した全データを配列に格納、展開してたトンデモプログラムをデバッグしたことあるよ…。アスタリスクは百歩譲ってもせめて部分結合してくれ

データ数千件しかないのにフォーム処理クッソ重いと思ったらこれだよ

340 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 19:25:17.35 ID:Ck7eDstu0.net]
>>334
一回のトランザクション処理につき一回だけSQL実行可とルールすればよい
おのづとサブクエリ、with、一時tableを使う事になって、SQL投げて結果でSQL投げみたいな処理を繰り返すヘボ実装が一掃される

341 名前:デフォルトの名無しさん mailto:sage [2024/09/29(日) 19:26:59.25 ID:/6K/Gjr+0.net]
>>333
たいがいそこが開発進行のボトルネックになってたけど当時は必要悪だったと思うよ
あの頃のオンプレの商用環境(しかも大抵カツカツの構成)で、クソゴミクエリぶん回そうものなら即死してサービスダウンに陥ってたもんよ
今のクラウドのマネージドDBだったらただ遅いor費用が嵩むだけで落ちるとこまで行くことはそうそうないけど、昔は死活問題だった

342 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 14:16:26.25 ID:5Q41gUpla.net]
一つの処理を一つのSQLクエリならアトミックになって問題無いけど
一つの処理を複数のSQLクエリで時間差が出来るから他所からデータ割り込まれたら困るケースがあるだろ
そこまで考慮してないアホばっか

343 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 16:35:49.13 ID:eyZN3jLh0.net]
一番早いのは個々のSQL連結したをストアドなんだよなー
JOINもINNNERとRIGHTは遅いからLEFTのみ



344 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 16:59:05.93 ID:90xjyaJO0.net]
>>343
inner使ってたけどleftのが速いんだ?

345 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 22:19:31.77 ID:x8UwNGco0.net]
そもそも得られる結合結果が違うし、INNERのほうが効率的なケースもLEFTのほうが効率的なケースも存在するから思考停止せずにしっかり実行計画確認しろ
「何にでも~~を使う!」ってのはバカの一つ覚えってんだ

346 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 22:31:07.26 ID:2/RvbFVp0.net]
left と right で速度が違うとか言ってる奴の話を真に受けんな

347 名前:デフォルトの名無しさん mailto:sage [2024/09/30(月) 23:41:53.43 ID:6IhSUC9Z0.net]
>>346
結構あるで

348 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 10:17:07.05 ID:tNPrHSB3p.net]
リスト構造なら違いは無いよな?

349 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 16:04:12.61 ID:20pFp1ah0.net]
本読んでたらNextすげーいいじゃんと思ってきた、なんか学習コストは高そうな気がするけど
remixは調べてない

350 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 16:46:36.79 ID:Ig6Tf0ue0.net]
最近はremixの方が優勢になってきてる
ChatGPTもnext.jsだったのにremixに移行した

351 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 16:47:26.48 ID:Ig6Tf0ue0.net]
ただしremixはフルスクラッチで作り直すから
大幅に変わりそう
だから今手を出すべきかは微妙

352 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 16:48:32.91 ID:20pFp1ah0.net]
どっちにしろ新規プロジェクトだからNextかなあ

353 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 16:49:20.05 ID:20pFp1ah0.net]
じゃないRemix



354 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 18:54:14.07 ID:gaoRlfpT0.net]
まあフロントエンドなんて作り直すのは基本だし
まともなCTOがいたら予算も出るからその時の流行でよろしい
画面の動きを全部サーバーサイドの結果で判断できるように作っておけば問題なし

355 名前:デフォルトの名無しさん mailto:sage [2024/10/01(火) 22:29:45.75 ID:V2w3Ucz+d.net]
プロダクトの性質次第だろう
SaaSだとページ数多いしビジネス要件実装のウェイトが大きいから作り直しは難しい






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<116KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef