UD
udus.dev
UD
@udus.dev
MLOps/SRE @ ZOZO, LINEヤフー

個人開発で、メモを一元化しアイデアを活用につなげるチャット型メモアプリを作っています。

技術スタック: Go/Python/TypeScript/SQL/Hono/React/Next.js/k8s/Terraform/Google Cloud/AWS

https://notes.udus.dev
最近、ローカルファーストが来てるらしい
lofi.so
Local-First Software
Experience apps that work offline, keep your data private, and sync seamlessly across your devices. Your data stays with you, not locked in the cloud.
lofi.so
November 2, 2025 at 8:08 AM
aria属性がなぜ必要でどう機能し付与すべきか疑問だったが「Webアプリケーションアクセシビリティ」を読んで理解できた

結論
・適切なAOM構築に必要
・表現しきれない情報付加に活用

→HTML/CSSのセマンティクスで表現できているなら、無理につけなくても良さそう

amzn.to/4m0TJBb
September 2, 2025 at 3:04 AM
Next.jsのサーバーアクションに追加の引数を渡す際にbindメソッドを使います。
その時の挙動について理解が曖昧だったのでまとめました。
zenn.dev/ud/articles/...
Next.js サーバーアクションの bind の挙動を整理する
Next.js のサーバーアクションを使っていて、bind の書き方がよくわからないと感じることがありました。 特に「引数はどう渡るのか」「null って何なのか」が最初はつかみにくかったです。 ここではそれを順番に整理します。
zenn.dev
August 29, 2025 at 3:04 AM
Supabaseは認証サーバーにリクエストするgetUser()を推奨している。
supabase.com/docs/guides/...

Next.js公式で紹介されているサーバーに保存した秘密鍵使ってJWTの署名を検証する方針を採用しないのはなぜだろう?
nextjs.org/docs/app/gui...

後者の方が通信数減らせて優位な気がする
#Supabase #Nextjs
Setting up Server-Side Auth for Next.js | Supabase Docs
Search docs...
supabase.com
August 18, 2025 at 10:43 AM
Next.js on Cloudflare Workers で、OG画像を設定する時の注意点をまとめました。
Vercelだと`metadataBase`は自動で埋めてくれますが、Vercel以外のホスティングサービスでは自分で設定する必要あるため要注意です

zenn.dev/ud/articles/...

#CloudflareWorkers #Nextjs
August 12, 2025 at 10:20 AM
Biome v2での設定をミスっていて、フォーマットが変になってしまう問題を解決する記事を書きました。
zenn.dev/ud/articles/...
#biome #個人開発
モノレポでBiome v2を使う時は「"root":false,"extends":"//"」とする
今行っている個人開発では、モノレポ構成でフォーマッタ/リンタにはBiomeを採用しています。
zenn.dev
August 10, 2025 at 11:51 PM
Cloudflare Workersでは、環境変数もコンテキスト経由でアクセスする必要があることに注意です

zenn.dev/ud/articles/...
#CloudflareWorkers #Hono
Hono on Cloudflare Workersではprocess.envの代わりにc.envを使う
個人開発でHono on Cloudflare Workersな構成でAPIを開発しています。
zenn.dev
August 10, 2025 at 8:08 AM
個人開発でCloudflare Workers x Hono x Drizzle x Supabaseな構成でAPIサーバー作っています。
ハマったところを記事にしました
zenn.dev/ud/articles/...
#CloudflareWorkers #Supabase #Drizzle #Hono
Drizzle and Supabase on Cloudflare Workersでは、DBのコネクションを使い回すことができない
Drizzle and Supabase on Cloudflare Workersな構成でハマった所をまとめました。
zenn.dev
August 10, 2025 at 3:04 AM
オフラインコンバージョン=gclidを保持しておいて、後からCVを連携する機能のこと
メアドや電話番号をアップロードすれば、いい感じに広告閲覧と紐づけてくれる機能ではない。
gclidを保持しておくことが必要✏️
Google 広告のオフラインコンバージョントラッキングの概要と使い方|アナグラム株式会社
ユーザーのオフライン行動が収益に結びつくビジネスは多くあります。例えば不動産賃ビジネスのウェブ広告を用いたプロモーションを考えてみましょう。『広告配信→クリック→来店予約→実店舗に来店→説明・内見→成…
anagrams.jp
April 1, 2025 at 3:04 AM
UTMパラメータのUTMはUrchin Tracking Moduleの略
UrchinはGoogle Analyticsの前身のサービス(会社)らしい
つまり、Google Analyticsの計測モジュールという意味で、そのまま理解できる
UTMパラメータとは何の略? - phpとmysqlとマーケティングについてのメモ
「Urchin Tracking Module」の略。 読み方はアーチン・トラッキング・モジュール。 Google Analyticsの元である、Urchin(アーチン)で使われていた用語。…
editors-tbr.hatenablog.com
March 31, 2025 at 11:51 PM
CursorのYOLOモードの語源はYou Only Live Once
たった一回の人生なんだから、多少のリスクは取ろうという意味のスラングらしい
ネットスラングyoloの意味とは?人生は一度だけ・人生は短いの英語を紹介| Kimini英会話
毎日があっという間に過ぎていきますね。そんな生活のなかでも皆さん、人生を楽しんでいますか?いきなりの質問ではあ
kimini.online
March 31, 2025 at 8:08 AM
Google広告、Google Analytics、Googleタグマネージャー関連の計測の仕組み、雰囲気理解した
March 31, 2025 at 7:53 AM
Tailwindはデザインシステムを実装するフレームワークとして採用するからこそ価値がある。
デフォルトテーマを使うなら、MUIとかBootstrapでええやんって話
https://speakerdeck.com/fsubal/fu-zhai-ninarinikuicsswodezainatotukuruniha

