あじちゃんの備忘録。

〜ここはメモ帳です

Null合体演算子(??)について

PHP

PHP7.0.xx〜 null 合体演算子 (??) がシンタックスシュガーとして追加された。 三項演算子とisset()を組み合わせた演算子で、以下のような挙動をする。 第1オペランドが非NULLの値であればそれを返し、 そうでない場合は第2オペランドを返す。

連想配列において特定のindexのみを抜き出して(加工したりして)配列にする処理

PHP

1, 'name' => 'Bob', 'position' => 'Clerk'), array('id' => 2, 'name' => 'Alan', 'position' => 'Manager'), array('id' => 3, 'name' => 'James', 'position' => 'Director', 'hoge' => 'hogeeeeee') ); // array_map()を使って、index=hogeを抽出/加工…

dockerコンテナの中でviコマンドが使えないとき

こういうエラーが出た時の話 # vi /etc/my.cnf bash: vi: command not found 私の環境では、rootユーザーのときこんな感じで apt-get が使えたのでそこからvimを入れることにしました。 # yum -v bash: yum: command not found # apt-get -v apt 1.4.9 (amd6…

シングルコーテーションとダブルコーテーションの使い分けに気をつけること

PHP

シングルコーテーションは「文字列中の変数を変数値に置換する」 ダブルコーテーションは「文字列中の変数を変数値に置換しない」くらいにおもっていたけど、そういうわけでもなく。 以下のように改行コードなんかの変換も担っているようで、 echoした時とか…

エラー `Dotenv values containing spaces must be surrounded by quotes.` が出た時

$ php arrisan serve した時に、上記のエラーが出た。 原因は 「.env」ファイルにスペースを含む文字列を記載していること。 スペースを入れたい場合はシングルコーテーションで囲う必要がある 例) ❌DESCRIPTION=これは 説明です ⭕️DESCRIPTION='これは 説明…

札幌駅周りおすすめ美味しいスポット

ごはん 札幌駅 ⁃ カリーハウスコロンボ ⁃ 私の行きつけカレー屋さん ⁃ 毎日食べても飽きないし,デザートにバニラアイスが付いてくるのが嬉しい ⁃ 家庭的な味なのに家庭では食べられない味 ⁃ オススメはフルーツカレー ⁃ 超老舗で今年で45周年か何かだったき…

Carbon::addXXX系は元の値を上書くので注意

例 $dt = new Carbon('2019-05-01 09:00:00'); echo $dt.PHP_EOL; // 2019-05-01 09:00:00 echo $dt->addMinutes(10); // 2019-05-01 09:10:00 echo $dt; // 2019-05-01 09:10:00 😞💬addXXX()系は元の値を上書きするので注意すること。

削除した/移動したはずのファイルを探して「No such file or directory」でサーバーが起動しない!autoloadファイルが更新されていない時の対処方

git mv *** を頻繁にやっていると、autoloadファイルが更新されずにサーバーが起動できなかったりすることがあるのでメモ 例えばこんな感じでパスを変更したとして git mv /aaa/bbb/ccc.php /aaa/ddd/ccc.php このようなエラーが出たとする $ php artisan se…

rabbitmq.cluster.confのrabbit@xxxのxxxはコンテナ名っぽい

rabbitmq.cluster.conf に設定していたこの辺 # cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config # cluster_formation.classic_config.nodes.1 = rabbit@hostname_01 cluster_formation.classic_config.nodes.2 = rabbit@…

特定のポートを開いているプロセスを殺す

特定のポートで実行中のプロセスを調べる $ lsof -i:3314 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME com.docke 771 user_name 20u IPv4 0x6e99dd572d5a95e7 0t0 TCP *:uohost (LISTEN) com.docke 771 user_name 21u IPv6 0x6e99dd572593ae5f 0t0 …

web components のすすめ

