ゆめみのフィード
https://zenn.dev/p/yumemi_inc
ゆめみは、誰かの心を動かす体験をテクノロジーとデザインで形にするエンジニアリング&クリエイティブブランドです。本サイトでは、ゆめみメンバーがプロジェクト等で得た知見/経験を紹介しています。現場での知見/経験をできるだけ多く、早く社会に還元することを目的にしているため、感想や異論な
フィード

GitHub Release 作成をパッケージリリースのトリガーにするな!
39
ゆめみのフィード
はじめにGitHub Actions からパッケージを公開するとき,こんなワークフローを組んでいないでしょうか?GitHub 上で Release を作成する→ on: release: types: [published] でワークフローが起動する→ npm publish が走る操作する側から見ると,非常に分かりやすいですよね。Release を作れば NPM にも公開される。GitHub Release を起点として,その後ろにパッケージレジストリへの publish をぶら下げる構成です。ところが,2025 年に GitHub の Immutable Rele...
4日前

Git 感覚で AWS / Google Cloud / Azure のシークレットを管理できる CLI/TUI/GUI ツール「suve」
ゆめみのフィード
はじめにAgentic AI 全盛期の昨今,コードを書くのも,テストを書くのも,リファクタリングするのも,かなりの部分を AI に任せられるようになりました。ところが,そんな時代においても シークレットや設定値の管理だけは,いまだに手作業でクラウドコンソールをぽちぽちするのが普通 ではないでしょうか?AWS マネジメントコンソールにログインして,SSM Parameter Store の画面を開いて,該当のパラメータを探して,「編集」ボタンを押して,テキストエリアに値を貼り付けて,保存する「あれ,この値いつ誰が変えたんだっけ?前の値なんだったっけ?」となっても,履歴画面は貧弱...
15日前

node:test と ESLint RuleTester の組み合わせ方
ゆめみのフィード
ESLint の RuleTester を Node.js 組み込みテストランナー(node:test)で動かすための方法をまとめる。 やりたいことNode.js 組み込みテストランナー node:test(node --test)を使う既存の RuleTester.run() の書き方はそのまま使う(valid / invalid のオブジェクトでテストを書く)なぜわざわざ node:test を使うのかって?ロマンですよロマン。▼「Node.js 組み込みテストランナー」って、何?って人は以下の記事を参照してください。https://developers.play....
2ヶ月前

Marionette MCP の call_custom_extension で、Store 画像撮影や UI 検証を自動化しよう
ゆめみのフィード
はじめにFlutter エンジニアの皆さん、普段の開発でどんな MCP を使っていますか?今回は僕イチ推しの Marionette MCP と、最近追加された call_custom_extension について紹介します! Marionette MCP とはLeanCode が開発している Flutter に特化した MCP です。https://pub.dev/packages/marionette_mcpFlutter 専用の MCP としては公式が出している Dart and Flutter MCP server がありますが、あちらはエラーの取得やコードの分析...
4ヶ月前

【消費トークン1/12】コーディングエージェントにRAGは罠だった。「検索」ではなく「コンパイル」するDAGツールを作った話
ゆめみのフィード
はじめにClaude Code や Cursor といった,Coding Agent ツールに思った通りのコードを書かせるために,ドキュメントやルールをせっせと生産する時代になったわけですが,ドキュメントが増えれば増えるほど,AI は正しいドキュメントを探すためにたくさんの Token を消費したり,それでいて適切な情報にたどり着けなかったりします. AI 駆動開発の現場では最初は, AGENTS.md に簡単なディレクトリ構成などを書きます.少しずつ固有の設計や実装ルールが増えてくると,docs/architecture.md に移して,設計方針をまとめます.AGENT...
4ヶ月前

AIが選んでくれるRSS LINE Botを作った
ゆめみのフィード
はじめにClaude Codeオモロイやん、と思い毎日ニュースを送ってくれるなんちゃってRSS LINE Botを作りました。コードは99%くらいをClaudeに書いてもらいました(GitHub Actionsのワークフローのtimeout設定を書いたくらい)。 実際のLINE通知もう少し下までありますが、ほぼ同じなので省略。 機能一覧環境変数で読み込む対象RSSのリスト、LINEに配信するカテゴリ、カテゴリごとの最大件数を設定GitHub Actionsで定期実行複数RSSから過去24時間の記事を一括取得OpenAIでカテゴリ別に分類・選別・件数絞り込み...
5ヶ月前

