Skip to content

Daily Scrum

Logqwerty edited this page Dec 12, 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์— ๋Œ€ํ•œ ์˜๊ตฌ์‹ฌ์„ ํ’ˆ๊ณ  ํ‡ด๊ทผํ•˜์˜€๋‹ค. ๊ณผ์—ฐ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์‹œ๊ฐ„์ ์ธ ์ธก๋ฉด์—์„œ ๊ฐ€๋Šฅํ•œ ๊ฐ€์— ๋Œ€ํ•œ ์˜๊ตฌ์‹ฌ์ด์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ณด๊ณ  ์ฒœ์ฒœํžˆ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒฐ๋ก ์— ์ด๋ฅด๋ €๊ณ  ํšŒ์˜ ์‹œ๊ฐ„์— ์ด๋ฅผ ์–ดํ•„ํ•  ์ƒ๊ฐ์ด๋‹ค.

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

โœจ2019-11-22

์ •์†Œ์˜
์–ด์ œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ๋ฅผ ์™„๋ฃŒํ–ˆ๋‹ค. graphql์„ ์ฒ˜์Œ ํ•˜๋Š” ๊ฒƒ์ด๋ผ ์ฝ”๋“œ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๊ฐ์„ ๋” ํ•ด๋ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค. ์˜ค๋Š˜์€ ์•Œ๋ฆผ์— ๋Œ€ํ•œ ๊ฐœ๋ฐœ์„ ํ•ด์•ผํ•œ๋‹ค. ์ฃผ๋ง์—๋Š” ๋ฆฌํŒฉํ† ๋ง์„ ํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ฒŒ์‹œ๋ฌผ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ๊ฒƒ์ด๋‹ค. ์˜ค๋Š˜์€ ๋„ˆ๋ฌด ํ”ผ๊ณคํ•˜์ง€๋งŒ 7์‹œ๊นŒ์ง€ ๋ฒ„๋‹ํ•˜๊ณ  ์ง‘๊ฐ€์„œ ์ผ์ฐ ์‰ฌ์–ด์•ผ๊ฒ ๋‹ค.

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

๊น€์žฌํ˜„
์˜ค๋Š˜ ์ ์‹ฌ์€ ๊ณ„๋ž€์žฅ์ด๋‹ค. ์–ด์ œ๋Š” ๋ฆฌ์•กํŠธ Context API ๊ณต๋ถ€๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ๋„ ๋งŒ๋“ค๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ž ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์ฃผ๋ณ€๋ˆˆ์น˜๋ฅผ ๋ณด๋ฉด์„œ ๊ฐœ๋ฐœ์„ ์€๊ทผ์Šฌ์ฉ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์ฃผ ์ฃผ๋ง์€ ๋“œ๋””์–ด ๋‹ค๋ฅธ ์ผ ์—†๋Š” ์˜จ์ „ํ•œ ์ฃผ๋ง์ž…๋‹ˆ๋‹ค. ๊ธฐ์ˆ ๋ถ€์ฑ„๋ฅผ ๊ฐš๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ „ํ˜•์ง„
์–ด์ œ ๋ฉ”์ธํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ•˜์˜€๊ณ , ์ „์ฒด์ ์ธ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ์€ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๋Š” ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋Š˜์€ ํ•˜์ง€ ๋ชปํ•œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๋ฅผ ๋งˆ๋ฌด๋ฆฌ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์–ด์ œ ์ปดํฌ๋„ŒํŠธ ๋งˆ์šดํŠธ ์ดํ›„ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ๋œป๋Œ€๋กœ ๋˜์ง€ ์•Š์•„ ๊ณ ๋ฏผ์ด ์žˆ์—ˆ๋Š”๋ฐ, ๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ useEffect๋ผ๋Š” hooks api๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๊ฒฐ๋  ๊ฑฐ ๊ฐ™์•„ ์ด๋ฅผ ์ ์šฉํ•ด๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

โœจ2019-11-25

