のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,364,054人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【PHP】Laravel【フレームワーク】 Part.11

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    351 : nobodyさん - 2022/07/27(水) 17:44:14.79 ID:???.net (+188,+29,-62)
    >>347
    Railsなら欠番が出たら欠番をDBに保存することができる
    次の連番が必要なときはその欠番から埋めていくんだよ
    Laravelerなら思いつきもしないロジックだろうが
    352 : nobodyさん - 2022/07/27(水) 17:47:54.35 ID:???.net (+142,+30,-50)
    >>331のいう「欠番なしの連番作成」ならロールバック時の影響考えても、
    キューやサービスを挟めばできる

    >>351
    欠番検知の処理もサービス含めればできる

    わざわざ前スレから数百レス煽ってまで「出来ない」と強く主張した理由があるはず
    >>331はその理由を説明して
    353 : nobodyさん - 2022/07/27(水) 17:56:12.29 ID:???.net (+76,+29,-33)
    >>352
    文脈的にLaravelで出来ないという訳ではなく
    Laravelだと簡単にはできないって言いたいのでは?
    354 : nobodyさん - 2022/07/27(水) 17:57:19.74 ID:???.net (+148,+29,-17)
    >>351
    おれは釣られてるんだろうか

    > 欠番が出たら欠番をDBに保存する
    > 欠番から埋めていくんだよ

    欠番出来てんじゃん...
    355 : nobodyさん - 2022/07/27(水) 17:57:48.02 ID:???.net (+130,+29,-163)
    >>351
    「欠番が出たら」
    ←ここってフレームワークでデフォで処理してるの?ロジック出してみて

    ・Insertの後処理に毎回SELECTして検証してるってことだよね?パフォーマンス悪くない?
    ・Rubyは欠番テーブルかなんか勝手に作るの?
    ・欠番をわざわざDBに保存して毎度そっちもSELECTするんだよね?パフォーマンスry

    あとそれならLaravelでも後から実装できるから「Laravelで出来ない」じゃないよね
    356 : nobodyさん - 2022/07/27(水) 18:03:55.89 ID:???.net (+72,+29,-17)
    >>354
    そうなんだよね
    あたかも「欠番が出来ない」仕組みがRubyにあるように主張する、いわば詐欺の手法
    357 : nobodyさん - 2022/07/27(水) 18:41:08.05 ID:???.net (+177,+29,-74)
    >>354
    行を削除したら欠番できるの当たり前だろ
    欠番できないってのは欠番を埋めるから結果的に欠番はできないんだよ

    >>355
    Laravelだと自動では難しいかもな
    Railsなら欠番DBに検索かけてから欠番候補がなければ連番を作るようにできる
    358 : nobodyさん - 2022/07/27(水) 18:50:07.26 ID:???.net (+63,+29,-48)
    欠番をできないようにすることはできると思うけどおそらく元の話はそういうことではないと思う。

    採番された番号を使用するデータのリクエストが立て続けに2件あった場合に
    1件目を採番→100
    2件目を採番→101
    だとして、1件目でエラーやキャンセルなどがあった場合に2件目のデータは1件目で採番した番号を使わないといけないということじゃないのかな
    359 : nobodyさん - 2022/07/27(水) 18:52:42.84 ID:???.net (+99,+29,-43)
    オートインクリメントで採番するのはRailsでもなければLaravelでもない
    データベースが採番をする
    ロールバックが発生したら欠番が出て二度と使えない
    http://qiita.com/jnchito/items/79845b02cc197dee3e7c
    360 : nobodyさん - 2022/07/27(水) 18:53:05.79 ID:???.net (+57,+29,-40)
    だからコミット済みの各データに大して振り直しみたいな話が出たんだと思うけど、
    振り直しとかありえないので1件目がコミットされるまで2件目を受け付けないようにするしか思いつかない
    361 : nobodyさん - 2022/07/27(水) 18:56:36.40 ID:???.net (+113,+29,-117)
    >>357
    欠番を埋める前にSELECTしたら、欠番の発生が客にも分かってしまう
    これは「欠番できない」を守ってないのでは

    Laravelでデフォの機能では備わってないからねえ
    Rubyはデフォで、欠番テーブル必須なの?
    あとパフォーマンスどうなるの?
    362 : nobodyさん - 2022/07/27(水) 18:59:30.77 ID:???.net (+62,+29,-40)
    伝票番号とか管理するシステムの開発経験ないからわからないけど割り当てられた文書番号とかは必ず欠番なしの連番になっているのかえ?
    なんか似たようなことで質問している人いたわ
    http://www.fm-aid.com/bbs2/viewtopic.php?id=10950
    363 : nobodyさん - 2022/07/27(水) 19:04:53.83 ID:???.net (+82,+29,-20)
    >>361
    パフォーマンスなんて気にするなよ
    テーブルロックすればいいじゃん
    ただし複数DBになると連番はむり
    364 : nobodyさん - 2022/07/27(水) 19:06:25.67 ID:???.net (+103,+29,-69)
    >>359
    それしちゃうと、alter tableが必要になるからねえ

    削除もされるテーブルで連番の維持を必須にするのは筋が悪すぎるね
    普通はやらないけど、>>331おじは「要件なんだから実装しろ」と前スレから何百レスも主張していた
    uuidとかで普通に管理するのが落とし所になると思う
    365 : nobodyさん - 2022/07/27(水) 19:09:05.58 ID:???.net (+78,+29,-29)
    >>357
    おまえ、それ要件に従ってないじゃんw
    僕のスキルだと実装できないから要件を勝手に解釈しましたっていうのか?
    366 : nobodyさん - 2022/07/27(水) 19:09:42.81 ID:???.net (+54,-18,-26)
    >>363
    削除後(欠番発生後)、Insertが発生する操作があるまで欠番してね?
    テーブルA「30,32」欠番テーブル「31」とかでも、次Insertされるまで31を埋めないってことやろ
    367 : nobodyさん - 2022/07/27(水) 19:15:00.74 ID:???.net (+65,+29,-4)
    >>366
    この世は時間に縛られた世界なんだからそんなこと気にするな
    368 : nobodyさん - 2022/07/27(水) 19:26:32.58 ID:ebvTmwjb.net (+102,+29,-80)
    結局>>72と大差のない実装がでてきて笑う
    それはさておき欠番管理テーブルなんてRailsの標準機能に存在するのか?
    あるって言うならまずgithubで該当箇所示してくれよ
    369 : nobodyさん - 2022/07/27(水) 19:51:23 ID:???.net (+117,+28,-17)
    >>368
    欠番再利用なら標準機能にある
    欠番テーブルはない
    370 : nobodyさん - 2022/07/27(水) 21:06:31.67 ID:ebvTmwjb.net (+48,+29,-65)
    >>369
    まぁテーブルでもなんでも良いけど
    その該当箇所のコード教えてくれない?
    Railsが標準でそんな機能用意しているって知らなかったから
    後学のために勉強したい
    371 : nobodyさん - 2022/07/27(水) 21:24:12.51 ID:???.net (+33,-20,-36)
    >>370
    RailsのことはRailsスレでやれよ
    372 : nobodyさん - 2022/07/27(水) 21:57:02.44 ID:ebvTmwjb.net (+32,+29,-49)
    >>371
    え?laravelスレまできて、Railsには欠番埋める機能が標準であるって主張してたんだから
    このスレでそのことを証明するのが筋だよね?よろしく
    373 : nobodyさん - 2022/07/27(水) 22:01:58.26 ID:ebvTmwjb.net (+60,+29,-47)
    >>357では、Railsには欠番DBという謎のDBが存在するといい
    さすがにDBは嘘だろうから欠番テーブルと読み替えて問い詰めれば
    >>369のように欠番テーブルはなく標準機能にあると主張を変える

    どういうこと?
    374 : nobodyさん - 2022/07/27(水) 22:05:50.93 ID:???.net (+6,-29,-53)
    >>373
    多分各々認識しているバージョンが違うのでは?
    欠番テーブルはRails6、Rails7では欠番テーブルを使用しない実装になっている
    375 : nobodyさん - 2022/07/27(水) 22:07:20.87 ID:???.net (-1,-29,-24)
    更に言うとあれはRailsの標準機能ではない
    ActiveRecordの標準機能だよ
    376 : nobodyさん - 2022/07/27(水) 22:15:10.80 ID:???.net (+97,+29,-48)
    Railsの欠番機能知らないやつ結構いるんだな
    その機能が実装されたとき技術系のネットニュースにもなったのに
    ただ正直業務アプリでその機能有効化したことはないな
    377 : nobodyさん - 2022/07/27(水) 22:20:41.78 ID:???.net (+70,+29,-20)
    >>376
    俺もない
    そもそも欠番再利用なんて要件は来たことがない
    378 : nobodyさん - 2022/07/27(水) 22:21:28.24 ID:???.net (+57,+29,-18)
    ごめん
    よく考えたらJAVAの案件では2回ぐらいあったな
    379 : nobodyさん - 2022/07/27(水) 22:22:39.69 ID:???.net (+130,+29,-49)
    このスレって、たまに存在しない機能を存在するかのように言って
    場を荒らそうとする幼稚な奴がいるんだが
    ↑の欠番DBガーとか言ってる奴は、アンチオートインクリメントおじさんのふりをした
    その荒らしの書き込みって認識でOK?
    380 : nobodyさん - 2022/07/27(水) 22:28:25.52 ID:???.net (+70,+29,-15)
    >>379
    結局そんな機能はないと認めるのかよ♥
    381 : nobodyさん - 2022/07/27(水) 22:30:37.01 ID:???.net (+74,+29,-61)
    >>379
    存在するしないとがじゃなくて欠番再利用をLaravelでどう実装するかという話だろ
    382 : nobodyさん - 2022/07/27(水) 23:10:16.14 ID:???.net (+155,+30,-132)
    Laravelなら普通に実装すればよくね、ロジックなんて変わらんし
    欠番再利用もInsert時に処理挟めば済む話。不可能でもないし難しくもない

    >>331はLaravelでは出来ないって言ってるけど、それはまあウソだったってことだけどな

    あと前スレからずっと連番連番言ってたやつは
    連番必須および欠番不許可という要件の非現実さ、どうでもよさ、不適切さを噛み締めてもろて

    しかし連番にこだわるってなんかいかにも日本って感じだと思ったな、なんとなく
    383 : nobodyさん - 2022/07/27(水) 23:26:32.73 ID:???.net (+57,+29,-13)
    連番に執拗に拘るシステムとかろくでもないし
    絶対開発利益低いだろ
    384 : nobodyさん - 2022/07/27(水) 23:57:11.36 ID:???.net (+91,+29,-6)
    ツールを使うことでした物を作れなくなった奴らの末路
    385 : nobodyさん - 2022/07/28(木) 00:52:24.80 ID:???.net (+78,+29,+0)
    >>382
    それだと欠番発生する気がする
    386 : nobodyさん - 2022/07/28(木) 00:57:08.89 ID:???.net (+35,-26,-17)
    Insert時に処理挟むのは駄目💋
    それだと複数人からアクセスされてかつ一名が
    387 : nobodyさん - 2022/07/28(木) 01:01:18.19 ID:???.net (+35,+7,-10)
    確かにINSERT時にやると複数人同時に登録処理された際に
    同じ欠番を再利用してしまいエラーになりそうだな
    388 : nobodyさん - 2022/07/28(木) 01:02:41.78 ID:???.net (+17,-10,-5)
    排他ファイルとかで複数人同時に処理しないようにするのは?
    389 : nobodyさん - 2022/07/28(木) 01:07:39.40 ID:???.net (+57,+29,-13)
    排他ファイルだと今度はデッドロックになりそう
    直接登録するのではなくジョブ登録処理をにまかせるというのは?
    390 : nobodyさん - 2022/07/28(木) 01:48:07 ID:???.net (-1,-29,-8)
    IDの取得だけ最優先でINSERTすればロールバックする必要なくね?
    391 : nobodyさん - 2022/07/28(木) 07:01:13.44 ID:???.net (+62,+29,-3)
    >>386-388
    いやだからキューとかサービス使えって話やろ
    392 : nobodyさん - 2022/07/28(木) 07:24:44.60 ID:???.net (+77,+29,-56)
    あとガチで絶対に連番発生させない、なら専用のサーバーなりプロセスなり立てないと、
    複数Webサーバー、複数DBに対応できるわけがない
    それでも削除したら一時的でも欠番になるDBでストアドとか使う必要がある)。ほんと無為な要件だからな
    393 : nobodyさん - 2022/07/28(木) 07:53:48 ID:???.net (+91,+29,-72)
    このスレ、アンチパターンの宝庫だなw
    まーそもそもビジネスルール起因の要件をはっきりさせないまま実装コメントしてる時点でエンジニア失格なわけだが
    394 : nobodyさん - 2022/07/28(木) 08:40:54.71 ID:???.net (+95,+29,-6)
    ツールを使うことでした物を作れなくなった奴らの末路
    395 : nobodyさん - 2022/07/28(木) 08:43:41.23 ID:???.net (+72,+29,-2)
    >>384
    >>394
    誤字ったままだぞ句点Rubyおじ
    396 : nobodyさん - 2022/07/28(木) 08:59:22.10 ID:???.net (+70,+30,-39)
    >>393
    お客さんと直接話をして請負開発してたら欠番の無い連番要件なんてお客さんの要望としてあり得ないよね
    397 : nobodyさん - 2022/07/28(木) 09:16:01.84 ID:???.net (+80,+29,-18)
    >>346
    欠番を埋めたら、後から保存されたレコードのidが若くなるが、
    それは問題ないのか?

    >>349
    まったくだw
    398 : nobodyさん - 2022/07/28(木) 09:22:13.26 ID:???.net (+58,+30,-71)
    常に連番で裁判されるという話だったと思うだけど、
    いつの間にか欠番を埋める話になってる気がする
    連番オジサン、話題をすり替えた?

    ○○教会と自民の癒着ネタのすり替えに似ているw
    399 : nobodyさん - 2022/07/28(木) 10:00:48.94 ID:???.net (+52,+29,-2)
    裁判
    字を間違えてるよ
    400 : nobodyさん - 2022/07/28(木) 11:24:31.22 ID:???.net (+123,+29,-19)
    >>392
    削除とかロールバックしなきゃいいじゃん専用テーブルにしてそれとデータをJOINする形にすれば

    まぁそんなの作った所でなんの役にも立たん糞システムであることは言うまでもないが
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について