SlideShare a Scribd company logo
ソースコード読経会 
2014/09/23 
豊吉政彦
今回の目的 
• コーディング能力の向上 
• 凄い人のコードを読めば能力向上するのでは? 
• 凄い人って誰だ?
お題
会の流れ 
1. コンパイル(参考資料参照の事) 
2. まずは動かす 
3. それぞれのファイルについて読経 
4. 読経した結果はパワポでまとめ
各プログラム解説 
• init-db : DBの初期化(git init) 
• update-cache : トレースファイルの追加(git add) 
• write-tree : treeの作成(git commit) 
• commit-tree : データベースへ登録(git push) 
• cat-file : ファイル名の表示 
• read-tree : tree内容の表示 
• show-diff : 最新コミットとの差異(git diff)
まずは動かす 
• % ./init-db 
• % ./update-cache README 
• % ./write-tree 
• % ./commit-tree 
• READMEを編集 
• % ./show_diff 
• % ./update-cache README 
• % ./write-tree 
• % ./commit-tree 
• % ./show_diff
Let’s 読経
資料:コンパイル関連 
• git clone https://github.com/git/git 
• git checkout e83c5163 
• zlibとcryptoをリンク(LIBS += -lz lcrypto) 
• st_mtimでエラー→st_mtimespec 
• st_ctimでエラー→st_ctimespec

More Related Content

What's hot

PostgreSQLからのデータ連携/同期も完全対応!DBを『活かす』なら、Syniti DR 9.7!
PostgreSQLからのデータ連携/同期も完全対応!DBを『活かす』なら、Syniti DR 9.7!PostgreSQLからのデータ連携/同期も完全対応!DBを『活かす』なら、Syniti DR 9.7!
PostgreSQLからのデータ連携/同期も完全対応!DBを『活かす』なら、Syniti DR 9.7!
株式会社クライム
 
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)Naoki Okino
 
今から始めるDocument db
今から始めるDocument db今から始めるDocument db
今から始めるDocument db
Kazunori Hamamoto
 
[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料
Deep Learning JP
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
RedisととあるシステムTakehiro Torigaki
 
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Masahiko Sawada
 
Cloud os techday_0614
Cloud os techday_0614Cloud os techday_0614
Cloud os techday_0614
Takano Masaru
 
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
kamiyam .
 
Redis速習会@Wantedly
Redis速習会@WantedlyRedis速習会@Wantedly
Redis速習会@Wantedly
Yoshinori Kawasaki
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
hibiki443
 
私の考えるドキュメント指向
私の考えるドキュメント指向私の考えるドキュメント指向
私の考えるドキュメント指向Yohei Yamamoto
 
3-1
3-13-1
私がMySQLを始めた理由
私がMySQLを始めた理由私がMySQLを始めた理由
私がMySQLを始めた理由yoyamasaki
 
分散データベース gun について調べた
分散データベース gun について調べた分散データベース gun について調べた
分散データベース gun について調べた
keisunagawa
 
ゼロから始めるBlob
ゼロから始めるBlobゼロから始めるBlob
ゼロから始めるBlob
Kazunori Hamamoto
 
コード読経会報告書
コード読経会報告書コード読経会報告書
コード読経会報告書Masahiko Toyoshi
 
Introducing PostgreSQL on Kubernetes
Introducing PostgreSQL on KubernetesIntroducing PostgreSQL on Kubernetes
Introducing PostgreSQL on Kubernetes
t8kobayashi
 
コミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバコミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバ
法林浩之
 
Programming under capability mode
Programming under capability modeProgramming under capability mode
Programming under capability mode
Yuichiro Naito
 
ファイルサーバーをクラウド化したい
ファイルサーバーをクラウド化したいファイルサーバーをクラウド化したい
ファイルサーバーをクラウド化したい
mokudai masayuki
 

What's hot (20)

PostgreSQLからのデータ連携/同期も完全対応!DBを『活かす』なら、Syniti DR 9.7!
PostgreSQLからのデータ連携/同期も完全対応!DBを『活かす』なら、Syniti DR 9.7!PostgreSQLからのデータ連携/同期も完全対応!DBを『活かす』なら、Syniti DR 9.7!
PostgreSQLからのデータ連携/同期も完全対応!DBを『活かす』なら、Syniti DR 9.7!
 
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
 
今から始めるDocument db
今から始めるDocument db今から始めるDocument db
今から始めるDocument db
 
[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料[DLHacks] DLHacks説明資料
[DLHacks] DLHacks説明資料
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
Redisととあるシステム
 
Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理Bgworkerで簡易クラスタ管理
Bgworkerで簡易クラスタ管理
 
Cloud os techday_0614
Cloud os techday_0614Cloud os techday_0614
Cloud os techday_0614
 
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
 
Redis速習会@Wantedly
Redis速習会@WantedlyRedis速習会@Wantedly
Redis速習会@Wantedly
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
 
私の考えるドキュメント指向
私の考えるドキュメント指向私の考えるドキュメント指向
私の考えるドキュメント指向
 
3-1
3-13-1
3-1
 
私がMySQLを始めた理由
私がMySQLを始めた理由私がMySQLを始めた理由
私がMySQLを始めた理由
 
分散データベース gun について調べた
分散データベース gun について調べた分散データベース gun について調べた
分散データベース gun について調べた
 
ゼロから始めるBlob
ゼロから始めるBlobゼロから始めるBlob
ゼロから始めるBlob
 
コード読経会報告書
コード読経会報告書コード読経会報告書
コード読経会報告書
 
Introducing PostgreSQL on Kubernetes
Introducing PostgreSQL on KubernetesIntroducing PostgreSQL on Kubernetes
Introducing PostgreSQL on Kubernetes
 
コミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバコミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバ
 
Programming under capability mode
Programming under capability modeProgramming under capability mode
Programming under capability mode
 
ファイルサーバーをクラウド化したい
ファイルサーバーをクラウド化したいファイルサーバーをクラウド化したい
ファイルサーバーをクラウド化したい
 

コード読経会