Skip to content

Daily Scrum

Logqwerty edited this page Nov 21, 2019 · 34 revisions

โœจ2019-11-05

๊น€์žฌํ˜„
์ด์‚ฌํ•œ ์ง€ ์–ผ๋งˆ ๋˜์ง€ ์•Š์•„ ์ง ์ •๋ฆฌ์™€ ๊ฐ€๊ตฌ ์ค€๋น„๋กœ ๊ณ ์ƒ ์ค‘์ด๋‹ค. ๊ทธ๋กœ ์ธํ•ด ์‹œ๊ฐ„์„ ํ”„๋กœ์ ํŠธ์— ๋” ํˆฌ์žํ•˜์ง€ ๋ชปํ•ด ํŒ€์›๋“ค์—๊ฒŒ ๋ฏธ์•ˆํ•˜๋‹ค. ๋นจ๋ฆฌ ์ง‘ ์ •๋ฆฌ๋ฅผ ๋งˆ์น˜๊ณ  ํ”„๋กœ์ ํŠธ์— ๋” ์ด๋ฐ”์ง€ํ•ด์•ผ ํ• ๋“ฏํ•˜๋‹ค. ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ๊ธฐํš์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ๊ฐœ์ธ์ ์œผ๋กœ๋Š” ๋งค์ผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  typescript์™€ ํ•ต์‹ฌ ์ฃผ์ œ์ธ OAuth์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•  ์˜ˆ์ •์ด๋‹ค.

๋‚จ์ •ํ˜ธ
ํ”„๋ก ํŠธ ๋“œ๋ž˜ํ”„ํŠธ ์ž‘์„ฑ์„ ์œ„ํ•ด ํ”ผ๊ทธ๋งˆ๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค. ํ˜„์žฌ ๋ฌด๋ฃŒ ๋ฒ„์ „์—์„œ๋Š” 3๋ช… ์ด์ƒ์ด ๋™์‹œ ํŽธ์ง‘์„ ํ•  ์ˆ˜ ์—†๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์–ด, ์ฐจํ›„์— ํ”„๋กœ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•ด์•ผํ•  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์–ด์ œ๋Š” ํ”ผ๊ทธ๋งˆ์— ๋Œ€ํ•œ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜์˜€๊ณ , ์˜ค๋Š˜ ๋‚ด๋กœ ๊ณต์‹ getting started ๊ฐ•์˜๋ฅผ ๋‹ค ๋ณผ ๊ฒƒ์ด๋‹ค.

์ „ํ˜•์ง„
์˜ค๋žœ๋งŒ์— ์™€์„œ ํ”ผ๊ณคํ–ˆ๋‹ค. ๋ฉฐ์น  ๊ณ ์ƒํ•ด์•ผ ๋‹ค์‹œ ์ ์‘ํ•  ๊ฒƒ ๊ฐ™๋‹ค. SNS๊ฐ€ ์ฒ˜์Œ์ด๋‹ค. Feature ๋ฝ‘์•„๋‚ด๋Š” ๋ฐ ์–ด๋ ค์›€์ด ๋งŽ์•˜์ง€๋งŒ ํŒ€์›๋“ค์˜ ๋„์›€์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์— OAuth ์„œ๋น„์Šค ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•  ์˜ˆ์ •์ด๊ธฐ์— OAuth 2.0 RFC๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ์žˆ๋‹ค.

์ •์†Œ์˜
๋ฉ”์ธํŽ˜์ด์ง€์™€ ์‚ฌ์šฉ์žํŽ˜์ด์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ์˜ค๋Š˜์€ ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ธ ํŽ˜์ด์ง€์™€ ํ”„๋กœํ•„ ๋ณ€๊ฒฝ ํŽ˜์ด์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๋‹ค๊ฐ™์ด ๊ธฐํš์„œ๋ฅผ ์™„์„ฑํ•˜๊ณ  RFC6749๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค.

โœจ2019-11-06

๊น€์žฌํ˜„
์ตœ๊ทผ์— ์ด์‚ฌ๋ฅผ ํ•ด์„œ ๊ฐ€๊ตฌ๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์„ ์“ฐ๊ณ  ์žˆ๋‹ค.
OAuth ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ฒˆ์—ญํ•˜์—ฌ ํŒ€์›๋“ค๊ณผ ๊ณต์œ ํ•˜๊ณ  ์žˆ๋‹ค. ์ตœ๋Œ€ํ•œ ๋ฒˆ์—ญํ•˜์—ฌ ๊ณต์œ ํ•  ์˜ˆ์ •์ด๊ณ  ์‹œ๊ฐ„์ƒ ์—ฌ๋ ฅ์ด ๋˜์ง€ ์•Š์œผ๋ฉด ํ•„์ˆ˜์ ์ธ ์š”์†Œ๋“ค์— ํ•œํ•ด ๋ฒˆ์—ญํ•  ์˜ˆ์ •์ด๋‹ค.

๋‚จ์ •ํ˜ธ
Figma ๊ธฐ๋ณธ ๊ฐ•์˜๋ฅผ ํ•™์Šตํ•˜์˜€๊ณ  ์ด๋ฅผ ์ •๋ฆฌํ•˜์—ฌ ๋™๋ฃŒ๋“ค๊ณผ ๊ณต์œ ํ•  ์˜ˆ์ •์ด๋‹ค.
์‹ค์Šต์„ ํ†ตํ•ด Figma์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๊ณ , ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋ณธ UI ๊ตฌ์กฐ๋ฅผ ๊ตฌ์„ฑํ•  ์˜ˆ์ •์ด๋‹ค.
๋ฆฌ์•กํŠธ์˜ state ๊ณต๋ถ€ ์ค‘, useState๋ฅผ ์ž˜ ๋ชป ์“ฐ๊ณ  ์žˆ์–ด์„œ ์ด์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋Š” ์ค‘์ด๋‹ค.

