SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
本当のレガシーの
               話をしよう

                                          グリー株式会社
TechHills 5th; 2013-03-22; アカデミーヒルズ 49F     大場光一郎
13年3月22日金曜日
提供



              インターネットを通じて、世界をより良くする。
          Making the world a better place through the power of Internet.




13年3月22日金曜日
大場光一郎
   Development Dept.
   Infrastructure
   Cloud Platform Team
   @koichiroo




13年3月22日金曜日
SCMの歴史
13年3月22日金曜日
SCCS
         最初のソースコードバージョン管理システム
         1972年 ベル研究所 Marc J.Rochkind
         初期Unixに付属
         ファイル形式を確立
         http://docs.oracle.com/cd/E19205-01/820-1203/aeucm/index.html




13年3月22日金曜日
SCCSがもたらしたこと

        バージョン管理という概念を発明
        バージョンを管理するシステムの要件を定義
        データ構造を定義
        基本的なコマンドの仕様を定義




13年3月22日金曜日
RCS
         GNUフリーソフトウェア
         コマンド体系にSCCSを踏襲
         バイナリファイルをサポート
         ロックベースのマージ




13年3月22日金曜日
RCSがもたらしたこと

    フリーソフトウェアにすることで広く使われバー
    ジョン管理という考え方が浸透
    ロックベースではプロジェクト管理が難しい
    プロジェクトには複数のファイルがある




13年3月22日金曜日
CVS
         複数ファイルのプロジェクト管理
         最初はRCSのwrapper
         C/S型のネットワーク対応
         copy-modify-merge model




13年3月22日金曜日
CVSがもたらしたこと

        時間や場所を越えた開発プロジェクト
        オープンソースの開発(バザールモデル)




13年3月22日金曜日
Subversion
         better CSV
          Multi-backend,XML(当初)
         中央リポジトリ
         WebDAV,DeltaV




13年3月22日金曜日
svnがもたらしたこと

        クリーンなアーキテクチャで多様な環境で動作
        単一リポジトリの限界




13年3月22日金曜日
Git
         Linux kernelのソース管理のためにLinusが
         開発
         分散リポジトリに対応
         コマンド体系が変わった




13年3月22日金曜日
gitがもたらしたこと
    更新の履歴や開発の方向性はプロジェクト毎だけ
    でなく人によって多様
    中央リポジトリからの解放による手元の高速性
    ブランチを使った並行開発が実用になる
    プロジェクトへ貢献する方法の多様化
    commiterという権限が曖昧に
    github


13年3月22日金曜日
SCMの進化がソフトウェア開発の
               パラダイムシフトを後押しする




13年3月22日金曜日
グリーのSCM



13年3月22日金曜日
黎明期
13年3月22日金曜日
田中が分散管理
13年3月22日金曜日
2005.6∼   2010.7∼ 2012.3∼

13年3月22日金曜日
git移行方針
    svnの履歴は捨てる
    svnから移行対象のprojectをexport
    gitリポジトリにpush
    svn側は削除してgit側にsymlink
    svnから少しづつ切り出すようにgit移行
    svnで使っていたbotはできるかぎりgitでも使
    えるようにする

13年3月22日金曜日
git移行はまりどころ

    svnの代わりと考える
    とりあえずgithub
    svnで使えた便利ツールどうする
    revision番号に強く依存する
    svnのワークフローを踏襲



13年3月22日金曜日
git-daily
                                            merge


              commit
develop




                       feature/foo

                                       pull request


13年3月22日金曜日
github:enterprise




                enterprise.github.com

13年3月22日金曜日
困ってる


    assetの管理




13年3月22日金曜日
http://jobs.gree.net/

13年3月22日金曜日

Contenu connexe

Tendances

Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSERuby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSEFuminobu Takeyama
 
Github入門(後編) ブランチの使い方
Github入門(後編) ブランチの使い方Github入門(後編) ブランチの使い方
Github入門(後編) ブランチの使い方Akihiko Shirai
 
自分的pkgsrcの課題
自分的pkgsrcの課題自分的pkgsrcの課題
自分的pkgsrcの課題Ryo ONODERA
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方hibiki443
 
バージョン管理的な何か
バージョン管理的な何かバージョン管理的な何か
バージョン管理的な何かN Masahiro
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスRyo Sumasu
 
Git LFSを触ってみた
Git LFSを触ってみたGit LFSを触ってみた
Git LFSを触ってみたYuto Suzuki
 
