X



【PHP】Laravel【フレームワーク】 Part.6
レス数が1000を超えています。これ以上書き込みはできません。
0002nobodyさん垢版2021/05/25(火) 20:01:55.13ID:???
2021年6月1日発売
PHPフレームワーク Laravel Webアプリケーション開発 バージョン8.x対応
0004nobodyさん垢版2021/05/26(水) 09:44:20.64ID:???
バージョン8から勉強したら、数年はなんとかなる?
それとも9や10でガラッと変わったりする?
0005nobodyさん垢版2021/05/26(水) 11:53:58.15ID:???
Apacheで十分おじさん続きをどうぞ
0006nobodyさん垢版2021/05/26(水) 12:18:27.65ID:???
>>5
相変わらず気持ち悪いやつだな
たまには部屋から出て太陽の光でも見てこい
0007nobodyさん垢版2021/05/26(水) 13:00:16.80ID:???
>>4
9でめちゃくちゃ変わる
今は時期が悪い
0008nobodyさん垢版2021/05/26(水) 13:18:15.13ID:???
>>7
そうなのか・・・
じゃ、>>2も買わないほうが良いのか
0009nobodyさん垢版2021/05/26(水) 13:58:37.93ID:???
>>7
それ、どこ情報?前も似たようなこと言ってた人居るけど、同一人物?
0010nobodyさん垢版2021/05/26(水) 19:12:47.52ID:???
>>9
今週Taylor兄貴が海外で放送されているIT関連の専門チャンネルに出演したんだけど
そこでLaravel9について質問された際に答えた内容がどう考えても多少の変更ではないレベルだったんだよ・・・
0011nobodyさん垢版2021/05/26(水) 19:19:12.13ID:???
あれはLaravel9ではなくLaravelの将来について質問された時の話だから
Laravel9ではまだそこまで影響でないと思うけど・・・
0012nobodyさん垢版2021/05/26(水) 19:20:45.17ID:???
ちなみにそこで発言した内容は現在のLaravelはMVCだけど
それをやめてMVVMパターンにしたいって話ね
0013nobodyさん垢版2021/05/26(水) 19:23:53.13ID:???
お前ら英語エアプか?
私としてはMVVMを採用したいけど変更が多すぎるからMVCのままでしょうね HAHAHAHA
って言ってただろ MVVMになることはない
0014nobodyさん垢版2021/05/26(水) 19:25:48.83ID:???
その話が本当か嘘かは置いておいてMVVMってMVCに比べるとどういうメリットとデメリットがあるんですか?
0015nobodyさん垢版2021/05/26(水) 19:26:07.06ID:???
コンセプトが変わるような物になるなら別のフレームワークにするような
0016nobodyさん垢版2021/05/26(水) 19:38:57.64ID:???
>>10
そういうことか。ありがとう。

>>12
それだと大きな変更にはならんよね。MVVMパターンてLivewire使ったら自然とそうなるし。JetstreamなんてまさにMVVMパターンの典型。controller要らなくなるなーてのを実感してる。
0017nobodyさん垢版2021/05/26(水) 20:47:32.19ID:???
MVCにすっかり慣れちゃったからLivewire使いにくいわ
0018nobodyさん垢版2021/05/26(水) 22:41:02.80ID:???
つまり、これから勉強するなら8でも良いってことですか?
0020nobodyさん垢版2021/05/27(木) 11:07:42.48ID:???
じゃ、>>2買っても良いのかなぁ
誰かのレビュー待って検討するか
0022nobodyさん垢版2021/05/27(木) 11:23:05.25ID:???
9向けのプルリクかなりの数承認されてるから8と9は別物と考えていいよ
0023nobodyさん垢版2021/05/27(木) 11:36:24.61ID:???
Laravelって、一生完成しなさそうですね。
0024nobodyさん垢版2021/05/27(木) 11:36:36.26ID:???
ブルリクの数だけでそんなこと言えるなら、8.0と8.43は別物!て言えちゃうんだけど大丈夫か?
0026nobodyさん垢版2021/05/27(木) 14:40:08.59ID:???
>>25
オウム返しじゃなくて、具体的な反論を頼む。
0027nobodyさん垢版2021/05/27(木) 15:19:53.77ID:???
まーたcomposerがエラー吐きまくって開発進まなくなった
composerの時代になってからこれが起きまくって困る、なんでこんなクソシステムが支持されてるの?
今vendor消してやり直したら復活したけど時間かかってしゃーないわ全く
0028nobodyさん垢版2021/05/27(木) 15:48:53.05ID:???
>>27
そんなのなったこと無いがどうやればそうなるの?
0029nobodyさん垢版2021/05/27(木) 15:49:11.92ID:???
まーたphpがエラー吐きまくって開発進まなくなった
phpの時代になってからこれが起きまくって困る、なんでこんなクソ言語が支持されてるの?
よく分からんから全部消して最初から書き直したら解決したけど時間かかってしゃーないわ全く
0031nobodyさん垢版2021/05/27(木) 16:00:09.22ID:???
>>28
マジかよ
Windows10上のDocker環境で普通に開発してるだけなんだがよくなるぞ
ならない環境教えて欲しい
0032nobodyさん垢版2021/05/27(木) 16:03:52.76ID:???
>>31
エラーの具体的なメッセージ書かないと分からんやろ。
0033nobodyさん垢版2021/05/27(木) 16:12:26.10ID:???
いつも先行販売している本屋さんがあるので明日売ってたら買ってくるね
0035nobodyさん垢版2021/05/27(木) 16:13:13.47ID:???
ただのドキュメントに書いてあることをコピペしてるだけみたいな本だったら買うの辞めるけど
0036nobodyさん垢版2021/05/27(木) 16:13:57.49ID:???
>>32
ここに詳しく書いても誰かが解決してくれるわけじゃないから書かなかったけど、抜粋するとこんな感じ
composer clear-cache
composer update --no-plugins
とか色々試したが駄目だった

- Upgrading symfony/var-dumper (v5.2.3 => v5.2.8): Update failed (Could not delete /var/www/html/vendor/symfony/var-dumper/Caster: )
- Upgrading nesbot/carbon (2.44.0 => 2.48.1): Update failed (Could not delete /var/www/html/vendor/nesbot/carbon/src/Carbon: )
0/5 [>---------------------------] 0% Install of psy/psysh failed
1/5 [=====>----------------------] 20% Update of league/commonmark failed
2/5 [===========>----------------] 40% Update of nikic/php-parser failed
3/5 [================>-----------] 60% Install of phpunit/phpunit failed
4/5 [======================>-----] 80% Update of nesbot/carbon failed
5/5 [============================] 100%

[ErrorException]
file_put_contents(/var/www/html/vendor/bin/var-dump-server): failed to open stream: File exists
0037nobodyさん垢版2021/05/27(木) 16:17:44.20ID:???
var-dump-serverが既にあるぞって言ってるじゃん
0038nobodyさん垢版2021/05/27(木) 16:17:44.59ID:???
>>33
ありがとうございます!
初心者向けかそれ以外かだけでもレビューください
0039nobodyさん垢版2021/05/27(木) 16:18:37.26ID:???
>>36
既にファイルあるぞって警告出てるだろ
var-dump-server消せよ
0040nobodyさん垢版2021/05/27(木) 16:19:05.69ID:???
>>35
昔よくあった「PHPで掲示板を作る本」的な、
Webアプリ作りながら進めるような内容かも教えて下さい。
公式のドキュメントは機能紹介が中心で、とっつきにくかったので。
0041nobodyさん垢版2021/05/27(木) 16:19:45.97ID:???
>>31
何が起きてるか、どんなエラーなのか書かないとそもそも対策すら立てられない気がするが
こちらはhomesteadで開発してるけど問題起きたことは無いなぁ
0043nobodyさん垢版2021/05/27(木) 16:35:26.53ID:???
>>42
ほんとですね・・・
Laravelのドキュメントも見てるんですが、よくわからないんですよねぇ
最初からDockerがどうのって時点で詰みます。
Composerはわかるものの、専門用語が多くてパニックになってます。
だから、もう少し初心者向けなら良かったんですが
目次を見る限り、ドキュメントと変わらないっぽいですね
0044nobodyさん垢版2021/05/27(木) 16:36:42.34ID:???
>>36
まんま>>29と一緒だろ
エラーメッセージくらい読めば大抵のこと解決するのに
0045nobodyさん垢版2021/05/27(木) 16:46:12.71ID:???
>>44
じゃあエラーださなければいいのでは
なんでこんなスレまで来て粘着してるのか
0046nobodyさん垢版2021/05/27(木) 17:34:17.32ID:???
コテハンどころかIDすら出てない匿名なのに粘着とは
0047nobodyさん垢版2021/05/27(木) 17:48:25.10ID:???
そもそもcomposerがエラー吐きまくるとか言うけど
初回以外に構成が変わったりしない限りそう叩くものじゃなくね?
composer dump-autoload
は叩くことがあるかもしれないが
0048nobodyさん垢版2021/05/27(木) 17:52:30.07ID:???
何かを追加する時に叩くだろ
laravel/uiとか
1つの開発に数回ぐらい感覚的にある
0049nobodyさん垢版2021/05/27(木) 17:54:04.50ID:???
>>37
>>39
そりゃそうなんだけどなんでそんなことになるんだよ
エラー出たら都度手動で削除しながら使うツールがあるかいや
0050nobodyさん垢版2021/05/27(木) 18:06:23.20ID:???
Laravel勉強したとして会社の仕事でLaravel使うの?
それともただの趣味?
0051nobodyさん垢版2021/05/27(木) 18:27:57.04ID:???
大抵は会社で使うから覚える感じじゃないのかなぁ?
趣味とかwebの学習でと言う人はPHPにあんまり行ってない気がする
仕事はPHPが一番ありそうだけど素人はPythonとかに何故か行くよね
0053nobodyさん垢版2021/05/27(木) 19:38:43.27ID:???
どうせたいしたものは作らないんだろ
0056nobodyさん垢版2021/05/27(木) 23:07:27.00ID:???
>>55
求人数と年収がjavaに負けているということは
javaに負けているという可能性があるな
0058nobodyさん垢版2021/05/28(金) 15:15:59.80ID:???
>>49
でもそれがPHPの世界のスタンダードだよ
それが受け入れられないんだったら暗黒の世界へお帰り
0060nobodyさん垢版2021/05/28(金) 17:24:24.80ID:???
来月発売の本、shin1x1が絡んでるやないか
立ち読みしてから買うの決めるか
カスタマイズ系の本が少なすぎるので出版してもらいたい
0061nobodyさん垢版2021/05/28(金) 19:46:30.10ID:???
目次見る限り5.5との差分が無さそうなんだよな。サンプルコードだけ変わってもなぁて。せめて8で公式にサポートされたvalue objectなんかにも触れてくれるなら良かったんだが。
0062nobodyさん垢版2021/05/29(土) 03:53:48.39ID:???
よくよく考えたら俺Laravel使ってなかった
0063nobodyさん垢版2021/05/29(土) 13:03:11.38ID:???
>>2
いつも先行発売してくれるジュンク堂になかったからamazonで購入
明日届く
明日なら店頭にも並んでそうだな
0064nobodyさん垢版2021/05/29(土) 13:03:51.85ID:???
明日本読んでレビュー書くわ
0065nobodyさん垢版2021/05/29(土) 13:23:52.43ID:???
>>63-64
お願いします!せめて初心者向けかだけでも教えて下さい
0067nobodyさん垢版2021/05/29(土) 15:15:44.68ID:???
むしろ初心者向けじゃない本なんてあるのか
初心者しか読まないのに
0068nobodyさん垢版2021/05/29(土) 16:21:36.68ID:???
せめて目次見てから言えよ。CQRSとかADRを必要とする初心者って意味わからんわ。
0069nobodyさん垢版2021/05/29(土) 16:35:51.59ID:???
500ページってボリュームを全部よむよりは
必要なページだけ読みたいね
0070nobodyさん垢版2021/05/29(土) 16:56:13.73ID:???
目次読む限り初心者向けとは思いませんでした
0071nobodyさん垢版2021/05/29(土) 17:03:48.94ID:???
今認証中のユーザーがどこのモデルに属しているか確認する方法ありませんか?
0073nobodyさん垢版2021/05/29(土) 17:47:26.80ID:???
自己解決
user()の中に情報入ってました
0075nobodyさん垢版2021/05/29(土) 18:08:55.77ID:???
ごめん解決したの見ていませんでした
0076nobodyさん垢版2021/05/30(日) 22:23:54.16ID:???
明日発売の本買いました
Laravel初心者さんはぜひ買っても問題ないです。
ただ、PHP初心者さんには難しいかもしれないです
0077nobodyさん垢版2021/05/31(月) 11:07:29.81ID:???
>>76
本の手順で進めればひと通り理解できる内容ですか?
あと本が分厚くて読みにくい(学習しにくい)とかありますか?
0078nobodyさん垢版2021/05/31(月) 11:12:44.84ID:???
>>77
ページ数が多いので全部読んでいませんが
辞書として必要なところを調べる形で使っています
それでも問題ない認識です
0079nobodyさん垢版2021/05/31(月) 13:19:38.80ID:???
>>78
なるほど。順番に進めて覚えるような感じではないんですね
0082nobodyさん垢版2021/05/31(月) 16:21:02.34ID:???
Laravelの.envってたまに変更しても反映されないことない?
キャッシュかとおもってキャッシュクリアコマンド実行しても反映されず
OSの再起動を実施すると反映されることがごくたまにある
0083nobodyさん垢版2021/05/31(月) 16:33:53.50ID:???
https://readouble.com/laravel/8.x/ja/configuration.html
Note: 開発過程の一環としてconfig:cacheコマンド実行を採用する場合は、必ずenv関数を設定ファイルの中だけで使用してください。設定ファイルがキャッシュされると、.envファイルはロードされません。したがって、env関数は外部システムレベルの環境変数のみを返すだけです。
0084nobodyさん垢版2021/05/31(月) 16:36:56.62ID:???
>>81
いいえ、普通にwindows10ですが?
どうしてそんな古いOS使ってると思ったんですか?
laravelスレの人はこんな捻くれた回答しかできないんですか?
0085nobodyさん垢版2021/05/31(月) 16:57:47.55ID:???
このスレ、前から約1名面白いことを言おうとして滑りまくってるやつが居るんだけど、>>81はそいつだと思う。
一応皆スルーしてるみたいなので、お前もスルーしとけ。下手に触ると喜ばせるだけ。
0088nobodyさん垢版2021/05/31(月) 17:38:39.82ID:???
Laravelが遅いという話をよく聞くのですが本当でしょうか?
他のフレームワークと比較したときに人間が感知できるレベルで
処理などが遅くなるのでしょうか?
0089nobodyさん垢版2021/05/31(月) 18:06:47.42ID:???
>>88
遅いと言えば遅い。Railsとどっこいどっこいって感じ。ただしそれはOPcaheを使ってない場合。OPcache使えば、おおよそ5-10倍のリクエストを捌けるようになり、十分な速さになる。
0092nobodyさん垢版2021/05/31(月) 23:00:42.73ID:???
>>84
ちゃんと自分の環境を書かないからそうなる
0093nobodyさん垢版2021/06/01(火) 19:59:24.93ID:???
今から5系の参考書買って意味ありますか?
5系だとお安いので迷ってます。
0094nobodyさん垢版2021/06/01(火) 20:04:21.98ID:???
5系あたりだと認証系の情報が古いよ
0095nobodyさん垢版2021/06/01(火) 20:32:07.38ID:???
ありがとうございます。
サポートが長いバージョンとのことで大丈夫かと思ったのですが
もうサポート切れてたようです…
大人しく8系で安く出るの待ちます!
0096nobodyさん垢版2021/06/01(火) 20:41:47.04ID:???
>>91
分からん。けどcakeのほうが早い可能性が高い。ただしOPcacheを使っているならば、ビジネス上懸念されるような差は無いと予想。
0097nobodyさん垢版2021/06/01(火) 21:19:09.39ID:???
>>96
なるほど・・・。
cakeは2までの知識しかないのですが、2でも遅いって話があるのに
それよりも遅いってのもなかなか辛いですね。
今はページ表示速度もSEOの指針になるので
0098nobodyさん垢版2021/06/01(火) 22:53:37.49ID:???
>>95
金ないならアルバイト1日頑張ればええやん
タイムイズマネーだよ
そんなの待ってたらずっと取り残されたままで永遠にものにならないよ
0099nobodyさん垢版2021/06/01(火) 23:01:44.38ID:???
>>95
正直公式読んで分からないやつは趣味なら大丈夫だけど仕事ではキツいぞ
本なんて買う必要ないよ
0100nobodyさん垢版2021/06/01(火) 23:54:12.95ID:???
公式は専門用語多くて分かりづらいっす・・・
0101nobodyさん垢版2021/06/02(水) 00:11:29.30ID:???
公式読み解けない一にとっては本はありだと思うよ
職人のフレームワークだから公式は初心者には寄り添ってないしね
公式読み解けるレベルまで行けばそれ以降は本は不要
0102nobodyさん垢版2021/06/02(水) 00:42:33.19ID:???
公式のどこを読めって話?まさか全部じゃないよね
0103nobodyさん垢版2021/06/02(水) 01:04:11.81ID:???
インストールガイドを読んでそこから必要に応じて派生ページを読む
0104nobodyさん垢版2021/06/02(水) 07:35:52.57ID:???
>>97
ビジネス上懸念されるようなことは無いって書いたのにスルーしないでくれ。cakeにしても遅い遅い言ってる奴は、どうせOPcache使ってないだろ?
0105nobodyさん垢版2021/06/02(水) 08:15:26.02ID:???
付け加えておくと、フレームワークのレベルで遅いかどうかって話はSEOとほぼ関係ない。あくまで時間当たりの処理可能件数に差が出るだけ。サーバーのリソースを食うから。
SEOに関してはDBのI/Oやフロントエンドで使用するアセットのサイズ、ブロッキングの有無の方が1万倍重要。
0106nobodyさん垢版2021/06/02(水) 11:14:24.51ID:???
本を読まなくても学習することはできるけど
本を読まないやつは無能
0108nobodyさん垢版2021/06/02(水) 13:58:02.08ID:???
>>102
必要なところだけ読めばいいのでは?
それで分かりにくいとかならググれば大抵はヒントがあるやろ
0109nobodyさん垢版2021/06/02(水) 15:43:00.67ID:???
特定の言語やフレームワークの習得に限って言えば、本なんかに頼る必要性はほぼ無い。マニュアルとコード読んで理解するのがベスト。本に書いてあることなんてごく一部でしかない。
第一、じゃあその本書いた人たちはどうやって習得したんだろう?て話。無能な奴らが書いた本をありがたがってるってことになるわけだが。
0110nobodyさん垢版2021/06/02(水) 16:03:16.06ID:???
>>109
多分106はいつもの荒らしだから相手にしないほうが良い
0111nobodyさん垢版2021/06/02(水) 18:17:47.79ID:???
>>108
必要なところだけ、しかもググった結果を集めてくれてる
それが書籍じゃないのかな
だとしたら有料であるという以外は書籍有利では?
0112nobodyさん垢版2021/06/02(水) 18:34:23.89ID:???
本単体では情報がアップデートされない
0113nobodyさん垢版2021/06/02(水) 18:40:58.97ID:???
ちょうど本をされているので相談です。

・動かして学ぶ! Laravel開発入門
・PHPフレームワーク Laravel Webアプリケーション開発 バージョン8.x対応

を立ち読みしてきました。
どちらも初心者向けだと感じましたが、前者の方が読みやすかったです。

ただ、前者のはバージョン6対応とのことですが、
8とか9を勉強するなら問題ありますでしょうか?
0114nobodyさん垢版2021/06/02(水) 18:42:55.69ID:???
>>113
後者は初心者にとって半分以上ゴミになる可能性があるから、1冊目にしとけ。
0115nobodyさん垢版2021/06/02(水) 18:52:30.96ID:???
なんかやたら書籍を持ち上げたがる人いるね
どちらが優れてるかなんて状況次第だし、本でもネットでも好きなので覚えればいいのに
0116nobodyさん垢版2021/06/02(水) 18:54:26.29ID:???
>>115
すまん、前レス見てなかったが「どちらが優れてるいるか」のくだりは書籍かネットかの話ね
113のどちらの書籍が良いかという話は俺には分からん
0117nobodyさん垢版2021/06/02(水) 19:39:24.28ID:???
誰もお前にゃ聞いてないて…
ここの主かなんかなん?
0118nobodyさん垢版2021/06/02(水) 19:41:57.02ID:???
そもそもネットで検索した程度なんて部分的なものしか集められない
0119nobodyさん垢版2021/06/02(水) 19:52:38.70ID:???
出版のタイミングにおいて整合性の取れてる整理された情報が手に入る、っていうのが今の書籍のメリット。
きちんとググり方がわかっていて予備知識があるなら必要ないよ。
0120nobodyさん垢版2021/06/02(水) 20:07:53.71ID:???
整合性で言うなら普通に公式のマニュアル読めばよくね?
0121nobodyさん垢版2021/06/02(水) 20:15:58.75ID:???
普通の感覚だと書籍かマニュアル好きなほうで学べばいいと思うけど、書籍を絶対視するのはよくわからんな。
0122nobodyさん垢版2021/06/02(水) 20:32:53.02ID:???
電子書籍ならまだ分かるけど物理的な本はもう正直いらないな
過去の技術書殆捨てちゃたよ
0124nobodyさん垢版2021/06/02(水) 21:13:48.84ID:???
>>120
そうだぞ。本はマニュアル読み解けないレベルの初心者向けって感じの位置付けで良いと思う。
0125nobodyさん垢版2021/06/02(水) 21:38:52.93ID:???
8いじってるけどLivewire使いにくいな、何か根本的な所が今まで慣れたMVCと違う気がする
これ基礎から学ぶのに何かええ教材ないかな
0127nobodyさん垢版2021/06/02(水) 21:51:50.82ID:???
>>126
使うと最初から色々できてて楽なんだよ
これをベースにしたい
0128nobodyさん垢版2021/06/02(水) 22:43:11.94ID:???
そもそもLivewireは、MVVMだぞ。その意識だけあればOK。それよか、親子関係のコンポーネント作る時に色々面倒すぎて憤死した。
0130nobodyさん垢版2021/06/03(木) 17:19:38.63ID:???
なんで自分で調べないの?
0132nobodyさん垢版2021/06/03(木) 19:05:03.83ID:???
Livewireは流石に使う気になれないな
これどっちにしても流行らないでしょ?
0134nobodyさん垢版2021/06/03(木) 22:19:37.24ID:???
でもlivewire入れたら初期状態で認証とチーム管理入っていて便利やん
0135nobodyさん垢版2021/06/03(木) 23:15:19.24ID:???
livewire入れると初期状態で認証とチーム管理がインストールされるということは
初期状態で認証とチーム管理が扱えるということですか?
0136nobodyさん垢版2021/06/04(金) 00:41:54.56ID:???
いやlivewireで初期状態で使えるのは認証とチーム管理だけだよ
0137nobodyさん垢版2021/06/04(金) 07:45:22.82ID:???
>>129
model-view-viewmodel というアーキテクチャのこと。フロントとバックエンドは、controllerを介さずview modelという層を挟んでmodelと状態やデータを同期させる仕組み。
0139nobodyさん垢版2021/06/04(金) 09:57:52.29ID:???
livewireと言えばモトリークルーだよな
0140nobodyさん垢版2021/06/04(金) 11:09:03.06ID:???
livewireの読み方教えて下さい
0141nobodyさん垢版2021/06/04(金) 11:37:17.81ID:???
MVVMってJavaScriptオフにされてたら動かないよね
0142nobodyさん垢版2021/06/04(金) 12:15:18.12ID:???
今時javascript切ってるやつなんか無視してよい
0143nobodyさん垢版2021/06/04(金) 13:05:19.33ID:???
信頼してるサイトでしかONにしない俺は少数派?
0144nobodyさん垢版2021/06/04(金) 13:09:28.40ID:???
>>143
絶滅危惧種だろ
JavaScriptが怖いのは基本的にはXSSで、それは「信頼したいサイト」ほど仕込まれたときの影響が大きい
無駄に利便性を削ってると思うぞ
0145nobodyさん垢版2021/06/04(金) 14:39:02.61ID:???
そろそろLaravel始めようか悩み中
0147nobodyさん垢版2021/06/04(金) 15:28:48.52ID:???
今からなら8一択でしょ
9になればどうせすぐにアップデートするんだから
0148nobodyさん垢版2021/06/04(金) 15:46:05.44ID:???
これ以上何をどうアップデートする機能があるのか?
0149nobodyさん垢版2021/06/04(金) 16:51:55.37ID:???
>>148
機能だけなら今で十分だよなぁ
コレクションがもう少し処理速度が改善すればとは思うけど
0150nobodyさん垢版2021/06/04(金) 16:58:56.68ID:???
ソーシャルログインみたいなライブラリ使いたい時も8でいいの?
0151nobodyさん垢版2021/06/04(金) 20:03:44.75ID:???
次のLaravel9では大型アップデートとかあるの?
0152nobodyさん垢版2021/06/04(金) 20:35:39.82ID:???
9はLTSだし大きな変更は入れてこないだろ
0153nobodyさん垢版2021/06/04(金) 23:03:43.27ID:???
>>150
ソーシャルログインはsocialite使うって話なら、8にも対応してるから大丈夫。
0154nobodyさん垢版2021/06/05(土) 00:10:16.08ID:???
>>153
対応してる・してないってどう見極めたら良いの?
ググって使いたいライブラリやプラグイン探して、
あればそのバージョンを勉強していく感じ?
0155nobodyさん垢版2021/06/05(土) 01:41:17.35ID:???
見極めるも何もリポジトリ見れば依存関係書いてあるし
0158nobodyさん垢版2021/06/05(土) 13:56:51.70ID:???
マニュアルやreadmeに親切に書いてあるだろ
0162nobodyさん垢版2021/06/05(土) 17:31:04.46ID:???
サポートも依存もcomposer.json見るのが普通
>>160のは誤っているので参考にしないようにしましょう
0163nobodyさん垢版2021/06/05(土) 17:42:52.42ID:???
みんなどんなプロジェクトもLaravel使ってるの?

DB保存のお問合せフォームみたいなの作るんだけど、
過去に作ったオレオレ使うか、Laravel使うかで悩んでる
テーブル1つ2つで済むような規模でFW使うのもなぁ
0164nobodyさん垢版2021/06/05(土) 17:59:11.60ID:???
昔は小規模ならオレオレ派だったけど、誰かに引き継ぐ時にオレオレだと説明面倒だし、恥ずかしいし等あって、もう全てにおいてLaravel使ってる
0165nobodyさん垢版2021/06/05(土) 17:59:26.74ID:???
過去に作ったオレオレw
字面だけでメチャクチャヤバそう
0166nobodyさん垢版2021/06/05(土) 18:01:35.06ID:???
>過去に作ったオレオレ
そんなゴミさっさと捨てて、前に進む勇気を持った方が幸せになれる
0167nobodyさん垢版2021/06/05(土) 18:54:21.27ID:???
>>164
>>163みたいなお問い合せフォーム程度でも使ってるの?
納品する時ファイル数多くなって余計に面倒な気もするが
0168nobodyさん垢版2021/06/05(土) 19:07:58.86ID:???
最近インクリメント君こないな
彼はbigintを枯渇させたらしいけど一体何のシステムを作っているのだろうか
0169164垢版2021/06/05(土) 19:11:53.71ID:???
>>167
そのサイトがこの先ずっとお問い合わせだけで終わる保障はないし、納品後誰が触るかわからないじゃん?
だから規模に関わらずLaravel使ってるよ

