SlideShare a Scribd company logo
1 of 46
Download to read offline
PythonとGitHubと
ベンチャー企業の
上手な付き合い方
 藤原 敬弘 (@tfmagician)
あじぇんだ

1. 自己紹介
2. 弊社の開発フロー
  ○   コードレビュー
  ○   ブランチ運用
  ○   リポジトリ運用
  ○   issuesとwikiの活用
3. PythonとGitHubの連携
4. GitHubにあるPythonに関連する便利OSS
PythonとGitHubとベンチャー企
業の 上手な 付き合い方
GitHubやGitに関する便利な
  ことを教えて下さい。
お前誰よ?

● 名前とか
 ○ 藤原 敬弘
 ○ @tfmagician
● つくばでベンチャーやってます
 ○ FULLER株式会社
 ○ スマートフォン向けの自社サービスの開発
 ○ TechWaveさんの記事をみた人もいるかも
   ■ あえて地方で戦う、凄腕エンジニア達のスタートアッ
      プ
 ○ 高専率8/9の変な会社
● エキパイ読書会やってます
 ○ Pythonに興味がある人は来てね!
 ○ 次回開催は7月10日(火)
高専の変なエンジニア達
なぜか、CEOがジャージ
公開しているアプリケーション
精力的に、おじさん開発中
弊社の開発フロー①
  かんばん
もちろん、かんばんも自作
弊社の開発フロー②
リーンスタートアップ
仮説と検証
弊社の開発フロー③
ここでやっと、GitHub
リポジトリの構成

● カンパニーアカウントのプライベートリポジトリを
  活用
 ○ 1プロジェクト 2〜3リポジトリ
 ○ [開発名]_[プラットフォーム]のリポジトリ名
    ■ trimtab_android
    ■ trimtab_ios
    ■ trimtab_web ...etc
 ○ Wikiしかないプロジェクトも存在する
● 個人アカウントののパブリックリポジトリを活用
 ○ オープンソースをフォーク、修正してパッケージングに使
   う場合など
 ○ GitHubのチュートリアル
ブランチ戦略

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

●   Issuesの課題管理
●   Wikiページ
●   Networkのブランチ分岐図
●   Commitページのコード差分
●   コミットのzipダウンロード
プロジェクト管理ツールとし
  て、GitHub活用中
Issuesによる課題管理

● メンバー全員がGitHubアカウントを持っている
 ○ 誰でもissuesに投稿可能
 ○ バグやUI / UXに関する課題を見つけた場合に、issues
   投稿する
 ○ プロダクトオーナーが管理し、かんばんへ載せる
● ラベルの活用
 ○ Bug: バグ
 ○ Experience: UXに関する課題
 ○ Kaizen :ソースコードのリファクタリングや、ビルドの自動
   化案など
● 1〜2時間で直せるバグはその場で直す
Wikiページ

● 2種類のWikiを活用中
  ○ プロジェクトWiki
  ○ 社内Wiki
● プロジェクトWiki
  ○ プロジェクトに紐付いたWiki
  ○ プロジェクトの準備の仕方や、デバッグ方法などをまとめ
    る
  ○ 仕様はまとめてない (ソースコード読んでね!)
● 社内Wiki
  ○ 社内技術情報をまとめるWiki
  ○ Appleへのアプリ申請方法、開発環境のセットアップ方
    法など
Networkのブランチ分岐図とCommit

● Networkのブランチ分岐図
 ○ non fast-forwardでマージが適切に行われたか、確認で
   きる
 ○ 全てのブランチを横断的に確認できる
 ○ Commitページにダイレクトに飛べる
● Commitページのコード差分
 ○ コードレビューに活用
 ○ Networkでブランチを確認した後、Commitページに飛ん
   で、コードレビューする
 ○ コード差分にコメントが書ける!
 ○ 通知は昔、 #reviewth.is 使ってたけど、最近は直接お
   願いに (席隣だし、一部屋だしね)