pkgsrcユーザー向け設定
pkgsrcユーザー向け設定pkgsrcユーザー向け設定
pkgsrcユーザー向け設定Ryo ONODERA
 
Qt でIRCクライアント作ってみた
Qt でIRCクライアント作ってみたQt でIRCクライアント作ってみた
Qt でIRCクライアント作ってみたYikei Lu
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuokaJunji Manno
 
openSUSE で創作活動!イラストから本格的な印刷物作成まで
openSUSE で創作活動!イラストから本格的な印刷物作成までopenSUSE で創作活動!イラストから本格的な印刷物作成まで
openSUSE で創作活動!イラストから本格的な印刷物作成までFuminobu Takeyama
 
Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02Kosuke Tanabe
 
自由な空間情報利用のためのツールQGISと日本語化プロジェクトの紹介
自由な空間情報利用のためのツールQGISと日本語化プロジェクトの紹介自由な空間情報利用のためのツールQGISと日本語化プロジェクトの紹介
自由な空間情報利用のためのツールQGISと日本語化プロジェクトの紹介Yoichi Kayama
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料Kenji Takei
 
Excite beer bash06
Excite beer bash06Excite beer bash06
Excite beer bash06Arata Honda
 
Config mapについて
Config mapについてConfig mapについて
Config mapについてArata Honda
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 

Tendances (20)

Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSERuby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
 
Github入門(後編) ブランチの使い方
Github入門(後編) ブランチの使い方Github入門(後編) ブランチの使い方
Github入門(後編) ブランチの使い方
 
Serverless on GCP
Serverless on GCPServerless on GCP
Serverless on GCP
 
自分的pkgsrcの課題
自分的pkgsrcの課題自分的pkgsrcの課題
自分的pkgsrcの課題
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
 
バージョン管理的な何か
バージョン管理的な何かバージョン管理的な何か
バージョン管理的な何か
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
 
Github入門2014
Github入門2014Github入門2014
Github入門2014
 
Git LFSを触ってみた
Git LFSを触ってみたGit LFSを触ってみた
Git LFSを触ってみた
 
pkgsrcユーザー向け設定
pkgsrcユーザー向け設定pkgsrcユーザー向け設定
pkgsrcユーザー向け設定
 
Qt でIRCクライアント作ってみた
Qt でIRCクライアント作ってみたQt でIRCクライアント作ってみた
Qt でIRCクライアント作ってみた
 
Git勉強会 #01
Git勉強会 #01Git勉強会 #01
Git勉強会 #01
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
openSUSE で創作活動!イラストから本格的な印刷物作成まで
openSUSE で創作活動!イラストから本格的な印刷物作成までopenSUSE で創作活動!イラストから本格的な印刷物作成まで
openSUSE で創作活動!イラストから本格的な印刷物作成まで
 
Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02
 
自由な空間情報利用のためのツールQGISと日本語化プロジェクトの紹介
自由な空間情報利用のためのツールQGISと日本語化プロジェクトの紹介自由な空間情報利用のためのツールQGISと日本語化プロジェクトの紹介
自由な空間情報利用のためのツールQGISと日本語化プロジェクトの紹介
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
 
Excite beer bash06
Excite beer bash06Excite beer bash06
Excite beer bash06
 
Config mapについて
Config mapについてConfig mapについて
Config mapについて
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 

Similaire à Real legacy

PostgreSQL開発ことはじめ - 第27回しくみ+アプリケーション勉強会
PostgreSQL開発ことはじめ - 第27回しくみ+アプリケーション勉強会PostgreSQL開発ことはじめ - 第27回しくみ+アプリケーション勉強会
PostgreSQL開発ことはじめ - 第27回しくみ+アプリケーション勉強会Shigeru Hanada
 
C# runs anywhere, make anything
C# runs anywhere, make anythingC# runs anywhere, make anything
C# runs anywhere, make anythingYuta Matsumura
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018Masahito Zembutsu
 
クラウドコンピューティングとWebブラウザの新たな役割
クラウドコンピューティングとWebブラウザの新たな役割クラウドコンピューティングとWebブラウザの新たな役割
クラウドコンピューティングとWebブラウザの新たな役割Kurume Institute of Technology
 
Agileツール適合化分科会(変更管理・バージョン管理)
Agileツール適合化分科会(変更管理・バージョン管理)Agileツール適合化分科会(変更管理・バージョン管理)
Agileツール適合化分科会(変更管理・バージョン管理)masanori kataoka
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Tadahiro Ishisaka
 
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!日本マイクロソフト株式会社
 
