もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

2023-01-01から1年間の記事一覧

体調が悪いと気持ちも落ちてくる

こんばんは。 雑談です。 10月くらいから子供がインフルエンザ + 溶連菌のダブル感染でとんでもない状態になっていたのですが、その後子供は回復し、次は妻・自分がインフルエンザになり、大変な状況になっておりました。 今月ようやく体調不良が落ち着いた…

LaravelのHasOneOfManyを今更試した

はじめに こんばんは。今回もLaravelネタです。 結構前から触ってたのに全然気づいてなかったのですが、 1:Nな関係のテーブルに対して擬似的に1:1を定義して取得できる機能がありました。 laravel.com 本題 テーブル定義 CREATE TABLE `users` ( `id` bigint…

Laravel-PermissionのRoleやPermissionをInertiaに送る

はじめに こんばんは。 Laravel-Permissionを使用している状態でLaravel + Inertia環境下で、RoleやPermissionを送るための方法を備忘録で残しておきます。 本題 方法は簡単で、HandleInertiaRequests でグローバルに送るのがよさそうです。

Laravel+Inertiaでのsentry設定

はじめに こんばんは。 Laravel + Inertia環境で Sentryを使用することがあったので、めっちゃ簡単ですが設定方法を備忘録で残しておきます。 本番 やり方はとっても簡単で、 resources/js/app.ts に記載するだけです。 import "./bootstrap"; import "../cs…

laravel-permissionで関連テーブルのprimary keyをuuidにしたい

はじめに こんばんは。 laravel-permissionを使用する際に専用のマイグレーションを実行すると思いますが、その各テーブルのprimary keyを通常のbig integerからuuidに変更する対応をしたので備忘録です。 本題 対応は以下を見れば大丈夫。 spatie.be 基本的…

vanilla-autokanaを使ってみた

はじめに こんばんは。 今回は vanilla-autokanaを使ってみました。 日本語入力すると、対応するカタカナが該当のフォームに入力される的なやつです。 github.com 今回は vueを使用しているプロジェクトで導入しました。 参考サイト code-enj.app 本題 コー…

Inertia利用下で flashMessageを送りたい

はじめに こんにちは。 よく以下みたいな感じで リダイレクト時にflashMesageをセットするようなときってあると思います。 session()->flash('success_message', 'OKです!'); Inertiaを利用している状況で このセットした flashMessageをフロントに渡す際に…

laravelのwhereUuid知らなかった

こんばんは。 恥ずかしながらしなかった備忘録です。 ルートパラメータの成約でよく whereとかを使うと思います。 こんな感じの。 Route::get('/user/{id}', function (Request $request, int $id) { return 'User ' . $id; })->where('id', '[0-9]+'); ← こ…

Inertia利用下でfeatureテストを書く

はじめに こんにちは。 現在、Inertia利用下のプロジェクトでテストを書いてます。 書き方はそんな難しくないです。 本題 get('example') ->assertInertia(static fn (AssertableIne…

laravelのpintを初めて知った。

はじめに こんばんは。 皆さん pintしってましたか?自分は最近まで全く知りませんでした。。。 readouble.com pintを知らずに頑張って php-cs-fixer だったり phpmd だったりを独自導入してましたが、laravelプロジェクトだったらもうこれ一択でいいなとか…

write-blog-every-weekの通知プログラムを更新しました

こんばんは。 ただの報告ですが、ついに write-blog-every-week のプログラムを更新しました。 github見てみたら 4年前くらいだったので久しぶりの更新です。 旧ロジックは archiveして、新たにレポジトリを作りました。 旧ロジック github.com 新ロジック g…

ShiftItを卒業してHammerspoonをインストールした

はじめに こんにちは。 画面分割アプリつかってますか? 僕はだいぶ前から shiftIt を使用していました。 github.com ただ、なんか最近うまく動かないときが続いており、気づくと応答なしになることが多くなってました。 githubみると、そもそもだいぶメンテ…

laravelのResourceCollectionで追加データを送りたい

はじめに こんばんは。 めちゃ簡単な備忘録です。 ResourceCollectionで data meta 以外に新たにデータを追加したい・または 元のデータに更にデータを追加したい場合の対応です。 readouble.com 本番 簡単な話なんですが additional() を使えばOKです。 以…

Vue datepickerをlaravel + Inertia環境で使用してみた

はじめに こんばんは。 今回は Vue datepickerをlaravel + Inertia 環境上で使用したので備忘録っときます。 といっても変な使い方はしてないので、めちゃ簡単でした。 vue3datepicker.com 本題 1. まずはインストール $ npm install @vuepic/vue-datepicker…

inertiajsで404ページを出したい

はじめに こんばんは。 さいきんはInertiajsを使っています僕です。 今回は。inertiajs使用下で404ページを表示する方法です。 基本的に公式のままやればOKです。 inertiajs.com 本題 app/Exceptions/Hander.php /** * @param $request * @param Throwable $…

laravelのResourceCollectionのpaginationデータの返却値をいじりたい

こんばんは。 最近よく laravelさわってます。 paginationデータを ResourceCollectionで返却すると以下みたいなデータが返って来ると思います。 { "data": [ { "id": 1, "name": "Eladio Schroeder Sr.", "email": "therese28@example.com" }, { "id": 2, "…

CarbonPeriod知らなかった

はじめに こんばんは。 Carbonよく使っているのですが、 最近 CarbonPeriodの存在を知りました。 github.com 本題 startOfMonth(), CarbonImmutable::now()->endOfMonth(), ); dd(array_map( static fn(CarbonImmutable…

laravel10からdatesプロパティは削除されていた

はじめに こんばんは。 めっちゃ簡単な話なんですが、最近知ったので備忘録。 本題 laravel10から $dates プロパティが削除されてました。 readouble.com laraveldaily.com これからは $casts プロパティに統一されているようです。 まぁ僕は前から $casts …

laravelのcastsでenumをセットする

はじめに こんばんは。 今回も簡単な laravelの備忘録です。 最近はphp8.1のenumを使うパターンをよく使う事が増えてきたのですが、laravelでは $casts でenumをセットしてくれるようになってるみたいなのでやってみました。 本題 laravel.com Enum

家族中にコロナが蔓延した

はじめまして。 先日僕がコロナになったというブログを書きました。 kojirooooocks.hatenablog.com 僕はやっと収まって約一ヶ月、今度は家族が続々とコロナになっていきました。 まずは一緒に住んでいる祖父母。 「喉がいたいなぁ」という一言でビクッとしま…

phpstanの"no value type specified in iterable type array" の対応方法

はじめに こんばんは。 phpstan使ってますか? 自分はLaravelのお仕事を受けることが多く、その現場では larastanとして導入されている事が多いです。 個人的によく怒られるエラーの代表として no value type specified in iterable type array があるかなと…

jsで日付入力フォームのために年・月・日の値を作成したい

はじめに こんばんは。 生年月日の入力フォームを作成する要件がありまして、最初はデザイン的に適したdate pickerライブラリを使おうと思っていました。 ただ、提案したどのライブラリも 入力側がミスしすそう、または操作しづらそうという意見が多く、極力…

コロナになって2週間くらい寝込んでいた

こんばんは。 雑日常ブログです。 7月の12日くらいからコロナにかかってしまい、完全にダウンしていました。 妻にも感染して、子供だけ祖父母宅に退避してもらって、夫婦仲良くダウンしてました。 よく言われる味覚や嗅覚が効かなくなるみたいなものは僕には…

管理画面用・フロント用にInertiaのルートを分ける

はじめに こんばんは。 Laravelで使うInertiaで管理画面用・フロント用でルートを分けたい時がありまして、調べて対応しました。 めっちゃ簡単ですが、備忘録です。 本題 対応するのは、Middlewareの HandleInertiaRequests です。 public function rootView…

cognitoでsignup後、smsのcode認証

はじめに こんばんは。 最近 cognitoを使って、認証等を勉強中です。 そんな中で流れでsignupして code認証する流れをphpで作ってたので、備忘録で残しておきます。 本題 登録 $client = new CognitoIdentityProviderClient([ 'version' => env('AWS_COGNITO…

mockserverをmockできるAPIサーバを作る

はじめに こんばんは。 今回は mockサーバーを作った際の備忘録です。 ローカル開発のさいに実際に通信せずにmockできるようにするためにdockerで作ります。 色々あるみたいですが、今回作ったのは この mockserver github.com さっそくやってみます。 本題 …

最近早起きしています。

こんばんは。 最近早起きを始めた僕です。 というのも、副業の仕事を初めたのと、運動・勉強とやりたいことがいっぱいあり、1日のスケジュールをキチンと決めないと、時間が足りなくなってしまったからです。 仕事 運動 勉強 副業 と1日のうちにやりたいこと…

tblsでmermaid出力ができるようになってた

はじめに こんばんは。 k1low.hatenablog.com 個人的にすごいニュースでした! github が mermaidを表示できるようになってたから、ぜひ tblsでもmermaid表示できるようにしてほしいなーと思ってたらなってました!! 本題 なんか適当にテーブル追加してみま…

nuxt-basic-auth-moduleで簡単basic認証 2

はじめに こんばんは。 めっちゃ簡単な備忘録ですが、以前の記事の続きになります。 kojirooooocks.hatenablog.com 本題 全体的にbasic認証をかけて、一部分だけbasic認証を突破させるというパターンがあると思います。 たとえば ヘルスチェックとか。 そう…

Laravelのタスクで多重起動を避ける

はじめに こんばんは。 なんか毎回調べてるので、今回も自分の備忘録用。 Laravelのタスク起動で多重起動を避ける方法 readouble.com 本題 コードはこちら $schedule->command('emails:send')->withoutOverlapping(); withoutOverlapping() を宣言することで…