タグ

ブックマーク / koseki.hatenablog.com (3)

  • Git の仕組み (1) - こせきの技術日記

    目次 はじめに Git を使ったことがない方へ 生のデータが見たい方へ Git の全体像 .git の中身 Git オブジェクトデータベース 4種類のオブジェクト リファレンス リファレンスのリファレンス 大きなツリー Git オブジェクトの ID と 中身 ハッシュ関数 SHA1 の簡単な説明 tree と blob オブジェクト tree と blob の参照関係 ルートツリーの ID でツリー全体を識別する commit オブジェクト リファレンスとブランチランチランチ先頭を指すリファレンス HEAD リファレンス detached HEAD 2種類のタグ 一時待避 (stash) インデックス キャッシュとしての役割 マージ Fast-Forward マージ non Fast-Forward マージ rebase reset 2種類のブランチ 各リポジトリが自分のブランチ

    Git の仕組み (1) - こせきの技術日記
    brendon
    brendon 2014/11/24
  • 右寄りのプログラマを粛正する。 - こせきの技術日記

    まずこれを10回読もう。 うねりコード - 【アンチパターン】遠くから見ると、画面上でコードがうねっている。 コードが2段階以上右に寄ったら、右足はウンコ踏んでると思いましょう。無闇とエディタの横幅を広げるのも良くない。広いディスプレイは甘え。 つぎこれ。 ガード節による入れ子条件記述の置き換え - ぐるぐる~ function foo() { if (cond) { : : : : } }こういうのは最低です。下のように書きます。 function foo() { if (! cond) return; // ガード節で、さっさと帰らせる。 : (正常処理) : }無駄にインデントが深くなりません。意図が明確になります。 下のようなコードも良くない。 function foo() { if (condA) { : : } if (condB) { : : } }右に寄りすぎ。メソッドを分

    右寄りのプログラマを粛正する。 - こせきの技術日記
  • 地獄のようによくわかるSQLテーブル結合 - こせきの技術日記

    テーブルのJOINが苦手でしたが、この例を思いついてからは、すっきりくっきり理解できるようになりました。むしろ頭から離れません……。 ※ INNER、OUTERは飾り。省略できる。 INNER JOINJOIN LEFT OUTER JOIN → LEFT JOIN RIGHT OUTER JOIN → RIGHT JOIN ※ ON ...=... をまとめて USING(属性) と書ける。 ※ 何で結合するか言うまでもない時は、NATURALを指定すると勝手にJOINしてくれる。NATURALにJOINして……。 ※ WHEREは結合した結果に作用する。 ※ 現実には上図のように1対1で結合しません。 ※ おまけ。CROSS JOIN。 こんなの使いません。 ブクマ用画像。

    地獄のようによくわかるSQLテーブル結合 - こせきの技術日記
  • 1