absj31この広告は、90日以上更新していないブログに表示しています。Tokyo(2次応募)(東京都)(写真:会場の独特な雰囲気を切り取った印象的な一枚。)近年のソフトウェア開発においてSCM※1の重要性が増していますが、SCMで重要になってくる「DVCS※2の概念・思想・パターン」を学習する機会はなかなかありません。今後のソフトウェア開発に活かせるよう、講演と演習を通して「DVCSの概念・思想・パターン」を学んでもらいたいと思います。プログラミング言語に依存しない演習にし、プログラマーに限らず、デザイナーや管理者などVCSの使用経験がある方であれば気軽に参加できます。Management(ソフトウェア構成管理)の略です。ソフトウェア開発プロジェクトの成果物を管理する方法論です。System(分散バージョン管理システム)の略です。Bazaarなどのアプリケーションが該当します。今回のイベントで参加者の皆様に実際に操作してもらうアプリケーションです。イベント告知ページの概要より。Camp)』がこの度初開催されました。SCMBC開催に至るまでの経緯はこちら。(TwitterID:@pocketberserker)さんが自らのブログにて詳細を綴っています。Tokyo』等有名且つ告知即定員達成の大人気イベントも同日開催。それぞれ分野としては別であり、2つまたは3つ全てに参加したい!けど出来ない!といった感じで悩まれた方々も多かったのではないでしょうか。ちなみに私は前回のScrumBootCampに参加していたので自然と第2回参加対象からは外れており、選択は比較的悩まずに済みました。ATND(※こちらは同一会場、お隣の部屋での開催でした。)開催場所はおなじみのオラクル青山センター@外苑前。説明及び注意がありました。会場を提供して頂き、ありがとうございました!そして主催者ご挨拶。さんきょんさんの講演/LTは『うさみみ』モードで行われるというのが最近では徐々に周知・認識されつつある今日この頃ですが、この日はその動きがスタッフ全体にまで拡大。mongodb等、今日は色々な有名イベントが被っていますが、ここに来た人は勝ち組です』というコメントが印象的。独特のイベントの雰囲気・参加スタッフ・テクニカルサポーターの充実さから言えばその言葉もあながち嘘では無いと言い切れるのではないでしょうか。コンピュータ名古屋からのご参加となったF#/Gitのスペシャリスト、@bleisさんによる基調講演です。講演詳細は上記スライド及びUst動画を御覧頂く方が確実ですが、自分なりにも一応メモ。バージョン管理バージョン管理:変更の履歴を管理すること。知っていれば一応使える。mercurial基本的な操作は同じように見えても、細かいところは結構違うバージョン管理システムの分類メインでgitをつかているので、gitと他のdvcsの違いを中心に。ファイル名の管理方法ファイル名の変更や移動をどう扱うか。管理しない本当に何もしない(CVS)ヒューリスティックに解決(Git)利点:通常のファイル操作コマンドが使える。専用コマンドを用意(CVS/Hg等)変更のメタデータをとして記録するので確実。マージロックはコンフリクトが発生しない・・・本当ファイル内では存在しないけどそれ以外の場所では普通に発生。発生させないようにするには全体ロックしかない。変更の調査DVCSでできるようになること自由なコミット自由なブランチ自由な歴史改変(git固有?)集中管理型では出来なかった事が出来るように!トピックブランチdvcsではローカルブランチを気軽に作れる作業hoge機能追加とか、バグ修正とかdvcsならこんな小さなレベルでブランチを使っても苦にならない。コミットの粒度トピックブランチを使うと、コミットの粒度を細かく出来るいつコミットすれば良いの?保存したということは、何かの区切りの可能性が高い最初のうちは保存のタイミングでやった事を顧みる(やりすぎ?)のもいいかも。枝分かれしてしまった状態の整理・解決方法の1つ。親歴史を、rebaseで書き換える。initより気軽に可能に。ミスってもローカル範囲内。最小単位であるコミットレベルでリモート通信しているsvnと異なり、dvcsではコミットレベルではリモート通信が発生しないのっでpushしわすれる事も。新規案件を中心に5案件ほど回した小さいチームではうまくいくことがわかった大きいチームでは難しいかも?と、一通り講演が終了して質疑応答へ。さんの質問等には皆さん関心しきりでした。自分はどの方の質疑/応答も詳しく意味が飲み込めずポカンとしてましたが。意味が把握出来る位には力を付けていきたいですね。さん関連Ust動画はこちら。学生時代:Svn転職後、個人でmercurial現在、仕事でbazaarBazaarはsvnユーザーに優しいDVCSです。bzrに置き換えるだけ。commitを使えるSVNと同じ使い勝手で使える。差分:微妙に体系ことなる。svn=bzrでほぼ完了。ブランチとメインラインsvnマージと同じ形で扱える。merみたいな使い方も出来る。さん関連Ust動画はこちら。自己紹介gae/pythontitanium(絶賛絶望中!)tortoseHgの開発・翻訳メンテなしてました最近サボっている...リポジトリ作成、実演デモ。さん発表資料はこちら。Gitの基本的なことを何か話す以下メモ。第一部:ランチ・ランチLT(12:00〜13:00)事前に用意されていたお弁当を頂き、束の間の休息。程良い分量で美味しく頂きました。スライド資料無し、ほぼフリースタイル?で語られる内容はこれまたハイレベルなものでした。LTのUst動画(音声)は以下。コンピュータ(追記)文殊堂さんLTの詳細がBlogにUPされていたのでリンク致しました。GitHubところがGitについては会場のネットワーク環境の都合上、意図した環境・構成が実現出来ないのではないかという疑惑が浮上。最終的にはGitHubにセントラルリポジトリを作成し、そこに対して各種作業を進めていくという形に落ち着きました。さんと[http://twitter.com/#!/sinsoku_listy:title=神速(TwitterID:@sinsoku_listy)さんによるGit環境構築を想定。...していたのですが、環境構築の問題もあり結構ドタバタした感じになってしまいました。時間の最後には『すいません、神速さんがあまり使えなくて』というヒドスwなコメントもありましたが、実際の職場でも隣同士(!)という仲もあっての、愛のあるDISだったのでしょう。理解(笑)その時のUst動画はこちら。当エントリ冒頭の写真がその風景です。その3(17:00〜18:30)演習の課題としては『グループで対象となるDVCS環境のチートシートを作成し、リリースする』というもの。カンバン形式でタスクを洗い出し、管理をしながらDVCS環境上で作業を進めて行く流れです。カンバンについては以下を参照。@IT情報マネジメント用語事典...すいません。ここからはスゴイざっくりな内容になります(笑)というのも、今回SCMBCに参加するにあたって自分なりに基礎を学んでから臨もうと思いつつも、諸々で忙しくて時間が取れず結局インストールしてちょろっと触った程度しか出来ず。熟知しているとは言い難かった(『使っている』が『分かっている』訳ではない)・DVCS(分散バージョン管理)については、『興味がある』という点のみで参加。概念や各種コマンドなども殆ど知識がない状態で臨んだ。状態でSCMBCに挑む形となりました。そんな状態で臨んでいた訳なので、ひとたび問題が発生すると何をしていいのか分からなくなり、グループ内の有識者の方々や各スタッフの方々にサポートして頂くも基礎的なコマンドや概念を理解しきれていない状態であったので十分理解・吸収しきれない形に。グループで一緒になられた皆さん、色々お手数をお掛けしてしまい申し訳ありませんでした&丁寧に教えて頂き、ありがとうございました!...とは言えこれは完全に自分の準備不足によるもの。さんの講演でも『(DVCS毎の)概念を知る事は大事』とありましたがまさにそこが抜け落ちており、そういった概念やコマンド操作を知らない状態ではこうなることは目に見えていたのかも知れません。参加する機会を得たのに、実に勿体無い事をしてしまったと思いました。)今回のお題は『チートシートを作ること』でしたが、課題は別の内容で演習時に各種環境のチートシートが紙で配布されていると個人的には超助かったかもしれないです。知識が浅かったので『あれ、次は何のコマンド打てば良いんだ?』ってなりまくりだったので。あとは主にSCMBCに臨む上でのDVCS初心者・初学者に対しての取り組み方、開催当日のそういった人達についての対応・ケア等をどうしていくか、という点でしょうか。この辺りについては、主催者であるきょんさんやなかやんさんと直接お話したりTwitter上でやり取りしてたりしたので詳細はここでは省きますが、如何にDVCS初心者の参加のハードルを下げ(or調整して)、スムーズに当日の作業を進められるようにするのか、というのは大きなテーマなのかなぁと思いました。何にせよ今回が記念すべき第1回目。参加するまでは見えてこない部分も多く課題は沢山出ていた模様でした。このような試み(DVCSをテーマとした勉強会、かつ各DVCS間での交流も兼ねたイベント)が成された事自体とても素晴らしい事であり、興味を持って参加したDVCS初学者だけではなく、各DVCSを業務で扱ってたり、精通されている方々にとっても非常に意義のあるものとなったようです。中にはコミッタや著者等その道のハイレベルな人がグループの半数を占めると言った何とも贅沢なところあったり、隣の勉強会に参加されていたMercurialのスゴイ方(すみません、詳細を存じ上げておりませんのでこんな書き方しか...)がひょこっと顔を出され、その流れで次回参加を取り付けたり...DVCSの知識が浅い自分にとってはあんまりピンと来てませんが、ある程度の知識レベルを備えた方であれば何とも贅沢すぎるひとときとなっていたようです。演習自体は自分の準備不足もあり消化不良気味でしたが、勉強会の雰囲気自体は非常に良く、とても素晴らしいものだったと思います!休憩も少し多めに取ってあったり(15〜20分)、途中スイーツ等も多めに提供されていたり(写真を取り損ねてしまいましたが、他にもシューアイス等がありました!)、そこかしこで各DVCSの精通者が雑談や論議を繰り広げていたり(しかもうさみみ着けて!)...他の勉強会とは一線を画し、かつクオリティの高いこのようなイベントが開催出来たのも主催者の努力の賜であり、彼等へのリスペクトが成せたものなのではないでしょうか。!』と騒然となっておりました。さんだった模様で、DVCSはMercurialを選択し講演・演習に参加されてました。...時折写真撮影にも応じてたりも。1.6が控えていた為、何人かとご挨拶を済ませてこの日は帰宅。さんと初めて実際に顔を合わせ、お話する事が出来ました。いつもありがとうございます!帰り際には、『やはり基礎から勉強せにゃならんな!』という事で以下の書籍を購入。見るこの書籍、実は今回のSCMBCで、Git関連のスタッフ・テクニカルサポートの方々が揃って携行し、事ある毎に開いて参照されていました。それだけ中身が素晴らしく、実用に耐えうる本なのですね...自分もこれからGit(及びその他のDVCS)について少しずつ知識を蓄えていきたいと思います。