46
PythonとGitHubと ベンチャー企業の 上手な付き合い方 藤原 敬弘 (@tfmagician)

Pythonとgit hubとベンチャー企業の上手な付き合い方

Embed Size (px)

Citation preview

Page 1: Pythonとgit hubとベンチャー企業の上手な付き合い方

PythonとGitHubと

ベンチャー企業の

上手な付き合い方

藤原 敬弘 (@tfmagician)

Page 2: Pythonとgit hubとベンチャー企業の上手な付き合い方

あじぇんだ

1. 自己紹介2. 弊社の開発フロー

○ コードレビュー○ ブランチ運用○ リポジトリ運用○ issuesとwikiの活用

3. PythonとGitHubの連携4. GitHubにあるPythonに関連する便利OSS

Page 3: Pythonとgit hubとベンチャー企業の上手な付き合い方

PythonとGitHubとベンチャー企

業の 上手な 付き合い方

Page 4: Pythonとgit hubとベンチャー企業の上手な付き合い方

GitHubやGitに関する便利な

ことを教えて下さい。

Page 5: Pythonとgit hubとベンチャー企業の上手な付き合い方

お前誰よ?

● 名前とか○ 藤原 敬弘○ @tfmagician

● つくばでベンチャーやってます○ FULLER株式会社○ スマートフォン向けの自社サービスの開発○ TechWaveさんの記事をみた人もいるかも

■ あえて地方で戦う、凄腕エンジニア達のスタートアップ

○ 高専率8/9の変な会社

● エキパイ読書会やってます○ Pythonに興味がある人は来てね!○ 次回開催は7月10日(火)

Page 6: Pythonとgit hubとベンチャー企業の上手な付き合い方

高専の変なエンジニア達

Page 7: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 8: Pythonとgit hubとベンチャー企業の上手な付き合い方

なぜか、CEOがジャージ

Page 9: Pythonとgit hubとベンチャー企業の上手な付き合い方

公開しているアプリケーション

Page 10: Pythonとgit hubとベンチャー企業の上手な付き合い方

精力的に、おじさん開発中

Page 11: Pythonとgit hubとベンチャー企業の上手な付き合い方

弊社の開発フロー①

かんばん

Page 12: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 13: Pythonとgit hubとベンチャー企業の上手な付き合い方

もちろん、かんばんも自作

Page 14: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 15: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 16: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 17: Pythonとgit hubとベンチャー企業の上手な付き合い方

弊社の開発フロー②

リーンスタートアップ

Page 18: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 19: Pythonとgit hubとベンチャー企業の上手な付き合い方

仮説と検証

Page 20: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 21: Pythonとgit hubとベンチャー企業の上手な付き合い方

弊社の開発フロー③

ここでやっと、GitHub

Page 22: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 23: Pythonとgit hubとベンチャー企業の上手な付き合い方

リポジトリの構成

● カンパニーアカウントのプライベートリポジトリを活用○ 1プロジェクト 2〜3リポジトリ○ [開発名]_[プラットフォーム]のリポジトリ名

■ trimtab_android■ trimtab_ios■ trimtab_web ...etc

○ Wikiしかないプロジェクトも存在する

● 個人アカウントののパブリックリポジトリを活用○ オープンソースをフォーク、修正してパッケージングに使

う場合など○ GitHubのチュートリアル

Page 24: Pythonとgit hubとベンチャー企業の上手な付き合い方

ブランチ戦略

● A successful Git branching modelをそのまま利用○ master: リリースバージョン○ release/[version]: リリース調整○ hotfix/[hotfix_name]: 緊急修正○ develop: 開発バージョン○ feature/[feature_name]: 機能開発

● 翻訳○ A successful Git branching modelを翻訳しました

Page 25: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 26: Pythonとgit hubとベンチャー企業の上手な付き合い方

GitHubで活用している機能

● Issuesの課題管理● Wikiページ● Networkのブランチ分岐図● Commitページのコード差分● コミットのzipダウンロード

Page 27: Pythonとgit hubとベンチャー企業の上手な付き合い方

プロジェクト管理ツールとし

て、GitHub活用中

Page 28: Pythonとgit hubとベンチャー企業の上手な付き合い方

Issuesによる課題管理

