Money Forward Developersのフィード
https://zenn.dev/p/moneyforward
株式会社マネーフォワード公式開発者向けアカウントです。 技術記事やイベント、登壇など技術関連のことを発信します。
フィード

Swiftで年末ジャンボシュミレーターMCPサーバーを作ってみた
Money Forward Developersのフィード
こんにちは。iOSエンジニアのTomo🍎です。皆さんは年末ジャンボ買いましたか?今年の1等前後賞は10億円だったようですね!私は現実的に期待値が購入金額を下回るので購入しませんでした。😭とはいえ、「もし1万枚の宝くじを買ったら、1枚ぐらい当たるのではないか。」という疑問は湧いてきます。そこで今回、年末ジャンボ宝くじのシミュレーターを作って、実際に検証してみることにしました。今回はMCPを使って、Claudeから直接呼び出せるツールとして実装し、会話の中でシミュレーション結果が返ってくるようしていきたいと思います。 MCPとはLLMアプリケーションと外部データソースおよびツー...
5日前

脱MCPを意識してZephyrというテスト管理ツールのCLIを作ってみた
1
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。最近ではオープンスタンダードとして注目されている Agent Skills がありますよね。以下の記事や、記事にリンクされている動画の説明が非常にわかりやすかったです。https://dev.classmethod.jp/articles/agent-skills-2025-standardized-overview/私は以前 mcp-zephyr という形で、Zephyrというテストマネジメントツールを自然言語で操作するためのMCPサーバーを作っていました。https://zenn.dev/moneyforward/...
5日前

テーブル設計でフラグ追加時に気をつけていること
Money Forward Developersのフィード
前書きこんにちは、Mocchiです。最近、業務でテーブル設計をレビューしているときに「フラグ一つ」で考えることが増えたため、その経験を言語化しました。数年前は何も考えずにフラグを追加していたので、少し成長を感じます。😊 本題テーブル設計において、「とりあえずフラグ追加」は、データ整合性の低下、検索パフォーマンスの劣化、および情報の損失を招く恐れがあります。この記事では、フラグを追加する際、あるいは設計レビューをする際に、負債を抱えないために立ち止まって検討すべきポイントをまとめました。 題材以下のような記事テーブルを題材として考えます。一つのテーブルで「下書き」...
8日前

新卒でもわかる!難しいドメインでのプロダクト開発
Money Forward Developersのフィード
この記事は Money Forward Engineer Advent Calendar 2025 23日目の記事になります。 はじめにこんにちは。マネーフォワード大阪開発拠点にてバックエンドエンジニアをしている yuta.yamamoto です。普段はKotlinを用いてバックエンド開発をしています。この記事では、新卒の僕が「連結会計」という難しいドメインを持つプロダクト開発において、どのように設計や実装のアプローチを行なっているかを紹介するものです。ドメイン駆動設計(DDD)や関数型ドメインモデリング、本では読んだことあるけど実務でどう役立っているの?と思っている方の参考...
12日前

想定範囲内の人生を送っている25歳の脳内会議
Money Forward Developersのフィード
!この記事は、Money Forward Engineer Advent Calendar 2025の12月25日の投稿です。 はじめに特に書く内容は決めていないけど、今思っていることを書き始める。会社のブログに書くべきか悩んだけど、まぁキャリアのことも含まれているし、いいかなと思い、書くことにした。まずは書き始めないと、、、ということで。想定読者?特にいない。しいて言うなら将来の自分かな。構造的にまとめて書こうか悩んだけど、まとめられる自信もなく、まぁたまには思うがままに書くのもいいかと思い、そのまま書く。私事だけど、つい先月25歳になった。キリのいい年齢だし、なんと...
12日前

来年の新卒に読んでほしいSpring Framework WebClientのコツ4選
Money Forward Developersのフィード
この記事は Money Forward Kansai Advent Calendar 2025 20日目の記事になります。 はじめにこんにちは。マネーフォワード大阪開発拠点にてバックエンドエンジニアをしている yuta.yamamoto です。普段はKotlinを用いてバックエンド開発をしています。この記事では、新卒の僕がKotlinで WebClient を触っていて、「へー、なるほど!」となったことを4つ挙げてみました。もしかしたら他の言語のHTTPクライアント実装でも本記事の内容は当たり前かもしれませんが、最近はAIにコードを書かせることが増え、細かい仕様を見落としがち...
13日前

Type Ruby Concept
Money Forward Developersのフィード
Money Forward Fukuoka Advent Calendar 2025 23日目です。yiyenene と申します。 Ruby と型システムhttps://x.com/yukihiro_matz/status/1841018946776154431?s=20不穏な話をしたいわけではないですが、Ruby における静的型付けの議論は長い間行われています。私は rbs が好きですが、全く書けていません。やはり実装を書き終わった後に(あるいは書く前に)別のファイルにわざわざ定義を書くという行為をさせるにはかなり強い動機が必要になると思います。rbs-inline はそう...
15日前

