Furyu

[フリュー公式] Tech Blog

フリュー株式会社の技術ブログです

2014年06月11日

kasuya

社内DDD本読書会

開催のきっかけ

ソーシャルゲーム2部 開発課で絶賛乙女ゲームを開発している粕谷(@daiksy)です。

最近、エリック・エヴァンスのドメイン駆動設計をちびちびと読み進めています。
こういった設計に関する本を1人で読んでいると、自分の理解だけでは不安になり、他人と議論がしたくなりますよね。

みんな考えは同じようで、「DDD本 読書会」などで検索をすると、いくつかの勉強会がHITします。

僕も近場のこういう読書会に行って議論に参加しようと思ったのですが、タイミング的にどうしても途中参加になってしまうし、 こういった勉強会は、いろんなコンテキストを持った人が集まるので、どうせなら同じ文脈で語り合いたいものです。

そこで、社内で読書会を開催しようと思い立ちました。

社内IRCで「DDD本読書会開催したら、参加したい人いますか?」と呼びかけたところ、なんと10名近い人が名乗りをあげてくれました。

そういう経緯で、社内DDD本読書会はスタートしました。

実際にやってみて

DDD本読書会は毎週月・水・金の週3回、始業前に30分間実施されます。

章毎に担当者を決め、参加者はその該当章を当日までに読んでおきます。
担当者が、その章について簡単な解説をし、あとはそれについて各々議論する、という形で進みます。

1回30分なので、その章が1回で終わることもあれば、複数回にまたがることもあります。

同じ会社のメンバー同士の議論になるので、そこで語られる内容はとても具体的です。
「あのサービスのインフラストラクチャ層はこういう実装になっている」とか、
「あのシステムはFat Controllerになっているからあの案件で苦労した」など。

モデルについて議論する場合も、「粕谷さんが作ってるゲームのあの機能は、もっとこうモデリングするべきなのでは?」
というように、議論の対象が普段自分たちが扱っている業務を中心に進んでいくのでとても具体的かつ実践的です。

これこそが社内読書会の醍醐味であり、最大のメリットであるといえるでしょう。

1回30分の議論なので、少し短いと思われるかもしれませんが、週3回の開催なので、1ヶ月に換算すると約12回で計6時間になります。

2年前にこの形式で、Scalaのコップ本を半年かけて読破しました。

社内読書会、非常にオススメです。


2014年06月10日

kunihira

GitBucketで社内OSSしませんか

GitBucketGit

皆様こんにちは。
季節の変わり目で夏風邪を引いてしまった国平です。
暑いからといって布団もかけずに扇風機つけっぱなしで寝て、 明け方に体を冷やしてしまいました。
皆様もご注意ください。

さて、今回は社内勉強会でGitBucketについてお話させていただいたので、 その内容を投稿させていただきます。

発表の目的

社内サーバにGitBucketを導入してしばらく一人で使っていたのですが、 問題なく利用できそうで、せっかくPullRequestやIssueなどの機能があるので、 もっと大勢で使いたいと思い、周知のために発表しました。

GitBucketとは

GitBucket@takezoen さんが開発してOSSとして公開されているGitHubクローンのWebアプリです。 Scalaで書かれていて、単体のjarでも実行できるので、お試し導入が非常にしやすいというメリットがあります。

もともと、お手軽に導入できるツールだったのですが、ここ最近、ブログやQiitaなどに記事が増えてきていて、情報も充実してきています。

参考

導入の経緯

フリューでは元々は普段の業務にSVNサーバを社内に立てて使っていたのですが、 2年ほど前からGitHubを使うようになりました。

それで社内にも自由に使えるGitリポジトリをホスティングしたかったのですが、 WindowsのGitクライアントであるmsysGitがgitプロトコルに未対応だったので、 Webフロントエンドを持っていてhttpプロトコルで利用できるGitBucketを導入しました。

勉強会の内容

要約すると、

  1. Gitいいよ、Git
  2. SocialCodingいいよ、SocialCoding
  3. でも、GitHubもBitBucketもちょっと社内ツールとか書き貯めるには制限が…
  4. そこでGitBucket!!
  5. いろいろリポジトリ作って上げてるので、プルリクください!

という感じです。

発表資料

発表資料はこちら↓

GitBucketで社内OSSしませんか? from Kiyotaka Kunihira

発表後の質疑

発表後にもらった質疑とその回答(加筆あり)をまとめます。

Q. GitHubでできてGitBucketでできないことはあるか?

A. 何点かあって、まずコミットに対してコメントをするレビュー機能が無いです。 これは、発表資料中にもあるソーシャルコーディングの機能の一つなのですが、Issueは上がっていて、対応予定はあるみたいです。

次に、コミットグラフの機能が無いです。これについてもIssueは上がっています。 とりあえず、下記のコマンドでCUI上でもグラフ表示することもできるので、問題にはならないと思います。

あと、GitHubはCircleCIとかいろいろ外部サービスと連携できる機能がありますが、 GitBucketはPushされたタイミングで、特定のURLを叩くだけになります。 とはいえ、社内ユースでJenkinsと連動させるなら十分だと思います。

Q. 同様のOSSにGitLabがあるけど、そっちは使わないの?

A. 昔、GitLabも検討したことがありますが、インストールが面倒で投げ出しました。 今は、rpmが公開されて導入が簡単になったみたいですが、すでにGitBucketインストール済みなので、試してないです。 あと、個人的にScalaを応援する意味でGitLab押しです。

Q. 会社のプロキシのせいでGit使いづらいんだけど…

A. こちらの方が素晴らしいツールを開発してくれてます。 git-proxy-clone Clone時はコレを使うと便利です。

すでにローカルにgitリポジトリがある場合は、 .git/config を修正したらOKです。 プロキシ経由したくない場合、下記みたいにしとけばプロキシを通らずにすみます。

プロキシを経由させたい場合は、Qiita / GitでProxyの設定を参考に、 local の設定を変更してもらったらいいと思います。

まとめ

GitBucketは導入が簡単で、社内で利用するのに最適なGitHubクローンです。 これを利用して、社内ツールの開発を活性化させて、快適な仕事環境を整えましょう。