- 投稿日:2020-04-14T21:54:40+09:00
# fishの導入
fishとは
- インタラクティブシェル
- 補完機能が充実
インストール
まずはインストール
$ brew install fish $ fish -vデフォルトシェルの変更
$ sudo vi /etc/shells # 末尾に /usr/local/bin/fish を追加 $ chsh -s /usr/local/bin/fish # デフォルトシェルを fish に変更terminal再起動
※ターミナルを再起動して変更されているか確認しますfisherman
fishのプラグインマネージャ
docs
https://github.com/jorgebucaran/fisher
$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher $ fisher -vテーマの変更
(現状使用しているテーマ)
上記のように色々なテーマがこちらに存在するので、好きなテーマを使用できます。
※別途powerlineフォントをインストールしなければいけない場合があるのでそれは後述powerlineフォント
多分、デフォのままだと文字化けを起こすので下記でpowerlineフォントをインストールしitermなどに設定する
$ git clone git@github.com:powerline/fonts.git $ cd path/to/install $ ./install.shプラグイン
テーマ適用
$ fisher add oh-my-fish/theme-bobthefish
- ターミナル再起動
z
- 履歴からディレクトリへ移動
z <文字列>
のように入力すると、履歴から補完し補完内容から選択してディレクトリの移動が可能になります。$ fisher add z
fish-bd
- 親ディレクトリへ移動
cd ../../
のようにディレクトリを遡ることがなくせます。
bd
と入力すると親ディレクトリの一覧が候補として表示され、候補から選択しディレクトリの移動が可能になります。$ fisher add 0rax/fish-bd
fish 設定
ブラウザからfishの設定が可能です。
$ fish_config
- 投稿日:2020-04-14T15:44:34+09:00
Homebrewのdoctorで引っかかった話
背景
MacBookProを使っているのですが、Homebrewのdoctorコマンドに引っかかる珍しい現象が出たのでメモ代わりに残しておきます。
引っかかった内容(ログ)
brew doctor Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry or file an issue; just ignore this. Thanks! Warning: Some installed formulae are missing dependencies. You should `brew install` the missing dependencies: brew install openssl@1.1 Run `brew missing` for more details.対処
依存関係に文句を言われている様なのでopensslのインストールを実行(@1.1をつけ忘れているけど…)
詳しくみるなら brew missing を実行しろと言われてますが…対処ログ
brew install openssl Updating Homebrew... ==> Auto-updated Homebrew! Updated 4 taps (homebrew/cask-versions, homebrew/core, homebrew/cask and adoptopenjdk/openjdk). ==> New Formulae bcoin gobo pass-git-helper beancount hsd semtag confd inxi vroom emacs-dracula llvm@9 wolfmqtt git-remote-codecommit minipro ==> Updated Formulae --- 長いので省略 --- ==> Downloading https://homebrew.bintray.com/bottles/openssl@1.1-1.1.1f.catalina ==> Downloading from https://akamai.bintray.com/72/724cd97c269952cdc28e24798e350 ######################################################################## 100.0% ==> Pouring openssl@1.1-1.1.1f.catalina.bottle.tar.gz ==> Caveats A CA file has been bootstrapped using certificates from the system keychain. To add additional certificates, place .pem files in /usr/local/etc/openssl@1.1/certs and run /usr/local/opt/openssl@1.1/bin/c_rehash openssl@1.1 is keg-only, which means it was not symlinked into /usr/local, because macOS provides LibreSSL. If you need to have openssl@1.1 first in your PATH run: echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.bash_profile For compilers to find openssl@1.1 you may need to set: export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib" export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include" ==> Summary ? /usr/local/Cellar/openssl@1.1/1.1.1f: 8,057 files, 18MB結果
もう一回doctorを実行
brew doctor
Your system is ready to brew.という事で修復できたみたいですね。
多分二度と起こらないと思うのでメモ代わりに残しておきます。
- 投稿日:2020-04-14T02:01:53+09:00
FileVault をオフにして開発速度を上げよう!
ベンチマークだと書き込みが
1.3GB/s
から0.9GB/s
になるぐらい
- アプリの起動とかが遅いわけではない
- 開発するする時のホットリロードとかは非常に遅い!
FileVaultをオフにすればNuxtのホットリロードだと、体感の比較は2倍以上早くなった
- 投稿日:2020-04-14T01:13:42+09:00
Laravel セレクトボックスを実装する
目的
- Laravelでセレクトボックスを実装するときの方法をまとめる
実施環境
- ハードウェア環境
項目 情報 OS macOS Catalina(10.15.3) ハードウェア MacBook Pro (16-inch ,2019) プロセッサ 2.6 GHz 6コアIntel Core i7 メモリ 16 GB 2667 MHz DDR4 グラフィックス AMD Radeon Pro 5300M 4 GB Intel UHD Graphics 630 1536 MB
- ソフトウェア環境
項目 情報 備考 PHP バージョン 7.4.3 Homwbrewを用いて導入 Laravel バージョン 7.0.8 commposerを用いて導入 MySQLバージョン 8.0.19 for osx10.13 on x86_64 Homwbrewを用いて導入 実施方法概要
- laravelcollectiveのインストール
- ビューファイルにコードの記載
実施方法詳細
laravelcollectiveのインストール
アプリ名ディレクトリで下記コマンドを実行する。
$ composer require laravelcollective/htmlビューファイルにコードの記載
簡単な解説
先に記載したセレクトボックスのコードをHTMLのselect要素で記載するとどうなるか比較してみる。
Form::select()メソッド
{{Form::select('age', ['Under 18', '19 to 64', 'Over 65'])}}HTMLのselect要素
<select name="age"> <option value="0">Under 18</option> <option value="1">19 to 64</option> <option value="2">Over 65</option> </select>セレクトボックスでのデフォルト表示を変更したい時は下記のようにする。また、記載内容をHTMLのselect要素と比較する。
Form::select()メソッドで「Over 65」をデフォルト表示に設定
{{Form::select('age', ['Under 18', '19 to 64', 'Over 65'], 2)}}HTMLのselect要素
<select name="age"> <option value="0">Under 18</option> <option value="1">19 to 64</option> <option value="2" selected="selected">Over 65</option> </select>セレクトボックスで選択した際の値を任意に決めたい時は下記のようにする。また、記載内容をHTMLのselect要素と比較する。
Form::select()メソッド
{{Form::select('age', ['first_ans' => 'Under 18', 'second_ans' => '19 to 64', 'third_ans' => 'Over 65'])}}HTMLのselect要素
<select name="age"> <option value="first_ans">Under 18</option> <option value="second_ans">19 to 64</option> <option value="third_ans">Over 65</option> </select>実装の例
/add
にてセレクトボックスを表示する。当該ビューファイルに値を送信するボタンを設置し、押下をトリガーとして動作する。/regist
にセレクトボックスでの入力値を飛ばし、リンクするコントローラのアクションで値を受け取る一連の処理を記載する。- コントローラ名はPostControllerとする。
- セレクトボックスを表示するビューファイル名はaddとする。
PostControllerのregistアクションで入力値を取得する。
当該処理に必要なルーティングファイルの内容のみ抜粋して記載する。
アプリ名ディレクトリ/routes/web.phpRoute::get('/add', 'PostController@add'); Route::post('/regist', 'PostController@regist');当該処理に必要なコントローラファイルの内容のみ抜粋して記載する。
アプリ名ディレクトリ/app/Http/Controller/PostController.phpclass PostController extends Controller { public function add_todo() { return view('post.'); } public function regist(Request $request) { $age => $request->age, //DBへのデータ格納処理 //リダイレクト処理 } }当該処理に必要なセレクトボックスを表示するビューファイルの内容のみ抜粋して記載する。
アプリ名ディレクトリ/resources/view/post/add.blade.php<form action="/regist" method="post"> @csrf {{Form::select('age', ['Under 18', '19 to 64', 'Over 65'])}} <input type="submit" value="send"> </form>ビューファイルで「Under 18」を選択して、ブラウザの「send」ボタンをクリックした場合、PostController内のregistアクション内の
$age
には0が格納される。ビューファイルで「19 to 64」を選択して、ブラウザの「send」ボタンをクリックした場合、PostController内のregistアクション内の
$age
には1が格納される。ビューファイルで「Over 65」を選択して、ブラウザの「send」ボタンをクリックした場合、PostController内のregistアクション内の
$age
には2が格納される。