熱脳しゃちょのブログ

熱脳しゃちょのブログ

おせっかい焼SE兼プログラマ兼……の辛い日々と、思う事なぞ

「運用でカバー」

というセリフを吐く人間は、即座にもれなく敵認定します。



Call My Guardianというサービスを準備し始めてます。
ぽしゃるかもしれないけど。

関連Facebookグループ
- https://www.facebook.com/groups/810533509630697

MySQLはRDBではなく、一貫性を保ったデータストアである。

ってのが正しい。
そして、クラウドサービスではそれで十分だったし、今も大概十分だ。

一方、PostgreSQLは、ちゃんとしたRelationalDBだ。

で、なぜ最近PostgreSQL(系)が?
MySQLに弱いRDB系の処理が急激に増えてきたとは思えんのだよな。

多分、MySQLじゃないプロダクト使う俺ってイケてる。
的、逆張りしかないエンジニアが増えてるんじゃねーかな? と思う。

もし大規模データで集計分析するなら、PostgreSQLじゃねーだろ、と。
シナリオによるけど、Athena、Spark、Snowflake、etc.etc.
今更、というかそのシナリオでPostgreSQLか? と思う(AlloyDBとか)。
PostgreSQLというRDBというか、PostgreSQL系のSQL文法が使えるDBというか。

最近、正規化しかしていない、マルチテナントテーブルの設計見て (-_-)となったりしてる。
処理がどんどん遅くなっていって……。
ORMつかってO(N+1)のネスト。
加えてJoinJoinJoin。
数GBしかデータないのにRedshift。

……、ため息しか出ない。


で、生成AI使いまくってます!
って鼻息荒く言われてもさ……。


同じ口からPostgreSQLが良さそうって聞きました!
って言われた時の絶望感ときたら……。

本能に基づく共感と嫌悪感が存在しないから、色々無理。

今時の巨大なサービスを、手動テストで何とかしようというのは、蝗害を前に虫取り網で戦いを挑むようなもの。

なんだけど、いまだにそれに頼ってるところ、意外と多い。

E2Eテストとか。

実際には全然品質保証になってなくて、本番デプロイ、障害発生、原因調査、修正、対象テスト追加。

いや、修正された内容のテストを後から追加するって……。

もちろん、「壊れていないことを保証するテスト」は必要だけど、こういうプロダクトは、一度組み上がった部分には絶対手をつけないから、あんまり意味ないんだよな。

 

そもそも、E2Eテストで品質を担保なんて、20世紀の遺物だぞ。

中身複雑になってるんだから、全パス検査なんて不可能だろ?

それでカバレッジが云々とか、知ってる単語を並べるだけなら、AIだってやれるぞ w

 

AI 駆動開発のための仕様駆動開発とか、仕様ーー画面仕様、ファイル仕様ーーを決めれば自ずと整うとかいう妄想としか言いようがない。

 

テストは、設計時にどのように「自動で」検証するか計画して、検証可能、検証容易に作らなきゃ、できるわけがないし、そのための分割統治ーークリーンアーキテクチャなどの多層構造だったり、ドメイン駆動だったりするわけだ。

 

何かのツールを導入するだけであら不思議!

 

なんてあるわけないじゃん。

 

この設計時から検証可能検証容易に作る、ってのがTDDの核心だよ。

全ての処理について、テストを先に作らなきゃいけない、とか、本質を外れてる。