202505のブックマーク
ふうん便利じゃん???( aws コマンドを awslocal に置き換えるだけでlocalstackに向いてくれる)
これ以外にカジュアルにAWSアクセスキーを管理するツール見当たらなかったので、引き続き使ってる
ENTRYPOINT と CMD の違いを理解しようと思って読んでた
minio というS3との互換性も持つストレージソフトがあるようで、自前でストレージサーバー組む用途でも便利だし、localでDockerコンテナなどに立てて擬似環境として扱うこともできるっぽい カジュアルに端末のローカルディレクトリをWebページとして公開できるやつ(場合によっては便利そう)
カジュアルにCA付き証明書を発行できるの便利そう
どこまでがReactが求めている純粋関数を保てる範囲か?を丁寧に解説されてるの、めちゃよい
ニュースでACD(Active Cyber Defence, 能動的サイバー防御)のお話を見かけて、このへん全然知らんかったので調べたら先人がすでにまとめてくれてた
エントリ内で述べられていた「これ闇バイトおよびトクリュウ対策でもある??」みたいなのを見て、たしかにトクリュウ含めた詐欺行為って人的サービスのハッキングというか、つまりはソーシャルエンジニアリングみたいなもんだもんな、と納得していた
Dockerコンテナで実行ユーザーつくる意味ってなんだろ?と思って、これ参照してた
実際、rootユーザーで実行させるの危うくて、コンテナに注入されるコマンドを差し替えられたなら割と自由にできちゃう
Dockerイメージレジストリにアクセスできて、イメージを使って起動したコンテナに別のコマンドを注入して実行するタスク定義が書けて、みたいな状況があると成立するお話かな
不審なsudoersファイルの記述を見つけたので、学び直し(不審というかルーズな設定)
paratestの導入とかを考えてる途中に読んでた。 php artisan test -p ってかんじで並列実行をオーダーするとArtisan経由じゃなくてparatestで実行されるっぽいんだよねえ実行された際の見た目から勘繰ると
PostmanとPawくらいしか知らなくて......なんか別なの使ってみたいな!って気分だった
よさそうなので使ってみてる
Thunder Clientよいけど、 global Env がfreeプランだとちょっとでも使えないのがかなしみ
こういうテストコード周りも手厚いLaravelすごいわね
まあCakePHPでもできるはずやけどね(ただ割とエミュレートしないといけない雰囲気だったはずだけど)
これ忘れがちなんだが......
match文、あんまり使ったことなかったかも......(諸々見た感じswitch文より適切だとは思う)
Mailhogを用いてメール送信をモックする場合、別にlocalでインターセプトするだけなんだからTLS暗号化しなくてもええやん??みたいなお話だったっぽい(たまたま触ってたアプリで MAIL_ENCRYPTION=tls ってなってる .env.example を持っていたのでMailhogが「TLSハンドラーないやん」ってエラー吐いてた)
サクッとTLS暗号化するようにlocalに組み込めないかな??とあまり知らない中調べてて、stunnelとかSTARTTLSとかを使う、的なキーワードは拾えたけどよくわからんかった
Mailhogは処理が重めらしく、mailpitが推奨になった様子
Laravel v9からみたいだけど、古くても使えるんかな(まあMailhogでそんな困ってないから別にいいかバージョン上げてからで)
MDNはGFMベースでカスタマイズした記法をdocsのフォーマットに応用してるんだね〜〜
これめちゃ便利だった
割と忘れるのよね......シーケンス図の細かい意味のやつ
@itosho さんも使ってるらしいので、興味持った(Twitter見る限りだと、jaコミュニティに関わってるかも?) 普通にMySQLに任せればよい気がするけど、b-tree/hashを指定した方がよいケースってあるんだろうか
git commit でコミットメッセージ書くときのindent設定がなんか崩れてたので、改めて復習して整備し直してた
submoduleの更新方法、毎度忘れるのよね......(submoduleのディレクトリにいってrevisionを差し替えて、元のrepo rootに戻ってrevisionをcommitするかんじ)
これ、RoadRunnerのworkerスクリプトみたいなランタイム向けの実行スクリプトを直に書くんじゃなくて、複数のランタイム向けにクラス書いてシュッと呼べるかんじに隠蔽できるようになるじゃん??ってことよね localと公開時でランタイム差し替える、みたいなのができるだろうし
何よりRuntimeってインタフェースがあるだけで小さなスクリプト/functionもアプリケーションにしやすくなるわね
要は、リクエストを引数にレスポンスを返すfunctionを書けば、何でもアプリケーションになる
もっと言うと、その実行環境に関するAPIがPHPでミニマムでカジュアルに立てられるね
そしてそれをSymponyやLaravelなどのフレームワークで組織化する、みたいな方向にも向けやすい
何ならインタフェースを揃えておけば別のアプリケーションを差し替えるのもカジュアルにできる
そういや過去にRoadRunnerのworkerスクリプト書いたことあるし、それ参考にしながら独自なの必要なのか確認するかいずれ
便利そう!だけど、直近求めてたものとは違った(削除しようとしているexport typeが他のファイルで参照されてるかを探りたかった)
外部APIをlocalで参照しないように、モックサーバーを整備しようと思って昨今のソリューションを調べてた
まあ別にOpenAPIじゃなくてもよいし〜〜みたいな感覚はある(後方互換的に定義を流用できるなら便利だけどさ)
てか、こういう開発用のモックサーバーをDockerイメージで配布しておくと便利そうよね
それをdocker-compose.ymlで好きなレイアウトにすればよいんだし
OpenAPI互換のPrismとGUIで構築できるMockoonが紹介されてた
モックサーバーが定義するエンドポイントの振る舞いが結構柔軟に書けるっぽい
PrismはOpenAPIフォーマットなのでそこまで表現力ない?
Mockoonもレスポンス切り替えたりできるかもしれないように見えるけど、斜め読みしただけだとよくわからん
gh browse -b $(git branch --contains HEAD | sed 's/^\*\s//') みたいなのでGitHubのURLをサクッと取得したかった
compose.yamlに移行しようね、ってお話
個人的にはcompose.ymlで定義しておいて、テンポラリに上書きしたいならcompose.yamlを定義する、みたいなのでもよいかな〜〜って勝手に思ってた
これ地味に便利なお話(Docker for Macとかってホスト側のDockerもイメージで管理して隠蔽してるから、macOSのファイルシステムからは参照できないのよね)
Docker / Linux namespace にアクセスするためのコマンドらしい("ns enter"ってことか)
docker volume をちゃんと理解してなかったけど、こうやってnamed volumeを管理してくれるのね
repo内に docker/mysql/data/ みたいなディレクトリを用意しておく必要がないのね現代は
ハマってました
なんか効かないんですよね......プロジェクトrootに.editorconfigいるのにVSCodeで反映されてなかったり
直近取り組んでる実装に採用しようかな?と思って調べてた
そもそものStreamを返すAPIの取り扱いってどんなかんじかを復習してた
Laravelはカジュアルにstreamを返すエンドポイントを書けるっぽい
EventSourceはコネクションを持つやつだから close() もあるよねやっぱり
LaravelでServer-Sent Event対応のエンドポイントを実装するときに使えそうなやつ
便利そう。ストリームデータにパイプライン処理を通したり、それを狙った配信先に投げたり、みたいなのがyamlファイルでサクッと記述できるっぽい
しかも単体テストもyaml形式で書けるっぽい
あー services.__SERVICE_NAME__.extends ってプロパティでfileとserviceを指定すれば他のファイルのサービスを引用して書けるのか
export const useSelector: TypedUseSelectorHook<RootState> = rawUseSelector とするのね。なるほどなあ
まあDevToolsとかで見れるんだけど、コンソールから確認したい場合に使えるAPIですね
だいたい JSX がいるのに .ts のままだったりするよね(それで少しハマった)
愚直に指定するんやね......まあ便利だったけども😇
分割代入に as 句で型キャストするには const { value } = props as { value?: string | name } みたいなかんじで参照元の変数をキャストする必要があるのよ( ˘ω˘)
マークアップしてある要素のガワが存在しないように表示できる、ってことかな?
styled-componentとvanilla-extractってどっちがよいんだろうなあ(あとCSS埋め込みとCSS Modulesも)
常に表示してるとしんどいので、都度チェックするようにしたい
ぼくの場合、コンポーネントの再レンダリング、というかHOC(Higher-Order Component: 高階コンポーネント)内で都度再マウントされてる?っぽい挙動で苦しんでた
要はHOCがstateを持っていてHOC内部のコンポーネントにstateを注入している場合、HOC stateの更新時に内部コンポーネントを含めたReactNodeのツリーが再計算されてre-renderingされるので、その際にre-mountされる、みたいなニュアンスだと思う
もしかしたら上手く useCallback() を効かせると回避できた可能性はあるかも?
結局自前で車輪の再実装をしてしまったけど、実装してみて差異を理解したいので #あとで読む Laravel (Eloquent) だと、フィールドをBooleanで指定すると tinyint(1) になってる
なんとなく覚えてたんだけど、このへん毎回忘れるんよなあ......仕組みを理解しておくと少しは記憶に残るかなあ
ここで紹介されてる Zettelkasten (ツェッテルカステン)っての、割とぼくがこのScrapboxでやってるのと近しいじゃん??とか思った てかこれ、要は梅棹忠夫のカード法みたいなのにも共通項を感じるしねえ
今月の頭くらい?に気づいたんだけど、オニバスのブリューガイドが更新されてた
ネットでバズったので人気。うちの近所だと割と在庫はあるよ
コミットメッセージ、個人的なのが少し癖あるから標準化しよかな、と思って改めて眺めてた
改めて。参画先でドキュメントの標準化をしようかな〜〜と思って眺めてた
たしかにAI用にフォーマットさせたい狙いもあるんよね〜〜
あーJWTに検証のためのシグネチャを付与する仕組みがJWSなのね
JWSを用いて検証すればJWTが改竄されていないことが保証できる、的なね