はじめに
Laravel で View 用のロジックを分離できるライブラリ robclancy/presenter の使い方について整理した。
TL;DR
- robclancy/presenter を使うと簡単に Decorator パターンを実装できる
composer require robclancy/presenterでインストール- ちょっとした設定、XxxxPresenter クラスの作成、Model ファイルの編集だけで View 用のロジックを分離できて便利
Laravel で View 用のロジックを分離できるライブラリ robclancy/presenter の使い方について整理した。
composer require robclancy/presenter でインストールJavaScript のソースコードの圧縮・難読化ツールについて調べたり試したりしたので記事にまとめた。
Google chrome の拡張機能の開発で javascript-obfuscator/javascript-obfuscator を使って minify をしていたが、Google さんから「Policy 違反」と言われてしまったため、何がまずかったのかと代替できそうなツールを探した。
※2019/09/28 現在では、新しいツール(terser/terser を選択)を使って minify したソースをまだ提出していないので、もし Chrome 拡張機能の JS 圧縮について調べていてこのページにたどり着いた場合は鵜呑みにしないように注意。
MacBook Pro を修理に出したので、修理状況を定期的に確認できる Python スクリプトを書いた…んだけど、全部終わった後に「ステータス変わったらメールで通知ある(はずだ)から要らないんじゃね?」ってなった。
とは言え腐らせるのももったいないので記事にまとめておく。
git clone git@github.com:17number/fetch-apple-repair-status.git)cron などで定期的に実行すると良さげGit を使った開発をしていて composer.lock の content-hash でコンフリクトが発生した時の解決方法のメモ。
composer.lock の content-hash のコンフリクトは以下で解決できるcontent-hash のどちらかを残すcomposer update --lock を実行Git を使った開発をしていて package-lock.json でコンフリクトが発生した時の解決方法のメモ。
package-lock.json のコンフリクトは npm install すれば解決できるMacBook Pro を新調して、旧マシンから移行アシスタントを使って環境を移行した。データの移行自体は問題なくできたが、移行をきっかけに愛用していた HyperSwitch が動作しなくなってしまった。
(自分は復旧できなかったが) 誰かの参考になるかもしれないので、試したことや参考サイト、HyperSwitch からの乗り換え候補などをまとめておく。
Git のバージョンアップ に合わせて git-completion.bash もアップデートしたら、g(git のエイリアス)で補完が効かなくなった。
g などのエイリアスに対しても補完を有効化する方法を忘れないようにまとめておく。(お察しの通り、過去の自分が有効化してたものを無効化してしまうという無能っぷり)
~/.git-completion.bash の末尾に __git_complete g __git_main を追加するgit-completion.bash をアップデートする時には絶対忘れている(確信)~/.git-completion.bash の読み込み後に処理を追加する方が良さそう(大抵は ~/.bashrc)if [ -f ~/.git-completion.bash ]; then source ~/.git-completion.bash; __git_complete g __git_main; fiMacBook Pro を新調したら Homebrew で Error: /usr/local/Cellar is not writable. や Error: Permission denied @ dir_s_mkdir のエラーが出たので解決策を整理した。
sudo chown -R $(whoami) $(brew --prefix)/* で解決する(はず)PHP ファイルを Git リポジトリに登録(commit)する時に、PHP-CS-Fixer で自動整形を必須にする方法を調べた。
.git/hooks/pre-commit でも実現できるが、できればチームメンバー内で共有したい(git clone (してゴニョゴニョ)するだけで使えるようにしたい)ので、もう少し突っ込んで調べてみた。
husky + lint-staged + php-cs-fixer でコミット時の自動整形を実現可能husky を使うと、package.json で クライアントサイドの Git hooks(pre-commit など)を利用できる
lint-staged を使うと、ファイル種別ごとにコマンドを実行できるhusky + lint-staged で、*.php の commit 時に php-cs-fixer を実行するMacBook Pro(15-inch, 2016)をスリープさせても、正しくスリープしてくれなかった(ファンが回り続ける)ので対処法を調べた。
今回は SMC(システム管理コントローラ) のリセット のみで状況改善したが、また同じ症状になるかもしれないのでその他の解決方法などを合わせてメモしておく。