● メンバー全員がGitHubアカウントを持っている○ 誰でもissuesに投稿可能○ バグやUI / UXに関する課題を見つけた場合に、issues

投稿する○ プロダクトオーナーが管理し、かんばんへ載せる

● ラベルの活用○ Bug: バグ○ Experience: UXに関する課題○ Kaizen :ソースコードのリファクタリングや、ビルドの自動

化案など

● 1〜2時間で直せるバグはその場で直す

Page 29: Pythonとgit hubとベンチャー企業の上手な付き合い方

Wikiページ

● 2種類のWikiを活用中○ プロジェクトWiki○ 社内Wiki

● プロジェクトWiki○ プロジェクトに紐付いたWiki○ プロジェクトの準備の仕方や、デバッグ方法などをまとめ

る○ 仕様はまとめてない (ソースコード読んでね!)

● 社内Wiki○ 社内技術情報をまとめるWiki○ Appleへのアプリ申請方法、開発環境のセットアップ方

法など

Page 30: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 31: Pythonとgit hubとベンチャー企業の上手な付き合い方

Networkのブランチ分岐図とCommit

● Networkのブランチ分岐図○ non fast-forwardでマージが適切に行われたか、確認で

きる○ 全てのブランチを横断的に確認できる○ Commitページにダイレクトに飛べる

● Commitページのコード差分○ コードレビューに活用○ Networkでブランチを確認した後、Commitページに飛ん

で、コードレビューする○ コード差分にコメントが書ける!○ 通知は昔、 #reviewth.is 使ってたけど、最近は直接お

願いに (席隣だし、一部屋だしね)

Page 32: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 33: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 34: Pythonとgit hubとベンチャー企業の上手な付き合い方

コミットのZipダウンロード

● (あまりないけど) ソースコードを直接渡したいときに

● ダウンロード出来るページ○ BranchページとCommitページ○ つまり、どのコミットもZipダウンロード出来る○ URL形式

■ https://github.com/fuller-inc/trimtab_web/[tarball_or_zipball]/[revision_number]

○ zip以外にもtar.gzでも!

● お試し○ https://github.

com/tfmagician/mongokit/tarball/a626d39ecba828b80d60d6af207b4911f30d4f1e#egg=mongokit-0.7.3a

Page 35: Pythonとgit hubとベンチャー企業の上手な付き合い方

急ですが、宣言します。

ベンチャーには

お金がありません!

Page 36: Pythonとgit hubとベンチャー企業の上手な付き合い方

ベンチャーには

人手も足りません!

Page 37: Pythonとgit hubとベンチャー企業の上手な付き合い方

けど、リポジトリたくさん

欲しいです。

Page 38: Pythonとgit hubとベンチャー企業の上手な付き合い方

苦肉の策 GitHub + Gitolite

● GitHubのカンパニープラン○ Bronzeの25ドル、10リポジトリで精一杯○ 社内ツールとか、管理したい○ 逆に古いプロジェクトはGitHubになくても良い

● Gitolite導入○ 社内サーバにGitoliteをインストール○ 小さなプロジェクトはそこで管理○ ドロップしたプロジェクトのアーカイヴとしても利用してま

Page 39: Pythonとgit hubとベンチャー企業の上手な付き合い方

GitHubさん、ベンチャー

支援プランをお願いします!

Page 40: Pythonとgit hubとベンチャー企業の上手な付き合い方
Page 41: Pythonとgit hubとベンチャー企業の上手な付き合い方

ちょっと待って。

Page 42: Pythonとgit hubとベンチャー企業の上手な付き合い方

Pythonどこ?

Page 43: Pythonとgit hubとベンチャー企業の上手な付き合い方

ごめんなさい m(_ _)m

作る時間ありませんでした。

Page 44: Pythonとgit hubとベンチャー企業の上手な付き合い方

弊社で使ってるPythonツール群

● hyde○ 静的ファイル生成ツール

● legit○ Gitコマンドを簡単にしてくれるツール

● pyramid○ フレームワーク嫌いの人のためのフレームワーク

● cornice○ Restful Web APIフレームワーク

● mongoengine○ MongoDBとPythonのためのODM

● fabric○ Pythonで書かれたデプロイツール

Page 46: Pythonとgit hubとベンチャー企業の上手な付き合い方

ご清聴

ありがとうございました。