๊น€์žฌํ˜„
ํ† ์š”์ผ์— ๋จธ๋ฆฌ๋ฅผํ•˜๊ณ  ๋ฆฌ์•กํŠธ api์—ฐ๋™ํ•˜๋Š” ๋ฒ•๊ณผ ๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค. ์ผ์š”์ผ์—๋Š” ppt๋ฅผ ์ œ์ž‘ํ•˜๊ณ  ์ด์ „์— ๋งŒ๋“ค๋˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์˜ค๋Š˜์€ ๊ทธ๋ž˜ํ”„ํ์—˜์„ ๊ณต๋ถ€ํ•˜๊ณ  ๊ฐœ์ธํŽ˜์ด์ง€์™€ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ์˜ˆ์ •์ด๋‹ค.

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

์ „ํ˜•์ง„
์ฃผ๋ง์— DB ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ณ  ์ปจ๋””์…˜ ์กฐ์ ˆํ•˜์˜€๋‹ค.

์˜ค๋Š˜์€ ๋ฉ”์ธ ํŽ˜์ด์ง€ API๋ฅผ ์™„๋ฃŒํ•  ์˜ˆ์ •์ด๊ณ , ์ด๋ฅผ ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๋™ํ•ด์„œ ๋ฉ”์ธํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ์™„์„ฑํ•  ์˜ˆ์ •์ด๋‹ค.

์ •์†Œ์˜
์˜ˆ์ „์— ์„ฑ์ฐฌ๋‹˜์ด useEffect ์•ˆ์— fetch๋ฅผ ํ•จ์ˆ˜๋กœ ๋งŒ๋“ค์–ด์„œ ์“ฐ์ง€ ๋ง๋ผ๊ณ  ํ•œ ์ ์ด ์žˆ์–ด์„œ ์™œ ๊ทธ๋Ÿฐ๊ฐ€ ๊ถ๊ธˆํ•ด์„œ ๊ณต๋ถ€๋ฅผ ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊นจ์šฐ์นœ ๋‹ค์Œ์— ๋‚˜์˜ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์˜ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์น˜๊ณ  ๋ฆฌํŒฉํ† ๋ง์„ ํ–ˆ๋‹ค. ๋ฆฌํŒฉํ† ๋ง์—๋Š” ์‹คํŒจํ–ˆ๋‹ค. ์˜ค๋Š˜์€ ์•Œ๋ฆผ๊ธฐ๋Šฅ์„ ๋‹ค ๋งŒ๋“ค๊ณ  ๋ฆฌํŒฉํ† ๋ง์„ ๋‹ค์‹œ ์‹œ๋„ํ•˜๊ฒ ๋‹ค.

โœจ2019-11-27

๊น€์žฌํ˜„

์˜ค๋Š˜ ๋ฐ˜์ฐฌ์€ ์•Œ์ˆ˜์—†๋Š” ๋ฏธ๋‹ˆ๊ฒŒ ๋ฐ˜์ฐฌ์ž…๋‹ˆ๋‹ค. ์–ด์ œ GraphQL๊ณต๋ถ€๋ฅผ ๋งˆ๋ฌด๋ฆฌํ–ˆ๋‹ค. ์˜ค๋Š˜ ๊ฐœ์ธํŽ˜์ด์ง€ ์ œ์ž‘์— ๋“ค์–ด๊ฐˆ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์š”๋ฆฌ๋Š” ๋‚ดํ‚ฌ ๋•Œ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋‚จ์ •ํ˜ธ

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

์ „ํ˜•์ง„

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

์ •์†Œ์˜

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

โœจ2019-11-28

๊น€์žฌํ˜„

