2歩戻ったら2.5歩進みたい

関東で働くweb developerのブログ

【git】git初心者がプロジェクトでissueを割り当てられてから正しくmergeされるまでの流れ

この記事について

こんにちは。きゃにすたーです。web系のいわゆるベンチャー企業に就職してから早1ヶ月、 今やgit&Githubは無くてはならない存在になりました。 この記事は僕のようなgit初心者がチーム開発でだいたい初めにやりそうなことの流れをまとめて書いたメモです。

大まかな流れ

  • イシューが割り当てられる

  • 自分で直す

  • コミットしてプッシュする

  • マージされて終わり。

こんな感じです。なお、作業対象のリポジトリは事前にローカルにcloneしているものとします。

実際のコマンドを含めた流れ

  • issueを確認する
    hogeブランチのバグを直す、というissueが割り当てられています。

  • 作業対象のhogeブランチにgit checkout hogeしてからgit pull origin hogeでローカルリポジトリをリモートリポジトリの最新のhogeブランチと同期する

  • hogeブランチからgit checkout -b hoge_fix_bugでブランチを切る

    • 必ず作業対象のブランチ(ここでいうhoge)からブランチを切ってからコーディングを始めること
  • コーディングする。楽しい。

  • 変更し終わったらgit add -Aでステージング(この時点ではまだローカルリポジトリも変更されていない)

  • git commit -m "メッセージ"でコミットする

  • git push origin hoge_fix_bugでコードを直した自分のブランチをプッシュする

    • これでリモートリポジトリにhoge_fix_bugブランチが作成される
    • originはリモートリポジトリのサーバー名。
    • 間違ってもmasterpushしないこと。最悪の場合インターネット集団自決に発展します。

ここから下はGithubの作業。

  • Githubに自分がpushしたブランチが表示されているので、「Compare & Pull Request」を押す。

    • タイトルの変更とかレビュアーの設定とかラベリングとかなんやかんやできるのでなんやかんやする。
    • また、マージ先のブランチはcheckout元のブランチに設定するのが良いでしょう。(ここでいうhoge)
  • 以降はレビュアーにレビューしてもらって何回か直せばめでたくあなたのタスクは終わりです。お疲れ様でした。

まとめ

gitは神。

今の会社でgitを使うまでは「なーーーーーにがgitじゃファイル名管理でもイケるやろ」と思っていたのですが、使ってみるとほんとーに便利です。 今後もちょくちょくgitに限らずちょこちょこ更新したいと思います。ではまた。

「Pythonでwebサービスを作る」学習メモ2巻②

こんにちは。きゃにすたーです。

この記事は「Pythonwebサービスを作る」の2巻の学習メモその②です。

前回の記事はこちら。

canisterism.hatenablog.com

ソースはこちらに。

github.com

続きを読む

「Pythonでwebサービスを作る」学習メモ2巻①

こんにちは。きゃにすたーです。

この記事は「Pythonwebサービスを作る」の2巻の学習メモその①です。

前回の記事はこちら。

canisterism.hatenablog.com

ソースはこちらに。

github.com

  • Bootstrapを扱う
    • ヘッダの作成
    • コンテナ
    • ジャンボトロン
    • ナビゲーションバー
    • ボタンの見た目を整える
  • グリッドレイアウト
    • Font Awesome
    • 半分ぐらいまで行った時の見た目
続きを読む

「Pythonでwebサービスを作る」学習メモ 1巻②

どうもこんにちは。きゃにすたーです。 前回に引き続いて「Pythonwebサービスを作る」の1巻学習メモです。

前回の記事はこちら。 canisterism.hatenablog.com

ソースはこちらに。

github.com

  • GETのURLパラメーターを受け取る
  • POSTで送られてきたリクエストボディの中身を受け取る
  • バイナリデータの取得
    • 誤植?
  • htmlにコードを埋め込む
    • 条件分岐
    • リストの展開
    • 辞書型にアクセス
  • テンプレートの継承
  • まとめ
続きを読む

「Pythonでwebサービスを作る」学習メモ 1巻①

どうもこんにちは。きゃにすたーです。

この記事は「Pythonwebサービスを作る」でwebサービスを作っている時の学習メモその①です。自分の中で整理するため、ざっくりとした内容&詰まったところなんかを書いていきます。

全3巻中の1巻が終わったところですが、非常にわかりやすかったです。しかもkindle unlimitedで今ならタダ。マジかよ。全国のweb業界ワナビーはこれで勉強しましょう。出版されたのが非常に最近で、3巻では最終的にHerokuでデプロイするところまで書いてくれています。

ソースはこちらに上げております。

github.com

早速見ていきましょう。

  • 環境構築
  • ルーティング
  • テンプレートエンジン
    • 具体的な書き方
続きを読む

seabornで散布図を描く

はじめに

・seabornを使って散布図を書く。

・seabornとは、pythonのグラフ描画ライブラリである

 matplotlibのラッパー

・matplotlibよりも書きやすいし、簡単に豊かな表現ができるので、

 人に見せる時や探索的データ解析する際に非常にお世話になる

・毎回書き方を忘れてしまうのと、自分でデータを作るのも慣れてないので覚え書き的に書いていく。

書いてみる

%matplotlib inline
import seaborn as sns
import pandas as pd
import random

#xは1~100で乱数を生成する。
x=[]
for i in range (40):
  x.append(random.randint(1,100))

#yはxの2乗に1~5000までの乱数を足して多少バラつきを足す
y=[]
for i in range(40):
  y.append(pow(x[i],2)+random.randint(2,5000))

#DataFrameに入れる
df=pd.DataFrame({"x":x,"y":y})

#プロット
sns.lmplot(x="x",y="y",data=df)

f:id:canisterism:20180308222012p:plain

はいこの通り。

・回帰直線がデフォルトで出るので、

sns.lmplot(x="x",y="y",data=df,fit_reg=False)

と書けば出なくなる。

f:id:canisterism:20180308222019p:plain

カンタン!

orderを変えればn次曲線で回帰線が引ける。

sns.lmplot(x="x",y="y",data=df,order=2)

f:id:canisterism:20180308221947p:plain

綺麗に出ました。

余談

複数のリストをDataFrameにまとめるとき、

df=pd.DataFrame({"a":[1,2,3],"b":[4,5,6]})

って感じで辞書型で置くのが慣れなくて毎回戸惑ってしまう。

pd.DataFrame(a,b)

で書きたい。

seabornでデータを指定する時も戸惑う。

sns.lmplot(x="a",y="b",data=df)

という感じで、カラム名を文字列で指定するのが微妙にピンと来ない。

sns.lmplot(x=df.a,y=df.b)

と書きたいが、とりあえず慣れるしかないので頑張る。

まとめ

・基本的には文字列でカラムを指定して、

実際のDataFrameはdataの引数にまとめて突っ込めば良い。

・慣らすために散布図だけ書いたが、もっと色々と便利なのでそのうち紹介していく

・seabornはいいぞ

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

データ分析2ヶ月目の感想とやっていく気持ちの話

どうもこんにちは。きゃにすたーです。

突然ですが、今日はなんとなくエモい気持ちになったので僕が今やってるお仕事の話をしたいと思います。

  • これまで
  • 今やっていること
  • これから 

 

続きを読む