๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“˜ DIARY/Codesquad Masters

[220614] ์ฝ”๋“œ์Šค์ฟผ๋“œ ๋งˆ์Šคํ„ฐ์ฆˆ ์ผ์ผ ํšŒ๊ณ 

# ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค

์–ด์ œ ํšŒ๊ณ  ์“ฐ๊ณ  ๋‚œ ๋’ค์— Agile ๋ฐฉ๋ฒ•๋ก ์— ๋Œ€ํ•ด์„œ ์ฐพ์•„๋ดค๋‹ค.

Agile ๋ฐฉ๋ฒ•๋ก ์— ๋Œ€ํ•ด์„œ ์ข€ ๋” ์ž์„ธํžˆ ์•Œ๊ณ  ๋‚˜๋‹ˆ ์ฝ”๋“œ์Šค์ฟผ๋“œ ๊ต์œก ๊ณผ์ •์ด ์–ผ๋งˆ๋‚˜ Agile ํ•จ์„ ์ง€ํ–ฅํ•˜๊ณ  ์žˆ์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด์„œ ์ด๋ฒˆ 3์ฃผ ํ”„๋กœ์ ํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์กฐ๊ธˆ ๋” Agile ์Šค๋Ÿฝ๊ฒŒ ์ง„ํ–‰ ํ•  ์ˆ˜ ์žˆ์„์ง€๋ฅผ ํ•จ๊ป˜ ๊ณ ๋ฏผ์„ ์ข€ ํ•ด๋ดค๋Š”๋ฐ

์šฐ์„  ์ผ๋‹จ ์ง€๊ธˆ๊นŒ์ง€ ํ”„๋กœ์ ํŠธ์—์„œ ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„์„ ํ•˜๋ฉฐ ์ž‘์„ฑํ–ˆ๋˜ User Story๋ฅผ Product Backlog ๋ผ๋Š” ๋ช…์นญ์œผ๋กœ ์ž‘์„ฑํ•˜๊ณ  Story ๋ณ„ Task ๋ชฉ๋ก์„ ์ž‘์„ฑํ•˜๋˜๊ฑธ Sprint Backlog ๋กœ ์ด๋ฒˆ ์ฃผ์˜ ์Šคํ”„๋ฆฐํŠธ์—์„œ ์ž‘์—…ํ•  ์Šคํ† ๋ฆฌ๋งŒ ์„ ์ •ํ•˜์—ฌ ์ž‘์„ฑํ•˜๋ฉด ์ข‹์„๊ฑฐ ๊ฐ™์•˜๋‹ค.

Story ๋ณ„ ๊ตฌ์ฒด์ ์ธ Task ๋ชฉ๋ก ๋˜ํ•œ ํ•ด๋‹น ์Šคํ”„๋ฆฐํŠธ๋ฅผ ์‹œ์ž‘ ํ•  ๋•Œ ์ž‘์„ฑํ•˜๋Š” ๊ฑธ๋กœ!

 

๊ฑฐ๊ธฐ์— ์–ด์ œ ํšŒ๊ณ ์—์„œ ๋‹ค์งํ•œ๋Œ€๋กœ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœ ํ•  ๋•Œ๋„ ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ ์Šคํ”„๋ฆฐํŠธ์˜ ๋ชฉํ‘œ์— ์ง‘์ค‘ํ•ด์„œ ๊ตฌํ˜„ํ•˜๋Š”๊ฑธ ๋ชฉํ‘œ๋กœ ํ•˜๋ฉด ์กฐ๊ธˆ ๋” Agile ์Šค๋Ÿฌ์›Œ ์งˆ ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๊ทธ๋ž˜์„œ ์˜ค๋Š˜ ๋„๋‹ˆ์™€ ์–˜๊ธฐ๋ฅผ ํ•ด์„œ ์šฐ์„  ์•„๋ž˜์™€ ๊ฐ™์ด Product Backlog์™€ ์ด๋ฒˆ ์ฃผ Sprint Backlog๋ฅผ ์ž‘์„ฑํ•ด๋ดค๋‹ค! ^0^)g

