The journey to becoming a developer

My future is created by what I do today, not tomorrow.

What I learned/CodeSquad Log

CodeSquad Day 73 : Team Project 2

Millie 2022. 4. 20. 21:15

 

CodeSquad๐Ÿ”นDay 73

Class by Honux: OAuth

์˜ค๋Š˜์€ ํฌ๋กฑ์˜ ์ˆ˜์—…์ด ์•„๋‹Œ ํ˜ธ๋ˆ…์Šค์˜ ์ˆ˜์—…์ด์—ˆ๊ณ  100์—ฌ ๋ช… ๋˜๋Š” ์ฝ”๋“œ์Šค์ฟผ๋“œ ๋ฉค๋ฒ„๋“ค์ด ๋ชจ๋‘ ๋ชจ์—ฌ ์คŒ์—์„œ ์ˆ˜์—…์„ ๋“ค์—ˆ๋‹ค. ๊ณตํ†ต ์ˆ˜์—… ๋‚ ์ด์—ˆ์–ด์„œ ๋ถ์ ์˜€๋‹ค. 

OAuth๋Š” ์•„์ง ์ œ๋Œ€๋กœ ํ•™์Šตํ•œ ์ ์ด ์—†์–ด์„œ ๋‚ฏ์„ค์—ˆ์ง€๋งŒ ๊ผญ ์•Œ์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฐ•์กฐ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ํ•˜์…จ๊ธฐ์— ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด์„œ ๊ณต๋ถ€๋ฅผ ํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 

 

Team Project

# Scrum

์˜ค์ „ 10์‹œ์— ๊ฒŒ๋”ํƒ€์šด์—์„œ ํ–„๋””, ๋™๊ธฐ, ์ค€๊ณผ ๋งŒ๋‚˜ ์Šคํฌ๋Ÿผ์„ ํ–ˆ๋‹ค. ์–ด์ ฏ๋ฐค์— ํ–„๋””๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ์ž˜ ์ •๋ฆฌ๋œ Readme๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์–ด์„œ ๊ฐํƒ„ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒŒ๋”ํƒ€์šด์—์„œ ๋‹จ์ฒด์‚ฌ์ง„๋„ ์ฐ์–ด์„œ Readme์— ์ฒจ๋ถ€ํ–ˆ๋‹ค.  ๊ฒŒ๋”ํƒ€์šด ์บ๋ฆญํ„ฐ๊ฐ€ ์ •๋ง ๊ท€์—ฌ์›Œ์„œ ์†Œ์†Œํ•œ ์ฆ๊ฑฐ์›€์ด์—ˆ๋‹ค. 

5์‹œ 30๋ถ„์ฏค์—๋Š” ๋‹ค์‹œ ๋ชจ์—ฌ์„œ ๊ฐ์ž ์˜ค๋Š˜ ํ•œ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐํ–ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋Š” ์ง„ํ–‰์‚ฌํ•ญ์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋นจ๋ž๋‹ค. mock data๊ฐ€ ์•„๋‹Œ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธˆ๋ฐฉ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜์…”์„œ ์ •๋ง ๋†€๋ž๋‹ค. ๋‚˜๋„ ๋ถ„๋ฐœํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.  

 

# ๋งฅ๋ถ์œผ๋กœ ์ฝ”๋”ฉํ•ด๋ณด๋‹ค

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

 

# svg๋กœ ๋œ ์•„์ด์ฝ˜๋“ค์€ ์–ด๋–ป๊ฒŒ?

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

 

[React] React์—์„œ SVG ํ™œ์šฉํ•˜๊ธฐ

React ํ”„๋กœ์ ํŠธ์—์„œ PNG? JPG? ์•„๋‹ˆ์š”, SVG!

velog.io

์œ„์˜ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ฐธ๊ณ ํ•ด์„œ 2๋ฒˆ์งธ ๋ฐฉ์‹์ธ svg๋ฅผ React component๋กœ ์ด์šฉํ•˜๊ธฐ๋ฅผ ์ ์šฉํ•ด ๋ณด์•˜๋‹ค.

๊ทธ๋žฌ๋”๋‹ˆ ์ด๋Ÿฐ ์‹์œผ๋กœ ๊น”๋”ํ•˜๊ฒŒ React์˜ ์ปดํฌ๋„ŒํŠธ๋กœ์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ •๋ง ๊น”๋”ํ•˜๋‹ค!

 

# Styled Components

์–ด์ œ๋Š” Styled Components์˜ ThemeProvider๋ฅผ ํ™œ์šฉํ•ด ์ „์—ญ์—์„œ ์‚ฌ์šฉํ•  ํฐํŠธ ์Šคํƒ€์ผ ๋“ฑ์„ ์ •์˜ํ–ˆ์—ˆ๋‹ค. ์˜ค๋Š˜์€ ์ด๊ฒƒ์„ ๋ณธ๊ฒฉ์ ์œผ๋กœ ํ™œ์šฉํ•ด์„œ Header์˜ ์Šคํƒ€์ผ๋ง ์ž‘์—…๋ถ€ํ„ฐ ํ•ด๋ณด์•˜๋‹ค. ํ˜„์žฌ ์ž‘์„ฑ์€ CSS๋กœ ํ•˜๊ณ  ์žˆ์ง€๋งŒ, Sass์— ์ข€ ๋” ์ต์ˆ™ํ•ด์ง€๊ณ  ์‹ถ์–ด์„œ ๋‚ด์ผ์€ ์ด๊ฒƒ์„ ์ ์šฉํ•˜์ž๊ณ  ํ–„๋””์—๊ฒŒ ์ œ์•ˆํ•ด ๋ณผ ์ƒ๊ฐ์ด๋‹ค. 

 