์ „ํ˜•์ง„
์–ด์ œ ํ”ผ๊ณคํ•ด์„œ ์นผํ‡ดํ–ˆ๋Š”๋ฐ ํ—ˆ๋‹ˆ์ž ์œผ๋กœ ์›๊ธฐํšŒ๋ณต! ์ตœ์†Œ ์˜ค๋กœ๋‚˜๋ฏผ์”จ์ˆ˜์ค€...
OAuth์˜ grant ํƒ€์ž…์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•จ. Implicit ๋ฐฉ์‹์ด๋ž‘ pkce ๋ฐฉ์‹์ด ์žˆ๋Š”๋ฐ ์ด์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•จ. ๊ทผ๋ฐ ๋จธ๋ฆฌ์—๋Š” ์ž˜ ์•ˆ ๋‚จ์•„์„œ ๋‹ค์‹œ ๊ณต๋ถ€ํ•  ์˜ˆ์ •์ž„.

์ •์†Œ์˜
๊ฐ๊ธฐ์— ๊ฑธ๋ ค์„œ ์ปจ๋””์…˜์ด ์ข‹์ง€ ์•Š๋‹ค. ์˜ค๋Š˜ ๋ฐค์— ์žฅํŒ์„ ์ผœ๊ณ  ๋”ฐ๋œปํ•˜๊ฒŒ ์ž์„œ ๋นจ๋ฆฌ ์ปจ๋””์…˜์„ ํšŒ๋ณตํ•ด์•ผ๊ฒ ๋‹ค. ํŒ€์›๋“คํ•œํ…Œ ๋ฏธ์•ˆํ•˜๋‹ค ใ… .
OAuth์˜ Client Registeration Flow์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜์˜€๊ณ , ๋‚˜๋จธ์ง€ RFC ๋‚ด์šฉ๋“ค์„ ํ•™์Šตํ•  ์˜ˆ์ •์ด๋‹ค.

โœจ2019-11-07

๋‚จ์ •ํ˜ธ
ํ™”๋ฉด ๊ธฐํš์„œ์— ๋„ฃ์„ ํ”„๋กœํ† ํƒ€์ž…์„ Figma๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค์—ˆ๋‹ค. ์—ฌ์ž์นœ๊ตฌ๊ฐ€ ํฌํ† ์ƒต ์žฅ์ธ์ด์–ด์„œ ๋งŽ์€ ๋„์›€์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ง„์ •ํ•œ ์‚ฌ๋ž‘๊พผ์ด๋‹ค.
์˜ค๋Š˜์€ ๊ฐœ๋ฐœ์ž ํŽ˜์ด์ง€ UI ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค ์˜ˆ์ •์ด๊ณ , ๋ถ€์กฑํ•œ React ๊ณต๋ถ€๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•  ์˜ˆ์ •์ด๋‹ค.

์ •์†Œ์˜
ํ™”๋ฉด ๊ธฐํš์„œ์— ๋„ฃ์„ ๋กœ๊ทธ์ธ & ํšŒ์›๊ฐ€์ž… UI ํ”„๋กœํ† ํƒ€์ž…์„ Figma๋กœ ๋งŒ๋“ค์—ˆ๋‹ค. ์ž์‹ ์˜ ์ž‘์—…๋ฌผ์—๋Œ€ํ•ด ์ƒ๋‹นํžˆ ๋ฟŒ๋“ฏํ•ดํ•˜๋Š” ์ค‘์ด๋‹ค.
Modal UI์™€ Tool Tip UI ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค๊ณ  OAuth ๋ฌธ์„œ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ๊ณต๋ถ€ํ•  ์˜ˆ์ •์ด๋‹ค.

๊น€์žฌํ˜„
์–ด์ œ ๋ชจ ๊ธฐ์—…์˜ AI๋ฉด์ ‘์„ ์ณค๋‹ค. ์ด์ œ ํ•  ์ผ์„ ๋Œ€๋ถ€๋ถ„ ๋งˆ๋ฌด๋ฆฌํ•ด์„œ ๊ฐœ์ธ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด ํŒ€ ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ๊ธฐ์ˆ ์Šคํƒ์„ ๊ณต๋ถ€ ํ•  ์˜ˆ์ •์ด๋‹ค.
์˜ค๋Š˜์€ ํ™”๋ฉด ๊ธฐํš์„œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ˜•์ง„์ดํ˜•๊ณผ Feature List๋ฅผ ๋ฝ‘์„ ์˜ˆ์ •์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜ ์ ์‹ฌ์œผ๋กœ๋Š” ์†Œ์„ธ์ง€ ์•ผ์ฑ„๋ณถ์Œ์„ ์ง์ ‘ ์š”๋ฆฌํ•ด ์ค€๋น„ํ–ˆ๋‹ค. ๋„ˆ๋ฌด ๊ธฐ๋Œ€ํ•˜๋Š” ์ค‘!!!

์ „ํ˜•์ง„
์–ด์ œ ๋ญ ํ–ˆ๋Š”์ง€ ๋‚˜์ด๊ฐ€ ๋“ค์–ด ๊ธฐ์–ต์ด ์ž˜ ์•ˆ๋‚˜์ง€๋งŒ OAuth์˜ grant type๋ณ„ access token ๋ฐœ๊ธ‰ flow์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜์˜€๊ณ , ์งฌ์งฌ์ด ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค.
์˜ค๋Š˜์€ ์žฌํ˜„์ด์™€ ํ”ผ์ณ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•จ๊ป˜ ๋ฝ‘๊ณ  ๋‚ด์ผ ์žˆ์„ ๊ธฐํš์„œ ๋ฐœํ‘œ ์ค€๋น„๋ฅผ ํ•  ๊ฒƒ์ด๋‹ค.

