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

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

laravelのuuid()をmockする

はじめに こんばんは。 ちょっとまえに、laravelの uuid() を使用しているコードのテストを行う必要があったので、対応してみました。 簡単ですが備忘録です。 本題 uuid()のコード自体は Illuminate\Support\Str::uuid() を使ってます。 /** * Generate a U…

Laravel Precognitionを試してみた

はじめに こんばんは。 今回は Laravel Precognitionを試してみました。 readouble.com 試してみたいと思っててなかなか試せずいました。 本題 基本ドキュメントどおりに進めていきます。 自分がやっていたプロジェクトでは vue + inertiaをつかってたので、…

laravelのパスワードバリデーションのuncompromisedを初めて知った

はじめに こんばんは。 恥ずかしながらシリーズで laravelのパスワードバリデーションの uncompromised を初めて知りました... readouble.com 本題

Laravelのテストで初回にSeeder読み込みをしたい

はじめに こんばんは。 またまたLaravelネタです。 RefreshDatabase と $seedプロパティ or $seederプロパティ を使います。 公式にも記載があります。 readouble.com 本題 tests/TestCase.php

laravelのpaginateでgroupbyもしたい

はじめに こんばんは。 今回もlaravelネタです。 paginateしつつデータをgroupbyしたいなってときがあって、それを調べた対応です。 本題 元データはこちらでやってみます。 $paginator = new \Illuminate\Pagination\Paginator(collect([ ['userId' => 10, …

laravelのFormRequestバリデーションのテスト方法にはassertInvalidを使う

はじめに こんばんは。 めちゃめちゃ簡単ですが、知らなかったので備忘録です。 本題 readouble.com 今までは assertSessionHasErrors を使って以下みたいに書いてました。 $article = Article::factory()->create(); $response = $this->actingAs(User::fac…

laravelのRedirectorのintendedメソッド

はじめに こんばんは。 何気なく使ってた intended メソッドですが、ふわっと使ってたので、きちんとドキュメントよんでみました。 本題 readouble.com Laravelのリダイレクタが提供するintendedメソッドは、認証ミドルウェアによってインターセプトされる前…

犯罪心理学者が教える子どもを乗ろう言葉・救う言葉を読んだ

はじめに こんばんは。 積極的な勉強はまだ手つかずですが、少しでも机に向かって勉強する姿勢を取り戻すために、本を読むようにしています。 とりあえず今回読んだのはこちら。 犯罪心理学者が教える子どもを呪う言葉・救う言葉 (SB新書)作者:出口保行SBク…

40歳になりました。

こんばんは。 本日ついに40歳になりました。 自分の中ではまだ15歳くらいの気分なのですが、体つきはおっさんそのものかも。 とりあえず実感はありません。 さてさて、40歳で気になるのは以前記事で読んだ「ミッドライフクライシス」です。 news.yahoo.co.jp…

2024年の目標

はじめに こんにちは。 2024年は厄年の始まりのkojirockです。 2024年の目標を建てようと思います。 2023年の目標はこちら kojirooooocks.hatenablog.com 2023年の振り返りはこちら kojirooooocks.hatenablog.com 本題 1. 体重を65kgにする 少しリバウンドを…

2023年のまとめ

はじめに こんばんは。 あけましておめでとうございます。 2023年も本当にお疲れさまでした。 そして毎年恒例2023年の振り返りをやっていきたいと思います。 kojirooooocks.hatenablog.com 本題 1. ダイエットで62kgにする ブログ書く前に測ってみましたが、…

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

こんばんは。 雑談です。 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