あくまで私はそうしてると言うだけで、万人に対するベストアンサーかは知らん
0170nobodyさん垢版2021/06/05(土) 19:30:36.07ID:???
ちょっとしたものならオレオレに使いたい一部のライブラリ(twigとかcarbon等)をcomposerで導入で良いかも
0171nobodyさん垢版2021/06/05(土) 19:48:52.12ID:???
>>160
サポートと依存が異なるっていうか、特に下位互換性については、main(master)のcomposer.json見ても分からんから、ReadMe読めってことかな?
バージョン落とせば古いLaravelにも対応できるパッケージがある一方、最新の8しかサポートしてないやつもあるよね。
0173nobodyさん垢版2021/06/05(土) 21:10:09.87ID:???
問い合わせフォームは自動返信付きにすると一気に難易度上がるからなあ
Laravel使っといた方が制御が楽でしょ
0174nobodyさん垢版2021/06/05(土) 21:19:42.25ID:???
自動返信とかGAS書いて終わりだぞ。1時間もあれば大抵のユースケースに対応できる。唯一残念なのはデザインのカスタマイズがイマイチなことぐらい。一方のLaravelだとインフラ周りも用意しないとダメだし、割りに合わなさすぎる。
0176nobodyさん垢版2021/06/05(土) 22:30:41.25ID:???
なんで自分で調べないの?
0177nobodyさん垢版2021/06/05(土) 22:41:33.72ID:???
>>168
bigintを枯渇させた!?
それって全世界規模のシステム作ってないと枯渇しないのでは・・・
にわかに信じがたいな
0179nobodyさん垢版2021/06/06(日) 06:18:17.11ID:???
>>177

それは>>168の捏造。
実際はINT型で数年で破綻する設計があるので、
オーバーフローする型を主キーにする設計はおかしいという話だった。
>>168は以前から虚言癖あるからあんまりマトモに相手しない方が良い。馬鹿だから。
0180nobodyさん垢版2021/06/06(日) 11:02:22.06ID:???
laravelの場合id()をincrement()に変更しなければbigintになるかずだけど
increment()をおすすめする記事があるんだよな
0181nobodyさん垢版2021/06/06(日) 12:01:48.87ID:???
>>169
どんな案件でも得意のFW使うって、考え方として正しいのかもね
たとえCakeみたいに古くなっても、更新できるしな
0182nobodyさん垢版2021/06/06(日) 12:52:39.56ID:???
自前のWebサービス作る時に、Livewire使うか従来のMVCで行くかすげえ悩む
要はフォームをPOSTで更新するかAJAXで更新するかの違いなんだけどどっちが使い勝手いいんだろうか?
個人的には本当にどっちでもいいしだったらユーザーが使いやすい方が良いんだけどそれもわからん
0183nobodyさん垢版2021/06/06(日) 14:11:48.19ID:???
>>182
POSTかajaxかの違いは、MVCかどうかには関係ないだろ。
0184nobodyさん垢版2021/06/06(日) 14:48:06.01ID:hLhI30lV
コントローラーの記述は少ないほうがいいってどこかの誰かが言ってた気がするんですけど、数ページある場合はページごとにコントローラー作ったほうがいいんですか?
例えば、トップ、料金システム、サービス内容、ブログ、お知らせ、問い合わせのページがあるような場合です。
0185nobodyさん垢版2021/06/06(日) 14:48:43.08ID:???
>>183
俺が迷ってるのはLivewire(MVVM)使うかMVC使うかって所な
後者でもAJAXできるが前者はAJAXオンリーになる
0186nobodyさん垢版2021/06/06(日) 15:19:44.52ID:???
>>184
それならコンテンツ(モデル)毎にコントローラー作るべきだよ
なにせ用途が違うんだから
0187nobodyさん垢版2021/06/06(日) 15:43:26.07ID:???
livewire使うくらいならreactかvueで作るわ
0189nobodyさん垢版2021/06/06(日) 16:27:30.10ID:???
>>179
オーバーフローってことは枯渇についての話でしょ?
いまいち>>168の内容が捏造ってのがよくわからないんだけど
0190nobodyさん垢版2021/06/06(日) 21:26:02.84ID:???
なんで過去に出たLaravel本は改定して最新バージョンに対応しないんだろうな
0192nobodyさん垢版2021/06/06(日) 22:22:22.57ID:???
ぐぐればいい時代に本なんて買わんしな
0193nobodyさん垢版2021/06/06(日) 22:33:42.63ID:???
ググっても書いてる人が文章能力ないと、わかりづらいんだよな
0194nobodyさん垢版2021/06/07(月) 00:07:46.12ID:???
公式マニュアルとその日本語翻訳サイトが優秀だから
0195nobodyさん垢版2021/06/07(月) 01:53:23.81ID:???
とりあえず秋のLTS待ちでしょ
毎年出すほどは売れないから
0196nobodyさん垢版2021/06/07(月) 02:43:15.71ID:???
結局本を書く側もあんまり売れなきゃ金銭的に儲けはあんまりないし
フレームワーク限定の本なんて今の時代より売れない気がする
もうちょっとPHPのシェアが上がらないとなぁ
0197nobodyさん垢版2021/06/07(月) 08:04:04.89ID:???
周りに本出すエンジニア何人か居るけど、口を揃えて、「割りに合わない」と言ってるぞ。箔付にはなるってぐらいだ。だから儲かる儲からないは、出版の判断材料にはならない。
0198nobodyさん垢版2021/06/07(月) 08:34:22.03ID:???
本買うにしても日本のこのIT後進国っぷりを見ると日本語の本は買わない方がいい
0199nobodyさん垢版2021/06/07(月) 09:05:35.62ID:???
>>198
釣り針デカすぎ。荒らしは消えてどうぞ。
0200nobodyさん垢版2021/06/07(月) 10:51:34.42ID:???
>>179
bigintであれば数年で枯渇するようなレベルではなくないか?
普通にbigintのインクリメント使ってもいいとおもうけど
0201nobodyさん垢版2021/06/07(月) 11:41:21.88ID:???
元々、オートインクリメントだとオーバーフローするじゃん!みたいなこと言ってて、周りから「bigint使えば良いじゃん。もしかして知らない??」て突っ込まれて、すげー長々と言い訳してたからなぁ。
920京だとunsignedだからPHPでは読めない!とか馬鹿みたいなこと言ってたし(920京はsigned)。
laravelだとパージョン6から、標準のusersテーブルだとidにbiggntを使うようになっている。
0202nobodyさん垢版2021/06/07(月) 11:51:47.58ID:???
マイグレーションファイルのidのデフォルトはid()
何故increments()ではないのかの議論がissueかフォーラムか忘れたけどどこかにあったね
0203nobodyさん垢版2021/06/07(月) 12:40:24.94ID:???
>>202
5.7まではincrements()、6.×でbigIncrements()、7.×でid()だな。その議論は7じゃなくて6の時じゃね?
0204nobodyさん垢版2021/06/07(月) 12:51:31.46ID:???
>>199
なんで正論言ったら荒らしになるんだよ
何が気に障ったんだ
0205nobodyさん垢版2021/06/07(月) 12:57:17.61ID:???
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
0209nobodyさん垢版2021/06/07(月) 14:39:30.58ID:???
>>200-201
INT でオーバーフローが懸念されたので BIGINT型に変更したのは Twitter くらいしか話を聞いた事は無いけど、
俺が言ってるのは、オートインクリメントでプライマリキー作るような奴はそもそもデータ型に対する理解なんか一切無い場合が殆どだから、
INT型の範囲がどの位あって、何年で溢れそうか?
みたいな計算一切せずに、何となくINT型にする馬鹿だらけだろう、って話。
で、問題が発生してなにが起こったのかすら分からず、連日徹夜で闇雲に調査してやっと気付いた時には大問題、みたいな、恒例のパターンになるだろ?って事。
0210nobodyさん垢版2021/06/07(月) 15:04:44.88ID:???
>>197
この手の本なんて売れてもせいぜい数千部、頑張っても数万部とかだからね
印刷代、倉庫代、取次手数料、編集者の取り分なども考えたら著者に渡せる金はホント少ない
専業の人は何冊も書かないと食っていけないし、そうでない人は趣味みたいな気持ちでやるしかない

ただ、出版社も編集者も出版点数のノルマがあるので、
タイミングによっては数稼ぎでそこそこ手堅く損はしないだろうと判断できたら数稼ぎで本を出す
Laravel本は改定本出てるのが多いから、そういう対象にはギリギリなってるみたいね
おそらく次のLTSでも何冊かは出るよ
0211nobodyさん垢版2021/06/07(月) 15:05:47.61ID:???
>>209
>INT型の範囲がどの位あって、何年で溢れそうか?
>みたいな計算一切せずに、何となくINT型にする馬鹿だらけだろう、って話。

これなんかデータあるの?それともお前の妄想?
0212nobodyさん垢版2021/06/07(月) 16:08:03.74ID:???
> INT でオーバーフローが懸念されたので BIGINT型に変更したのは Twitter くらいしか話を聞いた事は無いけど、

これっていつ頃の出来事?そんなニュースあったっけ
0213nobodyさん垢版2021/06/07(月) 16:11:52.16ID:XShOSVRG
> INT でオーバーフローが懸念されたので BIGINT型に変更したのは Twitter くらいしか話を聞いた事は無いけど、

たった一例しか知らないのに「何となくINT型にする馬鹿だらけだろう」って決めつけてるの矛盾してない?
0214nobodyさん垢版2021/06/07(月) 17:50:37.59ID:???
>>209
仮に1日あたり1億レコード消費する計算だとsignedBigint(63bit)を消費するまで何年かかるか分かる?
0215nobodyさん垢版2021/06/07(月) 21:25:33.92ID:???
>>214
そのぐらい人に聞かないで自分で計算しろよ・・・
0216nobodyさん垢版2021/06/07(月) 21:36:03.19ID:???
>>215
214じゃないけど、聞きたいのって「何年か」ではなく「分かるか」であって、
integerではなくbooleanを求めているんでしょ
0217nobodyさん垢版2021/06/07(月) 23:32:56.47ID:???
>>216
2.5億年かかるけど、おそらく彼は分からない
0218nobodyさん垢版2021/06/07(月) 23:45:18.91ID:???
作りたいアプリあるけど9待ちにするか8で始めるか
もしくはLaravelじゃなくてExpressにするか
ただしRailsだけは使わん
phpかjsだけにしておきたい
0219nobodyさん垢版2021/06/07(月) 23:50:05.67ID:???
すぐ動けるなら8で始めなよ
9を待つ意味はない
0223nobodyさん垢版2021/06/08(火) 13:34:03.48ID:???
6から9より
8から9のほうが移行楽
0224nobodyさん垢版2021/06/08(火) 13:43:54.81ID:???
そもそもそんなに移行するものなのかと
0225nobodyさん垢版2021/06/08(火) 13:51:11.90ID:???
LTSごとにでいいんじゃないか?
6で開発してる人が移行するにしても9からだろ
0226nobodyさん垢版2021/06/08(火) 14:13:45.20ID:???
既に6で始めてるなら9が出てから移行すれば良いと思うけど、新たに6で始める意味は無いな。
6より8のほうがbugfixのサポート長いし、移行も楽だし。
0227nobodyさん垢版2021/06/08(火) 15:21:07.17ID:???
Laravelでやってはいけないアンチパターンみたいなものってあるんですか?
0228nobodyさん垢版2021/06/08(火) 15:24:49.84ID:???
seederで本番データを登録はできるけどやっては駄目だね
seederはあくまでもテストデータを登録する用途だから
本番データを登録したいならartisan make:command等で専用コマンドを作ったほうがいい
0229nobodyさん垢版2021/06/08(火) 18:11:14.76ID:???
本番だけseederで登録しないようにする方法ありませんか
--seedの指定しなければ良いんでしょうけどうっかりもあるので
0230nobodyさん垢版2021/06/08(火) 18:15:40.34ID:???
app.envみて制御すればいいじゃん
0231nobodyさん垢版2021/06/08(火) 22:40:41.09ID:???
いやいや、制御も何も本番でseeder読み込もうとしたらプロンプトでてきて、本当にやるかどうか聞かれるはず。
0232nobodyさん垢版2021/06/09(水) 00:05:48.09ID:???
それはマイグレーションでも同じだったような
破壊的操作に関して本番環境でチェック入ってるのは当然かと
0233nobodyさん垢版2021/06/09(水) 10:00:20.33ID:???
選択肢だけじゃミスは防げないよね
0234nobodyさん垢版2021/06/09(水) 10:19:19.85ID:???
Laravel使うとLaravel縛りで苦しむみたいだな
0235nobodyさん垢版2021/06/09(水) 10:24:12.53ID:???
他のフレームワーク使っても結局一緒では?
0236nobodyさん垢版2021/06/09(水) 10:53:19.62ID:???
Zend Frameworkこそこの世で一番自由
0237nobodyさん垢版2021/06/09(水) 10:54:27.82ID:???
皆がオレオレフレームワーク作る時代はもう来ないのか
0238nobodyさん垢版2021/06/09(水) 11:20:05.20ID:???
来ないだろ
面倒なことが多すぎる
0239nobodyさん垢版2021/06/09(水) 20:50:19.63ID:???
どうだろ?
APIだけなら別に何でも良さそうだけどね
0240nobodyさん垢版2021/06/09(水) 22:00:38.77ID:???
>>239
でもAPIはオレオレ詐欺フレームワークで作るのきつくない?
それだったらLaravel使ったほうがいいでしょ
0241nobodyさん垢版2021/06/09(水) 22:18:30.24ID:???
APIって配信元がマニュアル公開してるから、作りやすくないか?
むしろフレームワーク通すとややこしくなりそうだが
0242nobodyさん垢版2021/06/09(水) 22:31:32.02ID:???
この板で勢いあるのがこのスレだけなんだな
過疎板でいつ消えるかわからんけど
0244nobodyさん垢版2021/06/09(水) 22:43:42.01ID:???
お前らってコントローラの名称を単数形と複数形どっちにしてる?
0245nobodyさん垢版2021/06/09(水) 22:48:27.05ID:???
Laravelのインストールに成功しました(10年ぶり2回目)
インストール手順変わったよね?今回めっちゃ苦労したぞ
0248nobodyさん垢版2021/06/10(木) 11:10:59.75ID:???
ちなみに、エラー文をそのままググったけどよく分からなかった
0249nobodyさん垢版2021/06/10(木) 11:13:22.95ID:???
Composerは未完成なツールだから使っちゃダメ
Composerに依存したシステムは破綻する
0250nobodyさん垢版2021/06/10(木) 12:37:07.74ID:???
Composerのエラーって何々しろって出てるけど英語読まない人が対応できないみたいね
0251nobodyさん垢版2021/06/10(木) 15:06:52.90ID:???
>>250
多分日本語で書いてあっても読まないだろうな
0252nobodyさん垢版2021/06/10(木) 15:18:37.90ID:???
だってAllowed memory size of 2097152 bytes exhaustedとか出るけど増やしても増やしても解決しないんだぜ
読んで対応したぐらいで解決してりゃ誰も苦労しないよ
0253nobodyさん垢版2021/06/10(木) 15:42:14.81ID:???
>>244
githubにアップされてるLaravelベストプラクティスを読めば良いぞ。
0254nobodyさん垢版2021/06/10(木) 15:43:05.95ID:???
composerを2にアップデートしてないやつがメモリエラーで死んでる印象。
0256nobodyさん垢版2021/06/10(木) 16:33:13.00ID:???
うちの場合はServer error: `GET http://cabinet.laravel.com/latest.zip` resulted in a `522 Origin Connection Time-out` response:
だったけど、ぐぐって出た対策じゃ解決しなかった。タイムアウトとか言われてもどうしたらいいんだよ。
0258nobodyさん垢版2021/06/10(木) 20:35:58.99ID:???
>>257
バリデーションはモデルでやれよ
Requestでやるとバッチ処理の時に困るぞ
0259nobodyさん垢版2021/06/10(木) 20:41:48.68ID:???
>>258
前もそれ書いてたよね。Laravelエアプかよ。
0260nobodyさん垢版2021/06/11(金) 04:48:21.12ID:5vkPxv+8
できるだけCSSフレームワーク使いたくない派なんですけど、jetstreamがtailwindとのことなので、どうせjetstream使ってtailwind読み込むならtailwind使っちゃったほうがいいですかね?
0261nobodyさん垢版2021/06/11(金) 08:41:44.66ID:???
>>260
そりゃそうよ。まぁtailwindCSS使った方が楽なことが多いから。アホみたいにCSS設計とか命名規約とかに無駄な時間使うことも無くなるし。
0262nobodyさん垢版2021/06/11(金) 09:03:48.83ID:???
前に書いてたから何なんだ?
エアプって何?
言いたいことがあるなら普通に言えよ
0263nobodyさん垢版2021/06/11(金) 09:26:23.73ID:???
>>262
Laravelのフォームリクエストは、外部からの入力を検証するための機構だからモデルでやれって主張はアホすぎるってこと。MVCでは、入力値の検査はコントローラーの責務。

RailsとかがModelで検査してるのは、MVCよりActiveRecordのルールを優先した結果に過ぎない。

そもそも画面やAPIからの入力とバッチの入力のバリデーション仕様が同じになるケースなんてまず無いと思うんだけど?

誰にも相手にされなかった主張を、また繰り返すのはやめたほうが良いぞ。
0264nobodyさん垢版2021/06/11(金) 09:46:27.72ID:???
MVVMだとValidationはどこでやるんですか?
0265nobodyさん垢版2021/06/11(金) 09:59:29.37ID:???
Cakeだとバリデーションはモデルに書いてたけど、Laravelではダメなん?
0266nobodyさん垢版2021/06/11(金) 10:03:18.73ID:???
>そもそも画面やAPIからの入力とバッチの入力のバリデーション仕様が同じになるケースなんてまず無いと思うんだけど?

え、そんなことはなくない?
1つのテーブルにデータを追加するシンプルな要件だと、WebからフォームをPOSTしてもバッチで追加してもルールは一緒になるだろう
エラーメッセージの出し方とかは異なると思うけども、バリデーターをそれぞれ別に書いたりはしないと思う
0267nobodyさん垢版2021/06/11(金) 10:41:07.56ID:???
>>260
どのフレームワークを使うか選択できなかったっけ?
0268nobodyさん垢版2021/06/11(金) 10:47:54.80ID:???
モデルに紐付かないバリデーションはどこに書けばいいですか?
0270nobodyさん垢版2021/06/11(金) 11:20:17.41ID:???
議論する際「どこでやるか」と「どこに書くか」を混同しないようにしないといかんな。
モデルに書いてもリクエストに書いても、流れ上は「コントローラーでやる」と言っても間違いではない。
0271nobodyさん垢版2021/06/11(金) 11:30:29.65ID:???
議論するなら、「俺はAに書いてる。なぜなら○○だからだ。Bに書くと○○で駄目だ」
って理由まで答えないと成立しないけどな
0272nobodyさん垢版2021/06/11(金) 11:44:57.48ID:???
>>269
268です。ありがとうございます。
ちなみにそれだと、
Aというルートではコントローラーにバリデーションを書き、
Bというルートではモデルにバリデーション書く、
というようにバラバラになってしまうんですが、気にしないほうが良いのでしょうか?
それとも一律コントローラーに書くほうが良いのでしょうか?
0273nobodyさん垢版2021/06/11(金) 11:52:58.61ID:???
>>264
例えばLivewireだとViewModelでやる。

>>265
フレームワークの仕様による。LaravelはController。

>>266
どういうバッチを想定している?ファイルから一括でデータを投入するみたいなやつ?
0274nobodyさん垢版2021/06/11(金) 12:04:14.61ID:???
>>270
それが許されるなら何でもありですがな
0275nobodyさん垢版2021/06/11(金) 12:17:46.77ID:???
バリデーションのルールをコントローラーに直書きするのがよくないと思う
使い回したりメンテしやすいよう別の場所に出して、コントローラーはそれを呼び出すだけにしたい
じゃあどこに書くか?となると多分モデルなんだが、LaravelのRequestに書く仕様はちょっとビックリした
一見理に適っていて便利でもあるけど、既出の通りコマンドから同じバリデーションを実行する場合は一工夫必要になる
0276nobodyさん垢版2021/06/11(金) 12:33:09.21ID:???
>>275
コントローラーのメソッドから呼び出すのは良くて、コマンドのメソッドから呼び出すのが良くない理由もお願いします。
0277nobodyさん垢版2021/06/11(金) 12:41:21.43ID:???
リクエストのrules()メソッドにルールがまとまって、コントローラーとかにルールが散らばらなくてメンテしやすいと思うけどなあ
0278nobodyさん垢版2021/06/11(金) 13:04:31.37ID:???
お前ら細けえな
好きなように書けよ
どうせ誰もメンテしなくなるんだし
バリデーションなんて動けばいい
0279nobodyさん垢版2021/06/11(金) 13:14:26.50ID:???
>>276
コマンドからはFormRequestなんて使わないから
呼び出したくても呼び出せないぞ

とは言え、rulesはpublicだしどうしようもないわけではない
うまくやれば共通化もできるかもしれない
0281nobodyさん垢版2021/06/11(金) 13:15:52.15ID:???
>>263
逆にフォームからとバッチからでバリデーションルールが異なるケースってどんな時だよ
そんなの見た事ないわ
0282nobodyさん垢版2021/06/11(金) 13:27:07.72ID:???
コントローラにバリデーションルールダラダラ書いたコード納品されたら俺だったらキレるわ
0283nobodyさん垢版2021/06/11(金) 13:46:10.64ID:???
メンテしない案件でも納品直前に「やっぱりパスワードの文字数○○文字以上に変えてくれ」なんて依頼よくあるからなあ
「空の時に表示が崩れる」という理由で本来必須じゃなかった項目をrequiredに変えたり
クライアントは馬鹿だから色々予期せぬ事が起こる
0284nobodyさん垢版2021/06/11(金) 14:44:13.29ID:???
>>282
じゃあ今度からはモデルにルール書くね
0285nobodyさん垢版2021/06/11(金) 16:02:51.40ID:???
メンテ=他人に見せることばかり考えてるやついるな
メンテは自分が見てわかりやすくするためのものでもあるだろ
好きなように書いてて、半年後に見ても思い出せるのかよ
0286nobodyさん垢版2021/06/11(金) 17:22:45.42ID:???
Laravelってバリデーションどこに書くかでも大論争になるんですね
Symfony選んどいてよかった
0287nobodyさん垢版2021/06/11(金) 18:26:53.59ID:???
laravel使いは年収低いから仕方ない
0288nobodyさん垢版2021/06/11(金) 18:35:08.68ID:???
年収高い言語だと論争が起きないの?
0289nobodyさん垢版2021/06/11(金) 18:53:53.69ID:???
言うほど大論争になってるか?
ボケがツッコまれてるだけやろ
0290nobodyさん垢版2021/06/11(金) 20:04:20.61ID:???
Requestでバリデーションする方が分離されるから個人的には好きだけどね
モデルでやるとかは無いわw
0291nobodyさん垢版2021/06/11(金) 21:33:26.10ID:???
間違ってたら考えを改めたいから言って欲しいんだけど
何でFormRequestがやってるバリデーションって入力された値が想定してる値かってバリデーションなので
その先にあるであろうテーブルとかを考慮しちゃいけないものだと思ってる
例えば同じテーブルに入力されるデータでも管理者権限と一般ユーザー権限でバリデーションルール変えたいってケースなんてザラだし
モデルに入力される値のバリデーションは持てるの担当範囲外でその担当は
おそらくバックエンドにあるデータベースが受け持ってて入力値が正しくない場合
Exceptionって形で戻してるって解釈してる
違うかな
0292nobodyさん垢版2021/06/11(金) 23:56:27.97ID:???
フレームワークなのに決まってないのかよ
0293nobodyさん垢版2021/06/12(土) 00:03:21.17ID:???
バッチ処理のことを考慮したらFormRequestクラス使うのはありえないんだけどね
ここはレベルが低いからそこまで理解できないらしい
0294nobodyさん垢版2021/06/12(土) 00:03:33.13ID:???
今日もクソ暑い 毎年思うんだけどなんか1年のうちで暑くなる時期あるよな
0295nobodyさん垢版2021/06/12(土) 00:05:27.36ID:???
>>293
正直俺もFormRequest使ってるぜってどや顔でこのスレの住人に言われたときは愕然としたな
バッチ処理何も考慮してないよな こいつらマジでバッチ処理どうやってるんだろうか
0296nobodyさん垢版2021/06/12(土) 01:33:16.00ID:???
いうほどバッチ処理なんてあるか?
なんの処理を気にしてるわけ?
0297nobodyさん垢版2021/06/12(土) 01:34:05.27ID:???
バッチ処理なんてそもそも間違った入力を渡す事なんか無いやろw
頭悪すぎwwwwwwwwwwwwwwwwwww
0298nobodyさん垢版2021/06/12(土) 02:01:48.82ID:???
>>297
こういうやつの為に、バッチにもバリデーションが必要なんだよな。
0299nobodyさん垢版2021/06/12(土) 02:04:17.91ID:???
>> 297
バッチ処理で間違った入力がされない保証が100%じゃない限り、本来ならバリデーションするべきとは思うけど面倒だからやらないで運用でカバーしてもらう事が多いのも事実

バッチ処理がBatchableジョブの事を言ってるのかartisanコマンドで任意に叩いた処理の事言ってるのかどちらを指してるかわからんけど
どっちにしろ動かす状況やら権限でバリデーションルールが変化するわけだから
機能(バッチ処理)ごとにそれぞれルールは必要じゃないの?
Batchableジョブでミドルウェアが使える様になってるのってリクエストの時と同じように
そこでバリデーションかけたり前処理できる様にしてあるって思ってたけど
0300nobodyさん垢版2021/06/12(土) 04:22:05.20ID:???
もうCloseされちゃったけど最近のissuesでもFormRequestsはバッチ処理に向いてないから廃止しようって話あったよね
やっぱりコミュニティでもモデルにルール書く人が大半らしい
0301nobodyさん垢版2021/06/12(土) 05:03:09.94ID:???
>>300
laravelのOSSかなりみて回ったけど、FormRequest使ってる奴らばかりだったぞ。その話は疑わしいのでソースを提示してくれ。
0302nobodyさん垢版2021/06/12(土) 05:05:03.89ID:???
バッチがーて言ってるやつは、まず具体的にどんな処理を想定しているのか答えてくれ。
0303nobodyさん垢版2021/06/12(土) 05:33:28.20ID:???
モデルにバリデーションルール書く場合で
ユーザーのロールによってバリデーションルール変える必要があった時ってどんな書き方してるのか知りたい
0304nobodyさん垢版2021/06/12(土) 07:00:44.62ID:???
間違った住所のままDBに登録される

出荷バッチが働き間違った住所のまま伝票に印刷される ※1

間違った住所の伝票が貼られたまま郵便局に持ち込まれる

ご指定の住所に行き当たりませんでしたといって荷物が返ってくる

商品がこないからキャンセルだと客から連絡が来る

おまえらがバリデーションしないせいで月間300件の荷物が返ってくる
1つ送るのに1050円だから1050*300=315000円の損失

そして※1のところで伝票印刷アプリが「取り込みすら無理なデータだけど」ってエラー出すからバッチ処理が止まる
データ修正してバッチを再投入
だが、ほかにも間違ってる住所があるからまたやり直しっていうのを何度も繰り返す

とにかく間違ったデータが入力されてしまうっていうのは損失として大きいんだよ
0305nobodyさん垢版2021/06/12(土) 07:06:50.30ID:HaomJXxh
>>303
Laravelで普通にできるだろ
0306nobodyさん垢版2021/06/12(土) 07:06:56.41ID:???
>>304
うん?バッチってDBから一覧を抽出するバッチの話なの?バリデーションは何の関係があるの?そんなの登録画面でバリデーションすれば良いだけでしょ?
0307nobodyさん垢版2021/06/12(土) 07:22:55.34ID:???
>>302
バリデーションが必要なデータを追加するバッチだよ
それを聞いてとうするんだよ
0308nobodyさん垢版2021/06/12(土) 07:48:40.82ID:???
>>307
具体的にて書いたはずなんだが。モデルで書けっていってるやつの主張が意味不明だから。

まず、画面で入力と同じ操作をバッチでもやるって前提が理解できない。

俺の経験上、大体のデータは親子関係にあって、入力する画面は分かれている、バッチだとそれらをまとめて投入するから画面とバッチではバリデーションのルールは異なる。

