Transcript
Page 1: 20120125 チーム開発

始めようチーム開発〜バージョン管理編〜

Page 2: 20120125 チーム開発

お前、誰よ

● しんどう or しんどー (not 神童)

● 広島出身

広島弁とかよく分かりません

● 仕事、なんかシステム作ってます

Webアプリケーションが多いです

● お酒とプログラミングが好き

Page 3: 20120125 チーム開発

今日やること

● やろうよ、チーム開発

● バージョン管理システムってなに?

● Gitおすすめだよ

Page 4: 20120125 チーム開発

やろうよ、チーム開発

Page 5: 20120125 チーム開発

の前に

Page 6: 20120125 チーム開発

チーム開発したことある人!

Page 7: 20120125 チーム開発

個人開発とチーム開発の違い

Page 8: 20120125 チーム開発

個人開発とチーム開発の違い

開発規模

Page 9: 20120125 チーム開発

個人開発とチーム開発の違い

人員・コスト

開発規模

Page 10: 20120125 チーム開発

個人開発とチーム開発の違い

人員・コスト

開発期間

開発規模

Page 11: 20120125 チーム開発

個人開発とチーム開発の違い

人員・コスト

開発期間

開発規模

個人開発

Page 12: 20120125 チーム開発

個人開発とチーム開発の違い

人員・コスト

開発期間

開発規模

個人開発

全て俺!

Page 13: 20120125 チーム開発

個人開発とチーム開発の違い

人員・コスト

開発期間

開発規模

個人開発 チーム開発

全て俺!

Page 14: 20120125 チーム開発

個人開発とチーム開発の違い

人員・コスト

開発期間

開発規模

個人開発 チーム開発

全て俺!

チームで

決める

Page 15: 20120125 チーム開発

全て俺!ってカッコイイやん

Page 16: 20120125 チーム開発

カッコイイ

Page 17: 20120125 チーム開発

でも

Page 18: 20120125 チーム開発

個人で作るのは限界あるよね

Page 19: 20120125 チーム開発

個人開発で不利な点

Page 20: 20120125 チーム開発

個人開発で不利な点

● スピード感

Page 21: 20120125 チーム開発

個人開発で不利な点

● スピード感

● アイデア→開発→広告→メンテナンス

個人でさばくのはとても大変

Page 22: 20120125 チーム開発

個人開発で不利な点

● スピード感

● アイデア→開発→広告→メンテナンス

個人でさばくのはとても大変

● 物量勝負

Page 23: 20120125 チーム開発

個人開発で不利な点

● スピード感

● アイデア→開発→広告→メンテナンス

個人でさばくのはとても大変

● 物量勝負

● 孤独

Page 24: 20120125 チーム開発

個人開発で不利な点

● スピード感

● アイデア→開発→広告→メンテナンス

個人でさばくのはとても大変

● 物量勝負

● 孤独

チーム開発で解決!!

Page 25: 20120125 チーム開発

チーム開発の

不利な点は?

Page 26: 20120125 チーム開発

チーム開発の不利な点

Page 27: 20120125 チーム開発

チーム開発の不利な点

● 意思疎通

Page 28: 20120125 チーム開発

チーム開発の不利な点

● 意思疎通

● 人員のコストがかかる

Page 29: 20120125 チーム開発

チーム開発の不利な点

● 意思疎通

● 人員のコストがかかる

● ソースコードやドキュメントの管理

(コードの変更の意図や履歴、ある状態の保存)

Page 30: 20120125 チーム開発

チーム開発の不利な点

● 意思疎通

● 人員のコストがかかる

● ソースコードやドキュメントの管理

(コードの変更の意図や履歴、ある状態の保存)

● 毎週金曜日の飲み会

Page 31: 20120125 チーム開発

個人開発に比べると

解決できそうな問題だね

(ニコリ)

Page 32: 20120125 チーム開発

やろう、チーム開発

Page 33: 20120125 チーム開発

チーム開発の不利な点

● 意思疎通

● 人員のコストがかかる

● ソースコードやドキュメントの管理

(コードの変更の意図や履歴、ある状態の保存)

● 毎週金曜日の飲み会

Page 34: 20120125 チーム開発

チーム開発の不利な点

● 意思疎通

● 人員のコストがかかる

ソースコードやドキュメントの管理

(コードの変更の意図や履歴、ある状態の保存)

● 毎週金曜日の飲み会

本日のメイン

Page 35: 20120125 チーム開発

ファイル管理の煩わしさ

Page 36: 20120125 チーム開発

ファイル管理の煩わしさ

● いつ、だれが、どこを修正したの?

Page 37: 20120125 チーム開発

ファイル管理の煩わしさ

● いつ、だれが、どこを修正したの?

● 修正の意図は?

(3ヶ月前の自分は他人です)

Page 38: 20120125 チーム開発

ファイル管理の煩わしさ

● いつ、だれが、どこを修正したの?

● 修正の意図は?

(3ヶ月前の自分は他人です)

● フォルダごと全て消しちゃった...

(失恋したら、勢いで消すよね、普通)

Page 39: 20120125 チーム開発

丸尾くん、

どうすれば良いですか?

Page 40: 20120125 チーム開発

ズバリ、

バージョン管理システム

でしょう!!

Page 41: 20120125 チーム開発