โœจ2019-11-08

๋‚จ์ •ํ˜ธ
์–ด์ œ ํ”ผ๊ทธ๋งˆ ์กฐ๊ธˆ ๋” ํ•˜๋‹ค๊ฐ€ ์ž ๋“ค์—ˆ์Œ. ์˜ค๋Š˜ ์†Œ์˜์ด์™€ ํ™”๋ฉด๊ธฐํš์˜ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ์ฑ„์šธ ์˜ˆ์ •.

์ •์†Œ์˜
์ง‘๊ฐ€์„œ ์กฐ๊ธˆ ์‰ฐ๋‹ค๋Š”๊ฒŒ ๋ฐ”๋กœ ์ž ๋“ค์–ด๋ฒ„๋ ธ์Œ. ์˜ค๋Š˜ ์ •ํ˜ธ์™€ ํ™”๋ฉด๊ธฐํš์˜ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ์ฑ„์šธ ์˜ˆ์ •

๊น€์žฌํ˜„
์–ด์ œ CS์Šคํ„ฐ๋””์—์„œ ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ์—๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์ €๋…์„ ๋จน๊ณ  ์ž ๋“ค์—ˆ์Œ. ์˜ค๋Š˜ ํ˜•์ง„์ดํ˜•๊ณผ ๋น ์ง„ ํ”ผ์ณ๋ฆฌ์ŠคํŠธ๋ฅผ ์ฑ„์šธ ์˜ˆ์ •.

์ „ํ˜•์ง„
์ง€์ณ์„œ ์ž ๋“ค์—ˆ์Œ. ์˜ค๋Š˜ ์žฌํ˜„์ด์™€ ๋น ์ง„ ํ”ผ์ณ๋ฆฌ์ŠคํŠธ๋ฅผ ์ฑ„์šธ ์˜ˆ์ •์ด๊ณ  OAuth๋ฅผ ์งฌ์งฌ์ด ๊ณ„์†ํ•ด์„œ ๊ณต๋ถ€ํ•  ๊ฒƒ. eslint์™€ prettier ์„ค์ •์„ ์ œ์•ˆ, ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋‘ ๋™์˜ํ•ด์„œ ํ•จ๊ป˜ํ•˜๊ธฐ๋กœ ํ•จ.

โœจ2019-11-11

์ •์†Œ์˜
์ฃผ๋ง์— ์•Œ๋ฐ”๋ฅผ ํ•˜๋Š๋ผ ๊ทธ๋ž˜ํ”„ํ์—˜ ๊ณต๋ถ€๋ฅผ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค... ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์ณค๋Š”๋ฐ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ชธ์†Œ ๋Š๋‚Œ. ๋‚ด๊ฐ€ ์ง  ์ฝ”๋“œ๋ฅผ ๋™๋ฃŒ๊ฐ€ ๊ณ ์ณค๋Š”๋ฐ ๋‹ค์‹œ ๋‚ด๊ฐ€ ๊ณ ์น  ์ƒํ™ฉ์ด ์™”์„ ๋•Œ ์ฝ”๋“œ๊ฐ€ ์™œ๊ทธ๋ ‡๊ฒŒ ๋œ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ๋”๋ผ. ์ด๋Ÿฐ ์ƒํ™ฉ์„ ๋ฐฉ์ง€ํ•˜๋ฉด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•จ.

๋‚จ์ •ํ˜ธ
์ด๋ฒˆ์ฃผ๋ง์€ ํ‘น ์‰ฌ์—ˆ์Œ. ํ† ์š”์ผ์— ๋Šฆ์ž ์ž๋‹ค๊ฐ€ ์นดํŽ˜์— ๋‚˜๊ฐ€์„œ ๊นƒ rebase์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ–ˆ์Œ. ๊ทธ๋ฆฌ๊ณ  ์ทจ๋ฏธ์ƒํ™œ์„ ์ฆ๊น€. ์ผ์š”์ผ์—๋Š” ํšŒ์˜๋ฅผ ๋งˆ์น˜๊ณ  ์ •์žฅ์„ ์‚ฌ๋Ÿฌ๊ฐ”์Œ. ์˜ท์„ ์‚ฌ๊ณ  ์ €๋…์„ ๋จน์—ˆ์Œ. ์ด๋ฒˆ ์ฃผ๋ง์€ ๋‹ค๊ฐ€์˜ค๋Š” ์ด๋ฒˆ ์ฃผ๋ฅผ ์œ„ํ•ด ํšŒ๋ณตํ•˜๋Š” ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Œ.

๊น€์žฌํ˜„
ํ† ์š”์ผ์— ๊ฐ๊ธฐ๋ชธ์‚ด์— ๊ฑธ๋ ค ํ‘น ํœด์‹์„ ์ทจํ•จ. ์ผ์š”์ผ์—๋Š” ๊ฐ€๊ตฌ ์กฐ๋ฆฝ๊ณผ ์ด์‚ฟ์ง์„ ์ •๋ฆฌ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์‹œ๊ฐ„์—๋Š” ๋ฆฌ์•กํŠธ์—๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•จ. ์ด๋ฒˆ ์ฃผ๋ถ€ํ„ฐ๋Š” ๊ฑด๊ฐ•๊ด€๋ฆฌ์—๋„ ์‹ ๊ฒฝ์จ์„œ ํ”„๋กœ์ ํŠธ์— ์ฐจ์งˆ์ด ์—†๋„๋ก ํ•ด์•ผ๊ฒ ์Œ

์ „ํ˜•์ง„ ๊ฐ๊ธฐ๋ชธ์‚ด๋กœ์ธํ•œ ๊ฒฐ์„

โœจ2019-11-12