更に、そんなバッチ自体稀だから、わざわざそのためだけにLaravelの標準を無視してモデルに書くって発想が理解不能。
0309nobodyさん垢版2021/06/12(土) 07:56:05.02ID:???
モデルに書くのに違和感あるって人はLaravelしかフレームワーク触ったことない人なの?
煽りじゃなくて純粋な疑問
0310nobodyさん垢版2021/06/12(土) 07:56:31.89ID:???
そもそもバッチにパラメータなんて基本ないからな
デイリーだとその日が分かればいいだけだし
特殊なバッチのようなものならそもそも管理画面でパラメータ入れて実行やろ
0311nobodyさん垢版2021/06/12(土) 08:02:54.84ID:???
>>309
処理の流れからして先にバリデーションするやろ
モデルでするとかそもそも考え方が異常やろ
複数のモデルを使う時、2個目のモデルに投入するまでそこで使うパラメータはエラーが分からんの?w
バカバカし過ぎる
0312nobodyさん垢版2021/06/12(土) 08:03:47.75ID:???
>>309
モデルにバリデーションがあるほうがMVCの原則としてはおかしいのだよ。上でも書いたけど、モデルにバリデーションてのは、Active Record由来。
だから、モデルでのバリデーションに違和感持たない人は、Rails以降のなんちゃってMVCフレームワークしか知らないって理解。
0313nobodyさん垢版2021/06/12(土) 08:22:52.49ID:???
>>308
どこまで具体的に要るんだ?実際のコード貼れってか?ちょっとそれは今すぐできないんだが
例えば最近やったのでは、1日1回他社がS3に置いたcsvデータを取り込んで、テーブルにレコード追加するバッチ
requiredやuniqueやdateなど普通にバリデーションが必要でバリデーションしたよ
この程度の例も思い付かないなんてどんだけ経験値低いんだよ
0314nobodyさん垢版2021/06/12(土) 08:26:48.44ID:???
>>313
経験値ではなくて規模の話だね。そこそこ正規化されたデータしか扱ったことないんで。

あとそれがどれぐらいあんの?画面10あって、そんなのが1、2程度なら、わざわさモデルでバリデーションするようアーキテクチャを変更するのはアホだってことぐらいは、理解してくれるよね?
0315nobodyさん垢版2021/06/12(土) 08:33:20.84ID:???
>>312
その辺は一応浅く理解してるけどコントローラーにもリクエストにも書きたくない場合モデルしかなくね?と思った
Cakeでもモデルに書いてたし
他にもっといい場所あったら知りたい
0316nobodyさん垢版2021/06/12(土) 08:49:11.01ID:???
>>314
確かにうちは小規模案件が多い、その意味では俺も経験値足りてないが

もちろん不必要な所まで変えなくてもいんじゃね?俺もRequestのバリデーション使うことはある
ただそれだとバッチの時に不便だから、うちではモデルに書いたバリデーションメソッドを、
Webの場合はコントローラー、バッチの場合はコマンドから呼び出すという実装が多い
だから>>257のページみたいにリクエストクラスでやるのがベストプラクティス!と言いきられるとモヤモヤする
0317nobodyさん垢版2021/06/12(土) 09:04:00.24ID:???
週末に気持ち悪い奴らだな
みんな可愛い彼女連れて楽しく過ごしてるのにバリデーションごときに熱くなって悲しくならんの?
0318nobodyさん垢版2021/06/12(土) 09:09:31.93ID:???
考え方違くね?
モデルに入るデータをバリデーションするんじゃなくてS3にあるCSVデータが正しいフォーマットかをバリデーションするんじゃないの?

後laravelしか触ってないからモデルに書く事に違和感があるんじゃなく
laravelがリクエストでバリデーションする機能を提供してるからその方針を尊重してるってだけ
使ってるフレームワークがビューテンプレートに書くって方針ならそうするよ
自分のやりやすいを優先して得られるものなんてないでしょ
0319nobodyさん垢版2021/06/12(土) 09:12:38.72ID:???
>>304
間違った住所のままDBに登録される

出荷バッチが働き間違った住所のまま伝票に印刷される ※1

バッチ動く前に「間違った住所のままDBに登録される」って書いてあるけど、そこでバリデーションが必要じゃん
0320nobodyさん垢版2021/06/12(土) 09:17:14.51ID:???
>>315
cakePHPはRailsを真似たフレームワークの代表みたいなもんだから、例としては不適切。
0321nobodyさん垢版2021/06/12(土) 09:18:38.00ID:???
>>316
バッチもあるやつだけ、モデルにバリデーションを移しているの?それはそれで大変そうな・・・
0322nobodyさん垢版2021/06/12(土) 09:20:50.82ID:???
>>318
そうそう、フレームワークの標準にのることが大事。それを無視して俺流をはじめちゃうと、オレオレフレームワークの亜種になってしまう。
その結果、新規に参画するエンジニアや引き継ぐ場合の学習コストが跳ね上がったり、メンテできなくて匙を投げられるみたいなことが起きる。
0323nobodyさん垢版2021/06/12(土) 09:34:05.89ID:???
>> 322
基本的に面倒くさがりだから独自ルールで書いたらどんなルールかをドキュメントに残さないと引き継げないけど
フレームワークの標準に合わせとけば引き続ぎはフレームワークの作法でやってるのでよろしくで終わる
理解できないって話ならそれは本人の技量であってドキュメントを残してないこっちのせいじゃないって突っぱねられる
0324nobodyさん垢版2021/06/12(土) 09:58:26.28ID:???
めんどくさいからちょっとまとめてやるわ
バリデーションて言っても厳密には2種類ある
・フォームから送信されたデータのバリデーション
・DBに保存するデータのバリデーション
例を挙げると長くなるので省略する
前者はリクエストで、後者はモデルで担当するのが正解だが
シンプルな要件ではこの2種類が同じになることも多く、その場合はどこに書くか議論の余地が出て来る
0325nobodyさん垢版2021/06/12(土) 10:02:25.63ID:???
まとめなくていい
スルー耐性つけろ
0326nobodyさん垢版2021/06/12(土) 10:05:09.96ID:???
すまん、スレの総意的には、Requestsクラスは非推奨で、モデルでバリデーションするのが正解ってことでOK?
0327nobodyさん垢版2021/06/12(土) 10:07:15.93ID:???
バッチ処理に向く、向かないって言ってる意味がよく分からん
要は正しいデータ登録できるかできないかって話だよね?
バリデーションの機能そのものの話だよな
0328nobodyさん垢版2021/06/12(土) 10:07:22.63ID:???
モデルでバリデーションするって言ってる奴は.envをコミットするって言ってるやつと同一人物だろw
0329nobodyさん垢版2021/06/12(土) 10:10:54.19ID:???
スレの総意としてはどっちでもいいだろ
0330nobodyさん垢版2021/06/12(土) 10:16:45.06ID:???
なんでスルーするんだ?
有益な話だと思うけど
0331nobodyさん垢版2021/06/12(土) 10:34:11.31ID:???
>>321
じゃあそういう時他にどうすればいいの?
0332nobodyさん垢版2021/06/12(土) 11:23:04.15ID:???
異常値は入力時に弾いてDBに入れないのがシステム屋さんの考え方。WEB屋さんはDBにも異常値があるものを作るようだ
0333nobodyさん垢版2021/06/12(土) 11:31:37.43ID:???
俺のところはlocalhostからしかアクセスできないバッチ用コントローラを配置して
そいつに対して他社システムが配置したCSVから読み込んだデータをPOSTしてるな
だからFormRequestは普通にバッチで使えてたな
0334nobodyさん垢版2021/06/12(土) 11:33:22.83ID:???
>>331
それぞれでバリデーション書け。理由は、ユースケースが異なるから。結果的に今は同じだからって共通化しようとするのは、経験の浅いエンジニアが犯しやすい過ち。
0336nobodyさん垢版2021/06/12(土) 11:41:08.06ID:???
バッチからとフォームからでルールが異なるってレアケースだし、共通化できる部分はすべきだと思う
あちこちに分散して書くと非常にバグの基になりやすい
それぞれの担当者が別で開発終盤の忙しい時に仕様が変わって片方にしかちゃんと伝わらないとか、超ありがち
0337nobodyさん垢版2021/06/12(土) 11:44:42.08ID:???
>>333
それはそれで苦肉の策って感じで嫌だな
絶対駄目でもないけど
0338nobodyさん垢版2021/06/12(土) 12:16:55.27ID:???
あらゆるインプットにはバリデーションが必要で、特定のインプット方法にしか使えない形でバリデーションを実装するのはどうなの?っていうだけなんだが。

特定のケースならバリデーションはいらない、っていうのはむしろ例外だから考慮しなくていい。
0339nobodyさん垢版2021/06/12(土) 12:25:37.45ID:???
>>335
勝手にLaravelのアンチパターンとか言い出して何様www
0340nobodyさん垢版2021/06/12(土) 12:29:45.84ID:???
>>338
Laravelベースの人気OSSも一通り調べてみたけど、ユースケースごとにバリデーションは分けて定義している。例えば同じuserモデルに対する処理でも、登録と更新ではFormRequestを分けて用意している。
0341nobodyさん垢版2021/06/12(土) 12:51:16.37ID:???
>>338
ログインIDが登録可能な3種類のrouteがあったとして
1. /users
2. /manager/users
3. /file/users
1は半角英数10文字まで
2半角英数10文字で先頭にmgr_が必要
3はアップロードされたファイルに書かれている文字半角英数10文字まで
これをどういう形でバリデーション実装するの?
0343nobodyさん垢版2021/06/12(土) 13:07:54.18ID:???
もうLaravelも9が出るというのに未だにFormRequests使ってるやつが居て草
バッチ処理のこと何にも考えてないんだろうね
0344nobodyさん垢版2021/06/12(土) 13:08:43.28ID:???
やっぱRails使いたちのほうが圧倒的にレベル高いわ
Laravel使ってる奴らやべえな
0345nobodyさん垢版2021/06/12(土) 13:15:55.81ID:???
>>344
そんな化石使ってるやつのほうがヤバいからw
0346nobodyさん垢版2021/06/12(土) 13:19:21.91ID:???
>>343
バッチ処理でバリデーションとかまじで笑えるwww
お前開発したことないやろ?w
0347nobodyさん垢版2021/06/12(土) 13:27:47.73ID:???
.envと.env.backupが.gitignoreで除外されてるけど
.env.helloとかは問題なく追加できる

これってLaravelの思想としては初期の.envや.env.backupを管理対象にしてないのは
初心者に対する配慮の上でのことですよね?
devenvの仕組み上.env.aとか作れるので自分で管理しろって意味ですよね?
0349nobodyさん垢版2021/06/12(土) 13:35:21.15ID:???
そもそもバッチ処理ってのが何を言ってるかよく分からん
バッチ処理云々言ってるやつは、
まずはバッチ処理そのものについてまずは説明してほしいわ
バリデーション云々の話はまずは置いといて良い
0350nobodyさん垢版2021/06/12(土) 13:37:17.78ID:???
>>341
そんなシステムはおかしいのでこの場合のバリデーションを考えるのは時間の無駄です
0352nobodyさん垢版2021/06/12(土) 13:44:19.29ID:???
>>341
設計ひどすぎてワロタ
それは単純な例だからそういう設計ってことでいんだよな?
まさか実際にリリースしたことのある製品がそういう設計になっているんじゃないよな?
0353nobodyさん垢版2021/06/12(土) 13:59:25.34ID:???
>>351
そのリンク先とLaravelのバリデーションとの関係は説明できます?
0354nobodyさん垢版2021/06/12(土) 14:00:41.19ID:???
>>353
バリデーションの説明はまだいらないとのことだよ
>>349はバリデーションの話はまず置いておいてバッチ処理について教えてほしいって言ってるんだから
0355nobodyさん垢版2021/06/12(土) 14:18:30.51ID:???
上の方のレスも読んでなんとなく言ってる意味は分かったが
バッチ処理の内部で起きてる話のことで、
それをバッチ処理と相性悪いって言われても意味は伝わらんわな
言い方が悪い
0356nobodyさん垢版2021/06/12(土) 14:19:18.33ID:???
やっぱすげえ動物園みがあるなこのスレ
いつ来ても苦笑させられる
0357nobodyさん垢版2021/06/12(土) 14:24:11.67ID:???
>>352
こんな設計あるわけないでしょ
routeによってバリデーションの内容が変わるってのを極端に書いただけ
ここまで極端じゃなくとも大なり小なりrouteで変化するルールをどうやって対応するのかが聞きたかっただけ
それからクライアントからの絶対条件だったっ場合
設計がおかしいから変えないなら仕事したくありませんとかって言うわけでもないだろうし
FormRequestに書くって選択肢を許容すればそんなゴネる必要ないのに・・・
バリデーション分けると寿命が減ったりするわけでもないんでしょ?
0358nobodyさん垢版2021/06/12(土) 15:17:08.81ID:???
>>357
だからrouteでモデルの解釈が変わるというのが設計が悪いという証拠
0359nobodyさん垢版2021/06/12(土) 16:00:14.29ID:???
その考え方だと
モデルに対してwebで出来ること以上の機能を持ったapiは設計が悪いってならない?
0360nobodyさん垢版2021/06/12(土) 16:04:49.88ID:???
>>348
一言で済むならプログラマー入りませんよ
頭の悪い無能は引っ込んでおれ
0361nobodyさん垢版2021/06/12(土) 16:07:15.24ID:???
別にrouteによらなくてもバリデーションルールが様々な条件によって変わることは普通にあり得るし
Laravelも他のフレームワークもその辺は割と柔軟にできるように工夫してるでしょ
そしてそれはFormRequestに書くかどうかと全く関係ないぞ、スレを面白くしようとしてるのか知らんが変にややこしくするな
0362nobodyさん垢版2021/06/12(土) 16:10:43.21ID:???
FormRequestはバッチで使用できないから廃止しようというissuesが前に立ったけど
結局否決されてクローズだったな
0363nobodyさん垢版2021/06/12(土) 16:12:25.14ID:???
別に廃止はしなくていいじゃん 使わなきゃいいだけ
0364nobodyさん垢版2021/06/12(土) 17:28:44.55ID:???
>>351
機能文盲のようなので横から捕捉しておくと、ここで求められているのは、バリデーションを必要とするバッチ処理というものが何なのかって話だよ。
おそらく、それをはっきりさせた後にバリデーションについて語りたいんだろう。
0365nobodyさん垢版2021/06/12(土) 17:32:15.47ID:???
>>364
違う 俺が言ってるのはまずはバリデーション抜きでバッチ処理を語ってくれってこと
0366nobodyさん垢版2021/06/12(土) 17:33:43.08ID:???
バッチでユーザーリストのcsvファイルを読み取って、追加更新するとか。
これくらいも思いつかないのか。。。
0367nobodyさん垢版2021/06/12(土) 17:35:40.77ID:???
>>365
俺が機能文盲だったのか。100年ぐらいROMってるわ。
0368nobodyさん垢版2021/06/12(土) 18:49:14.02ID:???
FormRequestでバリデーション実装しているやつはバッチ処理を考えていないを指摘したら、急にスレの流れが変わってそのことに触れないようにしててワロタ
0369nobodyさん垢版2021/06/12(土) 19:03:17.61ID:???
やっぱLaravelスレって零細しか居ないんだろうなぁ
大企業向けワクチン接種の予約した人もここには居ないんだろうな
0370nobodyさん垢版2021/06/12(土) 19:31:11.49ID:???
昔は大企業にいたけどやめちゃったよ
0371nobodyさん垢版2021/06/12(土) 19:34:25.88ID:???
>>369
おれ一応大企業ね。1000人超えてるから。ただし事業部制だから全然実感は無い。
0372nobodyさん垢版2021/06/12(土) 19:39:19.73ID:???
おそらくWEBインターフェースを使用しない話をしてるのだろうが、
それをバッチ処理という括りで話すのがまずおかしい
おそらく永遠に話が噛み合わない
バッチ処理言ってるのは古いシステムを触ってるおっさん世代と思われる
0373nobodyさん垢版2021/06/12(土) 20:06:17.54ID:???
>>372
laravelでバッチってワードが出てくるのなんて
ジョブバッチしかないんだからそれなんじゃないの?
タスクスケジュールを指してるとはとても思えないし
artisanはコマンドだし
0374nobodyさん垢版2021/06/12(土) 20:15:58.06ID:???
バッチ処理が必要なシステムとか古すぎて草
何年前の設計思想だよw
0375nobodyさん垢版2021/06/12(土) 20:26:58.08ID:???
働いたことがないやつがたくさんいるなこのスレ
0376nobodyさん垢版2021/06/12(土) 20:28:21.94ID:???
>>374
後学のために教えて欲しいんだが、例えば50万件のデータを毎日DBに投入するときは、どんな設計にすれば良いの?
0379nobodyさん垢版2021/06/12(土) 20:42:28.46ID:???
俺の会社も考えたらバッチ処理ってないな
いろいろな設備や予約を行うためのシステムだけど利用者に関するデータはそもそも他社のアカウント管理サーバがあるからそこを参照しているだけだし
実際の予約情報もまた他社のExchange Web ServicesにアクセスしてデータのCRUDを行うだけ
備品や施設情報もExchange Web Servicesから参照しているだけだし
0380nobodyさん垢版2021/06/12(土) 20:48:28.91ID:???
>>361
俺としてはフレームワークでlaravelを選択した際には
リクエストされた値に対してのバリデーションなんだからform requestに書くって自然な流れだと思ったんだけど
modelに書くのが一般的って言うからどう対応してるのかが知りたかったんだよね
そっちのがlaravelの文脈として理にかなってるなら考えを改めて、ウソ教えちゃった人達に謝って訂正しようと思ったから粘着質になってしまった
申し訳ない
0381nobodyさん垢版2021/06/12(土) 20:53:54.35ID:???
FormRequest書いたルールをrule()メソッドで参照したらどこでもバリデーションできるけどそういう話じゃないだろな多分
0382nobodyさん垢版2021/06/12(土) 21:11:30.26ID:???
いやほとんどのケースでFormRequestに書くで別に問題ないだろうし
他で必要な場合は>>381みたいな方法でも別にいいと思うぞ
でも他のFWみたいにモデルに書く手もあると思うし、何故かそれを認めない輩も一定数いる模様(一人かも知れんが)
0383nobodyさん垢版2021/06/12(土) 21:12:30.93ID:???
バッチガー言ってる奴って頭悪そうw
0384nobodyさん垢版2021/06/13(日) 01:31:01.07ID:???
転職サイトとか見ててもLaravel案件は単価低いから仕方ないよね
Laravelというかphpが低いのかもしれないけど
0385nobodyさん垢版2021/06/13(日) 01:42:59.42ID:???
Windowsの古のシステムを保守してたおっさんが紛れ込んだと思われる
0386nobodyさん垢版2021/06/13(日) 07:47:48.47ID:???
実際、バッチって必要なもんなの?
0387nobodyさん垢版2021/06/13(日) 08:28:49.94ID:???
AWSだってわざわざバッチ用のサービスを用意しているというのに、このスレの奴らは大量のデータを一括で処理するようなユースケースに遭遇したことがないのか?それとも、その場合バッチ以外の手段で対処している?

キャリア1、2年目のエンジニアがバッチ処理必要になった時に、設計したことないって話は聞くけども。
0388nobodyさん垢版2021/06/13(日) 08:36:35.05ID:???
俺もそれは不思議
バッチという言葉も知らず実装したこともない初心者無職が、なぜか開き直って偉そうに罵倒してくるスレ
0389nobodyさん垢版2021/06/13(日) 09:33:28.13ID:???
当然知ってるからこそパラメータとか言ってるのが滑稽なのだよw
定期処理ならパラメータなんて無いし
(あってもその日時とかやろ)
必要に応じて動かすならフォームからパラメータ入れたりして実行するし
そもそもそういうパターンは管理画面だから非同期にする必要も本来は無いのだけどな
0390nobodyさん垢版2021/06/13(日) 09:42:03.59ID:???
パラメータおじさんが何もわかってないことはわかった
お前はずっとROMでいいよ
0391nobodyさん垢版2021/06/13(日) 09:48:32.96ID:???
バッチが必要なのは昔の貧弱なシステムでやりくりする知恵でしょ?
0392nobodyさん垢版2021/06/13(日) 10:00:41.16ID:???
>>391
へー、最近は数十万件のデータの処理であっても、オンラインでhttpタイムアウトする前に処理終わるんだ?
0394nobodyさん垢版2021/06/13(日) 10:08:13.12ID:???
1日に1回、基幹システムからデータを取り込む処理とか作ったことないの?零細の俺ですらあるというのに
0395nobodyさん垢版2021/06/13(日) 10:44:43.19ID:???
>>391
よくあるサブスクのサービスとかで月に一度クレジットカード会社に請求する仕組みとか世にいくらでもあるんだが、君はどうやって実装してるのか知りたい
0398nobodyさん垢版2021/06/13(日) 10:59:01.81ID:???
>>392
1件ずつリアルタイム処理するって話なのに
どうしてリクエスト来るたびに全件処理するバッチ処理を走らせてんの?

そもそも数十万件ならHTTPのタイムアウト60秒だとして間に合うでしょ
0399nobodyさん垢版2021/06/13(日) 10:59:28.11ID:???
>>394
1日1回じゃなくて1日中やりつづけたらいいよねって話
0400nobodyさん垢版2021/06/13(日) 11:02:06.81ID:???
>>395
そういうの求める人いるけど、怖くて手を出せないわ
大きな会社でもしょっちゅうやらかしてるし
0401nobodyさん垢版2021/06/13(日) 11:02:28.37ID:???
>>395
世の中の仕組みが古いよねって話だよ
メガバンクですら夜間バッチからリアルタイム処理に変わったのに
0402nobodyさん垢版2021/06/13(日) 11:04:32.05ID:???
おまえら昔は大手にいたかもしれんが
最近のシステムを触ってないでしょ?
どんどんリアルタイムに変わっていってるのに

そもそもサーバにクレジットカードの情報があるようなシステムは違法だぞ
0403nobodyさん垢版2021/06/13(日) 11:10:23.19ID:???
客の基幹システムが古いんだから仕方ないじゃん
こっちは頼まれた通りに作るだけだよ
0404nobodyさん垢版2021/06/13(日) 11:21:24.27ID:???
>>391
例えば、1日ごとの会員の数をCSVなどでダウンロードしたいという要件を実現するとき、

1. 毎日0時時点の会員テーブルのレコード数(や会員の付随属性など)を取得する
2. 1. の結果を集計結果テーブルに挿入する
3. 出力リクエストを受けたら集計結果テーブルをCSVに変換して出力する

俺だったらこんな設計して、 1. と 2. はバッチで作るけど>>391のモダンなやり方だとどんな設計になるの?

あ、ちなみに俺はバリデーションルールをモデルに書くなんて馬鹿なことはしないよ、普通にFormRequestに書くわ。
しかしバッチをLaravelで作るかは微妙だが。
0405nobodyさん垢版2021/06/13(日) 11:35:51.15ID:???
なにそのキチガイな設計、頭だいじょうぶか?
普通にリクエスト受けたらCSV生成してダウンロードさせたらええだけやん
0406nobodyさん垢版2021/06/13(日) 11:40:41.67ID:???
>>404
FormRequest使ってるやつってやっぱりガイジしかいねーんだな
そのままCSVで出せばいいだろ
0407nobodyさん垢版2021/06/13(日) 11:47:50.11ID:???
>>404
この人(達)わかってて言ってるから相手にしない方がいい
私生活が上手くいってなくてこういう方法でしかストレスの吐き出し方知らない
かわいそうな子だから何言っても意味ないよ
0408nobodyさん垢版2021/06/13(日) 11:49:45.50ID:???
わざとボケてスレをかき回して喜んでる奴ずっといるよな
0410nobodyさん垢版2021/06/13(日) 12:47:23.57ID:???
>>408
そうそう。荒らしね。知識なくて話に加われないなら黙ってりゃ良いのにといつも思うわ。
0411nobodyさん垢版2021/06/13(日) 12:49:50.72ID:???
集計結果テーブルはさすがに草
0412nobodyさん垢版2021/06/13(日) 13:10:46.41ID:???
反論したくなるギリギリの外し方は上手いと思うから知っててやってるんじゃないかと予想した
でも、あんまり知識レベルは高くないと感じるから
いくつもやってたら無知が故に画期的なアイデアを書くかもしれない
がんばれ
0413nobodyさん垢版2021/06/13(日) 13:41:14.33ID:???
俺の会社は>>379で書いた通りの方式だからバッチ処理はないな
上位システムでは何かやってるのかもしれないけど
0414nobodyさん垢版2021/06/13(日) 13:46:40.89ID:???
バッチ処理をどうやるかって話をしているのに
わざわざ「俺の会社ではないな」とか書いてくる奴ってガイジなのか?職場でもそんな感じで会話してるの?
0415nobodyさん垢版2021/06/13(日) 13:51:14.23ID:???
死語な感じするけどキョロ充ってやつじゃないの
とにかくハブられないために情報量ゼロでも何か発言せずにはいられないんだろう
悲しいね
0416nobodyさん垢版2021/06/13(日) 13:57:52.16ID:???
>>414
最初にバッチ処理でFormRequest云々の話をしたのは俺なんだけど
みんながバッチ処理をそもそもしているのかどうかという正直>>379のような話がしたかったんだよ・・・・
正直今の流れは望んでいない・・・
0417nobodyさん垢版2021/06/13(日) 14:06:34.29ID:???
バッチ処理は必要だしみんなしてるよ
スレ読んでて何故それが未だにわからない?
0418nobodyさん垢版2021/06/13(日) 14:19:07.15ID:???
>>405
統計処理としては普通の方式だと思うけど
リクエストあるたびに集計処理が動作するんじゃ重すぎる
0419nobodyさん垢版2021/06/13(日) 14:19:33.67ID:???
>>416
バッチ処理ってどれを想定してるかで答え変わるんじゃないかな?
ちなみに俺は6番だと思ってる