Tart の StateSaver を SavedStateHandle と組み合わせる
ゆめみのフィード
私は Tart という Kotlin Multiplatform 向けの状態管理ライブラリを開発しています。https://github.com/yumemi-inc/TartTart には StateSaver という仕組みを備えており、任意の方法で State(状態)を保存、復元することができます。今回は Android ViewModel の SavedStateHandle を用いた StateSaver を実装し、システムによるアプリ kill 時にも状態を復元する方法について説明します。 下準備まず下準備として、Kotlin serialization を利用して...
6ヶ月前

Linter 開発こそ Vibe Coding の最も優れた適用例の 1 つである
ゆめみのフィード
!この記事は 8 割ぐらい AI が書いています。 はじめにこの記事は Go - Qiita Advent Calendar 2025 (Series 2) の 25 日目の記事です。プログラミング言語のアドベントカレンダーは技術寄りのトピックが多いと思いますが,今回は初めてのアイデア寄りの記事になりそうです。https://zenn.dev/mpyw/articles/new-relic-go-agent-strugglehttps://zenn.dev/mpyw/articles/go-context-feature-flags1〜2 週間で OSS ライブラリ 5 ...
7ヶ月前

5年間 Laravel を使って辿り着いた,AI 時代に考える「なんちゃってクリーンアーキテクチャ」のその先
ゆめみのフィード
この記事は Laravel Advent Calendar 2025 - Qiita 最終日の記事です.今年過疎すぎワロタ. はじめに5 年前の Laravel アドベントカレンダー最終日に投稿されたこの記事を皆さんはご存知でしょうか.https://zenn.dev/mpyw/articles/ce7d09eb6d8117この記事は Zenn の Laravel トピックで歴代ランキング 1 位をキープし,日本の Laravel コミュニティではおなじみの記事となっています.Laravel の使いやすさを保ちつつ,できるだけテスタブルで,保守性を高めるためにクリーンアーキ...
7ヶ月前

Remote Compose触ってみた
ゆめみのフィード
Remote Composeとはなんぞや?と言うことでサクッと遊んでみました。 概要アプリに対して外部からUIを渡して構築させることができるボタンのクリックイベントなどは事前に実装をしてアプリに組み込まれていないといけないが、追加情報を上手く活用すれば多少柔軟に処理を実行できるかもしれない 導入方法https://developer.android.com/jetpack/androidx/releases/compose-remote?utm_source=android-studio-app&utm_medium=app 参考情報https:/...
7ヶ月前

Feature Flag の量産に耐えられる Go のライブラリを作りました
ゆめみのフィード
!Go ではタブインデントが推奨されていますが,この記事では Web ブラウザ上での見やすさに配慮して半角スペースを採用しています。!この記事は 6 割ぐらい AI が書いています。 ご挨拶この記事は Go - Qiita Advent Calendar 2025 (Series 2) の 15 日目の記事です。実は今回 2 回目の参加です。空いてる日があったので,ちょうどいい小ネタで埋めさせてもらいます。↓ 前回の記事https://zenn.dev/mpyw/articles/new-relic-go-agent-struggle 動機: コンテキストキーの構...
7ヶ月前

AIエージェント並列実行に便利なgtr(git-worktree-runner)が.gtrconfig対応でチーム利用しやすくなった
ゆめみのフィード
Claude CodeやCodex CLIなどのAIエージェントを並列実行する上でgit worktree(以下worktree)が注目されています。ただworktreeはコマンドがややこしいので、補助ツールが欲しくなります😭そこでおすすめしたいのがCodeRabbitが開発しているgit-worktree-runnerというcliツールです!(公式の略称がgtrなので、今後はgtrと表記します。)gtrの提供するコマンドは便利だったのですが、これまで設定周りが少し使いづらかったのですが、最近のアプデで.gtrconfigという設定ファイルに対応しチームでの活用などもやりやすくなり...
7ヶ月前

New Relic Go Agent 完全理解・実践導入ガイド
ゆめみのフィード
!Go ではタブインデントが推奨されていますが,この記事では Web ブラウザ上での見やすさに配慮して半角スペースを採用しています。!この記事は Forkwell の普段は絶対読まないメルマガで配信されていたおい、テックブログを書け - Speaker Deckが目に留まり,どうしても頭から離れなくなってしまったので,発散してスッキリするために仕方なく書きました。いつから俺の筆はこんなに重くなってしまったんだ… ご挨拶この記事は Go - Qiita Advent Calendar 2025 (Series 2) の 14 日目の記事です。ごぶさたしております。現在...
7ヶ月前

