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

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

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() を宣言することで…

LaravelのXSRF-TOKENの名前を変える

はじめに こんばんは。 今回、laravelのXSRF-TOKENクッキーの名前を変えるために色々調べた備忘録です。 Staging環境, Production環境でTokenの名前がぶつかって token mismatchエラーが出てしまっていました。 この解決策が参考サイトに書かれていました。 …

laravelのcollectionでgroupbyしつつpluck & uniqueしたい

はじめに こんばんは。 めっちゃ簡単な備忘録です。 本題 さっそくコード UserPlan::all() ->groupBy('plan_id') ->map(static fn(Collection $c) => $c->pluck('type')->unique()) ->toArray(); こんな感じ。 groupBy で集計したあと、mapしてやりたい処理…

phpspreadsheetでは checkboxの値を取得できない?

はじめに こんばんは。 phpspreadsheetを久々に触る機会があって、ちょっと悩んで、結局できなかったので悩んだ結果を備忘録しておきます。 本題 今回 phpspreadsheetでcheckboxの値を取りたいという感じだったのですが、色々調べて取れませんでした... foru…

mysqlでテーブル名とテーブルコメントを一覧でみたい

はじめに こんばんは。 めちゃめちゃかんたんな備忘録です。 開発進んでテーブル数が増えたときに、どのテーブルが何かわかんなくなるときがあります。 そんなときにテーブル名とテーブルコメントが並んで表示されたらわかりやすいです。 そんなやり方あるか…

docker-composeでコンテナのIPを固定にする

はじめに こんばんは。 めっちゃかんたんな備忘録です。 dockerで立ち上げたコンテナのIPを固定にしたかったので、調べて対応してみました。 参考サイト zaki-hmkc.hatenablog.com 本題 version: '3' services: web: build: ./docker/app container_name: we…

minioを設定した

はじめに こんばんは。 n番煎じですが、とあるlaravel案件でローカル開発時でもファイルアップする際にS3にちょくで上げてる案件があったので、今回minioを設定しました。 使っているのが古めのバージョンだったのでググって出てくる記事ではうまくできなか…

Chart.jsの凡例の動きのままクリック時の処理を追加したい

はじめに こんばんは。 最近 Chart.jsを触ってるのですが、少しだけ迷って調べた部分があったので、備忘録しておきます。 本題 サンプルのコード <html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.2.1/chart.umd.js"></script> </head> <body> <div> <canvas id="chart"></canvas> </div> <script> var ctx = document.getElementById('cha…</body></html>

bigqueryのテーブルをコピーする

はじめに こんばんは。 最近 BigQueryを触ってるんですが、コンソール上でできることと、クエリを使ってできることが結構違ったので、備忘録しておきます。 本題 1. テーブルのコピー CREATE TABLE project_name.datase_name.copy_table_name CLONE project_…

axiosでの通信時にキャメルケース化・スネークケース化の処理を混ぜる

はじめに こんばんは。 axiosでフロントからバックエンドと通信する際にパラメータを渡すと思います。 その際に、パラメータのkey名ってスネークケースで渡して、スネークケースで受け取りたいときってあると思います。 また、その後バックエンドからフロン…

storybookでelement-plusを適用する

はじめに こんばんは。 めっちゃ短い 備忘録です。 StoryBookでElement-Plusを適用する方法を調べました。 バージョン storybook => 6.5.16 element-plus => 2.3 本題 その名もズバリなものがありました。 stackoverflow.com # preview.js import { app } fr…

phpからBigQueryへ保存

はじめに こんばんは。 今までBigQuery色々触ってまして、PHPからBigQueryってそういえば触ったことなかったですが、今回触る事があったので、備忘録残しときます。 本題 github.com インストール $ composer require google/cloud-bigquery データ追加 ※ 事…

storybook+vue3でpiniaを使う

はじめに こんばんは。 仕事でstorybookを使う機会があり、piniaも同時に使うパターンが有り、色々調べた結果の備忘録です。 本題 やることは簡単で、以下を設定するだけ // preview.js import { app } from '@storybook/vue3' import { createPinia } from …

LaravelのModelの主キーを文字列型にする

はじめに こんばんは。 知らなかったんかい!という簡単備忘録です。 タイトルの通り Laravelで使用する主キーを整数型ではなく文字列型に設定する方法です。 本題 答えはこちら

AWS App Runnerの環境変数に SSM Parameter Storeを設定できるようになった!!

はじめに こんばんは。 めちゃめちゃテンション上がったので駆け足で備忘録です。 qiita.com まじか! ということで試してみました。 本題 選択できるようになってます! こんな感じで設定できました。 設定値は以下のような感じ。 arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter_name></parameter_name></aws_account_id></region>…

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

はじめに こんばんは。 めちゃめちゃ簡単にnuxtでbasic認証をかけられたので備忘録です。 本題 www.npmjs.com ほぼほぼチュートリアル通りです。 僕が試した環境は nuxt2です。 install $ yarn add nuxt-basic-auth-module setting 設定もめちゃめちゃ簡単で…

stripeの請求書を日本語に変更

はじめに 最近stripeを使ってみているのですが、請求書を作成する際、英語での表示になってしまい、これを解決するにはどうすればいいか調べてたのですが、やり方が分かったので、備忘録です。 本題 コードはこちら $client = new StripeClient(config('invo…

github action上で別レポジトリに対して、ブランチを切り替えたり、commit & mergeしてpushしたり...

はじめに こんばんは。 とある案件で github action上で 別レポジトリをcloneして、もろもろ操作を行うというものがあったので、備忘録として残しておきます。 本題 対応した方法は以下 - name: Clone For Main Branch uses: actions/checkout@v3 with: repo…

laravelのmergeBindings()はちょっと使いづらかった

はじめに こんばんは。 最近laravelの mergeBindings() を使う機会がありましたが、うまく使えなかったので備忘録です。 参考サイトは以下 qiita.com 本題 条件付きのサブクエリを作る必要があったのですが自分の場合、mergeBindings()ではうまくいきません…