์‚ฌ์‹ค ๊ธฐ์กด์— ์ž‘์„ฑํ•˜๋˜ User Story ์™€ ๋‚ด์šฉ์€ ํฐ ์ฐจ์ด๋Š” ์—†๊ธด ํ•˜์ง€๋งŒ ์ž‘์„ฑ ์‹œ์ ๊ณผ ์ˆ˜์ • ์‹œ์ ์„ ๋ช…ํ™•ํžˆ ํ•˜๋Š” ์ฐจ์ด๋ฅผ ๋’€๋‹ค.

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

๊ทธ๋ ‡๊ฒŒ ์ดˆ๋ฐ˜์— ์ƒ์„ธํ•˜๊ฒŒ ๊ตฌ์ฒดํ™” ํ•ด๋†“์œผ๋ฉด ํ”„๋กœ์ ํŠธ์˜ ์ „์ฒด ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์„ ์ถ”์ธกํ•˜๊ฑฐ๋‚˜ ๋ญ ๊ทธ๋Ÿด๋•Œ๋Š” ์ข‹๋‹ค๊ณ  ์ƒ๊ฐ์€ ํ•˜์ง€๋งŒ

์ผ๋‹จ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๊ฐ„์ด 3์ฃผ๊ณ  ๊ทธ ์•ˆ์— ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ณด์žฅ๋„ ์—†๊ณ ,

๋”ฑ ์ด๋ฒˆ ํ•œ ์ฃผ, ์ด๋ฒˆ ์Šคํ”„๋ฆฐํŠธ์—๋งŒ ์ง‘์ค‘ํ•œ๋‹ค ์ƒ๊ฐ์„ ํ•˜๋‹ˆ ์ด๋ฒˆ ์Šคํ”„๋ฆฐํŠธ์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ๋Šฅ ์™ธ์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ๋Š” ๋”ฑํžˆ ๊ณ ๋ ค๋ฅผ ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค.

 

๊ทธ๋ž˜์„œ Product Backlog๋ฅผ ํ”„๋กœ์ ํŠธ ์ „์ฒด์˜ Todo ๋ฆฌ์ŠคํŠธ๋ผ ์ƒ๊ฐํ•˜๊ณ  ๋Œ€๋žต์ ์ด๊ณ  ํฐ ๋ฒ”์œ„๋กœ ์ญ‰ ์ž‘์„ฑ์„ ํ–ˆ๊ณ ,

๊ทธ ์ค‘์—์„œ ์ด๋ฒˆ ์Šคํ”„๋ฆฐํŠธ์—์„œ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜๋Š” ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ๊ณผ ๊ด€๋ จ ๋œ Story๋งŒ ๋”ฐ๋กœ ๋ถ„๋ฅ˜ํ•ด์„œ ๊ฐ Story ๋ณ„ ์„ธ๋ถ€ Task๋ฅผ ๊ตฌ์ƒํ•ด์„œ ์ž‘์„ฑํ•ด๋ดค๋‹ค.

 

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

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

๋‹ค๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ•  ๊ฒฝ์šฐ ์ฒซ ์ฃผ์—๋Š” ์ปดํฌ๋„ŒํŠธ๋“ค๋งŒ ๋งŒ๋“œ๋Š”๋ฐ ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„์„ ์จ์•ผ ํ–ˆ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ๋‹ค. (ํŠนํžˆ Atomic ์„ ์‹œ๋„ ํ•  ๋•Œ๊ฐ€ ๋Œ€๋ฐ•์ด์—ˆ๋Š”๋ฐ...)

 

 

๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์—๋งŒ ์ง‘์ค‘์„ ํ•œ๋‹ค๋ฉด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์—์„œ ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ๋Š” ๋”ฑ Button๊ณผ Input ์ปดํฌ๋„ŒํŠธ ๋ฟ์ด์—ˆ๋‹ค.

(์œ„์˜ ๊ทธ๋ฆผ์—์„œ ์ฒซ๋ฒˆ์งธ ์Šค์ผ€์ดํŠธ ๋ณด๋“œ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ๋ฐ”ํ€ด์™€ ๋ณด๋“œ๋งŒ ํ•„์š”ํ•˜์ง€ ํ‚ฅ๋ณด๋“œ์˜ ํ•ธ๋“ค์ด ํ•„์š” ์—†๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ?)

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

 

