システム開発課の一日 〜徒然なるままにシステム開発用語〜
この会話はファンクションです
(ナレーション) とある会社の業務系システムを開発している情報システム科の一室。
皆、一心不乱にキーボードを叩いている。
(効果音) キーボードを叩く音
上司 「かろてん君さー、このフラグがtrueの時って子供を殺せばいいの?」※ 私 「子供だけじゃダメです。末代まで皆殺しにしてください」※ 上司 「わかったー」
(効果音) キーボードを叩く音
上司 「かろてん君、殺す子孫のリストつくってみたけど、大丈夫か見てくれる?」 私 「わかりました。 ...すみません、皆殺しはやり過ぎでした。 孫は後から使うので論理削除でお願いします。※ ORM使ってdeleteかけるかクエリビルダでupdateかけてください」※ 上司 「子供が死んで孫が仮死状態ってひどいよねー」 私 「...そうですね。かわいそうですけど一思いにやっちゃって下さい」
(効果音) キーボードを叩く音
上司 「業務に入ってる人からさー、最近ちょっとはっぱかけられてるから、 早めにリリースしたいよね」 私 「そうですね。ぼくらリリースまでは金食い虫扱いですしね」※ 上司 「使ってもらってなんぼだからねー、システムは」 上司 「それはそうとかろてん君システム課独立の話考えてくれた? いっしょにやろうよ、会社。名前はさー」 私 「『コバンザメ』でしょ。今の会社のすねかじる気丸出しじゃないですか」※ 上司 「酔って名前つけたのかろてん君じゃない」 私 「覚えてませんよそんな昔のこと」 上司 「やろうよコバンザメ」 私 「僕は近々ヒモになるのでコバンザメやらないです」※ 上司 「それコバンザメと同じじゃん」 私 「僕は魚類じゃなくて人に寄生するので、 もっと高尚なコバンザメです。オールオーケーです」 上司 「...いいと思うんだけどなあ。コバンザメ」
(効果音) キーボードを叩く音
私 「お疲れ様です」 上司 「おーお疲れー。今日は合コン?」
(モノローグ) 私は無視して会社を後にした。
本日の用語解説
フラグ
trueかfalseの二値を取るものを指す。
日本語だと旗なので、立つとか立たないとか言ったりする。
二値より大きいものを取る場合はフラグとは言わずコードと言う。
よくフラグだったはずのカラムがコード的な使い方をされているのを見る。
末代まで皆殺し
親子孫関係にあるテーブルのうち、
親が消されると子供・孫とも消す必要があるときに使う。
リレーションが多いときこうなることが多い。
親だけ消えて子供だけ残ってしまったとき、その子供のことを孤児と呼んだりする。
使ってもらってなんぼ
業務系システムは、主に業務の工数削減のために作られる。
つまり、システムが使われるまでは工数が削減されない。
よってシステム課の真価は、作ったシステムが使われる時までわからない。
つまりシステム課は、
システムが使われるまでは会社に利益を出してるか出してないのかわからない、
シュレディンガーの猫的存在。
だからシステム課は猫の集団だし、システム課の会議は猫の会合。
ORM
データベースをソースコードを使って楽に扱う仕組み。
普通にレコードを取るとこんなSQLを書かなくてはならないが、
select * from users;
ORMを使うとこんな感じでわかりやすい。
User.all
また、セキュリティ的にも、
そしていろんなDBを使用する際の汎用性を考えたときにもORMを使った方が良い。
デメリットはメモリ消費量が大きいこと。バッチ処理には使っちゃダメ。
論理削除
レコードを削除するときの方式の一つ。
対義語は物理削除。
論理削除 ... レコードを削除しない。削除フラグを立てる。復活可能。
物理削除 ... レコードを削除する。復活不可。
あとからレコードを復活させる必要がある場合は論理削除で対応する。
ただなんでもかんでも論理削除にするとレコード数がかさむのでよくない。
どちらを使うかは必要性をよく考えてから決めること。
コバンザメ
こんなの。
自分で餌を探さなくとも、泳いでいる魚にくっついているだけで自動的に口に餌が入る。
素晴らしい。
親会社から独立した子会社が、
親会社から仕事をもらって生きながらえる姿がコバンザメに似ていたので、命名された。
ヒモ
ヒモ。なりたい。