Vitest の expect.unreachable で条件分岐を伴うテストで型を絞り込める
ゆめみのフィード
!この記事は、Qiita の TypeScript Advent Calendar 2025 の 2025-12-08 投稿分です。 expect.unreachable、かなり便利Zod や Valibot などで作成した schema について、Vitest で Unit テストを記述する際に、「成功したかどうか」の分岐がでた時に少し困りませんか?import * as v from "valibot";export const UserSchema = v.object({ name: v.string(), age: v.number(),});// ...
7ヶ月前

visionOS TC 2025 Main Conference 参加レポート
ゆめみのフィード
要約イベント: visionOS TC 2025 [Main Conference]日時: 2025年12月6日(土)会場: Abema Towers 11F(東京・渋谷) 3つの重要な学びiOSアプリのImmersive化は思ったより簡単SwiftUIの既存技術だけで扇型レイアウトが実現可能。.rotation3DEffect()と.offset()だけで没入体験を作れる。USDフォーマットの理解が開発を加速する.usda(テキスト形式)でGit管理可能。Reality Composer Proの非破壊編集で安全に開発できる。AI活用で一人でも高...
7ヶ月前

【iOS】VoiceOver対応の実装方法 - 基本的な使い方
ゆめみのフィード
ポイントを押さえて最低限の実装で自然な読み上げを作ってみましょう。動作確認編はこちら → 【iOS】VoiceOverの動作確認方法 - シミュレータですぐ試せる 🎯 基本の考え方VoiceOver のために伝える情報は次の3つ。label:その要素が何を意味するかhint:操作したときに何が起こるかvalue:現在の状態・数値この3つを必要なところにだけつければよいです。 まずは「何もしなくていい」要素SwiftUIの標準コンポーネントは、アクセシビリティがかなり整っているため、手を入れなくてよい部分もいくつかあります。 基本的にはそのままでOKT...
8ヶ月前

【iOS】VoiceOverの動作確認方法 - シミュレータですぐ試せる
ゆめみのフィード
VoiceOverの動作確認方法の入門記事です。実装編はこちら → 【iOS】VoiceOver対応の実装方法 - 基本的な使い方 🎯 まずは試してみる:3ステップ 1. VoiceOver をオンにする(シミュレータ)⌘ + F5これだけでオン/オフできます。 2. VoiceOver で画面を動かす(シミュレータ)次へ移動:Control + Option + →前へ移動:Control + Option + ←タップ:Control + Option + Spaceフォーカスを動かして、どんな順に読み上げられるかを聞いてみます。 3. 読み上...
8ヶ月前

【TS】ユーザー定義型ガードを自分で書くな。ライブラリを使え。
ゆめみのフィード
!この記事は、Qiita の TypeScript Advent Calendar 2025 の 2025-12-03 投稿分です。 概要TypeScript では、「ユーザー定義型ガード」という種類の関数が書けます。その一例をまず見てみましょう。guards/is-string.ts/** * ユーザー定義型ガード。入力値が `string` 型であるときに、真を返す。 */export function isString(input: unknown): input is string { return typeof input === 'string';...
8ヶ月前

AIファーストなドキュメント戦略 - DocCommentにユビキタス言語を書くだけのシンプルなアプローチ
ゆめみのフィード
AIコーディング、特にClaude CodeやCursorのようなツールの普及に伴い、「AIにいかに正確なコンテキストを与えるか」が開発者の最大の関心事になっています。その中で現在、 SDD(Spec Driven Development)的なアプローチ——つまり、詳細な仕様書をAIに書かせ、それこそが正としてメンテナンスを続ける手法——が注目されています。しかし、私は実務での経験を通じて、「仕様書を充実させるよりも、コード内のDocCommentを充実させるシンプルなアプローチこそが、AIファーストな開発なのでは?」 という考えに至りました。SDD自体賛否あるアプローチで、好意的な...
8ヶ月前

MCPの3つの欠点 - よりよく使うために知っておきたいこと
ゆめみのフィード
MCPは強力で便利なツールですが、他のツールと同様に、設計上の制限と課題があります。これらを理解することで、MCPをより効果的に活用できるようになります。この記事では、MCPの3つの欠点と、それぞれへの実践的な対策を紹介します。興味深いことに、MCPを発表したAnthropic自身もこれらの課題を認識し、改善に取り組んでいます。 MCPの3つの欠点 1. AIエージェントは必ずしもMCPが得意でないLLMはコード作成での訓練は豊富ですが、ツール呼び出しの訓練データは非常に限定的です[1]。実際のツール呼び出し例は合成データのみに基づいており、自然言語に存在しない特殊なトークン...
8ヶ月前