Windows Azure for PHP Developers
Windows Azure for PHP DevelopersWindows Azure for PHP Developers
Windows Azure for PHP Developersfumios
 
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜Masahito Zembutsu
 
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218Takashi Okamoto
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春VerMasahito Zembutsu
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 Hiro Yoshioka
 
CMS の今後と IoT 〜 concrete5 などの CMS が進む道
CMS の今後と IoT 〜 concrete5 などの CMS が進む道CMS の今後と IoT 〜 concrete5 などの CMS が進む道
CMS の今後と IoT 〜 concrete5 などの CMS が進む道Katz Ueno
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術Etsuji Nakai
 
論文紹介 - 第1回(公開用).pptx
論文紹介 - 第1回(公開用).pptx論文紹介 - 第1回(公開用).pptx
論文紹介 - 第1回(公開用).pptxMantarohYoshinaga
 
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...An Empirical Study of Android APK Distribution Sites Using Headless Browser w...
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...Ruo Ando
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望Tetsuo Yamabe
 

Similaire à Real legacy (20)

PostgreSQL開発ことはじめ - 第27回しくみ+アプリケーション勉強会
PostgreSQL開発ことはじめ - 第27回しくみ+アプリケーション勉強会PostgreSQL開発ことはじめ - 第27回しくみ+アプリケーション勉強会
PostgreSQL開発ことはじめ - 第27回しくみ+アプリケーション勉強会
 
C# runs anywhere, make anything
C# runs anywhere, make anythingC# runs anywhere, make anything
C# runs anywhere, make anything
 
コンテナ導入概要資料2018
コンテナ導入概要資料2018コンテナ導入概要資料2018
コンテナ導入概要資料2018
 
.NET Coreのいろは
.NET Coreのいろは.NET Coreのいろは
.NET Coreのいろは
 
クラウドコンピューティングとWebブラウザの新たな役割
クラウドコンピューティングとWebブラウザの新たな役割クラウドコンピューティングとWebブラウザの新たな役割
クラウドコンピューティングとWebブラウザの新たな役割
 
Jenkinsについて
JenkinsについてJenkinsについて
Jenkinsについて
 
Agileツール適合化分科会(変更管理・バージョン管理)
Agileツール適合化分科会(変更管理・バージョン管理)Agileツール適合化分科会(変更管理・バージョン管理)
Agileツール適合化分科会(変更管理・バージョン管理)
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
 
Windows Azure for PHP Developers
Windows Azure for PHP DevelopersWindows Azure for PHP Developers
Windows Azure for PHP Developers
 
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
忙しい人のための Rocky Linux 入門〜Rocky LinuxはCentOSの後継者たり得るか?〜
 
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
 
20120831 mongoid
20120831 mongoid20120831 mongoid
20120831 mongoid
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
 
CMS の今後と IoT 〜 concrete5 などの CMS が進む道
CMS の今後と IoT 〜 concrete5 などの CMS が進む道CMS の今後と IoT 〜 concrete5 などの CMS が進む道
CMS の今後と IoT 〜 concrete5 などの CMS が進む道
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術
 
論文紹介 - 第1回(公開用).pptx
論文紹介 - 第1回(公開用).pptx論文紹介 - 第1回(公開用).pptx
論文紹介 - 第1回(公開用).pptx
 
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...An Empirical Study of Android APK Distribution Sites Using Headless Browser w...
An Empirical Study of Android APK Distribution Sites Using Headless Browser w...
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
 

Plus de Koichiro Ohba

Focuslight, Jobs and OSS - HackGirls bar vol.2
Focuslight, Jobs and OSS - HackGirls bar vol.2Focuslight, Jobs and OSS - HackGirls bar vol.2
Focuslight, Jobs and OSS - HackGirls bar vol.2Koichiro Ohba
 
20140517 岡山オープンセミナー
20140517 岡山オープンセミナー20140517 岡山オープンセミナー
20140517 岡山オープンセミナーKoichiro Ohba
 
GREE github-enterprise
GREE github-enterpriseGREE github-enterprise
GREE github-enterpriseKoichiro Ohba
 
Ruby which Supports Social Platform
Ruby which Supports Social PlatformRuby which Supports Social Platform
Ruby which Supports Social PlatformKoichiro Ohba
 
グリーを支えるソーシャルコーディングのすべて
グリーを支えるソーシャルコーディングのすべてグリーを支えるソーシャルコーディングのすべて
グリーを支えるソーシャルコーディングのすべてKoichiro Ohba
 