์ •์†Œ์˜
OAuth๊ณต๋ถ€๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค. ์•„์ง OAuth์— ๋Œ€ํ•œ backlog๋ฅผ ์ž‘์„ฑํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ์ด ๋งˆ์Œ์— ๊ฑธ๋ฆฐ๋‹ค. ํ•˜์ง€๋งŒ ์กฐ๊ธ‰ํ•ดํ•˜์ง€์•Š๊ณ  ํ•  ์ผ์„ ์ฐจ๊ทผ์ฐจ๊ทผ ํ•ด์•ผ๊ฒ ๋‹ค.

๋‚จ์ •ํ˜ธ
์–ด์ œ ๋ฐค์—๋Š” ํŒฝ์ด๋ฒ„์„ฏ์ „์„ ๋จน๊ณ  ์˜ค๋Š˜ ์•„์นจ๋„ ๋จน๊ณ ์™”๋‹ค. ๋‘์œ ์— ์„ ์‹์„ ๋จน์—ˆ์Œ(๋‘์œ ๋„์ฐฉ!). ์–ด์ œ ๋ฐค ์ง‘์—์„œ CI ์„ค์ •์„ ํ•˜๋ ค ํ–ˆ์œผ๋‚˜, ๋˜ ๋”ด๊ธธ๋กœ ์ƒˆ์–ด eslint prettier ์„ค์ •๋งŒ ๊ณต๋ถ€ํ•˜๋‹ค ์žค๋‹ค.

๊น€์žฌํ˜„
์–ด์ œ ๋ฐ˜์ฐฌ๊ฑฐ๋ฆฌ๋ฅผ ์‚ฌ๋ ค๊ณ ํ–ˆ๋Š”๋ฐ ์ •์œก์ ์ด ๋‹ค ๋ฌธ์„ ๋‹ซ์•˜์Œ. ๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ ๊ณ„๋ž€์žฅ์„ ์ค€๋น„ํ•จ. ํ”„๋กœ์ ํŠธ์— ์“ฐ์ผ ๊ธฐ์ˆ ์Šคํƒ๋“ค ์ข€ ๋” ๊ณต๋ถ€ ์ค‘์ด๊ณ  ์•„์ง ์ข€ ๋” ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™์Œ. ๋นจ๋ฆฌ ๊ฐœ์ธ์ผ์„ ๋งˆ๋ฌด๋ฆฌ ์ง“๊ณ  ํ”„๋กœ์ ํŠธ์— ์ง‘์ค‘ํ•˜๊ณ ์‹ถ์Œ. ํŒ€์›๋“ค์—๊ฒŒ ๋ฏธ์•ˆํ•จ.

์ „ํ˜•์ง„
์ฃผ๋ง์— ๊ฑธ๋ฆฐ ๊ฐ๊ธฐ์˜ ์—ฌํŒŒ๋กœ ์–ด์ œ๋Š” ๋ถˆ์ฐธํ•จ. ํ•˜๋ฃจ ํ‘น ์‰ฌ๋ฉด์„œ ์š”์–‘ํ•˜์˜€์Œ. ํŒ€์›๋“ค์—๊ฒŒ ๋ฏธ์•ˆํ•˜๋‹ค. ์•ž์œผ๋กœ ๋” ๋ฏธ์•ˆํ•  ์˜ˆ์ •์ด๋‹ค. ํŒ€์›๋“ค์ด ๋ฐฐ์ฆ™๊ณผ ์‚ฌ๊ณผ์ฆ™์„ ์ฃผ์–ด์„œ ๊ฐ๋™ ๋จน์—ˆ๋‹ค.

์•„์ง ๋ชธ ์ƒํƒœ๊ฐ€ ์ •์ƒ์ ์ด์ง€ ์•Š์ง€๋งŒ ์˜ค๋Š˜ ๋” ์—ด์‹ฌํžˆ ํ•ด์„œ ํŒ€์›๋“ค์—๊ฒŒ ๋ฏผํ ๋ผ์น˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

์˜ค๋Š˜์€ ๋ชป ๋‹คํ•œ OAuth ๊ณต๋ถ€์™€ ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ธํŒ…์— ๋Œ€ํ•ด ํŒ€์›๋“ค๊ณผ ๋…ผ์˜ํ•  ์˜ˆ์ •์ด๋‹ค.

โœจ2019-11-13

์ •์†Œ์˜ ์–ด์ œ OAuth์˜ Redirection URL์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๊ณต๋ถ€ํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ง‘์— ๊ฐ€์„œ Side Project ๋ฒ„๊ทธ๋ฅผ ๊ณ ์ณค๋‹ค. ์กฐ๋งŒ๊ฐ„ ๋ฐฐํฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ ๊ฐ™๋‹ค.

์˜ค๋Š˜์€ react๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ component๋ฅผ ๊ฐœ๋ฐœ ํ•  ๊ฒƒ์ด๋‹ค.

๋‚จ์ •ํ˜ธ ๋ชฉ๊ฐ๊ธฐ ๊ฑธ๋ ธ๋‹ค. ๊ฐ๊ธฐ๋Š” ์—ญ์‹œ ๋Œ๊ณ  ๋„๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์–ด์ œ๋Š” styled component ๊ณต๋ถ€๋ฅผ ํ•˜์˜€๊ณ , ์–ด์ œ ๋‹ค ๋งˆ๋ฌด๋ฆฌ ๋ชปํ•ด์„œ ์˜ค์ „ ์ค‘์— ๋” ํ•  ๊ฒƒ์ด๋‹ค. ์˜คํ›„์—๋Š” ์˜ค์ „์— ์„ธํŒ…ํ•œ styled component๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐœ๋ฐœ์— ๋“ค์–ด๊ฐˆ ๊ฒƒ์ด๋‹ค. ์†Œ์‹œ์ง€ ๋งˆ๋Š˜ ๋ณถ์Œ์„ ์‹œ๋„ํ–ˆ์œผ๋‚˜, ์žฌ๋ฃŒ๊ฐ€ ๋ถ€์กฑํ•˜์—ฌ ์ถฉ๋ถ„ํ•œ ๋ง›์„ ์ด๋Œ์–ด๋‚ด์ง€ ๋ชปํ•˜์˜€๋‹ค. ๊ธˆ์ผ์€ ๊ณ ์ถ”์žฅ๊ณผ ์ผ€์ฐน๊ณผ ๋ฌผ์—ฟ์„ ์‚ฌ์„œ ์†Œ์Šค๋ฅผ ์ œ์ž‘ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค.

