悠々としたTECH日記

「TECH日記」と言いながらそんなに面白いこと書いてない。備忘録的な感じ。 もちろん、宣伝とかもするけど、ブログを基本的にTwitterの延長としか考えてないので、その程度に。あと、作文の練習も兼ねて。

ゆ~さんがこの二か月で習得したこと

広告の危険ライン回避の記事で CoderDojo について書いてたけどなんかなかなか進まない(削れない)ので、こんなことを投稿。

ま、この二か月の日記というか振り返りというか。

(よーするに二か月くらいまえからたってるんじゃねーかという。)

Git / Github

といってもここ最近だけど。 いちいち書いてたら間に合わないのでこれ便利ーっていうのだけ。 メモメモ。

Git

git add -p (差分分割) :

変更、差分の分割に使う。 あー、同じファイルで目的違う 変更・差分つくちゃったわーって時に使う。多分ステージ状態にするのをきめたりできるんだっけ。

git stash (一回差分とか回避?) :

一回差分を保存できる。 回復は、 git stash list で番号をみて、 git stash pop stash@{#number} で復活。

git rebase -i (量産したコミットたちを縛り上げて一つにできる) :

おーー、コミット量産ー! でもこのまま push やら PR は汚いわー。って時に使う。HEAD~~~みたいな感じで頭からまとめるのを指定できる。ログで pick から s(sqash)なりなんなりでまとめるのを変更してそのまま保存すればまとめた後のコミット名の編集画面になる。

git commit --amend (しくじったコミットメッセージも治せる) :

いぇー!コミットメッセージ、Add を Ads にしてやったぜー、とか、 Update を Updata にしてやったぜー みたいな感じに使う。直前のコミットメッセージの変更ができる。

Github

以下のやつをサポートしてもらいながら作ってる(学習含めて)のでございますが...

coderdojo-konan-jp-rails.herokuapp.com

公開してるのは、 Gihub。なるほど、結構おもしろい。

github.com

Issues と Commit を紐づける

git commit するときに対応する番号を入力するだけ。

例:) issue id が #3 で、紐づけする時

git commit -m "#3 Add Hepler for Next Event URL"

あとは、 git push すれば... (ブランチは対象リポジトリあればなんでもOK)

f:id:yu-san-19:20180420232331p:plain

こういう風に追加される。

Issues や PR と Issues や PR を紐づける

コメント欄や説明版に #{id} を入れる、ただそれだけ。

PR の マージと一緒に Issue も Close

PR の説明欄に キーワード + #id キーワードは調べれば出てくるけど、

fix
fixed
resolve
resolved
close
closed

ぐらいは正しいと思う。

Rails / RSpec

といってもまああまり特筆事項はないか...

Rails

helper

意外に思ったのが、 root_url とか、 devise の current_user とかもHelper やったのね...(あれ、違う..?)

Dojo の HP では、次のイベントのページのURLをHelperで取得できるようにしてる。

RSpec

基本的なこと

テストの役割とか?

人間様でも見つけられないミスとか、やはり機械的に定義しなければ...

ただ、その機械に定義するのも人間というね... 勉強します...

基本的に、

  describe "検証するもの。next_event_url みたいな" do
    context "場合とか。現在が開催前の場合 みたいな" do
      it "検証することとかく。イベントURLを返すこと みたいな"  do
        expect('調べる値').to 期待すること # eq 'https://hoge.com' であれば hoge と等しいかを検証する
      end
    end
  end

という構文みたい。

これはなんというか、いかに期待することを再現して構文をするかっていう。訓練が必要ね。

Travis CI & Heroku

もう一項にまとめてしまう。

Travis CI は、テストを自動でやってくれるCIツール。

Heroku は Paas だったっけ、デプロイしたらすぐにアプリが公開できるサービスで、無料でも制約はあるけど使用できる。

そして、 Travis の設定次第で Travis のテストがパス => Heroku へそのまま自動デプロイ ということもできる。

Heroku

PostageSQL

Heroku はデフォルトで Rails に設定されてる SQLite ではなく、PostgreSQL なので、それ用の設定が必要。といっても設定ファイルはほとんど向こうで書き換えてくれるので、必要なのは、 Gemfile に gem 'pg' を追加すればよいだけ。(productionに入れなくてもよいという話も聞いたことあるけど...)

おしまい

これぐらい?

まだ間違った認識や、あと変数・クラス・メソッドの命名とかはへたくそだったり、うまくリファクタリングというかができなかったりするので... おもしろい。

ま、もっともっと精進してまいります。