コミットの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
急ですが、宣言します。
 ベンチャーには
お金がありません!
ベンチャーには
人手も足りません!
けど、リポジトリたくさん
  欲しいです。
苦肉の策 GitHub + Gitolite

● GitHubのカンパニープラン
  ○ Bronzeの25ドル、10リポジトリで精一杯
  ○ 社内ツールとか、管理したい
  ○ 逆に古いプロジェクトはGitHubになくても良い
● Gitolite導入
  ○ 社内サーバにGitoliteをインストール
  ○ 小さなプロジェクトはそこで管理
  ○ ドロップしたプロジェクトのアーカイヴとしても利用してま
    す
GitHubさん、ベンチャー
支援プランをお願いします!
ちょっと待って。
Pythonどこ?
ごめんなさい m(_ _)m
作る時間ありませんでした。
弊社で使ってるPythonツール群

● hyde
   ○ 静的ファイル生成ツール
● legit
   ○ Gitコマンドを簡単にしてくれるツール
● pyramid
   ○ フレームワーク嫌いの人のためのフレームワーク
● cornice
   ○ Restful Web APIフレームワーク
● mongoengine
   ○ MongoDBとPythonのためのODM
● fabric
   ○ Pythonで書かれたデプロイツール
おまけ

● Octcatが大好きな人へ
  ○   GitHub Shop
  ○   GitHub for Mac
  ○   Octcat Wallpapers for All
  ○   The Octdex
● Python + GitHubロゴ
  ○ PyCodeConf wallpaper set
ご清聴
ありがとうございました。

More Related Content

What's hot

初心者がGoでCLIツール作ってみて学んだこと
初心者がGoでCLIツール作ってみて学んだこと初心者がGoでCLIツール作ってみて学んだこと
初心者がGoでCLIツール作ってみて学んだことYuta Ohashi
 
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しようHirokazu Tokuno
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理H2O Space. Co., Ltd.
 
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話shinnosuke kugimiya
 
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンGit for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンEmma Haruka Iwao
 
Githubサービスについて
GithubサービスについてGithubサービスについて
GithubサービスについてAkura Pi
 
会社に Github導入した話
会社に Github導入した話会社に Github導入した話
会社に Github導入した話Yutaka Kinjyo
 
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 githubTomohiko Himura
 
オープンセミナー香川2012 LT
オープンセミナー香川2012 LTオープンセミナー香川2012 LT
オープンセミナー香川2012 LTKouta Imanaka
 
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る GitYouhei Nitta
 
Gitはじめの一歩
Gitはじめの一歩Gitはじめの一歩
Gitはじめの一歩Ayana Yokota
 
Git Flowを運用するために
Git Flowを運用するためにGit Flowを運用するために
Git Flowを運用するためにShun Tsunoda
 
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料mihararyosuke
 
Gitpractice01
Gitpractice01Gitpractice01
Gitpractice01mmm110
 
Github と仲良くなろう!
Github と仲良くなろう!Github と仲良くなろう!
Github と仲良くなろう!Kentaro Ohkouchi
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門Muyuu Fujita
 
一人でできるPullRequest
一人でできるPullRequest一人でできるPullRequest
一人でできるPullRequestsnow long
 

What's hot (20)

Git flow
Git flowGit flow
Git flow
 
初心者がGoでCLIツール作ってみて学んだこと
初心者がGoでCLIツール作ってみて学んだこと初心者がGoでCLIツール作ってみて学んだこと
初心者がGoでCLIツール作ってみて学んだこと
 
01.app
01.app01.app
01.app
 
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
 
KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話KotlinつかってQiitaクライアント作った時の話
KotlinつかってQiitaクライアント作った時の話
 
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンGit for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオン
 
Githubサービスについて
GithubサービスについてGithubサービスについて
Githubサービスについて
 
会社に Github導入した話
会社に Github導入した話会社に Github導入した話
会社に Github導入した話
 