์–ด์ œ ๊ฐœ์ธํŽ˜์ด์ง€๋ฅผ ๋๋‚ด๊ณ  ์‹ถ์—ˆ์ง€๋งŒ, ํ”„๋ก ํŠธ ๋ถ€๋ถ„๋งŒ ๊ตฌํ˜„๋œ์ฑ„ ํ•˜๋ฃจ๊ฐ€ ๊ฐ€๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์š”์ฒญ ๋‹ค ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒ€์ƒ‰๊ฒฐ๊ณผํŽ˜์ด์ง€ ๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚จ์ •ํ˜ธ

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

์ „ํ˜•์ง„

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

์ •์†Œ์˜

์–ด์ œ graphql๋กœ ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œ ํ•˜๋Š” ๊ฒƒ์„ ์‹œ๋„ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹คํŒจํ–ˆ๋‹ค. graphql์€ apollo์—†์ด๋Š” ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œ ํ•  ์ˆ˜ ์—†๋‚˜๋ณด๋‹ค..... ๋ฐฉ๊ธˆ ํšŒ์˜๋ฅผ ํ–ˆ๋Š”๋ฐ ๊ฒฐ๋ก ์€ ์ผ๋‹จ api๋กœ ๊ทธ๋ƒฅ ์—…๋กœ๋“œ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ•˜ํ•ซ. ์˜ค๋Š˜์€ ์ƒˆ๋กœ์šด ๊ฒŒ์‹œ๋ฌผ ํŽ˜์ด์ง€๋ฅผ ์™„์„ฑํ•˜๊ฒ ๋‹ค!

โœจ2019-11-29

๊น€์žฌํ˜„

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

๋‚จ์ •ํ˜ธ

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

์ „ํ˜•์ง„

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

์˜ค๋Š˜์€ ๋ฉ”์ธํŽ˜์ด์ง€์˜ ๋ฌดํ•œ ์Šคํฌ๋กค๋ง์„ ๊ตฌํ˜„ํ•˜์—ฌ ํŽ˜์ด์ง€๋„ค์ด์…˜์ด ๋˜๋„๋ก ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ •์†Œ์˜

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

โœจ2019-12-02

๊น€์žฌํ˜„

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

๋‚จ์ •ํ˜ธ

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

์ „ํ˜•์ง„

์ฃผ๋ง์— ๋ฉ”์ธํŽ˜์ด์ง€์˜ ๋ฌดํ•œ ์Šคํฌ๋กค๋ง์„ ๊ตฌํ˜„ํ•˜์˜€๊ณ , docker ์„ค์ • ๋ฐ nginx ์„ค์ •์„ ์ˆ˜์ •ํ•˜์—ฌ pull request๋ฅผ ๋‚ ๋ ธ๋‹ค. ๋ฌดํ•œ ์Šคํฌ๋กค๋ง์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋ช‡ ๊ฐ€์ง€ ์ด์Šˆ๊ฐ€ ์žˆ์—ˆ๊ณ , ๊ทธ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ์˜ค๋Š˜ ํŒ€์›๋“ค๊ณผ ์˜๋…ผํ•  ์˜ˆ์ •์ด๋‹ค.

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

์ •์†Œ์˜

์ฃผ๋ง์— ๊ฒ€์ƒ‰์— ๋Œ€ํ•œ ๋ถ€๋ถ„ ๋ฆฌํŒฉํ† ๋ง์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ๋ฆฌํŒฉํ† ๋ง์„ ๋งˆ์นœ ํ›„ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ํ•˜๋ ค๊ณ ํ–ˆ์œผ๋‚˜ ์‹œ๊ฐ„์ด ๋ถ€์กฑํ–ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋ฆฌํŒฉํ† ๋ง์„ ํ•  ๊ฒƒ์ด ๋„ˆ๋ฌด ๋งŽ์•˜๋‹ค. ๊ทธ๋ž˜๋„ ์ด์ œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์—†์œผ๋ฉด ์—†๋‹ค๊ณ  ๋‚˜์˜จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฒˆ์ฃผ์—๋Š” ๋‚˜๋จธ์ง€ ๋งŒ๋“ค์—ˆ๋˜ ๋ถ€๋ถ„์„ ํ•˜๋‚˜์”ฉ ๋ฆฌํŒฉํ† ๋ง ํ•  ๊ฒƒ์ด๋‹ˆ ๊ธฐ๋‹ค๋ ค ์ฃผ๊ธธ ๋ฐ”๋ž€๋‹ค. ๋ฆฌํŒฉํ† ๋ง์€ 7์‹œ ์ดํ›„์— ํ•˜๊ณ  7์‹œ๊นŒ์ง€๋Š” OAuth๋ฅผ ํ•ด์•ผํ•œ๋‹ค. ๊ทธ๋ž˜์„œ OAuth grant type์— ๋Œ€ํ•ด ๊ณต๋ถ€๋ฅผ ํ–ˆ๋‹ค.

