全ての結果を一つのクエリで出そうとしてはいけない 電話で幹部と話している上司が、いきなりあなたの机に来てこう言いました。 「SQLを使って次の4つの値を調べて欲しい。開発者一人当たりの平均バグ修正数、修正したバグの中で顧客から報告された数、バグを修正した開発者の数、うちの課が取り扱っているバグの数」 あなたは怒りを抑えて、全ての答えを一気に取り出したいので、次のような複雑なクエリを書くことにしました。(これが間違い) SELECT COUNT(bp.product_id) AS how_many_products, COUNT(dev.account_id) AS how_many_devel…
概要(良いクエリ) ある程度SQLを学んだプログラマーは、クエリでGroup Byと集約関数(MIN,MAX,SUM,COUNTなど)を巧みに用いて集計することを覚える。 少量のコードで複雑なレポートを作成できる強力な機能である。 例えば「product_idごとにレポート日付の最大値を取得したい」という要件を考えると、次のようなコードになる。 SELECT product_id, MAX(data_report) FROM Bugs Group By product_id このクエリはうまく動いた。 概要(悪いクエリ) ところで、上のクエリでbug_idは幾つになるかも同時に表示したいと考え…
このサイトではkotlinを学習しようとしている方へ、kotlinの概要と文法を解説するサイトです。 Kotlin概要 kotlinのメリットとデメリット とりあえず試したい方へ Kotlinを動かすための開発環境 言語のビジュアルが見たい方へ 参考サイト Kotlinの人気急上昇について Kotlinの特徴 Javaの有償化について とりあえず試したい方へ インストール方法:しっかりとインストールしたい人向け しっかり構築したい方へ まずはAndroid Studioのインストールの仕方 Mac, Windowsなどの指定がある方 Android Studio.exeを起動 Welcome …
このサイトの目的:ソースコードのサイズと管理方法 モノシリックなアプリケーションを移行する際には、コンポーネントを特定し、サイズを図ることが最初の手順となる コンポーネントのサイズとは、コンポーネントが保有する機能の数のことである。 例えば、チケットの販売システムで購入ボタンに紐ずくイベントハンドラがSQLの発行を行うのは明らかにコンポーネントが担う役割の上を行っている。 その場合はイベントハンドラとDAOを別のコンポーネントとして分離しウェイトを減らさなければならない。 ここでのコンポーネントとは、Pythonであればディレクトリ構成による名前空間、C#でのnamespace呼び出しによる名…