More Related Content Similar to Python for Data Analysis第1回勉強会(+git入門)
Similar to Python for Data Analysis第1回勉強会(+git入門) (20) More from Makoto Kawano (8) Python for Data Analysis第1回勉強会(+git入門)2. 今日やること
• Git ~ソースコードをうまく管理しよう~
• 第一章 ~PythonDe統計のための準備~
2
6. プロジェクト開発の流れ
6
Start
メンバー間で仕様を共有
実装担当の割振・把握
未実装部分の確認
がりがり実装
実装をメンバーに共有
実装終わった?
Yes
End or 振り出し
No
7. プロジェクト開発の流れ
7
Start
メンバー間で仕様を共有
実装担当の割振・把握
未実装部分の確認
がりがり実装
実装をメンバーに共有
ここ重要No
実装終わった?
Yes
End or 振り出し
12. リポジトリとかマージって何
リポジトリ(Repository)
• ファイル管理を行うプロジェクトディレクトリ
• ローカルに個人用リポジトリがあったり,サーバに共有リポジトリがある
ブランチ(Branch)
• リポジトリの枝
• 安定版・開発版・レガシー版などリポジトリを分岐させる
コミット(Commit)
• ソースコードの変更箇所をリポジトリに保存してバージョニングするこ
と
12
16. 改めてGitって
Linus / Torvalds氏が開発した分散型バージョン管理
• 彼が開発していたOSのバージョン管理に使うためGit
誕生
大規模プロジェクトでも安心の速度で動作
• Google Codeやら某IT企業でも導入されてます
16
17. Gitのいいところ
Githubっていう神サービスがある
• https://github.com/
• 無料!
ネットワーク環境がなくてもコミット可
• スタバでドヤる時に
• 中央集約型だとネットワーク環境ないとダメ('ω'乂)
Branch, Reset, Mergeが高速
• ふーん
17
20. 準備(ローカル編)
ユーザ情報の設定
• ユーザ毎にログイン名や連絡先を登録
• Githubに合わせると楽かもしれない
ローカルリポジトリを作成
20
% git config --global user.name “<your_name>”
% git config --global user.email your@mail.address
% cd <your_directory>/
% mkdir python_analysis_code
% cd python_analysis_code
% git init
22. さっそく
ファイルをaddする
statusを見る
• Changes to be committed:に入ったはず
• ステージに乗ったとか言うはず
(今後gitが追跡してくれる)
22
% git add README
% git status
23. さっそく
commitする
• コミットログは短く,わかりやすいものを
statusを見る
• nothing to commit, working directory clean
とか出てたらOK
23
% git commit -m “first commit”
% git status
24. ここからちょっと難しい
ブランチ覚えてる?
• 作業を分岐させる
% git branch issue1
% git checkout issue1
ブランチを見てみよう
• できてたでしょ? *は今自分がいるブランチ
24
% git checkout -b issue1
or
% git branch
28. ブランチ体験
さっきのREADMEに書こう
さっそくadd / commitする
そういえば今までどんなことしたっけ?
28
% vim README
さいこうだよ!かっこいいよ!
% git add README
% git commit -m “READMEに1行追加”
% git log
31. ブランチ体験
さっきのブランチに切り替える
ファイルを更に編集しよう
終わったらadd / commitしてね
もうだいじょうぶだよね
31
% git checkout issue1
% vim README
さいこうだよ!かっこいいよ!
でもわたしなんかだめだめだよ….
% git add README
% git commit -m “返事した”
38. ブランチ実戦
さらにファイルを編集
add / commit しましょ
38
% vim README
さいこうだよ!かっこいいよ!
でもわたしなんかだめだめだよ….
そんなことないよ!僕よりイケてるよ!
% git add README
% git commit -m “励まされた”
39. ブランチ実戦
issue3ブランチにチェックアウト
確認してみる
ファイルを編集しちゃおう
39
% git checkout issue3
% less README
% vim README
さいこうだよ!かっこいいよ!
でもわたしなんかだめだめだよ….
そうかも…ダメかもしれない….
% git add README
% git commit -m “追い込まれた”
42. ブランチ実戦
とりあえずやってみよう
ほらやっぱりコンフリクト(競合)おきた
ファイルはどうなったん?
42
% git merge issue3
Auto-merging README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the
result.
% vim README
43. ブランチ実戦
こんな感じだよね
43
さいこうだよ!かっこいいよ!
でもわたしなんかだめだめだよ….
<<<<<<< HEAD
そんなことないよ!僕よりイケてるよ!
=======
そうかも…ダメかもしれない….
>>>>>>> issue3
←もともとあったやつ
←マージしようとした奴に
あったやつ
50. What Is This Book About?
Pythonでデータを操作・処理・整理・理解す
るための基礎を教えてくれる
• 実践的な科学計算
• 手法の解説はしないよ
50
51. Why Python for Data
Analysis?
近年アプリ・学問において科学計算で使われるようになっ
てきた
• データ分析・計算・可視化で優れてる
• CythonとかでCやC++とのインターフェースが用意され,コ
ンパイルも速くなってきてる
• RやMATLABと違って科学計算だけでなくProductにも使える
• JavaやC++には速度負けるけど,プログラミングの時間は短
縮できるし,トレードオフでしょ(いけるならCとかのほうが
いい)
51
52. Essential Python Libraries
NumPy
• 配列とか高速に使える
pandas
• データ構造とかをよしなに扱える
matplotlib
• グラフとか可視化最強
IPython
• リッチなインタラクティブコンソール
SciPy
• いろいろな科学計算が入ってる
52
54. おすすめコンソール
iterm2
• http://iterm2.com/
• Preference>Profiles>Command
• /bin/zsh
~/.zshrcを作成,編集すると幸せになれる
• 痒いところに手が届くようになるよ
• 他人のを参考にするといい
• https://gist.github.com/mollifier/4979906/
• http://shepherdmaster.hateblo.jp/entry/20110924/1316881131
54
55. おすすめエディタ
SublimeText3
• http://www.sublimetext.com/3/
設定とかプラグイン
• http://qiita.com/mattuso/items/
259f60b3d3bc46bf983c
55
56. pyenv
pythonには
• 2系3系と言われるバージョンがある
• いろいろなディストリビューションがある
使い分けちゃおう!っていうのがpyenv
56
57. pyenv インストール諸々
インストール
設定(~/.zshrc追記)
使い方
57
% sudo brew install pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
export PYENV_ROOT=/usr/local/opt/pyenv
% pyenv install 2.7.8
% pyenv install anaconda-2.1.0
% pyenv global anaconda-2.1.0
% pyenv local anaconda-2.1.0