タグ

ブックマーク / bleis-tift.hatenablog.com (8)

  • SQL の命名規約とフォーマット - ぐるぐる~

    ときどきの雑記帖さん経由で、私のSQLフォーマットをみて、自分の規約もさらしてみる*1 *2。 命名規約 テーブルやビュー、共通表式は Pascal 記法で、複数形とする*3。例えば、Employees とか Works とか ただし、リレーションテーブルはその限りではない。例えば、EmployeeWork とか カラム名はアンダーバー区切りで、単数形を基とする。例えば、name とか 人工キーを使用する場合、 自身の人工キーは id とする 外部キーはテーブルの頭文字の小文字 _id を付けたものとする。例えば、e_id とか 重複する場合は・・・決めてない (ぉ テーブルに別名を付ける場合、テーブル名の単数形を使用する 自己結合等でテーブルの区別が必要な場合、子テーブル側に C と付ける 孫には GC、GGC と付けていく (実際、そんなに深い自己結合なんてしないけど) フォーマット

    SQL の命名規約とフォーマット - ぐるぐる~
  • マスタテーブル - ぐるぐる~

    突っ込みどころは色々あるかもしれないけど、とりあえずまとめてみた。 マスタテーブルとは? マスタテーブルやトランザクションテーブルという単語はよく聞くけど、会社によって、更にプロジェクトによってもまちまちで、これといった定義は(多分)存在しない。 しかし、ある程度共通認識となっているであろう点はいくつかあるので、それについて考察してみた。 マスタテーブル=更新が頻繁に起こらないテーブル まず、マスタテーブルを更新が頻繁に起こらないテーブルという考え方から。 この考え方では明確な線引きは不可能だけど、特徴はよく表していると思う。 つまり、マスタテーブルと呼ばれるテーブルはトランザクションテーブルと呼ばれるテーブルよりも更新*1の頻度が小さい。 マスタテーブル=主要なテーブル 次に、マスタテーブルを主要なテーブルとする考え方。 これは、マスタを主要という言葉に置き換えただけにすぎず、あまり意味

    マスタテーブル - ぐるぐる~
  • 質問に答えてみる - ぐるぐる~

    リポジトリ見てたら、question.txt なるファイルを見つけたので、その質問に答えてみます。 hard オプションなしの git reset に何の意味があるの? reset には、ファイルを指定する reset と、ファイルを指定しない reset の 2 種類があります。 で、hard オプションを持つのは、ファイルを指定しない方です。 まずはこちらから見ていきましょう。 ファイルを指定しない reset ファイルを指定しない reset には、 soft mixed hard merge keep と言う 5 つのモードがあります。 ここでは代表的な上三つを紹介します。 デフォルトは mixed で、これが質問にあった「hard オプションなしの git reset」です。 soft このモードでは、HEAD のみ指定コミットの状態となり、インデックスも作業ツリーも変更されませ

    質問に答えてみる - ぐるぐる~
    yukung
    yukung 2014/03/04
    git reset のオプションの使い方や、コミット頻度について言及されている。
  • 値渡しと参照渡し (と参照の値渡し) - ぐるぐる~

    値渡しと参照渡しは、分かってしまえば何も難しいところはないんだけど、分かるまでにちょっとした壁があるというかなんとうか・・・ てことでちょっとまとめておきますねー 値渡し (call-by-value) と参照渡し (call-by-reference) の違い 値渡しと参照渡しの違いは、「呼出し元の値自体を変更できるかどうか」と説明されることが多い。 しかし、例えば Java ではミュータブルなオブジェクト *1 を渡した場合、呼出し元の値自体を変更できるという勘違いをする可能性があるため、この説明はあまり好ましくない。 そのため、参照渡しを「呼出し元の別名を渡している」と覚えるのが分かりやすいと思う。 値渡しは「何かの値をコピーして渡している」と覚える*2。 Java の場合 Java には値渡ししか存在しないが、「参照型」のためにややこしく感じる。 参照型は参照渡しとは無関係で、C

    値渡しと参照渡し (と参照の値渡し) - ぐるぐる~
  • バイブルというか、良書および必読の書 - ぐるぐる~

    寝ようと思っていたら、その言語で「バイブル」と呼ばれる書籍を教えてくださいなんて質問を見つけてしまい、書いてたら長くなる長くなる・・・ 言語バイブル - Strategic Choiceが元らしく、いくつかかぶってるけど気にしない方向で。 Java Java言語仕様 第3版 (The Java Series) 何かと便利 Java仮想マシン仕様 (The Java series) 同上 Effective Java 第2版 (The Java Series) Effective なのに Java やるなら必読 Java Puzzlers 罠、落とし穴、コーナーケース Java の落とし穴にはまりたくなければ読むべき Javaプログラミングの処方箋 (Programmer’s foundations) 今となっては内容がちょっと古いけど、十分通用する。Effective の次に読むような

    バイブルというか、良書および必読の書 - ぐるぐる~
  • もう少し柔軟な assertThat が欲しい - 予定は未定Blog版

    assertThat と hamcrest の組み合わせって便利ですよねー。 assertThat と hamcrest の組み合わせについては、 JDaveの寄り道にhamcrestを試してみる。 - Fight the Future とか、 hamcrestのMatcherメモ - 都元ダイスケ IT-PRESS とか見てもらえば大体分かると思う。 問題は、assertThat メソッド。 このメソッド、シグニチャが public static <T> void assertThat(T actual, Matcher<T> matcher); な感じになっている。 なので、 class Hoge { ... } class ExHoge extends Hoge { ... } Hoge hoge() { return new ExHoge(); } なんてクラスとメソッドがあった場

    もう少し柔軟な assertThat が欲しい - 予定は未定Blog版
  • TDD Boot Camp 北陸に参加してきた! - ぐるぐる~

    3 月 13 日、14 日に行われた TDD Boot Camp 北陸に参加してきました。 12 月 19 日に東京で開催された第一回にはとある理由で参加できなかったので、「次こそは是非!」と思い、参加受付開始直後、というかアナウンス前に参加登録をしたくらい気合いを入れてました。 で、感想ですが、いや、素晴らしいイベントでした。企画してくれた id:katzchang (かっちゃん) さん、当にどうもありがとう! 書いたコードはそのうち公開するかも・・・ 以下 2 日分の感想なので長いです。注意。 オープニング id:t-wada (和田さん) による入門講演で、TDD の勘所を押さえつつ、分かりやすい発表でした。 まだ読んだことのないもあったので、余裕ができたら買います。 その後、id:t-wada と id:katzchang によるペアプロの実演があり、昼休みをはさんでペアプロに

    TDD Boot Camp 北陸に参加してきた! - ぐるぐる~
  • SQL (再帰 CTE) 基礎文法 (?) 最速マスター - ぐるぐる~

    なんか流行ってるらしいので。 他の言語をある程度知っている人はこれを読めば SQL (再帰 CTE) の基礎をマスターして SQL (再帰 CTE) を書くことができるようになります。 ・・・嘘ですごめんなさい。 ぜんてい いつもの通り、SQL Server 2005/2008 でしか試してないよ! 基礎 コメント コメントは 2 とおり -- 一行コメント /* 複数行 コメント */ 基形 -- 1から10までの数字を表示するSQL WITH -- 入力は1から10まで Input(f, t) AS ( SELECT 1, 10 ) , Seq(n) AS ( -- 最初はInputのf SELECT f FROM Input UNION ALL -- それ以降は1ずつ数値をインクリメント SELECT n + 1 FROM Seq WHERE -- n + 1がInputのtより小

    SQL (再帰 CTE) 基礎文法 (?) 最速マスター - ぐるぐる~
  • 1