!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
Vue vs React vs Angular vs Svelte Part.11
1デフォルトの名無しさん (ワッチョイ 434e-OHyh)
2022/08/20(土) 13:17:12.21ID:OuD+ytSs0280デフォルトの名無しさん (ワッチョイ 1ffb-L8o3)
2024/09/25(水) 00:09:03.70ID:UXiRrgGj0 >>279
単にWebベースのクライアントアプリの事を言ってると思う
単にWebベースのクライアントアプリの事を言ってると思う
281デフォルトの名無しさん (ワッチョイ a7c8-LNR9)
2024/09/25(水) 15:20:38.11ID:KipVgYfg0 まさにサーバーサイドレンダリングのことだ
結局コンポーネントに必要なデータはサーバーで取得した方が早いよねということにフロントエンドの人が気がついて
サーバーサイドの人は今更何言ってるの?みたいなる空気感
コードの共有がそれほど意味があるとは思えないし
サーバーサイドは別の速い言語で作れば良くね?って思うけどね
結局コンポーネントに必要なデータはサーバーで取得した方が早いよねということにフロントエンドの人が気がついて
サーバーサイドの人は今更何言ってるの?みたいなる空気感
コードの共有がそれほど意味があるとは思えないし
サーバーサイドは別の速い言語で作れば良くね?って思うけどね
282デフォルトの名無しさん (ワッチョイ a7c8-LNR9)
2024/09/25(水) 15:22:37.11ID:KipVgYfg0 最近はフロントエンドの人がサーバー側に口出ししてきて
今更ORMガーとか言ってて昭和かと
こっちはORM地獄を10年以上前に経験してウンザリしてるんだよ
今更ORMガーとか言ってて昭和かと
こっちはORM地獄を10年以上前に経験してウンザリしてるんだよ
283デフォルトの名無しさん (ワッチョイ 1e28-DO7g)
2024/09/25(水) 15:45:33.76ID:EcYO77Ak0 とサーバーしかしらん無知君が吠えてます
こいつ勘違いしてるというより無知だから今までのサーバーサイドレンダリングと同じだと思ってるらしい
こいつ勘違いしてるというより無知だから今までのサーバーサイドレンダリングと同じだと思ってるらしい
284デフォルトの名無しさん (ワッチョイ a7c8-LNR9)
2024/09/25(水) 16:31:31.44ID:KipVgYfg0 Twitterで騒いでるフロントエンドインフルエンサー()の方々はCSの知識がないのに調子乗ってるから本質が掴めてないんだよな
SSRなんて変な名前つけちゃってからに
SSRなんて変な名前つけちゃってからに
285デフォルトの名無しさん (ワッチョイ a7c8-LNR9)
2024/09/25(水) 16:35:31.76ID:KipVgYfg0 >>283
その発言はサーバーサイド何もわかってませんと言ってるようなもの
その発言はサーバーサイド何もわかってませんと言ってるようなもの
286デフォルトの名無しさん (ワッチョイ 1e28-DO7g)
2024/09/25(水) 16:39:07.42ID:EcYO77Ak0287デフォルトの名無しさん (ワッチョイ a7c8-LNR9)
2024/09/25(水) 16:41:31.67ID:KipVgYfg0288デフォルトの名無しさん (ワッチョイ a7c8-LNR9)
2024/09/25(水) 16:42:50.66ID:KipVgYfg0 あ、名前と所属晒すなら信じてやるけど?
289デフォルトの名無しさん (ワッチョイ 1e28-DO7g)
2024/09/25(水) 16:46:02.20ID:EcYO77Ak0290デフォルトの名無しさん (ワッチョイ a7c8-LNR9)
2024/09/25(水) 16:47:50.81ID:KipVgYfg0 >>279
フロントエンドが「これからはレンダリングはこっちでやりまっせ」みたいなノリでこっちはもうAPIだけ作ればいいのかラクチンだーと思ってたら
いきなりサーバーサイドに土足で踏み込んできて
NextダーRemixダー言い出してもうめちゃくちゃだよ
フロントエンドが「これからはレンダリングはこっちでやりまっせ」みたいなノリでこっちはもうAPIだけ作ればいいのかラクチンだーと思ってたら
いきなりサーバーサイドに土足で踏み込んできて
NextダーRemixダー言い出してもうめちゃくちゃだよ
291デフォルトの名無しさん (ワッチョイ a7c8-LNR9)
2024/09/25(水) 16:48:40.15ID:KipVgYfg0292デフォルトの名無しさん (ワッチョイ a7c8-LNR9)
2024/09/25(水) 16:50:33.98ID:KipVgYfg0 ワイらがNext.jsの運用もやりまっせ!からの面倒だからVercel使いますと言われた日には我々の怒りもピークだよ
293デフォルトの名無しさん (ワッチョイ a7c8-LNR9)
2024/09/25(水) 16:53:47.88ID:KipVgYfg0 中身のないイキリレスだけしたいなら消えてくれないか?
不愉快だし境界知能のADHDに構ってるほど暇じゃないんだ
そもそもがレスバでも俺には勝てない
感情のコントロールもできないやつの発言なんて聞くわけがないだろう
何度もいうが発言の中身だけしかみない
匿名掲示板はそういうところだ
不愉快だし境界知能のADHDに構ってるほど暇じゃないんだ
そもそもがレスバでも俺には勝てない
感情のコントロールもできないやつの発言なんて聞くわけがないだろう
何度もいうが発言の中身だけしかみない
匿名掲示板はそういうところだ
294デフォルトの名無しさん (ワッチョイ 1e28-DO7g)
2024/09/25(水) 16:57:48.51ID:EcYO77Ak0 なんだこいつ
レス連投のキチガイか
理解できないなら使わなきゃいいだろ
レス連投のキチガイか
理解できないなら使わなきゃいいだろ
295デフォルトの名無しさん (ワッチョイ 6366-Zm2Y)
2024/09/25(水) 19:02:29.97ID:5Vhwl/nZ0 連投ちゃん増えたな
296デフォルトの名無しさん (ワッチョイ 1f64-L8o3)
2024/09/25(水) 19:06:11.81ID:UXiRrgGj0 >>281
それはないね
それはないね
297デフォルトの名無しさん (ワッチョイ ef16-LNR9)
2024/09/25(水) 20:19:06.11ID:W1zkzLQM0 >>294
ケンカを売ってきたのはお前だろ
ケンカを売ってきたのはお前だろ
298デフォルトの名無しさん (ワッチョイ ef16-LNR9)
2024/09/25(水) 20:19:58.50ID:W1zkzLQM0 技術者なら中身のある批判をかけ
書けないなら黙ってろ
書けないなら黙ってろ
299デフォルトの名無しさん (ワッチョイ 5e4d-diYh)
2024/09/25(水) 20:28:21.84ID:Mp8Xmxrz0 あー、、
そもそも最近のSSRやらSSGは普通DB操作まではやらんでしょ?
最近の豪華絢爛なUIを何でもかんでもクライアント側でレンダリングできるようにすると、そのレンダリングのためのコードで転送量が爆裂する上、
クライアント側の処理能力も問題になってくるからサーバーでレンダリングした結果を渡した安定するよねって流れだと思うよ
だから相変わらずAPIは提供してやる必要がある
ぶっちゃけ、処理効率を突き詰めていくとjsonやらxml吐き出すAPI叩いて結果からレンダリングしてみたいなバケツリレーのようなマネするよか、そのままAPIから直接html吐き出した方が処理効率はいいけどね
職務分掌の意味合いが強いと思う
そもそも最近のSSRやらSSGは普通DB操作まではやらんでしょ?
最近の豪華絢爛なUIを何でもかんでもクライアント側でレンダリングできるようにすると、そのレンダリングのためのコードで転送量が爆裂する上、
クライアント側の処理能力も問題になってくるからサーバーでレンダリングした結果を渡した安定するよねって流れだと思うよ
だから相変わらずAPIは提供してやる必要がある
ぶっちゃけ、処理効率を突き詰めていくとjsonやらxml吐き出すAPI叩いて結果からレンダリングしてみたいなバケツリレーのようなマネするよか、そのままAPIから直接html吐き出した方が処理効率はいいけどね
職務分掌の意味合いが強いと思う
300デフォルトの名無しさん (ワッチョイ 1e28-DO7g)
2024/09/25(水) 21:10:16.58ID:EcYO77Ak0301デフォルトの名無しさん (ワッチョイ 7ff0-LNR9)
2024/09/25(水) 21:54:30.34ID:EyxmHrtR0 >>300
もうお前は黙ってろ
もうお前は黙ってろ
302デフォルトの名無しさん (ワッチョイ ef16-LNR9)
2024/09/25(水) 21:57:22.46ID:W1zkzLQM0 >>300
何も言ってなくて草
何も言ってなくて草
303デフォルトの名無しさん (ワッチョイ 1ef6-L8o3)
2024/09/25(水) 22:11:30.78ID:/fsA69Ud0304デフォルトの名無しさん (ワッチョイ 5e4d-diYh)
2024/09/25(水) 22:26:15.23ID:Mp8Xmxrz0 >>303
それがつまりはクライアントサイドレンダリングが持て囃されてた10年ぐらい前の思想でしょ
豪華になっていくにつれてそれじゃ問題が出てきたからAppRouterのSSR&SSGと言ったもんが出てきたわけよ
それがつまりはクライアントサイドレンダリングが持て囃されてた10年ぐらい前の思想でしょ
豪華になっていくにつれてそれじゃ問題が出てきたからAppRouterのSSR&SSGと言ったもんが出てきたわけよ
305デフォルトの名無しさん (ワッチョイ 1f8b-L8o3)
2024/09/26(木) 02:02:17.79ID:O7j1NTfr0 >>304
ばか
ばか
306デフォルトの名無しさん (ワッチョイ 7ff0-LNR9)
2024/09/26(木) 12:39:43.01ID:58bl5mE90307デフォルトの名無しさん (ワッチョイ cb09-LNR9)
2024/09/28(土) 21:18:59.88ID:ndtOzxxh0 フロントエンドのPrismaに対する過剰な評価はなんなんだろう
そもそもORMなんて20年前にサーバーサイドで死ぬほど開発され全てクソという結論に至った技術なのに
そもそもORMなんて20年前にサーバーサイドで死ぬほど開発され全てクソという結論に至った技術なのに
308デフォルトの名無しさん (ワッチョイ 5f01-cIDa)
2024/09/28(土) 22:18:23.73ID:XHRbCS6j0309デフォルトの名無しさん (ワッチョイ 7ff0-LNR9)
2024/09/28(土) 23:08:59.38ID:XzOFonI/0 >>308
RDBのインターフェースにおいて型安全という思想自体が間違ってる派だがそれは置いておいて
定義したスキーマに対して型安全に使いたいならそれこそJavaやC#でそれこそ海千山千レベルで作られた
しかしどれも使いやすくはなく最終的にはシンプルなクエリービルダー型のものだけが残った
必要なのはORMではなく単なるSQLクエリービルダーだったというのが結論
まあ歴史を繰り返すことが悪いとは言わないが
自分で実装したものもないのになんかレベル低いことやってるなあと
「wasmコンパイルした時のサイズが最小のクエリビルダーを作る」というのは技術的にかなり面白いと思うけどね
RDBのインターフェースにおいて型安全という思想自体が間違ってる派だがそれは置いておいて
定義したスキーマに対して型安全に使いたいならそれこそJavaやC#でそれこそ海千山千レベルで作られた
しかしどれも使いやすくはなく最終的にはシンプルなクエリービルダー型のものだけが残った
必要なのはORMではなく単なるSQLクエリービルダーだったというのが結論
まあ歴史を繰り返すことが悪いとは言わないが
自分で実装したものもないのになんかレベル低いことやってるなあと
「wasmコンパイルした時のサイズが最小のクエリビルダーを作る」というのは技術的にかなり面白いと思うけどね
310デフォルトの名無しさん (ワッチョイ c3dd-jIqN)
2024/09/29(日) 01:13:04.48ID:YuH+Iogz0 フロントやってる人って強い言葉で極論語りたがるってことが、
顕著に表れてる数レスだなあって思った
顕著に表れてる数レスだなあって思った
311デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/09/29(日) 01:47:21.26ID:xSeXse3x0 極論ではなく以下の構成が最適なのはいうまでもない
DBマイグレーションツール
+
データベース接続を抽象化するアダプターモジュール
+
SQLクエリービルダー
これこそがモダンなインターフェースなのである
DBマイグレーションツール
+
データベース接続を抽象化するアダプターモジュール
+
SQLクエリービルダー
これこそがモダンなインターフェースなのである
312デフォルトの名無しさん (ワッチョイ ff7c-PqsP)
2024/09/29(日) 02:23:06.66ID:EGkJuPay0 昔は、ローカルの開発環境ではsqlite、実環境ではDBMSとかあったからORMにもメリットがあった。
でも今ではローカルでも実環境と同じDBシステムを使えるようになってるし、調査では結局素のSQL見る必要もあるし、リプレースする際でもフロント、バックエンド、DBシステムのなかではDBシステムの変更が一番可能性は低い。
それならORM毎の違い覚えるより素のSQLを使いこなせるようになったほうが長く使えるスキルになる。
結局ほしいのは >>311 で言ってるものだな。
でも今ではローカルでも実環境と同じDBシステムを使えるようになってるし、調査では結局素のSQL見る必要もあるし、リプレースする際でもフロント、バックエンド、DBシステムのなかではDBシステムの変更が一番可能性は低い。
それならORM毎の違い覚えるより素のSQLを使いこなせるようになったほうが長く使えるスキルになる。
結局ほしいのは >>311 で言ってるものだな。
313デフォルトの名無しさん (ワッチョイ e315-v4Ln)
2024/09/29(日) 06:12:44.91ID:4S/kVkYa0 昔、SQL使えないアホの選択肢がORMだったのよ
314デフォルトの名無しさん (ワッチョイ e301-Z4n8)
2024/09/29(日) 08:21:21.24ID:Acvl9FUC0 PrimaはTypedSQLみたいなものも出してきてるし
結構面白いよ
結構面白いよ
315デフォルトの名無しさん (ワッチョイ ff53-gB8o)
2024/09/29(日) 08:29:21.92ID:IdcZrtIu0 20年ぐらいこの業界やってるけど最適化を進めて複雑なサブクエリやらWITHやらを使い始めると、
大抵ORMじゃ対応しきれなくなって結局生のクエリを実行させるようになるケースが多すぎたな
大抵ORMじゃ対応しきれなくなって結局生のクエリを実行させるようになるケースが多すぎたな
316デフォルトの名無しさん (ワッチョイ b3ba-eLKd)
2024/09/29(日) 08:41:41.79ID:8BzfSqEJ0 ぶっちゃけJSONにaxiosあたり出てきてLaravelがガワ連携実装してから、他言語フレームワークもガワ連携前提がデフォ化して自己完結主義のAngular以外ガワツールと化してる感あるな。あとは複雑だが階層は浅いフォーム制御が得意(Vue)か、単純だが階層が深いステート管理が得意(React)かで選択肢が変わる
ヨーロッパだとSvelte(イギリス生)が人気になってきてるみたいだけど、日本というかアジアはVue強いし、まだまだ普及に時間かかりそう
ヨーロッパだとSvelte(イギリス生)が人気になってきてるみたいだけど、日本というかアジアはVue強いし、まだまだ普及に時間かかりそう
317デフォルトの名無しさん (ワッチョイ e301-Z4n8)
2024/09/29(日) 09:28:52.49ID:Acvl9FUC0 svelteを採用してる企業を見たことがない
318デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/09/29(日) 13:04:00.66ID:xSeXse3x0319デフォルトの名無しさん (ワッチョイ 6f28-ZZKg)
2024/09/29(日) 13:08:53.67ID:sHRcN5PC0 ORMしか使えない奴ら多いよな
バックエンドエンジニアでSQL書けず最適化もできない連中ばっか
バックエンドエンジニアでSQL書けず最適化もできない連中ばっか
320デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/09/29(日) 13:16:26.30ID:xSeXse3x0 >>314
サーバーサイドが型合わせ不毛だよねと実質捨てた部分を今どのように再開発するのか楽しみではある
「先」に進めてくれるのだろうか
ちなみに改めてORMを調べてみたがやはり状況は大して変わっていない模様
SQLクエリービルダーは大抵の言語でかなり進化しているが型のマッピングは程々にするという妥協案
Haskellが1番面白かった
以下のようにモナディックで型安全なSQLが書ける
ここまでやれるやらありか?とは思ったが
select $ from $ \person -> do
where_ (person ^. PersonAge >. val 30)
return person
サーバーサイドが型合わせ不毛だよねと実質捨てた部分を今どのように再開発するのか楽しみではある
「先」に進めてくれるのだろうか
ちなみに改めてORMを調べてみたがやはり状況は大して変わっていない模様
SQLクエリービルダーは大抵の言語でかなり進化しているが型のマッピングは程々にするという妥協案
Haskellが1番面白かった
以下のようにモナディックで型安全なSQLが書ける
ここまでやれるやらありか?とは思ったが
select $ from $ \person -> do
where_ (person ^. PersonAge >. val 30)
return person
321デフォルトの名無しさん (ワッチョイ e36b-v4Ln)
2024/09/29(日) 16:05:49.23ID:4S/kVkYa0 SQL書けないからORMのtable単位で更新するレベルの機能で良しとするんですよ
322デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/09/29(日) 16:25:50.06ID:xSeXse3x0 ちなみにJavaやC#のORMで出た型付けの結論は
「オブジェクトのプロパティと実行するSQLの型を手動でマッピングする」です
マッピングは動的に変えられるので汎用性がある
テーブルの型とプログラミング言語の型を直接マッピングしないというのがミソ
「オブジェクトのプロパティと実行するSQLの型を手動でマッピングする」です
マッピングは動的に変えられるので汎用性がある
テーブルの型とプログラミング言語の型を直接マッピングしないというのがミソ
323デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/09/29(日) 16:38:12.07ID:xSeXse3x0 簡単に言うと実行するSQLごとに型付けをする感じ
これだと同じテーブルで型が変わる場合などでも対応できる
PrismaのTypedSQLもこれに近いものなのではないの?
Java界の奴らが10年以上かけてたどり着いた結論だから多分こうなると思うよ
これだと同じテーブルで型が変わる場合などでも対応できる
PrismaのTypedSQLもこれに近いものなのではないの?
Java界の奴らが10年以上かけてたどり着いた結論だから多分こうなると思うよ
324デフォルトの名無しさん (ワッチョイ e36b-v4Ln)
2024/09/29(日) 17:18:57.60ID:4S/kVkYa0325デフォルトの名無しさん (ワッチョイ 7f05-D2eP)
2024/09/29(日) 17:35:45.85ID:rGDHQpvA0 SQL書けなくてどうやってデータ保存してるだ?
本当にSQL書けないならSQLite辺りで覚えていったほうが良いかもね
本当にSQL書けないならSQLite辺りで覚えていったほうが良いかもね
326デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/09/29(日) 17:47:58.09ID:xSeXse3x0 >>324
違う
単に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が生成されるか?は見なくてはならない
違う
単に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が生成されるか?は見なくてはならない
327デフォルトの名無しさん (ワッチョイ b3ba-eLKd)
2024/09/29(日) 17:54:18.58ID:8BzfSqEJ0328デフォルトの名無しさん (ワッチョイ ff3c-gB8o)
2024/09/29(日) 18:05:01.99ID:/6K/Gjr+0 おぞましいことに、SELECT * FROM xxx WHERE yyy = zzzみたいな糞クエリのゴリ押しだけで全部解決しようとする新人がたまにいるのよ
明らかにJOINやサブクエリやウィンドウを使えば効率的に一度のクエリで解決する要件も、何回も何十回もクエリ発行して取りに行く
負荷試験が壊滅的だったプロジェクトに火消しを頼まれて助っ人で行ってみたらそんなザマで頭抱えたことがある
結局ほとんど俺が全部書き直した
明らかにJOINやサブクエリやウィンドウを使えば効率的に一度のクエリで解決する要件も、何回も何十回もクエリ発行して取りに行く
負荷試験が壊滅的だったプロジェクトに火消しを頼まれて助っ人で行ってみたらそんなザマで頭抱えたことがある
結局ほとんど俺が全部書き直した
329デフォルトの名無しさん (ワッチョイ ff3c-gB8o)
2024/09/29(日) 18:20:31.60ID:/6K/Gjr+0 あんなDBの使い方しかしない(できない)からORMの弊害に気付かないんだと思うわ
型安全と言っても、それテーブルの全カラムを無加工で取得したい場合ぐらいしか有効に働かないだろうに
型安全と言っても、それテーブルの全カラムを無加工で取得したい場合ぐらいしか有効に働かないだろうに
330デフォルトの名無しさん (ワッチョイ e36b-v4Ln)
2024/09/29(日) 18:29:40.63ID:4S/kVkYa0331デフォルトの名無しさん (ワッチョイ e36b-v4Ln)
2024/09/29(日) 18:36:09.04ID:4S/kVkYa0332デフォルトの名無しさん (ワッチョイ ffad-JJSI)
2024/09/29(日) 18:38:11.33ID:1Tb71lk/0 ストレートにSQL書くと、パラメーターとの文字列連結がカオスになるよ
333デフォルトの名無しさん (ワッチョイ e36b-v4Ln)
2024/09/29(日) 18:41:51.91ID:4S/kVkYa0 サブクエリに、with、一時table使ってSQL書いてるけどそんな事一度もなかったな
334デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/09/29(日) 18:43:50.27ID:xSeXse3x0 今回の調査で色々と調べたけど
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();
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();
335デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/09/29(日) 18:45:39.57ID:xSeXse3x0 caseってデータ分析ではめちゃくちゃ使うのだけど
これがこんな感じで書ける
素晴らしい
これがこんな感じで書ける
素晴らしい
336デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/09/29(日) 18:47:22.71ID:xSeXse3x0 >>331
昔は社内にオラクルデータベースの番人みたいなおじさんがいたなあ
昔は社内にオラクルデータベースの番人みたいなおじさんがいたなあ
337デフォルトの名無しさん (ワッチョイ b3ba-eLKd)
2024/09/29(日) 19:00:17.50ID:8BzfSqEJ0 >>328
select * from tableA join tableBとして、吐き出した全データを配列に格納、展開してたトンデモプログラムをデバッグしたことあるよ…。アスタリスクは百歩譲ってもせめて部分結合してくれ
データ数千件しかないのにフォーム処理クッソ重いと思ったらこれだよ
select * from tableA join tableBとして、吐き出した全データを配列に格納、展開してたトンデモプログラムをデバッグしたことあるよ…。アスタリスクは百歩譲ってもせめて部分結合してくれ
データ数千件しかないのにフォーム処理クッソ重いと思ったらこれだよ
338デフォルトの名無しさん (ワッチョイ 6f90-v4Ln)
2024/09/29(日) 19:25:17.35ID:Ck7eDstu0 >>332
一回のトランザクション処理につき一回だけSQL実行可とルールすればよい
おのづとサブクエリ、with、一時tableを使う事になって、SQL投げて結果でSQL投げみたいな処理を繰り返すヘボ実装が一掃される
一回のトランザクション処理につき一回だけSQL実行可とルールすればよい
おのづとサブクエリ、with、一時tableを使う事になって、SQL投げて結果でSQL投げみたいな処理を繰り返すヘボ実装が一掃される
339デフォルトの名無しさん (ワッチョイ ff3c-gB8o)
2024/09/29(日) 19:26:59.25ID:/6K/Gjr+0 >>331
たいがいそこが開発進行のボトルネックになってたけど当時は必要悪だったと思うよ
あの頃のオンプレの商用環境(しかも大抵カツカツの構成)で、クソゴミクエリぶん回そうものなら即死してサービスダウンに陥ってたもんよ
今のクラウドのマネージドDBだったらただ遅いor費用が嵩むだけで落ちるとこまで行くことはそうそうないけど、昔は死活問題だった
たいがいそこが開発進行のボトルネックになってたけど当時は必要悪だったと思うよ
あの頃のオンプレの商用環境(しかも大抵カツカツの構成)で、クソゴミクエリぶん回そうものなら即死してサービスダウンに陥ってたもんよ
今のクラウドのマネージドDBだったらただ遅いor費用が嵩むだけで落ちるとこまで行くことはそうそうないけど、昔は死活問題だった
340デフォルトの名無しさん (アウアウエー Sadf-D2eP)
2024/09/30(月) 14:16:26.25ID:5Q41gUpla 一つの処理を一つのSQLクエリならアトミックになって問題無いけど
一つの処理を複数のSQLクエリで時間差が出来るから他所からデータ割り込まれたら困るケースがあるだろ
そこまで考慮してないアホばっか
一つの処理を複数のSQLクエリで時間差が出来るから他所からデータ割り込まれたら困るケースがあるだろ
そこまで考慮してないアホばっか
341デフォルトの名無しさん (ワッチョイ 7f85-D2eP)
2024/09/30(月) 16:35:49.13ID:eyZN3jLh0 一番早いのは個々のSQL連結したをストアドなんだよなー
JOINもINNNERとRIGHTは遅いからLEFTのみ
JOINもINNNERとRIGHTは遅いからLEFTのみ
342デフォルトの名無しさん (ワッチョイ 3fd9-GmTs)
2024/09/30(月) 16:59:05.93ID:90xjyaJO0 >>341
inner使ってたけどleftのが速いんだ?
inner使ってたけどleftのが速いんだ?
343デフォルトの名無しさん (ワッチョイ 7fd8-gB8o)
2024/09/30(月) 22:19:31.77ID:x8UwNGco0 そもそも得られる結合結果が違うし、INNERのほうが効率的なケースもLEFTのほうが効率的なケースも存在するから思考停止せずにしっかり実行計画確認しろ
「何にでも~~を使う!」ってのはバカの一つ覚えってんだ
「何にでも~~を使う!」ってのはバカの一つ覚えってんだ
344デフォルトの名無しさん (ワッチョイ cfcf-KiE/)
2024/09/30(月) 22:31:07.26ID:2/RvbFVp0 left と right で速度が違うとか言ってる奴の話を真に受けんな
345デフォルトの名無しさん (ワッチョイ e36e-v4Ln)
2024/09/30(月) 23:41:53.43ID:6IhSUC9Z0 >>344
結構あるで
結構あるで
346デフォルトの名無しさん (ササクッテロ Sp47-F/l5)
2024/10/01(火) 10:17:07.05ID:tNPrHSB3p リスト構造なら違いは無いよな?
347デフォルトの名無しさん (ワッチョイ 3f4d-GmTs)
2024/10/01(火) 16:04:12.61ID:20pFp1ah0 本読んでたらNextすげーいいじゃんと思ってきた、なんか学習コストは高そうな気がするけど
remixは調べてない
remixは調べてない
348デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/10/01(火) 16:46:36.79ID:Ig6Tf0ue0 最近はremixの方が優勢になってきてる
ChatGPTもnext.jsだったのにremixに移行した
ChatGPTもnext.jsだったのにremixに移行した
349デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/10/01(火) 16:47:26.48ID:Ig6Tf0ue0 ただしremixはフルスクラッチで作り直すから
大幅に変わりそう
だから今手を出すべきかは微妙
大幅に変わりそう
だから今手を出すべきかは微妙
350デフォルトの名無しさん (ワッチョイ 3f4d-GmTs)
2024/10/01(火) 16:48:32.91ID:20pFp1ah0 どっちにしろ新規プロジェクトだからNextかなあ
351デフォルトの名無しさん (ワッチョイ 3f4d-GmTs)
2024/10/01(火) 16:49:20.05ID:20pFp1ah0 じゃないRemix
352デフォルトの名無しさん (ワッチョイ 8f1f-bFHd)
2024/10/01(火) 18:54:14.07ID:gaoRlfpT0 まあフロントエンドなんて作り直すのは基本だし
まともなCTOがいたら予算も出るからその時の流行でよろしい
画面の動きを全部サーバーサイドの結果で判断できるように作っておけば問題なし
まともなCTOがいたら予算も出るからその時の流行でよろしい
画面の動きを全部サーバーサイドの結果で判断できるように作っておけば問題なし
353デフォルトの名無しさん (スッップ Sd1f-9JCP)
2024/10/01(火) 22:29:45.75ID:V2w3Ucz+d プロダクトの性質次第だろう
SaaSだとページ数多いしビジネス要件実装のウェイトが大きいから作り直しは難しい
SaaSだとページ数多いしビジネス要件実装のウェイトが大きいから作り直しは難しい
354デフォルトの名無しさん (ワッチョイ cfcf-KiE/)
2024/10/01(火) 22:30:17.57ID:7hV/Zxp/0355デフォルトの名無しさん (ワッチョイ 8f88-v4Ln)
2024/10/01(火) 22:41:15.98ID:PxjtxeQz0 >>354
あるで調べてみ
あるで調べてみ
356デフォルトの名無しさん (ワッチョイ ff6c-gB8o)
2024/10/01(火) 22:45:51.49ID:GFljMLhp0 leftと等価なrightへの書き換え、あるいはその逆の書き方を知らないだけでは?🤔
357デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/10/01(火) 23:53:40.67ID:Ig6Tf0ue0 right joinを使う必要があるとは思えんな
358デフォルトの名無しさん (JP 0Hdf-GCHr)
2024/10/02(水) 07:12:03.51ID:H5d/PPBcH 345は20年前のOracle8iみたいなルールベースの知識からアップデートできていないだけな気がする
359デフォルトの名無しさん (スプッッ Sd1f-PqsP)
2024/10/02(水) 08:15:16.76ID:L5vBX47Zd >>355
あるっつうならその実例出して
あるっつうならその実例出して
360デフォルトの名無しさん (ワッチョイ e3a8-v4Ln)
2024/10/02(水) 12:21:12.06ID:XNBCv0lf0 >>358
そーーかも
そーーかも
361デフォルトの名無しさん (ワッチョイ 6fcd-fhRs)
2024/10/02(水) 12:40:19.74ID:VhOKxDCS0 なんとなくいつもleftだわ
362デフォルトの名無しさん (ドコグロ MMff-Z4n8)
2024/10/02(水) 15:21:28.65ID:ntIVC1snM Nextはビルドツールが自前なのがな
RemixもsveltekitもNuxtもVite使ってるからそこでエコシステムの差が出てきそう
それが進んだらNextも厳しくなってくる
RemixもsveltekitもNuxtもVite使ってるからそこでエコシステムの差が出てきそう
それが進んだらNextも厳しくなってくる
363デフォルトの名無しさん (ワッチョイ 63f0-bFHd)
2024/10/02(水) 16:20:33.61ID:TLprtWVf0 JSはいつまでエコシステムとかやるんすかね
いい加減デファクトをみんなで作ろうよってならないのかね
主に政治的思惑で一つにしたくないのだろうけど
いい加減デファクトをみんなで作ろうよってならないのかね
主に政治的思惑で一つにしたくないのだろうけど
364デフォルトの名無しさん (ワッチョイ 83ea-gB8o)
2024/10/02(水) 17:16:13.23ID:BpVEd4dp0 right joinを使うと右から左へ、下から上へ読むようなクエリになるからな
読みづらいからrightは基本使わない
「遅いからrightは使わない」とか言ってる人は意味不明だけど
読みづらいからrightは基本使わない
「遅いからrightは使わない」とか言ってる人は意味不明だけど
365デフォルトの名無しさん (ワッチョイ b371-bFHd)
2024/10/02(水) 17:22:06.79ID:xvxi+lxb0 昔のDBでそういうのがあったんじゃないの?
知らんけど
知らんけど
366デフォルトの名無しさん (ワッチョイ c3db-jIqN)
2024/10/03(木) 00:02:27.79ID:fliyUvHO0 まあ特に理由がなければleftだよなあ
367デフォルトの名無しさん (ワッチョイ 23ee-9JCP)
2024/10/05(土) 12:16:43.81ID:RBSjgErc0 HR系のシステムにおける従業員(主)と部署(従)のように、あるビジネスドメインにおいて着目する主体ってのはだいたい決まっているものだ
なので、SQLを書くときもそのメンタルモデルに倣って主側に置くものをある程度固定したほうが読みやすいという考え方もある
ある条件を満たす従業員と所属部署の一覧を表示する際に、従業員不在の部署も表示したいという要件があったとして、
そのようなちょっとしたビュー要件によって主従関係が逆転してしまうのは好ましくない、ということだ
俺はそれでもLEFT統一の方が読みやすいと思う派だが、考え方としては理解できるものだろう
なので、SQLを書くときもそのメンタルモデルに倣って主側に置くものをある程度固定したほうが読みやすいという考え方もある
ある条件を満たす従業員と所属部署の一覧を表示する際に、従業員不在の部署も表示したいという要件があったとして、
そのようなちょっとしたビュー要件によって主従関係が逆転してしまうのは好ましくない、ということだ
俺はそれでもLEFT統一の方が読みやすいと思う派だが、考え方としては理解できるものだろう
368デフォルトの名無しさん (ワッチョイ eb23-vAd8)
2024/10/19(土) 07:55:36.48ID:kXgKzXcr0 svelte5のmilestoneが98%まで回復
369デフォルトの名無しさん (ワッチョイ 1923-pdRO)
2024/10/20(日) 20:29:57.78ID:XEBgqfIg0 release svelte@5.0.0
370デフォルトの名無しさん (ワッチョイ 1901-h/XG)
2024/10/28(月) 10:56:23.79ID:MeMed5MX0 svelteで作っていたサイトはもうastroにしたんだよなあ
svelteの強味がよくわからなかった
svelteの強味がよくわからなかった
EchoAPIは、テストが私のReactアプリに動力を提供するAPIを容易にし、開発を強化するための迅速な応答を提供。試してみてね
EchoAPIの直感的なインタフェースは、ReactアプリケーションでAPI応答を迅速に検証し、デバッグを容易にするのに役立つ。おすすめ!
373デフォルトの名無しさん (ワッチョイ f701-yqoI)
2024/12/27(金) 03:32:05.43ID:hxF8JUMM0374デフォルトの名無しさん (スッププ Sd9b-JlZ7)
2024/12/27(金) 20:34:35.48ID:YxIFlKOGd 本当だVue抜いてるじゃん
Astroは絵に描いた餅感のイメージ強いんだけど、
この間bolt適当に弄ってたら何故かASTROでコード吐いてきたので
AIの力も借りて遊びでなんか作ってみようかなぁ
Astroは絵に描いた餅感のイメージ強いんだけど、
この間bolt適当に弄ってたら何故かASTROでコード吐いてきたので
AIの力も借りて遊びでなんか作ってみようかなぁ
375デフォルトの名無しさん (ワッチョイ 61f0-nFNZ)
2024/12/28(土) 02:05:29.96ID:PwEyBlKD0 いやもうReactでいいよ…
376デフォルトの名無しさん (ワッチョイ f701-yqoI)
2024/12/28(土) 06:54:44.06ID:e4Tyi2oC0 jsx使ったことある人ならAstroは簡単に習得できると思う
377デフォルトの名無しさん (ワッチョイ 0fba-mSSC)
2025/02/08(土) 10:31:21.71ID:hJvS4i6R0378デフォルトの名無しさん (ワッチョイ 0fba-mSSC)
2025/02/08(土) 11:14:27.65ID:hJvS4i6R0 >>373
Viteの伸びもえぐいな、とうとうWebpack超えてしまったか
Reactも19になってようやく不満要素だった、テンプレート周りの改善とフォームのリアクティブ制御を実現してきた
ただReact普及に貢献してきたNextだけが、案の定Viteから爪弾き状態になってるのが気がかり
Remix、Astroはしっかり公式連携になってるのに
Viteの伸びもえぐいな、とうとうWebpack超えてしまったか
Reactも19になってようやく不満要素だった、テンプレート周りの改善とフォームのリアクティブ制御を実現してきた
ただReact普及に貢献してきたNextだけが、案の定Viteから爪弾き状態になってるのが気がかり
Remix、Astroはしっかり公式連携になってるのに
379デフォルトの名無しさん (ワッチョイ ffba-kH5e)
2025/02/09(日) 16:00:36.64ID:G+MTHt9S0 あとAngularはCSR、SSG、SSRをミックスした使い方ができる。これはフルスタックならではの強みであり芸当でもある
レスを投稿する
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 現役猟師・東出昌大、クマ被害続出も過熱する報道に「クマはそんな危ないもんじゃない」理由語る [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- さっっっっっっっっっっっっっっっっっむ!?!!?!?!?!!??!??!???!
- 日本の歴代総理大臣で1番ダメだった奴
- 高市政権「中国依存の経済から脱却する」?「それはダメーッ!」
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