Server Side Kotlin におけるGradle Convention Pluginを「積み木」にしない設計
Money Forward Developersのフィード
はじめにAndroid 向けの Gradle Convention Plugin に関する記事は、これまでにいくつか見てきました。一方で、Server Side Kotlin を前提にした Convention Plugin の設計については、あまり整理された情報を見かけません。この記事で紹介している構成は、「最初からこの形を選んだ」というものではありません。マルチプロジェクト化の過程で Convention Plugin を導入し、実際に運用していく中で、うまくいった点後から見ると設計が甘かった点今あらためて考えるならこうしたい点が見えてきました。本記事は...
15日前

Chromeの組み込みAI翻訳APIを使って、ドメイン用語に強い翻訳機能を実装してみた
Money Forward Developersのフィード
こんにちは!マネーフォワードでサーバーサイドエンジニアをしている bondee です。私たちの組織ではここ数年グローバル化を進めており、現在では英語でのコミュニケーションが日常となっています。チームの公用語は英語になりましたが、システム側には 「日本語話者が利用することを前提に作られてきた社内管理画面」 という課題が残っていました。今回は、Chromeの Built-in AI (Gemini Nano) と「独自の用語集」を組み合わせることで、 歴史が長い管理画面をコストを掛けずにグローバル対応させた技術的な工夫 について紹介します。 はじめに私が開発に携わっているプロダ...
16日前

【TypeScript Only】Bun × Hono × Next.js で作るWebアプリ with E2E
Money Forward Developersのフィード
はじめに本記事では、バックエンドもフロントエンドもTypeScriptで統一したWebアプリケーションの開発手法について紹介します。Bunをランタイムとして採用し、Honoでバックエンド、Next.jsでフロントエンドを構築した実践的なアプローチを解説します。https://github.com/mikan3rd/hono-next-example 技術スタックの全体像本プロジェクトで採用している技術スタックの全体像を紹介します。 共通技術TypeScript:TypeScriptをフロントエンドとバックエンドの両方で使用Bun:Bunをランタイムとして採用(...
16日前

50人以上の開発者が日々使用する10万commitオーバーのGitHubリポジトリを分離した
Money Forward Developersのフィード
!これは株式会社マネーフォワードが主催している Money Forward Engineer Advent Calendar 2025 の 22日目の記事です。 はじめにこんにちは miyamu です。2025年はテックリードとして様々な技術課題に向き合ってきました。その中で個人的に最も大きかった技術課題として「リポジトリ分離」があります。以下の記事でも軽く紹介させていただいています。https://zenn.dev/moneyforward/articles/5c011e4b44ae18本記事では、この課題に対してどのように対応したかについて、筆を執りたいと思います...
16日前

lock_wait_timeoutを使用しオンラインDDL時のメタデータロックによる待ち状態を軽減する
Money Forward Developersのフィード
!この記事は以下のAdvent Calendarの20日目の記事です。Money Forward Fukuoka Advent Calendar 2025MySQL Advent Calendar 2025 シリーズ2なお、複数カレンダーへの参加については、それぞれの主催者であるtositeさんとmeijikさんに許可をいただいています。 はじめにこんにちは、M-Yamashitaです。今回の記事では、オンラインDDL実行時にメタデータロックが発生し待ち状態となってしまった問題と、lock_wait_timeoutを設定することでその影響を軽減する方法を紹介します。...
18日前

Railsアンチパターン「なんでもConcern」
Money Forward Developersのフィード
!これは株式会社マネーフォワード福岡開発拠点が主催している Money Forward Fukuoka Advent Calendar 2025 の 19日目の記事です。https://adventar.org/calendars/11579こんにちは、マネーフォワード福岡にてクラウド債務支払のバックエンドエンジニアをしているMocchiです。クラウド債務支払のリポジトリは長年運用されており、機能追加や改修を重ねる中で、いくつかの技術的負債が蓄積されています。今回はクラウド債務支払プロダクトに実際にあった事例を元に、Concernによってかえってコードの複雑さを増し、メンテナ...
19日前

「既存プロダクトの引力」をどう断ち切るか? 複数プロダクトを横断するマイクロサービス開発で私が学んだこと
Money Forward Developersのフィード
!これは株式会社マネーフォワード福岡開発拠点が主催している Money Forward Fukuoka Advent Calendar 2025 の 18日目の記事です。前日は、himenoさんの2025年、食べたラーメンを振り返る。でしたhttps://adventar.org/calendars/11579こんにちは!マネーフォワード 福岡拠点でサーバーサイドエンジニアをしています、bondeeと申します。これまで特定のプロダクト(仮にプロダクトAとします)の開発チームにどっぷり浸かっていた私ですが、このたび組織変更があり、 「プロダクトAとB、両方を支える横断的なマイ...
20日前