๊น€์žฌํ˜„ ์–ด์ œ ์–‘ํŒŒ๊ฐ€ ๋“ค์–ด๊ฐ„ ์ผ๋ณธ์‹ ๊ณ„๋ž€๋ง์ด๋ฅผ ์‹œ๋„ํ–ˆ์œผ๋‚˜ ๋งˆ์Œ์— ๋“ค์ง€์•Š์Œ. ๊ทธ๋ž˜์„œ ์ถ”ํ›„ ์žฌ๋„์ „ ์˜ˆ์ •. ์–ด์ œ git flow์ •๋ฆฌํ–ˆ๊ณ , ์ด๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ wiki์— ์ •๋ฆฌํ•˜๊ฒ ์Œ. ๊ทธ๋ฆฌ๊ณ  ๋ฆฌ์•กํŠธ ๊ณต๋ถ€ํ•ด์„œ ์˜ค๋Š˜ ํ• ๋‹น๋ฐ›์€ ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

p.s. : ์˜ค๋Š˜ ๋งฅ๋ถ ์ˆ˜๋ฆฌ๋˜๋ฉด ์™ธ์ถœํ•จ. ์ œ๋ฐœ ์ˆ˜๋ฆฌ ๋‹ค ๋์œผ๋ฉด...:pray:

์ „ํ˜•์ง„ ์–ด์ œ๋ณด๋‹ค ๋ชธ์ด ๋งŽ์ด ๋‚˜์•„์กŒ๋‹ค. ๋‘ํ†ต์ด ์‚ฌ๋ผ์ ธ์„œ ๊ฐœ๋ฐœ์—๋Š” ์ง€์žฅ์„ ์ฃผ์ง€ ์•Š์„ ๊ฑฐ ๊ฐ™์•„ ๋‹คํ–‰์ด๋‹ค.

์˜ค์ „์—๋Š” ์–ด์ œ ๊นœ๋ฐ•ํ•˜๊ณ  ๋น ํŠธ๋ฆฐ Graphql ๊ด€๋ จ ์„ค์ •๋“ค์„ boilerplate์— ์ ์šฉํ•  ๊ฒƒ์ด๊ณ , ์˜คํ›„์—๋Š” ์–ด์ œ ํ• ๋‹น๋ฐ›์€ Component ๊ฐœ๋ฐœ ๋ฐ Travis๋ฅผ ํ†ตํ•ด ์ž๋™๋ฐฐํฌ ์„ค์ •์„ ์™„๋ฃŒํ•  ๊ฒƒ์ด๋‹ค.

2019-11-14

์ •์†Œ์˜
๋ฐค์ƒˆ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฟˆ์„ ๊พธ์—ˆ์Šต๋‹ˆ๋‹ค. ๋“œ๋””์–ด ์ง„์ •ํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋œ ๊ฑฐ ๊ฐ™์•„ ๋งค์šฐ ๊ธฐ์ฉ๋‹ˆ๋‹ค...

์˜ค๋Š˜์€ ์–ด์ œ ๋ฏธ์ฒ˜ ๋‹ค ๋ชปํ•œ backlog ๊ฐœ๋ฐœ์„ ํ•  ๊ฒƒ์ด๊ณ , ๊ฐœ๋ฐœ ์™„๋ฃŒ ํ›„ git-flow์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋‚จ์ •ํ˜ธ
์–ด์ œ ๋ฐค์— ์†Œ์„ธ์ง€ ์•ผ์ฑ„๋ณถ์Œ์„ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ์–‘ํŒŒ ์†์งˆ์„ ์ž˜๋ชปํ•ด์„œ ๋‚ญํŒจ๋ฅผ ๋ดค๋‹ค. ์–‘ํŒŒ ์†์งˆ์ด ์ค‘์š”ํ•จ์„ ๋Š๊ผˆ๋‹ค.

์–ด์ œ ์ž ์‹œ ๋…ผ์˜๊ฐ€ ์žˆ์—ˆ๋˜ git-flow์˜ merge ์ „๋žต์— ๋Œ€ํ•ด ๋‹ค์‹œ๊ธˆ ๊ณต๋ถ€ํ•˜์˜€๊ณ , ํŒ€์›๋“ค๊ณผ ๊ณต์œ ํ•  ์˜ˆ์ •์ด๋‹ค.

ํ• ๋‹น๋ฐ›์€ backlog๋ฅผ ์˜ค๋Š˜ ๋งˆ์ € ์ˆ˜ํ–‰ํ•  ์˜ˆ์ •์ด๋‹ค.

๊น€์žฌํ˜„
์–ด์ œ ํ‡ด๊ทผ ์ดํ›„ ํ‘น ์‰ฌ์—ˆ์Šต๋‹ˆ๋‹ค.

์–ด์ œ ์ฝ”์–ดํƒ€์ž„์— ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•œ React์˜ Hook API๋“ค์„ ์ด์šฉํ•ด ์ฃผ์–ด์ง„ backlog์„ ๊ฐœ๋ฐœํ•  ๊ฒƒ์ด๊ณ , git-flow์— ๋Œ€ํ•ด ์ •๋ฆฌํ•œ ๊ฒƒ์„ ํŒ€์›๋“ค์—๊ฒŒ ๊ณต์œ ํ•  ์˜ˆ์ •์ด๋‹ค.

