PostgreSQLのアップグレードで起動失敗

HomebrewでインストールしたPostgreSQL。 アップデートしたらサービスとして起動はするんだけど psql打つとエラーが出てDBに接続できない。

課題

$ psql postgres
$ psql: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

環境が悪いのか、何が悪いのかが分かってないが
対応策として以下でなんとかはなった。 

注意)fixBrewLionPostgresql.sh がいま無さそう…

解決策

$ cd /usr/local/Cellar/postgresql
$ curl -o fixBrewLionPostgresql.sh http://nextmarvel.net/blog/downloads/fixBrewLionPostgres.sh
$ chmod 777 fixBrewLionPostgresql.sh
$ ./fixBrewLionPostgresql.sh
$ pg_ctl -D /usr/local/var/postgres start

参考サイト

qiita.com

miniTest system test できてなかった

Systemテスト実行は $ rails test:system

Railsアプリ作っててテストはminiTestを使用してた

  • 個人的にはRspecのほうが読みやすい
  • 他プロジェクトでminiTestを使用してたので統一した
  • まぁ結局悩むのはCapybaraのassertionだしね

modelのテストでFixture変えたのに

  • なんでシステムテストでエラー出ないのかな?と思ってた
  • まぁあとで直すして思ってたらテストが実行できてなかった
  • $ rails test はsystemのテストは実行してくれない

$ rails test:system で無事エラー出た

  • 最初にまとめて書いてたのもよくない。TDDの順序ミスった
  • まとめてできたら便利なのに、と思ったらあえての仕様のもよう
  • 一応の解決策としては$ rails test test/* でどっちもテストしてくれた

参考サイト satococoa.hatenablog.com

DeleteとRemoveの使い分け

あんまり意識せずにメソッド名やコメントにdeleteをよく使ってたんだけど コミットコメントに関して調べてたら興味深い使い分けを知ったのでメモ。

Microsoftスタイルガイドの指標

  • Delete ファイル自体を削除する時
  • Remove ファイルの内容、項目等を削除する時

removeの訳は取り除く。削除というより移動させる。
deleteとすると完全に消すイメージになるので
removeを使うと削除ではないことがわかりやすいからだとか。

コマンドでファイル削除にrm(removeの略)を使ったりするからなんか違和感が^_^;

参考サイト

www.sonydna.com

Git リモートリポジトリにあるブランチを取得する

単純にgit checkout -b new_branch origin/expect_branch

リモートリポジトリにあるブランチを取得したい

  • masterのクローンやブランチのPushはしたことはある
  • リモートにある他ブランチはダウンロードしたことが無い
  • git branch でも見えない。GitHubサイトでは見える

リモートブランチも表示させる

  • git branch -a
  • remotes/origin/ブランチ名称でリモートブランチも表示された
  • でも欲しいブランチが見つからない〜(-_-)

ローカルリポジトリの更新が必要でした

  • git fetch でローカルリポジトリを最新に更新
  • 無事欲しいリモートリポジトリにあるブランチが表示された
  • git checkout -b 新ブランチ名 origin/欲しいリモートブランチ名 で取得

GitHub プルリクエストマージ後の修正について

GitHubプルリク後の修正は、再度プルリクを作る

プルリク後に修正が出た

  • ローカルのブランチ(プルリクしたブランチ)を修正
  • 一度Pushしたローカルブランチを再度GitHubにPush
  • マージ後のプルリクサイトには何も反映されない

プルリクサイト(マージ後

  • マージしたプルリク、ブランチについては完了扱い
  • とっとと該当のブランチ消してしまえ状態
  • ブランチが同じでも、その後の更新はここには反映されない

同じブランチを更新してPushすると?

  • ホーム画面(たいていmasterブランチ)に更新ありましたよと通知が表示される
  • 通知に再度プルリクを作成しますかとリンクがある
  • そこから新しいプルリクを作成して、再度マージ申請を行う

MiniTestのassertionについて

assert notではなく、refute

assert_not〜があると思って必死にさがしてたら
refuteでした。どうりで全然ヒットしないわけだ。

馴染みがないので調べたら
refute の英語訳は誤りを証明するでした。
探してたのはまさにコレ!!

2018.10.18 追記

assert_no_text とか見つかったわ。なんなんコレェw