Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

論理削除がアンチパターンであることを検証する

Posted at

本当に、一体いつまでこの話を続けるんやろうなと呆れ返るんやけど、またなんや。

一体どこから始まったのかはよく把握していなくて、多分これなんやないかなぁ…?という気がしてます。

image.png

この子、明らかに業界経験短そうに見えるから多分、何か発信したかったんやろうね。実に初々しい感じやで。

それをこの垢が拾ったのが始まりっぽい。

image.png

本題

『おーう、やってんねぇ、やってんねぇ』

と新宿109のKENZOさんみたいなノリで苦笑いしながら、とりあえず戦局がどんなんになっているか、ついてるコメントを辿っていったら案の定ですよ。mattnとかもこんな寝ぼけた事言ってるんすよね。

image.png

いやお前いまだにその程度の見識って、これまで一体どんな狭い世界の仕事だけしかしてこなかったんや?と呆れ返りです。

前にteratailだかどっかでmattnが僕さんにコメントした時、某チャンネルのバカが「mattn砲炸裂!」とか大喜びしていて、『いや、mattnってそれなりの技術者ではあるけど、別にそんな大した奴やなかったよなぁ…。』と思いつつ、騒いでる奴が本物のバカやったので『しゃあねぇか』と思ってたんですが、本当にこんなもんやったんすね。買いかぶりしてましたわ、すんません。

実際、ちゃんと社会で仕事してれば普通にこういう世界に関わる事になるっす。

image.png

めっちゃ普通にある要望なんすよ。要望っつーか、そうしなければならないんすよ。

自社開発しかしてませんみたいな人間だって、業界に居れば普通見聞きくらいするっしょ、論理削除の存在は知ってるんやから。

というか「論理削除はアンチパターンだ」とかいう主張って、僕さんが別業界からこの業界に入って来た15年くらい前からあって、当然、もっとずっと前からあるわけですよ。

ずっと前からあるのにいまだにそれを声高に叫ばなければいけないこの状況が一体何を意味しているのかなんて自明でしょ?

社会にとって必要だから残ってる

んすよ。当たり前やん。
今更一体何を言ってんだって話っすよ。バカも休み休み言え、冗談はよし子さんと。

ここで、やまもんさんが良い事言っているので論理削除断固拒否派閥のキッザニア諸君は目の穴をかっぽじってよく読みなさい。どうせおまえらみたいなもんは眼窩にビー玉でもつまってるんやからほじくれるっしょ。

image.png

社会の一員として仕事をしていれば、こんなのは当たり前の事やんか。

そしたらエンジニアの出す答えなんか一つしかあるわけないんすよ。
どう考えてもこれ以外の答なんて無いんすよ。だってそれをすることでお金もらってるんやから。

image.png

にもかかわらずキッザニアはこんな寝言を言っては傷を舐め合っているわけですよ。

image.png

『いや、設計の話してるからこそ言われてんだよバカか!』って言いたくなるの、当たり前でしょう?(これ言ったの僕さんじゃないっすよ)

お気楽なシステムでいいですね

ほんとうにもう、ねぇ…。

似たような話は他にもあるっしょ。例えば、

複合プライマリキーはアンチパターン

とか。アホなのか、と。

これも結構長い事言い合いが続いてて、挙句の果ては「AUTO INCREMENTでええやろ」とまで言い出しやがるんですけど、問い詰めていくと最終的にこれを主張する奴らが何を言い出すかというと

オレらみたいな凡人は天才が作ったフレームワークやライブラリを使うしかないんやから仕方ないやろ

って言いやがるんですよ。本当に言われたんですよ。

そもそも「それ作ってる奴ただのアホやで」っていうツッコミ以前の問題として、

『何? その「オレ“ら”」って!?』

ってなるんすよ。どうして主語デカくしちゃったの? なんでお前と他人を一緒にしちゃったの?って。

「オレみたいな凡人は」でええやん。

本当にね、バカほどプライド高いから「自分が劣っている」という事だけは認めたくないんすよ。それが認められないからいつまで経ってもバカなんすけどね。

だから「みんなそうだけど」って主語をでかくしちゃうんすよね。

ほんとうにねぇ…、もう…。

大体、そういう事言う奴達って、保守運用の事何にも考えてないっしょ。

「なんか集計結果おかしいので調査してください」とか言われてDBからデータ引っこ抜いてみたまではいいんだけど、似たようなクソ長ったらしい数字の連番の羅列で、どれがどれでどうなってどこに紐づいてんだい?みたいな、目をシバシバさせながら間違い探しすんの、相当な地獄なんすよ。この業界に入った最初のころのSIにそういうシステムあって、一瞬で『あ、これはダメですねぇ』って悟りましたわ。

クソ長ったらしい単一プライマリキーとか、本当に素人の発想なんすよ。