デザインシステムはドメインモデルだったのか!!
負債になりにくいCSSをデザイナとつくるには?
#Offers_DeepDive 「CSS設計完全ガイド/Tailwind-CSS実践入門著者に聞く 負債にならないCSSの書き方とは(2025年2月12日)」での登壇資料です。 https://offers-jp.connpass.com/event/342125/
speakerdeck.com
February 13, 2025 at 11:51 PM
Companion Objectは使いこなすことできていなかったのでとても便利だ!!
[TypeScript] Branded Types と Companion Object の組み合わせが便利 - Qiita
TypeScriptアドベンドカレンダー 3日目の記事になります。https://qiita.com/advent-calendar/2023/typescriptTypeScriptの実装パタ…
qiita.com
February 9, 2025 at 11:51 PM
Array.values()でイテレーター返せること知らなかった

mas / filter使うメリットはWhatとHowの分離というのも良い言語化で学びだった
map / filter などの高階関数よりも古典的な for文の方が読みやすいと感じるあなたへ
gakuzzzz.github.io
February 4, 2025 at 8:08 AM
要求の意図(=Why)が大切な理由

✏背後にあるドメインモデル(=対象とする問題を解決するための抽象構造)を発見するための重要なヒントになるから。
あるいは、意図や背景は抽象構造そのものである可能性すらある。

https://qiita.com/hirokidaichi/items/61ad129eae43771d0fc3
スケールする要求を支える仕様の「意図」と「直交性」 - Qiita
はじめにどんなソフトウェアエンジニアも拡張しやすくメンテナンスしやすいソフトウェアを作りたいと思っているはずです。また、どんなプロダクトマネージャも同様に拡張しやすいシンプルな要求を作りたいと考え…
qiita.com
January 30, 2025 at 11:51 PM
これめちゃくちゃやってしまっているかも...反省

> LiveShareは操作ができてしまうので、ナビゲータが指示厨っぽくなり、ドライバーはスポイルされてやる気をなくしてしまい、もうお前がやれ!みたいになってしまって疲弊することがわかったからだ。
ペアプロで何に気をつけているかの知見紹介 - Lambdaカクテル
ここ最近は開発が佳境で、同僚とかなりの頻度でペアプロ(ペアプログラミング)(ここではペアオペも含む)している。主にTypeScriptを使ったNext.jsのコードを書いているが、もちろん設計もするし、もうちょっと大きいアーキテクチャみたいな相談もする。DBスキーマをどう割るか・・・みたいな話もしている。たいていみんな出社していないので、リモートでこれをやっている(国内だし全員日本語話者なので時…
blog.3qe.us
January 23, 2025 at 8:08 AM
Honoで405を返したい時はapp.allで返す。
デフォルトで405を返さない理由は、悪意のあるクライアントに余計な情報を知らせないため
If path exists but method is not allowed hono should response with a 405 (method not allowed) status · Issue #2624 · honojs/hono
What is the feature you are proposing? If path exists but method is not allowed hono should response with a 405 (method not allowed) status, instead of a 404
github.com
January 13, 2025 at 8:08 AM
InterfaceとType aliasの使い分けに関するTypeScript公式の説明勉強になる。

基本はInterfaceの方が有利らしい。

> use interface until you need to use features from type.
Documentation - Everyday Types
The language primitives.
www.typescriptlang.org
January 12, 2025 at 3:21 AM
AI時代だからこそ一周回ってTDDが大事になるかもという話。

ML関連の仕事に就いておきながら、正直全然AI使いこなせている自信ないので、こういう基礎的なところからやり直したい気持ち

https://zenn.dev/akfm/articles/tdd-with-copilot
とても参考になる記事でした
AI時代にこそTDDだと思う話
GitHub Copilot、みなさん使ってますか?すでに多くの方が利用しており、「ないと困る」という方から「提案の質に問題がある」「まだまだ使えない」という方まで、様々な意見を聞きます。
zenn.dev
January 7, 2025 at 11:51 PM
完成の定義はスクラムガイドに書かれているから意識しやすいが、Readyの定義は書かれていないが実際やってみると大事なこと同意

意識的にReadyを定義することできてなかったのでやっていきたい

Readyの定義と完成の定義
Readyの定義と完成の定義
ビジネスのためにより良いプロセスと技術を。Ryuzee.comではアジャイル開発/DevOps/Cloud Computingに関するオンサイトのコンサルティングサービスやトレーニング、技術支援、組織支援サービスを提供しています。
www.ryuzee.com
January 7, 2025 at 3:04 AM
Running Leanの第3版 1章の読書メモです。

リーンキャンバスは一人で分かることだけ、20分程度で一気に書くことがコツです
lean-canvas-20min - UDlog
Not Found File lean-canvas-20min.md does not exist.
notes.udus.dev
January 5, 2025 at 3:04 AM