ありがとうございます

Page 42: 20120125 チーム開発

バージョン管理システムとは

Page 43: 20120125 チーム開発

バージョン管理システムとは

ファイルの履歴を管理します

Page 44: 20120125 チーム開発

バージョン管理システム導入の

メリット

● 誰が、いつ、どのコードを変更したのかが分かる

● バックアップがわりになる

● 以前のバージョンに巻き戻せる

● どのコードがバグになっているのか分かる

Page 45: 20120125 チーム開発

バージョン管理システム

紹介するぜ!

(メジャーなツール)

Page 46: 20120125 チーム開発

1世代前の覇者

Page 47: 20120125 チーム開発

1世代前の覇者

『Subversion』

Page 48: 20120125 チーム開発

1世代前の覇者

『Subversion』

モテモテ現代っ子

Page 49: 20120125 チーム開発

1世代前の覇者

『Subversion』

モテモテ現代っ子

『Git』

Page 50: 20120125 チーム開発

使ったことある人!!

Page 51: 20120125 チーム開発

Subversion集中型バージョン管理システム

Page 52: 20120125 チーム開発

Subversion集中型バージョン管理システム

マスタリポジトリ

作業コピー作業コピー

Page 53: 20120125 チーム開発

Subversion集中型バージョン管理システム

マスタリポジトリ

CheckoutUpdate

作業コピー作業コピー

Page 54: 20120125 チーム開発

Subversion集中型バージョン管理システム

マスタリポジトリ

CheckoutUpdate

commitcommit

作業コピー作業コピー

Page 55: 20120125 チーム開発

Git分散型バージョン管理システム

Page 56: 20120125 チーム開発

Git分散型バージョン管理システム

マスタリポジトリ

リポジトリリポジトリ

Page 57: 20120125 チーム開発

Git分散型バージョン管理システム

マスタリポジトリ

ClonePull

リポジトリリポジトリ

Page 58: 20120125 チーム開発

Git分散型バージョン管理システム

マスタリポジトリ

ClonePull

リポジトリリポジトリ

Page 59: 20120125 チーム開発

Git分散型バージョン管理システム

マスタリポジトリ

ClonePull

PushPush

リポジトリリポジトリ

Page 60: 20120125 チーム開発

Git分散型バージョン管理システム

マスタリポジトリ

ClonePull

PushPush

リポジトリリポジトリ

Page 61: 20120125 チーム開発

モテモテ現代っ子

『Git』

に注目してみる

Page 62: 20120125 チーム開発

Gitの開発者

『リーナス・トーバルズ』

Page 63: 20120125 チーム開発

え、もしかして...

Page 64: 20120125 チーム開発

あの...

Page 65: 20120125 チーム開発

『創聖のアクエリオン』リーナちゃん??

Page 66: 20120125 チーム開発

違います

Page 67: 20120125 チーム開発

Linuxの開発者

『リーナス・トーバルズ』

大先生です!!

Page 68: 20120125 チーム開発

集中型から分散型へ

Page 69: 20120125 チーム開発

● オフライン開発に強い

マスタリポジトリ

ClonePull

PushPush

リポジトリリポジトリ

Page 70: 20120125 チーム開発

● オフライン開発に強い

● 障害に強い

マスタリポジトリ

ClonePull

PushPush

リポジトリリポジトリ

Page 71: 20120125 チーム開発

アルゴリズムの強化

Page 72: 20120125 チーム開発

ファイルの共同作業で頻繁におきる

Conflictを激減(Subversionでは頻繁に起きるアレ)

ファイルA ファイルA

同一ファイルの修正で、マージに失敗

Page 73: 20120125 チーム開発

現代っ子らしく

ソーシャル機能が充実

(github)

Page 74: 20120125 チーム開発

Githubをどんどん使おう

Page 75: 20120125 チーム開発

Githubをどんどん使おう

● アカウント持ってる?

Page 76: 20120125 チーム開発

Githubをどんどん使おう

● アカウント持ってる? → 今すぐ登録!!

Page 77: 20120125 チーム開発

Githubをどんどん使おう

● アカウント持ってる? → 今すぐ登録!!

● プログラマSNS

Page 78: 20120125 チーム開発

Githubをどんどん使おう

● アカウント持ってる? → 今すぐ登録!!

● プログラマSNS

● 気に入った人はフォローできる

Page 79: 20120125 チーム開発

Githubをどんどん使おう

● アカウント持ってる? → 今すぐ登録!!

● プログラマSNS

● 気に入った人はフォローできる

● 自分のコードを晒せる

Page 80: 20120125 チーム開発

Githubをどんどん使おう

● アカウント持ってる? → 今すぐ登録!!

● プログラマSNS

● 気に入った人はフォローできる

● 自分のコードを晒せる

● forkして、pull request!!

Page 81: 20120125 チーム開発

Githubをどんどん使おう

● アカウント持ってる? → 今すぐ登録!!

● プログラマSNS

● 気に入った人はフォローできる

● 自分のコードを晒せる

● forkして、pull request!!

→ オープンソースに貢献

Page 82: 20120125 チーム開発

まとめ

● チーム開発いいよ

● Gitがおすすめ

● Githubを活用しよう

Page 83: 20120125 チーム開発

おしまい〜 〜


Top Related