1. 時間のかかる処理をする事
2. 非同期で処理をする事
3. 複数の処理をまとめた機能
4. 定期的に行う処理の事
5. コンソールから行う処理の事
6. Batchableジョブの事
0420nobodyさん垢版2021/06/13(日) 14:20:47.40ID:???
>>417
いやバッチ処理がいらないシステムも実際存在するし作ったこともあるから必ず必須というのは誤りだけど
実際のところ自分の構築した体感で7、8割りのシステムはバッチ処理が必要なシステムになるね
0421nobodyさん垢版2021/06/13(日) 14:24:09.71ID:???
>>419
HTTPリクエスト以外からのlaravel処理起動ってことだ。
バリデーションをHTTPリクエストしか想定してないところに書くのがどうなの?って話になって、例としてバッチはどうするの?って話になって、バッチを知らない馬鹿が騒いでるのが今の流れ。
0422nobodyさん垢版2021/06/13(日) 14:26:43.23ID:???
サーバ内部からアクセスできないようなコントローラを作って
そいつに対して別システムからもらったCSV等のデータをPOSTしたりとかするようにすれば
FormRequest使えるのでは?
0423nobodyさん垢版2021/06/13(日) 14:27:21.35ID:???
それも一つの方法ではあるけど苦肉の策って感じだな
0424nobodyさん垢版2021/06/13(日) 14:29:04.06ID:???
>>421が正解なんだが>>419はわかっててわざとボケてる奴だよな
「バッチ」の定義にこだわってわざと話をかき回し続けている もう病気だろこれ
0426nobodyさん垢版2021/06/13(日) 14:41:07.98ID:???
ちょーっと、イイですかー?
あなたターチは、ヴァカですかー?
0427nobodyさん垢版2021/06/13(日) 14:43:44.46ID:???
>>424
俺はわざとやってる人じゃない
ややこしくしようとしてるって感じたなら謝る
書いてもらうまで「HTTPリクエスト以外からのlaravel処理」
が議論の対象だったってのは完全に頭になかった
0428nobodyさん垢版2021/06/13(日) 15:07:05.62ID:???
書くの忘れてた
バリデーションをHTTPリクエストしか想定してないところに書くのがどうなの?
って部分に関してはバリデーションの対象が「リクエスト」なのでFormRequestに書くべきだと思う
FormRequestを使わない処理に対してのバリデーションは必要があるなら処理単位で書くべきと思ってる
0429nobodyさん垢版2021/06/13(日) 15:13:25.13ID:???
FormRequestを継承したクラスをnewしてそれのrules()で取り出したルール使いましょうよ
0430nobodyさん垢版2021/06/13(日) 15:28:00.34ID:???
>>427
繰り返しそう書かれてるのに、スレを読んでてそこに気付かないとか考えられないんだが
案外見落とすもんなのか…?
0431nobodyさん垢版2021/06/13(日) 15:32:11.26ID:???
このスレでは行間読んでもうバッチでいいけど、
個人的にはバッチって表現とLaravelのバリデーションを紐づけるのは違和感あるよね
Laravelのドキュメントの中でバッチって使ってたりするか?
0432nobodyさん垢版2021/06/13(日) 15:43:20.99ID:???
>>431
バッチって定義はないけど、cursorやchunkメソッド、lazy collectionなんかは大量データを一括で処理するためのものだよね。
0433nobodyさん垢版2021/06/13(日) 16:01:34.50ID:???
こんなんで言い争いしてるのを見るとわかる通り
laravelはダメなフレームワークです。
0434nobodyさん垢版2021/06/13(日) 16:04:02.20ID:???
バッチの定義がおっさんと若者で違うんだろうか
でもこんなスレでそう結論付けてはいかん気がする、異常者が集まっている
0436nobodyさん垢版2021/06/13(日) 16:35:12.14ID:???
>>429
それやった段階でルールがどこで使われてるかが追えなくなっちゃうから
のっぴきならない事情でそのルールを変更せざるを得なくなった時に
影響範囲が全くわからなくて予想外の不具合起こしかねないからやりたくないのよね
チーム開発とそんな変更受けちゃダメってのは無しでお願いします
0437nobodyさん垢版2021/06/13(日) 16:36:32.43ID:???
Laravelは独自の用語が多いから単語本来の意味と違ってたりして話がややこしくなる
そういう所は嫌い、というか普通にバッドプラクティスだろそれ
0438nobodyさん垢版2021/06/13(日) 16:48:25.97ID:???
>>436
その観点だとモデルに書いても同じことが起こると思うし、バリデーションに限らず何かしらのクラスを複数箇所で使ってはならないんじゃないの?
というかバッチ用クラスのテストは書かないの?
0439nobodyさん垢版2021/06/13(日) 18:15:15.30ID:???
>>438
サービスって単位での使いまわしはするけど
基本的にクラス単体を複数個所で利用するって事はしてないな
当然共通処理って部分での使いまわしは当然あるけどabstractでやってる
実際に使う場合はサービスプロバイダで必要なインターフェースが実装されたクラスをbindして
コンテナから呼び出して使ってる感じ
このやり方が全くの見当はずれだったりアンチパターンとかだったりしたら早急に修正しなきゃいけないから変だったら言って欲しいのよね
0440nobodyさん垢版2021/06/13(日) 18:31:49.01ID:???
>>439
要員の必須スキルが上がって人を集め難くなりそうなんだけど
その仕組みで何人くらいのメンバーで開発してるの?
0441nobodyさん垢版2021/06/13(日) 18:39:39.48ID:???
そろそろ別の話題にしてくんねえかな
いつまでやってるんだよ
0442nobodyさん垢版2021/06/13(日) 18:49:44.98ID:???
>>440
プロジェクトの規模にもよるけど俺のほかに2人で外部に必要あればちょいちょいって感じ
設計とかインターフェースの部分の開発をやってもらう場合は確かに人が集め難いとは思うけど
どちらかっていうと能力が低くても依頼可能にしたかったからこうしてるんだよね
とはいえメソッドチェーンってなんすか?レベルまではカバーできないけど
0443nobodyさん垢版2021/06/13(日) 18:59:18.05ID:???
>>441
.envをコミットするかしないかで延々議論していたころに比べれば健全だろ
0444nobodyさん垢版2021/06/13(日) 22:55:51.29ID:???
で、.envはコミットするの?
0446nobodyさん垢版2021/06/13(日) 23:19:07.85ID:???
・.envはコミットする必要がある
・/vendorはコミットする必要がある
・バリデーションルールはモデルに書くべき
・テストを書く必要は無い
・いかなる場合もバッチは必要無い
・jsonは脆弱性があるので使うべきではない
0447nobodyさん垢版2021/06/13(日) 23:43:13.81ID:???
>>404
ネタにマジレスして悪いがその処理だと要件満たしてないw
0448nobodyさん垢版2021/06/13(日) 23:46:43.57ID:???
>>421
cronで60秒ごとにキックして一瞬で終わるような処理と
夜間に数時間にわたって一括で走らせるような処理
この二つを同列に語るのはちょっと違うと思うよ
0449nobodyさん垢版2021/06/13(日) 23:55:51.81ID:???
>>446
テスト書かないのだけは駄目だろ
他はわからんでもないが
0450nobodyさん垢版2021/06/13(日) 23:57:49.62ID:???
>>404
1は会員登録および退会の時刻を見ればいいだけだから別に0時に処理する必要はない
2はテーブルに持つべき値ではない
3も同様

磁気テープの時代ならともかく、値を取得を得られるまでの期待値が0.1秒未満の今の時代に
なぜバッチ処理をするのか?
レスポンス改善の為にあらかじめCSVを作成して静的に配置しておくっていうならともかく、そういうわけでもないようだし・・・
0451nobodyさん垢版2021/06/14(月) 00:06:05.58ID:???
>>444-446
小さいころ数人でワイワイ砂場で遊んでたら知らない男の子が後から入ってきたからその子も含めてみんなで遊んでると
他の子が作った山とかを壊したり100万円持ってるとか意味わからん嘘ついたりを「やめて」って何回言ってもやる子だったから
またその子が砂場に来た段階でみんなで別の遊具に移動するようになって
誰もいない砂場でごく短時間だけ「楽しいなー」みたいなこと言いながら遊んでた「あの子」を思い出すからやめて・・・
0453nobodyさん垢版2021/06/14(月) 00:41:42.72ID:???
未だにバッチ処理とか組んでる老害居るのかよ
.envをコミットしてるガイジまで居るしとんでもない動物園だこりゃ
0455nobodyさん垢版2021/06/14(月) 00:58:23.56ID:???
>>450
頭の中がおじいちゃんなのよ…
あまり責めないで
0457nobodyさん垢版2021/06/14(月) 02:11:20.10ID:???
>>450
想定会員数と用途とか情報が足りてないから想定可能なボトルネックは「ある」ものとして設計しなきゃならないと思うから
100万会員/dayで運用開始から現在までって仕様だった場合、どこかで破綻するでしょ
0459nobodyさん垢版2021/06/14(月) 06:48:03.41ID:???
>>450
例えば自由に停止再開できる有料サービスを契約している会員数もCSVに載せることになった場合でもそうする?
0460nobodyさん垢版2021/06/14(月) 06:57:35.05ID:???
>>457
100万会員/dayの場合OSSのDBで扱えないだろうし言語にPHPを選ばないと思う
0461nobodyさん垢版2021/06/14(月) 08:05:08.93ID:???
100万会員、何? 登録? アクセス?
0462nobodyさん垢版2021/06/14(月) 08:16:03.69ID:???
毎日100万会員増えるサービスってどんなんや?
100万DAUのサービスならPHP/MySQLのもある、ソシャゲとか結構PHPだし俺も昔モバゲーのゲームをCakeで作った
0464nobodyさん垢版2021/06/14(月) 08:23:14.20ID:???
グラブルがPHPらしいしPHPで出来ないサービスなんて殆ど無いやろな
0467nobodyさん垢版2021/06/14(月) 08:45:22.50ID:???
むしろPHPよりはボトルネックになるのはDBの方じゃないかな?
0469nobodyさん垢版2021/06/14(月) 09:02:27.24ID:???
>>459
だからそれも同じ
出力時に計算してCSVに出せばいいだろ
0470nobodyさん垢版2021/06/14(月) 09:22:28.65ID:???
>>462
会員数としか明記されてないので
例えばアプリのインストールやログインとかのレポートなんかを提供するマーケティングツールをイメージした
0471nobodyさん垢版2021/06/14(月) 09:23:29.71ID:???
バリデーションをモデルでやるのってそんなにおかしいか?
データはDBのテーブルに保存されるんだからバリデーションはそれに合わせるべきでしょ
ユーザーIDなんかはカラムにユニーク制約付けて、Laravelのバリデーションでcreate時にユニークチェックする
必須項目はNULL不許可にしてバリデーションでrequired
数値はint型のカラムにしてバリデーションでnumericまたはinteger
みたいになるだろ
テーブルに紐付いたり一番近いのはモデルなんだからカラムの属性はモデルにまとめて書くべき
普通fillableまたはguardedを指定すると思うけど同じようにrulesも書いとけばいいんだよ
コントローラーやコマンドはそれを呼び出して使えばいい
0472nobodyさん垢版2021/06/14(月) 09:42:51.12ID:???
>>471
DBに投入するデータと入力データはかならずしも一致しない
例えば、パスワードなんてハッシュされてしまう
0473nobodyさん垢版2021/06/14(月) 09:43:49.79ID:???
>>471
おかしくないと思うしあってもいいと思うけど
ユーザー属性によってバリデーションルールが変化するサービスの場合はどうするって問題が出てくるでしょ
0474nobodyさん垢版2021/06/14(月) 09:47:30.70ID:???
>>472
完全一致する必要はない、むしろ普通は完全一致しない
けどバリデーションされる情報ってだいたいテーブルに紐付く情報だろ、多少の例外はあってもそこは無視できんだろ
0475nobodyさん垢版2021/06/14(月) 09:50:14.64ID:???
>>473
そんなのどうにでもなるじゃん
Laravelのバリデーションルールにはいくらでも複雑な条件書けるぞ、足りなければルール自作すればいい
動的に変化する条件も書けるぞ
0476nobodyさん垢版2021/06/14(月) 09:51:47.66ID:???
>>474
それ言い出したら、フロントに一番近いとこでやっても変わらんだろ
多少の例外があっても、基本的にフロントから来たデータをバリデーションすんだろ?
そこを議論してもしょうがないんだよ
0477nobodyさん垢版2021/06/14(月) 10:01:29.38ID:???
>>476
・フロントから来たデータをバリデーションする
・DBに入るデータをバリデーションする
この考え方の違いか、俺はずっと後者だったから前者の考え方はこのスレの議論で初めて知った
バリデーションは何のために必要か?と言うとDBに不正なデータを渡さないためだから、後者の方がしっくり来るけど
0478nobodyさん垢版2021/06/14(月) 10:03:24.32ID:???
>>471
Laravelが提供している標準を無視して、そんなオレオレ実装にこだわる理由がわからん。どうしてもモデルでやりたいなら、cakePHPやRails使えば良いのでは?
0479nobodyさん垢版2021/06/14(月) 10:11:49.31ID:???
>>477
それは「なんちゃってMVC」しか知らないからだね。元々MVCは、入力値のチェックをコントローラーの責務としている。
俺はどっちでも良いと思ってるから、その仕組みが提供しているほうに合わせるべきだと思う。それをせずにわざわざ仕組みを変えようとして無駄に工数を使うやつは、仕事ができないやつだと思う。
極論、作るシステムのステークホルダー(エンジニアの除く)にとって、バリデーションがどこで行われているかはそのシステムの価値を決める上で一切関係が無い。
0480nobodyさん垢版2021/06/14(月) 10:18:25.16ID:???
>>478
標準を無視してオレオレ実装にこだわっているわけではない。
モデルに書くのも一理あるでしょ?って言ってるだけ。俺だってFormRequestのバリデーションも使うし。
0481nobodyさん垢版2021/06/14(月) 10:25:50.03ID:???
>>479
なんちゃってMVCで作ってるのはわかっている。本来のMVCでないとダメなんて思ってないし。
Laravelが提供してる方法ってFormRequestのバリデーションのことだろうけど、
モデルに書いてもあまり手間変わらないよ。
そもそも公式の例ではコントローラーにバリデーション書いてる。その
[
'title' => ['required', 'unique:posts', 'max:255'],
'body' => ['required'],
]
なんかの部分を、モデルに持って行くだけだよ。コントローラーでは
$request->validate(SomeModel::getRules());
のように使う。こうすれば他のコントローラーからも同じように使える。条件によってルールが変わる時は引数で指定する。
0482nobodyさん垢版2021/06/14(月) 10:26:59.67ID:???
あのさぁ、アプリの基本って、入口と出口を固める事なのな。
バリデーションは入口、エスケープは出口。

どうしてModelみたいな真ん中でバリデーションしようとする?
こんな基本的な事言わんとわからんの?
0483nobodyさん垢版2021/06/14(月) 10:29:11.16ID:???
>>479
>極論、作るシステムのステークホルダー(エンジニアの除く)にとって、バリデーションがどこで行われているかはそのシステムの価値を決める上で一切関係が無い。

わかりやすい所に書かれていたり、うまいこと共通化できる所はしてある方が
バグの可能性が減って価値が上がるよ。
0484nobodyさん垢版2021/06/14(月) 10:31:56.43ID:???
>>482
真ん中じゃないじゃん。
モデルはデータに紐付くもので、データの入口と考える。
もちろんこれが唯一の正解じゃないから、本来のMVCがとかお前のMVCがどうとかは知らん。
0486nobodyさん垢版2021/06/14(月) 10:40:00.83ID:???
>>475
実際に書いて試した事ないでしょ?
やったらわかるけどartisanコマンドの時にどうすんのこれってなるから
一つにまとめる事がダメって訳じゃないけど分岐していくやり方は
見通し悪くなるってのと分岐が増えると結合度が上がってどんどん変更に弱くなると思ってる
0487nobodyさん垢版2021/06/14(月) 10:45:28.78ID:65mpymBy
>>484

ごめん、頭の悪い子と話すの疲れるんだけどさ、

お前が作ってるの、一体何だ? バラの部品を複数作ってるのか?
何でアプリ全体で見ないで部品単位で見てるんだよ?

空港降りたら検疫して、駅に入る前に検疫して、電車に乗る前に検疫して、県境越えたら検疫して、電車に乗る前に検疫して、バスに乗る前に検疫して、宿に入る前に検疫して…

なんてやると思うか? 国に入ってきた時に一回だけだろ。
最初に1回きっちり検疫すればその後、どんなところを通ろうが関係ないだろ。効率って物を考えろよ。

というか、モデルはデータの入り口って、本物のバカなの?
RDBに対してデータを“出力”する場所だろ。だからエスケープが必要になる。
お前マジで、安全なアプリケーションの作り方とか、全く勉強してないだろ?
0488nobodyさん垢版2021/06/14(月) 10:47:59.90ID:???
DBがモデルに一番近いからそこでバリデーションするって言い張る人に聞きたいんだけど

例えば携帯電話番号の入力フォームでは以下の入力を受け付ける
「09012341234」
「090-1234-1234」
「09001231234」
「090−0123−1234」

DBに格納すれる値は正規化して以下の通り
「09012341234」

って要件を実現するのにどうやってるの?
先に正規化してからバリデーションしてるわけ?
0489nobodyさん垢版2021/06/14(月) 10:59:57.74ID:???
>>484

あと、もう一個言うとさ、
おまえのアプリではModelは常に1つなの?
Modelファイルが複数ある場合、どこでバリデーションするって言ってる?
流石に、各Modelでそれぞれバリデーションするとか言わないだろ?
じゃあ、どこ? 復数のModelの前?
そこはModelじゃなくて、つまりControllerじゃん。
0491nobodyさん垢版2021/06/14(月) 11:13:15.18ID:???
>>488
自分で答え書いてるじゃん
ユーザーの入力とDBに格納する形式が違うなら、
先にユーザーの入力値を整形した上でバリデーションしたらいいだけ
0492nobodyさん垢版2021/06/14(月) 11:17:35.38ID:65mpymBy
ちなみに、ネットの多数派の意見はどうなんだい?と思って検索してみて最初に出てきたのが、これで、
心の底から脱力した。

http://blog.64p.org/entry/2013/11/26/131914
『言いたいことは「結局、昔はサーバサイドで懇切丁寧なエラーメッセージを出すためにModelではなくControllerでバリデーションに関する知識が必要だったけど 今はJavaScriptでやるから不要だよね111」ってことです。』

そういう事してるから、フロントとサーバーサイドでバリデーションルールが違うみたいな事が発生してくるんだろ。
0493nobodyさん垢版2021/06/14(月) 11:21:34.06ID:65mpymBy
実際、俺がいじるわけじゃないからどこでバリデーションしようとそいつの勝手ではあるんだけどさ、
どこでも同じバリデーションが使えるような実装じゃないと、メンテ大変だろ?

で、この話って元々なんだったんだっけ?
0494nobodyさん垢版2021/06/14(月) 11:23:12.90ID:???
ageてるやつの能書きがキモいって話題
引きこもりは出てくんなよ
0495nobodyさん垢版2021/06/14(月) 11:24:29.11ID:???
バリデーションはデータの受け渡しが発生するたびに行う
1.入力時にJavascriptでチェック
2.フォームがPOSTされるときにバックエンド側でチェック
3.バッチ処理が走るときにチェック
4.ビジネスロジックが走るときにチェック
5.CSVとして出力するときにチェック

少なくとも入力されてからCSVとして出力されるまで5回はチェックされる
なんらかのロジックが走るたびにチェックされるから実際は何十回もする
0496nobodyさん垢版2021/06/14(月) 11:29:30.70ID:???
>>491
いやおかしいだろ
そしたらパスワードもハッシュしてからバリデーションすんのか?
0497nobodyさん垢版2021/06/14(月) 11:30:04.85ID:???
>>488
バリデーションルールを4つ書いて、saveをオーバーライドして文字列加工でよくない?
0498nobodyさん垢版2021/06/14(月) 11:35:31.83ID:65mpymBy
>>494

まーた頭おかしいの湧いてきたし。

内容に関係ないことで頭に血を上らせて、おまえ、脳に障害でもあんのか?
0499nobodyさん垢版2021/06/14(月) 11:37:13.01ID:???
>>489
>>481にコードも書いたからよく見てくれ
俺が提案してるのは、コントローラー(FormRequestでもいいけど)でバリデーションする際、ルールはモデルに書いてあるのを参照するって事だ
Laravel公式のやり方のほんの一箇所変えてるだけなんだよ
その方が使い回しとかメンテしやすくていいじゃない?って言ってる
0500nobodyさん垢版2021/06/14(月) 11:38:52.46ID:???
月曜の朝から熱いねおっさんなのに
0501nobodyさん垢版2021/06/14(月) 11:40:04.64ID:???
>>495
2と3しかやらないなあ
1はうまいことやればユーザビリティが上がる可能性はあるけど、大抵そこまでやらんな
4と5はよくわからん、出力時にバリデーションてどういうことだ?整形じゃなくて?
0503nobodyさん垢版2021/06/14(月) 11:41:54.32ID:???
dbもformも通さないバリデーションはどうやってチェックしたら良いですか?
0504nobodyさん垢版2021/06/14(月) 11:42:20.31ID:???
フロントのバリデーションはユーザーの為
バックのバリデーションはシステムの為
0506nobodyさん垢版2021/06/14(月) 11:45:30.32ID:???
>>501
> 出力時にバリデーションてどういうことだ?整形じゃなくて?

そいつ、バリデーションの意味わかってねぇんだろ。
CSV用のフォーマットに変えるって事なら、それ、バリデーションじゃねぇよ。
0508nobodyさん垢版2021/06/14(月) 11:55:53.31ID:???
平日の昼間から頭おかしい奴ワラワラで草
0509nobodyさん垢版2021/06/14(月) 12:02:50.57ID:???
>>496
モデルバリデーション厨はガイジだから触らないほうがいいぞ
0510nobodyさん垢版2021/06/14(月) 12:04:46.36ID:???
俺以外みんな頭おかしいわこのスレ
0511nobodyさん垢版2021/06/14(月) 12:54:27.83ID:???
システム屋さんは結合テスト、システムテストで普通にシステムからのみDBデータ作るけど
システム屋さん以外の人は手動でデータを入れたり更新削除したりしちゃう。怖い怖い
0512nobodyさん垢版2021/06/14(月) 12:56:47.38ID:???
それを防いでいないシステム屋が悪い
0513nobodyさん垢版2021/06/14(月) 13:03:35.20ID:???
>>499
所詮個人の感想じゃん。手間が増えることに変わり無いし、その実装のルールをチームで共有して維持しなくてはならなくなる点は全く考えてないのでは?

なぜそこまでmodelでのバリデーションに拘るのか謎。他のフレームワーク検討したら?
0514nobodyさん垢版2021/06/14(月) 13:08:55.85ID:???
凄いスレが進んでてワロタw
0516nobodyさん垢版2021/06/14(月) 13:20:24.88ID:???
普通のシステム環境ならインフラ担当が居て環境が分けられてて本番DBを直接手動では使えなくしてる。
システム屋さん以外の人が安く作るとそうはできない
0517nobodyさん垢版2021/06/14(月) 13:30:50.40ID:???
ここ本当にlaravelスレなの?
Dependency injection関連のワードが出てこないんだけど
0519nobodyさん垢版2021/06/14(月) 13:55:15.81ID:???
DIなんか、必要ないしなぁ…、本来は。
0520nobodyさん垢版2021/06/14(月) 13:59:11.07ID:???
>>517
コンストラクタインジェクションを使ってサービスを渡しているけど、状況に応じて使い分けはしてないな
0521nobodyさん垢版2021/06/14(月) 14:10:31.25ID:???
さすがphpはエンジニアの中でも底辺が好んで使うと言われるだけのことはある
0522nobodyさん垢版2021/06/14(月) 14:15:52.73ID:???
お前らこんな議論白熱するならLaravelのgithubリポジトリで
バッチ処理時にバリデーションについてissue挙げてみたら?
0523nobodyさん垢版2021/06/14(月) 14:18:46.32ID:???
英語できないので無理です
0524nobodyさん垢版2021/06/14(月) 14:21:14.27ID:???
アホの上にこういう周回遅れの奴が出て来るから収拾付かんのだよな
過去に出て却下されてるって何度もスレで言及されてるやん
0525nobodyさん垢版2021/06/14(月) 14:44:55.72ID:???
>>521
零細と低収入しか居ないしね
大企業向けワクチン接種の枠の人も多分ここには居ない
0527nobodyさん垢版2021/06/14(月) 18:13:51.65ID:???
>>525
お前と一緒にしないでくれ
俺は大企業向けワクチン接種の対象だわ
0529nobodyさん垢版2021/06/14(月) 20:08:44.64ID:???
俺は医療関係者枠で打っちゃったよ。丸2日パソコン打つ気になれなかったよ。
0530nobodyさん垢版2021/06/14(月) 21:34:09.82ID:???
SESSION_LIFETIMEってlast_activityからの時間ですよね?
例えば120分の設定だった場合、ログインから60分の時点でページ遷移するとそこから120分非アクティブでセッション破棄されてログアウトされる
これをログインからの時間にすることはできますか
120分の設定でログインから60分の時点でページ遷移してもそこから60分(ログインから120分)非アクティブでセッション破棄されてログアウトされる
というようにしたいです
0534大手勤務垢版2021/06/14(月) 23:07:05.83ID:???
>>533
1. Illuminate\Session\Middleware\StartSession を継承するミドルウェアを作る
2. 1. のクラスで handle() をオーバーライドする。中身はとりあえず継承元と全く同じ。
3. 2. にメソッド内の $this->saveSession($request); に注目する。
4. 3. の実行に条件をつける。
5. if (Route::current()->getName() === 'login') { $this->saveSession($request); } みたいな。
6. App\Http\Kernel から \Illuminate\Session\Middleware\StartSession::class を消す
7. 消した箇所に 1. で作ったミドルウェアのクラス名を入れる。

以上
多分動くと思う
動かしてないけど
0536nobodyさん垢版2021/06/14(月) 23:30:36.59ID:???
できたのかよw 大手勤務君有能すぎるだろ
0537nobodyさん垢版2021/06/14(月) 23:48:52.06ID:???
やっぱり零細で簡単なシステム作っているやつより
大手で複雑なシステム作ってるほうが技術力あるんだなぁ
0538nobodyさん垢版2021/06/15(火) 01:46:38.86ID:???
すべて自作自演だったらどうしよう
0539nobodyさん垢版2021/06/15(火) 03:03:55.12ID:???
大手勤務すげえなおい
なんでわかるんだよ
0540nobodyさん垢版2021/06/15(火) 11:08:36.31ID:???
そらやったことがあるからだろう
0541nobodyさん垢版2021/06/15(火) 14:33:47.85ID:???
>>539
大手勤務だからというよりは彼が一握りの天才だからだと思う
0542nobodyさん垢版2021/06/15(火) 15:51:23.27ID:???
ここの低レベルな争いの空気を一瞬で変えてしまったww
0543nobodyさん垢版2021/06/15(火) 15:55:38.05ID:???
このスレに本当に天才がいれば、あの延々続いたくだらない論争を一発論破してくれたんだろうか
0545nobodyさん垢版2021/06/15(火) 18:33:55.17ID:???
大手勤務様の技術力の高さに驚愕
簡単な仕様をいっただけで構築手順をレスしてくれるとか最高すぎませんか?
0546nobodyさん垢版2021/06/15(火) 18:44:04.88ID:???
やったー、かっこいー!
0548nobodyさん垢版2021/06/15(火) 19:35:01.49ID:???
やっぱワッチョイ無いと自演し放題だな
0549nobodyさん垢版2021/06/15(火) 19:39:42.93ID:???
コテ付けてまで自演とか自己開示欲はんぱねえなw
さすが大手勤務だ、俺たち零細には真似できねーw
0550nobodyさん垢版2021/06/15(火) 21:10:42.04ID:???
>>530の質問に具体的な実装を提示できなかった時点でお前らの負けだよ
0551nobodyさん垢版2021/06/15(火) 21:29:29.40ID:???
別に勝とうとか思ってないし
0552nobodyさん垢版2021/06/15(火) 22:10:43.11ID:???
これだからワッチョイなしはやめられない
ほんと楽しいわ
0553nobodyさん垢版2021/06/15(火) 22:13:32.85ID:???
別の板に立てたバカがいたけどそういうスレは誰も来ないからなw
0554nobodyさん垢版2021/06/15(火) 23:06:29.44ID:???
view側でcontrollerのメソッドを利用したいんですが
どういう書き方をすればいいでしょうか?

