appearInでカメラ・マイクが繋がらなくて焦った

OS側のブラウザ許可設定ができてなかった

Mojaveの場合だと、システム設定->セキュリティとプライバシー にあるプライバシータブを押して カメラを選択すると出てくる対象ブラウザにチェックをいれて許可する。

現象

appear.inというサービスでTV会議をすることが多い。 昨日接続しようとしたら、接続はできたものの以下エラーで カメラ・マイクが繋がらなかった。

以下のウィンドウがチラッと表示される Image from Gyazo

appearInのカメラ設定画面開くとこんな感じ 真ん中の黒い部分に本来はカメラ画像が出る Image from Gyazo

原因

去年の最後にMacOSをクリアにして再インストールしたが そのさい設定が元に戻っていなかった。

調べてみるとMojaveからちょっと設定方法が変わったっぽい。 Chromeでは駄目だったが、Safariだと問題なくカメラ写ったので Chromeのマイク・カメラの許可をいじったが結局はOS側でした。 まぁそっちの設定も必要だけど。

本家サイトにも設定方法書いてあった。 https://appearin.helpscoutdocs.com/article/205-appear-in-isnt-selecting-camera-mic

Bootstrap4時のRspec radiobutton編

CSSフレームワークは便利なんだけど、テストコードに悩むことがあったのでメモ

結論 CSSのSelector使ってテストする

通常のselectタグのラジオボタンのテストなら

expect(page).to have_select("selectタグの名称", selected: "選択値")

で良いんだけどBootstrap4を使うとselectタグを使用しなくて
checkedで判断するというより.activeで判断する。

以下Bootstrapでのラジオボタン

<div class="btn-group btn-group-toggle" data-toggle="buttons">
  <label class="btn btn-secondary active">
    <input type="radio" name="options id="option1" autocomplete="off"" checked> アクティブ
  </label>
  <label class="btn btn-secondary">
    <input type="radio" name="options" id="option2" autocomplete="off"> ラジオ
  </label>
  <label class="btn btn-secondary">
    <input type="radio" name="options" id="option3" autocomplete="off"> ラジオ
  </label>
</div>

こうなるので、テストコードとしては以下で判断する。CSSセレクタは便利

expect(page).to have_selector(".active", text: "アクティブ")

Bootstrap4時のRspec radiobutton編

CSSフレームワークは便利なんだけど、テストコードに悩むことがあったのでメモ

結論 CSSのSelector使ってテストする

通常のselectタグのラジオボタンのテストなら

expect(page).to have_select("selectタグの名称", selected: "選択値")

で良いんだけどBootstrap4を使うとselectタグを使用しなくて
checkedで判断するというより.activeで判断する。

以下Bootstrapでのラジオボタン

<div class="btn-group btn-group-toggle" data-toggle="buttons">
  <label class="btn btn-secondary active">
    <input type="radio" name="options id="option1" autocomplete="off"" checked> アクティブ
  </label>
  <label class="btn btn-secondary">
    <input type="radio" name="options" id="option2" autocomplete="off"> ラジオ
  </label>
  <label class="btn btn-secondary">
    <input type="radio" name="options" id="option3" autocomplete="off"> ラジオ
  </label>
</div>

こうなるので、テストコードとしては以下で判断する。CSSセレクタは便利

expect(page).to have_selector(".active", text: "アクティブ")

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