勉強会に行った時のメモです web components の近況 IEは基本ダメ2020.01でもうWin7のサポートが切れるので考えなくてよいでしょう EdgeもDevelopingになりました どうしてもIEで使いたい場合はポリフィル入れればよいよ(ケアは必要 モダンなものだとpolyfi…

Composerでdev-masterを指定しているpackageの正確なバージョンの確認方法

結論 composerのパッケージのバージョンを調べるときは composer show -i packagename する. packagenameつけなかったりcomposer.lock見ても dev-master で使っているパッケージの正確な名前はわからないので気をつけよう. 経緯 例えばこんな感じの compos…

2018.07に考えたキャリアプランメモがあったので忘れないように書いておく

直近(〜2018.10) 業務 PHP,JS のスキルを伸ばす → 基礎の復習と実装の正確性 個人 PHPで作成したwebアプリケーションのβ版リリース(〜7月16日まで) 画像処理講座の修了(7月中) 1年後(2018.11〜2019.6 = 26歳) 業務 React.js, TypeScriptを業務で使…

npm で TS2304 (Cannot find name '***') というエラーが出る時の原因と対処

エラー npm -i したらこんなエラーが. node_modules/@types/superagent/index.d.ts:29:29 - error TS2304: Cannot find name 'Blob'. 29 type MultipartValueSingle = Blob | Buffer | fs.ReadStream | string | boolean | number; ~~~~ node_modules/@type…

dropColumnするつもりでdropしたらテーブルを消そうとしてびっくりした

原因 dropColumn するべきところで drop をしていた. リファレンス テーブルリネーム/削除 存在するテーブルを削除する場合は、dropかdropIfExistsメソッドを使います。 コードとエラー // 正しいコード Schema::connection($this->connection)->table('ta…

laravel のマイグレーション機能の`string()`で作成したカラムの長さ

string('hoge') がデフォルトでvarchar幾つになるのか? laravel のマイグレーション機能で作成したカラムの長さは, 例: $table->string('hoge'); → varchar(191) となる.

mysqlでユーザ作成&パスワード変更

MySQLでuserを新規作成 ユーザ名: NECO , パスワード: nyan というアカウントを localhost に作成する mysql> create user 'NECO'@'localhost' identified by 'nyan'; パスワードが不要な場合はidentified以下を省略する。 passwordを変更 localhost にあ…

webpack3環境下でvueを動かしてる状態からtypescriptを導入する

手順 typescriptを入れる $ yarn add --dev typescript ts-loader@3.5.0 ts-loaderはwebpack 3に対応している v3.5.0を入れる必要あり vue-cliが入っていることを確認 $ vue --version 入っていなければインストール(yarn global add vue-cli) インストー…

【解決】dump結果とview表示結果が異なる@Laravel 5.6

解決しました 参考リンク 解決方法 Modelに protected $casts = ['id' => 'string']; を追加したことで解決!! 解決までの道筋 dump結果とviewでの表示を見比べて、型がintegerになっているのではと推測 dump($items); dump($items->last()->id); echo $ite…

gitの複数のブランチを一括で削除する

xargs コマンドを使います。 xargs コマンドとは? xargs コマンドとは、Linux のコマンドの1つ。 あるコマンドの出力を xargs コマンドに送り込み、別のコマンドの引数として指定することができます。 消したくない branch を除いた全ての branch を削除す…

【JavaScript】配列の比較について

まとめ JavaScriptで、配列の比較の際に==又は===演算子を用いると、その配列が参照しているメモリ上のアドレスが同じかどうかでtrue/falseを返す。 Object.is() も同様。 例 var list_1 = ["mike","saba","tora"]; var list_2 = ["mike","saba","tora"]; co…

外部キー制約 migration の foreigndrop がうまくいかない

(先に)まとめ ⭐️ 外部キー制約の drop と同時に、制約対象の key を変更や削除する場合はスキーマを分ける必要がある ✏️ 外部キー制約を drop するときは1つのスキーマでまとめて実行できる テーブル条件 テーブル名:animals カラム名:kindId 外部キー…

【laravel】HasManyThrough() を使うときに規定通りに書いているにも関わらず結果が0件で困った

Eloquent:リレーション 5.4 Laravel 5.4公式サイトの表記 リレーションのクエリ実行時は、典型的なEloquentの外部キー規約が使用されます。リレーションのキーをカスタマイズしたい場合は、hasManyThroughメソッドの第3引数と、第4引数を指定してください…

【AWS】Laravelアプリケーションのデプロイ

Composer で作成されたファイルを含むソースバンドルを作成する アプリケーションのルートで実行する hoge.zip には付けたいファイル名を入れる zip ../hoge.zip -r * .[^.]* -x "vendor/*" ソースバンドルをデプロイする Elastic Beanstalk コンソールの管…

PHPでCSVのデータを加工するときに使った関数の備忘録

改行とカンマで区切られたCSV文字列を想定し実施 目的:与えられたCSV形式のデータから、頭2つのデータを配列として取り出す こんな感じのフォームを準備 <form action="{{ action('よしなに') }}" method="よしなに"> {{ csrf_field() }} <textarea name="csv" cols="30" rows="10" placeholder="CSV情報を入れてください"></textarea> <input type="submit" value="SEND"> <pre> 例: title-1, author-1, descripti…</pre></form>

【Guzzle】POST時のoptionの設定仕方

PHP

APIの条件が以下のようになっていて、JSONでオプションを送ってくれと言われている場合。 条件 Method: POST uri: /{ID} //対象のIDを指定 Media type: application/json //JSONで送ってねと言われている contents: required (array of string) //IDに対して…

【HTML】checkbox のチェックを付けていない時もパラメータを送る

checkbox のチェックが付いていない場合、 name も value も送信されない <input type="checkbox" name="test" value="on"> name属性が同じ場合、後に書かれたものが優先的に送信される <input type="hidden" name="test" value="off">…

【Laravel】メンテナンスモードの切替, IP制限の設定

Maintenance Mode メンテナンスモードの切替が標準搭載されている メンテナンスモード有効 $ php artisan down Application is now in maintenance mode. メンテナンスモード無効 $ php artisan up Application is now live. この時のメンテナンス画面は res…

env("PARAMETER") といった形の .env で定義した値が読み込めなく(Nullに)なる

2018/07/02 ローカルログイン画面からログインできない件 起こったこと: env("PARAMETER") といった形の .env で定義した値が読み込めなく(Nullに)なる事象が発生していた。 原因1:configキャッシュの作り直しをするため php artisan config:cache コマ…

正規表現考える

元: /content/hoge/fuga/piyo/ドメイン/hoge.html パターン全体にマッチしたテキスト: /content/hoge/fuga/piyo/ 正規表現: /\/content\/(.?)\/(.?)\/(.*?)\// 正規表現: /^\/([^\/]*\/){4}/ 正規表現: /^\/((.*?)\/){4}/