Agile Shibuya github_enterprise
Agile Shibuya github_enterpriseAgile Shibuya github_enterprise
Agile Shibuya github_enterpriseKoichiro Ohba
 
Cuvic OnDemand on JRuby
Cuvic OnDemand on JRubyCuvic OnDemand on JRuby
Cuvic OnDemand on JRubyKoichiro Ohba
 
Social Coding With JRuby
Social Coding With JRubySocial Coding With JRuby
Social Coding With JRubyKoichiro Ohba
 
MessagePack for Ruby
MessagePack for RubyMessagePack for Ruby
MessagePack for RubyKoichiro Ohba
 
Abstraction of JRuby Kaigi2010
Abstraction of  JRuby Kaigi2010Abstraction of  JRuby Kaigi2010
Abstraction of JRuby Kaigi2010Koichiro Ohba
 
Introduction of JRuby Kaigi 2010
Introduction of JRuby Kaigi 2010Introduction of JRuby Kaigi 2010
Introduction of JRuby Kaigi 2010Koichiro Ohba
 
AppEngine/Jruby at SendaiRubyKaigi02
AppEngine/Jruby at SendaiRubyKaigi02AppEngine/Jruby at SendaiRubyKaigi02
AppEngine/Jruby at SendaiRubyKaigi02Koichiro Ohba
 
The Power to Produce Termtter
The Power to Produce TermtterThe Power to Produce Termtter
The Power to Produce TermtterKoichiro Ohba
 
Introduction of record_with_operator
Introduction of record_with_operatorIntroduction of record_with_operator
Introduction of record_with_operatorKoichiro Ohba
 
Happy Life Hacking Ruby on Rails
Happy Life Hacking Ruby on RailsHappy Life Hacking Ruby on Rails
Happy Life Hacking Ruby on RailsKoichiro Ohba
 
JRuby Hot Topics 2008-12-12
JRuby Hot Topics 2008-12-12JRuby Hot Topics 2008-12-12
JRuby Hot Topics 2008-12-12Koichiro Ohba
 
The Essence of Using Ruby on Rails in Corporations 2nd
The Essence of Using Ruby on Rails in Corporations 2ndThe Essence of Using Ruby on Rails in Corporations 2nd
The Essence of Using Ruby on Rails in Corporations 2ndKoichiro Ohba
 
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsKoichiro Ohba
 

Plus de Koichiro Ohba (20)

Focuslight, Jobs and OSS - HackGirls bar vol.2
Focuslight, Jobs and OSS - HackGirls bar vol.2Focuslight, Jobs and OSS - HackGirls bar vol.2
Focuslight, Jobs and OSS - HackGirls bar vol.2
 
20140517 岡山オープンセミナー
20140517 岡山オープンセミナー20140517 岡山オープンセミナー
20140517 岡山オープンセミナー
 
サラリーマン
サラリーマンサラリーマン
サラリーマン
 
GREE github-enterprise
GREE github-enterpriseGREE github-enterprise
GREE github-enterprise
 
Ruby which Supports Social Platform
Ruby which Supports Social PlatformRuby which Supports Social Platform
Ruby which Supports Social Platform
 
グリーを支えるソーシャルコーディングのすべて
グリーを支えるソーシャルコーディングのすべてグリーを支えるソーシャルコーディングのすべて
グリーを支えるソーシャルコーディングのすべて
 
Agile Shibuya github_enterprise
Agile Shibuya github_enterpriseAgile Shibuya github_enterprise
Agile Shibuya github_enterprise
 
Cuvic OnDemand on JRuby
Cuvic OnDemand on JRubyCuvic OnDemand on JRuby
Cuvic OnDemand on JRuby
 
Social Coding With JRuby
Social Coding With JRubySocial Coding With JRuby
Social Coding With JRuby
 
MessagePack for Ruby
MessagePack for RubyMessagePack for Ruby
MessagePack for Ruby
 
Rava on JRuby
Rava on JRubyRava on JRuby
Rava on JRuby
 
Abstraction of JRuby Kaigi2010
Abstraction of  JRuby Kaigi2010Abstraction of  JRuby Kaigi2010
Abstraction of JRuby Kaigi2010
 
Introduction of JRuby Kaigi 2010
Introduction of JRuby Kaigi 2010Introduction of JRuby Kaigi 2010
Introduction of JRuby Kaigi 2010
 
