tohokuaikiのチラシの裏

技術的ネタとか。

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

SchemaSpyを使ってDockerのデータベース情報をHTMLで出力

前提 WSLのcliでdockerを導入 dockerにMariaDBなんかでDBを作っている。 MariaDBコンテナはややこしいアクセス制限とかしてない。 Docker compose.yaml はこんな感じでMariaDBコンテナを起動している。このデータベーステーブルのSchemaを出力したい。 name:…

Laravel+Inertia.js(+Breeze)でセキュリティ的な意識からRouteをそれぞれに分けた話

buildしてから気づいたんだけど、思い違いがあれば是非指摘して欲しい。以下の記事では「問題」って書いてるけど、別にこれは問題じゃなくて適正な仕様だと思っているので別にInertia.jsが悪いわけではない。それを意識して使えない方が悪い。…が、初心者と…

LaravelのControllerでValidationを行う時

メモ Controller validateメソッドの - 第一引数がRule - 第二引数がエラーメッセージ - 第三引数がAttribute名 validate( [ 'current_pass…

Laravel12+Inertia.js+Reactの足場をBreezeを利用して整える(2025年11月)

なんか、まぁ、いっつも似たことやってるけど、ホント1年前と同じ事やってもダメなんよね。 ということで、メモ。 Docker いつもbitnami/laravelのイメージ使ってたんだけど、無くなってた(笑)。なんか、有料プランになるらしくって、とりあえず FROM bitnam…

2025年10月にNext.jsをcreate-next-appして静的HTMLをbuild

Next.jsは1年前に取り組んだのが最後で、それからずっとReactやってたのでもう一度やり直し。1年も経てばNext.jsのことだからゼロから始めた方が良いと思います。 参考にしたのは公式サイト https://nextjs.org/docs/app/getting-started/installation creat…

LaravelのSanctumでBearer Tokenを取得して使用したり期限を設定したり

使っているLaravelは11なので、デフォルトでSanctumがインストールできるのですがそのあたりは公式サイトにて割愛。 laravel.com やりたいこと ログイン時にBearer Tokenで使えるTokenを発行して、そのTokenの管理をしたり有効期限を設定したりする。 Token…

PHPのSlim Frameworkでセッションを使う

別に普通にsession_start()とかしてもよかったんだろうけど、なんとなくMiddlewareとか使ってみた。 使ってみたのはいいけど、どうもSlim FrameworkのMiddlewareは基本的に手出しができないものらしくって、そのMiddleware内部のObjectに手を出そうとしたらC…

今更ながらORIGINの違う(≒クロスドメイン)のAPIをブラウザからのJavaScriptで叩くときにCORSとかいろいろとありがとうございました。

JavaScriptがドメインを越えるにはCORS設定をしなければならない。ドメインというか、正確にはORIGINだけど。 ORIGINってこの3つから成り立ってる。 項目 例 スキーム http / https ホスト名 example.com / localhost ポート 80, 443, 3000, etc. 以下、ブラ…

PHPのcomposer、built-inサーバ、メール確認用のmailpitのついたdocker compose

PHP書いてて、お問い合わせフォームとかのちょっとしたものを書きたい場合に使う。 . ├── docker │ ├── app │ │ ├── Dockerfile │ │ └── public │ │ └── index.php │ └── compose.yaml └── src └── public └── index.php name: sample services: php: contai…

Laravel11にAzure Entra IDのOpenIDのサインインを使う

なんか色々と試行錯誤したのでメモしておく。 Azure Entra管理センターでの設定 アプリの登録 「この組織ディレクトリのみに含まれるアカウント」のシングルテナントにする。 リダイレクトURLはWEBを選択して後でURLも自分のLaravelアプリケーションのURLを…

MariaDBでrootでログインしている場合はノンパスワードでshellからコネクトする

こんな感じ これでいきなりログインできるようにしたい。 sudo mysql -u root MariaDB [(none)]> MariaDBによるとrootのシェル取ってるんだから、MariaDBで認証してても無駄ですよねって。そりゃそーだ。 やり方 unix_socketというプラグインを使うとできる…

MovableTypeでコンテンツデータのフィールドにコンテンツデータを指定している時にMTテンプレートで展開する方法

コンテンツデータ、便利ですね。 何が便利かって、コンテンツデータの中にコンテンツデータをフィールドとして指定できるからツリーが作れちゃう。 だけど、これをMTテンプレートで展開する時はちょっと工夫が必要です。 注意点1:1対Nのデータ構造だけど、…

MovableTypeの変数を設定するGetHashVarプラグインが便利なんだけど、わかりにくいのでメモ

これ、マジで便利。Alfasadoのブログにあるプラグイン。 www.powercms.jp なんだけど、元々MovableTypeにも変数タグあるじゃん… www.movabletype.jp ってことで、わかりにくかったのでメモ ハッシュ変数を設定 Alfasadoのは記述を簡単にしてくれる。 MTSetHa…

MovableTypeのコンテンツデータで1対Nデータを扱った件

1対Nのデータを通常のRDBSで扱う時は、子データ側に親データのIDを持っておくのがセオリーである。 しかし、MovableTypeのコンテンツデータでは「MTContentsタグのfield絞り込みにおいて、フィールドにコンテンツデータを使っていると絞り込みができない」と…

npmとcomposerのauditとアップデートについて

きっと忘れるのでメモ Composer 脆弱性を見つける composer audit パッケージを指定してアップデート composer update league/commonmark パッケージを指定しないとマイナーバージョンアップを一括で行う。 composer update 開発環境でアップデートしたcompo…

TypeScriptで「このキーのうち1つは存在すること」っていう型を定義する

ChatGPTに教えてもらったことのまとめ。 ChatGPT - Omit複数プロパティ 目的 type AuditLevel = "critical" | "high" | "moderate" | "low"; っていうUnion型があって、この型をキーに取るRecord型を作りたい。ただし、4つのうち1つは入っているようにしたい…

LaravelのInertiaとの連携がいっつもわからなくなるからメモっておく

Inertia.js+Laravel+React…便利ですよね!でも、レールに乗り始めれば早いけど、最初とか途中で「あー、init時に変数渡したい」ってなった時に「…ファイルどれだっけ?」ってなります。 なので、メモです。 結果だけ書くと、 routes/web.php Controller.ph…

DockerでLaravelからのメールを送受信確認するMailpit

すげー簡単だった。その割に、メール送受信は鬼門なのでこれはとてもうれしい。 以前、MailHogって使ったけど、今はMailpitの方が開発が盛んらしい。 Docker compose に追加 compose.yaml の servicesに追加。ポートの1025はsmtpで、8025はWEBからメールのチ…

令和7年にMTAをゼロから立てて、SSLを使ったPOP3やSMTP認証もやってみる

今朝何気にこの記事を見て「そういえば、MTAって随分とゼロから立ててないな…」と思った。いつもとりあえずlocalhostで動くPHPからメール送信できるだけのPostfixしか構築やってないからね。 qiita.com ということで、MTAを立ててPOP3・送信用のSMTPクライア…

JavaScriptのObject.entries, Object.keys, Object.values, Object.fromEntriesをまとめる。

Objectのメソッド 使えるとうねうねとできるんだけど、なんか見通し悪いんだよな。 Object.keys(obj) はキーを列挙して配列で返す。 const obj = { foo: 123, bar: "text", baz: false}; const keys = Object.keys(obj); console.log(keys); // => [ 'foo', …

EntryDateでゼロパディングしないで月日を表示する方法

www.movabletype.jp 普通にこのEntryDateのformatモディファイアを使うと… <mt:EntryDate format="%Y年%m月%d日"> ってやると、2025年02月05日みたいにゼロパディングされる。 一桁で表示するフォーマット無いみたいです。 正規表現で置換してやればいいじゃん ってことで、正規表現のグローバル</mt:entrydate>…

MovableTypeのDataAPIを叩こうとしたら以前はXMLRPCだったのでRest対応はどうするか困ってしまった件をなんとかする。

経緯 昔、MovableTypeのデータAPIを叩いて大量のデータを投稿するとかよくやってたんだけど、そのころはXMLRPCを使ってた。 イマドキは、Rest APIでしょ!ってんで、MovableTypeのデータAPI V6ではRestが主流っぽかった。別にXMLRPCも使えるんだろうけど。 …

PHPでSSLのCSR/CER/秘密鍵のmd5ハッシュ値を出す方法

作成したCSRと、認証局から発行されたCERと、秘密鍵が同一の流れのものか確認したい。 以前にこちらで使ったコマンドでmd5を取れば確認できる。 tohokuaiki.hateblo.jp 作成したCSR openssl req -noout -modulus -in server.csr | openssl md5 認証局から発…

UXリサーチの始め方

はじめてのUXリサーチ ユーザーとともに価値あるサービスを作り続けるために作者:松薗 美帆,草野 孔希翔泳社Amazon 1~4章まで 量的リサーチ アンケート 利用ログ 質的リサーチ ユーザーインタビュー 分け方 探索(問題点や新しい洞察を探す)⇔検証(問題解…