Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マネーフォワード クラウド経費 フロントエンド分離はじめました
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Money Forward, Inc.
September 06, 2023
Technology
0
210
マネーフォワード クラウド経費 フロントエンド分離はじめました
Money Forward, Inc.
September 06, 2023
Tweet
Share
More Decks by Money Forward, Inc.
See All by Money Forward, Inc.
SREを知らずに SREマネージャーになった話 / How I Became an SRE Manager Without Knowing What SRE Is
moneyforward
0
1.6k
Looker、”単なるBIツール”としての認識を超えて 〜現場で発見した活用へのヒント〜
moneyforward
0
130
Cursor、エンジニアのスイスアーミーナイフ / Cursor, an engineers swiss army knife
moneyforward
0
98
マネーフォワード QA Night 〜海外拠点と共に成長する組織の取り組み〜 / MoneyForward QA Night -Growth with Other People-
moneyforward
0
480
QA@MF Vietnam: Driving Quality, Innovation, and Growth
moneyforward
1
480
スケールし続ける事業とサービスを支える組織とアーキテクチャの生き残り戦略 / The survival strategy for Money Forward’s engineering.
moneyforward
0
1.1k
MEet Flutter Add-to-App: Unlocking Our Productivity
moneyforward
0
530
マネーフォワードが取り組む グローバルテックカンパニーへの挑戦 / Money Forward’s Challenge to Become a Global Tech Company
moneyforward
0
600
マネーフォワードのエンジニアリング進化論 / The Evolution of Engineering at Money Forward
moneyforward
0
1.1k
Other Decks in Technology
See All in Technology
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
570
コンテナセキュリティの最新事情 ~ 2026年版 ~
kyohmizu
7
2.4k
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
370
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
420
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
680
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
330
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2.1k
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
600
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
150
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
Evolving SEO for Evolving Search Engines
ryanjones
0
130
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
57
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Google's AI Overviews - The New Search
badams
0
910
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Into the Great Unknown - MozCon
thekraken
40
2.3k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
400
Transcript
マネーフォワード クラウド経費 フロントエンド分離はじめました Money Forward Tech Event vol.1 2023/07/26 カシフクトモヤ
自己紹介 樫福智哉(カシフクトモヤ) 2023年4月 株式会社マネーフォワード に入社 徳島出身、Iターンで東京から福岡に引越し
趣味: ゲーム(最近はゼルダ、ピクミン)、博物館巡り GitHub: https://github.com/tnyo43 𝕏: https://twitter.com/cashfooooou
おことわり まだ始まったばかりのプロジェクトでリリースはしていないです。 「こんなプロジェクトを始めたよ」「こんなことを考えて取り組んでいるよ」という共有です。
マネーフォワード クラウド経費の紹介 経費精算を自動化するシステム スマートフォン・PCで操作可能で、各種サービス自動連携やレシート内容の自動読み取りなど、 手入力の手間を徹底して省くことができる。 2016年2月にサービス提供開始( 現在8年目) 面倒だった経費精算にかかる時間を1/10※に 経費明細のデータ
連携で自動入力 ※当社調べ 領収書画像データの 自動取得 独自の銀行API連携機能で 振込処理が効率化
歴史が長いからこそのつらさ • レガシーな技術 ◦ ある時点で最善の選択をしても、すぐによりよい技術が登場する ◦ そもそも技術の刷新は難しい ▪ 通常の機能開発の片手間でやるには規模が大きすぎる ▪
過去に技術的な改善を試みたが、完全には対応しきれなかった • 例: slim + coffeescript, React (jsx, tsx)で書かれたコードが混在 • コードが密結合 ◦ フロントエンドとバックエンド、一見関係なさそうなフロントエンドのコードが密結合 ▪ 小規模に見える変更が簡単にできるとは限らない ▪ アーキテクチャレベルの対応が必要 ◦ そもそもテストしづらい ので、十分テストされている状態を作ることが難しい ▪ デグレが発生してしまう
フロントエンド分離はじめました 2023年3月から、フロントエンドの負債解消プロジェクト 「フロントエンド分離」 発足 やること • コード品質の向上 • フロントエンドとバックエンドの分離 •
モダンな技術の導入 ... などなど 期待する効果 • バックエンドとの疎結合化 • デプロイの独立 • テスタビリティ向上 + カバレッジ向上 • フロントエンドの性能改善 ... などなど
フロントエンド分離のここがすごい! • 今後の長期的な開発を見据えて、しっかりリソースを割く • 内部品質を高くするために、独立性を高くする • モダンな技術を取り入れる
フロントエンド分離のここがすごい! 今後の長期的な開発を見据えて、しっかりリソースを割く 現在、4人のエンジニアがフロントエンド分離に専属で取り組んでいる。 完遂まで年単位でリソースを割くことを決断している。 品質を高くすることが目的なので、品質に妥協をしない。 • プロダクトを長く育てていく意思がある • 会社の体力があるからこそできること 意外と難しい
つい瞬間的なスピードを求 めて妥協しがち
フロントエンド分離のここがすごい! 内部品質を高くするために、独立性を高くする 機能ごとにパッケージを分けて小さくビルドする。 安全な開発ができる状況を目指す。 • パッケージ同士を疎結合にして、責務・影響を最小限に留める ◦ 内部品質の向上 ▪ 理解容易性
▪ 変更容易性 ▪ テスタビリティ ◦ ユーザへ届ける価値が高まる ▪ リリースまでにかかる時間が短くなる ▪ 障害の修正までにかかる時間が短くなる ディレクトリを分けることより も強い制約
フロントエンド分離のここがすごい! モダンな技術を取り入れる ユーザ体験/開発体験を向上させることを目的に、新しい技術を積極的に取り入れていく • React + Next.js (フロントエンドフレームワーク、 App Router
も導入中) • turbo (ビルドシステム) • URQL (GraphQL クライアント) • Jest + Testing Library (UI を含めた自動テスト) • Storybook (UI カタログ、 VRT) • Mock Service Worker (ローカル環境、テスト環境のためのモックサーバー)
フロントエンド分離の行く末は、君の目で確かめてくれ! フロントエンド分離プロジェクトは、まだ始まったばかり。 今後どのように進んでいくかは神のみぞ知る ...。 • テックブログやイベントで発信をしていく予定 ◦ Moneyforward Developers Blog
◦ Zenn ◦ connpass • We are hiring! ◦ 他にもいろんな技術改善プロジェクトがあります ◦ この後の懇親会でぜひ声をかけてください ◦ 採用情報 ◦ 発表者の 𝕏: @cashfooooou