์ด๊ฒŒ ์ •๋ง Agile ์Šค๋Ÿฌ์šด๊ฑด์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์—ฌํŠผ ์จ‹๋“  ใ…Žvใ…Ž) ๋‚˜์˜์ง„ ์•Š์€๊ฑฐ ๊ฐ™๋‹ค!

์ด๋ ‡๊ฒŒ 3์ฃผ ๋™์•ˆ ์ง„ํ–‰ํ•ด๋ณธ ๋’ค์— ์ด ๋ฐฉ์‹์˜ ์žฅ๋‹จ์ ์„ ํšŒ๊ณ ํ•ด๋ณด๋ฉด ์ข‹์„๊ฑฐ ๊ฐ™๋‹ค!

 

# Github OAuth

Agile ๋ฐฉ๋ฒ•๋ก ์„ ์ข€ ํ•™์Šต ํ•ด๋ณธ ๋’ค ์ด๋ฒˆ ์ฃผ ๊ตฌํ˜„ ํ•ด์•ผ ํ•˜๋Š” Github OAuth์˜ ํ๋ฆ„์„ ๊ณต๋ถ€ํ•ด๋ดค๋‹ค.

์‚ฌ์‹ค Github OAuth๋ฅผ ๊ฑฐ์˜ 2๋‹ฌ ์ „์— ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ์—์„œ ์ถ”๊ฐ€ ๋„์ „ ๊ณผ์ œ ๊ฐ™์€ ๋ฏธ์…˜์œผ๋กœ ๊ตฌํ˜„ ํ•ด๋ณผ ๊ธฐํšŒ๊ฐ€ ์žˆ์–ด์„œ ํ•œ๋ฒˆ ์ฐพ์•„๋ณธ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ ๊ทธ๋•Œ๋Š” React Router ์— ๋Œ€ํ•ด์„œ ์ž˜ ๋ชฐ๋ผ์„œ url์— ๋”ฐ๋ฅธ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ๋‚˜ ๋ญ ๊ทธ๋Ÿฐ๊ฑธ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ์ง€ ๋ชฐ๋ผ ์ž˜ ์ดํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š์•˜์—ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ง€๋‚œ ์žํŒ๊ธฐ ๋ฏธ์…˜์„ ํ†ตํ•ด React Router ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ๋‚˜๋‹ˆ๊นŒ ๊ทธ๋•Œ์— ๋น„ํ•ด์„œ๋Š” ์ข€ ๋” ํด๋ผ์ด์–ธํŠธ ์ชฝ์—์„œ ์–ด๋–ค ์‹์œผ๋กœ ๋กœ๊ทธ์ธ ๊ณผ์ •์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค!

๊ทธ๋• ์ •๋ง ์ด๊ฑธ ๋„๋Œ€์ฒด ์–ด๋–ป๊ฒŒ ํ•˜๋ผ๋Š”๊ฑฐ์ง€? ๋ญ˜ ํ•˜๋ผ๋Š”๊ฑฐ์ง€? ํ•˜๊ณ  ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ”๋Š”๋ฐ ์ด๋ฒˆ์—” ์™ ์ง€ ํ•  ์ˆ˜ ์žˆ์„๊ฑฐ ๊ฐ™๋‹ค!

๋ณ„๊ฑฐ ์•„๋‹Œ๊ฑฐ์˜€์„์ง€๋„!! ^0^)!!!

๋‚ด์ผ ๋ฐฑ์—”๋“œ์˜ Sammy์—๊ฒŒ ์–ด๋–ค ํ๋ฆ„์œผ๋กœ ๊ตฌํ˜„ํ•  ์˜ˆ์ •์ด์‹ ์ง€ ์—ฌ์ญค๋ณด๊ณ  ํ”„๋ก ํŠธ๋„ ๊ทธ์— ๋งž์ถฐ์„œ ๋กœ์ง์„ ๊ฒฐ์ •ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค!ใ…Žใ…Ž

 

# ์‚ฌ์šฉ์ž์„ฑ์„ ๊ณ ๋ คํ•œ data fetch ์‹œ์ ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ

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

