2020/04/01~2020/05/13のメモ

👶生まれたりして忙しくて完全に習慣が途切れていた。メモ自体は時々取れていたので一度にコピペしておく

タブレットホルダー

やっぱりrubymineでfishのロードに失敗する

  • 失敗するときと成功する時がある。
    • PATHがターミナルで開いたときと違う
    • たぶんfishで特定のPATHを追加する前にエラーになっているのではないか
    • shell統合するとさらにPATHがへる。
  • ターミナル - 公式ヘルプ | RubyMine
  • ~/.config/fish/config.fishを読み込んだときに、パスがとおっていないコマンドを実行しようとしてエラーになる。
    • そもそも /usr/local/binをPATH登録している場所が見つからなかったので、ターミナルでfishを起動してhomebrewが使えるのがなにかおかしい気がしてきた
      • 特殊なことをしていそう
      • config.fishの先頭でbrew shellenvで表示した値をいれたらエラーが出なくなった
  • rubymineのときはfishの設定ファイルの読み込み順番がターミナルのときと違う、という推測

第2回 IDEF1XによるER図の記述:初めてのデータベース設計|gihyo.jp … 技術評論社

er図の書き方、いつも「これであってるんだっけ?」となる

macos - xcode-select active developer directory error - Stack Overflow

  • yarn installでgypのビルドに失敗した
  • xcodeコマンドラインツールを入れる
  • sudo xcode-select -switch /Library/Developer/CommandLineTools
  • yarn cache cleanしてからyarn install
  • で解決した

macmini 2011の電源が入らない

  • 電源をいれてもすぐ電源ランプが消失して電源が切れてしまっていた
  • もう使わないし修理にお金かけてもな…となっていたので捨てるかな、と思っていた
    • が、SSDを消去してから捨てないとなーとなり放置していた
  • https://support.apple.com/ja-jp/HT201295
  • macminiからSSDとりだすの、めんどくさすぎたので諦めてそのままリサイクルに出すことにした

less にパイプしても色が消えないようにする方法 - Qiita

less -R忘れがち

macbook pro 16インチ突然の死

  • PRAMリセットやSMCリセット、セーフブート実施済み
  • OSXの再インストール実施済み
  • しかし死
  • 別ユーザを作って様子を見るか、クリーンインストールするか
  • CalDigit Support Downloads ファームウェアあるけど10.15.4だと問題あるみたいなのでまだ入れないでおく
    • そもそもcaldigitとつないでいないときも死ぬので関係ないんじゃないかと
  • 一応周辺機器原因説あるかもしれないので、しばらくすべての周辺機器はずして作業してみようかなあ…→クリーンインストールしても再現してしまったので修理出した

MySQLの接続についてdatabase.ymlに書ける設定 - Qiita

variablesに書かれている設定をActiveRecordはセッションの設定として指定する。

へー

https://api.rubyonrails.org/classes/ActionController/ParamsWrapper.html

rails newするとconfig/initializers/wrap_parameters.rbで↓の用に設定されている

ActiveSupport.on_load(:action_controller) do
  wrap_parameters format: [:json]
end

htmlとjsonとでリクエストを投げるとき、json側のリクエストのフォーマット側でいちいち{users: { ... } }みたいにしなくてよくて便利。ということかな

基本使わないけどたまになにかの表紙で見かけて調べる、というのを1年に一回くらいやっている気がする

Pipeline Variables - CircleCI

ハードコーディングで記述して、かつ何回も参照しているやつをparametersとして定義してやるとなにかあって変更するときによい

macOS Mojave cannot find /var/db/DetachedSignatures with Swift 4

macが突然再起動している問題を調べていたらコンソールでリンク先と同じエラーが出ていた

Model error as object by lulalala · Pull Request #32313 · rails/rails

  • Errorクラスを新設することで、Errorsに対してwhereなどのクエリっぽいメソッドを生やすことができるようになった
  • 複雑なモデルの複雑なエラーをゴニョゴニョしやすくなったのかな

https://qiita.com/bbapexx/items/208ded6064e8ae08294e

karabinerで権限を許可したいものが表示されなくて困ったけど、単に+を押してファイルを探しにいくだけでよかった

redisのメモリ消費量が大きすぎるので調査

ActiveStorageで削除する流れ

  • 「self.image = nil」とすると、ActiveStorage::Attached::Changes::DeleteOneが作られて保存後に実行される
  • ActiveStorage::Attached::Changes::DeleteOneはimage_attachment=nilを実行する
  • has_one :image_attachmentになっているのでAttachmentは保存のタイミングで削除される(はず)
  • attachmentでは、after_destroy_commitでpurge_dependent_blob_laterが実行されるようになっている
  • purge_dependent_blob_laterは↓なので、関連のオプションがpurge_laterだとpurge_laterされる
    def purge_dependent_blob_later
      blob&.purge_later if dependent == :purge_later
    end
  • purge_laterはデフォルトで設定されているので、明示的にそれ以外に変えない場合はpurge_laterでblobが消される
  • purge_laterの実態はActiveStorage::PurgeJob.perform_later(self)
  • ActiveStorage::PurgeJob.perform_laterはpurge_later
  • purge_laterはdestroyしてdelete
  • deleteは画像の削除(サムネイルも一緒に消す)