AppEngine/Jruby at SendaiRubyKaigi02
AppEngine/Jruby at SendaiRubyKaigi02AppEngine/Jruby at SendaiRubyKaigi02
AppEngine/Jruby at SendaiRubyKaigi02
 
The Power to Produce Termtter
The Power to Produce TermtterThe Power to Produce Termtter
The Power to Produce Termtter
 
Introduction of record_with_operator
Introduction of record_with_operatorIntroduction of record_with_operator
Introduction of record_with_operator
 
Happy Life Hacking Ruby on Rails
Happy Life Hacking Ruby on RailsHappy Life Hacking Ruby on Rails
Happy Life Hacking Ruby on Rails
 
JRuby Hot Topics 2008-12-12
JRuby Hot Topics 2008-12-12JRuby Hot Topics 2008-12-12
JRuby Hot Topics 2008-12-12
 
The Essence of Using Ruby on Rails in Corporations 2nd
The Essence of Using Ruby on Rails in Corporations 2ndThe Essence of Using Ruby on Rails in Corporations 2nd
The Essence of Using Ruby on Rails in Corporations 2nd
 
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
 

Real legacy

  • 1. 本当のレガシーの 話をしよう グリー株式会社 TechHills 5th; 2013-03-22; アカデミーヒルズ 49F 大場光一郎 13年3月22日金曜日
  • 2. 提供 インターネットを通じて、世界をより良くする。 Making the world a better place through the power of Internet. 13年3月22日金曜日
  • 3. 大場光一郎 Development Dept. Infrastructure Cloud Platform Team @koichiroo 13年3月22日金曜日
  • 5. SCCS 最初のソースコードバージョン管理システム 1972年 ベル研究所 Marc J.Rochkind 初期Unixに付属 ファイル形式を確立 http://docs.oracle.com/cd/E19205-01/820-1203/aeucm/index.html 13年3月22日金曜日
  • 6. SCCSがもたらしたこと バージョン管理という概念を発明 バージョンを管理するシステムの要件を定義 データ構造を定義 基本的なコマンドの仕様を定義 13年3月22日金曜日
  • 7. RCS GNUフリーソフトウェア コマンド体系にSCCSを踏襲 バイナリファイルをサポート ロックベースのマージ 13年3月22日金曜日
  • 8. RCSがもたらしたこと フリーソフトウェアにすることで広く使われバー ジョン管理という考え方が浸透 ロックベースではプロジェクト管理が難しい プロジェクトには複数のファイルがある 13年3月22日金曜日
  • 9. CVS 複数ファイルのプロジェクト管理 最初はRCSのwrapper C/S型のネットワーク対応 copy-modify-merge model 13年3月22日金曜日
  • 10. CVSがもたらしたこと 時間や場所を越えた開発プロジェクト オープンソースの開発(バザールモデル) 13年3月22日金曜日
  • 11. Subversion better CSV Multi-backend,XML(当初) 中央リポジトリ WebDAV,DeltaV 13年3月22日金曜日
  • 12. svnがもたらしたこと クリーンなアーキテクチャで多様な環境で動作 単一リポジトリの限界 13年3月22日金曜日
  • 13. Git Linux kernelのソース管理のためにLinusが 開発 分散リポジトリに対応 コマンド体系が変わった 13年3月22日金曜日
  • 14. gitがもたらしたこと 更新の履歴や開発の方向性はプロジェクト毎だけ でなく人によって多様 中央リポジトリからの解放による手元の高速性 ブランチを使った並行開発が実用になる プロジェクトへ貢献する方法の多様化 commiterという権限が曖昧に github 13年3月22日金曜日
  • 15. SCMの進化がソフトウェア開発の パラダイムシフトを後押しする 13年3月22日金曜日
  • 19. 2005.6∼ 2010.7∼ 2012.3∼ 13年3月22日金曜日
  • 20. git移行方針 svnの履歴は捨てる svnから移行対象のprojectをexport gitリポジトリにpush svn側は削除してgit側にsymlink svnから少しづつ切り出すようにgit移行 svnで使っていたbotはできるかぎりgitでも使 えるようにする 13年3月22日金曜日
  • 21. git移行はまりどころ svnの代わりと考える とりあえずgithub svnで使えた便利ツールどうする revision番号に強く依存する svnのワークフローを踏襲 13年3月22日金曜日
  • 22. git-daily merge commit develop feature/foo pull request 13年3月22日金曜日
  • 23. github:enterprise enterprise.github.com 13年3月22日金曜日
  • 24. 困ってる assetの管理 13年3月22日金曜日