์ „ํ˜•์ง„
์–ด์ œ ์•ฝ ๋จน๊ณ  ํ‘น ์žค์Šต๋‹ˆ๋‹ค. ์•„์ง๊นŒ์ง€ ์ปจ๋””์…˜์ด 100% ํšŒ๋ณต๋˜์ง€ ์•Š์€ ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ธˆ์ฃผ๊นŒ์ง€ ํšŒ๋ณต์— ์ „๋…ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์–ด์ œ ์ฒ˜์Œ์œผ๋กœ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜์˜€๋Š”๋ฐ, ์–ด๋–ป๊ฒŒ ํšจ์œจ์ ์œผ๋กœ ์งค ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๋” ์ง€์ฒด๋˜๋Š” ๋Š๋‚Œ์ด๋‹ค. ์ผ๋‹จ์€ ๊ตฌํ˜„๋ถ€ํ„ฐ ํ•˜๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค.

๋‹ค๋ฅธ ํŒ€์›๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ• ๋‹น๋ฐ›์€ backlog๋ฅผ ์ˆ˜ํ–‰ํ•  ์˜ˆ์ •์ด๋‹ค.

โœจ2019-11-18

์ •์†Œ์˜
ํ† ์š”์ผ์— ๊ฒฐํ˜ผ์‹์„ ๋‹ค๋…€์˜ค๊ณ  ๊ทธ ๋‹ด์— ํ‘น ์‰ฌ์—ˆ๋‹ค. ์–ด์ œ๋Š” 15์‹œ๊ฐ„ ์ด์ƒ์˜ ์ˆ˜๋ฉด์„ ํ•˜๊ณ  graphql getting started์™€ DB์„ค๊ณ„์— ๋Œ€ํ•œ ์ƒ๊ฐ์„ ํ–ˆ๋‹ค. ์ปจ๋””์…˜์ด ๋งŽ์ด ํšŒ๋ณต๋œ ๊ฒƒ ๊ฐ™์•„์„œ ์ด๋ฒˆ์ฃผ๋Š” ํ™œ๊ธฐ์ฐจ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„๋“ฏ!! (์ด ๊ธ€์€ ์„ฑ์ง€๊ฐ€ ๋œ๋‹ค.) ํ•˜์ง€๋งŒ ๋„์‹œ๋ฝ์€ ์‹ธ์˜ค์ง€ ๋ชปํ–ˆ๋‹ค...์ฃผ๋ฅต...

๋‚จ์ •ํ˜ธ
ํ† ์š”์ผ์— ์‚ผ์„ฑ ์—ญ๋Ÿ‰ํ…Œ์ŠคํŠธ๋ฅผ ์น˜๋Ÿฌ ๊ฐ”๋Š”๋ฐ, ์ฐฝ์›์ง‘์—์„œ ์ผ์ด ์ƒ๊ฒจ์„œ ์‹œํ—˜ ๋ชป์น˜๊ณ  ๋‚˜์˜ด. ๋ฐ”๋กœ ๋ฒ„์Šค ํƒ€๊ณ  ์ฐฝ์› ๊ฐ”๋‹ค๊ฐ€. ์ผ์š”์ผ ๋ฐค์— ์˜ฌ๋ผ์™”๋‹ค. ๊ทธ๋ž˜์„œ ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ๋ชปํ–ˆ๋‹คใ… ใ…  ๋„ˆ๋ฌด ์ŠฌํŽ๋‹คใ… ใ… 

๊น€์žฌํ˜„
(์ฐฝ์›์—์„œ ์˜ฌ๋ผ์˜ค๋Š” ์ค‘)

์ „ํ˜•์ง„
์ฃผ๋ง์—๋Š” ๋ถ€์กฑํ–ˆ๋˜ git์— ๋Œ€ํ•ด ๊ณต๋ถ€๋ฅผ ํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ค๊ณ„ํ•œ DB๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ Seqeulize cli๋ฅผ ์ด์šฉํ•ด migration ํŒŒ์ผ๊ณผ model ๋“ค์„ ์ƒ์„ฑํ•˜์˜€๋‹ค.

์˜ค๋Š˜์€ ์ฃผ๋ง๋™์•ˆ ๋‹ค๋ฅธ ํŒ€์›๋“ค์ด ์ฃผ์—ˆ๋˜ DB ์„ค๊ณ„์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ˜์˜ํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‚˜๋จธ์ง€ model๋“ค์„ ๊ตฌ์„ฑํ•  ์˜ˆ์ •์ด๋‹ค.

โœจ2019-11-19

์ •์†Œ์˜
์–ด์ œ ์ง‘์—๊ฐ€์„œ ๊ณต๋ถ€๋ฅผ ํ•˜๋ คํ–ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ํ”ผ๊ณคํ•ด์„œ ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์ •๋ง ์•ˆํƒ€๊น๋‹ค. ์˜ค๋Š˜ ์ฝ”์–ดํƒ€์ž„์— ์ง‘์ค‘ํ•ด์„œ ํ•  ์ผ์„ ๋ชจ๋‘ ํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด์ œ ์›จ์ผ ๋ธŒ๋ผ์šฐ์ € ํ™•์žฅ์•ฑ์ด ์ถœ์‹œ๋˜์—ˆ๋‹ค! ๋„ˆ๋ฌด ๊ธฐ๋ปค๋‹ค! ์ด๋ง›์— ๊ฐœ๋ฐœ์ž๋ฅผ ํ•˜๋Š”๊ตฌ๋‚˜ ์ƒ๊ฐํ–ˆ๋‹ค. ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋„ ์™„์„ฑํ•ด์„œ ๋ฐฐํฌ๋˜๋ฉด ์ข‹๊ฒ ๋‹ค.