AIのLost in the Middle現象
Money Forward Developersのフィード
!この記事は、Money Forward Engineer Advent Calendar 2025 12 月 18 日の記事です。コーディングエージェントの登場によって、AI にコンテキストを丸ごと渡して開発することが非常にラクになりました。プロンプトを書く際、行数の多いファイルを参照したり、プロジェクト全体を読み込ませたりすることも、あまり気にせずにやっていました。しかし、コンテキスト制限内であっても、情報を詰め込みすぎると AI の性能は劣化します。これを「Lost in the Middle 現象」と呼びます。 コンテキストウィンドウとは?コンテキストウィンドウ...
20日前

元消防士が障害訓練の統制やってみた
Money Forward Developersのフィード
!この記事は、Money Forward Engineers Advent Calendar 2025 12月17日の投稿です はじめにはじめまして。HiroVodka です。皆さん、障害訓練してますか?私は以前、消防士として働いていました。消防の世界では、訓練をしない日は基本的にないと言っていいくらい、毎日のように訓練があります。一方で、エンジニアとして働くようになってから感じたのは、本番障害は起きるけど、障害訓練はあまりやっていないチームが意外と多いということです。このエントリでは、実際に私のチームで行った障害訓練の事例と、そこで得た学びを紹介します。 障害訓練...
21日前

最終リリースを「片付け」にするための登り方 —— 互換性が壊れる変更と事前の仕込み
Money Forward Developersのフィード
大きな機能追加が失敗する典型的な始まり長年運用しているサービスに、大きめの機能追加を行います。設計もレビューも一通り終わり、実装も概ねできています。あとはリリースだけです。この段階で、だいたい次のような会話が始まります。「DBのスキーマ変わるけど、前方互換だから大丈夫ですよね」「GraphQL は deprecated 付けてるから、たぶん問題ないですよね」「Protobuf は互換性を意識してるから壊れないと思います」「最悪フラグで切れます」そして、“大きなリリース”が一度で出されます。 何が問題だったのかは、その時点では分かりませんリリース直後は、何...
23日前

SQLだけでナイーブベイズ分類モデルを実装する ― スパムメール分類を例に
Money Forward Developersのフィード
SQL でデータ分析をしていると、機械学習や統計モデルを作りたいけど R や Python 立ち上げるのは面倒臭い!ってことがよくあると思います。そんな時は、そのまま SQL でモデル実装してしまえばいいのです!(※そこまで複雑でないアルゴリズムに限る)ということで、この記事ではスパムメール(迷惑メール)検知などでよく使われるナイーブベイズ分類モデルを SQL だけで実装する方法を紹介します。 ナイーブベイズとは?まずはナイーブベイズがどのようなものかを解説します。ナイーブベイズというとなんか難しそうに聞こえるかもしれませんが、基本的な原理は実はとてもシンプルです。以...
25日前

シフトレフトは施策ではない --- 品質の作り込みは最初から始まっている
Money Forward Developersのフィード
1. はじめに!シフトレフトという言葉に感じていた違和感ここ数年、「シフトレフト」という言葉を耳にする機会が増えました。テスト、QA、セキュリティ、運用――何かにつけて「シフトレフトしよう」という言葉が使われます。一方で、正直なところずっと違和感もありました。話を聞いていると、人によって指しているものが違います。テストを早く書くことを指す人もいれば、QAを設計段階から巻き込むことだと言う人もいる。レビュー工程を前倒しすることだ、という説明を聞いたこともあります。どれも間違ってはいないと思うのですが、どれもしっくりこなかったです。なぜなら自分自身は、ウォータ...
1ヶ月前

1ポチ! 勉強時間記録の物理ボタンを作ってみた [Toggl Track]
Money Forward Developersのフィード
勉強時間や仕事時間の記録をしたい。だけどスマホを出してタップするのすらめんどくさい何回も止め忘れるうちに、結局挫折してしまったという経験はありませんか?私は前世からずっとです。今回は SORACOM LTE-M Button Plus を使って、どこでもただ物理ボタンを押すだけで勉強や仕事の時間を記録開始したり、ストップできる工作をしてみました。このボタンに1クリックで勉強の記録を開始、2クリックで仕事の記録を開始、長押しで記録の停止をどこでも行えます。初期費用としてこのボタンの購入に8,000円ほどかかっていますが、ランニングコストはほとんどない計算です。楽しみなが...
1ヶ月前