# Merge ์ „๋žต ์„ ํƒ - Rebase & Merge

์ปค๋ฐ‹์„ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด dev-FE ๋ธŒ๋žœ์น˜์— ์ง€๊ธˆ๊นŒ์ง€ feature/header ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ–ˆ๋˜ ๊ฒƒ๋“ค์„ ์˜ฎ๊ฒจ์•ผ ํ–ˆ๋Š”๋ฐ, ์–ด๋–ค merge ์ „๋žต์„ ์‚ฌ์šฉํ• ์ง€์— ๋Œ€ํ•ด ํ–„๋””์™€ ์ด์•ผ๊ธฐํ•ด ๋ณด์•˜๋‹ค. Rebase and merge๋ฅผ ์“ธ์ง€, Squash and merge๋ฅผ ์“ธ์ง€. ์šฐ๋ฆฌ๋Š” ์ „์ž๋ฅผ ํƒํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ›„์ž์˜ ๊ฒฝ์šฐ ์ปค๋ฐ‹ ํ•˜๋‚˜ํ•˜๋‚˜๋งˆ๋‹ค ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ ๊ทธ๋Ÿด ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

git checkout feature/header
git rebase origin dev-FE
git checkout dev-FE
git merge feature/header

์œ„์˜ ๋ช…๋ น์–ด๋กœ ์„ฑ๊ณต!

 

# ์ปค๋ฐ‹์— author ์—ฌ๋Ÿฌ ๋ช… ํ‘œ์‹œํ•˜๊ธฐ

 

์—ฌ๋Ÿฌ๋ช…์˜ ์ž‘์—…์ž์™€ ํ•จ๊ป˜ ์ปค๋ฐ‹ํ•˜๊ธฐ

ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋ฉด์„œ ์•„์‰ฌ์› ๋˜ ์ 

blog.dizy.dev

๊ทธ๋ฆฌ๊ณ  ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์ง„ํ–‰ํ–ˆ๊ธฐ์—, ์ปค๋ฐ‹์„ ํ–ˆ์„ ๋•Œ author๋ฅผ ๊ณต๋™์œผ๋กœ ๋“ฑ๋กํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์œ„์˜ ๊ธ€์„ ์ฐธ๊ณ ํ–ˆ๋‹ค. ์ปค๋ฐ‹ํ•  ๋•Œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ด๋ฉ”์ผ์„ ๊ธฐ์žฌํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

๊ทธ๋Ÿฌ๋ฉด ์ด๋ ‡๊ฒŒ ์ž˜ ๋“ฑ๋ก์ด ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์˜ค๋Š˜ ํ•œ ์ปค๋ฐ‹ 4๊ฐœ! 

 

# PR ๋ณด๋‚ด๊ธฐ - ํ…œํ”Œ๋ฆฟ ํ™œ์šฉ

PR์€ 5์‹œ๊นŒ์ง€์ด๊ธด ํ•˜์ง€๋งŒ ์ƒ๊ฐ๋ณด๋‹ค ์•ฝ๊ฐ„ ๋Šฆ์–ด์ ธ์„œ ์ข€ ๋Šฆ๊ฒŒ ๋ณด๋‚ด๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋•Œ์ฏค๋ถ€ํ„ฐ ํ–„๋””์™€ ์ฒด๋ ฅ์ด ์ ์  ๋ฐ”๋‹ฅ๋‚˜์„œ PR์— ์ ์„ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ๋จธ๋ฆฌ๋ฅผ ์งœ๋‚ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋ž˜๋„ ํ–„๋””๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๋˜ PR ํ…œํ”Œ๋ฆฟ ๋•๋ถ„์— ํ›จ์”ฌ ๊น”๋”ํ•˜๊ฒŒ PR์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋‚ด์šฉ์€ ์ด๋ฒˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๊ถ๊ธˆํ–ˆ๋˜ global style ์ ์šฉ ๋ฐฉ์‹์ด ๊ดœ์ฐฎ์€์ง€, ๊ทธ๋ฆฌ๊ณ  ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์„ ๋‹ด์•„๋ณด์•˜๋‹ค. 

 

 

'What I learned > CodeSquad Log' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

CodeSquad Day 75 : Team Project 2 - Day 5  (0) 2022.04.22
CodeSquad Day 74 : Team Project 2 - Day 4  (2) 2022.04.21
CodeSquad Day 72 : Team Project 2  (0) 2022.04.19
CodeSquad Day 71 : Team Project 2  (0) 2022.04.18
CodeSquad Day 70 : Team Project Week 2  (0) 2022.04.16