2019-12-03

์ •์†Œ์˜

๋‚œ ๋ง์ด์•ผ~ ์–ด์ œ ์ง‘๊ฐ€๋Š”๊ธธ์—~ ๋ถ•์–ด๋นต์ด๋ž‘ ํƒ€์ฝ”์•ผํ‚ค๋จน์—ˆ์–ด~~ ๊ทผ๋ฐ ๋ถ•์–ด๋นต์€ ๋ณ„๋กœ์˜€์Œ.. ํƒ€์ฝ”์•ผํ‚ค๋Š” ๋ง›์žˆ์–ด! ์–ด์ œ๋Š” RFC6749์™€ node-oauth2-server์˜ token handler ์Šคํ„ฐ๋””! ์˜ค๋Š˜์€ oauth ๊ตฌํ˜„์„ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ๋‹ค. ํ™”์ดํŒ…!!

๋‚จ์ •ํ˜ธ

์ฃ„์ธ ๋‚จ์ •ํ˜ธ ์˜ค๋Š˜๋„ ๊น€์น˜์ฐŒ๊ฐœ์ž…๋‹ˆ๋‹ค. ๋จธ๋ฆฌ ๋ฐ•๊ฒ ์Šต๋‹ˆ๋‹ค. ์–ด์ œ๋Š” ์•„ํด๋กœ ๊ณต๋ถ€์— ์˜ฌ์ธํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ํ•  ๊ฒŒ ๋„ˆ๋ฌด ๋งŽ๋‹ค. quering & mutation & pagination ๊นŒ์ง€๋Š” ํŒŒ์•…์„ ํ–ˆ๋Š”๋ฐ, Local state management ๋Š” ์–‘์ด ๋„ˆ๋ฌด ๋งŽ๊ณ  ๋‚œ์ด๋„๊ฐ€ ์žˆ์–ด์„œ ์ผ๋‹จ ๋ณด๋ฅ˜ํ–ˆ๋‹ค. ์˜ค๋Š˜์€ useFetch ๋กœ ๋งŒ๋“  ๋ชจ๋“  ๋ถ€๋ถ„์„ Apollo ํ›…์œผ๋กœ ๋ฐ”๊ฟ€ ๊ฒƒ์ด๋‹ค. ์—ฌ๊ฑด์ด ๋œ๋‹ค๋ฉด ํšŒ์›๊ฐ€์ž… / ๋กœ๊ทธ์ธ ์‹œ์ž‘์„ ํ•ด์•ผ๊ฒ ๋‹ค.

๊น€์žฌํ˜„

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

์ „ํ˜•์ง„

์–ด์ œ๋Š” RFC 6749์™€ node-oauth2-server ๋ชจ๋“ˆ์„ ๋ถ„์„ํ•˜๊ณ , ์ด๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ OAuth์˜ feature list๋ฅผ ๋ฝ‘์•˜๋‹ค. ์ข€ ๋” ์ž์„ธํžˆ ๋ถ„์„ํ•ด์„œ feature list๋ฅผ ๋ณด์ถฉํ•˜๊ณ , ์˜ค๋Š˜๋ถ€ํ„ฐ OAuth ๊ตฌํ˜„์„ ์ •์†Œ์˜๋‹˜๊ณผ ํ•จ๊ป˜ ์‹œ์ž‘ํ•  ์˜ˆ์ •์ด๋‹ค.

