๐Today I Learend Postman ์์ Cookie ์ค์ ํ๊ธฐ
๐Today I Learned ์ด์ ์ ํํ ํ๋ฌ์ด๋ผ๋ ์๊ฐ์ด ๋จ์๊ณ , ๋จ์์๊ฐ ๋์ ์ต๋ํ ๊ธฐ์ ์ ์ ์ ์ผ๋ก์จ ์ง์ํ๊ธฐ ์ํด ๊ฐ๋ฐ ์คํ์ ์์๊ฐ์ผ ํ๊ฒ ๋ค๊ณ ํ๋ฒ ๋ ์๊ฐํ๋ค. ํ์ํ ๊ฒ๊ณผ ๋ฐฐ์ฐ๊ณ ์ถ์ ๊ฒ๋ค์ ๊ต์งํฉ์ ์คํฐ๋ ํ๋ ๊ฒ์ด ์ข๋ค๊ณ ํ๋จํ์๊ณ , ์ง๊ธ์ nodejs๋ก ๊ฐ๋ฐํ๋ ๊ฑฐ์ ๋ชจ๋ ๊ณณ์์ ํ์ํ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ๊ณต๋ถํ๊ธฐ๋ก ๋ง์ ๋จน์๋ค. ๋ง์ ๋จน์๊ณผ ๋์์ ํ์ ์คํฌ๋ฆฝํธ ๊ฐ์๋ฅผ ์ง๋ฌ๋ฒ๋ ธ๋ค.. ๋ฐฐ์์ ๋์ ์๋ผ์ง ๋ง์. ์๊ฐ์ด ๋ ์ค์ํ๋ค. ํ์ ์คํฌ๋ฆฝํธ? ์ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฐ์์ผํ ๊น ์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๋ก๊ทธ๋จ์ด ๋์ํ ๋ ํ์ ์ด ๊ฒฐ์ ๋์ด ์ฝ๊ฐ ์ํ?ํ๋ค. ์ด์๋ฐํด ํ์ ์คํฌ๋ฆฝํธ๋ ํ์ ์ด ์ ์ ์ผ๋ก ์ ์๋์ด ์ฆ๊ฐ์ ์ผ๋ก ํ์ ์๋ฌ๋ฅผ ๋ฐ์๋ณผ ์ ์๋ค. ํ์ ์ด ์๋ค๋ฉด ์์ ๋กญ๋ค๊ณ ๋งํ ์ ์์ง๋ง ์คํ๋ ค ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๊ณ , ๋ฑ ๋ดค์ ๋ ๋ณ์๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๊ณ , ํจ์๋ ์ด๋ค ์ธ์๋ฅผ ๋ฐ๋์ง ๋ช ํํ์ง ์๋ค. ๊ทธ๋์ ์ด์๊ฐ ๋ฐ์ํ์ฌ๋ ํ์ ์คํฌ๋ฆฝํธ์ ๋น๊ตํ์ฌ ๋ฐ๊ฒฌํ๊ธฐ ์ด๋ ต๋ค.
String > str[0] = 'S'์ฒ๋ผ ์ด๋ฏธ ์์ฑ๋ ๋ฌธ์์ด์ ์ผ๋ถ ๋ฌธ์๋ฅผ ๋ณ๊ฒฝํด๋ ๋ฐ์๋์ง ์๋๋ค(์ด๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค). ํ๋ฒ ์์ฑ๋ ๋ฌธ์์ด์ read only๋ก์ ๋ณ๊ฒฝํ ์ ์๋ค. ์ด๊ฒ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ(immutable)์ด๋ผ ํ๋ค. Undefined > undefined๋ ๊ฐ๋ฐ์๊ฐ ์๋์ ์ผ๋ก ํ ๋นํ ๊ฐ์ด ์๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ํด ์ด๊ธฐํ๋ ๊ฐ์ด๋ค. ๋ณ์๋ฅผ ์ฐธ์กฐํ์ ๋ undefined๊ฐ ๋ฐํ๋๋ค๋ฉด ์ฐธ์กฐํ ๋ณ์๊ฐ ์ ์ธ ์ดํ ๊ฐ์ด ํ ๋น๋ ์ ์ธ ์๋ ๋ณ์๋ผ๋ ๊ฒ์ ๊ฐ๋ฐ์๋ ๊ฐํํ ์ ์๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ฐ๋ฐ์๊ฐ ์๋์ ์ผ๋ก undefined๋ฅผ ํ ๋นํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์์๊น? ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ๋ณ์ ์ด๊ธฐํ์ ์ฌ์ฉํ๋ ์ด ๊ฐ์ ๋ง์ฝ ๊ฐ๋ฐ์๊ฐ ๋ง์๋๋ก ํ ๋นํ๋ค๋ฉด undefined์ ๋ณธ๋์ ์ทจ์ง์ ์ด๊ธ๋ ๋ฟ๋๋ฌ ํผ๋์ ์ค ์ ์์ผ๋ฏ๋ก ๊ถ์ฅํ์ง ์๋๋ค. ๊ทธ๋ผ ๋ณ์์ ๊ฐ์ด ์๋ค๋ ๊ฒ์ ๋ช ์ํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ํ๋ฉด ์ข์๊น? ๊ทธ๋ฐ ๊ฒฝ์ฐ๋ undefined๋ฅผ ํ ๋นํ
๐What I learend ์ง๋ 1์ฃผ์ผ๊ฐ ์งํํ๋ Mini-Project ์์ ์ข ๋ ๊ฐ์ ํ ์ ์๋ ๋ถ๋ถ์ด ๋ญ๊ฐ ์์์ง, ์ด๋ป๊ฒํ๋ฉด ์ข ๋ ์ข์ ์ฝ๋๋ฅผ ์งค ์ ์์์ง, ์ด๋ฒ ํ๋ก์ ํธ์์ ๋ถ์กฑํ๋ ๊ฒ์ด ๋ฌด์์ด์๋์ง ๊ณ ๋ฏผํ๋ค. ๊ณ ๋ฏผ์ ๊ฒฐ๊ณผ๋ Testing ์ด์๋ค. ์ด๋ฒ ํ๋ก์ ํธ์์ ๋ด๊ฐ ๊ตฌํํ ๋น์ง๋์ค ๋ก์ง์ ๋ํด ํ ์คํธํ์ง ์์๋ค. Postman์ ์ด์ฉํ์ฌ ํ ๊ฒ๋ ํ ์คํธ๋ผ๋ฉด ํ ์คํธ๋ผ๊ณ ์๊ฐํ ์๋ ์์ง๋ง, ๋ด๊ฐ ๋งํ๋ ํ ์คํธ๋ Jest๋ฅผ ์ด์ฉํ ๋น์ง๋์ค ๋ก์ง ํ ์คํธ๋ค. ํ ์คํธ๋ฅผ ํ์ง ์๋๋ค๋ฉด? ์ด๋ฒ Mini-Project ์์ ์ด๋ฐ์ ๊ตฌํํ ์ฝ๋์, ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๋ฆฌํํ ๋งํ์ฌ ์์ฑํ ์ฝ๋๋ ๊ฝค๋ ๋ฌ๋๋ค. ๋ฆฌํํ ๋ง์ ํ๋ฉฐ ์ด ์ฝ๋๊ฐ ๋ง๋ ์ฝ๋์ธ๊ฐ๋ฅผ ๊ฒ์ฆํ๊ธฐ ์ํด ๋ง์ด
๐What I learned MongoDB => MySQL, Mongoose => Sequelize ์๊ฐ๋ณด๋ค ๋ฐฑ์๋ ๋ก์ง ๊ตฌํ์ด ๊ธ๋ฐฉ ๋๋ฌ๋ค. ๋ฌผ๋ก ํ๋ก ํธ์๋์ ์ฐ๊ฒฐํ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ์ ์์ํ์ง๋ง ํ๋ก ํธ์๋์์ ์ฐ๊ฒฐ์ ๋ด์ผ ์คํ์ด๋ค. ํ์๋ค๊ณผ ์์ํ์ฌ ๋จ์ ์๊ฐ๋์ Sequelize๋ฅผ ๊ตฌํํ๋ ๊ฒ์ Next step ์ผ๋ก ์ก์๋ค. ์ฐ๋ฆฌ ํ์ MongoDB, Mongoose๋ฅผ ์ฌ์ฉํ์ฌ DB๋ฅผ ๋ง๋ค์๋๋ฐ, Sequelize๋ก DB๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด๋ค. ๋คํํ MVCํจํด์ ๊ตฌํํ์ฌ DB๋ฅผ ๊ด๋ฆฌํ๋ Model ๋ง ์์ ํ๋ฉด ๋๊ธฐ์ 1day ์ฑ๋ฆฐ์ง๊ฐ ๊ฐ๋ฅํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. ํ์ง๋ง.. ์ญ์ ์ฝ์ง ์์๋ค. ์ฝ๊ฒ ๋์ด๊ฐ๋ ๋ฒ์ด ์์ง.. Error.. ๋จ์ํ DB๋ง ๋ฐ๊พธ๋๊ฒ ์๋๋ผ ์ ์ ์ ๋ณด, ๊ฒ์๊ธ ์ ๋ณด, ๋๊ธ ์ ๋ณด์ Model๊ฐ ๊ด๊ณ๋ฅผ ๋ง๋ค์ด์ผํ๋๋ฐ ์๊ธฐ์น ๋ชปํ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. Comment & Item model ๊ด๊ณ๋ฅผ ๋ง๋ค๊ธฐ์ํด belongsTo ํจ์๋ฅผ ์ฌ์ฉ
๐What I learned ๐ฅMini Prject Start~! ์ด๋ฒ์ฃผ๋ Mini Project๋ฅผ ์งํํ๋ค. Frontend 3๋ช , Backend 3๋ช ์ด 6๋ช ์ผ๋ก ๊ตฌ์ฑ๋์๋ค. ํ์คํ 1์ฃผ์ฐจ์ Javascript๋ก website ์ ์ํ๋ ํ๋ก์ ํธ์๋ ๋ค๋ฅธ ๋๋์ด๋ค. ๊ฐ์ ์ฃผํน๊ธฐ(Front, Back)์ผ๋ก ๋๋ ์ ธ ํ์ ์ ํ ์ ์๋ค๋ ๊ฒ์ด ๋งค์ฐ ์ค๋ ๋ค. ๋ญ ๋ง๋ค๊น? ํ์๋ค๊ณผ ๋ ผ์ํ์ฌ ๋์จ ๊ฒฐ๊ณผ๋ ์นํ๊ฒฝ ์ ํ๋ค์ ํ๋ฉํ๋ ํ๋ฉ์ฌ์ดํธ์ด๋ค. ์ฌ์ดํธ ์ด๋ฆ์ "์์ฝํ๋ฉ!" ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ ์๋์ฆ ํ๋ฉ์ ๋ฐ์ฌ ์์ ์ด๋ค. ํ๋ฉ ์ฌ์ดํธ๋ฅผ ์ ์ํ๊ธฐ๋กํ ์ด์ ๋ ์ง๊ธ๊น์ง ์คํฐ๋ํ ๊ฒ๋ค์ ๊ฑฐ์ ๋ค ๊ตฌํํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์์ด์ดํ๋ ์๊ณผ REST APIs๋ฅผ ์์ฑํด๋ณด๋ ๋ฐฑ์๋ ์ธ์์ด 3๋ช ์ด์ 2~3์ผ ์ ๋๋ฉด ๊ตฌํํ ์ ์์ ์ ๋๋ก ํ๋จ์ด ๋๋ค. API ๊ตฌํ์ ๋น ๋ฅด๊ฒ ์งํํ๊ณ Swagger ๋ฑ ๋ค์ํ ์ธ๋ถ ํด๋ค์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ธฐ๋ก ํ๋ค. Backend๋ ๋น์ฐํ Node.j
๐What Iearned 1. ์๊ณ ๋ฆฌ์ฆ ์คํฐ๋ 1์ฃผ์ฐจ ํ ์คํธ ์๊ณ ๋ฆฌ์ฆ ์คํฐ๋ 1์ฃผ์ฐจ ํ ์คํธ๋ฅผ ์งํํ๋ค. ๋ฌธ์ ๋ ํ๋ก๊ทธ๋๋จธ์ค์ "๋ฐฉ๊ธ๊ทธ๊ณก" ์ด๋ผ๋ ์ ๋ชฉ์ ๋ฌธ์ ์ด๋ฉฐ, ์นด์นด์ค ์ฝ๋ฉ ํ ์คํธ์ ์ถ์ ๋์๋ ๋ฌธ์ ์ด๋ค. ์ด๋ฒ ํ ์คํธ์์ ๋๋ง์ ๋ชฉํ๋ ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆฌ๋ ์๊ด์์ด ์ง์ ํด๊ฒฐํ๋ ๊ฒ ์ด์๊ณ , ์ค์ ๋ก 3์๊ฐ ๋์ ๋ฌธ์ ๋ฅผ ํ์๊ณ ๊ฒฐ๊ตญ ํด๊ฒฐํ๋ค. ์๊ฐ์ด ๋ง์ด ์์๋ ๋ถ๋ถ์ ๋ฌธ์ ์ค๋ช ์์ ๋ช ์๋ ์์ธ์ฒ๋ฆฌ๋ฅผ ๋๋ฝํ ๊ฒ์ด ์์ธ์ผ๋ก 30๊ฐ์ ํ ์คํธ ๊ฒ์ฆ ์ค 1๊ฐ ๊ฒ์ฆ์์ Fail ์ด ๋ฐ์ํ์๋ค.. ์๊ณ ๋ฆฌ์ฆ ์ํ์ค ์์ฒด๋ ๊ธ๋ฐฉ ์งฐ์์ง๋ง ์ด๋ฌํ ์์ธ์ฒ๋ฆฌ์์ ์๋นํ ์๊ฐ์ ์์ํ๋ค. ๋ค๋ฅธ ํ๋ก์ ํธ์์๋ ์ฒ์ ๋ง๋ค๋๋ถํฐ ๊ผผ๊ผผํ ๋ง๋๋ ๊ฒ์ด ๋ฒ ์คํธ์ธ ๊ฒ ๊ฐ๋ค.. ๋ค์ํ๋ฒ ๋๊ผ๋ค. ๋์ 3์๊ฐ..๐ **- ์๊ณ ๋ฆฌ์ฆ ์ฝ๋ ๋งํฌ https://velog.io/@liam_jeon/ํ๋ก๊ทธ๋๋จธ์ค-๋ฐฉ๊ธ๊ทธ๊ณก-Javascript** 2. Github, Blog ์ ๋ฆฌ ๋๋ฅผ ํํํ ์ ์๋
๐What I learned ๐๋ด ๋จธ๋ฆฌ ์์ ์ธํฐํ๋ฆฌํฐ, ์คํ์ปจํ ์คํธ ๋ด๊ฐ ๋ณด๊ณ ์๋ ๋ ธ๋ ๊ฐ์ ์ด๋ฐ์ ๊ฐ์ฌ๊ฐ ์ด๋ฐ๋ง์ ํ๋ค. "์๋ฐ์คํฌ๋ฆฝํธ๋ ์คํ์ปจํ ์คํธ, ์ด๋ฒคํธ๋ฃจํ, ํ๋กํ ํ์ ๋ง ์ดํดํ๋ฉด ๋๋ค". ์ด๋ฒคํธ ๋ฃจํ๋ ๋น๋๊ธฐ ๊ณต๋ถํ ๋ ๊ฝค๋ ์๋ฃ๋ฅผ ์ฐพ์๋ด์ ์กฐ๊ธ์ ์ดํดํ๊ณ ์์์ง๋ง ํนํ ์คํ์ปจํ ์ค๋ ๊ฑฐ์ ์ดํดํ์ง ์์ ์ํ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ Deep Dive ์ฑ ์์ ํ๊ฐ Chapter๋ก ์๊ธฐ์ ์กด์ฌ๋ ์๊ณ ์์๊ณ , ํ๋ฒ ํ๊ณ ๋๊ธฐ๊ธฐ์๋ ๋ด์ฉ์ด ์ด๋ ค์ ๋ค. ๐์ด๋ป๊ฒ ๊ณต๋ถํ๋ ์ฐธ๊ณ : https://medium.com/@happymishra66/execution-context-in-javascript-319dd72e8e2c ์ด๋ฒ์๋ ์ญ์... ๋ ๋ ๊น์ง ํ๋ค. ์ ํ๋ธ, ๋ธ๋ก๊ทธ์์๋ ์คํ์ปจํ ์คํธ ์ ๋ณด๊ฐ ๋ง์ง ์์์ ์ฃผ๋ก ํด์ธ ๋ธ๋ก๊ฑฐ๋ค์ด ์์ฑํ ๊ธ๊ณผ, ์๋ฐ์คํฌ๋ฆฝํธ ์ฑ ์ ํตํด ๊ณต๋ถํ๋ค. ๊ฐ๋จํ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๊ทธ ์ฝ๋์ ๋ํ ์คํ์ปจํ ์คํธ๋ฅผ ์ง์ ์ ์ผ๋ก ๊ทธ๋ ธ๋ค
๐What I learned ์ต๊ทผ ๋ด๊ฐ ๋ฃ๊ณ ์๋ node.js ๊ฐ์๊ฐ ์๋ค. ๊ฐ์ ์ด๋ฐ์ ๊ฐ์ฌ๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์๋ 3๊ฐ์ง๋ ๋ฌด์กฐ๊ฑด ์๊ณ ๋์ด์์ผํ๋ค๊ณ ํ์ง๋ง, ๋ด๊ฐ ์๋ฒฝํ๊ฒ ์ดํดํ๊ณ ์๋ ๊ฒ์ด ์๋๋ผ. ์คํ์ปจํ ์คํธ, ์ด๋ฒคํธ๋ฃจํ, ํ๋กํ ํ์ ์ด๋ฒคํธ๋ฃจํ๋ ์ฒ์์๋ ์ดํด๊ฐ์ง ์์์ง๋ง, ์ดํด๊ฐ ๋ ๋ ๊น์ง ์ฌ๋ฌ ์๋ฃ๋ค์ ์ฐพ์๋ณด๋ ์ด๋์๊ฐ ๋ด์ฉ์ด ์๋ฟ์๋ค. ๋๋จธ์ง ๊ฐ๋ ๋ค๋ ์ดํด ๋ ๋ ๊น์ง ๊ณ์๋ด์ผ๊ฒ ๋ค. > ์คํ ์ปจํ ์คํธ Object ์์ฑ ๋ฐฉ๋ฒ console.dir() Obejct ์์ฑ ๋ฐฉ๋ฒ 3๊ฐ์ง https://poiemaweb.com/js-object 1. ๊ฐ์ฒด ๋ฆฌํฐ๋ด **๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด ์์ฑ ๋ฐฉ์์ด๋ค. ํด๋์ค ๊ธฐ๋ฐ ๊ฐ์ฒด ์งํฅ ์ธ์ด์ ๋น๊ตํ ๋ ๋งค์ฐ ๊ฐํธํ๊ฒ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค. ์ค๊ดํธ({})๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๋ฐ {} ๋ด์ 1๊ฐ ์ด์์ ํ๋กํผํฐ๋ฅผ ๊ธฐ์ ํ๋ฉด ํด๋น ํ๋กํผํฐ๊ฐ ์ถ๊ฐ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค. {
๐What I learned ์คํ์ปจํ ์คํธ(Execution Conte) ์คํ ์ปจํ ์คํธ๋ ๋ฌด์์ธ๊ฐ >- ์ฝ๋๋ฅผ ์คํํ๋๋ฐ ํ์ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๊ฐ์ฒด. ์ฝ๋๋ฅผ ์คํํ๋๋ฐ ํ์ํ ์กฐ๊ฑด์ด๋ ์ํ๋ฅผ ๋ชจ์๋ ๊ฐ์ฒด. ์ฝ๋๋ฅผ ์คํํ ๋ ์๋ณ์๋ฅผ ๋์ฑ ํจ์จ์ ์ผ๋ก ๊ฒฐ์ ํ๊ธฐ์ํ ์๋จ์ผ๋ก์จ ํ์ํ ์ ๋ณด๋ฅผ ํ๊ณณ์ ๋ชจ์ ์ ๊ณตํ๋ ๊ฐ์ฒด. ์คํ ์ปจํ ์คํธ์ ํ์ 3๊ฐ์ง > 1. Global execution context (GEC) ๋ธ๋ผ์ฐ์ ์์ ํ์ผ์ด ์ฒ์ ๋ก๋๋๊ณ JS ์ฝ๋๊ฐ ์คํ์ ์์ํ๋ defualt execution context์ด๋ค. 2. Functional execution context (FEC) ํจ์ ์คํ ์ปจํ ์คํธ๋ ํจ์ ํธ์ถ์ ์ฐพ์ ๋๋ง๋ค JS ์์ง์ ์ํด ์์ฑ๋ ์ปจํ ์คํธ๋ก ์ ์๋ฉ๋๋ค. ๊ฐ ํจ์๋ ๊ณ ์ ํ ์คํ ์ปจํ ์คํธ๋ฅผ ๊ฐ์ง๋๋ค. 3. Eval Execution context inside eval function. ์ฐธ๊ณ
๋ฐฑ์๋ ๊ฐ๋ฐ์ ํ๋ฉด์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ๋ชจ๋ฅด๊ณ ๊ฐ๋ฐ์ ํ๊ฒ๋๋ค๋ฉด Error๋ฅผ ํด๊ฒฐํ๋ ๋ฅ๋ ฅ์ ๊ฐ์ง ๋ชปํ๊ฒ ๋๋ค๋ ์๊ฐ์ด ๋ ๋ค. ๋ ธ๋์์ ๋ค๋ฃจ๋ ๋น๋๊ธฐ ํจ์๋ค์ ๋ํด ๊ณต๋ถํ๊ธฐ ์ ์, ๋จผ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋์ ์๋ฆฌ๋ถํฐ ์์๋ณด์. ๐ก์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ(Synchronous)์ธ๊ฐ ๋น๋๊ธฐ(Asynchronous)์ธ๊ฐ? ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ์ ์ธ์ด์ธ๊ฐ? ๊ทธ๋ ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ์ ์ธ์ด์ด๋ค. ๋๊ธฐ๋ ํ ์์ ์ด ์คํ๋๋ ๋์ ๋ค๋ฅธ ์์ ์ ๋ฉ์ถ ์ํ๋ก ์ ์งํ๋ฉฐ ์์ ์ ์ฐจ๋ก๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด๋ค. ๋น๋๊ธฐ๋ ๋ฌด์์ธ๊ฐ? ๋น๋๊ธฐ๋ ์ด๋ ํ ์์ฒญ์ ๋ณด๋ด๋ฉด ๊ทธ ์์ฒญ์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ, ์๋ต์ ๊ด๊ณ์์ด ๋ฐ๋ก ๋ค์ ๋์์ด ์คํ๋๋ ๋ฐฉ์์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ์์ธ๋ฐ ์ด๋ป๊ฒ ์ฌ๋ฌ ์ด๋ฒคํธ๋ค์ ๋์์ ๋์ํ ์ ์๋๊ฐ? ๋ฐ๋ก ์๋ฐ์คํฌ๋ฆฝํธ์ ์คํ ํ๊ฒฝ, ์ฆ Runtime ๊ณผ ๊ด๋ จ์ด ์๋ค. ๋ธ๋ผ์ฐ์ ์์์ ์๋ฐ์คํฌ๋ฆฝํธ ์คํ ํ๊ฒฝ(Runtime
๐ TIL >Node.js๋ฅผ ๋ฐฐ์ธ์๋ก ๋๊ธฐ/๋น๋๊ธฐ ํน์ฑ์ ๋ํด ๊ณ ๋ฏผํ๋ ํ์๊ฐ ๋์ด๋์ ์ ๋ฆฌํ๋ ์๊ฐ์ ๊ฐ์ก๋ค. ๐Event loop Event loop ๋์์๋ฆฌ JS ์ปจํผ๋ฐ์ค์์ ๋ฐํํ ๋ด์ฉ์ธ๋ฐ ์ ๋ฆฌ๊ฐ ๊ธฐ๊ฐ๋งํ๋ค.. ๊น๋จน์ผ๋ฉด ๋ ๋ฃ์ https://www.youtube.com/watch?v=8aGhZQkoFbQ MDN ๋์์ฑ ๋ชจ๋ธ๊ณผ ์ด๋ฒคํธ ๋ฃจํ https://developer.mozilla.org/ko/docs/Web/JavaScript/EventLoop Javascript๋ ์ฑ๊ธ์ค๋ ๋์ ํน์ฑ์ ๊ฐ์ง๊ณ ์๋๊ฐ? ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ฑ๊ธ์ค๋ ๋๋ก ๋์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฒคํธ ๋ฃจํ์ ๊ธฐ๋ฐํ์ฌ ๋น๋๊ธฐ ์์ ์ ์ํํ ์ ์๋ค. ์ฆ ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ์ด์ฉํ์ฌ ๋น๋๊ธฐ ๋ฐฉ์์ ์ง์ํ๋ค. ์ด๋ป๊ฒ ๋น๋๊ธฐ ์์ ์ ์ํํ ์ ์์๊น? ์ฌ์ค ๋น๋๊ธฐ๋ก ์ํ๋๋ ํจ์๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด ์์ฒด์์ ์ ๊ณต๋๋ ๊ฒ์ด ์๋๋ค. Web API๋ ๋ธ๋ผ์ฐ์ ์์ฒด์์ ์ง์ํ๋ A
๐TIL ์์ ์ TIL์ ์์ฑํ๋ ค๊ณ ํ๋๊ฐ? ํญํด99 ๋ผ๋ ๋ถํธ์บ ํ๋ฅผ ์์ํ๊ณ ์ด์ 4์ฃผ์ฐจ๊ฐ ๋๋ฌ๋ค. 4์ฃผ ๋์ ๋ฐฐ์ด ๊ฒ๋ค์ ์ ๋ฆฌํ๊ธฐ ์ํด Notion๋ ๋ง๋ค์ด๋ณด๊ณ Tistory๋ ๋ง๋ค์ด๋ณด์์ง๋ง ์๊ฐ์ฒ๋ผ '์ ๋ฆฌ'๊ฐ ๋์ง ์์๋ค. ๋ด๊ฐ ์ด ๊ธ์ด ์๋๋ผ ์ฌ๊ธฐ์ ๊ธฐ์ ์๋ฃ๋ฅผ ๊ธ์ด๋ชจ์ ๋น ์กฐ์ ๊ฐ์ด๊ตฌ๋ฅผ ๋ง๋ ๋๋์ด์๋ค. ๊ทธ๋ ๊ธฐ์ ๋ณด๊ธฐ์๋ง ์ข์๊ธ, ๋๊ตฐ๊ฐ์๊ฒ ๋ณด์ฌ์ค์ผํ๋ ๊ธ์ด ์๋๋ผ ๋ด๊ฐ ์ ๋ง ๋ฐฐ์ด ๊ฒ๋ค, ์ดํดํ ๊ฒ๋ค์ ๊ธฐ๋กํ๊ธฐ ์ํด์๋ง ๋จ๊ธธ ํ์๊ธฐ์ TIL์ ์ง์คํ๋ คํ๋ค. TIL ์์ฑ ๊ท์น ๊ตฌ์ฒด์ ์ธ ํ์ต๋ด์ฉ ๋ด๊ฐ ์๋ก ๋ฌด์์ ๋ฐฐ์ ๋์ง ๋จ์๊ฒ ์ค๋ช ํด์ค ์ ์๋ ์ ๋๋ก ์ดํด ํ๋ฃจ์ ํ๋ ์ต๊ด ๊ธฐ๋ฅด๊ธฐ - ์๋ฏธ์๋ ๊ธ์ด๋ผ๋ ์์ฑํด์ผ ์ต๊ด์ด ๋๋ค. ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋๋์ง ์๊ธฐ ์ด๊ฒ์ ๊ฒ ๋ฐฐ์ฐ๋ ์ค์ด๋ค. ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋๋๋ฉด ์์ฑํ ๊ฒ์ด ๋ง์์ ธ ๋ถ๋ด์ผ๋ก ๋์์จ๋ค. ์ฐ์ TIL ํฌ์คํธ์ ์์ฑํ์. **์ฐธ๊ณ ํ ๊ธ/์์/๋ฌธ์๋ฅผ