Input + Output = True
ํญํด99 - 3์ฃผ์ฐจ (์๊ณ ๋ฆฌ์ฆ && ์ฃผํน๊ธฐ ๊ธฐ์ด[React]) ๋ณธ๋ฌธ
ํญํด99 - 3์ฃผ์ฐจ (์๊ณ ๋ฆฌ์ฆ && ์ฃผํน๊ธฐ ๊ธฐ์ด[React])
IOTrue 2022. 12. 25. 16:14ํญํด99 - 3์ฃผ์ฐจ ํ๊ณ ๋ก ๊ฐ๋ณด์๊ณ !
์ค๋์ ํฌ๋ฆฌ์ค๋ง์ค๋ค!!! (์ฌํด๋ ์ผ๋น์ ๋ชป ๋ดค๋ค!!!๐)
ํฌ๋ฆฌ์ค๋ง์ค์๋ ๊ณต๋ถ๋ ๊ณ์ ํด์ผ์ฅฌ?
์ด๋ฒ ์ฃผ๋ ์๊ณ ๋ฆฌ์ฆ ์ฃผ์ฐจ๊ฐ ๋๋๊ณ ,
์ฃผํน๊ธฐ ๊ธฐ์ด(๋ฆฌ์กํธ)๊ฐ ์์๋๋ค.
์๊ณ ๋ฆฌ์ฆ ์ฃผ์ฐจ์๋ ๊ฑฐ์ ๋ญ ์ผ์ฃผ์ผ ๋ด๋ด ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ง ํ์๋ค.
์ธ์์์ ์ด๋ ๊ฒ ์ผ์ฃผ์ผ ๋ด๋ด ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ง ํธ๋ ๋ ์ด ์ผ๋ง๋ ์์๊น ์ถ๋ค.
์๊ณ ๋ฆฌ์ฆ ์ฃผ์ฐจ๋ฅผ ์งํํ๋ฉด์ ๋ฌธ์ ํด๊ฒฐ๋ฅ๋ ฅ์ด ๋ง์ด ๋์๋ค๊ณ ์๊ฐํ๋ค.
์ฃผ์ฐจ๊ฐ ์งํ๋ ์๋ก ๋ด ์ฝ๋์์ ๋ ธ๊ฐ๋ค ์ฑ์ด ์กฐ๊ธ์ฉ ์ ์ด์ง๋ ๊ฒ์ ๋๊ผ๊ธฐ ๋๋ฌธ์ด๋ค!๐
์๊ณ ๋ฆฌ์ฆ ์ฃผ์ฐจ ๋ง์ง๋ง ๋ ์๋ ํ ์คํธ๋ฅผ ๋ดค๋๋ฐ, ๋ฌด์ฌํ ํต๊ณผํ ๊ฒ ๊ฐ๋ค ๐
๊ทธ๋ฆฌ๊ณ ์ฃผํน๊ธฐ ๊ธฐ์ด(๋ฆฌ์กํธ)์ฃผ์ฐจ๊ฐ ์์๋๊ณ
๋ฆฌ์กํธ ๋ฌธ๋ฒ์ ์์ง๊น์ง ๋ฏ์ค์ง๋ง, ์ต์ํด์ง๋ฉด ์ฌ๋ฐ์ ๋ฌธ๋ฒ ๊ฐ๋ค.
๋ฌด์ธ๊ฐ๋ฅผ ์ฒ์๋ณด๊ณ ์ด๋ ต๋ค ๋๋ผ๋ ๊ฑด ๋น์ฐํ ๋๋์ด๊ณ , ๊ทธ๊ฑด ์ต์ํ์ง ์์์ ๋๋ผ๋ ๊ธฐ๋ถ์ผ ๊ฒ์ด๋ค.
์ต์ํด์ง๋ ๊น์ง ๊ณ์ ํ๋ค๋ณด๋ฉด ์ต์ํด์ง๊ณ ์ฌ๋ฐ์ด์ง๊ฒ ์ง!
๋น์ฐํ ์ด๋ฒ ์ฃผ์ฐจ๋ ๊ณผ์ ๊ฐ ์๊ณ , ์ง๊ธ์ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ก UI ๊ตฌ์ฑ๊น์ง ์๋ฃํ ์ํ์ธ๋ฐ
ํด๋ณด๋๊น ์ฌ๋ฏธ์๋ค. ์ญ์ ํ๋ก ํธ๋ ๋๋๋ฆฌ ์ฌ๋ฐ๋ ๊ฒ!
์ผ๋ฅธ ์์ฑํด์ผ์ฅ~~~๐
๊ทธ๋ฆฌ๊ณ ์ด๋ฒ ์ฃผ์ฐจ ํ๊ณ ์ผ์ง ์์ฑ์ ๊ผญ ํ์ํ ํค์๋๊ฐ ์์ด์
์๋์ ์ ๋ฆฌํด๋ณด๊ฒ ๋ค.
๐ ์ฝ๋ฐฑํจ์, HTTP
*์ฝ๋ฐฑํจ์
์ฝ๋ฐฑํจ์(Callback Function)
ํ๋ผ๋ฏธํฐ๋ก ํจ์๋ฅผ ์ ๋ฌํ๋ ํจ์
์๋ฅผ ๋ค๋ฉด forEach, map, filter ๋ฑ์ด ์๋ค.
const number = [1, 2, 3, 4, 5];
//forEach
number.forEach(x => { //forEachํจ์ ๋ด๋ถ์ ์ต๋ช
ํจ์๋ฅผ ๋ฃ์ด์ ์คํํ๋ค
console.log(x * 2);
});
//map
number.map(v => v + 2) //mapํจ์ ๋ด๋ถ์ ์ต๋ช
ํจ์๋ฅผ ๋ฃ์ด์ ์คํํ๋ค
์ฝ๋ฐฑํจ์ ์ฌ์ฉ์๋ ๊ท์น์ด ์๋ค
*์ต๋ช ํจ์ ์ฌ์ฉ
์์ ์์ ์ฒ๋ผ ์ฝ๋ฐฑํจ์๋ ์ด๋ฆ์ด ์๋ '์ต๋ช ํจ์'๋ฅผ ์ฌ์ฉํ๋ค.
ํจ์์ ๋ด๋ถ์์ ์คํ๋๊ธฐ ๋๋ฌธ์ ์ด๋ฆ์ ๋ถ์ด์ง ์์๋ ๋๋ค.
*ํจ์์ ์ด๋ฆ๋ง ์ ๋ฌ
ํจ์๋ฅผ ์ธ์๋ก ์ฌ์ฉํ ๋๋ ()๋ฅผ ๋ถ์ด์ง ์๊ณ ์ด๋ฆ๋ง ์ ๋ฌํ๋ฉด ๋๋ค.
function ok() {
console.log("ok")
}
function no() {
console.log("no")
}
function callbackTest(value, ok, no) {
if (value === true) {
ok()
} else {
no()
}
}
callbackTest(true, ok, no) //์ธ์๋ก ํจ์์ ์ด๋ฆ๋ง ์ ๋ฌ
callbackTest(false, ok, no) //์ธ์๋ก ํจ์์ ์ด๋ฆ๋ง ์ ๋ฌ
*HTTP
HTTP (Hyper Text Transfer Protocol)
์ธํฐ๋ท์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ
์น ๊ฐ๋ฐํ ๋ ํ์ํ HTTP ์ ์ง์์ [ํฌ๋กฌ ๊ฐ๋ฐ์๋๊ตฌ์ ๋คํธ์ํฌ ํญ๋ชฉ]์ ์ดํดํ ์ ์์ ์ ๋๋ฉด ๋๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์๋ก ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํต์ ํ๊ณ
๋ณดํต ๋ธ๋ผ์ฐ์ ์ธ ํด๋ผ์ด์ธํธ์ ์ํด ์ ์ก๋๋ ๋ฉ์์ง๋ฅผ ์์ฒญ(requests)์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ,
๊ทธ์ ๋ํด ์๋ฒ์์ ์๋ต์ผ๋ก ์ ์ก๋๋ ๋ฉ์์ง๋ฅผ ์๋ต(responses)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
*HTTP ๋ฉ์์ง์ ๊ตฌ์ฑ
-์์์ค : ๋ฉ์๋ ๊ตฌ์กฐ ๋ฒ์ ์ผ๋ก ๊ตฌ์ฑ [์) GET / HTTP/1.1]
-ํค๋ : ๋๋ฒ์งธ ์ค๋ถํฐ ํค๋์ด๋ฉฐ ์์ฒญ์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค.
User-Agent, Upgrade-Insecure-Requests ๋ฑ ํค๋์ ์ข ๋ฅ๋ ๋ง๋ค.
-๋ณธ๋ฌธ : ์ค์ ๋ก ์ฃผ๊ณ ๋ฐ์ ์ปจํ ์ธ ๊ฐ ๋ด๊ฒจ์๋ค.
*HTTP๋ ๋น์ฐ๊ฒฐ์ฑ ํ๋กํ ์ฝ์ด๋ค.
-HTTP์ ํต์ฌ์ ์ํ๊ฐ ์๋ ๊ฒ์ด์ง๋ง HTTP ์ฟ ํค๋ ์ํ๊ฐ ์๋ ์ธ์ ์ ๋ง๋ค๋๋ก ํด์ค๋ค.
-HTTP๋ ๋น์ฐ๊ฒฐ์ฑ ํ๋กํ ์ฝ์ด๋ค. ์ด๋ฌํ ๋จ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด Cookie์ Session์ด ์๋ค
*HTTP์ ์ํ์ฝ๋
์ธํฐ๋ท์ ํ๋ค๋ณด๋ฉด 404 Not Found Error, 500 Internal Server Error ๋ฑ์ ๋ณผ ์ ์๋๋ฐ
์ด๋ฌํ ๊ฒ๋ค์ด ์ํ ์ฝ๋์ด๋ค.
1XX ์ ๋ณด
100์ ์๋ฒ๊ฐ ์์ฒญ์ ์ผ๋ถ๋ฅผ ๋ฐ์์ผ๋ฉฐ, ๋๋จธ์ง ์์ฒญ์ ๋ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ค๋ ์๋ฏธ.
2XX ์ฑ๊ณต
200์ ํต์ ์ ์ฑ๊ณต์ ์๋ฏธ.
3XX ๋ฆฌ๋ค์ด๋ ์
300๋ฒ๋๋ ํ์ด์ง๋ฅผ ์ด๋ ์ํฌ ๋ ์ฌ์ฉ.
4XX ํด๋ผ์ด์ธํธ ์ค๋ฅ
400์ ์๋ฒ๊ฐ ์์ฒญ์ ์ดํดํ์ง ๋ชป ํ ๊ฒฝ์ฐ ๋ฐ์.
5XX ์๋ฒ ์ค๋ฅ
์์ฒญ์ ์ ๋๋ก ์ ์ก๋์์ง๋ง ์๋ฒ๊ฐ ์ฒ๋ฆฌํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ ๋ฐ์.
์ธ๋ถ์ ์ผ๋ก ๋ ๋ง์ ์ํ์ฝ๋๊ฐ ์๊ณ , ์ถ๊ฐ ๋ด์ฉ์ ์ถํ ๊ฒ์๊ธ์ ๋ฐ๋ก ์์ฑํ๊ฒ ์ต๋๋ค!
*HTTP ๋ฉ์๋
GET(์์ฒญ), POST(์์ฑ), PUT(์์ ), DELETE(์ญ์ )
์ด์ธ์๋ HTTP์ ๊ดํ ๋ด์ฉ์ ์ ๋ง ๋ฐฉ๋ํ๊ธฐ์
MDN ๊ณต์ ๋งํฌ๋ฅผ ๋จ๊ธด๋ค.
https://developer.mozilla.org/ko/docs/Web/HTTP/Overview
๐ JavaScript์ ES๋?, ES5/ES6 ๋ฌธ๋ฒ ์ฐจ์ด
์ด ๋ด์ฉ์ ์ง๋ ํ๊ณ ๋ก์์ ์ ๋ฆฌํ๊ธฐ์ ์ ๋ฆฌ ๊ธ ๋งํฌ๋ฅผ ๋จ๊ธด๋ค.
์์ฝ: ๋ณ์์ ์ธ/ ํ ํ๋ฆฟ ๋ฆฌํฐ๋ด/ ํ์ดํ ํจ์/ Default parameter ๋ฑ ๋ฌธ๋ฒ ์ถ๊ฐ
์์ธํ ์ ๋ฆฌํด ๋จ์ผ๋ ๊ผญ ์ฝ์ด๋ณด๊ธธ ๋ฐ๋๋ค.
ํญํด99 - 2์ฃผ ์ฐจ ํ๊ณ ํ์คํ ํ๋ก์ ํธ && ์ธ์ด ๊ธฐ๋ณธ๊ธฐ[javascript]
ํญํด99 - 2์ฃผ ์ฐจ ํ๊ณ (ํ์คํ ํ๋ก์ ํธ && ์ธ์ด ๊ธฐ๋ณธ๊ธฐ[javascript]) ํญํด99๋ฅผ ์์ํ๊ณ ๋ฒ์จ 2์ฃผ ์ฐจ๊ฐ ๋๋ ์ผ์์ผ์ด๋ค! ๋ค์ ์ฃผ๊ฐ ๋ฒ์จ ํฌ๋ฆฌ์ค๋ง์ค๋ผ๋!!!๐โ๐ +3์ฃผ์ฐจ ์๊ณ ๋ฆฌ์ฆ ์ฃผ์ฐจ๊ฐ ์งํ ์ค์ด
iotrue.tistory.com
ํฌ๋ฆฌ์ค๋ง์ค์๋ ๋์์ ์ด๊ณตํ๋ ์ฐ๋ฆฌ ๋๊ธฐ๋ถ๋ค ์์ํฉ๋๋ค!
์ฌํด๋ ์ด๋ ๊ฒ ์ด๊ณตํด์ ๋ด๋ ํฌ๋ฆฌ์ค๋ง์ค๋ ์กฐ๊ธ ๋ ์ฌ๋ฐ๊ฒ ๋ณด๋ด๋ณด์๊ตฌ์!
๋ชจ๋ ๋ฉ๋ฆฌํฌ๋ฆฌ์ค๋ง์ค~~~๐โ๐
'๐๊ฐ๋ฐ ์ผ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํญํด99 - 5์ฃผ์ฐจ] ์ฃผํน๊ธฐ ์๋ จ - React (0) | 2023.01.08 |
---|---|
[ํญํด99 - 4์ฃผ์ฐจ] ์ฃผํน๊ธฐ ๊ธฐ์ด - React (1) | 2023.01.01 |
ํญํด99 - 2์ฃผ ์ฐจ ํ๊ณ ํ์คํ ํ๋ก์ ํธ && ์ธ์ด ๊ธฐ๋ณธ๊ธฐ[javascript] (0) | 2022.12.18 |
ํญํด 1์ฃผ์ฐจ - ํ์คํ ๋ฏธ๋ ํ๋ก์ ํธ (API, JWT) (0) | 2022.12.11 |
ํญํด99 ์ ํ ์ํ (2) | 2022.12.08 |