CodeSquad๐นDay 34
Morning Algo
์ค๋์ ๋๋๊ฐ ๋ชธ์ด ์ข์ง ์์์ ํ๋, ํธ์ด์ ์ ์ด์ ์คํฐ๋๋ฅผ ํ๋ค. ํ๋ก๊ทธ๋๋จธ์ค '๊ฐ์ฅ ํฐ ์' ๋ฌธ์ ์ LeetCode์ Linked List ๋ฌธ์ ๋ฅผ ๋ฆฌ๋ทฐํ๋ค. ์์นจ์ ์คํฐ๋๋ฅผ ํ๋ฉด ์ ์ง ๋ชจ๋ฅผ ๋ฟ๋ฏํจ์ด ๋๊ปด์ง๋ค. ๊พธ์คํ ์ด์ด๋๊ฐ๊ณ ์ถ๋ค.
Class by Crong
ํญ์ ํฌ๋กฑ์ ์์ ์ ์ง์์๋ต์ผ๋ก ์์ํ๋ค. ์ด๋ฒ์ ์ง์์๋ต์์๋ ์ ์ญ ๋ณ์ ์ฌ์ฉ์ ๋ฌธ์ ์ , Git workflow ๊ด๋ จํ ์ด์ผ๊ธฐ, ๊ธฐ๋ฅ์ ๊ตฌํํ์ง๋ง ์ฝ๋ ๊ตฌ์ฑ์ด๋ ์ค๊ณ๊ฐ ๋ง์กฑ์ค๋ฝ์ง ์์ ๋ ์ด๋ป๊ฒ ํด์ผํ๋์ง์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ ํ๋ค.
๋ ๋ฒ์งธ ํํธ์์๋ Web Animation์ ์ค์ ์ ์ผ๋ก ์ด์ผ๊ธฐํ๋ค. setInterval, setTimeout, requestAnimationFrame์ ์ด๋ป๊ฒ ํ์ฉํ๋์ง์ ๋ํ ๊ฒ๋ค. ์ฌ์ค ์ด์ฏค๋ถํฐ ์ด์ง ์ ์ด ์ค๊ธฐ ์์ํ๋ค. ๊ทธ๋ฐ๋ฐ ๊ทธ๋ฃน์ ์ง์ด์ ์ฝ๋๋ฅผ ์ง์ ์ง ๋ณด๋ฉด์ ๋ค๋ชจ๋ฅผ ์์ผ๋ก ์์ฐ์ค๋ฝ๊ฒ ์์ง์ฌ๋ณด๋ ํ๋์ ํ๋ ์ ์ด ํ ๊นผ๋ค. ํ์คํ ๋ง์ ํ๋ฉด์ ์ง์ ์ฝ๋๋ฅผ ์ง๋๊น ๊ทธ๋ฐ ๊ฒ ๊ฐ๋ค. ์ ์ฌ ์๊ฐ์ ์ ์ ๋ ์๊น ํ๋ค๊ฐ ์ ์ด ์ ๋ง ๋ฌ์๋ ๋ฒ๋ ค์ ๊ทธ๋ด ํ์๋ ์๊ฒ ๋์๋ค.
Express
npm์ผ๋ก express๋ฅผ ์ค์นํ๊ณ , data.json์ localhost:3000์ ๋ฌด์ฌํ ๋์ ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ผ๋ก ์ด ๊ฒฝ๋ก๋ก fetch๋ฅผ ํ๋ ค๊ณ ํ๋๋ฐ CORS ์๋ฌ๊ฐ ๋ด๋ค. ์์ ์ ํ๋ก์ ํธ๋ฅผ ํ์ ๋์๋ ์ด ์๋ฌ๊ฐ ๋ด๋ ์ ์ด ์๊ณ , ์์ฝ์ ์์์์ ๋ณธ ์ ๋ ์๋๋ฐ ์ ๋๋ก ๋ด๊ฐ ์๊ณ ์๋ ๊ฒ ์๋๋ผ๋ ์๊ฐ์ด ๋ค์ด์ ๊ฒ์์ ์ข ํด ๋ดค๋ค.
Cross Origin Resource Sharing์ ์ค์๋ง๋ก์, ์์ ์ด ์ํ์ง ์์ ๋ค๋ฅธ domain, protocol, port์ ์๋ resource๋ฅผ ์์ฒญํ๋ ๋ฐฉ์์ด๋ผ๊ณ ํ๋ค. ์์ง ๊น์ด ์๊ฒ ์๋ ๊ฒ์ ์๋๋ค.
[Node.js] express cors ์ฌ์ฉํ๊ธฐ
1. ์๋ก ๋ฆฌ๋ฒ์ค ํ๋ก์ ์๋ฒ๋ก NGINX๋ฅผ ๋๊ณ ํ ์ํฌ์คํ ์ด์ ์์ Swagger์ node.js ์๋ฒ๋ฅผ ํจ๊ป ๊ตฌ๋ํ ์ ์ด ์๋ค. Swagger์ ํฌํธ๋ฅผ 8085๋ก ์ง์ ํ๊ณ node.js ์๋ฒ๋ 443๋ฒ์ผ๋ก ์ง์ ํ๋ ๋ฐ, CORS ์๋ฌ๊ฐ ๋ฐ
surprisecomputer.tistory.com
์ด ๋ธ๋ก๊ทธ ๊ธ์ ์ฐธ๊ณ ํด์ npm์ผ๋ก cors ๋ชจ๋์ ์ค์นํด์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฐ๋ก ํด๊ฒฐ์ด ๋์๋ค.
๊ทธ๋ฐ๋ฐ ์์ง data.json๋ง ๋์ด ๊ฑฐ๊ณ ํด๋ก ์ฝ๋ฉํ ํ๋ฉด ์์ฒด๋ฅผ ๋์์ผ ํ๋๋ฐ ์์ง ํ์ง ๋ชปํ๋ค. ๋ด์ผ PR ๋ ๋ฆฌ๊ธฐ ์ ๊น์ง ๊ผญ ์์ฑํ์.
Algorithm : Programmers
๋ฐค์๋ ์ด๋ฐ์ ๋ฐ ์๊ฐ์ด ๋ง์ด ๋ค์ด์ ๊ณต๋ถ๋ฅผ ๋ง์ด ํ์ง ๋ชปํ๋ค. 11์๊ฐ ๋์ด์์ผ ๋ง์์ ๋ค์ก๊ณ ์๊ณ ๋ฆฌ์ฆ์ ํ ๋ฌธ์ ํ์๋ค. ๋ ๋ฒจ 1 ๋ฌธ์ ์ฌ์ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง๋ ์์๋๋ฐ, ๋ค๋ฅธ ์ฌ๋๋ค์ด ํผ ๋ก์ง์ ๋ณด๊ณ ์ ๋ง ํ๋ํด์ ๋ฐฐ์ธ ์ ์ด ๋ง์๋ค.
ํธ๋ ์์ค์ ๊ฒ๋ํ์ด์์ ๋ฐฉํ๊ฐ CSS ๊ด๋ จ ์ง๋ฌธ์ ํด์ ๊ฐ์ด ๋ดค๊ณ , ํด๊ฒฐํ๋ค. ์์ ๋ฌธ์ ๊ธด ํ์ง๋ง ๊ทธ๋๋ ๋์์ ์ค ์ ์์ด์ ๋ฟ๋ฏํ๋ค.
์ค๋๋ถํฐ ๋ฌ๋ฆฌ๊ธฐ๋ฅผ ์์ํ๋ค. ๋ง์นจ ๋ ์จ๋ ์ ์ ํ๋ฆฌ๊ณ ์์ด์ ๋ฌ๋ฆฌ๊ธฐ ํ๊ธฐ๋ ์ข์ ๋ ์จ๊ฐ ๋์ด๊ฐ๊ณ ์๋ค. ํ๋์ ๋ฌ๋ฆฌ๊ธฐ๋ฅผ ์ ๋๋ก ํ์ง ์๋ค๊ฐ ๋ฌ๋ฆฌ๋๊น ์จ์ด ๊ธ๋ฐฉ ์ฐผ๋ค. ๊พธ์คํ ํด์ ์ฒด๋ ฅ์ ๋์ฌ์ผ๊ฒ ๋ค.
์ฅฌ๋ ์๊ธฐํ๋ค๊ฐ ์ฝ๋์ค์ฟผ๋์ ๋ฌ๋ฆฌ๊ธฐ ํน์ ์ด๋ ๋ชจ์์ด ์์ผ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ค. ๊ธฐํ์ ํด ๋ณด๊ณ 3์์ ์ธ์์ ๋ชจ์งํ๊ณ , ๋ชฉํ๋ฅผ ์ ํด์ ๊ฐ์ด ๋ฌ๋ฆฌ๊ธฐ๋ฅผ ํ๋ฉด ์ฌ๋ฏธ์๊ณ ์ ์ตํ ๊ฒ ๊ฐ๋ค. ๋น๋๋ฉด์ด์ด์ ์ง์ ๋ง๋์ ๊ฐ์ด ๋ธ ์ ์๋๋ผ๋ ์ด๋ ๊ฒ ๊ฐ์ ์ ์ผ๋ก๋๋ง ํ ์ ์์ผ๋ฉด ๋๊ธฐ๋ถ์ฌ๋ ๋๊ณ , ํผ์ ์ด๋ํ๋ ๊ฒ๋ณด๋ค ๋ ์ค๋ ๊ฐ์ง ์์๊น?
๋ฒ์จ 2022๋ ์ 2์๋ ๋์ด ๋ณด์ธ๋ค. ์๊ฐ์ด ์ ๋ง ๋นจ๋ฆฌ ํ๋ฌ๊ฐ๊ณ ์๋ค. ์กฐ๋ง๊ฐ 2์๋ฌ ํ๊ณ ๋ฅผ ํด์ผ๊ฒ ๋ค.
'What I learned > CodeSquad Log' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CodeSquad Day 36 : Front-end Week 3 (0) | 2022.03.01 |
---|---|
CodeSquad Day 35 : Front-end Week 2 (0) | 2022.02.26 |
CodeSquad Day 33 : Front-end Week 2 (0) | 2022.02.24 |
CodeSquad Day 32 : Front-end Week 2 (0) | 2022.02.23 |
CodeSquad Day 31 : Front-end Week 2 (0) | 2022.02.22 |