ORMでの複合プライマリキー実装なんか、OOPをちゃんと理解できてたらマジ簡単っすよ。アンチパターンでも何でもないっす。どんだけ簡単なシステムしか作ってないんだい?みたいな話っすよ。

お前ら本当に単一プライマリキーなんか使いたいのかと問いたい。問い詰めたい。小一時間問い詰めたい。
お前らみたいなド素人はSalesforceでも使ってなさいってこった。

論理削除にしたってそうじゃないですか。

論理削除は実装が難しく瑕疵が混入しやすいから出来れば避けたいよねぇ…。

なら、誰も文句は言わないんすよ。「難しい」とかはただの主観だし、そもそも誰でも実装できるほど簡単だとは思ってないし。

ところが何故か主語を大きくしちゃう。こんな感じで。

image.png

で、呆れ返りながら『他はどんな事言ってんのかなぁ?』とタイムライン辿ってみるとこんなでしょ?

image.png

『おいおい、変更履歴閲覧画面じゃあるまいし、なんで削除フラグ立ってるデータをViewまで運んでんだよ、SELECTの段階で除外するに決まってんだろ!SQL知らねぇのか!!』みたいな、とんでもない事言ってるんすよ。

普通ならですよ、曲がりなりにもエンジニアの話なんやから、「いや、意識しなくても良いように実装するのがエンジニアの本分やろ!」みたいな事を言いたいんすよ。

せやけどもう、次元がそんな話ですら高過ぎるんすよ。最早話題レベルが正気の沙汰じゃないくらいに地の底を這ってるんす。

もう、頓珍漢過ぎて議論にすらなるわけが無いのあたりまえなんすよね、本当に論外。

そうこうしてるうちに、こんなポストも流れてくるっす。

image.png

もう、論理削除がどうした以前の問題として、文章の構成からしておかしいんすよ。

一段落目の論旨は
「通常、本当にデータを削除するなんて事は無い」
と言っているようなので、『あ、論理削除肯定派なんかな?』と思うっしょ。

ところが、二段落目で
「個人情報保護法上の問題から、本当に削除しなければならない事がある」
と言い始めて、『ん?』となるわけです。一体何を主張したいのかここに来て理解不能になるんすよ。だって今、物理削除の話なんか一切してないから。

『まぁまて、次の段落で「しかしながら」って来るんやろなぁ…』と思って読み進めていったら

三段落目
「つまり、削除フラグは認知の歪みの産物である」
と言い始めて

『え”え”え”え”え”え”え”え”え”え”!!!』

と、度肝を抜かれるんす。正しく引用してみましょう。

削除フラグはその誤解の結果として生まれた実装上の逃げ道にすぎない。

一体何すか?これ。どこから何をどうするとこの推論が生まれてくるんすか? そして更に謎の言葉が続くっす。

問題の本質は技術ではなく、ビジネス上の意味や責務を正しくモデル化せず、「消したことにしたい」という都合を削除という言葉で覆い隠してしまう設計判断にある。

いや、したいとかしたくないとかじゃなくて、消しちゃいけないんすよ、だから消さないようにしてるんすよ、願望の話なんかしてないんすよと、読んでいるこっちがオロオロしてくるっす。

そしてこの妄想としか思えない推論を以て

なので、削除フラグを作るようなシステムほどよっぽど気楽なシステムだってこと。

というトチ狂った結論を導き出してくるわけですよ。もう、口ポカーンすよ。

その後は四段目でダラダラと言い訳をするわけですが、もう、その前の展開があまりにもメチャクチャ過ぎて読む気も起きないんすよ。

本当に『このバカ、一体何を言ってんの?』以上の感想が無いわけです。マジで、何を言ってるのか全く分からない。

何しろ上で書いた通り、ルールとして本当に消したらダメで残しておかなければいけないデータって世の中にはいっぱいあって、議論すべきは「その残し方・方法」の話以外にあり得るわけがないんですから。だからせめてその路線で話してくれよって話っすよ。

それで、『このバカ、一体どんな人間なんだ?』って思ってタイムラインを見に行ったところがですね、

image.png

結構な経歴の持ち主なんすよ、ええ。

それどころか、著書も何冊か書いてるみたいなんすよ。それでまた

『え”え”え”え”え”え”え”え”え”え”!!!』

ってなったわけです。

うん、言ってる事の是非の問題じゃない、

『こんなめちゃくちゃな論理展開で技術書籍書いて出版してんのぉぉぉぉぉ!?』

って。

そしたらもう、こういうイヤミも言いたくなるじゃないですか。あまりにもメチャクチャ過ぎるから。

image.png

そしたらこれ。

