[week_06] Node.js ๊ธฐ์ด | Node.js์ ์ดํด, ํน์ง, ES6, ๋น๋๊ธฐ ์ฝ๋ฉ, ์ด๋ฒคํธ ๋ฃจํ
1. Node.js๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด๋ ํ๊ฒฝ์์๋ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ์คํ๊ธฐ Browser์ JavaScript ๋ธ๋ผ์ฐ์ ์์ ์คํ ์น ๋ด๋ถ์ ์ ํ๋ ๋์ ์น ํ๋ก ํธ ๊ฐ๋ฐ์์ ์ธ์ด Node.js ํฌ๋ก์ค ํ๋ซํผ ์คํ (์ด๋ ํ๊ฒฝ์์๋ ์คํ ๊ฐ๋ฅ) ์ ํ ์๋ ๋์ ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ 2. Node.js์ ํน์ง ์ฑ๊ธ ์ฐ๋ ๋ - ๋น๋๊ธฐ - ์ด๋ฒคํธ ๊ธฐ๋ฐ 2-1. ์ฑ๊ธ ์ฐ๋ ๋ ์ฐ๋ ๋(Thread): ๋ช ๋ น์ ์คํํ๋ ๋จ์, ํ ๊ฐ์ ์ฐ๋ ๋๋ ํ ๋ฒ์ ํ ๊ฐ์ง ๋์๋ง ์คํ ๊ฐ๋ฅ ์ฑ๊ธ ์ฐ๋ ๋: ํ ๋ฒ์ ํ ๊ฐ์ง ๋์๋ง ์ํํจ ๋ฉํฐ ์ฐ๋ ๋: ๋์์ ์ฌ๋ฌ ๋์ ์ํ ๊ฐ๋ฅ ์ฅ์ ์ฐ๋ ๋ ์์ฑ ๋น์ฉ์ด ์๋ค ์ฐ๋ ๋๊ฐ ๋์ด๋์ง ์๊ธฐ ๋๋ฌธ์ CPU ๋ฆฌ์์ค ๊ด๋ฆฌ์ ํจ์จ์ ๋จ์ ์ฐ๋ ๋ ๊ธฐ๋ฐ์ ์์ ๋ค์ ํจ์จ์ด ๋จ์ด์ง ex) CPU..
[CS] local storage vs session storage vs cookie
local storage, session storage ๊ทธ๋ฆฌ๊ณ cookie๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ ์์์ key/value ์์ ์ ์ฅํ ์ ์๋ ๋ฉ์ปค๋์ฆ์ผ๋ก, value๋ ๋ฐ๋์ ๋ฌธ์์ด์ด์ด์ผ ํ๋ค. ๋ํ, ๋ชจ๋ ๋์ผ ์ถ์ฒ ์ ์ฑ (SOP)์ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋๋ฉ์ธ์์ ์ ๊ทผํ ์ ์๋ค. ๋์ผ ์ถ์ฒ ์ ์ฑ (Same-Origin Policy) ์ด๋ ํ ๋ฌธ์๋ ์คํฌ๋ฆฝํธ๊ฐ ๋ค๋ฅธ ํ๋กํ ์ฝ/ํฌํธ/ํธ์คํธ์ ์๋ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํํ๋ ์ ์ฑ ์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ ์ฌ์ดํธ์์ ๋ฆฌ์์ค๋ฅผ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์์ฒญํ๋ค๊ณ ํ์. http://website.com/ex/ex.html ๊ทธ๋ฌ๋ฉด ๋ฆฌ์์ค ์์ฒญ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ๋ค. 1๏ธโฃ http://website.com/ex/ ๐ ์ฑ๊ณต 2๏ธโฃ http://website.com/ex1/ ๐ ์ฑ..
[CS] data- ์์ฑ
DOM์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ์์ฑ data- ๋ค์์ ์ค๋ ๊ฐ์ด ๋ฐ์ดํฐ๊ฐ ๋๋ค. ์ฌ์ฉํ๊ณ ์ ํ๋ ์ฉ๋์ ์ ํฉํ ์์ฑ์ด๋ ์์๊ฐ ์์ ๋ ์ฌ์ฉ ํด๋น ์นํ์ด์ง๊ฐ ๋ ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฐ ์ฆ, ์นํ์ด์ง์ ๋ ๋ฆฝ์ ์ธ ์ํํธ์จ์ด๊ฐ ์ด ์์ฑ์ ์ฌ์ฉํด์๋ ์๋๋ค. ์๋ฅผ ๋ค์ด, ์์ ์ฌ์ดํธ์์ ์จ๋ฒ ํธ๋์ ์์ ์ ๋ฆฌ์คํธ ํ์์ผ๋ก ๋ํ๋ด๋๋ฐ ๊ทธ๊ฑธ ์๊ฐ ์์ผ๋ก ์ ๋ ฌํ๊ธฐ ์ํด์ data- ์์ฑ์ผ๋ก ์์ ์๊ฐ์ ์ฝ์ ํ๋ค๊ณ ํ์. ๋นจ๊ฐ๋ง ... ๋ง์ฝ ์ด ์์ ์ฌ์ดํธ์ ์ ํ ์๊ด์ด ์๋ ์ธ๋ถ์์ ์์ ์๊ฐ์ ์์๋ด๊ธฐ ์ํด ์ฌ์ฉํ๋ค๋ฉด ๋ชฉ์ ์ ๋ถํฉํ์ง ์๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์, data- ์์ฑ์ ํด๋น ์ฌ์ดํธ๋ง์ ์์ฒด ์คํฌ๋ฆฝํธ๋ฅผ ์ํ ์์ฑ์ด๋ผ๊ณ ํ ์ ์๋ค. ์ข ๋ ์์ธํ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ฌ๊ธฐ์ ์ ๋ฆฌํด๋์๋ค. ์ฐธ๊ณ http..
[week_05] async/await๊ณผ API
1. async/await Promise๋ฅผ ํ์ฉํ ๋น๋๊ธฐ ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ๋ ๋ฌธ๋ฒ async/await ๋ฌธ๋ฒ์ผ๋ก ๋น๋๊ธฐ ์ฝ๋๋ฅผ ๋๊ธฐ ์ฝ๋์ฒ๋ผ ๊ฐ๊ฒฐํ๊ฒ ์์ฑ ๊ฐ๋ฅ await ํค์๋๋ ๋ฐ๋์ async ํจ์ ์์์๋ง ์ฌ์ฉํด์ผ ํจ async๋ก ์ ์ธ๋ ํจ์๋ ๋ฐ๋์ Promise๋ฅผ ๋ฆฌํด async function asyncFunc() { let data = await fetchData(); let user = await; fetchUser(data); return user; } async ํจ์๋ function ํค์๋ ์์ async๋ฅผ ๋ถ์ฌ ๋ง๋ ๋ค. fetchData, fetchUser๋ Promise๋ฅผ ๋ฆฌํด! await ํค์๋๋ then ๋ฉ์๋ ์ฒด์ธ์ ์ฐ๊ฒฐํ ๊ฒ์ฒ๋ผ ์์๋๋ก ๋์ async functio..
[week_05] ๋น๋๊ธฐ ํต์ ๊ณผ Promise
1. ์๋ฐ์คํฌ๋ฆฝํธ ์ ์ด ํ๋ฆ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ค๋ฅธ ๋ฉํฐ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋น๋๊ธฐ ๋์์ ์ฒ๋ฆฌํ๋ค. ํน์ ์ฝ๋์ ์ฐ์ฐ์ด ๋๋ ๋๊น์ง ์ฝ๋์ ์คํ์ ๋ฉ์ถ์ง ์๊ณ ๋ค์ ์ฝ๋๋ฅผ ๋จผ์ ์คํ console.log('1'); setTimeout(() => {console.log('2');}, 1000); console.log('3'); ๋ค๋ฅธ ๋ฉํฐ์ค๋ ๋ ์ธ์ด์์์ ๊ฒฐ๊ณผ: '1'์ถ๋ ฅ → 1์ด ํ '2' ์ถ๋ ฅ → '3'์ถ๋ ฅ ์๋ฐ์คํฌ๋ฆฝํธ์์์ ๊ฒฐ๊ณผ: '1'์ถ๋ ฅ → '3'์ถ๋ ฅ → 1์ด ํ '2' ์ถ๋ ฅ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง ํ๋์ ๋ฉ์ธ ์ค๋ ๋๋ก ๊ตฌ์ฑ (์ฆ, ๋จ ํ๋์ Call stack์ ์ฌ์ฉ) ๋ฉ์ธ ์ค๋ ๋๋ ์ฝ๋๋ฅผ ์ฝ์ด ํ ์ค์ฉ ์คํ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์๋ ์ ์ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ํ๋ฉด์ ๊ทธ๋ฆฐ๋ค 1-1. ๋๊ธฐ์ ์ ์ด..
[DB] HTTP Method | GET, POST
0. HTTP Method ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ์ด๋ฃจ์ด์ง๋ ์์ฒญ(Request)๊ณผ ์๋ต(Response) ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋ฐฉ์ ํด๋ผ์ด์ธํธ๊ฐ ์น ์๋ฒ์๊ฒ ์ฌ์ฉ์ ์์ฒญ์ ๋ชฉ์ ์ด๋ ์ข ๋ฅ๋ฅผ ์๋ฆฌ๋ ์๋จ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, CONNECT 1. GET ํด๋ผ์ด์ธํธ โก ์๋ฒ ์ด๋ ํ ๋ฆฌ์์ค๋ก๋ถํฐ ์ ๋ณด๋ฅผ ์์ฒญํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฉ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋(Read), ๊ฒ์(Retrieve)ํ ๋ ์ฌ์ฉ URL Parameter๋ฅผ ํตํด ์ ๋ณด๋ฅผ ๋๊ธฐ๋ ๋ฐฉ์ ์์ฒญ ์ ์กํ ๋, URL ์ฃผ์ ๋ค์ ์ด๋ฆ๊ณผ ๊ฐ์ด ๊ฒฐํฉ๋ ์ฟผ๋ฆฌ ์คํธ๋ง(query string)์ ํฌํจ www.example-url.com/resources?name1=value1&name..
[DB] ์น ์๋ฒ(Web Server)์ WAS(Web Application Server)
1. Static Pages์ Dynamic Pages Static Pages ์๋ฒ์ ๋ฏธ๋ฆฌ ์ ์ฅ๋ ํ์ผ(HTML, CSS, JS, ์ด๋ฏธ์ง ๋ฑ)์ด ๊ทธ๋๋ก ์ ๋ฌ๋๋ ์น ํ์ด์ง ์๋ฒ๋ ์ฌ์ฉ์์ ์์ฒญ์ ํด๋นํ๋ ์ ์ฅ๋ ์น ํ์ด์ง๋ฅผ ๋ณด๋ธ๋ค. ์ด๋ค ์ฌ์ฉ์์ ์์ฒญ์ด๋ ํญ์ ๋์ผํ ์ปจํ ์ธ ๋ฐํ Dynamic Pages ์๋ฒ์ ์๋ ๋ฐ์ดํฐ๋ค์ ์คํฌ๋ฆฝํธ์ ์ํด ๊ฐ๊ณต์ฒ๋ฆฌํ ํ ์์ฑ๋์ด ์ ๋ฌ๋๋ ์น ํ์ด์ง ์๋ฒ๋ ์ฌ์ฉ์์ ์์ฒญ์ ํด์ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ ํ ์์ฑ๋๋ ์น ํ์ด์ง๋ฅผ ๋ณด๋ธ๋ค. ์์ฒญ ์ธ์์ ๋ฐ๋ผ ๋ฐ๋ ์ ์๋ ์ปจํ ์ธ 2. ์น ์๋ฒ(Web Server) HTTP ํ๋กํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์๋น์ค ์น ๋ธ๋ผ์ฐ์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ HTTP ์์ฒญ(request)์ ๋ฐ์ ์ ์ ์ธ ์ปจํ ์ธ (.html .jpeg .css ..
[JavaScript30] 7. Array Cardio Practice (2) | .some(), .every(), .find() and [...SPREADS]
๐ ์๊ตฌ์ฌํญ ์ฃผ์ด์ง data๋ค์ ๊ฐ์ง๊ณ , ์กฐ๊ฑด์ ๋ง๋ ๊ฒฐ๊ด๊ฐ์ console ์ฐฝ์ ๋์ด๋ค. ๐ป ์์ค์ฝ๋ ๋จผ์ , ์ฃผ์ด์ง data๋ ๋ค์๊ณผ ๊ฐ๋ค. const people = [ { name: 'Wes', year: 1988 }, { name: 'Kait', year: 1986 }, { name: 'Irv', year: 1970 }, { name: 'Lux', year: 2015 } ] const comments = [ { text: 'Love this!', id: 523423 }, { text: 'Super good', id: 823423 }, { text: 'You are the best', id: 2039842 }, { text: 'Ramen is my fav food ever', id: 123523 }..