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

16,502 views

Published on

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
16,502
On SlideShare
0
From Embeds
0
Number of Embeds
10,544
Actions
Shares
0
Downloads
14
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

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

  1. 1. PythonとGitHubとベンチャー企業の上手な付き合い方 藤原 敬弘 (@tfmagician)
  2. 2. あじぇんだ1. 自己紹介2. 弊社の開発フロー ○ コードレビュー ○ ブランチ運用 ○ リポジトリ運用 ○ issuesとwikiの活用3. PythonとGitHubの連携4. GitHubにあるPythonに関連する便利OSS
  3. 3. PythonとGitHubとベンチャー企業の 上手な 付き合い方
  4. 4. GitHubやGitに関する便利な ことを教えて下さい。
  5. 5. お前誰よ?● 名前とか ○ 藤原 敬弘 ○ @tfmagician● つくばでベンチャーやってます ○ FULLER株式会社 ○ スマートフォン向けの自社サービスの開発 ○ TechWaveさんの記事をみた人もいるかも ■ あえて地方で戦う、凄腕エンジニア達のスタートアッ プ ○ 高専率8/9の変な会社● エキパイ読書会やってます ○ Pythonに興味がある人は来てね! ○ 次回開催は7月10日(火)
  6. 6. 高専の変なエンジニア達
  7. 7. なぜか、CEOがジャージ
  8. 8. 公開しているアプリケーション
  9. 9. 精力的に、おじさん開発中
  10. 10. 弊社の開発フロー① かんばん
  11. 11. もちろん、かんばんも自作
  12. 12. 弊社の開発フロー②リーンスタートアップ
  13. 13. 仮説と検証
  14. 14. 弊社の開発フロー③ここでやっと、GitHub
  15. 15. リポジトリの構成● カンパニーアカウントのプライベートリポジトリを 活用 ○ 1プロジェクト 2〜3リポジトリ ○ [開発名]_[プラットフォーム]のリポジトリ名 ■ trimtab_android ■ trimtab_ios ■ trimtab_web ...etc ○ Wikiしかないプロジェクトも存在する● 個人アカウントののパブリックリポジトリを活用 ○ オープンソースをフォーク、修正してパッケージングに使 う場合など ○ GitHubのチュートリアル
  16. 16. ブランチ戦略● A successful Git branching modelをそのまま 利用 ○ master: リリースバージョン ○ release/[version]: リリース調整 ○ hotfix/[hotfix_name]: 緊急修正 ○ develop: 開発バージョン ○ feature/[feature_name]: 機能開発● 翻訳 ○ A successful Git branching modelを翻訳しました
  17. 17. GitHubで活用している機能● Issuesの課題管理● Wikiページ● Networkのブランチ分岐図● Commitページのコード差分● コミットのzipダウンロード
  18. 18. プロジェクト管理ツールとし て、GitHub活用中
  19. 19. Issuesによる課題管理● メンバー全員がGitHubアカウントを持っている ○ 誰でもissuesに投稿可能 ○ バグやUI / UXに関する課題を見つけた場合に、issues 投稿する ○ プロダクトオーナーが管理し、かんばんへ載せる● ラベルの活用 ○ Bug: バグ ○ Experience: UXに関する課題 ○ Kaizen :ソースコードのリファクタリングや、ビルドの自動 化案など● 1〜2時間で直せるバグはその場で直す
  20. 20. Wikiページ● 2種類のWikiを活用中 ○ プロジェクトWiki ○ 社内Wiki● プロジェクトWiki ○ プロジェクトに紐付いたWiki ○ プロジェクトの準備の仕方や、デバッグ方法などをまとめ る ○ 仕様はまとめてない (ソースコード読んでね!)● 社内Wiki ○ 社内技術情報をまとめるWiki ○ Appleへのアプリ申請方法、開発環境のセットアップ方 法など
  21. 21. Networkのブランチ分岐図とCommit● Networkのブランチ分岐図 ○ non fast-forwardでマージが適切に行われたか、確認で きる ○ 全てのブランチを横断的に確認できる ○ Commitページにダイレクトに飛べる● Commitページのコード差分 ○ コードレビューに活用 ○ Networkでブランチを確認した後、Commitページに飛ん で、コードレビューする ○ コード差分にコメントが書ける! ○ 通知は昔、 #reviewth.is 使ってたけど、最近は直接お 願いに (席隣だし、一部屋だしね)
  22. 22. コミットの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/a626d39ecba828b8 0d60d6af207b4911f30d4f1e#egg=mongokit-0.7.3a
  23. 23. 急ですが、宣言します。 ベンチャーにはお金がありません!
  24. 24. ベンチャーには人手も足りません!
  25. 25. けど、リポジトリたくさん 欲しいです。
  26. 26. 苦肉の策 GitHub + Gitolite● GitHubのカンパニープラン ○ Bronzeの25ドル、10リポジトリで精一杯 ○ 社内ツールとか、管理したい ○ 逆に古いプロジェクトはGitHubになくても良い● Gitolite導入 ○ 社内サーバにGitoliteをインストール ○ 小さなプロジェクトはそこで管理 ○ ドロップしたプロジェクトのアーカイヴとしても利用してま す
  27. 27. GitHubさん、ベンチャー支援プランをお願いします!
  28. 28. ちょっと待って。
  29. 29. Pythonどこ?
  30. 30. ごめんなさい m(_ _)m作る時間ありませんでした。
  31. 31. 弊社で使ってるPythonツール群● hyde ○ 静的ファイル生成ツール● legit ○ Gitコマンドを簡単にしてくれるツール● pyramid ○ フレームワーク嫌いの人のためのフレームワーク● cornice ○ Restful Web APIフレームワーク● mongoengine ○ MongoDBとPythonのためのODM● fabric ○ Pythonで書かれたデプロイツール
  32. 32. おまけ● Octcatが大好きな人へ ○ GitHub Shop ○ GitHub for Mac ○ Octcat Wallpapers for All ○ The Octdex● Python + GitHubロゴ ○ PyCodeConf wallpaper set
  33. 33. ご清聴ありがとうございました。

×