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だとページ数多いしビジネス要件実装のウェイトが大きいから作り直しは難しい