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
Multi Step Form, Decentralized Autonomous Organ...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
pumpkiinbell
February 06, 2025
Programming
1.2k
1
Share
Multi Step Form, Decentralized Autonomous Organization
Bottom-Up Approach for Multi-Step Form Implementation by using Jotai
pumpkiinbell
February 06, 2025
Other Decks in Programming
See All in Programming
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
130
Agentic Elixir
whatyouhide
0
450
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
150
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
170
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
1.2k
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.5k
【ディップ|26年新卒研修資料】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
150
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
260
Explore CoroutineScope
tomoeng11
0
190
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
800
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
5
5.2k
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.1k
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
540
Writing Fast Ruby
sferik
630
63k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Building the Perfect Custom Keyboard
takai
2
750
A designer walks into a library…
pauljervisheath
211
24k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Ruling the World: When Life Gets Gamed
codingconduct
0
220
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
460
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
210
Rails Girls Zürich Keynote
gr2m
96
14k
Building AI with AI
inesmontani
PRO
1
980
Transcript
Multi Step Form, 중앙 집권에서 자율 조직으로 Multi Step Form
구현을 위한 Bottom-Up Approach 토스코어 Product Platform Team / 박종호 6th Frontend Diving Club (2025.02.07)
Metaphor is a programmer’s weapon
조직 구조 이야기
조직 구조 이야기
조직 구조 이야기
조직 구조 이야기
• 왜 혼자서 모든걸 다 하려고 그래 • 팀의 성과가
조직의 성과고 • 팀의 성공이 조직의 성공이잖아 • 팀이 필요한 예산과 목표만 관리해 조직 구조 이야기
조직 구조 이야기
조직 구조 이야기 😄
Multi-Step Form?
Multi Step Form Step (단계) 이전 버튼 (유효성 검사 안함)
다음 버튼 (현재 단계의 유효성 검사) 제출 버튼 (모든 단계의 유효성 검사)
Multi Step Form payload 선언
Multi Step Form payload 선언 Step 컴포넌트가 변경하는 값을 payload
에 업데이트
Multi Step Form payload 선언 Step 컴포넌트가 변경하는 값을 payload
에 업데이트 버튼 관련 유효성 로직 추가
문제점 Payload 와 Step 의 인터페이스가 다른 경우, 이를 변환하는
로직을 Form 컴포넌트에서 작성해줘야 함
문제점 버튼 유효성 로직을 Form 컴포넌트에서 작성해줘야 함 Payload 와
Step 의 인터페이스가 다른 경우, 이를 변환하는 로직을 Form 컴포넌트에서 작성해줘야 함
Field, Step 이 더 많아진다면 ? Form 이 더 복잡해진다면
?
Field, Step 이 더 많아진다면 ? Form 이 더 복잡해진다면
?
• 모든 Step Payload 를 조합한 값 = 폼 Payload
• 모든 Step 이 유효하다 = 폼이 유효하다 Bottom Up Approach
• StepValue ◦ Step 이 가져야 할 값 • serialize
◦ Step 의 값이 Payload 에 어떻게 담겨야 하는가? • validate ◦ Step 의 값이 유효한가? Bottom Up Approach - Step
Bottom Up Approach - Step
• valueAtom ◦ step payload 가 담긴 atom • serializeAtom
◦ valueAtom 에 기반해 payload 에 담길 형태로 변환한 Atom • validateAtom ◦ valueAtom 에 기반해 해당 값이 유효한지 판별하는 Atom Bottom Up Approach - Step
valueAtoms • 모든 step 의 valueAtom, serializeAtom, validateAtom 을 정의
Bottom Up Approach - Form
payloadAtom • valueAtoms 의 값 중 serializeAtom 만 모아서 payload
를 정의 Bottom Up Approach - Form
validateAtom • valueAtoms 의 값 중 validateAtom 만 모아서 폼
유효성을 정의 Bottom Up Approach - Form
Bottom Up Approach - Form Step 은 자신의 값(valueAtom)만 변경
Payload 는 업데이트 하지 않음 폼의 유효성= 이전에 만든 validateAtom 으로 판단 스텝의 유효성= 각 스텝의 validateAtom 으로 판단
마무리
마무리 • 코드 ◦ https://codesandbox.io/p/sandbox/dazzling-leftpad-4wzs3y ◦ https://codesandbox.io/p/devbox/bottom-up-approach-multi-step-for m-xf7kz2 ▪ (codesandbox
계정이 있다면) • 장표 ◦ https://speakerdeck.com/pumpkiinbell/multi-step-form-decentralized -autonomous-organization