์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผ์„ ํ–ˆ๋Š”๋ฐ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ณ ๋ฏผ์„ ํ•˜๊ฒŒ ๋œ ์ฃผ์š” ํฌ์ธํŠธ๋Š” 3๊ฐœ์˜€๋‹ค.

 

์–ธ์ œ ์‚ฌ์šฉ์ž๊ฐ€ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๋Š”์ง€?

์ด ๋ฐ์ดํ„ฐ๋Š” ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ์ธ์ง€?

๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€์ง€?

 

์ด ๊ณ ๋ฏผ๋“ค์— ๋”ฐ๋ผ ๋‚ด๋ฆฐ ๊ฒฐ๋ก ์ด ์ตœ์ดˆ data ๋ฅผ fetch ํ•ด์˜ค๋Š”๊ฑด ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜์Œ์œผ๋กœ ์‚ฌ์šฉ ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐ›์•„์˜ค๊ธฐ๋กœ ํ–ˆ๊ณ ,

๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ผ๋ฉด ๊ฐ€๊ธ‰์ ์ด๋ฉด ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ๋งˆ๋‹ค ๊ณ„์† ์„œ๋ฒ„์—์„œ fetch๋ฅผ ๋ฐ›์•„์™€ ์ตœ์‹  ์ƒํƒœ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š”๊ฒŒ ์ข‹์ง€๋งŒ ๋งŒ์•ฝ ๋ณ€๊ฒฝ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๊ทธ๋‹ฅ ๋†’์ง€ ์•Š๋‹ค๋ฉด ํ•œ๋ฒˆ fetch ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๋ฅผ caching ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

 

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

 

# ๊ณ ๋ฏผ ๊ธฐ๋ก

Notion์— ๊ณ ๋ฏผ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค!

์‚ฌ์†Œํ•œ ๊ณ ๋ฏผ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๋„๋‹ˆ์™€ ํ•จ๊ป˜ ํ•˜๋ฉด์„œ ๊ทธ ๊ณผ์ •์„ ๋งˆ์น˜ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ฒ˜๋Ÿผ ๋„๋‹ˆ๊ฐ€ ๊ณ ๋ฏผ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด์„œ ๋งํ•ด์ฃผ๋ฉด ๊ทธ๊ฑธ ๋‚ด๊ฐ€ ๋…ธ์…˜์— ํƒ€์ดํ•‘ํ•˜๋ฉด์„œ ์ •๋ฆฌํ–ˆ๋‹ค!

ํ™˜์ƒ์˜ ํ˜ธํก ๊ตฟ ^_^)b

 


๋„๋‹ˆ๊ฐ€ ์•Œ๋ ค์ค€ css ๊ด€๋ จ ๊นจ์•Œ ์ง€์‹

  html {
    font: ${FONT.WEIGHT.REGULAR} 62.5%/1.5 ${FONT.FAMILY.BASE};
  }

  body {
    width: 100%;
    color: ${COLOR.title};
    font: inherit;
    letter-spacing: -0.4px;
    font-size: 1.6rem;
    background: ${COLOR.background};
  }

ํฐํŠธ ํ•œ ์ค„๋กœ ์ž‘์„ฑํ•˜๋Š” ๋ฒ•์ด๋ž‘

62.5%์˜ ์ด์œ  -> rem ๊ธฐ์ค€์ธ๋ฐ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ 16px? ๊ธฐ์ค€์ธ๊ฑธ 10px๋กœ ๊ณ ์ •ํ•ด์ค˜์„œ rem์„ ์“ธ๋•Œ 16px์ด๋ฉด 1.6rem ์ด๋ผ๊ณ  ํŽธํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ์„ค์ •

1.5 line-height

letter-spacing -0.4px ์€ ์ž๊ฐ„ ๋ณด๊ธฐ ์ข‹๊ฒŒ ๊ธฐ๋ณธ์œผ๋กœ 0.4๋กœ ์„ค์ •

๋ฒ„ํŠผ์˜ width ์†์„ฑ์„ min-width๋กœ ์„ค์ •ํ•˜๋Š”๊ฒƒ -> ์ผ์ข…์˜ ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•œ ์˜ˆ