โœจ2019-12-03

์ •์†Œ์˜

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

๋‚จ์ •ํ˜ธ

(์˜ค๋Š” ์ค‘...)

๊น€์žฌํ˜„

์–ด์ œ ์•„ํด๋กœ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋ คํ•˜์˜€์œผ๋‚˜, ์‰ฝ์ง€์•Š์•„ ๋‹ค์‹œ ๊ณต๋ถ€ ์ค‘์ด๋‹ค. ์ง‘์— ๊ฐ€์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ–ˆ๋‹ค. ํ˜ธ์ด์ŠคํŒ…, ํ”„๋กœ๋ฏธ์Šค, ํด๋กœ์ €, ์–ด์‹ฑํฌ/์–ด์›จ์ž‡ ๋“ฑ ์žฌ๋ฐŒ๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค. ์˜ค๋Š˜์€ ๋ฌธ์„œ ์กฐ๊ธˆ ์ฝ๋‹ค๊ฐ€ ์ตœ๋Œ€ํ•œ ๊ธฐ๋Šฅ๊ตฌํ˜„์— ์ง‘์ค‘ํ•  ์˜ˆ์ •์ด๋ฉฐ ์ผ๊ณฑ์‹œ ์ดํ›„์—๋Š” ๋ฐœํ‘œ์—ฐ์Šต์„ ํ•  ๊ฒƒ์ด๋‹ค.

์ „ํ˜•์ง„

์–ด์ œ๋Š” RFC 6749์— ๋‚˜์™€์žˆ๋Š” Error Response์— ๋Œ€ํ•œ Error ํด๋ž˜์Šค๋“ค์„ ์™„์„ฑํ•˜์˜€๋‹ค. ์–ด์ œ ์†Œ์˜๋‹˜์ด ์™„์„ฑํ•œ ํด๋ผ์ด์–ธํŠธ ๋“ฑ๋ก๋ถ€๋ถ„๊ณผ ์˜ค๋Š˜ ๊ฐœ๋ฐœํ•  Token ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์™„๋ฃŒํ•˜๋ฉด ๋ฐ”๋กœ Grant type ๊ฐœ๋ฐœ์— ๋Œ์ž…ํ•  ์˜ˆ์ •์ด๊ณ , Grant type ๊ฐœ๋ฐœ์ด ์ผ์ฐ ๋๋‚˜๋ฉด ๋ฐ”๋กœ ํ•ธ๋“ค๋Ÿฌ ๋ถ€๋ถ„์„ ๊ฐœ๋ฐœํ•  ๊ฒƒ์ด๋‹ค.

2019-12-05

์ •์†Œ์˜

์ปจ๋””์…˜ ์กฐ์ ˆ์„ ์œ„ํ•ด ์‰ฌ์—ˆ๋‹ค. ์ด์ œ ํšŒ๋ณต์ด ๋œ ๋“ฏ ํ•˜๋‹ˆ ํž˜์„ ๋‚ด์–ด ์•„ํด๋กœ์— ๋„์ „ํ•˜๊ฒ ๋‹ค!!! ์ƒˆ๋กœ์šด ๊ฒŒ์‹œ๋ฌผ ํŽ˜์ด์ง€๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค. ์•„์นจ์— ์ƒˆ๋กœ์šด ๋ฐ˜์ฐฌ๊ฐ€๊ฒŒ์—์„œ ๊ณ„๋ž€๋ง์ด๋ฅผ ์ƒ€๋Š”๋ฐ ๋‹ค๋ฅธ๋ฐ๋ณด๋‹ค ์ฒœ์›๋น„์ŒŒ๋‹ค..... ๋ง›์žˆ๊ธธ ๊ธฐ๋„ํ•œ๋‹ค.

๋‚จ์ •ํ˜ธ

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

