Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Multi Step Form, Decentralized Autonomous Organ...
Search
pumpkiinbell
February 06, 2025
Programming
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
5
810
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
200
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.3k
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.9k
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.8k
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
140
Event is what happens
moro
2
4k
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
Crash Auto Pipelines
veronikapj
1
400
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
150
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
3.6k
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
740
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
680
Believing is Seeing
oripsolob
1
270
How to Ace a Technical Interview
jacobian
280
24k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
121
130k
Building an army of robots
kneath
307
47k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Bash Introduction
62gerente
615
220k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.3k
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