LT 手作りGit
LT 手作りGitLT 手作りGit
LT 手作りGit
 
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
 
オープンセミナー香川2012 LT
オープンセミナー香川2012 LTオープンセミナー香川2012 LT
オープンセミナー香川2012 LT
 
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git
 
Gitはじめの一歩
Gitはじめの一歩Gitはじめの一歩
Gitはじめの一歩
 
Git Flowを運用するために
Git Flowを運用するためにGit Flowを運用するために
Git Flowを運用するために
 
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
 
Gitpractice01
Gitpractice01Gitpractice01
Gitpractice01
 
Github と仲良くなろう!
Github と仲良くなろう!Github と仲良くなろう!
Github と仲良くなろう!
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門
 
一人でできるPullRequest
一人でできるPullRequest一人でできるPullRequest
一人でできるPullRequest
 

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

今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築You&I
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門kashew_nuts
 
Io t,ai時代のソフトウェア
Io t,ai時代のソフトウェアIo t,ai時代のソフトウェア
Io t,ai時代のソフトウェアToshiaki Kurokawa
 
2017823 pythonを始めよう
2017823 pythonを始めよう2017823 pythonを始めよう
2017823 pythonを始めようshouta yoshikai
 
Isomorphic Architecture & Interface
Isomorphic Architecture & InterfaceIsomorphic Architecture & Interface
Isomorphic Architecture & InterfaceJxck Jxck
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithublion-man
 
プランナーがPR駆動してみた話
プランナーがPR駆動してみた話プランナーがPR駆動してみた話
プランナーがPR駆動してみた話Rino Omura
 
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう中條 剛
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたTakako Miyagawa
 
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpPython エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpTakeshi Komiya
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6信之 岩永
 
AI搭載の新しいBingとEdge
AI搭載の新しいBingとEdgeAI搭載の新しいBingとEdge
AI搭載の新しいBingとEdgeTomokazu Kizawa
 
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことUnityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことKouji Hosoda
 
Git hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうかGit hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうかKakigi Katuyuki
 
楽天の中のわたしと勉強会
楽天の中のわたしと勉強会楽天の中のわたしと勉強会
楽天の中のわたしと勉強会Rakuten Group, Inc.
 
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINE Corporation
 

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

今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門
 
Pythonを始めよう
Pythonを始めようPythonを始めよう
Pythonを始めよう
 
Io t,ai時代のソフトウェア
Io t,ai時代のソフトウェアIo t,ai時代のソフトウェア
Io t,ai時代のソフトウェア
 
2017823 pythonを始めよう
2017823 pythonを始めよう2017823 pythonを始めよう
2017823 pythonを始めよう
 
Isomorphic Architecture & Interface
Isomorphic Architecture & InterfaceIsomorphic Architecture & Interface
Isomorphic Architecture & Interface
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithub
 
プランナーがPR駆動してみた話
プランナーがPR駆動してみた話プランナーがPR駆動してみた話
プランナーがPR駆動してみた話
 
Cmujp21_node-webkit
Cmujp21_node-webkitCmujp21_node-webkit
Cmujp21_node-webkit
 
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
 
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjpPython エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
 
Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6Unityで使える C# 6.0~と .NET 4.6
Unityで使える C# 6.0~と .NET 4.6
 
AI搭載の新しいBingとEdge
AI搭載の新しいBingとEdgeAI搭載の新しいBingとEdge
AI搭載の新しいBingとEdge
 
stapy#23 LT
stapy#23 LTstapy#23 LT
stapy#23 LT
 
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったことUnityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
 
Git hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうかGit hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうか
 
楽天の中のわたしと勉強会
楽天の中のわたしと勉強会楽天の中のわたしと勉強会
楽天の中のわたしと勉強会
 
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE NotifyについてLINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
LINEにおける GitHub Enterpriseの活用事例と LINE Notifyについて
 

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