ひょっとしたら広木ン、侮辱や名誉棄損で今弁護士に電話して証拠保全してるかもしれなくて、後日うちに開示請求届くかもしれないんですけど、仮に法廷に立ったとして、

「“最高に頭悪い”についてはほんまごめんなさい、そこは否定しないです」とは言いつつ、
「なんだけど、何をどう読んでも社会的に地位のある人間の書く文章とはとても思えない、
錯乱していたとしか思えないです。とてもそれで飯を食ってる人間の見識と文章とは思えないです」
って、強く主張すると思う。そのくらい、何から何までおかしい。

なお、余談として下記。

image.png

image.png

この手の比率がこんな切れの良い数字になる事ってありえなくて、論理的に考えると実際にはハインリッヒの法則のような比率になるんじゃねぇの?と思ってる派閥で、技術者がこういう数値を真に受けて適当に語ったらダメなんじゃね?派閥だし、そういうのは「一気通貫!」とか恥ずかしげもなく言ってる胡散臭いWEB屋にでもやらせとけ派閥。

話戻すけど、まともに社会で仕事してたらレコードの無効化みたいな話はあたりまえのようにあって、さっきも言ったように議論すべきは「その残し方・方法」の話なんすよね。

だから当然、こういう事言い出す奴も現れるわけっすよ。

うんあのな、やってみれば分かるけど、それ、余計にめんどくさくなるだけやで。

確かに物理削除レコードを全部別テーブルに流す、みたいな実装は必要になる事あるねんけど、それはまったく別の目的の話やね。

特に、削除フラグ実装しくじるような奴はそら、別テーブルに移すのも忘れるやろうなぁ。一緒やん。

せやからそういうのは全部ライブラリで吸収して自動でやらせな意味無いから、そこに必要な設計力や実装力は変わらんし、どっちも全く別の課題解決に必要やで。

少し別の話やけど似たように軽く考えてる奴が居たやからちょっと問い詰めてみたんやけど、今、こんなんになってもうてるわ。

まぁ、ちょっと考えてみれば分かりそうなもんやけどなぁ…。別テーブル管理派閥は大体問い詰めていくとこうなってまうんちゃうか?

そら、そうやろ。

他にもこんなこと言ってるのも居るからイヤミ言ったったんですよ。

そしたらもう、全力で頭おかしい事言ってくるんですよね。

『DOAとかDDDとか、どう考えても論理削除の是非について語るべきスコープの話やないやろ…』と。

本当に脱力する事になったっす。でぃーおーえーって言いたいだけやろ…、みたいな…。
論理削除絶対許さない界隈、言ってる事が片っ端からメチャクチャなんすよ、本当に。

で、『一体どんな人間なんやろ?』って思うから、やっぱりタイムライン見に行くじゃないですか。

うん、ただのライターさんやないですか。ズッコケー
そら、ライターさんごときには難し過ぎて

削除フラグでのDB設計では潜在バグが発生するリスクがあり労多くして功少なし

でしょうなぁ。ニチャァ

っていうか、一体何やねん、「キーの再利用」って…。キーの意味ねぇだろ。再利用なんかしたら余計ややこしい問題起きるやろ…。

もうね、ただ単にあなたたちの無知と設計力と実装力の無さ、それだけの事なんすよ。

確かにね、多少は難しいですよ? でも、パズルみたいなもんすよ、実際は。
やってみれば案外簡単。システム設計能力と実装能力の向上に繋がるからおうちでちょっとやってみればいいです。
好きなんでしょ?コード書くの。
どうせおまえらみたいなオタクは他に取り得なんかないんやから。ニチャァ

と、思ってるそばからこんなですよ。

Tワダさん、あんた、そんなポンコツちゃうかったやん…。

もうね、ほんとうに

「社会はあんたたちオタクの住みやすさ基準で回ってるわけじゃありません!!!」

何が困るって、

こういう社会的地位がある人間が、薄っぺらい見識、というか現実社会を何一つ知らんとしか思えない、技術者目線の狭い了見で声高にこういうのを叫ぶことで、「オレらみたいな凡人」共が『ああ、それでいいんだ』って思っちゃう事。

根拠は上記。

その結果がもたらすものは「論理削除なんてやる奴は気が狂っている」という歪んだ認識で満たされた世界線であって、

当然そんな世界ではメジャーフレームワーク・ライブラリがそれらの煩わしい処理を隠ぺいするように設計される事は無く、

結果として、「オレらみたいな凡人」とホザく主語デカ星人が、

天才様が作ったとされるポンコツフレームワークやライブラリを使い、

理想と現実社会からの要求との乖離の狭間で、

論理削除はアンチパターンです!

と延々と叫び続ける世界がこれからも継続するのです。実際そうなっているっしょ?ニチャァ

結論