๊น€์žฌํ˜„

(๋ฉด์ ‘ ์ค‘)

์ „ํ˜•์ง„

์š”์ƒˆ ์ปจ๋””์…˜์ด ์ข‹์ง€ ์•Š์•„ ์—ฌ๋Ÿฌ๋ชจ๋กœ ๊ฐœ๋ฐœ์— ์ง‘์ค‘์ด ์ž˜ ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋‹ค์‹œ ๋งˆ์Œ์„ ๋‹ค ์žก๊ณ  ๊ฐœ๋ฐœ์— ๋ชฐ์ž…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•ด์•ผ ํ• ๋“ฏ...

์˜ค๋Š˜์€ OAuth์˜ Authorization Server ๊ตฌํ˜„์„ ์™„๋ฃŒํ•  ์˜ˆ์ •์ด๋‹ค. ๋นจ๋ฆฌ ์ด ๋ถ€๋ถ„์„ ์™„๋ฃŒํ•˜๊ณ  SNS ๊ธฐ๋Šฅ์œผ๋กœ ๋„˜์–ด๊ฐ€์„œ ๋™๋ฃŒ๋“ค๊ณผ ํ•จ๊ป˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•  ๊ฒƒ์ด๋‹ค.

โœจ2019-12-10

์ •์†Œ์˜

๋ฏธ์•ˆํ•˜๋‹ค. ์–ด์ œ ๋„ˆ๋ฌด ํ•˜๊ธฐ์‹ซ์–ด์„œ ๋งŽ์ด ๋ชปํ–ˆ๋‹ค...ํ•˜ํ•˜ ์˜ค๋Š˜์€ ์—ด์‹ฌํžˆ ํ•˜๊ฒ ๋‹ค. ์–ด์ œ ๋ฐค์— ๋ถ€์บ ์ด ๋๋‚˜๋ฉด ์Šคํƒ€ํŠธ์—…์—์„œ ์•Œ๋ฐ”ํ•˜๊ฒ ๋ƒ๋Š” ์ œ์˜๋ฅผ ๋ฐ›์•˜๋‹ค. ํ•˜์ง€๋งŒ ์—…๋ฌด๊ฐ€ ์•Œ๋ฐ”๊ฐ€ ์•„๋‹ˆ๋ผ ์ง์›์˜ ๋Š๋‚Œ์ด ๋“ค์–ด์„œ ํ• ๊นŒ๋ง๊นŒ ๊ณ ๋ฏผ์ด ๋œ๋‹ค. ์˜ค๋Š˜์€ ์ƒˆ๊ฒŒ์‹œ๋ฌผ bug์™€ ๊ฒ€์ƒ‰์„ Impvํ•  ๊ฒƒ ์ด๋‹ค.

๋‚จ์ •ํ˜ธ

๋‚˜๋Š” 1์›” ๋‘˜์งธ์ฃผ์— ํž๋งํŽ˜์ดํผ์— ์ถœ๊ทผํ•œ๋‹ค. ๊น€์นซ๊ตญ์€ ์ž์ œํ•ด์•ผ๊ฒ ๋‹ค. ์–ด์ œ ๋“œ๋””์–ด cursor ๊ธฐ๋ฐ˜ ์Šคํฌ๋กค์„ ์™„์„ฑํ–ˆ๋‹ค. ์•„์ง ๋ฒ„๊ทธ๊ฐ€ ์žˆ์ง€๋งŒ, ์ฐจ์ฐจ ๊ณ ์น˜๊ฒ ๋‹ค. ์˜ค๋Š˜์€ ๊ฐœ์ธ ์ •๋ณด ํŽ˜์ด์ง€๋ฅผ ๋ฐ˜๋“œ์‹œ ๋‹ค ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ๋ถ€๋‹ด์Šค๋Ÿฝ์ง€๋งŒ ๋‚œ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ค๋Š˜ ๋ฐ˜์ฐฌ์€ ์ œ์œก์ด๋‹ค.

