-
Notifications
You must be signed in to change notification settings - Fork 11
Daily Scrum
๊น์ฌํ
์ด์ฌํ ์ง ์ผ๋ง ๋์ง ์์ ์ง ์ ๋ฆฌ์ ๊ฐ๊ตฌ ์ค๋น๋ก ๊ณ ์ ์ค์ด๋ค. ๊ทธ๋ก ์ธํด ์๊ฐ์ ํ๋ก์ ํธ์ ๋ ํฌ์ํ์ง ๋ชปํด ํ์๋ค์๊ฒ ๋ฏธ์ํ๋ค. ๋นจ๋ฆฌ ์ง ์ ๋ฆฌ๋ฅผ ๋ง์น๊ณ ํ๋ก์ ํธ์ ๋ ์ด๋ฐ์งํด์ผ ํ ๋ฏํ๋ค. ํ์๋ค๊ณผ ํจ๊ป ๊ธฐํ์ ๋ง๋ฌด๋ฆฌํ๊ณ ๊ฐ์ธ์ ์ผ๋ก๋ ๋งค์ผ ์ฌ์ฉํ๊ฒ ๋ typescript์ ํต์ฌ ์ฃผ์ ์ธ OAuth์ ๋ํด์ ๊ณต๋ถํ ์์ ์ด๋ค.
๋จ์ ํธ
ํ๋ก ํธ ๋๋ํํธ ์์ฑ์ ์ํด ํผ๊ทธ๋ง๋ฅผ ๊ณต๋ถํ๋ค. ํ์ฌ ๋ฌด๋ฃ ๋ฒ์ ์์๋ 3๋ช
์ด์์ด ๋์ ํธ์ง์ ํ ์ ์๋ ์ด์๊ฐ ์์ด, ์ฐจํ์ ํ๋ก๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ ํด์ผํ ์๋ ์์ ๊ฒ ๊ฐ๋ค.
์ด์ ๋ ํผ๊ทธ๋ง์ ๋ํ ๊ณต๋ถ๋ฅผ ์์ํ์๊ณ , ์ค๋ ๋ด๋ก ๊ณต์ getting started ๊ฐ์๋ฅผ ๋ค ๋ณผ ๊ฒ์ด๋ค.
์ ํ์ง
์ค๋๋ง์ ์์ ํผ๊ณคํ๋ค. ๋ฉฐ์น ๊ณ ์ํด์ผ ๋ค์ ์ ์ํ ๊ฒ ๊ฐ๋ค.
SNS๊ฐ ์ฒ์์ด๋ค. Feature ๋ฝ์๋ด๋ ๋ฐ ์ด๋ ค์์ด ๋ง์์ง๋ง ํ์๋ค์ ๋์์ผ๋ก ํด๊ฒฐํ ์ ์์๋ค.
์ด๋ฒ ํ๋ก์ ํธ์ OAuth ์๋น์ค ๊ธฐ๋ฅ์ ์ ๊ณตํ ์์ ์ด๊ธฐ์ OAuth 2.0 RFC๋ฌธ์๋ฅผ ์ฝ๊ณ ์๋ค.
์ ์์
๋ฉ์ธํ์ด์ง์ ์ฌ์ฉ์ํ์ด์ง ์๋๋ฆฌ์ค๋ฅผ ์์ฑํ๋ค. ์ค๋์ ๊ฒ์๋ฌผ ์์ธ ํ์ด์ง์ ํ๋กํ ๋ณ๊ฒฝ ํ์ด์ง ์๋๋ฆฌ์ค๋ฅผ ์์ฑํด์ผ ํ๋ค. ๋ค๊ฐ์ด ๊ธฐํ์๋ฅผ ์์ฑํ๊ณ RFC6749๋ฅผ ๊ณต๋ถํ๋ฉด ์ข๊ฒ ๋ค.
๊น์ฌํ
์ต๊ทผ์ ์ด์ฌ๋ฅผ ํด์ ๊ฐ๊ตฌ๋ฅผ ์ ๋ฆฌํ๋ ๋ฐ ๋ง์ ์๊ฐ์ ์ฐ๊ณ ์๋ค.
OAuth ๊ณต์๋ฌธ์๋ฅผ ๋ฒ์ญํ์ฌ ํ์๋ค๊ณผ ๊ณต์ ํ๊ณ ์๋ค. ์ต๋ํ ๋ฒ์ญํ์ฌ ๊ณต์ ํ ์์ ์ด๊ณ ์๊ฐ์ ์ฌ๋ ฅ์ด ๋์ง ์์ผ๋ฉด ํ์์ ์ธ ์์๋ค์ ํํด ๋ฒ์ญํ ์์ ์ด๋ค.
๋จ์ ํธ
Figma ๊ธฐ๋ณธ ๊ฐ์๋ฅผ ํ์ตํ์๊ณ ์ด๋ฅผ ์ ๋ฆฌํ์ฌ ๋๋ฃ๋ค๊ณผ ๊ณต์ ํ ์์ ์ด๋ค.
์ค์ต์ ํตํด Figma์ ์ฌ์ฉ๋ฒ์ ์ตํ๊ณ , ํ๋ก์ ํธ์ ๊ธฐ๋ณธ UI ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ฑํ ์์ ์ด๋ค.
๋ฆฌ์กํธ์ state ๊ณต๋ถ ์ค, useState๋ฅผ ์ ๋ชป ์ฐ๊ณ ์์ด์ ์ด์ ๋ํด ๊ณต๋ถํ๋ ์ค์ด๋ค.
์ ํ์ง
์ด์ ํผ๊ณคํด์ ์นผํดํ๋๋ฐ ํ๋์ ์ผ๋ก ์๊ธฐํ๋ณต! ์ต์ ์ค๋ก๋๋ฏผ์จ์์ค...
OAuth์ grant ํ์
์ ๋ํด์ ๊ณต๋ถํจ. Implicit ๋ฐฉ์์ด๋ pkce ๋ฐฉ์์ด ์๋๋ฐ ์ด์ ๋ํด ๊ณต๋ถํจ. ๊ทผ๋ฐ ๋จธ๋ฆฌ์๋ ์ ์ ๋จ์์ ๋ค์ ๊ณต๋ถํ ์์ ์.
์ ์์
๊ฐ๊ธฐ์ ๊ฑธ๋ ค์ ์ปจ๋์
์ด ์ข์ง ์๋ค. ์ค๋ ๋ฐค์ ์ฅํ์ ์ผ๊ณ ๋ฐ๋ปํ๊ฒ ์์ ๋นจ๋ฆฌ ์ปจ๋์
์ ํ๋ณตํด์ผ๊ฒ ๋ค. ํ์๋คํํ
๋ฏธ์ํ๋ค ใ
.
OAuth์ Client Registeration Flow์ ๋ํด์ ๊ณต๋ถํ์๊ณ , ๋๋จธ์ง RFC ๋ด์ฉ๋ค์ ํ์ตํ ์์ ์ด๋ค.
๋จ์ ํธ
ํ๋ฉด ๊ธฐํ์์ ๋ฃ์ ํ๋กํ ํ์
์ Figma๋ฅผ ํตํด ๋ง๋ค์๋ค. ์ฌ์์น๊ตฌ๊ฐ ํฌํ ์ต ์ฅ์ธ์ด์ด์ ๋ง์ ๋์์ ๋ฐ์ ์ ์์๋ค. ์ง์ ํ ์ฌ๋๊พผ์ด๋ค.
์ค๋์ ๊ฐ๋ฐ์ ํ์ด์ง UI ํ๋กํ ํ์
์ ๋ง๋ค ์์ ์ด๊ณ , ๋ถ์กฑํ React ๊ณต๋ถ๋ฅผ ๋ง๋ฌด๋ฆฌํ ์์ ์ด๋ค.
์ ์์
ํ๋ฉด ๊ธฐํ์์ ๋ฃ์ ๋ก๊ทธ์ธ & ํ์๊ฐ์
UI ํ๋กํ ํ์
์ Figma๋ก ๋ง๋ค์๋ค. ์์ ์ ์์
๋ฌผ์๋ํด ์๋นํ ๋ฟ๋ฏํดํ๋ ์ค์ด๋ค.
Modal UI์ Tool Tip UI ํ๋กํ ํ์
์ ๋ง๋ค๊ณ OAuth ๋ฌธ์์ ๋๋จธ์ง ๋ถ๋ถ์ ๊ณต๋ถํ ์์ ์ด๋ค.
๊น์ฌํ
์ด์ ๋ชจ ๊ธฐ์
์ AI๋ฉด์ ์ ์ณค๋ค. ์ด์ ํ ์ผ์ ๋๋ถ๋ถ ๋ง๋ฌด๋ฆฌํด์ ๊ฐ์ธ์๊ฐ์ ํฌ์ํด ํ ํ๋ก์ ํธ์ ํ์ํ ๊ธฐ์ ์คํ์ ๊ณต๋ถ ํ ์์ ์ด๋ค.
์ค๋์ ํ๋ฉด ๊ธฐํ์๋ฅผ ๋ฐํ์ผ๋ก ํ์ง์ดํ๊ณผ Feature List๋ฅผ ๋ฝ์ ์์ ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ์ค๋ ์ ์ฌ์ผ๋ก๋ ์์ธ์ง ์ผ์ฑ๋ณถ์์ ์ง์ ์๋ฆฌํด ์ค๋นํ๋ค. ๋๋ฌด ๊ธฐ๋ํ๋ ์ค!!!
์ ํ์ง
์ด์ ๋ญ ํ๋์ง ๋์ด๊ฐ ๋ค์ด ๊ธฐ์ต์ด ์ ์๋์ง๋ง OAuth์ grant type๋ณ access token ๋ฐ๊ธ flow์ ๋ํด์ ๊ณต๋ถํ์๊ณ , ์งฌ์งฌ์ด ํ์
์คํฌ๋ฆฝํธ๋ฅผ ๊ณต๋ถํ๋ค.
์ค๋์ ์ฌํ์ด์ ํผ์ณ๋ฆฌ์คํธ๋ฅผ ํจ๊ป ๋ฝ๊ณ ๋ด์ผ ์์ ๊ธฐํ์ ๋ฐํ ์ค๋น๋ฅผ ํ ๊ฒ์ด๋ค.
๋จ์ ํธ
์ด์ ํผ๊ทธ๋ง ์กฐ๊ธ ๋ ํ๋ค๊ฐ ์ ๋ค์์. ์ค๋ ์์์ด์ ํ๋ฉด๊ธฐํ์ ๋ถ์กฑํ ๋ถ๋ถ์ ์ฑ์ธ ์์ .
์ ์์
์ง๊ฐ์ ์กฐ๊ธ ์ฐ๋ค๋๊ฒ ๋ฐ๋ก ์ ๋ค์ด๋ฒ๋ ธ์. ์ค๋ ์ ํธ์ ํ๋ฉด๊ธฐํ์ ๋ถ์กฑํ ๋ถ๋ถ์ ์ฑ์ธ ์์
๊น์ฌํ
์ด์ CS์คํฐ๋์์ ๋งํฌ๋ ๋ฆฌ์คํธ์๋ํด ๊ณต๋ถํ๊ณ ์ ๋
์ ๋จน๊ณ ์ ๋ค์์. ์ค๋ ํ์ง์ดํ๊ณผ ๋น ์ง ํผ์ณ๋ฆฌ์คํธ๋ฅผ ์ฑ์ธ ์์ .
์ ํ์ง
์ง์ณ์ ์ ๋ค์์. ์ค๋ ์ฌํ์ด์ ๋น ์ง ํผ์ณ๋ฆฌ์คํธ๋ฅผ ์ฑ์ธ ์์ ์ด๊ณ OAuth๋ฅผ ์งฌ์งฌ์ด ๊ณ์ํด์ ๊ณต๋ถํ ๊ฒ. eslint์ prettier ์ค์ ์ ์ ์, ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๋์ํด์ ํจ๊ปํ๊ธฐ๋ก ํจ.
์ ์์
์ฃผ๋ง์ ์๋ฐ๋ฅผ ํ๋๋ผ ๊ทธ๋ํํ์ ๊ณต๋ถ๋ฅผ ๋ชปํ์ต๋๋ค...
์ฌ์ด๋ ํ๋ก์ ํธ ๋ฒ๊ทธ๋ฅผ ๊ณ ์ณค๋๋ฐ ํ๋ก์ ํธ์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ๋ชธ์ ๋๋. ๋ด๊ฐ ์ง ์ฝ๋๋ฅผ ๋๋ฃ๊ฐ ๊ณ ์ณค๋๋ฐ ๋ค์ ๋ด๊ฐ ๊ณ ์น ์ํฉ์ด ์์ ๋ ์ฝ๋๊ฐ ์๊ทธ๋ ๊ฒ ๋๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋๋ผ. ์ด๋ฐ ์ํฉ์ ๋ฐฉ์งํ๋ฉด์ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํจ.
๋จ์ ํธ
์ด๋ฒ์ฃผ๋ง์ ํน ์ฌ์์. ํ ์์ผ์ ๋ฆ์ ์๋ค๊ฐ ์นดํ์ ๋๊ฐ์ ๊น rebase์ ๋ํด์ ๊ณต๋ถํ์.
๊ทธ๋ฆฌ๊ณ ์ทจ๋ฏธ์ํ์ ์ฆ๊น. ์ผ์์ผ์๋ ํ์๋ฅผ ๋ง์น๊ณ ์ ์ฅ์ ์ฌ๋ฌ๊ฐ์. ์ท์ ์ฌ๊ณ ์ ๋
์ ๋จน์์. ์ด๋ฒ ์ฃผ๋ง์ ๋ค๊ฐ์ค๋ ์ด๋ฒ ์ฃผ๋ฅผ ์ํด ํ๋ณตํ๋ ์๊ฐ์ ๋ณด๋์.
๊น์ฌํ
ํ ์์ผ์ ๊ฐ๊ธฐ๋ชธ์ด์ ๊ฑธ๋ ค ํน ํด์์ ์ทจํจ. ์ผ์์ผ์๋ ๊ฐ๊ตฌ ์กฐ๋ฆฝ๊ณผ ์ด์ฟ์ง์ ์ ๋ฆฌ๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ณ ๋๋จธ์ง ์๊ฐ์๋ ๋ฆฌ์กํธ์๋ํด์ ๊ณต๋ถํจ. ์ด๋ฒ ์ฃผ๋ถํฐ๋ ๊ฑด๊ฐ๊ด๋ฆฌ์๋ ์ ๊ฒฝ์จ์ ํ๋ก์ ํธ์ ์ฐจ์ง์ด ์๋๋ก ํด์ผ๊ฒ ์
์ ํ์ง ๊ฐ๊ธฐ๋ชธ์ด๋ก์ธํ ๊ฒฐ์
์ ์์ OAuth๊ณต๋ถ๋ฅผ ๋ค์ ์์ํด์ผํ ๊ฒ ๊ฐ๋ค. ์์ง OAuth์ ๋ํ backlog๋ฅผ ์์ฑํ์ง ๋ชปํ ๊ฒ์ด ๋ง์์ ๊ฑธ๋ฆฐ๋ค. ํ์ง๋ง ์กฐ๊ธํดํ์ง์๊ณ ํ ์ผ์ ์ฐจ๊ทผ์ฐจ๊ทผ ํด์ผ๊ฒ ๋ค.
๋จ์ ํธ ์ด์ ๋ฐค์๋ ํฝ์ด๋ฒ์ฏ์ ์ ๋จน๊ณ ์ค๋ ์์นจ๋ ๋จน๊ณ ์๋ค. ๋์ ์ ์ ์์ ๋จน์์(๋์ ๋์ฐฉ!). ์ด์ ๋ฐค ์ง์์ CI ์ค์ ์ ํ๋ ค ํ์ผ๋, ๋ ๋ด๊ธธ๋ก ์์ด eslint prettier ์ค์ ๋ง ๊ณต๋ถํ๋ค ์ค๋ค.
๊น์ฌํ ์ด์ ๋ฐ์ฐฌ๊ฑฐ๋ฆฌ๋ฅผ ์ฌ๋ ค๊ณ ํ๋๋ฐ ์ ์ก์ ์ด ๋ค ๋ฌธ์ ๋ซ์์. ๊ทธ๋์ ์ค๋์ ๊ณ๋์ฅ์ ์ค๋นํจ. ํ๋ก์ ํธ์ ์ฐ์ผ ๊ธฐ์ ์คํ๋ค ์ข ๋ ๊ณต๋ถ ์ค์ด๊ณ ์์ง ์ข ๋ ํด์ผํ ๊ฒ ๊ฐ์. ๋นจ๋ฆฌ ๊ฐ์ธ์ผ์ ๋ง๋ฌด๋ฆฌ ์ง๊ณ ํ๋ก์ ํธ์ ์ง์คํ๊ณ ์ถ์. ํ์๋ค์๊ฒ ๋ฏธ์ํจ.
์ ํ์ง ์ฃผ๋ง์ ๊ฑธ๋ฆฐ ๊ฐ๊ธฐ์ ์ฌํ๋ก ์ด์ ๋ ๋ถ์ฐธํจ. ํ๋ฃจ ํน ์ฌ๋ฉด์ ์์ํ์์. ํ์๋ค์๊ฒ ๋ฏธ์ํ๋ค. ์์ผ๋ก ๋ ๋ฏธ์ํ ์์ ์ด๋ค. ํ์๋ค์ด ๋ฐฐ์ฆ๊ณผ ์ฌ๊ณผ์ฆ์ ์ฃผ์ด์ ๊ฐ๋ ๋จน์๋ค.
์์ง ๋ชธ ์ํ๊ฐ ์ ์์ ์ด์ง ์์ง๋ง ์ค๋ ๋ ์ด์ฌํ ํด์ ํ์๋ค์๊ฒ ๋ฏผํ ๋ผ์น์ง ์์ ๊ฒ์ด๋ค.
์ค๋์ ๋ชป ๋คํ OAuth ๊ณต๋ถ์ ๊ฐ๋ฐํ๊ฒฝ์ธํ ์ ๋ํด ํ์๋ค๊ณผ ๋ ผ์ํ ์์ ์ด๋ค.