「論理削除がアンチパターンであるかどうかなんて現実社会に於いては何一つ意味を持たねぇからお前らみたいな下っ端はつべこべ言わずに言われたとおりに実装してろお前らはそのために雇われてんだボケ」Q.E.D.

後記

たぶんこの記事と垢、またQiita運営に怒られて消されるっす。

Qiita運営に限らずタダサービス作ってる奴らって、いつまで経ってもアクセス数至上主義なんすよね。

だから本当の意味での倫理観なんて全く無いっす。根底にあるのはただの承認欲求、そのためにはどれだけアクセス数を稼げるかそれが全て、ただそれだけっす。

前のアカウントで、こっちは暴言なんて一切言ってないのにQitta運営がめっちゃ怒ってくるから面白いんで「Zuishinはどうなってるん?」って通報入れまくったんやけど、こっちだけ垢バンされて明らかに暴言吐き続けてるZuishinは野放しでした。

で『マジでQiita運営アホやな…』って思ってたんですが、数か月後に

Zuishinもやっぱりバンされてましたヾ(´∀`)ノ

当たり前やん。

これ別に言いがかりしてるわけやなくてですね、

かなり前にリアルの知人が働いてた会社のサービスで「HiNative」っていう言語学習サイトが始まって、自分は英語勉強したいし、外人に日本語教えるのも楽しいからよく利用してたんすよ。

最初は楽しかったんやけど、見てたら、中高生なんでしょうなぁ、すさまじく適当で間違った日本語をあっちこっちで外人に教えまくり始めやがったんすよね。

で、流石にこれはアカンやろ思って、片っ端から訂正していったんすよ。

そしたらそのガキどもが怒りマーク連打しやがりまして、運営に通報しまくったんすよ。

で、最終的にはこっちが垢バンになったんで、『あー、ここの運営、自分たちのサイトにとって本当に大切なものが一体何であるのか全く理解してないんやなぁ…』と思って、素直に去ったんすよ。

で、最近見てみたら案の定ですわ。何が案の定やって?

検索してサイトや運営会社、他のサービスがどうなったのかを見てみれば分かるっす。

ちょっと考えれば分かりそうなもんやないですか。子供が適当な事を教えてくるだけのサイトなんか誰もまともに利用するわけないて。そんなもんでマネタイズできるわけがないって。

まぁ、ネットでサラッと検索しただけの評価っすから、実際はめっちゃ儲かってるかもしれないんで適当な事は言えないんすけどね。

ただ、

上の本文読めば普通はわかりまっしゃろ。パソコン弄ってるだけのオタクには本当の倫理観なんてそもそもないって事が嫌というほど。

せやからおまえらの下らん偏った承認欲求を満たす為に、その貧弱な倫理観を以て他人をジャッジするのだけは止めときなさい、いう話なんやけども、まぁ、無理やろなぁ。

Qiitaは記事の書きやすさだけはピカイチですな。さすが技術オタクが作ってるだけの事はあるっす。せやけどまぁ、今んとこそれだけですな。

Qiitaもいろんな企業とタイアップしてるみたいやし、Qiitaに実名・実会社で登録してる奴とかもいっぱい居てますわなぁ。

で、そういう会社とたまたま、同じお客さんがらみで関わったりするわけですよ。

で、そういう会社がまぁ、「やらかしてる」わけですよ、ええ。

「ミスした」とかやないんですよね。ミスとかは仕方ない話やから。

そんなんやなくてもう、社会人としての基本のキからして出来て無くて、プロジェクト管理ツールでのお客さんとのやり取りとか何一つまともに出来ないし、何言ってるのかすら分からなくて、お客さんが激怒してるんすよ。

で、元請けっていうかその案件での一次請けですわなぁ、大手のSIのPMがお客さんからしょっちゅう怒られてて、明らかに精神やられてるんすよ。そのPM自体はそれなりに優秀なんやけど、全部ひとりでやらなきゃならなくなって明らかにキャパオーバーしてるんすよ。

でも、そういう会社の垢はQiita上では「わて、めっちゃ優秀なエンジニアですねん」みたいな顔して、すっごい当たり障りない記事を書いてるんですわ。

『お、おぅ…』ってなるやないですか…。

ほんと、何かもうちょっと考えないかい?って思うんやけど、

まぁ無理な話なんやろうなぁ…、と、本文書きながら思ってましたわ。

ただまぁ、一体何でこんな記事を書くに至ったかくらいは、おんどれらパソコンオタク共も少しは考えてほしいもんですなぁ。

ほんま、おおきに。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Comments

No comments

Let's comment your feelings that are more than good

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar 🎅

Some calendars come with gifts and some gifts are drawn from all calendars 👀

Please tie the article to your calendar and let's enjoy Christmas together!

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Login to continue?

Login or Sign up with social account

Login or Sign up with your email address