๊น€์žฌํ˜„

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

์ „ํ˜•์ง„

์–ด์ œ ํšŒ์›๊ฐ€์ž… ๊ตฌํ˜„์„ ํ•˜๋‹ค๊ฐ€ ๋ฉ˜ํƒˆ์ด ๋ฐ•์‚ด๋‚ฌ๋‹ค. ์ฟ ํ‚ค ๊ด€๋ จ ์ด์Šˆ๊ฐ€ ์žˆ์–ด์„œ ์ด๋ฅผ ๋‹ค์‹œ ๊ผผ๊ผผํžˆ ์‚ดํŽด ํ•ด๊ฒฐํ•  ์˜ˆ์ •์ด๋‹ค. ํšŒ์›๊ฐ€์ž…์ด ๋‹ค ๋๋‚˜๋ฉด, ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์—ฌ ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ํ”ผ์ณ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•  ๊ฒƒ์ด๋‹ค.

โœจ2019-12-11

์ •์†Œ์˜

์ง‘์—์„œ๋Š” ๋„์ฐฉํ•˜์ž๋งˆ์ž ์ž ์ด ๋“ค์—ˆ๋‹ค. ์˜ค๋Š˜์€ ๊ฒ€์ƒ‰, ์•Œ๋žŒ, ์ƒˆ๊ฒŒ์‹œ๋ฌผ ๋“ฑ๋ก์— ์กฐ๊ธˆ์”ฉ ์žˆ๋Š” bug๋ฅผ ํ•ด๊ฒฐํ•˜๊ฒ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ์ž ํŽ˜์ด์ง€๋ฅผ ์†๋ณด๋ฉด ํ•˜๋ฃจ๊ฐ€ ๋‹ค ๊ฐˆ ๊ฒƒ ๊ฐ™๋‹ค. ์˜ค๋Š˜๋ถ€ํ„ฐ ์•ผ๊ทผ์„ ํ•ด์•ผ๋  ๊ฒƒ ๊ฐ™๋‹ค.

๋‚จ์ •ํ˜ธ

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

๊น€์žฌํ˜„

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

์ „ํ˜•์ง„

์–ด์ œ ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ ๋ฐฑ์—”๋“œ ๋ถ€๋ถ„์„ ๋งˆ๋ฌด๋ฆฌํ–ˆ๊ณ , ํšŒ์›๊ฐ€์ž…/๋กœ๊ทธ์ธ UI๋ถ€๋ถ„์„ ์™„์„ฑํ•  ์˜ˆ์ •์ด๋‹ค. ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ์ด ์‹คํŒจํ–ˆ์„ ๋•Œ ์—๋Ÿฌ์ฒ˜๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•  ์ง€ ๊ณ ๋ฏผํ•˜๊ณ  ์ด๋ฅผ ๋ฐ˜์˜ํ•  ๊ฒƒ์ด๋‹ค.์œ„์˜ ์ž‘์—…์ด ๋๋‚˜๋ฉด, ๊ฒŒ์‹œ๋ฌผ์˜ ํ•ด์‹œ(์‚ฌ๋žŒ)ํƒœ๊ทธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์˜ˆ์ •์ด๋‹ค.

๊ธฐ์—…๋„คํŠธ์›Œํ‚น ๊ด€๋ จ ๊ณต์ง€๋ฅผ ๋“ฃ๊ณ ๋‚˜์„œ ๊ฑฑ์ • ๋ฐ˜, ๊ธฐ๋Œ€ ๋ฐ˜์ด๋‹ค. ์ตœ๋Œ€ํ•œ ๋ฒ„๊ทธ์—†์ด ๋งŒ๋“ค๊ณ  ์ฒ ์ €ํ•œ ๋ฐ๋ชจ ์ค€๋น„๊ฐ€ ํ•„์š”ํ•  ๋“ฏํ•˜๋‹ค.

Clone this wiki locally