かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Laravel : ジョブのタイムアウトを設定には、pcntl(PHPの拡張項目)を有効化する必要がある

Laravel のバージョン: 8.16.1 PHP のバージョン: 7.4.7 ジョブを実行する時、以下のようにタイムアウトの時間(X 秒経過するとエラー)を設定できる。 php artisan queue:listen --timeout=60 他にも、タイムアウト時間を、コードに記述する事もできる。 …

PHP・Docker:Docker コンテナ起動の PHP にて、pcntl を有効にする方法

<環境> Laravel のバージョン: 8.16.1 PHP のバージョン: 7.4.7 Laravel の特定の機能を使う場合、pcntl(プロセス制御機能)が要求される事があります。 それを使うためにはどうすれば? という事を調べると、「PHPをコンパイルしてください」と凄いテ…

Laravel:Command クラスの handle メソッドに記述されている return 0 って何?

【 環境 】 Laravel のバージョン: 8.16.1 PHP のバージョン: 7.4.7 コマンドを作成する時、以下のようなコマンドで雛形を作ることが出来ます。 (例:SampleCommand クラス) php artisan make:command SampleCommand 上記のコマンドで作成されるファイル…

Laravel:artisan route:list コマンド実行時の「_debugbar..」の情報をカットする

Laravel Debugbar は便利なんだけど、artisan route:list コマンドでルーティング情報をリストアップする時、先頭が「_debugbar」というノイズが入って来ます。 ですが、Laravel 8.34 以上なら、「--except-path」のオプションを付けると、上記のノイズを除…

Laravel:migration 実行時、MySQL の時だけ実行するコマンドを設定する

Laravel の migration は便利なのですが、テーブルのスキーマ定義が、Laravel の命令だけで解決できない事があります。 例えば、「テーブル名にコメントを付ける」といった命令は用意されていないため、実行したい場合は DBドライバごとの固有のコマンドを使…

Laravel : 【MySQL】int のサイズを指定しているにも関わらず、column_type が「int(11)」となってしまう

