202506のブックマーク
これ便利じゃん??ドメイン検索がサクッとできるCLIコマンド
あれこれ挙動を確認してみたら、 $table->uuid() は単にUUIDを許容する文字列長をstringで定義してくれるだけっぽいわね(UUIDとしての制約とかは別途付与する必要がある)
まあ、そりゃそうか。別にUUIDのカラムだからってuniqueでなければいけないわけではないもんね
1 : nのn側テーブルはには1側テーブルのレコードが持つIDを複数レコード登録され得るわけだからなあ
$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate() でサクッと定義できるんだねえ
これ改めて学び直してた(timestampはUTCで保存されて、timezoneを設定しながら読み書きすべし)
ここだけの話、そうじゃない環境に出くわしたので......😇
ちなみに、すでにサービスインしているアプリでtimezoneを途中から変換すると、既存のデータが狂うから気をつけるんだよ!!
これも確認を兼ねて改めて調べてた
結局Model側にもバリデーション処理を書いたりもするけど、個人的にはFK制約で弾くの好きなのよね
1:nとか0:nとかが忘れがちなんよね......と思って、参考になりそうなのを探してた
DB設計の教科書のひとつ(正規化して、できるだけテーブル単位で単一責務になるようにする)
「そうそうMySQLだと中間テーブル必要よね」ってなってた
フルスタックフレームワークだとDB定義的にはちょっと制約緩くてもORMで制約頑張ったりしてる
CakePHPはたしか中間テーブル書く派だった気がするけど、Laravelは中間テーブル諦める派だった
そういう意味では、Laravelだと別にSTIでもええやん、ってなるケースが多いっぽい
実装的には以下の方がシュッとしてるかなあ
詳細化したmodelクラスで protected static function boot() をoverrideして、その中で static::addGlobalScope(function (Builder $builder) { $builder->where('type'. 'hoge') }) みたいなかんじでWHERE句を常に付与するかんじ
なんかabstract classにできそうな印象もあるねこれなら
$fillable と $guarded の違いってなんだっけ、と思ったら同じなのかな
こういう機能を見てると、Eloquent優秀だなあ〜〜って思うよね
なるほど??既存のDBをwrapしたい場合にも便利ね〜〜
これちゃんと知らなかったわ......なんで知らんかったんだろう(普通に@testdox導入された時期にPHPUnit触ってた気がするんだけどなあ)
VSCodeでPHPUnit実行管理するにはこれが一番便利だった
ただ、テスト結果のコンソールタブで上手くteamcityのメタ文字とかが表示できなかった......issueとかでも「そっちじゃなくて出力タブで見てくれ」って回避を薦めてたので解決は諦めた
これか......macOS26から追加されるDocker互換のコンテナホストは
GitLabとかのGit互換があるリポジトリホスティングサービスを共通して扱えるCLIっぽい
機械学習向けのトレーニングデータを構造化して複雑に意味付けするような表現ができるやつっぽい
あれこれpluginとかを組み合わせて自作MCPサーバーをカジュアルに立てられるやつっぽい
知らなかったんだけど、いわゆるコンポーネント(Design Token)のスタイリングを表現するための共通言語っぽい
feature flag を外部から管理できるツールっぽいけどどうやって組み込むんだろうなあ
各種ランタイム向けにSDKを提供して、それを通じて操作できるようにしてるっぽいね
sedのデバッガーらしいけど、ワンライナーとかでも使えるんかなこれ(ファイルの入力を想定してるっぽいけど、ファイルに偽装できれば別に困らないか)
CLIでサンプラー的なグラフビジュアルを描けるツール
どういうツールだ??と思ったけど、要はAIエージェントを複数動かしてる場合のエクスプローラーになるのか
あーこれでJWTとかをエミュレートしたり解析したりできんじゃん(直近は手動で構築したりしてた)
Server Objectのことを調べてた
OASに対応したyamlを持ってれば、これでサクッとモックサーバーにできるのか〜〜
基本slimで、不足すればDebian{bookworm}を選ぶのがよさそうかなあ(あまり詳しく検討できてないけど)
bullseyeはDebian 11、bookwormがDebian 12
bookworm-slimってのはDebian 12のslim版、ってことね(現状LTSがbookwormなのでslimは実質bookworm-slim)
よっぽどの要件がなければalpineじゃなくてもよいね
あーなるほど?wildcard指定すればファイルが存在するかどうかは無視できるから、意図を理解して使えば便利なのね
でも割と危ういケースがあるので、用法用量を守って正しくお使いください(あんまり推奨できない用途ではある)
panva/jose: JWA, JWS, JWE, JWT, JWK, JWKS for Node.js, Browser, Cloudflare Workers, Deno, Bun, and other Web-interoperable runtimes | github.com "module of JSON Object Signing & Encryption" で jose なのね
こういうのに倣った仕様で実装しておきたいわね、公開するエンドポイントは
てかやっぱりMockoonよさそうだなあ(直近はPrism mockを使ったけど)
Laravelには php artisan stub:publish って artisan make の雛形が用意できるコマンドと、スタブを実現する \Illuminate\Support\Facades\Http::fake() ってのがあるのね
ADD は複数の機能(ローカル上での tar アーカイブ展開や、リモート URL のサポート)を持ち、一見では処理内容が分かりません(訳者注:ファイルや URL に何が含まれているか確認できないためです)。したがって ADD のベストな使い方は、ローカルの tar ファイルをイメージに自動展開( ADD rootfs.tar.xz / )する用途です。
なるほどなあ
イメージ・サイズの問題のため、 ADD でリモート URL 上のパッケージを取得するのは可能な限り避けてください。その代わりに curl や wget を使うべきです。この方法であれば、展開後に不要となったファイルを削除でき、イメージに余分なレイヤを増やしません
これはなんとなく知ってた
PHPだとこれがおすすめらしい(更新が活発)
実際に触ってみるとjoseと諸々が似てて、理解が進むと概念が結構わかりやすく感じた
これどっかで試したいんだったなあ
WireMockでJWT形式のランダムスタブを返すのはあるんだけど、検証するValidatorみたいなのがなかったのよねえ
とはいえ一度セットアップは試したから、どっかで吐き出しておきたいなあ
要点としては、extensionはstandaloneなjarを使うことと、個人的にはDockerfileを書いてextensionのセットアップもそっちに諸々定義した方がスッキリする的なとこかな
とはいえ、そもそもjarファイルでextensionが書かれてる部分で拡張することへのハードルが(全くJavaを書かない勢には)厳しいなあ......と思って手放した側面もあった
ミニマルに書いたexpressアプリにloggerを追加しようかな〜〜と思って調べたら、express公式のがあった
けど Hono + Deno/Bun に書き直す予定だからなあ......
そうなんだ(見直さなくては)
そうなんだ(いま要らないんだね〜〜知らんかったわ)
あー古いバージョンだとarm64での起動にすら対応してないんだ......
ちょっとGitHub Copilot試し始めたので参考にしたい
こういうのあるのね......(最近、久々にLaravel触ってる)
Laravel PintはPHP-CS-Fixerをwrapしてるので、このへんを参考にしてた
で、結局どっちがええんやろ、ってなってた
CS-Fixerは1行の文字数制限とかないのよねえ......別のカスタムルールを組み込む必要があるっぽい
こ!これ!!!ほしかったやつ!!!!!
echo '{ "key": "value" }' | jq '@json' でエスケープされたJSON文字列がお手軽に生成できる(改行とかスキップしてくれてシュッとできるので便利)
MCPサーバーを検査できるつーるっぽい(Homebrewにnew formulaとして追加されてて知った)
「別にnpm packagesに依存してるのも含め変わらんよね〜〜」ってお話だった。同意
てか、そういうWebで活きる仕様なのが強みよね......とも思うので、リスクと丁寧に付き合いながらやっていこやで〜〜って思うよね
というわけで、Honoを触ってるのでいろいろ読んでた 👀
まあ、基本無理やね(なので、このエントリではDeno/Node.jsハイブリッドで対応できる実装を目指してるっぽかった)
便利ページだった(対応している暗号化アルゴリズムとライブラリ内での対応が書いてあった)
joseもJSRにいました(なんか野良fork版がいたりしたので、ちゃんと本家を参照すること)
「最近、レビューを求めているPull Requestで雑にforce pushを乱用してしまった」の札を下げています(なので読み返してた)
slimがいなかったのでdebianで(あと微妙にバージョニングとのクロス感が使いづらいなあ)
Dockerコンテナ内部の環境変数を外部のコマンドから参照しようとすると、カジュアルにechoしてもダメなので......みたいなのに直面して調べてた
まあ、普通にlocalでコマンドを実行するときに変数リテラルが展開されちゃうだけだったけど(エスケープしたりシングルクォートでDockerコンテナ内に渡せたらちゃんとコンテナ内で展開された)
Oh......VSCodeのMCP利用ってpreviewだったのね(お仕事用にもらってる権限で使おうとしたらOrganizationレベルで設定変えてもらう必要があって、それを知らずに「有効にならねえ!」ってなってた😇)
分割代入で $request->validate($rules) の返り値を受け止めてたけど、optionalなパラメーターはそもそもその返り値に含まれない場合があるので、 [...$defaults, ...$request-validate($rules)] みたいなかんじで $defaults を $request->validate($rules) で上書きするように配列展開する必要があったのね〜〜
バリデーションルールにプリセットされてる'sometimes'ってのを含めておくと、値が渡ってきた時にだけバリデーションルールを効かせる、ってのが実現できるらしい
たまにflatten処理ほしくなるよねえ......🤔
interfaceを定義した実装だけあって「あれ?片手落ち感が......」みたいなプロジェクトを見かけたので、調べてた
interfaceはDTOみたいな汎用モデルとセットだから実装が分離できるはずなんだけどね......
PHPで、DTOとarray/hashみたいなプリミティブなデータ構造との変換を何に委ねるとよいかな??と思ったときの選択肢
Symfonyにそういう実装があるなら、これに依存するのが王道かなあ〜〜みたいな気持ち
Laravelに限定すれば spatie/laravel-data ってのもあるので、それに依存しても悪くはない(DTOとしてはプリミティブな実装で十分だけど、 extends Spatie\LaravelData\Data でLaravel連携するための便利メソッドが生やせるのがlaravel-dataである、みたいな認識) これ便利だなあ( curl ipconfig.me/ip でグローバルIPアドレスが返ってくるやつ)
「LLMをジュニアからチーフアーキテクトに」ってコピーが載ってた
AIエージェント向けのinputにも使えるっぽいのかなこれ
端末がネットワークに公開しているアドレスなどをスキャンできるarp-scanコマンドのRust実装
apple/container がcompose specをサポートしてくれるか?みたいなissue
(何がきっかけか忘れたけど)たまたま Docker.app の内部を見ていて、こういう名前の実行ファイルがいたので調べてた
com.docker.llama-server.exe is a background process associated with Docker's integration of Llama-based large language models (LLMs) into containerized environments.
別途LlamaベースのLLMを起動しているコンテナにアクセスできるようなサーバーを立ててくれてるんか......?
Deno経由だけどNode.jsのCrypto APIを使いたくて調べてた
Bufferデータを扱いたくて調べてたけど、これバイナリデータを取り扱う上でちゃんと理解しておくの大事だなあ......
@std/encoding とかもあるし、Denoで扱える標準パッケージ群も普通に便利ね
なんだっけ......なんかで話題になったんだよねこの一局