The journey to becoming a developer

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

What I learned/CodeSquad Log

CodeSquad Day 32 : Front-end Week 2

Millie 2022. 2. 23. 02:45

 

CodeSquad๐Ÿ”นDay 32

Morning Algo

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

 

Morning Scrum

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

 

Mission

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

 

Group Review

5์‹œ๋ถ€ํ„ฐ 6์‹œ ๋ฐ˜๊นŒ์ง€, 1์‹œ๊ฐ„ ๋ฐ˜์ด๋‚˜ ์ง€๋‚˜๊ฐ”๋‹ค. ์–˜๊ธฐ๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ ๊ธธ์–ด์กŒ๋‹ค. ๋‹ค์Œ๋ถ€ํ„ด 4์‹œ ๋ฐ˜์ฏค ๋ฆฌ๋ทฐ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

์„ค๋ช…์„ ํ•˜๋‹ค๊ฐ€ HTMLCollection์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๊ฐ€ ๋‚˜์™€์„œ ์ด๊ฒƒ์— ๋Œ€ํ•ด์„œ๋„ ๋ฐค์— ํ•™์Šตํ•ด๋ณด์•˜๋‹ค. Deep Dive ์ฑ…์„ ํ›‘์–ด๋ณด๋ฉด์„œ Readme์— ๊ฐ„๋žตํ•˜๊ฒŒ๋‚˜๋งˆ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค.

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

 

Discussion time

์ฅฌ๊ฐ€ Git ์ด๋ ฅ์„ ๊น”๋”ํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ํ•ด์„œ ๊ทธ ๋ฐฉ๋ฒ•์„ ์ „์ˆ˜๋ฐ›๊ธฐ ์œ„ํ•ด ๊ฒŒ๋”ํƒ€์šด์—์„œ ์ด์•ผ๊ธฐ๋ฅผ ํ–ˆ๋‹ค. CLI๋ฅผ ์ด์šฉํ•ด์„œ rebase๋ฅผ ๋งŽ์ด ์‹ค์Šตํ•ด๋ด์•ผ๊ฒ ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์–˜๊ธฐ๊ฐ€ ๊ธธ์–ด์ ธ์„œ ๊ณ„์† ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๋‚˜๋ฆ„ ์ƒ์‚ฐ์ ์ธ ๋…ผ์˜๊ฐ€ ๋งŽ์ด ๋‚˜์™”๋‹ค. ์•„์นจ์— ํ•˜๋Š” ์Šคํ„ฐ๋”” ์ด์•ผ๊ธฐ, Git ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋Œ๋ฆฌ๋Š” ๊ฒƒ, ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐ๋ธŒ๋งค์นญ ๋„์ „, ์šด๋™ํ•˜๊ธฐ ๋“ฑ๋“ฑ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฐ๋ธŒ๋งค์นญ ์Šคํ„ฐ๋””๋ฅผ ํ•˜๊ธฐ๋กœ ํ–ˆ๊ณ , ์ค‘๊ฐ„์— ์ด๋ˆ„๋„ ์™€์„œ ์ด๋ˆ„๋„ ๊ฐ™์ด ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ฆ‰ํฅ์ ์œผ๋กœ ์Šคํ„ฐ๋”” ๊ทธ๋ฃน์ด ์ƒ๊ฒผ๋‹ค! ํ™•์‹คํžˆ ์Šคํ„ฐ๋”” ๊ทธ๋ฃน์ด ์žˆ์œผ๋ฉด ์ง‘์ค‘๋ ฅ๊ณผ ํšจ์œจ์ด ์˜ฌ๋ผ๊ฐ€๊ณ , ๋ฐฐ์šฐ๋Š” ๊ฒƒ๋„ ๋” ๋งŽ์•„์„œ ์ข‹๋‹ค.

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

 

Algorithm

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ 2 ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋„์ „ํ–ˆ์ง€๋งŒ ํ’€์ง€ ๋ชปํ–ˆ๊ณ , ๋Œ€์‹  jest๋ฅผ ์„ค์น˜ํ•ด์„œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งŒ ์ข€ ๋Œ๋ ค๋ณด๋Š” ์‹œ๋„๋ฅผ ํ•ด ๋ดค๋‹ค. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์งœ๋Š” ๊ฒƒ๋„ ๋ฐฐ์›Œ์•ผ ํ•œ๋‹ค. ๊ผญ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์œ„ํ•œ ๊ฒƒ ๋ง๊ณ ๋„.

 

Mission : Refactoring, z-index issue

์ดํ›„์—๋Š” ๋ฏธ์…˜ ๋ฆฌํŒฉํ† ๋ง์„ ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ ๋ฏธ์…˜์ธ ์Šฌ๋ผ์ด๋” ๊ตฌํ˜„์„ ์‹œ์ž‘ํ–ˆ๋‹ค.

์Šฌ๋ผ์ด๋” ๋ฒ„ํŠผ์— cursor:pointer๋ฅผ ์ค˜๋„ ์ ์šฉ์ด ์•ˆ ๋˜๊ธธ๋ž˜ z-index ๋ฌธ์ œ๋ผ๋Š” ๊ฒƒ๊นŒ์ง„ ์•Œ์•„๋ƒˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ˆ˜์น˜๋ฅผ ๋ณ€๊ฒฝํ•ด๋„ ๋˜์ง€ ์•Š์•˜๊ณ  ๊ตฌ๊ธ€๋ง์„ ํ•ด ๋ดค์ง€๋งŒ ๋ช…์พŒํ•œ ๋‹ต์„ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฒŒ๋”ํƒ€์šด์— ์งˆ๋ฌธ์„ ํ–ˆ๊ณ , ์˜๋กœ์šฐ์™€ ์ฝœ๋ผ๊ฐ€ ์ ๊ทน์ ์œผ๋กœ ๋‚˜์„œ์„œ ํ•จ๊ป˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ”๋‹ค. ๋ฐ”๋กœ ๋‚ด๊ฐ€ z-index : -1 ์ด๋Ÿฐ ์‹์œผ๋กœ ์Œ์ˆ˜ ๊ฐ’์„ ์ค€ ๊ฒƒ์ด ๋ฌธ์ œ์˜€๋‹ค. z-index์— ์Œ์ˆ˜๋ฅผ ์ค„ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๋ Œ๋”๋ง ๋ ˆ์ด์–ด๋ณด๋‹ค ๋’ค๋กœ ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์•„์ง stacking context๋ฅผ 100% ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด์„œ ๋” ํ•™์Šต์ด ํ•„์š”ํ•˜๋‹ค.

 

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

CodeSquad Day 34 : Front-end Week 2  (0) 2022.02.25
CodeSquad Day 33 : Front-end Week 2  (0) 2022.02.24
CodeSquad Day 31 : Front-end Week 2  (0) 2022.02.22
CodeSquad Day 30 : Front-end Week 1  (0) 2022.02.19
CodeSquad Day 29 : Front-end Week 1  (0) 2022.02.18