2010/12/19

分散バージョン管理勉強会に参加してきた #shibutra

皆様、おつかれさまでした。

僕はもう、自分の発表がおわったということで満足の笑みを浮かべ
静か人生の幕を閉じようとしてましたが、レポートを書いてないので。

んで、自分がいろいろ聞いた中で、何が変わったって、

Bazaarがよさそう(ぉぃ

お前、なに発表したかおぼえてっか?おい

いやさ、うちの社内の話で行くと、SVNをちゃんと使ってる人少ないし
使うことの導入に関しては、一番いいのかなって思ったこと。

あとは、実際、社内のSVNって日本語ファイルが山ほどあって、
「日本語完璧」の誘い文句に引っかかったというか・・・

あとは、イケメンbleis様の発表きいて、
あぁこんな開発環境にできたら~って。

ただ、自分の気持ちとして、あそこまで出来るか?っていわれたら
たぶんいきなり出来ないのと、組み込み環境でやるので、そこらへんを
解決できたら、また次の通常発表にぐふふふふへへへへへ

後は全体的なところ

前説:分散バージョン管理ってなんなん?(@LightningX様)

分散バージョン管理がなんなのかの説明、比較表とかシェア、特徴、
おすすめ(笑) など。

日本ってやっぱりGit多いけど、GitGitと騒いでるから多いだけで
特長とかいろいろ聞いてると、もう少し人数分布がなだらかになるんじゃ
ないかなって思った。

エルシャダジャイル 吹いた、リアルで。

GitとHudsonによるきれいなリポジトリの作り方(@bleis様)

何がすごいって、あの環境で開発したい。

自分で一番引かれたのは、セントラルリポジトリの安全が確保されてることで
メンバーの能力云々に左右されずに、安全が自動化、保障される部分。

そのうち自分達の環境でも挑戦できたらいいな。

TracLightningとTortoiseHgのゆるふわな連携(@wyukawa様)

Subversion と Mercurial の連携の話、デモ付き
実はHg便利?と思った。いろいろ試すいい機会かもしれない。

git-svn使ってみる?(@riskrisk

俺の発表。客観的に見てどうだったんだろう。
楽しんでいただけてれば幸い。

ついでに、資料は少し更新してるので、気になる方は、
直前の記事を参照のこと。

Mercurialで別オリジンのリポジトリ間で同期を取る運用の仕方について(@monjudoh様)

難しい・・・ リポジトリを重ねるあたりまで理解した。
残りは記事を読んでみようと思う。

LT(笑) Git での歴史の改変方法の紹介(@sinsoku_listy様)

gitのコミットログをいじる話。ローカルで歴史改変を行うことで
きれいなコミットログを残そうっていうことかなと思った。

ひとつふと思ったのは、きれいすぎると違和感がありそうかなとか。

時間経過がログから消失すると、作られた資料ってイメージで、
「ログ」としての意味が消失するかなーって。

LT : SubversionユーザーのためのBazaarガイド(@wonderful_panda様)

これが今回、一番やられた感じがしたw
導入が簡単なのが広めるのに適してると最近感じてるので。

ただ、svnをコマンドで使ってる人は、gitも使えるので、比較表に関しては
悔しくなんかないんだからね!ぷんぷん

LT : Hudsonからみるバージョン管理(@cactusman様)

Hudsonと分散バージョン管理、連携したらいいよね。
素直にそう思います。

LT : ビューティフルなデバッグの話(@tosikawa様)

git bisect の効能

便利だとは思ったけど、アプリの中身をどうやって作るかとか、
どんな構成にすればいいのかとか、ちょっとそこらへんが難しそうだなと
感じた。

あとはテストにエラーが発生したときに、自動で実行されてエラーが
出せるようになってたらいいなと思った。

あぁでもこれで捕まえるバグは、副作用とかテストの増加で
新たに発見されるバグなのかと思うと、やはり手動?

まとめ

いろいろ得るものもあって、楽しかった。

さくっと試せるものは、早めにやってみようかな Bazaarとかw

2010/12/18

分散バージョン管理勉強会で発表してきた #shibutra

分散バージョン管理勉強会で発表してきました。

発表者の皆様、スタッフの皆様、参加者の皆様、

本当におつかれさまでした。

初めての本発表で、超が付くほど緊張してまして、いろいろと
おききぐるしい点など、あったとは思いますが、生暖かい目で。

んで、発表が終わったので、資料公開します。

一部修正や改変を入れてます。

僕の本名やら、神速さんの顔写真、あと大事なこととして

覚えておくといい命令に、help を追加しました。
自分でもよく使うのに、リストに入ってないという。

資料に関しては、使う用途があれば自由に使ってください。

皆様の何かの足しになれば幸いです。

2010/12/11

AgileDay4に行ってきた! #msagile

昨日は皆様、お疲れ様でした!

Agileの定期イベント、AgileDayの第四回に行ってきました。

今回のお題、テストや、アジャイル導入に関する内容、
また、コーチングの基礎的な、人とのコミュニケーションの方法について
いろいろと気付きをいただいてきました。

アジャイルでのテストを考える - 近江さん

テストにおけるアジャイルに関して、いろいろ話を聞かせていただきました。

事例の話も多き聞かせてもらえたのは、すごく良かったなと感じました。

自分としては、テストに関してないがしろというか、後回しというか
個人的な意見ですが、テストは、ソフトが出来上がってからやるもんで
とりあえずソフト作る方が先だろ!ってイメージが抜けてないのが現状で。

実際にテストするって言ったときに、
アジャイルとまぜまぜしたテストって

反復が可能、変化に柔軟

どちらも重要だと思うし、Agileでテストを行うなら、イテレーションで完了する
成果をテストするわけで、反復ごとに、成果を評価するための
テストがいるよなぁ っていつも疑問に思ってたところを突っ込んだイメージ。

提案的な内容だったので、少しづつ入れられたらいいなとか思ったり。
(メタクエスチョンされそうですが)

少しづつ何を入れる
個人的な意見ですが、役に立つドキュメントというか、情報をWikiに溜め込む
ことからはじめてみようかなと思います。やってないとは言わないんですが
全然情報量が足らなくて、もっとWikiの布教活動をしなくちゃと思う次第。

やさしいAgileの始め方 -  西村さん @nawoto

Agileをはじめようとして、チーム分解っていうことがあったので
いろいろ興味深く、反省しながら聞いていました。

agileが期待されているっていうのも、意外と導入するモチベーションに
なった気がする。経営層やマネージャ層が、どうどうと「やってみろ」って
思ってくれてるなら、うえを気にしなくて良くなって、そんなしあわせな
ことになったらくぁせdrftgyふじこlp;@

不安を抱えたまま仕事しごとしたくない って言葉に、とても共感
だって、不安あったら寝れないじゃないですか。

解決方法は、@nawotoさんに相談するか、不安なことを理解して
なぜ不確定や不安なのかをはっきりさせることかなぁと。
それだけでもずいぶん違う気がします。

んで、さらに細かい内容は大量につぶやいてたので、誰かすばらしい人が
とぅぎゃってくれるはず(俺偉い。http://togetter.com/li/77698

内容はそっちで見れるとして、自分の感想ですが

素直なところは、あぁ部分的に失敗して、ダメだぁ・・・ってなってたなという

もともとひどいネガティブなので、失敗からあきらめに直結してたんですけど
そうじゃなくて

すこしアジャイルになったんだ、すごいじゃないか!

って、言えたら、だんだんアジャイル度が増していくのではと。

そうそう、あとこのセッションでは名言

フォントがかわいい・・・ → フォントだ

が生まれましたね。とても重要なのでピックアップ。

質疑でそうなのかーと思ったことで

XPのが導入が難しいのは、プラクティスを全部やることで
威力を発揮するから

表現があってるか分からないけど、大体で。

SCRUMはいつも言われてきたとおり、ただのフレームワークで
何をどれぐらい入れるかは、チームが必要とおもったことを入れればいいと。

XPの中で、部分適用したら便利そうなものもあると思うんだけどなぁ
そこらへんは、詳しく勉強してみる必要があるかなって思いました。

話がごにょごにょしてますが、以上で。

自律的、自己組織的チームを作るコミュニケーションワーク
林さん @essence_s

~ NLPのメタモデルとミルトンモデルの基礎から質問の技法へ ~

ってことで、ワークショップをしてきました。

ぶっちゃけ、最初はなにやってんのか、全然わからなかったw

さらにエクセレントサークルが始まって、ちょっとこう宗教じみた感じにw

んで、目的のメタモデル、ミルトンモデルの話をしてもらって
なんとなくだけ概要をつかんで、実際のワークショップへ。

3人組で質問してみるんだけど、以外に難しくて、最初はしどろもどろ。
だんだん途中から、イメージわいてきて、そこそこうまく出来るようになった

気がする!

メタモデル的な質問も、あぁこういうのかぁと思いつつ
ミルトンモデル的な質問も、あぁそういうのかぁと思いつつ

軽く説明を書こうとしても、これは理解できないから
書いちゃいけない気がするw

最後まで終わってみて、タイトルを見直して

あぁ、そうか、こういうコミュニケーションが、自己組織化を促すのかと
いまさらながら理解するという・・・

自分の感想としては、相手に対して失礼なコミュニケーションしすぎてた・・・

癖が、「なんで?」なので、使い方間違えてたなぁと反省。

あとは、相手から引き出す質問と、相手が勝手に膨らます質問ってものが
あることをはじめて知った。実はこれが一番衝撃的だったかもしれない。

仕事にも家庭にもだけど、こういうことに気をつけていったら、なかなか
子育ても面白いのでないかw

子供をしかるときはメタモデル、一緒に遊ぶときはミルトンモデル

まとめ

一気にざざっといろいろとごちゃぜになってるけど、

AgileDay4はやっぱり面白かったw

また自分のプロジェクトに、少しずつAgile成分を注入してみようかなって
そんな風に思えるパワーをいただいてきたので、またがんばってみるよ。

それと、2次会お疲れ様でした、とっても楽しませていただきました。
普段、やれAgileやら、やれSCRUMやらの話をできないので
ああいう空間が、すごい楽しくて、この飲み会、ずっと続けばいいのになぁと。

名刺も片っ端からくばりまくれて、全部消費したし、
今回はいろいろ達成できたことが多くて、満足満足。

2010/11/30

Ubuntu PidginでSSL証明書エラー

ひさしぶりの更新ですけど。

僕のノートパソコン、Ubuntuにしてるんだけど
コミュニケーションツールの都合上、Pidginを利用してます。

このあいだ、WindowsMessengerのアカウントから
SSL証明書のエラーが出まくって、まったく繋がらなくなった。

んで、よくよく調べてみると、そういう問題があるらしく
次のバージョン(2.7.x?)だと対応済み
Ubuntuのバージョンアップだと、まだきてないので
暫定対策をとることに。

方法は、そこそこ簡単で

  1. エラーの出ている証明書のページにジャンプ
    僕の環境では、 omega.contacts.msn.comだったので
    https://omega.contacts.msn.com/ をブラウザで表示。
  2. そのページの証明書をエクスポート。
    Chromeの場合は、表示ページで右クリックコンテキストメニューから
    ページの情報を表示
    FireFoxは、アドレスバーの左の方の枠をクリックすると、証明書表示がある。
  3. Pidginの証明書一覧からomega.contacts.msn.comを削除
  4. Pidginの証明書のメニューから追加を選んで
    エクスポートした証明書を追加する
  5. 変更が反映されるような行動w
    アカウントの有効無効切り替えたり、Pidgin再起動したり、OS立ち上げ直したり。

一応注意事項として、追加の際に聞かれるアドレスを、
エクスポートした証明のアドレスをそのままにせず、
*.contacts.msn.com から omega.contacts.msn.com にすること。

以上で、いまのところ安定中です。
アップデートきたら、別にいらない知識だけど

追記

なんの操作か不明だけど、やっぱりエラーを出す場合が・・・
インポートのし直し(手順3〜5)でまた動くようになる模様

2010/11/18

第9回 社内勉強会

継続はちからなり。

第9回の社内勉強会やりました。

内容的には、

  • GAEとPythonでTwitterBotの話
  • gitでSubversionを使う話。

gitとsubversionの話は、自分が担当したので、そこら辺はあとで。

GAEの方は、自分でも少しやったことがあったにしても
細かい仕様(普通しっとくべきだろjkとか言われるのは置いといて・・・)
とか、使い方やら。

個人的にpythonが分かってなくて、とかの調べ方はかなり衝撃的でした。
おかげさまで、自分のtwitterbotを少し改造しようかなって気分にも。

個人的には、横槍を入れすぎたかなぁって思ったけど、実際わいわいと
なぜ?どうして? がとめどなく出てきていて、これが興味の現れだとしたら
素晴らしいことだなぁと実感しました。

次、git + subversion の話

これは僕が担当した話で、なんでgitの話じゃなくてgit+subversionの話をしたかは
会社でTrac使ってるので、連携しているSCMが、とりあえずはSubversionであること。

個人的に、Subversionからgitに移ることが必要なら、gitから、いま使っている
Subverisonの昨日を網羅できたら、そのままgitに移って、もっと便利な機能を
つかえるかなーって思ったので、その足がかりになったらいいなと。

実際、特定の場所でしか開発してない人が多いので、別に分散じゃなくても
あまり変わらないかもしれないけど・・・

と、そんなこんなで、今回は参加者が6人程度と、少し増えて良かったなぁ

後日談として、アンケートとった方がいい、かならずやるべきと言われて
何をアンケートすりゃいいんだと迷っていたり・・・
とりあえず、発表に関しての質問と、次に何を聞きたいですか?ってのぐらいをいれたやつを
作ってみようかなぁ

2010/10/29

WidnowsでGitを使う方法の続き

前回、Gitをcygwinで使う記事を書いたら、みんなのアイドルで有名な

神速さんより、コメントをいただきました。

@riskrisk msysgitのインストールで「Use a True Type font in the console」のチェックを外せばコンソールの文字化けしませんよ。cygwinとの細かい違いはありますが、msysgitでも普通にGitを使う分には大丈夫です。less than a minute ago via TweetDeck

なん・・・だと・・・!

というわけで、試してみた。

まずmsysgitを落としてくる。

場所はこの辺です。Git-xxxx って名前のを落としてきます。
インストーラーなので、普通に実行

んで、インストール

image

注意の通りに、一番下のメニューの、Use a ・・・のチェックをはずす。

で、文字化けるwwwwwwwwwww

image

なんでかなーと考えた結果、そうかGitが作るBashコンソールを
使わなきゃいいのか。

ってことで、普通のコンソールからgitを使ってみる。

これをやるには、セットアップのときに、設定を変える必要がありまして

image

セットアップの途中の、環境変数パスの設定で、
Windowsのコマンドプロンプトから実行できるように設定します。
(真ん中のを選ぶと、環境パスが入る。)

説明を読むと、Cygwinのgitを入れるんじゃないぞ、絶対にだ!
と書いてあるので、とりあえずCygwinは消します。
ちなみに、消し方はこのあたり

んで、cmd.exeからやってみたが、やっぱしなんか変だ。

コミットまでは動いたものの、文字化けを起こし
(コミットログを書いたのがvimだからか、あとでTerapadでも試そう)

git reset --soft HEAD^

っていれると、

More?

とか出てくる。

僕の心は、(´;ω;`)ブワッですが何か?

よし、今日はこれぐらいにしておいてやろう。
あきらめたわけじゃないんだから!

2010/10/18

GitをWindowsで使うには?

ちょこっとしか調べてないけど、WindowsでGitを使うには、Cygwinを使うといいらしい。

msysgit入れてみたけど、コンソールの文字を日本語できなくて・・・
(もしかして、うまいことやればいいんだろうか・・・)

で、結局Cygwinからいじることにした。

ここによると、1.7以降ならいけるとのことなので、公式からCygwinをダウンロード。
今日現在のバージョンは、1.7.7なんですね。

セットアップをダウンロードしたら、基本next連射で。
(すでにCygwinが入ってる人は、そのままsetup.exeを実行すればいいと思う)
途中で、Downloadサイトを選ぶところがあるので

image

ここはどれか選んでnext

もちろん、途中のモジュール選択でgitを探す。

image

左上の検索のところに、gitって入れると、Devel と Python と Utils が引っかかるので
Develのツリーを開く。んで、必要なモジュール

corefile、git bash completion、git-svn(Subversion使わない人は不要)、gitk あたりを入れる。

Skipの部分をクリックすれば、バージョンの値に変わるので、一番新しい奴を。

忘れずに入れるものがもうひとつ

open-ssh

これがないと、ssh-keygen が呼べなくて、鍵が作れなくて・・・もにょもにょもにょ
あとでgithibで動作を確認しますが、そのときに鍵を作るのに必要だったりします。

image

さっきと同様に、sshで検索して
opensshを選択します。

んで、インストール続行。
(依存モジュールをもサクサク入れる。)

Cygwinを起動して、gitを実行してコマンドの一覧が表示されたら、正しくインストールできてる。
git-svn 入れた人は、「git svn help」あたりを実行して、ヘルプがゴニョゴニョでればOK。

入りはしたので、本当に動くか、githubあたりで動作するか確認してみる。
自分のリポジトリを落としてみると・・・

$ git clone http://github.com/risk/risk.git
Cloning into risk...
remote: Counting objects: 96, done.
remote: Compressing objects: 100% (73/73), done.
remote: Total 96 (delta 15), reused 0 (delta 0)
Unpacking objects: 100% (96/96), done.

動いたw

つぎ、更新。

$ git clone git@github.com:risk/risk.git
Cloning into risk...
error: cannot run ssh: No such file or directory
fatal: unable to fork

あ、鍵が無い・・・w
そういえば、どこにかぎ突っ込むんだと思いながら、Honeディレクトリを探してみると

C:\cygwin\home\<アカウント名>

ここみたい

なので、ここに鍵を突っ込むといい。
(僕は鍵を作り直しちゃったので、作る場合はこのあたりを参照のこと)

んで、もう一回。

remote: Counting objects: 96, done.
remote: Compressing objects: 100% (73/73), done.
remote: Total 96 (delta 15), reused 0 (delta 0)
Receiving objects: 100% (96/96), 123.47 KiB | 65 KiB/s, done.
Resolving deltas: 100% (15/15), done.

お、今度はよさそう。

ちょっとだけ一連の操作をやってみたけど、ちゃんと動いているみたい。

設定しておくことといえば、コミットログの編集用TeraPadの設定ぐらいかな。
TeraPadをnextのみインストールしたときは、こんな感じ。

$ git config --global core.editor "/cygdrive/c/Program\\ Files/TeraPad/TeraPad.exe /cu8"

というわけで、一通り動いたよ、よしよし。

余談だけど、msysgit入れると、コンソールのフォントのデフォ値が固定されるあれは、なんなんだろう。
もしかして、アレさえなければmsysgitでいいのかもしれない・・・(こんだけ書いといてなんだけどw)