全国に359万とんで3人いるという「ruby」や「Rails」なんてこの世から消えてなくなればいいとお考えの皆様、そう考えるのは仕方がありません。あなたは間違っていません。
「Rails」そしてその言語である「ruby 」自体が不細工なのは言うまでもなく「悪」です。が、それを使う人間がさらに「悪」であることは重々承知されていることとは思います。
スポンサーリンク
本当は「ruby」や「Rails」が云々なんてことを言いたいわけではないのですが、最終結論だけをあえて言います。自身のことを「rubyエンジニア」と名乗っている人に近づくと100%怪我します。事故ります。まともに相手するには屈強なメンタルも必要となります。そしてハゲます。必ずハゲます。
ActiveRecordがうざい
はい、うざいですね。テーブル名は複数形でないといけない?設定で回避可能?バカ?クラス名は単数?複数?
設定で回避可能とかいう人は100%回避しません。規約やら制約にガッチガチに拘束されることを望みます。ドMで頭が弱いのが特徴です。
ActiveRecordを使うときはテーブル名は複数形でないといけないそうだ。例えば都道府県マスタだと、perfはNG。perfsはOKといった具合ですね。何なんだ、その決まりは?
すぐに例外が発生するので気づきますが、そんな田舎ルールのことを知らない普通の人は、そのことを知った時点でやる気が根こそぎなくなり、ActiveRecordに虫唾が走ることでしょう。そしてその怒りは、Rails、rubyへと飛び火します。
ActiveRecord::StatementInvalid in XXX#XXX Mysql2::Error tables 'XXXXs'doesn't exist: ・・・・・・
こんな例外でちゃうと、マウス2個くらい壊れてます。もったいない、もったいない。
N + 1 問題?バカ?
頭が弱い人は、RailsやActiveRecordを使って、こんなことでドヤリます。控えめな人もいますが、堅苦しい表現を使って平静を装ってる人もいますが、すべからくドヤってます。
「N+1問題を解決して、10倍、100倍高速化してやったぜ~」
そもそも、ActiveRecordを使わなければこんな問題は発生しません。自分で勝手に問題作っておいて、自分で修正をしてドヤります。結果的には、すべての人が損しています。得する人はいません。「三方悪し」です。
N+1問題よりは、1+N問題といったほうがいいようにも思いますが。。。ここでは、三方悪し問題とすることにします。
また、「ActiveRecord自体は悪くない。遅くない。使い方に問題がある」と、いかにももっともらしく、頭の痛い感じで反論される人もいますが、こんな〇〇問題とか、名づけられている時点でActiveRecordは欠陥品です。
そもそもなぜ、SQL使って記述すれば何の問題も発生しないのに、わざわざ欠陥品の使い方を覚える無駄な時間を浪費してまでActiveRecordが使われるのでしょうか?
頭の痛い連中はきっとこういいます。「Rails使うならActiveRecord使うことが当たり前だ」と。が、彼ら・彼女らは、300%の確率で使いこなしていません。ActiveRecordに振り回されて疲弊することに快楽を覚えるドMたちです。
続けます。
ログイン機能ならdevice!いいgem入荷しました的な
ActiveRecordと同じく、deviceもなにがなんでも使わないと気が済まない人がたくさんいます。使う必要がないのに使っているだけならいざ知らず、deviceを使うことによって足を引っ張られていることに快楽を覚えている人もいます。
deviceにしても、使うことが目的になってしまっているので、何かあると、「カスタマイズすればできる」とか、言い出します。
つーか、カスタマイズとかしてる時点で使う必要あるのかと思います。「だれが、deviceを使う前提で設計するかっつーの。要件にあわせて設計するっつーの」という、当たり前のことを理解している人はいません。皆無です。ゼロです。いや、むしろマイナスです。
まだまだ続けてもいいのですが、ここらへんでやめます。
まとめ
新型コロナと新旧のバカにはソーシャルディスタンス!そして、そんなことより、山に登ろう!