初心者ですいませんがどなたか教えて下さい
0555nobodyさん垢版2021/06/15(火) 23:45:56.55ID:???
ちょっと考えても分からんのなら、
そもそもその手法が間違ってると思った方が良いかもね
0556大手勤務垢版2021/06/15(火) 23:49:09.77ID:???
>>554
自分自身であるthisをviewに渡せばview側でcontrollerのメソッドを実行可能です
0557nobodyさん垢版2021/06/15(火) 23:53:55.62ID:???
その発想は思いつきませんでした。
確かにcontroller毎viewに渡したらview側でcontrollerのメソッドを実行できました。
教えていただきありがとうございました。
0558大手勤務垢版2021/06/15(火) 23:58:20.14ID:???
>>554
それはMVCとかけ離れてるので設計がおかしいです
その呼びたいメソッドがviewの仕事をしているんじゃないですか?
ちゃんと見直してください
0559nobodyさん垢版2021/06/16(水) 00:02:08.51ID:???
言われてみればMVCじゃないですね
viewのメソッドにできないか考えてみます
教えていただきありがとうございました
0560nobodyさん垢版2021/06/16(水) 00:02:45.29ID:???
一人で何やってんだこいつ
0561nobodyさん垢版2021/06/16(水) 00:04:50.98ID:???
前回敬語使ってなかったろ
もっとうまく成り済ませよ
0563nobodyさん垢版2021/06/16(水) 00:21:32.45ID:???
大手勤務の人はやっぱり違うな ちゃんと色々な質問に適切にこたえてくれるし
このスレの零細起業の連中とは格が違うね
0564nobodyさん垢版2021/06/16(水) 01:46:25.47ID:???
CSRF対策について質問があります。
特定のページだけCSRF対策をする方法はあるのでしょうか?
0565nobodyさん垢版2021/06/16(水) 01:55:38.89ID:???
恐ろしい質問があらぬ方向からやってきた!
0566nobodyさん垢版2021/06/16(水) 11:47:10.51ID:???
大手勤務さんは自分が書いた質問以外には答えられません
0567nobodyさん垢版2021/06/16(水) 12:13:04.47ID:???
>>530
これに対してのやり方が
>>533
って流れって釣りだよな?
この質問って120分で強制ログアウトさせたいって話だよね?
セッションでどうにかしようとしてる時点で解答ありきの質問じゃね?
まあ大芋勤務してるとベストプラクティスなのかもしれんが
0568nobodyさん垢版2021/06/16(水) 12:16:28.43ID:???
どう見ても自演なんだけどさ、
自分が大手で働いてるのを自演までして自慢するのはさすがに草
0569nobodyさん垢版2021/06/16(水) 12:32:09.21ID:???
まぁ大手君の中では強制ログアウトをセッションでやるのがベストプラクティスなんじゃね?
俺はそんな面倒なやり方しないけど
0570nobodyさん垢版2021/06/16(水) 12:43:15.35ID:???
>>569
ではどのように実装するかご高説願おうじゃないか
0571nobodyさん垢版2021/06/16(水) 13:11:04.35ID:???
>>570
セッションなんか使用せずDBにログイン時間を保存しておけばいいだろ
0572nobodyさん垢版2021/06/16(水) 13:20:03.99ID:???
>>570
大手勤務君、名無しでイライラしながらレスしてて草
0573nobodyさん垢版2021/06/16(水) 14:05:07.31ID:???
そもそも最終ログイン時刻を残さないユーザー認証なんてガバガバすぎじゃ…
basic認証でログインするならあるかもしれないが
0574nobodyさん垢版2021/06/16(水) 14:15:25.64ID:???
>>571
俺もこっちが単純で分かりやすい気がするわ
わざわざkernel書き換えるとか大袈裟なんだよね
0576nobodyさん垢版2021/06/16(水) 14:40:06.58ID:???
大芋勤務君「ミドルウェアを作って〜、Kernelを書き換えて〜、以上。動かしてはない(ドヤw自演もしたろw」

謎の名無し「セッション使わないでDBにログイン時間保存すればいいだけ」

この差よ…
0577nobodyさん垢版2021/06/16(水) 15:31:17.34ID:???
ゴミカスが負けを認められずに騒ぎ出した
0578nobodyさん垢版2021/06/16(水) 15:36:52.53ID:???
社員数20人って大手とは言わないと思うんだけどこのスレでは大手扱いなの?
0579nobodyさん垢版2021/06/16(水) 15:50:31.99ID:???
>>574
この方法もミドルウェア作ってカーネルへの登録も必要じゃね?
0580nobodyさん垢版2021/06/16(水) 16:07:13.04ID:???
>>579
rootMiddlewareに追加しないで
controllerかrouteでやるって事でしょ
0582nobodyさん垢版2021/06/16(水) 16:42:06.08ID:???
>>580
コントローラーで認証チェックはちょっと遅すぎるかな…
ルートだとセッション始まってないからユーザーIDの特定無理じゃない?
0583nobodyさん垢版2021/06/16(水) 16:53:42.50ID:???
>>582
認証用ミドルウェアってこんな感じの実装だと思うんだけど
作ったやつの部分に例のミドルウェアを入れとくイメージ
Route::group(['middleware' => ['auth:sanctum', 'verified','作ったやつ'] ],function (Router $router ){
$router->get('users' , 'コントローラー' )->name('users');
}) ;
0584nobodyさん垢版2021/06/16(水) 16:57:56.05ID:???
あ、前提条件としてroutes/web.phpに書いてあるから
webのミドルウェアグループは読み込んでる前提ね
0585nobodyさん垢版2021/06/16(水) 16:59:18.00ID:???
>>580
rootMiddlewareって何だ
routeMiddlewareのこと?
0586nobodyさん垢版2021/06/16(水) 17:04:52.38ID:???
>>585
あ。。。ごめん普通に
間違えてたrouteMiddleware
この間違いはあかんね
0587nobodyさん垢版2021/06/16(水) 17:27:54.14ID:???
>>583も結局routeMiddlewareへの登録必要(Kernelを書き換える)なのでは
そもそもなぜKernel書き換えたくないのか知らんけど
0588nobodyさん垢版2021/06/16(水) 17:52:35.68ID:???
>>587
別に>>574ここでKernelに〜って言いだしたの俺じゃないんだけどね
でもサービスとして分離する事考えるとサービスプロバイダでaliasの登録するか
['auth:sanctum', 'verified',\Package\Name\Middleware\作ったヤツ::class]
的なやり方しちゃう事が多いかも
0589nobodyさん垢版2021/06/16(水) 19:20:03.78ID:???
ホントの大手ならlaravelなんか使わないで独自FW作ってるでしょ
0590nobodyさん垢版2021/06/16(水) 19:30:55.47ID:???
そんなことはないと思うが
案件次第
0591nobodyさん垢版2021/06/16(水) 19:52:10.08ID:???
今時独自FWなんて作ると思うか?
0592nobodyさん垢版2021/06/16(水) 20:07:52.79ID:???
DBにログイン時間保存してどうすんだ?毎アクセスごとにチェックして2時間経ったらログインに飛ばすの?
一定時間毎にログアウトさせて途中の作業パアにしてくれるクソシステムあるけどあれお前らが作ってんのか
0594nobodyさん垢版2021/06/16(水) 20:17:13.52ID:???
保険屋さんとかデータ系とかJavaで自前で作ってる現場多かったよ
0595nobodyさん垢版2021/06/16(水) 20:17:23.57ID:???
>>592
それはさすがに知らねーよ
大手勤務の俺が120分でログアウトする仕組みで無双した件的なラノベの矛盾点が論点なんだから
0596nobodyさん垢版2021/06/16(水) 20:20:13.41ID:???
結局DBの時間見るとのセッション期限を更新しないのはどっちが良いんだよ
0597nobodyさん垢版2021/06/16(水) 21:03:26.40ID:???
どっちでも良いだろ
どうせ大してアクセスのないサイトだろ
0598nobodyさん垢版2021/06/16(水) 21:03:43.31ID:???
このスレの総意としては>>534のやり方を推奨だよ
0599nobodyさん垢版2021/06/16(水) 21:06:57.77ID:???
スレの総意おじさんもずっとこのスレいるよな
的外れなことばっかり言う
0600nobodyさん垢版2021/06/16(水) 21:29:26.18ID:???
お前ら本当に暇なんだな
大手だの零細以前にまず働いてんのか?
0601nobodyさん垢版2021/06/16(水) 21:40:00.79ID:???
半分くらいは実際に仕事で使ってそうだけど
残り半分は趣味とかやろな
0602nobodyさん垢版2021/06/17(木) 01:10:46.72ID:???
ここにいる全員がその半分に属してるんだよ
0603nobodyさん垢版2021/06/17(木) 06:46:12.22ID:???
ほんとにバカしか居ねぇなぁ…。
0605nobodyさん垢版2021/06/17(木) 07:38:58.35ID:???
アプリ側で時間管理して超過したら強制ログアウトでええやろ
0606nobodyさん垢版2021/06/17(木) 07:42:06.92ID:???
>>596
ロードバランサ使ったりAWSで複数インスタンス使ってるような構成だとDBでセッション管理してると思う
だから今回のような疑問が出てくる時点でおそらくシステム構成を理解できてない

もしくは既存システムをいじりたくないのであれば別途監視アプリを作って常駐させる
C言語使えるならこっちのほうが楽かもね
0607nobodyさん垢版2021/06/17(木) 07:47:30.33ID:???
>>589
独自FW作るのはLaravel以前からやってる案件
cakeの頃に独自FW作るのが流行った
codeigniterに皮かぶせて独自FWっていってるのもあったな
とにかく一世代前の話
昔からやってる人は慣れてる独自FWで揃えたいっていうのもあるだろう
会社として複数FWを利用すると教育コストがかかっちゃうから一度採用したFWは変えられないという都合もある

ただ、新陳代謝が一巡してるであろう今の時期になってもまだ独自FWのままっていうのは
特殊な事情があるのか、もしくは開発者が入れ替わってない(高齢化)のか、もしくは開発者のレベルが低すぎて
言われたままやる人しかおらずもはやFW入れ替えなんていうことをするパワーがないのだろう

独自FWっていうのは下請け企業が他社に仕事を取られない為の難読化テクニックの一つ
0608nobodyさん垢版2021/06/17(木) 07:48:57.47ID:???
>>606
DBってリレーショナルDBのことか?
そんなとこでセッション管理しないだろ
今までの現場はほぼRedisだわ
0609nobodyさん垢版2021/06/17(木) 08:03:25.51ID:???
>>608
どっちでもいいんちゃう?
DBでも大して遅くはならんやろ
0610nobodyさん垢版2021/06/17(木) 08:05:12.58ID:???
>>608
インフラ設計したことある?IaaSとかで売上の立たない業務システム作るときは、月額のインフラコスト少しでも減らしたいからKVSじゃなくてDB使うケースはありえるでしょ。

わざわざセッションドライバやキャッシュドライバにDBが用意されているのはなぜか考えような。
0611nobodyさん垢版2021/06/17(木) 08:05:30.80ID:???
過疎システムなら別にRDBで管理しようがRedisで管理しようがあんま変わらないけど、
ロードバランサで負荷分散が必要になる規模だとRDBでセッション管理するのは非効率極まりないね
0612nobodyさん垢版2021/06/17(木) 08:07:11.27ID:???
RedisってNoSQLだし、そりゃRDBよりも高速だよね
0613nobodyさん垢版2021/06/17(木) 08:09:41.75ID:???
> ロードバランサ使ったりAWSで複数インスタンス使ってるような構成だとDBでセッション管理してると思う



> IaaSとかで売上の立たない業務システム作るときは、月額のインフラコスト少しでも減らしたいからKVSじゃなくてDB使うケースはありえるでしょ。
0614nobodyさん垢版2021/06/17(木) 08:10:53.06ID:???
どうせDBアクセスしまくるんだからセッション管理分が1、2回ぐらい増えても大してレスポンス変わらんやろ
0615nobodyさん垢版2021/06/17(木) 08:13:21.38ID:???
>>613
いやさすがに別人だろ…
同一人物だったら笑うが、ワッチョイ無いのが悔やまれるな
0616nobodyさん垢版2021/06/17(木) 08:28:34.83ID:???
>>607
自前FWでドキュメントもある所もあった。自前FWを作ったコストを相殺できるくらいには各種案件に使おうとしてるようだった
0617nobodyさん垢版2021/06/17(木) 08:35:34.07ID:???
>>616
独自FWだと下請けに出すときに困るんだよ
というか出された下請けが困る
つまりワイが困る
0618nobodyさん垢版2021/06/17(木) 08:36:02.14ID:???
独自FWはバージョン管理で破綻しやすい
パブリックなFWだと案件のほうをあわせるしかない
しかし、独自FWだとFWを案件にあわせていく

案件の数だけ枝がわかれた独自FWなんてただの悪夢だ
0619nobodyさん垢版2021/06/17(木) 08:37:39.20ID:???
composerはそもそも使ってるのかな?
0620nobodyさん垢版2021/06/17(木) 09:41:33.08ID:???
>>614
誰もレスポンス速度のこと言ってないよ
安いRedisを使うか高いRDBを使うか、コストの話だよ
0621nobodyさん垢版2021/06/17(木) 09:50:44.17ID:???
>>613
何が言いたいのか詳しく。ちなみに>>606は俺じゃないけどな。
0622nobodyさん垢版2021/06/17(木) 09:51:25.32ID:???
業務に使ってるRDBMSを使いまわしたってかまわないし
セッション用にNOSQLを使う場合もあるだろう
細かい条件を決めてベストを尽くすのがおまえらの仕事
ここで何も聞かずにベストプラクティスが決まるようならおまえらの仕事は不要だよ

予算ないならRDBMS1台とロードバランサー1台、インスタンス1台の構成で
アクセス増えてきたら動的にインスタンス起動ってところじゃないのかな

本当に金かけたくないならインスタンス1台に全盛りでスケーラビリティなしだ
0623nobodyさん垢版2021/06/17(木) 09:56:11.83ID:???
ロードバランサーの用途を負荷分散のためだけとか思ってる奴が何人か居るんだな。冗長化必須の場合もロードバランサーで複数のインスタンス使うよ。

業務システムだと負荷は無くても落としたらしばかれるからそういう構成になる。まぁ零細だと多少落ちてもそんなもんだって許されるのかもしれないが。
0624nobodyさん垢版2021/06/17(木) 10:07:56.12ID:???
>>619
独自FWの場合、composerは使わない
独自FWのメリットはソースコードを非公開にできることが大きい
公開することによって脆弱性が見つかる場合もあるから
0625nobodyさん垢版2021/06/17(木) 10:37:16.95ID:???
いい加減独自FWなんて負債以外の何者にもならないって、皆痛い目して学んどるやろ
まあ非独自にしたって100%解決はせんけど
0626nobodyさん垢版2021/06/17(木) 11:00:02.08ID:???
>>624
OSSの思想と真逆のアプローチをとるんだな

公開して皆で脆弱性を見つけて修正できるという思想、
非公開にすれば脆弱性を見つけるのが難しくなるという思想。

日本らしいといえば日本らしいな。
0627nobodyさん垢版2021/06/17(木) 11:15:57.65ID:???
毎日のようにSQLインジェクションくさいアクセスログを見ている身としては、非公開FWのほうが安全てのは思考停止すぎるよとだけ言っておく。
0628nobodyさん垢版2021/06/17(木) 11:28:39.27ID:???
composerでどうにかなる程度の枝しか作ってないと思ってるのか?
案件ごとに独自進化する地獄を見せつけてやりたい
案件バージョンとFWバージョンのグリッドを見て涙するがいい
0629nobodyさん垢版2021/06/17(木) 11:42:55.10ID:???
なんでドヤ顔でバッドノウハウ自慢してるんだ
0630nobodyさん垢版2021/06/17(木) 11:52:04.34ID:???
囚人はつながれた鎖の大きさでマウントをとる
0631nobodyさん垢版2021/06/17(木) 11:52:55.96ID:???
なにそれいい言葉だなどこで覚えたの
0632nobodyさん垢版2021/06/17(木) 12:07:09.91ID:???
自前FW作ってる所はVPCで業務に使ってるとかそんなのだった気がする。確かに案件毎の別バージョンは地獄っぽかった
0633nobodyさん垢版2021/06/17(木) 13:27:43.67ID:???
>>627
それ言うほど問題か?SQLインジェクションなんて真っ先に対策するじゃん
XSSとかCSRFとかある程度の脆弱性対策してから開発するだろ
0634nobodyさん垢版2021/06/17(木) 13:42:57.50ID:???
アメリカ人「OSSにすれば脆弱性が見つかる」
日本人「OSSにすれば脆弱性が見つかる」
0635nobodyさん垢版2021/06/17(木) 13:50:26.10ID:???
>>633
その対策がガバガバだったらどうするの?
0636nobodyさん垢版2021/06/17(木) 13:54:35.52ID:???
>>635
そんなレベルのやつはOSSフレームワーク使っても脆弱なシステムしか作れんよ
根っこが理解できてないんだから
0637nobodyさん垢版2021/06/17(木) 14:01:44.56ID:???
>>633
そういうことではなくて、独自だろうが何だろうが、外に出す以上は一定の脅威に晒されることに変わりがなく、コードから脆弱性を見つけられないという点は何ら安全を保証するものでもないし、公開しているFWより安全であることの証明にもならないって指摘。
0638nobodyさん垢版2021/06/17(木) 15:51:52.25ID:???
Web公開したらまっさきに攻撃してくるのがトレンドマイクロ
0639nobodyさん垢版2021/06/17(木) 17:33:38.73ID:???
20年ぐらい前のペーペーの頃、SQLインジェクション(実際には実行できない)があるって
見知らぬ奴がわざわざお問合せフォームから連絡してきたっけ

当時は不正アクセス防止法とかないから、攻撃しようと思えばできたろうけど
単に教えてくるって良いやつだったんだな
0640nobodyさん垢版2021/06/17(木) 18:03:54.76ID:???
>>633
一般的な会社は画面に「データを返してほしかったらビットコインをよこせ(意訳)」って表示されてから対策をはじめるんだよ
0641nobodyさん垢版2021/06/17(木) 18:04:54.95ID:???
>>636
さすがにそれは違うだろ
少なくともオレオレFWで作るよりははるかに安全
0642nobodyさん垢版2021/06/17(木) 18:04:55.83ID:???
>>634
海外の有名FWと公開したところで誰も使わないであろう弊社FWを比較するのはちょっと違和感を感じる
0643nobodyさん垢版2021/06/17(木) 18:07:22.40ID:???
>>638
githubを巡回してるロボいるよな
あれAWS社は有名だけどあとはどこが巡回してるんだ
0646nobodyさん垢版2021/06/17(木) 20:33:27.24ID:???
LaravelでFWの素の状態を知ってから他のFWを触ると面白いよね。
あーこの部分をこうしてるんだーってFW制作者の工夫が分かるようになる。
そんでもってやっぱSymfonyとCakeは勉強になるチューニングしてあって評価の高さも納得できる。
0647nobodyさん垢版2021/06/17(木) 21:18:29.83ID:???
Cakeももう少し頑張ってくれたら良いんだけどね
0648nobodyさん垢版2021/06/17(木) 21:38:11.06ID:???
cakeはなぜ廃れたんだ?
オフィシャルサイトは良さげなのに
0650nobodyさん垢版2021/06/17(木) 21:51:54.09ID:???
Cakeと比べてどう使いやすいの?速度は遅いみたいだけど(キャッシュ無しで
0651nobodyさん垢版2021/06/17(木) 22:30:37.91ID:???
>>650
cakeとの比較だと
・認証周りの機能があらかじめ用意されている
・テンプレートエンジンがあらかじめ用意されている
・フロントエンド周りの環境構築が楽ちん
・ファーストパーティとサードパーティに豊富な拡張パッケージが用意されている
・クリーンアーキテクチャ的な拡張がしやすい
・redisなどの外部システムとの連携の設定が簡単

ぐらいかな。
0652nobodyさん垢版2021/06/17(木) 22:47:17.63ID:???
>>651
ご丁寧にありがとうございます。
Symfonyと比べるとどのような点が使いやすいですか?
0654nobodyさん垢版2021/06/17(木) 23:17:38.61ID:???
自分で調べもせず楽に知ろうとする教えて君うざいよね
0655nobodyさん垢版2021/06/17(木) 23:21:03.55ID:???
>>654
どうした大手勤務君
自分が答えられない質問に他の人が答えているのを見て嫉妬しちゃったの?
0656nobodyさん垢版2021/06/17(木) 23:25:54.71ID:???
cakeは古臭く感じるんだよ
色々用意されていて自由度もそれなりにあるLaravelを使うと他のフレームワークを使う気になれなくなる
homesteadとか環境面も色々あるし便利だなと
個人的な感想だけどね
0657nobodyさん垢版2021/06/17(木) 23:36:34.64ID:???
>>653
そうなの?なら>>651のうちcakePHPでも十分同等と言える点はどれ?
0658nobodyさん垢版2021/06/17(木) 23:45:10.19ID:???
LaravelがなかったらCake使い続けてたと思う
Cakeは一般ユーザーとadminを認証し分けるのや別のテンプレートエンジン入れたりするのが面倒臭かった
誰かが作ったプラグインも色々あったがメンテされなくなったら終わりだし
0659nobodyさん垢版2021/06/17(木) 23:47:02.69ID:???
LaravelのスレでCakeの話するの違うと思う
0660nobodyさん垢版2021/06/18(金) 09:16:58.68ID:???
まぁ大昔は日本で流行っていた訳だし比較のために出すのは別に問題ない気がする
0661nobodyさん垢版2021/06/18(金) 20:50:05.69ID:???
大手勤務君ってLaravelにすごい詳しいけどどうすればここまで詳しく詳しく詳しく
0662nobodyさん垢版2021/06/18(金) 21:39:38.92ID:???
結局バリデーションはモデルでやったほうがベストプラクティスということで決着がついたの?
0663nobodyさん垢版2021/06/18(金) 21:42:50.33ID:???
そんなこと一人しか言ってなかったぞ
0665nobodyさん垢版2021/06/18(金) 21:45:04.79ID:???
Laravelでviewをbladeではなくtwigに変更するライブラリってありますか?
bladeは使っていて違和感を覚えるので変えたいです
0666nobodyさん垢版2021/06/18(金) 21:46:18.07ID:???
>>662
違う
バッチ処理が必要なアプリ→モデルでバリデーションがベストプラクティス
バッチ処理が必要ないアプリ→FormRequestでバリデーションがベストプラクティス

アプリの構成によってベストプラクティスが変わるという結論だよ
0667nobodyさん垢版2021/06/18(金) 21:51:41.54ID:???
すみません教えてください laravelでプロジェクトを作成すると
プロジェクト直下にartisanというファイルがありこれを使ってコントローラ生成したりなど色々行うと思います。
本番環境にアプリを配置する場合このartisanというファイルは削除したほうがいいのでしょうか?
WEBブラウザからartisanファイルが実行されて変なことにならないか心配しています
0668nobodyさん垢版2021/06/18(金) 21:55:34.25ID:???
>>667
そんなレベルでLaravel使うことのほうが心配だよ
0670nobodyさん垢版2021/06/18(金) 21:59:25.19ID:???
すみません。別FWだと本番環境にモードを設定するコマンドが用意されており
そのコマンドを実行すると開発にしか使わないようなライブラリや開発専用コマンドなどのファイルを
自動削除してくれていたので今まで気にしたことはありませんでした。
laravelだとそのようなコマンドがないようだったので本番リリース時にどこまで削除すればいいのか
わからなくなって質問させていただきました。
0671nobodyさん垢版2021/06/18(金) 22:03:06.71ID:???
普通はプロジェクトディレクトリ/publicがドキュメントルートなはずだから実行されないと思うけど
実際WEBサーバの脆弱性ついたらドキュメントルートより上にアクセスして実行できるのかな?
0672nobodyさん垢版2021/06/18(金) 22:08:03.33ID:???
今開発しているアプリがテストデータ程度だと普通なんだけど本番データに近い件数入れたら
なんか一覧を表示する速度が遅いなって思ってたら数年ぶりにN+1を発生させてしまっていたぜ

N+1なんて回避して当然だから自分やらかしていることに気付かず調べてから判明するまで6時間費やした
0673nobodyさん垢版2021/06/18(金) 23:07:00.42ID:???
eloquentのwithを知らない又は使ったことが無い人は案外いるのかな
0674nobodyさん垢版2021/06/19(土) 00:33:52.61ID:???
お前らモハメドの話聞いてないのかよ
0675nobodyさん垢版2021/06/19(土) 01:04:26.68ID:???
LaravelのEloquentにはupdateメソッドとsaveメソッドがありますが
どちらを使うのが一般的なんですか?
0676nobodyさん垢版2021/06/19(土) 01:08:31.82ID:???
>>675
動作が違うので必要な場面で必要な方を使うのが一般的です
0677nobodyさん垢版2021/06/19(土) 02:52:09.97ID:???
基本的にはモデルからfind()なりwhere()->first()なり1件取ってきてからsave()かと
複数行が対象とかで無い限りupdate()使ったりしない気がする
0678nobodyさん垢版2021/06/19(土) 08:34:10.69ID:???
相変わらず、ワケワカラン実装してんなぁ…。
作ってる奴がアホなんだろうなぁ…。
0679nobodyさん垢版2021/06/19(土) 09:09:10.30ID:???
>>678
ワケワカランてどういうところがそう思ったのか気になるなー。
0680nobodyさん垢版2021/06/19(土) 12:41:17.93ID:???
saveを使う場合は
$user->fill($request->validated())->save()
というような感じで使えばいいですか?
0681nobodyさん垢版2021/06/19(土) 13:01:08.11ID:???
初心者はまずドキュメントか本を読んで基礎を学べ
0682nobodyさん垢版2021/06/19(土) 14:18:24.11ID:???
ずっとjavascriptマンやっていて再びphpに戻ってきたらなんかいろいろ苦しい
0683nobodyさん垢版2021/06/19(土) 15:33:42.74ID:???
>>680
その使い方だとupdateでも同じでしょ?
自分はfillした後に何か処理挟むならsave、挟まないならupdateって使い分けしてる
あとコントローラー内限定だよね?その書き方
0685nobodyさん垢版2021/06/19(土) 16:52:11.13ID:???
>>684
>>683
「updateでも同じ」って部分を言ってるなら多分勘違いしてるぞ
0686nobodyさん垢版2021/06/19(土) 19:37:14.74ID:???
>あとコントローラー内限定だよね?その書き方

はぁ? 場所によって書き方変わんの?
相変わらず、ワケワカラン実装してんなぁ…。
作ってる奴がアホなんだろうなぁ…。
0687nobodyさん垢版2021/06/19(土) 19:40:36.23ID:???
>>686
お前はせめてPHP初心者卒業してからコメントしろよ
アホなんだからw
0688nobodyさん垢版2021/06/19(土) 20:34:25.83ID:???
>>686
横だけど、requestオブジェクトからバリデートした値だけを受け取っている部分があるから、controller限定かどうか尋ねてるってことでしょ。Laravelのこと知らないなら黙ってたほうがいいよ。どうせお前bigintおじさんでしょ?
0689nobodyさん垢版2021/06/19(土) 20:41:20.40ID:???
あえて煽る意味あるの?
0690nobodyさん垢版2021/06/20(日) 02:25:33.79ID:???
Eloquentの更新だったらupdateを使うのが普通でしょ
あえてsaveを使う理由はない
0691nobodyさん垢版2021/06/20(日) 03:29:17.83ID:???
>>690
そうなんだよね、結局updateの中身だってfillしてsaveしてるだけだから
あえて->save()分のコード量増やす意味ないと思う
それよりも震えるのはプロパティに値セットしてsaveしてる人ら
0692nobodyさん垢版2021/06/20(日) 05:56:49.44ID:???
>>691
何故?w
そっちが普通やろ
fill()とか常に使っている方が頭おかしい
0693nobodyさん垢版2021/06/20(日) 08:14:01.06ID:???
マスアサインメント知らないアホがなんか言ってるな
0694nobodyさん垢版2021/06/20(日) 08:28:52.53ID:???
このスレ見てるとphp使いとペチパーと揶揄される理由が分かるね
0695nobodyさん垢版2021/06/20(日) 08:43:42.18ID:???
そうか?低レベルなエンジニアはどの言語にも一定いると思うぞ。
0696nobodyさん垢版2021/06/20(日) 09:08:09.75ID:???
>>692
前提としてfillableかguardedをModelに設定してるよね
その値って更新可能なカラム名って感じがするけど
そうじゃなくてcreateとかupdateとかfillの引数で入力される連想配列が保存可能なカラムを定義してるのよ
なのでfillとかを使わないでセットした値はその影響を受けないのね
例えば更新なんかしちゃダメなprimaryKeyの値とかも変更可能なの
$user->id = 10 ;
$user->save();
ここまで書いたら分かると思うけど
こういう実装方法って重大なセキュリティホールの要因になりえるので
気を付けようねって意味を含めて「震える」って書いたの
別に俺はプロパティでセットしてsave呼び出してるからと言って頭おかしいとは思わんよ
上に書いた理由を知らなかったってだけだと思うし
実際、俺も使い始めの時プロパティにセットする実装してたから
こういった理由を知った上でそれでもプロパティで実装する方法を選択してるなら頭おかしいって思っちゃうかな
0697nobodyさん垢版2021/06/20(日) 09:22:08.01ID:???
え、
$user->id = 10 ;
なんて誰が書くの?君の同僚?
0698nobodyさん垢版2021/06/20(日) 09:56:24.11ID:???
>>697
申し訳ない、俺の例がわかりにくかったみたいだね
こんな例が考えられるけどどうかな?
たとえば悪意のあるユーザーがリクエストでis_adminパラメータを送信して
そのパラメーターがモデルのcreateメソッドに渡されてユーザーが自分自身を管理者に格上げする
みたいなケースが考えられるでしょ?
あと、少し慣れてくるとプロパティにセットする事が手間になってきて
foreachで回して値をセットしたりしがち
そうなると完全にやばいよね
0699nobodyさん垢版2021/06/20(日) 10:23:31.57ID:???
> foreachで回して値をセットしたりしがち

すまん、俺はそんな場面に出くわしたことないが、君の職場ではしがちなのかい?
0700nobodyさん垢版2021/06/20(日) 10:25:45.61ID:???
Eloquent式は受け取ったリクエストのタイプによって保存する内容が大幅に違う場合とかには重宝するけどね
0701nobodyさん垢版2021/06/20(日) 10:28:58.58ID:???
>>696
そもそもマスアサインメント知らないLaravel初心者にそんな具体的な説明しても無駄では?
0702nobodyさん垢版2021/06/20(日) 10:30:07.55ID:???
idって基本的にauto_increment入れる為のものだから
$user = User::find($request['id']);
とはやっても
$user->idの値を書き換えるとかちょっとあり得ん
0703nobodyさん垢版2021/06/20(日) 10:49:54.07ID:???
だからそれは例だっつーの
アホなの?
0704nobodyさん垢版2021/06/20(日) 10:51:16.05ID:???
fill厨はどんな場合でも使ってそうw
0705nobodyさん垢版2021/06/20(日) 11:14:16.81ID:???
例にある意味予約語みたいなワードを書くとか根本的に常識がない
0708nobodyさん垢版2021/06/20(日) 11:58:24.08ID:???
おまえらっていつもマウントの取り合いしてるな
0709nobodyさん垢版2021/06/20(日) 12:09:40.58ID:???
例だからとかいって言い訳しているけど
idって基本的にauto_increment入れる為のものだから
$user = User::find($request['id']);
とはやっても
$user->idの値を書き換えるとかちょっとあり得ん
0710nobodyさん垢版2021/06/20(日) 12:12:46.30ID:???
しつこい
アホだ
アホは書き込み禁止
0711nobodyさん垢版2021/06/20(日) 12:26:55.34ID:???
>>704
どんな時でも使うべきだぞ。じゃないとリクエストからモデルに渡してよいフィールドが、コントローラー側で決定されるメソッドが生まれてしまうぞ。
0712nobodyさん垢版2021/06/20(日) 12:41:55.52ID:???
fillを必ず使え代入は危ないって言ってる人は、fillableじゃない値をどうやって入れるの?
0713nobodyさん垢版2021/06/20(日) 12:44:44.49ID:???
このスレ見てるとレベル低い奴が何故か威張っていて、これが今の日本のIT技術が低い理由、そして国が衰えてる理由に繋がってる気がする。
要は反知性主義なんだよね。真面目に科学的に考える奴のことを軽視している。
これって地動説否定とかトランプ支持者など外国でも見られた傾向だけど、日本は特にひどいね。教育が悪いんだろうか。
0714nobodyさん垢版2021/06/20(日) 12:57:28.34ID:???
IDのないスレをいつまで本スレとして使うつもりなのか?
0715nobodyさん垢版2021/06/20(日) 13:08:15.94ID:???
>>712
質問を質問で返すなよ お砂糖が知れるぞ
0717nobodyさん垢版2021/06/20(日) 13:31:50.81ID:???
お前ら>>696の例に対して文句があるんだったら自分が例を提示しろよ
0718nobodyさん垢版2021/06/20(日) 13:50:15.46ID:???
>>691
fillを必ず使え代入は危ないって言ってる人は、fillableじゃない値をどうやって入れるの?
0720nobodyさん垢版2021/06/20(日) 14:00:15.21ID:???
>>719
いやforceFillというメソッドは分かるよ。
それを使えば解決するよって回答でいいのかな?
0721nobodyさん垢版2021/06/20(日) 14:12:25.97ID:???
>>720
まず何を解決したいのかな?
それを聞かないで全て解決するなんて事は言えない
できれば具体例上げて欲しい
状況によって使うメソッドや方法も変えてるから
0722nobodyさん垢版2021/06/20(日) 14:20:38.12ID:???
逆にコントローラーでfillableじゃない値をセットしている奴は、コントローラーの責務をどう規定しているのか詳しく聞いてみたい。
0723nobodyさん垢版2021/06/20(日) 14:24:09.06ID:???
>>720
質問しといて申し訳ないけど
俺もfill使ってない事思い出したわ、すまんな
プロパティに入れてfillableガン無視で最後saveしてる人だったって事にしといてください
ここで言い争いしてコスト使うのが1番頭おかしいってふと気付いたわ
0724nobodyさん垢版2021/06/20(日) 14:35:38.78ID:???
laravelはなんでN+1問題が発生するんですか?
N+1って有名な問題だからFW設計時にそれを強制的にFW側で回避するようにできなかったのかな
いまだとwithとか明示的に使わないと回避できないよね?
0725nobodyさん垢版2021/06/20(日) 14:39:23.50ID:???
N+1問題を回避できるFWなんてないし、理論上つくれない
0726718垢版2021/06/20(日) 14:43:21.94ID:fbme7EFA
>>723
いや別に喧嘩腰になったつもりは無くて、単なる興味から聞きたかっただけなんだけどな。
答えたくないなら残念。

>>721
例を挙げるならユーザーのパスワードのセットする時とかだね。
0728nobodyさん垢版2021/06/20(日) 14:45:04.87ID:???
>>725
そうなんですか?となるとやっぱりFWを使う人側で回避しないといけないというわけですね
0729nobodyさん垢版2021/06/20(日) 14:46:07.26ID:???
>>726
だからfillableじゃない値はforceFill使えよ
プロパティに直接セットするとか素人ですら珍しいぞ
0730nobodyさん垢版2021/06/20(日) 14:47:57.78ID:???
N+1をFW側で回避することは非常に難しいですよ
その実装をできた人は世界中で表彰されるだろうと言われるぐらい難しいことなんです
0731718垢版2021/06/20(日) 14:58:11.63ID:fbme7EFA
>>729
なるほど、>>723さんと同じ人か分からないですがありがとうございます。
例えばですが

$user->password = $hashedPassword;
$user->last_password_changed = $now;
$user->fill(request()->all())->save();

こんなコードを書きたい時は

$user->fill(request()->all());
->forcefill([
'password' => $hashedPassword,
'last_password_changed' => $now
]);
->save();

こうしたほうが良いってことですよね?

必ず fill を通す必要がある理由が前述の
「例えば更新なんかしちゃダメなprimaryKeyの値とかも変更可能なの」
「こういう実装方法って重大なセキュリティホールの要因になりえるので」
という理由だと思ってたんですが、forceFill 使っちゃうと id とか変更しちゃダメな値を更新しかねないという点でやはり一緒ではないですか?
この理由だと forceFill も使うべきではないと思ったんですが、実は forceFill を使うとこの問題を克服できるのでしょうか?
0732nobodyさん垢版2021/06/20(日) 15:56:55.52ID:???
シーダーにforceFill使うならわかるけど
他の用途では使わないほうがいい気がする
laravelは入門程度だから実際に業務で使っている人の意見聞きたいな
0733nobodyさん垢版2021/06/20(日) 16:03:57.30ID:???
>>731
理解する気が無い人なのかと思ったので諦めてしまいました、ごめんなさい
パスワードとかfillableに含めない項目って基本的に含めない方がいい理由があると思うんですね
その「含めない方がいい理由」ってのは独立した機能として切り出して通常の流れから切り離す必要があると思うんです
特にパスワードに関しては更新後にメール送ったり仮パスワード発行するとか周辺機能も多くなりがちなので
機能として切り出してコントローラではない所で更新した方が良いと考えています
書いていただいた処理の流れでパスワードを更新するのであれば
fillableに含めない事で得られる効果(複数代入で更新されない)の意味がなくなってしまっているように感じます
forceFillで更新したら一緒だよねって問題に関してはご指摘の通り一緒です
ですが、機能として切り出されていればテスト時に更新すべきでない項目を更新していることを見つけることができますし
責任範囲が明確になってメンテナンスコストが抑えられると考えています

例えばlaravelのパスワード更新はこの様にforceFillで更新しています
https://github.com/laravel/framework/blob/8.x/src/Illuminate/Auth/SessionGuard.php#L662
こちらはメール認証でemail_verified_atカラムを更新しています
https://github.com/laravel/framework/blob/8.x/src/Illuminate/Auth/MustVerifyEmail.php#L24
0734nobodyさん垢版2021/06/20(日) 16:20:43.33ID:???
>>733
読み返してみたのですが

> コントローラではない所で更新

この表現は適切じゃなかったですね

> 独立した処理として更新

が適切かもしれません
0735nobodyさん垢版2021/06/20(日) 17:43:02.03ID:???
N+1問題、Laravel8の最新バージョンだと回避できるようになってる。N+1になる処理を実行しようとすると例外を発生させられるようになった。
0736nobodyさん垢版2021/06/20(日) 19:14:58.36ID:???
お前ら、マジで何やってんの?
0737nobodyさん垢版2021/06/20(日) 19:20:55.26ID:???
>>735
マジで?それはドキュメントのどこに書いてあるの?
0742nobodyさん垢版2021/06/20(日) 21:42:57.75ID:???
俺はまだ論破されていない >>738-740はN+1の回避策を提示しただけであって
FW側で回避できるという証明にはならない
0743nobodyさん垢版2021/06/20(日) 21:52:49.79ID:???
ちょっと言っている意味がわからないです
0744nobodyさん垢版2021/06/20(日) 21:53:07.92ID:???
>>598
いや、別に論破とかどうでも良いんだが。N+1の実装したら例外出て便利になったっていう情報知らないぽいから教えてあげたかっただけ。

あとFW側で回避したいなら、modelのwithプロパティ使っとけば確実だと思うけどね。ただこれ使うと余計なテーブルアクセス増えてしまいがちだから、不要な時はwithoutとかのメソッド入れなきゃダメで、それはそれでだるい。
0746nobodyさん垢版2021/06/21(月) 09:50:26.59ID:???
N+1問題とか、何やってんだろうなぁって思ったら
エロなんたらがActiveRecord型だからっつう事か?

アホな事やってんなぁ…。

ActiveRecord型はJOINが表現しずらいから使わんのよね。
無駄な努力をご苦労さん。
0747nobodyさん垢版2021/06/21(月) 10:19:15.52ID:???
近頃のFWはだいたいがActiveRecord型だし、特に無駄な努力なんてしてないけどな?DataMapper型しか使ったことないアンチオートインクリメントおじさんは、いつまでLaravelスレで粘着するのかね?
0748nobodyさん垢版2021/06/21(月) 10:48:42.22ID:???
ActiveRecord型は表現が冗長でミスを誘引しやすい
特に初心者にとっては記述する動機になりづらく成長の阻害要因

JOINで書くよりN+1で書いたほうが表現がスマートなのが問題なんだよ
0749nobodyさん垢版2021/06/21(月) 10:50:58.39ID:???
Laravel以前はCakeしか使ったことないからN+1なんて知らんかったわ
ここ数日初めてこのスレで勉強になった
0750nobodyさん垢版2021/06/21(月) 11:28:23.03ID:???
JOINで書くってDBファサードからjsonメソッド使って書くって事?
生のSQLでjson使って書くって事?
0751nobodyさん垢版2021/06/21(月) 11:30:35.35ID:???
ベテランRailsエンジニアたちがN+1でハマってるのみて何をもがいているのか不明だった
そしたらLaravelでもハマる奴らも続出していたんだな
0752nobodyさん垢版2021/06/21(月) 11:35:51.07ID:???
いや、ベテランはハマらないぞ。さすがに。DBアクセスのロジック書いたら、普通に生成されるSQL確認するから、そこで気づく。
0753nobodyさん垢版2021/06/21(月) 11:37:18.75ID:???
あとjoinガーて言ってる人、雑魚はinner joinとouter joinを使い分けられないという点に気づいていないと思う。
0754nobodyさん垢版2021/06/21(月) 12:33:16.81ID:???
生SQLとかDBの仕組み的なことを知らないとハマるんだろうね
たしかにFWがうまくやってくれるもんだと思ってたらそこまで考えない
SQLを作るための仕組みっていうのを知ってたら中間出力であるSQLはどうなってるのか気になるんだろうけど
意識しなくて済むような仕組みだからね
0755nobodyさん垢版2021/06/21(月) 14:13:34.84ID:???
>>750

DataMapper型でクエリビルディングして書くって事

正直、Railsで失敗してんのに敢えてActiveRecord型を選ぶとか、頭おかしいとしか思えん。
だからプライマリキーはidのオートインクリメントです、
復号プライマリキーは設定できません、みたいなトチ狂った設計になっちゃうんだよ。

10年以上、全く成長しないよな世間の奴らって。
0756nobodyさん垢版2021/06/21(月) 14:14:32.66ID:???
なんだこりゃ? 脳みそ腐ってんじゃね? こいつ

753nobodyさん2021/06/21(月) 11:37:18.75ID:???
あとjoinガーて言ってる人、雑魚はinner joinとouter joinを使い分けられないという点に気づいていないと思う。
0757nobodyさん垢版2021/06/21(月) 14:19:54.78ID:???
いや、お前らがActiveRecord型しか知らないんだろwww
DaoもActiveRecordも同じ『JOINがたマトモに表現出来ません』問題で失敗してんのに、
なんで敢えてActiveRecord型選んじゃうっすか?www

学習しましょうよ、せんぱーいw


747nobodyさん2021/06/21(月) 10:19:15.52ID:???
近頃のFWはだいたいがActiveRecord型だし、特に無駄な努力なんてしてないけどな?DataMapper型しか使ったことないアンチオートインクリメントおじさんは、いつまでLaravelスレで粘着するのかね?
0758nobodyさん垢版2021/06/21(月) 14:21:17.36ID:???
アンチオートインクリメントおじさんが荒ぶってらっしゃる
0759nobodyさん垢版2021/06/21(月) 14:21:18.84ID:???
やべぇ、流石に草生えまくり過ぎて、誤字・誤変換だらけになってるし。
0760nobodyさん垢版2021/06/21(月) 14:27:07.58ID:???
アホはトレードオフって言葉を知らないので、ある側面だけをみてActiveRecordは失敗とか言っちゃうんだよなー。
そういえば前に、ActiveRecord自体知らなくて、1テーブル1モデルなんてありえねーとか言ってた恥ずかしい奴がいたな。
0761nobodyさん垢版2021/06/21(月) 14:32:26.85ID:???
>>760

何言ってんだろうね、このバカは相変わらず。

じゃ、他のORMに比べて、他にどんなメリットがある?
お前、マジでActiveRecordしか知らないんじゃん。
0762nobodyさん垢版2021/06/21(月) 14:33:53.71ID:oQmF9W/n
>>760

ってか、『1テーブル1モデル』って、なんすか?www

もしかして『1テーブル1クラス』の間違いっすか?www
0763nobodyさん垢版2021/06/21(月) 14:35:29.37ID:???
わざわざDataMapper型に触れておいたのにこれだもんなぁ。アンチオートイクリメントおじさんの頭の悪さは相変わらずで。自覚ないからつい人を見下しちゃう癖もそのままかー。可哀想。
0764nobodyさん垢版2021/06/21(月) 14:38:21.20ID:???
前スレ。ブーメラン乙。

>>937

人の話聞いてんのかな? ModelはDBにアクセスする物じゃねぇんだから、
Modelとテーブルが1対1なわけねーーーーーーーだらーーーーーーーーーー!
937nobodyさん2021/05/23(日) 18:01:50.48ID:???
他のテーブルとのjoin操作までModelに入れるのはなんか違う気がするんだけどその辺どうしてるの?
0765nobodyさん垢版2021/06/21(月) 14:42:06.29ID:???
オートインクリメントおじさん、書きっぷりが独特だからすぐわかる
0766nobodyさん垢版2021/06/21(月) 14:51:04.66ID:oQmF9W/n
>>764

何いってんだこのノータリンは…。日本語読めないのか…orz
それを『1テーブル1モデルなんてありえねー』って読むのか、バカって。

「1つのモデルで取り扱うのが1テーブルだけだなんてあり得ない」って書いてあるんだぞ?
なんでテーブルが主語になってんだよ?
脳みそ腐りすぎだろ、かんべんしてくれよ。

というか、937が
「他のテーブルとのjoin操作までModelに入れるのは」
って言ってんだぞ、そっちをつっこめよ。
そのバカ、『Model=DBにアクセスする場所』って思ってるって事だぞ?
なわけねぇだろ。

お前らって、本当にプロのエンジニアなの? 素人だろ?
0767nobodyさん垢版2021/06/21(月) 14:53:50.03ID:???
>>765

はいはい、凄い凄い。

テンプレエンジンが独自Bladeです、の時点で『マジか!?』と思って避けてたけど、
Railsと同じ失敗するとか、2度めの『マジか!?』だな。

ほんと、学習しねぇよなぁ…。
0768nobodyさん垢版2021/06/21(月) 14:55:27.17ID:???
>>763
> わざわざDataMapper型に触れておいたのにこれだもんなぁ。

聞かれた事に答えずに遁走っと。

尋問内容:
じゃ、他のORMに比べて、他にどんなメリットがある?
お前、マジでActiveRecordしか知らないんじゃん。
0769nobodyさん垢版2021/06/21(月) 14:58:40.65ID:???
というか、これが全てだろ。
お前ら、マジで、いつまでおんなじ所ぐるぐる回ってんだよって話。

751nobodyさん2021/06/21(月) 11:30:35.35ID:???
ベテランRailsエンジニアたちがN+1でハマってるのみて何をもがいているのか不明だった
そしたらLaravelでもハマる奴らも続出していたんだな
0770nobodyさん垢版2021/06/21(月) 15:05:20.06ID:???
アンチオートインクリメントおじさん、きっと仕事で誰とも組んでもらえなくて、チーム開発したことも無いんだろうな・・・。
0771nobodyさん垢版2021/06/21(月) 16:01:02.96ID:???
結局、Laravel使うプロジェクトって、
取って出しの簡単な物しか作ってないって事なんだよな。
業務システムみたいに復数テーブルと都合させて〜みたいな処理はやらない。
そういうのしかやった事ない奴がLaravelまんせーしてる。

まぁ、そういう簡単な用途ならいいんじゃねぇの?
0772nobodyさん垢版2021/06/21(月) 16:02:28.23ID:???
もう、呆れ果てて誤変換しまくり。

“複数テーブル突合させて〜”。
0773nobodyさん垢版2021/06/21(月) 16:10:23.74ID:???
別に何のORMが使いやすいとか
DataMapperがとかActiveRecordがどうのとかそういうのは個人の趣味趣向だから好きにしてって思うんだけど
laravelで使う上で色々なライブラリやFW自体がeloquentを使う前提で作られてるのに
それを外してまで他の仕組み導入するメリットってあるのかな?
0774nobodyさん垢版2021/06/21(月) 16:11:57.88ID:???
クエリビルダ知らずにドヤってて、見てるこっちが恥ずかしいわ。
0775nobodyさん垢版2021/06/21(月) 16:23:48.14ID:???
laravelに別のORMを導入した時点でメリットがあるのはプロジェクトじゃなくて、自分になるんじゃない?
その証拠に規模や用途の話が全く出てきてないよね?
全てのプロジェクトに対してのベストプラクティスが一つならどっちがいいなんて議論にならないはずよね
0776nobodyさん垢版2021/06/21(月) 17:43:07.60ID:???
そういうわけでN+1くらい我慢しろ
これが不具合というわけでもないんだし
0777nobodyさん垢版2021/06/21(月) 18:56:49.34ID:k1suUzpe
773と774で言ってる事背反してんのに>>774って頭悪いよなぁ。毎度こんな感じだけど。

クエリビルダ知らんってのもどっから出てきたんだよって話しだし、
あったらなんだよ、それで解決すんのか?、って話しだし、
アホ過ぎて頭痛くなってくる。

こういう馬鹿って、来月あたりにN+1にどっ嵌って頭かかえてそうな馬鹿さがある。
0778nobodyさん垢版2021/06/21(月) 18:59:00.80ID:???
>>775
> その証拠に規模や用途の話が全く出てきてないよね?

どこに? 主語ちゃんと話そうぜ?
0779nobodyさん垢版2021/06/21(月) 19:18:52.39ID:???
>>777
中規模以上のプロジェクトだとeloquent禁止して、クエリビルダで開発してたりする。まぁ、Laravel使わないのにこのスレに居座る構ってちゃんには関係無い話か。
0781nobodyさん垢版2021/06/21(月) 19:46:28.53ID:???
うん?アーキテクチャを決める際にEloquentを使うか、クエリビルダを使うかの意思決定の話だぞ。
チーム開発において、好き勝手な実装を認めるわけには行かないってのは理解できるかい?
お前、アーキテクチャ設計とかチーム内の規約とか作った経験無いでしょ?
0782nobodyさん垢版2021/06/21(月) 20:29:49.29ID:???
えっとさ、併用、出来ないの? 禁止って。
どうしてそうなっちゃう?
0783nobodyさん垢版2021/06/21(月) 20:30:49.94ID:???
> お前、アーキテクチャ設計とかチーム内の規約とか作った経験無いでしょ?

論点ずれまくりだって事くらいは分かろうな?
0784nobodyさん垢版2021/06/21(月) 20:44:58.66ID:???
Laravelを採用するやつらは周りから嫌われていることを知ったほうがいい
わざわざ失敗したActiveRecordが実装されているFWを採用している時点で何も考えていないアホなのが丸わかり
0785nobodyさん垢版2021/06/21(月) 20:49:47.04ID:???
Laravel使ってるやつらって自分が楽するための簡単なツールとかそういう程度のアプリしか実装したことないだろ
実際の業務では複合主キーや複数テーブルなどの操作は当たり前だからな
それらをサポートしていないLaravelのようなFWを業務で使うことはない
0786nobodyさん垢版2021/06/21(月) 20:50:42.90ID:???
Laravelって複合主キーってできないの?
マイグレーションでは複合主キーできるよね
0787nobodyさん垢版2021/06/21(月) 21:00:42.76ID:???
>>783
ズレてるのはお前。そもそもLaravel使ったことないくせに、なぜこのスレに居るんだい?
0788nobodyさん垢版2021/06/21(月) 21:03:35.83ID:???
>>787

おー、恒例の論点ずらしっすか。

じゃ、敢えて乗ってやると、
ちまたの皆さまがまんせーするLaravelとやらが、どれほど成長したのか見て差し上げようと思って覗いてみたら、
『まだそんな事やってたんすか!!!!』という驚きと共に、
まんせーし続ける皆様を観察して正気なのか確かめる為です。

こんな感じで宜しいでしょうか?
0790nobodyさん垢版2021/06/21(月) 21:09:46.99ID:???
アプリケーション中心の設計ならEloquent、データベース中心の設計ならクエリビルダ使えるのがLaravelの良いところなんだが、まぁアホには理解できんだろう。
0791nobodyさん垢版2021/06/21(月) 22:48:07.73ID:???
>>790
逆じゃない?アプリ中心ならクエリビルダ、DB中心ならEloquentだと思う
0792nobodyさん垢版2021/06/21(月) 22:54:02.08ID:???
業務ロジックを込めるならSQL一発勝負のほうがシンプル
0793nobodyさん垢版2021/06/21(月) 23:03:02.03ID:???
オートインクリメント君って本当にbigintを枯渇させたのかな?
それともbigint知らないでintでオートインクリメントしてたのかな?
0794nobodyさん垢版2021/06/21(月) 23:07:02.06ID:???
>>791
ActiveRecord採用すると、DBの設計がアプリケーションに引きづられるって昔から指摘されてるよ。構ってちゃんが指摘する通り、複合キーも使えずサロゲートキー前提の実装になるしね。
0795nobodyさん垢版2021/06/21(月) 23:07:51.96ID:???
intでも普通は枯渇しないやろw
多分そいつは何も知らないだけやと思う
0796nobodyさん垢版2021/06/21(月) 23:59:27.35ID:???
intで枯渇したのってTwitterのIDぐらいしか知らないな
0797nobodyさん垢版2021/06/22(火) 00:05:16.92ID:???
そもそもintって何ビットの話なんだよ
0800nobodyさん垢版2021/06/22(火) 00:08:19.28ID:???
ごめん間違えた4バイトです
0801nobodyさん垢版2021/06/22(火) 00:22:13.11ID:???
PHPのintは64bit
約900京まで扱える

世界の人口は78億人
どうやって枯渇したんだ?
0802nobodyさん垢版2021/06/22(火) 01:39:11.62ID:???
>>801
オートインクリメント君はbigint枯渇させてからオートインクリメントは危険と思うようになったらしいですよ
0803nobodyさん垢版2021/06/22(火) 02:50:07.13ID:???
>>790

速攻で否定されるアホw
あなたたち、一体何してるんすか?www
0805nobodyさん垢版2021/06/22(火) 02:58:45.33ID:???
1. intで数年で破綻する設計を実際に見た
2. 有限な値をプライマリキーにするのはおかしい

こう言ったのを、

Laravelerは頭がおかしすぎるので足して2で割ってしまい、
『bigintを枯渇させた』という、謎ワードを勝手に作り出して興奮している。

本当に頭悪過ぎ。だから2021年にもなってN+1問題みたいな下等な事でワイワイやっている。
成長というものがかけらも見られない下等な人種の集まり。
0806nobodyさん垢版2021/06/22(火) 03:01:57.73ID:???
あ! 今気づいた!
N+1問題って、『N isennizyuu 1 問題』だったんだ、
ちょーうけるwww
0807nobodyさん垢版2021/06/22(火) 03:10:07.27ID:???
>>790

で? 聞かれた事に答えないからもう一回聞くけど、

それ、併用できないんすか?www
0808nobodyさん垢版2021/06/22(火) 07:00:10.38ID:???
書き方があちこちで違うと新規参画者の習熟時間が増える
0809nobodyさん垢版2021/06/22(火) 07:11:23.47ID:???
>>807
マジでその質問いる?趣味でしか開発したことないの?チーム開発で規約作ったことないの?てか、「なぜ」についてもすでに回答しているよ。日本語読めないのかい?アンチオートインおじさんは。
0812nobodyさん垢版2021/06/22(火) 07:44:10.94ID:???
PHPのintは64bit(64bit環境かつPHP7以降)
っていう話と、DBのintが何ビットかっていう話がごっちゃになってないか?

あと、有限なキーがダメって話が出てるけど
有限ではないキーなんて存在するんだろうか?

あとDBにはintは実装されてるけど使う人なんていなくて
実際はDECIMAL(NUMERIC)を使うでしょ
0814nobodyさん垢版2021/06/22(火) 08:06:41.65ID:???
>>812
補足すると、アンチオートイクリメントおじさんは、オートインクリメントだと有限な値を使うことになるからダメだってアホな主張をしてて、それで、は?bigintなら問題ないでしょて突っ込まれて、そのあと920京はunsignedだからプログラムで読めない!とか言って失笑を買ってた。
0815nobodyさん垢版2021/06/22(火) 08:57:59.61ID:???
>>809

なんか、壊れたレコードみたいになってきたなw

で? 聞かれた事に答えないからもう一回聞くけど、

それ、併用できないんすか?www

答えると、なんか都合悪いんスカ?w
0816nobodyさん垢版2021/06/22(火) 08:59:43.51ID:Sb0vhLl6
>>812
>PHPのintは64bit(64bit環境かつPHP7以降)
>っていう話と、DBのintが何ビットかっていう話がごっちゃになってないか?

うん、お前らがね。

>あとDBにはintは実装されてるけど使う人なんていなくて
>実際はDECIMAL(NUMERIC)を使うでしょ

また、謎の言葉を吐き出したしw
Laravelerって、ここまで頭おかしいんだw
0817nobodyさん垢版2021/06/22(火) 09:04:48.98ID:???
>>815
すでに回答済みって書いてるから、一定の知性がある生物ならログ確認すると思うよ?それともお前にはそういった知性は期待できないので、もう一度回答したレス番を示してあげた方が良いってことかな?
0818nobodyさん垢版2021/06/22(火) 09:06:53.83ID:???
壊れたレコードてのは、禁止する理由説明してもなお「併用したらダメっすか?」て質問し続けるやつのことじゃないか?
0819nobodyさん垢版2021/06/22(火) 09:08:54.63ID:???
>>817
>すでに回答済みって書いてるから

そういう問題じゃないって事すらわからないんだ。
よっぽど自分の頭の中だけで生きてる引きこもりなんだろうな。

で? 聞かれた事に答えないからもう一回聞くけど、

それ、併用できないんすか?www

答えると、なんか都合悪いんスカ?w
0820nobodyさん垢版2021/06/22(火) 09:12:23.03ID:Sb0vhLl6
>>812
>あと、有限なキーがダメって話が出てるけど
>有限ではないキーなんて存在するんだろうか?

これについての返答、SQL書いてるからかなんなのか、ブロックされるな。
あのさ、VARCHAR(8)ですら、ユニーク数、幾つか計算できるか?ほぼ、出来ねぇんじゃねぇか?
0821nobodyさん垢版2021/06/22(火) 09:15:42.88ID:Sb0vhLl6
>>809=817 って、自分の頭の中に組み上げた式から外れた事は一切考えられないロボ君なんだろうな。

『併用できないんすか?』って聞かれてるんだから出来るか出来ないか、答えりゃいいじゃん。

バカだよなぁ…。
0822nobodyさん垢版2021/06/22(火) 09:15:57.31ID:???
>>819
会話にならねぇ。アンチオートイクリメントおじさんとの会話は俺には無理だわ。じゃーな。
0823nobodyさん垢版2021/06/22(火) 09:24:54.83ID:???
・有限か有限ではないか
・必要十分か不足する可能性はあるか

これは別の問題だと思うんだよね

サービスの要件として日本人を対象とした日本語のサービスであれば目安となるのは1億2000万
これをベースに再作成や複数ID、出生率などを勘案していけばいい
日本人を対象とした商用サービスで最大レベルのものといえば電話だと思うけど
電話番号は11桁

つまり、0〜9の値をとる11桁があれば日本人相手のサービスとしては十分なんだ

人類は有限であるからIDは無限である必要はない
おまえらがいきなり子づくりに目覚めて出生率が跳ね上がる見込みもない
システムの寿命、Laravelの寿命を考えると宇宙の歴史規模の余裕を持つ必要もない

つまり、11桁の数を持ち得る手法であれば必要十分なんだ
0824nobodyさん垢版2021/06/22(火) 09:25:58.92ID:???
DBでintを使うってことはおまえら大企業じゃないのか
0825nobodyさん垢版2021/06/22(火) 09:34:27.10ID:???
おぢさん、PDOとmysqli混ぜて使ってそう
0826nobodyさん垢版2021/06/22(火) 09:55:34.70ID:???
シークエンスでオートなnumberingをするようなDBのデファインを使うのは優れた方法の1つ
重複しないことをDBMSが保証してくれる上にパフォーマンスもよい

よく自動採番の欠点として例示されるのがマスタ画面で新規登録する際
登録時に採番した番号を表示できない、表示したらキャンセルした場合に欠番が出るなんて言うけど
エントリー順にnumberingする以上、たとえ手作業でやっても避けられない問題だ

ただ、データベースの常識として余計なデータは不要だという事
主キー足りえる列がすでにあるのにさらにID列を設ける
これはバッドだ
氏名+電話番号で主キーとして足るのであれば新たにID列を増やすのはパフォーマンスを落とすだけの行為でしかない
(ただ実運用上で主キーを見抜くのは並大抵ではない。例示した氏名+電話番号が通用する場面があったとしても特殊な例外だろう)

ID列を追加するという行為は無駄な領域を確保するという事
検索速度に寄与するわけでもない主キーを追加することによってHDDの余計な領域を確保してしまう
またサーチする際のシークエンス速度もその分劣化してしまう

IDなんてせいぜい8バイトかもしれない
8バイトが1億件あったとしても8億バイトだ
RAID6構成だとしてもたった16億バイト分の領域が無駄になるだけだ

しかし、それを詰めてほんの少しのパフォーマンスアップでももくろむのが我々技術者の使命ではないだろうか

最後になったが主キーの例示でまともな例を出せなかったことをお詫びしておく
0827nobodyさん垢版2021/06/22(火) 10:16:29.56ID:???
うちで作ったサービスは普通に連番でIDにしてるが表に出すユーザーIDは別のユニーク文字列を生成してる
連番だとIDで登録順がバレる、予測が簡単だから攻撃されやすいなどのデメリットがある
0828nobodyさん垢版2021/06/22(火) 10:41:14.57ID:???
オートインクリメント君あまりの知識のなさに素人だということがバレちゃったね
0829nobodyさん垢版2021/06/22(火) 10:48:16.11ID:???
>>826
> 最後になったが主キーの例示でまともな例を出せなかったことをお詫びしておく

わろたw
おまえ、これ書きたかっただけだろ
0830nobodyさん垢版2021/06/22(火) 11:11:11.15ID:???
主キーなんかdefault gen_random_uuid()で十分
0831nobodyさん垢版2021/06/22(火) 11:34:16.27ID:???
ナチュラルキー派って逆に時代遅れ
0832nobodyさん垢版2021/06/22(火) 11:58:55.37ID:???
サロゲート使って運用楽したい
そんな理由でも良いじゃない
0833nobodyさん垢版2021/06/22(火) 12:13:12.46ID:???
この前、某イベントで環境を10個作っているやべえ会社がいることに驚いた
0834nobodyさん垢版2021/06/22(火) 12:17:42.10ID:???
この前、某イベントで環境を10個作っているやべえ会社がいることに驚いた
0835nobodyさん垢版2021/06/22(火) 12:46:52.33ID:???
Laravel使ってみたけどDBの検索が遅い気がするのは気のせい?
0837nobodyさん垢版2021/06/22(火) 12:57:19.01ID:???
>>836
いや初めてなんだけど CodeIgniterと比べると遅い気がする
0838nobodyさん垢版2021/06/22(火) 13:06:56.71ID:???
>>837
まともなエンジニアなら計測して検証した上で人に聞くんだよ
お前からは話題ループさせて喜ぶキモいやつの匂いしかしない
0839nobodyさん垢版2021/06/22(火) 13:08:08.58ID:???
それぞれのSQL文がどうなってるか調べてみれば?としか言いようがない
0840nobodyさん垢版2021/06/22(火) 14:13:49.08ID:???
>>835
LaravelとCodeIgniterを比べて遅いだったらそれはDBが遅いんじゃなくてアプリが遅いんじゃないのか?
とりあえず出力されてるSQLをExplainして比べてみろよ
そもそもベンチマークとってんのか?
気がするじゃなくて具体的な数字で出せよ

例えば「巨乳入店しました」でEカップだったらがっかりするだろ?
でも「Eカップ入店しました」でEカップだったらOKなんだよ
そういうところがIT業界では大事なんだから覚えておけよ
0841nobodyさん垢版2021/06/22(火) 14:18:51.65ID:???
普通に使ってたらコレクション型になるからデータが多いと重いのは否めない
0842nobodyさん垢版2021/06/22(火) 14:42:20.72ID:???
ベンチマークとってどんどんチューニングしていく
それがおもしろいんだろ
プログラマの楽しみをちゃんと味わえよ?
0843nobodyさん垢版2021/06/22(火) 14:53:52.44ID:???
>>840
DBから情報を取得する部分の速度を計ってみました。
CodeIgniterは約0.1秒、Laravelは約0.7秒でした
どちらの1秒以内なので誤差と考えていいですかね?
0844nobodyさん垢版2021/06/22(火) 15:05:03.09ID:???
そのぐらいなら誤差と考えていいと思います
0845nobodyさん垢版2021/06/22(火) 15:07:24.13ID:???
そもそもCodeIgniterは薄いFWだから確実にCodeIgniterのほうが速くなる
Laravelは単純にDBから情報取得するだけでも色々な処理が動作するので遅くなる
0846nobodyさん垢版2021/06/22(火) 15:54:38.18ID:???
オートインクリメント君がbigintを知らなかったのは笑えたな
0847nobodyさん垢版2021/06/22(火) 16:52:02.28ID:???
DB側の実装でサイズが変わるint系を避けてnumericで桁数指定が常識だろう
なぜ素人みたいな実装を推奨してるんだ?
0848nobodyさん垢版2021/06/22(火) 17:03:20.73ID:???
>>947
やめたれw ここの連中素人で業務システムの構築経験とかないだろうから
あなたの言っていることは理解できない内容だと思うぞw
0849nobodyさん垢版2021/06/22(火) 17:17:18.12ID:???
固定小数点数をAIに設定できるDBって何?
0850nobodyさん垢版2021/06/22(火) 17:21:09.57ID:???
>>843
同じ内容を取得してその差が出てるんだったらさすがに計測ミスじゃないの?
DBへの接続と切断で50m秒ぐらいだろうからCIは残り50m秒で他の処理したってことだよね
同じくLaravelは650m秒
CIはそんなもんだと思うからLaravelはどこでそんなに時間かかってるか切り分けたほうがいいんじゃないか?

経験的に時間がかかるのはDBレスポンス、結果の受け取り、結果の出力の3か所
それぞれ計測すればネックになってる箇所がわかると思う
プロファイラなら関数レベルで処理時間が出てるのではないか?

CIのほうでトータル0.1秒で処理しきってるからおそらく大したデータ量ではないと思う
せいぜい数十から数百レコードの範囲かな

いくらなんでも単純なクエリで0.7秒もかかるほどLaravelもひどくないでしょ
0851nobodyさん垢版2021/06/22(火) 17:36:29.01ID:???
今日フレームワークがどういうつくりをしているのか気になって
Symfonyのソース読んでからLaravelのソース読んだんだけど断然Symfonyのが読みやすかったなぁ
Laravelって回りくどいというかなんというか
ちょっした処理を行うにもやたらとラッピングしたがるね(ラッピングすることによるメリットもあるとはいえ)
0852nobodyさん垢版2021/06/22(火) 17:48:17.87ID:Sb0vhLl6
>>822

このバカ、15秒で返信してるしw
貼り付いてんのか。

で、聞かれたことに答えず遁走。
併用できるか出来ないか、答えたらよっぽど都合が悪い事があったんだろうなぁ。

バカって、分かりやすい。
0853nobodyさん垢版2021/06/22(火) 17:54:44.99ID:Sb0vhLl6
こういうまっとうな意見が出てきて、Laraveler涙目。
もう、Laravelerって本当にバカだと思う。
auto_incrementなidが必須って、頭おかしいんだよ。

847nobodyさん2021/06/22(火) 16:52:02.28ID:???
DB側の実装でサイズが変わるint系を避けてnumericで桁数指定が常識だろう
なぜ素人みたいな実装を推奨してるんだ?

848nobodyさん2021/06/22(火) 17:03:20.73ID:???
>>847
やめたれw ここの連中素人で業務システムの構築経験とかないだろうから
あなたの言っていることは理解できない内容だと思うぞw
0854nobodyさん垢版2021/06/22(火) 17:55:18.07ID:Sb0vhLl6
致命的知能マイナスなバカ君


846nobodyさん2021/06/22(火) 15:54:38.18ID:???
オートインクリメント君がbigintを知らなかったのは笑えたな
0855nobodyさん垢版2021/06/22(火) 17:56:54.31ID:Sb0vhLl6
そうだよ? Laravelのコードは、結構酷いよ?
ちょっと読んだだけでも『これ、なんでこんなめんどくさい事してんの?』ってなるよ?

851nobodyさん2021/06/22(火) 17:36:29.01ID:???
今日フレームワークがどういうつくりをしているのか気になって
Symfonyのソース読んでからLaravelのソース読んだんだけど断然Symfonyのが読みやすかったなぁ
Laravelって回りくどいというかなんというか
ちょっした処理を行うにもやたらとラッピングしたがるね(ラッピングすることによるメリットもあるとはいえ)
0856nobodyさん垢版2021/06/22(火) 17:57:28.03ID:Sb0vhLl6
だからLaravelは遅いんだなぁ…、って、よく分かるよ。
Laravelのコード読んでみると。
0857nobodyさん垢版2021/06/22(火) 18:00:06.49ID:Sb0vhLl6
0.1秒に対して+0.6秒が誤算なわけないじゃんw 7倍掛かってんだよ???
Laravelerって、本当に脳みそどうなってんの?


843nobodyさん2021/06/22(火) 14:53:52.44ID:???>>850
>>840
DBから情報を取得する部分の速度を計ってみました。
CodeIgniterは約0.1秒、Laravelは約0.7秒でした
どちらの1秒以内なので誤差と考えていいですかね?

844nobodyさん2021/06/22(火) 15:05:03.09ID:???
そのぐらいなら誤差と考えていいと思います
0858nobodyさん垢版2021/06/22(火) 18:00:06.92ID:???
>>847
固定小数点数をAIに設定できるDBって何?
0859nobodyさん垢版2021/06/22(火) 18:01:33.41ID:Sb0vhLl6
>>858

このバカ、何を言い出したの? なんでauto_incrementの話を引っ張ってきたの?
頭大丈夫?
0860nobodyさん垢版2021/06/22(火) 18:03:08.24ID:Sb0vhLl6
>CIのほうでトータル0.1秒で処理しきってるからおそらく大したデータ量ではないと思う
>せいぜい数十から数百レコードの範囲かな

数百レコードで0.1秒掛かるってだけで遅すぎるのに、
Laravelは同じ条件で0.7秒っすか!
あくびが出るっすね!
0862nobodyさん垢版2021/06/22(火) 18:07:44.09ID:Sb0vhLl6
>>826
>826nobodyさん2021/06/22(火) 09:55:34.70ID:???>>829
>シークエンスでオートなnumberingをするようなDBのデファインを使うのは優れた方法の1つ
>重複しないことをDBMSが保証してくれる上にパフォーマンスもよい
>よく自動採番の欠点として例示されるのがマスタ画面で新規登録する際
>登録時に採番した番号を表示できない、表示したらキャンセルした場合に欠番が出るなんて言うけど
>エントリー順にnumberingする以上、たとえ手作業でやっても避けられない問題だ

おまえさぁ、『エントリー順にnumberingする以上、たとえ手作業でやっても避けられない問題だ』って、マジで言ってる?

だーめだこりゃ。
お前さ、トランザクションと排他ロック知らないの?
避けられないわけねーだろ、素人かよ?

ってか、Laravelerが基本的に素人なんだけどさ。
0863nobodyさん垢版2021/06/22(火) 18:07:44.34ID:Sb0vhLl6
>>826
>826nobodyさん2021/06/22(火) 09:55:34.70ID:???>>829
>シークエンスでオートなnumberingをするようなDBのデファインを使うのは優れた方法の1つ
>重複しないことをDBMSが保証してくれる上にパフォーマンスもよい
>よく自動採番の欠点として例示されるのがマスタ画面で新規登録する際
>登録時に採番した番号を表示できない、表示したらキャンセルした場合に欠番が出るなんて言うけど
>エントリー順にnumberingする以上、たとえ手作業でやっても避けられない問題だ

おまえさぁ、『エントリー順にnumberingする以上、たとえ手作業でやっても避けられない問題だ』って、マジで言ってる?

だーめだこりゃ。
お前さ、トランザクションと排他ロック知らないの?
避けられないわけねーだろ、素人かよ?

ってか、Laravelerが基本的に素人なんだけどさ。
0864nobodyさん垢版2021/06/22(火) 18:11:40.74ID:Sb0vhLl6
あー、なんとなく思ったけど、
idがauto_incrementなら、
登録失敗するリクエストを延々と発行し続けられる状況が発生すれば、
BIGINTも結構現実的な時間であっという間に枯渇するなw

だって、
『キャンセルした場合に欠番が出る』んだからwww

AUTO INCREMENT BOMB 脆弱性と名付けよう。
0865nobodyさん垢版2021/06/22(火) 18:13:40.05ID:???
確かに今までのDB関連のレスの応酬見る限りLaravel使っている人って
トランザクションとか排他ロックとか知らなそうな気がする
知ってたらとてもじゃないけど提案できそうもない案を出してくるからねこのLaravel使い達は
0866nobodyさん垢版2021/06/22(火) 18:20:56.72ID:Sb0vhLl6
知性の欠片もないのが、おまえらLaraveler

828nobodyさん2021/06/22(火) 10:41:14.57ID:???
オートインクリメント君あまりの知識のなさに素人だということがバレちゃったね
0867nobodyさん垢版2021/06/22(火) 18:21:26.46ID:???
最近のフレームワークは確かにマイグレーションとかで自動的にオートインクリメントのカラムが作成されて
それを主キーとして扱いましょうねって感じの設計になってるようだけど
本来基幹系システムの開発だとIDの設計が一つのタスクになるレベルで重要なことだったりするんだよ
だからお前らのように安易に大きい型でオートインクリメントを主キーにすればいいやって考えではダメ
そんなこと基幹システムでやったら運用時とか実際の要件とかを満たせなかったりデータベースの構造が破綻したりとかしてくるね
0868nobodyさん垢版2021/06/22(火) 18:24:07.59ID:Sb0vhLl6
>>865

なんで会話が噛み合わないのかなぁとずっと疑問だったんだけど、それなんだよね。
やっと分かった。

多分、Laravelerって、本当に排他ロックを知らない。
楽観排他ロックも、悲観排他ロックも知らない。
トランザクションとは何なのか知らない。
複合プライマリキーは、FWで出来ない事になっているから要らないと思っている。

物を知らなすぎるんだよ、Laravelerは。
0869nobodyさん垢版2021/06/22(火) 18:27:48.75ID:???
複合プライマリーキー対応はgithubのissueで提案されたことはあったけど
あり得ないことに否決されてクローズしたね Laravel使いどころかコミッター達もアホかもしれない
0870nobodyさん垢版2021/06/22(火) 18:27:51.55ID:???
>>847
小数点でも扱う以外にそんなの使わんよw
馬鹿なの?w
0871nobodyさん垢版2021/06/22(火) 18:28:15.15ID:Sb0vhLl6
昨日くらいから『やっとマトモな事言う人が来たな』と思ってたけど、あなた >>867 か。

やっぱ、基幹系作った事ある人とは話が合う。
Laravelerって、それが悪いとは言わないけど、取って出しのWEBアプリ作ってるだけの人たちでしょ。
そりゃ、まともなDB設計とか考えた事あるわけないわ。

それ自体は分野の違いだから悪いとは言わないけど、
その程度の奴が『オートインクリメント君あまりの知識のなさに素人だということがバレちゃったね』
とか、寝言、言う? 普通。
頭が悪いにも程があるわ。
0872nobodyさん垢版2021/06/22(火) 18:28:49.59ID:Sb0vhLl6
>>870
>馬鹿なの?w

いや、お前がw
0873nobodyさん垢版2021/06/22(火) 18:29:58.41ID:Sb0vhLl6
>>869

そりゃ、エロなんたらの設計上、無理だったんだよ。別物になっちゃうから互換性が保てない。
0874nobodyさん垢版2021/06/22(火) 18:30:31.92ID:???
ID:Sb0vhLl6が一番頭が硬そうw
0875nobodyさん垢版2021/06/22(火) 18:33:14.15ID:Sb0vhLl6
>>870 ってさ、

もしかしてなんだけど、
もしかしてなんだけど、

numeric と decimal の違い、分かってない?
0876nobodyさん垢版2021/06/22(火) 18:33:40.04ID:Sb0vhLl6
バカが必死w

874nobodyさん2021/06/22(火) 18:30:31.92ID:???
ID:Sb0vhLl6が一番頭が硬そうw
0877nobodyさん垢版2021/06/22(火) 18:35:51.51ID:Sb0vhLl6
numericに、どうして少数がどうした関係あるんスカ?w

870nobodyさん2021/06/22(火) 18:27:51.55ID:???
小数点でも扱う以外にそんなの使わんよw
馬鹿なの?w
0878nobodyさん垢版2021/06/22(火) 18:44:58.45ID:???
>>869
複合主キーを採用することによりFWのメンテコストが増える側面は否定できないから、それによる恩恵を受ける人の割合が少なければ当然否決されるよ。
最近PHP8.1で導入が決まったFiberに関して、多くの人に恩恵のないものをメンテもしない人たちの投票によって採用するのはいかがなものか?ていう海外のブログ記事が話題になってたけど、それと根は同じ。
物を作るだけしか頭にないエンジニアは、「ぼくのかんがえたさいきょうのシステム」が果たしてどれだけ価値があり、それを維持するのにどれだけコストがかかるかをよく見落とすよね。それこそ頭が悪いと思うよ。
0879nobodyさん垢版2021/06/22(火) 18:50:09.12ID:???
>>877
黙れ黙れ黙れ黙れえええええええええええええええええええええ
0880nobodyさん垢版2021/06/22(火) 18:50:35.02ID:???
>>867
そういうエンタープライズ用途でLaravel使うなら、そのときはそれに見合ったアプローチにすればいいんじゃないか。
上でも書いたけど、アプリケーション中心の設計でクイックに作るならEloquent使ったほうが効率的だから自然とサロゲートキー使う。
長期的な運用を見据えた規模のあるシステムなら、データベース中心の設計になるだろうから、仮にLaravel使うにしてもクエリビルダのみにして、データベース側の設計に追従できるようにするてのが答えだと思うよ。
0881nobodyさん垢版2021/06/22(火) 18:51:24.89ID:Sb0vhLl6
>>878

なんか、長々と御託を並べてるけど、複合主プライマリキーは、まともなシステムを作る上では、必須なの。

メンテコスト云々とか、関係ないよ。
本当に頭悪いなぁ…。
0882nobodyさん垢版2021/06/22(火) 18:53:38.34ID:Sb0vhLl6
>>880
>クイックに作るならEloquent使ったほうが効率的だから自然とサロゲートキー使う。

本当に頭悪い?
だから、そのクイックに作るためのEloquentで、複合プライマリキーを普通に扱えるようにすればいいだけじゃん。
脳みその構造、どうなってんのかな?この人達って。
0883nobodyさん垢版2021/06/22(火) 18:55:32.97ID:Sb0vhLl6
んで? Laravelerは ほ ん と う に、

トランザクションと排他処理、

知らなかったんすか?
0884nobodyさん垢版2021/06/22(火) 18:58:54.30ID:???
ナチュラルキーガイジって仕事した事無さそう
0885nobodyさん垢版2021/06/22(火) 18:59:01.07ID:???
張り付いてるお前ら、今日平日だけど仕事してないの?
0886nobodyさん垢版2021/06/22(火) 19:03:40.92ID:Sb0vhLl6
いや、お前がマトモなシステム作ったこと無いだけだろw


884nobodyさん2021/06/22(火) 18:58:54.30ID:???
ナチュラルキーガイジって仕事した事無さそう
0887nobodyさん垢版2021/06/22(火) 19:04:28.65ID:Sb0vhLl6
お前、何時まで働いてんだよwww

885nobodyさん2021/06/22(火) 18:59:01.07ID:???
張り付いてるお前ら、今日平日だけど仕事してないの?
0888nobodyさん垢版2021/06/22(火) 19:17:15.16ID:Sb0vhLl6
んで? Laravelerは ほ ん と う に、

トランザクションと排他処理、

知らなかったんすか?
0889nobodyさん垢版2021/06/22(火) 19:18:18.85ID:???
>>885
俺はフルリモートだから家で合間合間にスレ覗きながら仕事してるって感じ。
0890nobodyさん垢版2021/06/22(火) 19:21:32.11ID:???
アンチオートインクリメントおじさんは、毎度お昼休みと18時過ぎたら即レスしてくるから、割と固い職場で窓際族やってると思ってる。てか、18時以降に何レスしてんのよ・・・
0891nobodyさん垢版2021/06/22(火) 19:30:08.99ID:Sb0vhLl6
>>890

排他ロック知らなかったバカが必死
0892nobodyさん垢版2021/06/22(火) 19:34:54.97ID:Sb0vhLl6
>>884
>ナチュラルキーガイジって仕事した事無さそう

排他ロック知らなかったら、マトモに仕事出来ないだろ?
頭大丈夫か?
0893nobodyさん垢版2021/06/22(火) 19:36:31.57ID:Sb0vhLl6
ごめーん、あのさぁ、まさかとは思うけど、

Laravelって、排他ロックできましぇーん、

なんて事、無いよね?

なんか、方法、あるよね?

それだけはせめて聞かせて?
0894nobodyさん垢版2021/06/22(火) 20:16:17.56ID:???
クエリビルダは、SELECT文で「悲観的ロック」を行うための機能をいくつか持っています。
SELECT文を実行する間「共有ロック」をかけたい場合は、sharedLockメソッドをクエリに指定してください。
共有ロックはトランザクションがコミットされるまで、SELECTしている行が更新されることを防ぎます。

もしくはlockForUpdateメソッドが使えます。
占有ロックをかけることで、レコードを更新したりSELECTするために他の共有ロックが行われるのを防ぎます。
0895nobodyさん垢版2021/06/22(火) 20:20:43.74ID:Sb0vhLl6
うん、そうだよね?

で、エロなんたらは?
0896nobodyさん垢版2021/06/22(火) 20:33:42.79ID:???
Eloquentも同じメソッドで出来ますね
0897nobodyさん垢版2021/06/22(火) 20:34:13.30ID:???
粘着質な精神病の人と関わるメリットが無い
0898nobodyさん垢版2021/06/22(火) 20:41:06.22ID:Sb0vhLl6
>>896

へー、なら、こんなんあるわけないじゃんw

>>826
>826nobodyさん2021/06/22(火) 09:55:34.70ID:???>>829
>シークエンスでオートなnumberingをするようなDBのデファインを使うのは優れた方法の1つ
>重複しないことをDBMSが保証してくれる上にパフォーマンスもよい
>よく自動採番の欠点として例示されるのがマスタ画面で新規登録する際
>登録時に採番した番号を表示できない、表示したらキャンセルした場合に欠番が出るなんて言うけど
>エントリー順にnumberingする以上、たとえ手作業でやっても避けられない問題だ
0899nobodyさん垢版2021/06/22(火) 20:41:54.37ID:???
SIerからwebの会社に転職したてのころ、トランザクションかけてなかったり排他制御全く考えてないコード見て絶望した思い出。
0900nobodyさん垢版2021/06/22(火) 20:42:26.23ID:???
ID:Sb0vhLl6さんにみんな頑張って反論を試みるも技術力がなさ過ぎて
技術的な反論を出来ていないのが笑えるw
0901nobodyさん垢版2021/06/22(火) 20:43:57.90ID:Sb0vhLl6
というか、トランザクションと排他処理の話が出た途端、
あなたたち全員が挙動不審になったの、
ちょーうけるんんですけどw

本当に知らなかったんすねw
そんなんでよく今まで知ったかぶってましたねwww
0902nobodyさん垢版2021/06/22(火) 20:46:38.79ID:???
そりゃ今までLaravel様に全部お任せしていた連中だからなw
トランザクションも排他処理も意識したことがないというのが実情だろうなw
0903nobodyさん垢版2021/06/22(火) 20:49:15.94ID:???
Laravel開発者「排他したいときはメソッド用意してるから使ってくれよ」
お前ら「えっ?Laravelの内部で勝手にやってくれるんじゃないんですか?」

多分こうだろwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0904nobodyさん垢版2021/06/22(火) 20:59:39.76ID:???
お前らトランザクションや排他処理も知らないのにbigintでオートインクリメント(笑)とか言って勝ち誇ってたのかよ・・・・
0905nobodyさん垢版2021/06/22(火) 21:02:47.04ID:???
>>901
DBの話はDBのスレでやってくれないかな?
0906nobodyさん垢版2021/06/22(火) 21:07:44.07ID:???
>>905
業務アプリ作るうえでトランザクションや排他は重要な話だろ
自分しか使わない簡単なTodoアプリとかだったらトランザクションや排他なくても
動作するけど業務システムとかでは必須の話だよ
まあ敗北が確定してしまって反論もできないから必死に追い出そうとしてるんだろうけどw
0907nobodyさん垢版2021/06/22(火) 21:11:30.31ID:???
せっかくNGID登録してるんだから、アンチオートインクリメントおじさんは忘れずにIDつけてくれ。それがこのスレ住民のささやかな願いだ。
0908nobodyさん垢版2021/06/22(火) 21:18:50.83ID:???
自分より技術力高い人がきたらNGID登録はひどすぎでは?
0909nobodyさん垢版2021/06/22(火) 21:22:24.11ID:???
技術力の高低の問題ではなく、会話ができないことが問題。何度か会話を試みたけど、傾聴力ゼロなので見放したのが現在。
0910nobodyさん垢版2021/06/22(火) 21:25:22.43ID:???
.envファイルをコミットするかどうかでもめていた時に比べると健全な気がする
0911nobodyさん垢版2021/06/22(火) 21:53:22.32ID:???
まず覚えなきゃいけない言語は日本語じゃないだろうか
0912nobodyさん垢版2021/06/22(火) 22:40:54.65ID:???
「俺スゲー」目的の言動しかできない人は大体自己愛性人格障害者。
そんなの相手するだけ無駄。他人は「俺スゲー」のための道具ではない
0913nobodyさん垢版2021/06/22(火) 23:00:14.63ID:???
config/app.phpの内容が.envで上書きされてしまうのですが
一部の値のみconfig/app.phpから取る方法を教えてください
0914nobodyさん垢版2021/06/23(水) 00:07:18.79ID:???
1つ疑問なんだがロックしておけばなぜインクリメントした数が元に戻ると思ってるんだ?
0915nobodyさん垢版2021/06/23(水) 00:11:46.43ID:???
もしかしてだけど「マスタ画面で新規登録」を平行で稼働させないって言ってるの?
「別のユーザーがマスタ画面を利用中なので終わるまでお待ちください」って表示させるつもりなの?
0916nobodyさん垢版2021/06/23(水) 04:57:45.38ID:???
>>908
どこがレベル高いんだ?w
かなりレベルが低いとしか言えないのだが
0917nobodyさん垢版2021/06/23(水) 09:59:51.02ID:+cgzqi1Q
>>914 : 1つ疑問なんだがロックしておけばなぜインクリメントした数が元に戻ると思ってるんだ?
>>915 : もしかしてだけど「マスタ画面で新規登録」を平行で稼働させないって言ってるの?「別のユーザーがマスタ画面を利用中なので終わるまでお待ちください」って表示させるつもりなの?


こいつら、マジで言ってるのかな? 凄いな
Laravelerって本当に、マトモな連番発行の仕方を知らなかったんだ。

あのさ、『トランザクションと排他ロック』と言われて意味が分からないってのは、ITエンジニアとしての知識・知能欠如相当ヤバいんだよ?

「別のユーザーがマスタ画面を利用中なので終わるまでお待ちください」????

頭おかしいんじゃないの? Laravelerってこの程度のバカしか居ないって事が判明してしまった。
0918nobodyさん垢版2021/06/23(水) 10:04:11.36ID:+cgzqi1Q
>>916
>かなりレベルが低いとしか言えないのだが

虚勢を張るのは大概にしといた方がいい。
ここ数十レスのやり取りで、あなたたちLaravelerのレベルの低さが十分過ぎる程露呈してしまったんだから。
Laravelerはauto_incrementでしか重複しないIDの生成の仕方を知らないって事がね。

だから、あなたたちがこれまで作ってきたシステムには、決して少なくない数のシステムに
AUTO INCREMENT BOMB脆弱性が存在する可能性が存在するという事が確定してしまった。
0919nobodyさん垢版2021/06/23(水) 10:07:54.54ID:+cgzqi1Q
>>912
>「俺スゲー」目的の言動しかできない人

何いってんのかな? この低脳。
俺はIT技術者としてアタリマエのことしか言ってないよ。

で、最初、あなたたちLaravelerは自分たちの無知に全く気づかずに俺の方が無知だとバカみたいな事を言っていて、
いざ、実態はあなた達のほうが無知極まりないという事が分かった途端、
今度は「俺スゲー目的だ」と言い出す。

あなたたちってさ、『恥』って概念、無いの?
小人って、凄いよね。
0920nobodyさん垢版2021/06/23(水) 10:10:15.07ID:+cgzqi1Q
>>909
>傾聴力ゼロなので見放したのが現在。

傾聴力?w

人の話を全く聞かなかったのは、あなた達でしょw

というか、途切れない連番IDの作り方くらい、学習しなさいよ。
0921nobodyさん垢版2021/06/23(水) 10:18:05.33ID:???
>>917
おまえはオートインクリメントしたシーケンスを巻き戻せるって言ってるんだぞ?自分が何を言ってるのかわかってる?ちゃんと元コメのバカなコメみてる?
0922nobodyさん垢版2021/06/23(水) 10:20:33.10ID:???
>>918
論点ズレてるぞ
平行実行可能なシステムで連番を付与するとき、先行して採番したユーザーがキャンセルしても歯抜けにならないかどうかの話だぞ
0923nobodyさん垢版2021/06/23(水) 10:22:06.24ID:+cgzqi1Q
>>915
>「別のユーザーがマスタ画面を利用中なので終わるまでお待ちください」って表示させるつもりなの?

俺、『楽観排他』と『悲観排他』って、書いたよね?
マジで意味分からなかったんだ。凄いな。それでよく今までシステム作って来たね。
あなたの作ってきたシステムって、欠陥品だらけだったって事じゃん。


さて、問題です。
それを表示させないためには、どっちの排他処理が必要でしょうか?w

本当に頭が悪かったんだね、Laravelerって。
0924nobodyさん垢版2021/06/23(水) 10:23:17.27ID:+cgzqi1Q
>>921
>「別のユーザーがマスタ画面を利用中なので終わるまでお待ちください」って表示させるつもりなの?

どこで言ってる? 幻影でも見えるのかな? 幻聴でも聞こえるのかな?

ほんとうに、あたまが、悪いんだねw

そんな事、一言も言ってないよ。よく見返してみな?
0925nobodyさん垢版2021/06/23(水) 10:24:10.59ID:+cgzqi1Q
なんか、クリップボードのコピーが違ってたから書き直し

>>921
>おまえはオートインクリメントしたシーケンスを巻き戻せるって言ってるんだぞ?

どこで言ってる? 幻影でも見えるのかな? 幻聴でも聞こえるのかな?

ほんとうに、あたまが、悪いんだねw

そんな事、一言も言ってないよ。よく見返してみな?
0926nobodyさん垢版2021/06/23(水) 10:28:03.77ID:+cgzqi1Q
なんで会話が噛み合わないのか凄い不思議だったけど、ここ数重レスで突然分かってきた。

Laravelerって、日本語が読めないんだ。

だから、俺が>>862
>おまえさぁ、『エントリー順にnumberingする以上、たとえ手作業でやっても避けられない問題だ』って、マジで言ってる?
>だーめだこりゃ。
>お前さ、トランザクションと排他ロック知らないの?
>避けられないわけねーだろ、素人かよ?

と言ったのを、バカで低脳なLaravelerは

『オートインクリメントしたシーケンスを巻き戻せるって言ってる』

と認識してしまうんだ。

なわけねぇだろ、脳みそ腐ってんのか?
0927nobodyさん垢版2021/06/23(水) 10:30:01.85ID:+cgzqi1Q
>>922
>平行実行可能なシステムで連番を付与するとき、先行して採番したユーザーがキャンセルしても歯抜けにならないかどうかの話だぞ

そうだよ? あたりまえじゃん。

で、Laravelerは、歯抜けにしない方法が“まーったく”分からないんだw

すげぇな。
今までそんな腐れシステムを量産してきていたのか。

ある意味、感動する。
0928nobodyさん垢版2021/06/23(水) 10:31:09.37ID:+cgzqi1Q
もう、Laravelerって、

AIB: AUTO INCREMENT BOMB脆弱性、埋め込みまくりじゃないっすかw
0929nobodyさん垢版2021/06/23(水) 10:32:12.95ID:+cgzqi1Q
>>922
>論点ズレてるぞ

論点は全くズレてない。認識がズレてるのが、お ま え。
0930nobodyさん垢版2021/06/23(水) 10:37:20.56ID:???
ユーザーAに採番1を付与
ユーザーBに採番2を付与
ユーザーAがキャンセル

ユーザーAは存在しない
ユーザーBは採番2を取得

これどうやって解決すんの?問題を理解できてなかったのか?
0931nobodyさん垢版2021/06/23(水) 10:54:26.02ID:+cgzqi1Q
>>930

あのさぁ…。

あなた、IQ32くらいしか無いでしょ。

> 問題を理解できてなかったのか?

本物のバカなのかな?



相手するのも馬鹿らしいんだけどさ、ちょっと、ここに、所要時間書いてみ?


>ユーザーAに採番1を付与
>ユーザーBに採番2を付与
>ユーザーAがキャンセル


あなたさ、自分がどれほど頭が悪いことを自己主張しているのか、
本当に考えた方が良い。

もう一回行っとくけど、欠番しないシリアルを作るのは、何の問題もなく、可能です。
auto_incrementみたいな下等な実装に頼らなければね。
当たり前の事でしょ。
0932nobodyさん垢版2021/06/23(水) 10:56:02.79ID:+cgzqi1Q
Laravelerの知的レベルの低さに、本当に脱力しています。
0933nobodyさん垢版2021/06/23(水) 10:56:39.77ID:???
どうせこの低レベルのゴミはJAVAぽいなw
それもオラクルwとかしか使ったことが無いカスで設計したこと無さそうw
こういう奴は一人でモノが作れない
0934nobodyさん垢版2021/06/23(水) 11:03:12.19ID:+cgzqi1Q
多分さ、このままLaravelが普及すると、
ジャニーズの嵐みたいな感じののコンサートで、
チケット重複発行とかやらかすんだよな。

チケット番号auto_incrementって訳にはいかないから、
自前で実装するじゃん。
でも、排他処理の事、全く知らないじゃん。
当然、重複するじゃん。

もう、地獄絵図しか見えない。
0935nobodyさん垢版2021/06/23(水) 11:14:46.23ID:+cgzqi1Q
で? >>930 は、

本当に、重複しない連番、生成出来ないの?

あなた、そんなんでよく『システム作ってる』って言えますね。
0936nobodyさん垢版2021/06/23(水) 11:15:53.47ID:+cgzqi1Q
で? >>930 は、

本当に、欠番しない連番、生成出来ないの?

こっちが正確な表現かな?

あなた、そんなんでよく『システム作ってる』って言えますね。
0937nobodyさん垢版2021/06/23(水) 11:16:01.20ID:???
>>931
問題を正しく理解できてなかったんだね
ユーザーCに採番1を付与なんていう間抜けな提案でもしてみるか?
それとも採番確定後に再採番でもしてみるか?
シーケンシャルなnumberingにするには確定後に採番するしか問題は解決しないんだよ
他の方法があったら提案してみろよ

ちなみにこの件は自動採番に依存してる部分はないぞ
0938nobodyさん垢版2021/06/23(水) 11:16:02.87ID:???
文字ベースで書いてるからややこしいんだよ
実際のコードで見たい
0939nobodyさん垢版2021/06/23(水) 11:17:18.37ID:???
この問題の本質は
1,2,3,4,5と番号が並んでいます
3番のユーザーが削除されました
1,2,4,5という並びになりました

番号が順番にならんでないじゃないか!けしからん!!

という話です
0940nobodyさん垢版2021/06/23(水) 11:25:19.69ID:???
自己愛性人格障害者の言動の特徴↓
自分を持ち上げる(俺スゲー)
他人をけなす(俺スゲー)
0941nobodyさん垢版2021/06/23(水) 11:30:34.48ID:+cgzqi1Q
何言ってるのかわからんな、このバカ >>937

何度も言うけど、
欠番しない連番を付与するのは、
当たり前の事として、

可能です。

方法は、トランザクションと排他処理を正しく行うだけの事です。

あなた、本物の、バカでしょ?
0942nobodyさん垢版2021/06/23(水) 11:34:11.77ID:???
トランザクションと排他処理するってことは後続ユーザーが番号確定できないよ
あほじゃないかな?
0943nobodyさん垢版2021/06/23(水) 11:34:32.44ID:+cgzqi1Q
>>937
>シーケンシャルなnumberingにするには確定後に採番するしか問題は解決しないんだよ
>他の方法があったら提案してみろよ

ごめーん、本当に何言ってるのかわからないんだけど、

要約すると、

あなたには、『欠番しない連番を生成する能力が有りません』って、力説してるのね?

それでいいのね?

ちょっと、なんでもいいからあなたのID教えてくれる?
その程度の能力しか無いバカのIDが知りたい。

本当に下等過ぎるんだって事、自覚したほうが良いよ? あなた。
0944nobodyさん垢版2021/06/23(水) 11:35:51.91ID:+cgzqi1Q
>>942
>トランザクションと排他処理するってことは後続ユーザーが番号確定できないよ
>あほじゃないかな?

ここまでバカなのか…。

さっきも書いたんだけどさ、

『楽観排他』と『悲観排他』の違いくらい、ぐぐりなよ。

チンパンジーなの? あなた
0945nobodyさん垢版2021/06/23(水) 11:36:56.49ID:???
ユーザーAとユーザーBは採番を受けたあとに確定とキャンセルを選択する
ユーザーAは1番、ユーザーBは2番

この状態からユーザーBをどうやって1番に変更するんだ?
すでに画面には2番と表示されているから動的に1番してはいけない

ロックやトランザクションの問題じゃないんだけどどこでそういう理解になったの?
0946nobodyさん垢版2021/06/23(水) 11:37:29.32ID:+cgzqi1Q
>>942
>あほじゃないかな?

うん、あなたが、『あほ』

ぐぐる事も出来ない。

というか、流石に2021年にもなって、『楽観排他』と『悲観排他』を知らないバカが居るとは思ってもみなかった。
0947nobodyさん垢版2021/06/23(水) 11:38:26.23ID:+cgzqi1Q
>>945
>ロックやトランザクションの問題じゃないんだけどどこでそういう理解になったの?


だから、『楽観排他』と『悲観排他』について、調べてからしゃべりなよ、チンパンジー君。
0948nobodyさん垢版2021/06/23(水) 11:38:56.42ID:???
>>944
まず話を進めようか
ユーザーAとユーザーBの画面にはそれぞれユーザーA=1、ユーザーB=2という数字が表示されてる
ここまでは理解できてるか?
0949nobodyさん垢版2021/06/23(水) 11:39:59.67ID:???
結局、問題の前提を見落としてるだけだったな
もう言い訳は済んだか?
0950nobodyさん垢版2021/06/23(水) 11:40:43.02ID:+cgzqi1Q
>>937, 942,945

マジで、お前が、程度が低すぎるんだって事くらい、いい加減に理解しろ、サル。
0951nobodyさん垢版2021/06/23(水) 11:41:24.58ID:???
リソースが競合してるわけでもないのにロックの話をするほうがおかしい
0952nobodyさん垢版2021/06/23(水) 11:41:53.82ID:+cgzqi1Q
どこの正解に、新規登録に於いて、最初に裁判するバカシステムがあるんだよ。
こいつ、マジでチンパンジーだろ。


948nobodyさん2021/06/23(水) 11:38:56.42ID:???
>>944
まず話を進めようか
ユーザーAとユーザーBの画面にはそれぞれユーザーA=1、ユーザーB=2という数字が表示されてる
ここまでは理解できてるか?
0953nobodyさん垢版2021/06/23(水) 11:42:41.43ID:+cgzqi1Q
訂正。

どこの世界に、新規登録に於いて、最初に裁判するバカシステムがあるんだよ。
こいつ、マジでチンパンジーだろ。
Larabelerって、本当にこんなバカしか居ないんだな。


948nobodyさん2021/06/23(水) 11:38:56.42ID:???
>>944
まず話を進めようか
ユーザーAとユーザーBの画面にはそれぞれユーザーA=1、ユーザーB=2という数字が表示されてる
0954nobodyさん垢版2021/06/23(水) 11:43:48.22ID:+cgzqi1Q
更に訂正。もう、頭悪すぎて、マトモに相手するのすらめんどくさい。

どこの世界に、新規登録に於いて、最初に採番するバカシステムがあるんだよ。
こいつ、マジでチンパンジーだろ。
Larabelerって、本当にこんなバカしか居ないんだな。


948nobodyさん2021/06/23(水) 11:38:56.42ID:???
>>944
まず話を進めようか
ユーザーAとユーザーBの画面にはそれぞれユーザーA=1、ユーザーB=2という数字が表示されてる
0955nobodyさん垢版2021/06/23(水) 11:44:28.36ID:???
>>953
思い込みで仕様を勘違いするのは初心者にありがちなミスだ
精進しろよ
0956nobodyさん垢版2021/06/23(水) 11:44:30.77ID:+cgzqi1Q
>ユーザーAとユーザーBの画面にはそれぞれユーザーA=1、ユーザーB=2という数字が表示されてる

新規登録で、そんなシステムあるわけねーだろ、ヴァカ!
0957nobodyさん垢版2021/06/23(水) 11:44:58.08ID:???
>>956
バカっていうほうがバカなんです〜、ばーかばーか
0958nobodyさん垢版2021/06/23(水) 11:45:06.08ID:+cgzqi1Q
なんすか? このヴァカ。
Laravelerって、こんなレベルなんすね。


955nobodyさん2021/06/23(水) 11:44:28.36ID:???
>>953
思い込みで仕様を勘違いするのは初心者にありがちなミスだ
精進しろよ
0959nobodyさん垢版2021/06/23(水) 11:46:24.92ID:+cgzqi1Q
ぷっ



957nobodyさん2021/06/23(水) 11:44:58.08ID:???
>>956
バカっていうほうがバカなんです〜、ばーかばーか
0960nobodyさん垢版2021/06/23(水) 11:49:08.25ID:+cgzqi1Q
>>937, 942,945 って、本当にIQが32くらいしか無いんだな。

これがLaravelerの実力か。

Laravelerは、バカしか居ない、という結論が出てしまった。
0961nobodyさん垢版2021/06/23(水) 11:53:15.90ID:+cgzqi1Q
>>938
>文字ベースで書いてるからややこしいんだよ
>実際のコードで見たい

んー、あのさ、
マジで、『楽観排他』と『悲観排他』について勉強しなよ。
コードが見たい?
こんなん、システム開発者としては、常識っていうか基本のキなの。
この程度の事しらないでシステム作るからダブルブッキングしてしまいましたーみたいな
下等な事故が起きるんだよ。
マジで、勉強しなさい。
0962nobodyさん垢版2021/06/23(水) 11:54:18.82ID:???
新規登録画面(確定画面ではなく入力前)でID表示を強制してくる事業者は少なくない
そして連番を求めてくる
たった1つの優れたやり方は「現在、他のユーザーが登録中です」と表示することなんだ
そしてアプリ的な排他ロックのキーを外し忘れる不具合(しばしばメンテで発生する)が発生して
保守運用チームが気を聞かせて「1人しか同時に登録できなかったので何人でも同時に登録できるようにしておきました」
とドヤ顔で客に報告する
便利だわー、さすがだわーと褒められますますドヤ顔で真っ赤になる
その数時間後に客から「IDが飛ぶんです。不具合です。すぐ直してください」と緊急メンテになり青くなる

それがおまえらが選んだ職業なんだよ
0963nobodyさん垢版2021/06/23(水) 11:57:30.14ID:???
おまえらにはまだDBの気持ちがわかっていない
オレの人生はロックなんだよ
0964nobodyさん垢版2021/06/23(水) 11:59:08.82ID:+cgzqi1Q
>>962
>新規登録画面(確定画面ではなく入力前)でID表示を強制してくる事業者は少なくない

ねーよ、ヴァカ
何長文書いて事実捏造してんだ、引きこもり!
0965nobodyさん垢版2021/06/23(水) 12:00:23.53ID:+cgzqi1Q
>>962
>そしてアプリ的な排他ロックのキーを外し忘れる

排他ロックに“キー”なんてねーよ!
妄想で語るな、キチガイ!
0966nobodyさん垢版2021/06/23(水) 12:03:11.76ID:+cgzqi1Q
すげぇな、よくここまで妄想で語れるな…。
マジで脳みそ腐ってるんだろうな…。



962nobodyさん2021/06/23(水) 11:54:18.82ID:???>>964>>965
新規登録画面(確定画面ではなく入力前)でID表示を強制してくる事業者は少なくない
そして連番を求めてくる
たった1つの優れたやり方は「現在、他のユーザーが登録中です」と表示することなんだ
そしてアプリ的な排他ロックのキーを外し忘れる不具合(しばしばメンテで発生する)が発生して
保守運用チームが気を聞かせて「1人しか同時に登録できなかったので何人でも同時に登録できるようにしておきました」
とドヤ顔で客に報告する
便利だわー、さすがだわーと褒められますますドヤ顔で真っ赤になる
その数時間後に客から「IDが飛ぶんです。不具合です。すぐ直してください」と緊急メンテになり青くなる
0967nobodyさん垢版2021/06/23(水) 12:08:23.12ID:???
>>965
また説明を見落としてるじゃん
成長ないな

サーバのディレクトリに「lock」っていうディレクトリを作っておくんだよ
ディレクトリ作成に成功したらロック取得、失敗したら他のユーザーがロック中なので退場

また賢くなったな。精進しろよ
0968nobodyさん垢版2021/06/23(水) 12:12:16.67ID:+cgzqi1Q
>>967

lockディレクトリ!

あまりにも下等な表現が出てきてビックリっす。
これがLaravelerなんすねw ちょーウケるんですけどw
0969nobodyさん垢版2021/06/23(水) 12:13:22.05ID:+cgzqi1Q
本当に、頭大丈夫なんすか? Laravel使いの人達ってw
0971nobodyさん垢版2021/06/23(水) 12:24:31.97ID:???
>>934
コロナワクチンの予約システムも予約番号の重複とかやらかしてましたね
0972nobodyさん垢版2021/06/23(水) 12:26:36.04ID:???
自動採番した番号をロックしたとする
ユーザーAは新規登録中にお昼ご飯にいきました
ユーザーBは「ユーザーAがロックなので登録できません」という表示を見ることになる
「ふーん、あいつロックなんだ・・・」
ユーザーBは複雑な気分で会議に行ってしまいました

ユーザーAは昼食から戻ってきましたがどうしてもわからない項目があります
「Bさんに聞かないとわからないな」
登録画面を最小化して別の仕事をすることにしました

会議室の合間にユーザーBは新規登録が出来ないか何度も画面を出しますがいずれにしても
「ユーザーAがロックなので登録できません」
の表示が変わりません
ユーザーBは新規登録が出来るまで席に戻る必要はないなとさらに別の仕事に行ってしまいました

これがデッドロックという現象です

うかつにロックを使うとデッドロックになってしまうというお話でした
0973nobodyさん垢版2021/06/23(水) 12:29:00.57ID:???
今日もアンチオートインクリメントおじさんが荒ぶってるのか。どっか他のスレで引き取って欲しい。こちとらLaravelの情報交換がしたいだけなんだがなぁ。
0974nobodyさん垢版2021/06/23(水) 12:29:51.24ID:???
>>967
ディレクトリ作成成功後にサーバ再起動とか発生したらアウトでは?
再起動したらクリアされるRAM領域で行っているなら大丈夫だけど
HDD上だとディレクトリ残りっぱなしになってデッドロックになるぞ

まあそもそも組み込みの世界じゃあるまいし排他をディレクトリあるなしでやるなよ
DB等の操作は楽観排他や悲観排他使えよ
0975nobodyさん垢版2021/06/23(水) 12:34:12.03ID:???
>>967
ID:+cgzqi1Qに対して反論するならもっとまともな実装で反論しろよwwwww
さすがにその実装はやばいw
0976nobodyさん垢版2021/06/23(水) 12:39:23.06ID:???
Rubyガイジより酷いガイジ湧いてて草
0977nobodyさん垢版2021/06/23(水) 12:44:02.98ID:???
>>934
郵便局のお問い合わせ番号は端末ごとに1000件程度プリ発行しておいてそこから採番する
0978nobodyさん垢版2021/06/23(水) 12:44:18.49ID:???
>>934
仕様の確認
・チケットの席は有限
・追加販売はあるがまとめて数千席単位でせいぜい1度か2度の追加
・席はチケット販売会社ごとに割り当てがある
・チケット番号は販売会社ごとに独立している
・席番号は販売会社が違っても会場で決められた番号を使う
・チケット1枚につき1〜5席まで購入できる
・チケット番号は必ずしも連番で発行する必要はない
・チケット番号は十分に余裕のある桁数であるとする

購入の流れ
1.ユーザーは自宅PC、スマホ、もしくは専用端末で購買操作を行う
2.欲しい席を入力する(席番号にロックをかける)
3.欲しい席を全て入力し終わったら支払い方法、クレジットカード番号等を入力する
4.オーソリが通らないなど支払い不可であれば席番号ロックを解除して購入フローを終わる
5.支払いフローが終了すればチケットを発行する。このときチケット番号は端末ごとにプリ発行されている中から取得する
6.プリ発行されている番号が足りなくなればセンターに問い合わせて追加発行をしてもらう
0979nobodyさん垢版2021/06/23(水) 12:55:36.61ID:???
>>974
逆にいうと再起動に強いlockだと言える
0980nobodyさん垢版2021/06/23(水) 14:38:36.64ID:+cgzqi1Q
なんか、本当に頭痛くなってる。

まさか、2021年にもなってロックファイル人力生成して排他する実装を
『力説』するほどの低知能が存在するとは、流石に夢にも思ってなかった。

>>973とか、『情報交換がしたい』とか言ってるけど、
こんなバカ排他情報交換して何するつもりなんだろ?
もはやそれ、テロに近いだろ。
0981nobodyさん垢版2021/06/23(水) 14:43:13.32ID:+cgzqi1Q
Laravel使ってる奴らは排他処理知らないのでダブルブッキング起こしかねませんよ?

ってのは、周知していったほうが良さそうだな、社会全体のために。
0982nobodyさん垢版2021/06/23(水) 14:47:06.30ID:???
でキチガイはサロゲートキーを一切使わない化石何だなw
0983nobodyさん垢版2021/06/23(水) 14:53:20.76ID:???
平日にこんなスレに長時間張り付いてる人が一番怖い
0985nobodyさん垢版2021/06/23(水) 15:19:17.00ID:???
ネタって事にしたいならそれでいいけど、

で? じゃあ実際に欠番せずダブルブッキングしないIDをどうやって発行するか、

あなた >>984 は当然言えるんだよね?

プリーズ。
0989nobodyさん垢版2021/06/23(水) 16:01:37.76ID:???
平日の昼間からID真っ赤にしてるニート臭いの居るけど、それを相手にしてる奴もニートなんかな
0990nobodyさん垢版2021/06/23(水) 16:08:17.92ID:???
技術的な話題が来るとお前らってすぐに人格攻撃するよな
なんで「わからないので教えてください。」って言えないの?
0991nobodyさん垢版2021/06/23(水) 16:10:02.20ID:???
俺たちは零細勤務だから仕方ない
それができるなら零細には居ないし
0992nobodyさん垢版2021/06/23(水) 16:11:46.09ID:???
DBの排他制御の為にlockファイル作る人はSQLiteでも使ってるのかな?
0993nobodyさん垢版2021/06/23(水) 16:14:15.25ID:???
auto_incrementの主キーに型が可変だからってdecimal使うやつがいるのは驚いたよな
auto_incrementにdecimal使えるのって何のRDBなんだろ?
RDBから自作でもしてんのかな
0994nobodyさん垢版2021/06/23(水) 16:16:33.65ID:???
>>990
排他制御に関して言えば技術的にかなり困難な問題だから聞ける人が居ない
まず会社では俺が一番の先輩だし
0995nobodyさん垢版2021/06/23(水) 16:22:15.16ID:???
>>985
Laravelでは欠番しないような処理を書くことが公式で非推奨扱いだぞ
一般的にはとても信じられないことだけど公式で非推奨っていっちゃうあたり
Laravelがおかしいことがわかる
0996nobodyさん垢版2021/06/23(水) 16:26:36.13ID:???
>>985
主キーの欠番によって挙がる問題を教えて
そもそも主キーに欠番が出るだけで不都合起きる実装の問題では?
0997nobodyさん垢版2021/06/23(水) 16:31:04.52ID:???
プライマリキー欠番で不具合は草
どう考えても実装か設計に問題があるだろ
0998nobodyさん垢版2021/06/23(水) 16:32:39.63ID:???
>>995
お前いつもつまらないので、そろそろこのスレから居なくなってどうぞ。アンチオートインクリメントおじさんと同レベルに無価値。
0999nobodyさん垢版2021/06/23(水) 16:36:57.00ID:???
すいません教えてください
Laravelを使ってauto_incrementに欠番を出さないようにするにはどうしたらできますか?
例えばユーザーテーブルに新しく挿入してidが100のユーザーが作れますがそのユーザーを消してもう一度挿入するとidが100じゃなくて101になってしまって困ってます
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 28日 20時間 36分 29秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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