๋‚จ์ •ํ˜ธ
์•ก์ •์ด ๊นจ์ง€๋Š” ๊ฟˆ์„ ๊ฟจ๋‹ค. ๋งˆ์Œ์ด ์•„ํŒ ๋‹ค. ์‹ค๋ฆฌ์ฝ˜ ์ผ€์ด์Šค์™€ ์œ ๋ฆฌ์•ก์ •ํ•„๋ฆ„์„ ๋ถ™์˜€๋Š”๋ฐ ์™œ ๊นจ์กŒ์„๊นŒ? ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋‚ด์šฉ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ๊นŠ์–ด์„œ ์–ด๋–ป๊ฒŒ ๊ณต๋ถ€ํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ๋ฉ˜ํƒˆ์ด ํž˜๋“ค๋‹ค. ์˜ค๋Š˜๊ณผ ๋‚ด์ผ์€ ๋ฉด์ ‘์ค€๋น„๋ฅผ ๋ณ‘ํ–‰ํ•ด์„œ ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.

๊น€์žฌํ˜„
์–ด์ œ ์ง‘์— ๊ฐ€์„œ ํœด์‹์„ ์ทจํ–ˆ๋‹ค. ์˜ค๋Š˜ ์•„์นจ์— ์˜ค๋ฉด์„œ ๋ชฉ์„ ์‚ด์ง ์‚๋—ํ–ˆ๋‹ค. ๋” ์‹ฌํ•ด์ ธ์„œ ํ”ผํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š๋„๋ก ์‹ ๊ฒฝ์จ์•ผ๊ฒ ๋‹ค. ์˜ค๋Š˜์€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ธฐ์กด๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ณ  ์ด์–ด์„œ ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ์„ ํ•  ์˜ˆ์ •์ด๋‹ค.

์ „ํ˜•์ง„
์–ด์ œ๋Š” ์‹œํ€„๋ผ์ด์ฆˆ ์„ธํŒ…๋งˆ๋ฌด๋ฆฌ๋ฅผ ํ–ˆ๋‹ค. ์ง‘์— ๊ฐ€์„œ๋Š” ํ”ผ๊ณคํ•ด์„œ ๋ฐ”๋กœ ์žค๋‹ค. ์ปจ๋””์…˜ ์กฐ์ ˆ์ด ์ƒ๋‹นํžˆ ์–ด๋ ต๋‹ค. ์•„์ง๊นŒ์ง€๋„ ๊ฐ๊ธฐ์ด๋‹ค. ์˜ค๋Š˜์€ ์ผ๋‹จ ๋ฐ๋ชจ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ด๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ํ• ๋‹น๋œ ๋ฐฑ๋กœ๊ทธ๋ฅผ ๊ฐœ๋ฐœํ•  ์˜ˆ์ •์ด๋‹ค.

โœจ2019-11-20

์ •์†Œ์˜
์ €๋Š” ์–ด์ œ ํˆดํŒ์„ ์ œ์ž‘ํ•˜๋‹ค๊ฐ€ ํ™”๊ฐ€ ๋‚ฌ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ €๋Š” ํ•ด๋ƒˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ div ๋‘ ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ชจ์–‘์„ ์˜ˆ์˜๊ฒŒ ์™„์„ฑํ–ˆ์ฃ . ๊ทธ๋Ÿฐ๋ฐ ํˆดํŒ๋งˆ๋‹ค ํ™”์‚ดํ‘œ์˜ ์œ„์น˜๋ฅผ ์กฐ์ •ํ•ด์ค˜์•ผํ•˜๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํˆดํŒ์€ ์ €๋งŒ ์‚ฌ์šฉํ•˜๋‹ˆ ๊ดœ์ฐฎ๊ฒ ์ฃ ...? ํ•˜ํ•ซ.. ๊ณตํ†ต ๋ชจ๋“ˆ๋กœ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ์™„์„ฑํ•˜๊ณ  ์•Œ๋ฆผ๊ธฐ๋Šฅ์„ ์‹œ์ž‘ํ•  ๊ฒƒ ์ž…๋‹ˆ๋‹ค!

๋‚จ์ •ํ˜ธ
์ €๋Š” ์–ด์ œ JS ์‹ฌํ™” ๋ฌธ๋ฒ•๊ณผ ์šด์˜์ฒด์ œ๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์œ„์ฃผ๋กœ ๊ณต๋ถ€๋ฅผ ํ• ๋žฌ๋Š”๋ฐ, ์šด์˜์ฒด์ œ ๋ณด๊ณ  ํ•˜๋ ค๋‹ค๊ฐ€ ์ž ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์˜ค๋Š˜ ๋ฉด์ ‘์€ ์šด์˜์ฒด์ œ ์œ„์ฃผ๋กœ ์ค€๋น„ํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝํ—˜์ด๋ผ ์ƒ๊ฐํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Œ€ํ•˜๋ฉด ์‹ค๋ง์ด ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์ฆ๊ธฐ๊ณ  ์˜ค๊ฒ ์Šต๋‹ˆ๋‹ค.