MySQL のバージョン : 5.7 Laravel のバージョン: 8.16.1 PHP のバージョン: 7.4.7 Laravel で migration ファイルにてテーブルのカラムを追加する時、こんな感じで intのサイズを指定する事ができる。 Schema::table('projects', function (Blueprint $t…

NVM for Windows を使ったけど Node.js のバージョンが切り替わらない! そんな時は、環境変数を見てみよう。

NVM for Windows を使うと、Windows 上で Node.js のバージョン管理ができるのですが、バージョンが切り替わらない現象に遭遇しました。 以下、その対策です。 NVM for Windows のインストール Chocolatey(パッケージマネージャー)を使用しています。Choco…

Laravel : $this->validate にて、カスタムメッセージを使用する

Laravel でバリデーションをする時、FormRequest を継承したクラスを定義しなくても、コントローラに以下のように書く事でバリデーションができます。 FormRequest を使うほどの汎用性もボリュームもない場合は、この方法でも良いのではないでしょうか。 $th…

PHP:JSON エンコードした時に「/」が「\/」になる挙動を回避

PHP

通常、json_encode した場合、「/」は「\/」にエスケープされます。 $array_data = [ 'message' => 'Please register as /regist_users', ]; echo json_encode($array_data); //=> {"message":"Please register as \/regist_users"} エスケープさせず、その…

PHP:ファイルを読み込む関数の使い分け(file, fopen, readfile, file_get_contents)

PHP

PHP:ファイルを読み込む関数の使い分け(file, fopen, readfile, file_get_contents) PHPでファイルを読み込むビルトイン関数は、結構色々あります。 file fopen readfile file_get_contents 等。 以下の条件によって、使い分けをしていけばよいのではない…

VSCode、Laravel : Undefined type 'Route' のエラーメッセージを消す方法

Visual Studio Code に PHP IntelliSense プラグインを入れて Laravel を触ってると、下部に赤線が入って、こんなエラーメッセージが発生する。 (2020年 4月時点) Undefined type 'Route' . Intephense 設定変更でエラーメッセージを消す事ができます。 ー…

PHP:エルビス演算子【(expr1) ? (expr2) : (expr3) 】と、Null合体演算子【(expr1) ?? (expr2)】は、「??」を使った方が無難かも。

PHP

とてもよく似ている以下の2つの演算子。 エルビス演算子【 (expr1) ? (expr2) : (expr3) 】 Null合体演算子【 (expr1) ?? (expr2) 】 主な違いは以下の点でしょうか。 ? は、「0」「"0"」「空の配列」を false と判定し、右辺の値を返す ?? は、「0」「"0"…

jQuery:無効化したセレクトボックスの値を送信する方法

深淵な事情があり、 「セレクトボックスで表示している内容があるが、その項目はユーザから直接操作できないようにする。その部分をテキストボックス(ReadOnly)とかに置き換えると影響範囲がめっさ広がるんで、部品を変えずに何とかする。」 というロジッ…

<input type="number"> は、凄く変な動きをするので、結局使わなかった話

※ 2020年 3月 9日時点の内容です <ブラウザ> Chrome : バージョン 80.0.3987.122 HTML5 で追加された、<input type="number"> の挙動が物凄い微妙だったので、結局使わなかった。 こういうの。 <input type="number"> 数値のみを許可し、数値を上下させるボタンが付いている。 以下、その理由。 アル…

GitHub:【Windows】git config を編集したのに、別の人の名前で pushされる問題の解決方法

現在使っている端末にて、以前に使っている方の設定が残っていたので、自分用に git config を編集。 git config 変更 my-name、my-mailaddress@tekitou.com を、適当に読み替えてください。 git config --global user.name my-name git config --global use…

MkDocs:インストールから github pages へのデプロイまで

MkDocsという、静的ページをサクッと作る事が出来るツールがあります。 以下、インストールから、GitHub Pagesまでアップロードする手順です。 githubのアカウントを「kakisoft」、githubのリポジトリを「sample01」という名称でやってます。 必要に応じて、…

Git(GitHub):GUI 操作で親ブランチを切り替える方法

Git にてブランチを切った時、親ブランチはデフォルトだと master になりますが、親ブランチを指定したかった場合、プルリク後に GitHubの画面上から変更可能です。 ー1ー (図では、親ブランチは masterです。) プルリクしたページを表示し、「Edit」。 …

PHP:composer.phar 実行時に「Could not open input file: composer.phar」というエラーが出た時の対処。

PHP

<環境> OS:Windows 8 PHPのバージョン:7.2 現象 php composer.phar XXX といったコマンドを入力した時、Could not open input file: composer.phar というエラーメッセージが出る。 解決策 ターミナルより、以下を実行。 php -r "readfile('https://getc…

【2019年版】Mac で IE11 を動かそうとしましたが、諦めました。【人柱】

Mac

ミッション 新機能の動作確認をしてみたところ、Windows10 + IE11 環境のみ、エラーが発生して登録できなかった。 このままではリリースができない! 何とかしてくれ ! 動作環境の整備 <環境> macOS High Sierra 原因がさっぱり分からないので、トライア…

Netlify:JAMstack templates を使った、お手軽サイト作成

静的サイトのホスティング先として、かなりメジャーな感じになってきた Netlify 。 GitHub や Bitbuket のリポジトリを指定するだけでデプロイできてしまう手軽さが魅力ですが、リポジトリが無くても、テンプレートを指定するだけで静的サイトを作れたりしま…

お手軽に使う PHP

PHP

『お手軽に使う PHP』というスライドを作成してみました。 https://gitpitch.com/kakisoft/UsePHPLightly PHPは他の軽量言語と比較し、「軽く触ってみる」というケースが少なくなってるんじゃないかと思い、スライドにしてみました。 『Fukuoka.php Vol.29』…

Node.js :csvファイルから jsonファイルへの変換は、convert-csv-to-json がいい感じ。

Node.js は標準で csvを扱うライブラリを持ってないんで、npm で引っ張ってこないといけないみたい。 という訳で、以下を試してみました。 csv csvtojson convert-csv-to-json ダウンロード数はそれほど多くないけど、ファイル変換に使うなら、convert-csv-t…

Visual Studio 2019 Launch Event in Fukuoka振り返り:ハンズオンの Visual Studio 2019 使用バージョン

こちらのイベントに参加させて頂きました。 fukuten.connpass.com Visual Studio をはじめとした Microsoft の最新情報を届けてくれると同時に、ハンズオンまであるという濃いイベント。 ハンズオンにて紹介している資料では、Azure Cloud Shell を使用して…

Apache:mod_rewrite モジュールの、『RewriteCond %{HTTPS} off』がよく分からなかったから調べた。

.htaccess の記述設定で RewriteCond %{HTTPS} off RewriteCond %{HTTPS} !on といった記述があった。 が、RewriteCond の構文は、 RewriteCond TestString CondPattern(正規表現) [flags] となっている。 https://httpd.apache.org/docs/current/mod/mod_re…

GitHub に csv・tsv のファイルをアップすると、いい感じに表現してくれる。

タイトル通りです。 特別な事は何もせず、csv や tsv をアップし、ブラウザ上でアップしたファイルを見ると、こんな感じに表現してくれます。 フィルタリング機能も付いてたりと、色々と気が利いています。 無料ダウンロードできるデータを適当に拾い、リポ…

PHP:処理結果をログに吐いて動作確認。(LAMPならどんな環境でも多分OK)

PHP

Linux + PHP + Apache で開発していて、特定の処理をログに吐いて動作確認したい場合、設定の自由度の高さゆえ、サービスで設定しているログの出力先を解析するのが面倒臭いケースも多々あるかと思います。 加えて、ディストリビューションやバージョンの違…

Git:【GUIで済ませたい人向け】logの確認は、VSCode のプラグイン「Git History」が便利。

Git のコミット履歴(ログ)の確認をコマンドラインで解決させるのは、私にとってはしんどいんで Visual Studio Code のプラグイン「Git History」を愛用しています。 インストール プラグインの検索ウィンドウにて「git history」と検索。 インストールして…

Windows ユーザが初めて Mac を触る時に、きっと役に立つエントリ

初回起動時 名前(ユーザ名)に日本語は使わない方いい。 その名前がホームフォルダになる。 私は「暁(さとる)」という名前なのですが、名前のとこが「akatsuki」というホームフォルダが作られてて、「なんじゃそりゃ!」ってなりました。 多分、変更でき…

Mac:英字キーボードでの日本語入力

Mac

<環境> Mojave. 10.14.2 1. システム環境変数の、「キーボード」を選択。 2. 「入力ソース」タブにて、「+」ボタンを選択。 3. 「日本語」を追加。 4. control + space にて、切り替えができるようになります。 下図のメニューが表示される前にボ…

Oracle→SQL Serverへの移行

<環境> Windows 10 SSMA(SQL Server Migration Assistant)という、Microsoft が配布しているコンバートツールにて、変換が可能です。 Oracle と SQL Server へ接続可能な端末で実行しています。 1. 配布ページより、「SSMA for Oracle」をダウンロード…