๊น€์žฌํ˜„
์ด๋ฒˆ์— ์ง‘์—๊ฐ€์„œ ์‰ฌ์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๊ณต๋ถ€๋ฅผ ์—ด์‹ฌํžˆ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์–ด์ œ ๋งŒ๋“ค๋˜ ์ปดํฌ๋„ŒํŠธ ๊ณ„์† ๋งŒ๋“ค์–ด์„œ ํ’€๋ฆฌํ€˜์ŠคํŠธ ๋‚ ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ ์  ์š”๋ฆฌ์— ๋Œ€ํ•œ ์—ด์ •์ด ์‹๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์š”๋ฆฌ์˜ ์—ด์ •์„ ๋‹ค์‹œ ์ฝ”๋“œ๋กœ ์˜ฎ๊ฒจ์˜ค๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ „ํ˜•์ง„
์–ด์ œ ์ •์†Œ์˜์”จ๊ฐ€ ๋งŒ๋“  ๋ชจ๋‹ฌ์„ ๊ณตํ†ต ๋ชจ๋“ˆ๋กœ ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋Ÿฌ๋Š๋ผ ์ œ ํ”ผ์ณ๋Š” ๋งŽ์ด ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์–ด์ œ ์ง‘์—๊ฐ€์„œ ๋” ํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ์•ฝ๊ธฐ์šด์— ๋ฐ”๋กœ ์žค์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์–ด์ œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ• ๋‹น๋ฐ›์€ ๋ฐฑ๋กœ๊ทธ๋ฅผ ์—ด์‹ฌํžˆ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ด๊ณ  ์˜ˆ๋น„๊ตฐ ์—ฐ๊ธฐ ์‹ ์ฒญ์„ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

2019-11-21

์ •์†Œ์˜
์–ด์ œ ๊ทธ๋ž˜ํ”„ํ์—˜์— ์ขŒ์ ˆํ•˜๊ณ  ์ง‘์—๊ฐ€์„œ ๋ฐฑ์„ ์ ‘๊ณ  ํ”„๋ก ํŠธ์— ๋งค์ง„ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋„ค๋น„๊ฒŒ์ด์…˜ UI๋ฅผ ์™„์„ฑํ–ˆ๋‹ค. ์˜ค๋Š˜์€ ๋งˆ์Œ์„ ๋‹ค์žก๊ณ  ๋‹ค์‹œ ๊ทธ๋ž˜ํ”„ํ์—˜์„ ํ•ด์„œ ๋ฐฑ๊นŒ์ง€ ํ•˜๊ณ  ๋„ค๋น„๊ฒŒ์ด์…˜์„ ์™„์ „ํžˆ ์™„์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.

๋‚จ์ •ํ˜ธ
์–ด์ œ ๋ฉด์ ‘์„ ๋ดค๋‹ค. ๋ฐฑ์—”๋“œ๋ฅผ ์ง€์›ํ•œ์ง€ ๋ชจ๋ฅด๊ณ  ํ”„๋ก ํŠธ์— ๋งค์ง„ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ–ˆ๋‹ค. ์งˆ๋ฌธ์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ ํž˜๋“ค์—ˆ์ง€๋งŒ, ์–ด๋ ค์šด ์ง€๋ฌธ์€ ์—†์—ˆ๋‹ค. ๋‹ค์Œ ๋ฉด์ ‘์€ ์ด ๋ฉด์ ‘์„ ํ† ๋Œ€๋กœ ์ค€๋น„๋ฅผ ์ž˜ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์˜ค๋Š˜์€ ๊ทธ๋™์•ˆ ๋ชปํ–ˆ๋˜ ๊ฐœ๋ฐœ์„ ๋ชฐ์•„์„œ ํ•  ์˜ˆ์ •์ด๋‹ค. ๊ฒŒ์‹œ๋ฌผ ํŽ˜์ด์ง€๋Š” ์™„์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ๋‹ค.

๊น€์žฌํ˜„
์–ด์ œ ๋ฐค์— ์•ผ์ฑ„๊ณฑ์ฐฝ์„ ๋จน์—ˆ๋‹ค. ๋„ˆ๋ฌด ๋ง›์žˆ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐค์— ๋…ผ์˜ํ•˜๋˜ GraphQL์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ์œ„ํ•ด GraphQL๊ณผ Apollo-client์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฆฌ์•กํŠธ๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ํ•™์Šตํ•˜๊ณ  ์ธ์Šคํƒ€๊ทธ๋žจ์˜ CSS๋ฅผ ๋ถ„์„ํ•˜์—ฌ FollowButton ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ œ์ž‘ํ–ˆ๋‹ค. ์ธ์Šคํƒ€๊ทธ๋žจ์—์„œ width์™€ height์„ ์ฃผ์ง€์•Š๊ณ  flex๋กœ๋งŒ layout์„ ๊ตฌ์„ฑํ•œ๊ฒŒ ์ธ์ƒ์ ์ด์—ˆ๋‹ค. ์˜ค๋Š˜์€ ๊ฐœ์ธํŽ˜์ด์ง€ ๊ฐœ๋ฐœ์„ ํ•  ์˜ˆ์ •์ด๋‹ค.

์ „ํ˜•์ง„
์–ด์ œ GraphQL์— ๋Œ€ํ•œ ์˜๊ตฌ์‹ฌ์„ ํ’ˆ๊ณ  ํ‡ด๊ทผํ•˜์˜€๋‹ค. ๊ณผ์—ฐ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์‹œ๊ฐ„์ ์ธ ์ธก๋ฉด์—์„œ ๊ฐ€๋Šฅํ•œ ๊ฐ€์— ๋Œ€ํ•œ ์˜๊ตฌ์‹ฌ์ด์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ณด๊ณ  ์ฒœ์ฒœํžˆ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒฐ๋ก ์— ์ด๋ฅด๋ €๊ณ  ํšŒ์˜ ์‹œ๊ฐ„์— ์ด๋ฅผ ์–ดํ•„ํ•  ์ƒ๊ฐ์ด๋‹ค.

์˜ค๋Š˜์€ ๋ฉ”์ธํŽ˜์ด์ง€์˜ ๋ฐฑ๋กœ๊ทธ ์ค‘ ๋ฐฑ์—”๋“œ ๋ถ€๋ถ„์„ ์ œ์™ธํ•œ ํ”„๋ก ํŠธ์—”๋“œ ๋ถ€๋ถ„์„ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ด๋‹ค.

Clone this wiki locally