๊ฐ๋ฐ์๊ฐ ๋๊ธฐ ์ํด์ ๋ฌด์์ ์ค๋น ํ ์ง์ ๋ํด์ ์กฐ์ฌํด๋ณธ ์ฌ๋์ ๊ฐ๋ฐ์ ๋ก๋๋งต์ด๋ผ๋ ๊ฑธ ํ๋ฒ ์ฏค ๋ดค์ ๊ฒ์ด๋ค. ์๋ ์ ๋ช ํด์ ์ค๋ช ์ ์๋ตํ๊ณ ๋์ถฉ ํ๋ก ํธ์๋์ ๋ฐฑ์๋ ํ์ต ์ปค๋ฆฌํ๋ผ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
ํ๋ ์ด์๊ฐ ๋ ์ฌ๊ฑด์ด 2017๋ ์์ 2018๋ ๋ ํ๋ก ํธ์๋ ๋ก๋๋งต์์ ์ ์ด์ฟผ๋ฆฌ๊ฐ ๋น ์ง ์ผ์ด๋ค.
์ด๋ฅผ ๋๊ณ ๊ฐ๋ก ์๋ฐ์ด ์ผ์ด๋ฌ๋ค. ์ ์ด์ฟผ๋ฆฌ๋ ์ด์ ํ๋ฌผ ๊ฐ์ผ๋ ๋ฐฐ์ฐ์ง ๋ง์์ผํ๋ ๊ทธ๋๋ ์์ง์ ๋ฐฐ์์ผํ๋ ๋ฑ๋ฑ...
(2020, 2021๋ ๋ฒ์ ๋ํ ๋น ์ ธ์๋ค)
์ฌ์ค ์ด ๋ฌธ์ ๋ ์ ๋ต์ ์์ง๋ง reactJS, vueJS ์ ๊ฐ์ SPA๋ฅผ ๊ณต๋ถํ๋ค๋ฉด ํ๋ฒ์ฏค ์๊ฐ ํด๋ณผ ๋งํ๋ค.
์ต๊ทผ์ 'DOM์ ๊นจ์ฐ์น๋ค'๋ผ๋ ์ฑ ์ ๊ณต๋ถํ๊ฒ ๋๋ฉด์ ๊ธ๋ก ๋จ๊ฒจ ๋ณด๋ฉด ์ข์ ๊ฑฐ ๊ฐ์ ๋์ ์ฌ ๋ณด์๋ค.
DOM ์ด์ผ ์๋จ ๊ฐ๋ฐ์ ํด๋ณด์ ๋ถ์ด๋ผ๋ฉด ํ๋ฒ์ฏค์ ๋ค์ด๋ดค์ ๊ฒ์ด๋ค. ์น์์ ์์ฃผ ์ค์ํ ๋ ์์ด๋ค.
Document Object Model ์ ์ฝ์๋ก ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ์ผ๋ก ๋ฒ์ญ์ด ๋๋ค. ์ฌ์ ์ ์ ์๋ ๊ฐ์คํ๊ณ ๋์ฒด ์ด๋ ์์ด ํ๋ ์ญํ ์ด ๋ญ๊น ?
๋น์ฐํ ๊ฒ์ ์๋ฌธ์ ๊ฐ์ ธ๋ณด์. ์ฐ๋ฆฌ๋ ์ปดํจํฐ ์์ ์ ํ ๋ ํ์ฅ์๊ฐ ๋ค๋ฅด๋ฉด ํธํ์ด ํ๋ค๋ค๋ ๊ฑธ ์๊ณ ์๋ค.
๊ฐ๋ น ๋งฅ์์ .exe ํ์ผ์ ์ค์น ํ ์ ์๋ฏ์ด...
๋ค์ ๋์์์ ์ฐ๋ฆฌ๋ ํ์ผ๋ช .html ํ์ผ๋ช .js ํ์ผ์ ๋์ ํ์ฅ์๊ฐ ์ด๋ฉดํ ๋ค๋ฅด๋ค. ๊ทธ๋ฐ๋ฐ ์คํฌ๋ฆฝํธ๊ฐ html ์์ฑ์ ์ ๊ทผํด ๋ฌด์์ ์ ํํ๊ฑฐ๋ ์ด๋ฒคํธ๋ฅผ ๊ฑธ ์ ์๋ค. ๋น์ฐํ์ง๋ง ์๊ฐํด๋ณด๋ฉด ์ ๊ธฐํ ์ผ์ธ๋ฐ ๊ทธ ์ด์ ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ API ๋๋ฌธ์ธ๋ฐ ์ด API ์ด๋ฆ์ด DOM API๋ค.
+++)
๊ตญ๋ด์ ์ ๋ง์ ์ด๋ํฐ์ ํ๋ฌ๊ทธ ์์ฐ ํ์ฌ ์๋ค. "220V์ ์ ์, 60Hz์ ์ฃผํ์์ธ 2ํํ ์ฝ์ผํธ" ๋ผ๋ ํ์ค์ด ์๊ธฐ์ ์ฐ๋ฆฌ๋ ํ์ฌ์ ๊ด๊ณ์์ด ๊ฒฝ์ ์ฑ์ ๊ณ ๋ คํด ์ ํ์ ๊ตฌ๋งคํด์ ์ฐ๋ฉด ๋๋ค.
์ด๋ ๋ฏ API ๋ Application Programming Interface ์ฝ์๋ก ์ด๋ ํ ๊ฑธ ํ์ค์ ์ ํด์ ๋ง๋ ๋ค ๊ทธ ํ์ค์ ๋ง์ถ๋ฉด ๋๊ตฌ๋ ์ด์ฉ ๊ฐ๋ฅ ํ๋๋ก ๋ง๋ ๋ค.
๋ค์ ๋งํ๋ฉด DOM API ์์ ์ ํ ํ์ค์ด ์๊ธฐ์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๊ทธ ํ์ค์ ๋ง์ถฐ ์์ฑ์ ํ๋ฉด Document ์ฆ, html ์์ฑ์ ๋ค๋ฃฐ ์ ์๊ฒ ๋๋ค.
ํ์ง๋ง ๋ธ๋ผ์ฐ์ ์ถ์ถ์ ๊ตญ ์๋์๋ ๊ฐ ๋ธ๋ผ์ฐ์ ๋ง๋ค ํ์ค์ด ๋ฌ๋๋ค. ํนํ IE๋ ์ฐฝ์์ ์ด๋ค ์ถ์ ์ ๋๋ก ๋ ์ ๋ ธ์ ์ ํ๋ค. (๋ง์ดํฌ๋ก์ํํธ๋ ์ ํ๊ณผ ๊ฐ์ ์ฑ๊ณต์ ํ๊ธธ ๋ฐ๋ฌ๊ฒ ์ง๋ง ์์ฃผ ์์ฃผ ๋คํํ ์ต๊ทผ ๋ํฅ์ ๋ณด๋ฉด gg ์น๊ณ ํ์ค ๋ ธ์ ์ ํฉ๋ฅํ ๋ฏํ๋ค. ๊ทธ๋๋ ์ฌ์ ํ ์ด๋๊ฐ์์ ์จ์ฌ๋ ie ๊ตฌ๋ฒ์ ๋ธ๋ผ์ฐ์ ...)
์๋ฌดํผ ์ด๋ ์ ๋ฆฌ๋์ง ์์ ํ์ค ๋๋ถ์ ์คํฌ๋ฆฝํธ ์์ ์ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง์ด๋ผํ์ฌ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์ ๋ง๊ฒ ์์ ์ ํด์ฃผ๋ ์์ฃผ์์ฃผ ๋ฒ๊ฑฐ๋กญ๊ฒ ์ง์ฆ๋๊ณ ๊ฐ๋ฐ์ ์ด์ง ๋ชปํ ์ผ์ ํด์ผ ํ๋ค. ์ธ์ ๋ ๊ทธ๋ ๋ฏ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ ๊ตฌ์๊ฐ ๋ฑ์ฅํ๊ฒ ๋๋ค.
๊ณต๋๊ฐ์ฑ ๋ฌผ์ฌํ ์ ์ด์ฟผ๋ฆฌ ์ฐฝ์์ ๊ฐ ๋ ์ ํ๋...
์ด๋ ํ์ฑ๊ฐ์ด ๋ฑ์ฅํ ๋
์์ด ์ ์ด์ฟผ๋ฆฌ๋ค. ์ ์ด์ฟผ๋ฆฌ ์์ ์ฝ๋๋ฅผ ๊น๋ณด๋ฉด ๋ด๋ถ์์ ๋ธ๋ผ์ฐ์ ์ ๋ง๊ฒ ์์์ ๋์์ ํด์ค๋ค. ๊ฐ๋ฐ์๋ ๋ด๋ถ ๋์์ ๊ตณ์ด ์ ๊ฒฝ์ฐ์ง ์๊ณ ๋จ์ง ์ ์ด์ฟผ๋ฆฌ API๊ฐ ์ ์๋ ๋๋ก ์ฌ์ฉํ๊ธฐ๋ง ํ๋ฉด ๋์๋ค.
์ด๋ ๊ณณ ์์
์์ฐ์ฑ์ ์ง๋ํ ํจ์จ์ ๊ฐ์ง๊ณ ์๋ค. ๊ฒ๋ค๊ฐ ๋ฌด๋ฃ ์คํ์์ค์ด๊ธฐ์ ์์ฒญ๋ ํ์ฅ์ ์ผ์ผ์ผฐ๋ค. ๊ฑฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ณง ์ ์ด์ฟผ๋ฆฌ์ธ ์ธ์์ด์๋ค.
์ค๋งํธํฐ์ด ์ธ์์ ๋ฑ์ฅํ๋ฉด์ ์น ์์ฅ์ ํฐ ๋ณํ๊ฐ ์ผ์ด๋ฌ๋ค. ์๋ฐ๋ฅ๋งํ ์ปดํจํฐ๋ฅผ ๋๊ตฌ๋ ๊ฐ์ง๊ณ ๋ค๋๋ ์๋๊ฐ ์ด๋ ธ๋ค. ์๋น์๊ฐ ๋ชฐ๋ฆฌ๋ ์ปจํ ์ธ ๊ฐ ์์ฑ๋๊ณ ๋น์ฐํ ์์ฅ์ด ๋ณํํ๋ค. 3N ๊ฒ์ ์ ๊ณ๋ PC๊ฒ์ ํฌ์๋ฅผ ์ค์ด๊ณ ๋ชจ๋ฐ์ผ์ ํฌ์ ๋น์ค์ ๋๋ฆฌ๊ธฐ ์์์ ์ ๋๋ค. ์๋๋ก์ด๋, IOS ์ ๊ฐ์ ๋ค์ดํฐ๋ธ ์ฑ ๊ฐ๋ฐ์๊ฐ ๋ฑ์ฅํ๊ธฐ ์์ํ๊ณ ์น ์ญ์ ๊ณผ๊ฑฐ ์น ๊ตฌ์กฐ์์ ๋ฐ์ํ์ผ๋ก ์น์ฑ ํธ๋ ๋ ๋ณํํ๋ค.
์ด๋ ํ์ด์ค๋ถ์ ํ๊ฐ์ง ๊ณ ๋ฏผ์ด ์์๋ค. ๋ค๋ค ์๋ค์ํผ ํ์ด์ค๋ถ์ ํผ๋ํ์ด๋ฉด์ ๊ณ์ํด์ ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ๋ณํํ๋ค. ์๊ฐ์ด ์ง๋๋ฉด ์ง๋ ์๋ก ๋์ฑ ๋ค์ํ ์ด๋ฒคํธ๊ฐ ์ถ๊ฐ๋์๊ณ ์ด๋ ๊ณณ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ณต์ก์ฑ์ ๋ง๋ค์ด ๋๊ณ ์ ์ง๋ณด์์ ์ด๋ ค์์ผ๋ก ์ฐ๊ฒฐ๋์๋ค.
์ด๋ ๊ณ ์ํด ๋ธ ๊ฒ์ด SPA(Sigle Page Application), ์ฆ ReactJS์ด๋ค. (๋ฌผ๋ก ์ด์ ์ Ember, Backbone, AngularJS ์ ๊ฐ์ ๋ ์์ด ๋จผ์ ๋์๊ณ react๋ Virtual DOM์ด๋ผ๋ ์ปจ์ ์ ๋์ ํด SPA์ ๋ง์ ๋จ์ ์ ์ปค๋ฒํ๊ธฐ์ ํฐ ์ธ๊ธฐ๋ฅผ ๋๊ฒ ๋์๋ค.)
์ด๋๋ถํฐ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์์ญ์ด ์ปค์ง๊ธฐ ์์ํ๋ค. react๊ฐ ๋ฑ์ฅํ๋ฉฐ ์ธ๊ธฐ๋ฅผ ๋์. ๊ธฐ์กด์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ ๋ํ ๋ถํธํจ์ ๊ฐ์ ํ๊ณ ์ ํฐ ๋ณํ๊ฐ ์ผ์ด๋๋ค.
"์ด๋ฐ ๋ง ํ๋๊ฒ ์ฌํ์ง๋ง jQuery๊ฐ javascript๋ฅผ ๋์ฒดํ์ง๋ ์๋๋ค. jQuery๊ฐ ์ฑ๊ณตํ ๊ฒ์ DOM์ด ๋ฌธ์ ๊ฐ ๋ง๋ค๋ ์ฆ๊ฑฐ์ผ ๋ฟ์ด๋ค."_์กด ๋ ์
์์์ ์ ์ด์ฟผ๋ฆฌ๋ ํฌ๋ก์ค๋ธ๋ผ์ฐ์ง์ ๊ฐํธํ๊ฒ ํด์ค๋ค๊ณ ํ๋ค. ์ด๋ ๊ณณ ๋ฐ๊ฟ๋งํ๋ฉด ์ฌ์ฉํ ๋ ๋ณด์ด์ง ์๋ ์ ์ด์ฟผ๋ฆฌ ์ฝ์ด์์๋ ๊ฐ๊ฐ ๋ธ๋ผ์ฐ์ ๋ง๊ฒ ๋์์ ํ๊ณ ์๋ค๋ ์ ์ด๋ค.
์ฐ๋ฆฌ๊ฐ ๋ณด๋ API ์ฝ๋์๋ ๋ณด์ด์ง ์๊ฒ ์ง๋ง ๋ด๋ถ์ ์ผ๋ก ์์ฒญ ๋ฐ์๊ฒ ์ผ์ ํ๊ณ ์๋ค. ์ด๋ ๊ณณ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ์ผํจ๋ค. ๊ธฐ๋ฅ์ด ๋ณต์กํ ์๋ก ๋๋์ฑ ๊ทธ๋ด ๊ฒ์ด๋ค. (์ฌ์ค ์ฒด๊ฐ์ ํ ์ ๋์ ์๋๋ ์๋๋ค ํ์ง๋ง ์ต์ ํ ์ฝ๋๋ฅผ ์ง๋๊ฒ ๋ฏธ๋์ธ ๊ฐ๋ฐ์ ์๊ฐ์์๋ ์ข์ ์ผ์ ์๋๋ผ๊ณ ๋ณธ๋ค.)
๊ณผ๊ฑฐ์๋ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง์ด๋ผ๋ ์ง์ฆ๋๋ ์์ ์ด ๋ ์ปธ๊ธฐ์ ์ ์ด์ฟผ๋ฆฌ๋ฅผ ํจ์จ์ ์ด์๋ค. ํ์ง๋ง ์ด์ ๋ธ๋ผ์ฐ์ ๋ ๋๋ถ๋ถ ๋ ์๋ ธ์ ์ ํฌ๊ธฐํ๊ณ ๋ํตํฉ์ ์๋๋ฅผ ์ด๊ณ ์๊ธฐ์ ๊ตณ์ด ์ ์ด์ฟผ๋ฆฌ๋ฅผ ์จ์ผํ ์ด์ ๊ฐ ์ฌ๋ผ์ง๊ณ ์๋ ์ถ์ธ์ด๋ค.
์ ์ด์ฟผ๋ฆฌ๋ฅผ ์ฐ๋ ๋ ํ๊ฐ์ง ์ด์ ๋ DOM API ๊ฐ ๋ณต์กํ๊ณ ์ง๊ด์ ์ด์ง ๋ชปํ ๋ถ๋ถ์ด์๋ค.
์๋ฅผ ๋ค์ด ๋น๋๊ธฐ ํต์ ์ ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ํ๋ ค๊ณ ํ๋ฉด ์๋์ ๊ฐ์ด ํ์ง๋ง
function XMLHttp() {
let req = new XMLHttpRequest(); // XMLHttpRequest ๊ฐ์ฒด
req.onreadystatechange = function () {
// ์๋ฒ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ์๋ ๋ฐ์ํ๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ
if (this.status == 200) {
// ์์ฒญํ ๋ฐ์ดํฐ๋ฅผ ๋ฌธ์์ด๋ก ๋ฐํ
document.getElementById("text").innerHTML = req.responseText;
}
};
// GET ์์ฒญ ์์ฑ
req.open("GET", "/test/example.txt", true);
// ์์ฒญ ์ ์ก
req.send();
}
์ ์ด์ฟผ๋ฆฌ๋ก ํ๋ฉด ์ด๋ ๊ฒ ์ฝ๊ณ ์ง๊ด์ ์ด๊ฒ ํ ์ ์๋ค.
$.ajax({
url: "https://test.com/example.txt",
type: "GET",
data: {
// ๋ณด๋ผ ๋ฐ์ดํฐ
},
done: function (response) {
// ์ฑ๊ณต ์ ๋์
},
fail: function (error) {
// ์คํจ ์ ๋์
},
});
ํ์ง๋ง SPA ์์ฅ์ด ์ปค์ง๊ณผ ํจ๊ป ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ฑ์ฅํ๋ค. ๊ตณ์ด ๊ธฐ๋ฅ์ ๋ค์ฐ์ง๋ ์๋ ์ ์ด์ฟผ๋ฆฌ๋ฅผ ํต์ผ๋ก ๋ฐ์ ํ์ ์๋ค. DOM API ๋ฅผ ์ธ ๋ ๋ถ์กฑํ ๋ถ๋ถ๋ง ์ ํํด์ ์ฐ๋ฉด ๋๋ค. ์๋๋ ๋น๋๊ธฐ ํต์ ์ ์์ฃผ ์ฐ์ด๋ ์์์ค์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค.
import axios from 'axios'
axios.get('<https://test.com/example.txt>').then(response => {
console.log(response)
})
์ ์ด์ฟผ๋ฆฌ ๋ชป์ง ์๊ฒ ์ง๊ด์ ์ด๊ณ ํธ๋ฆฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ๋ณ๋ค.
๊ธฐํ ๋ฑ๋ฑ...
๋ชจ๋์น์ ๋ง์ ๋ฐ์ดํฐ์ ํจ์จ์ ย ์ฒ๋ฆฌํ๋ ค๊ณ ๋ ธ๋ ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ปดํฌ๋ํธ๋ผ๋ ๊ฐ๋ ์ ๋์ ํด ์ฌ์ฌ์ฉ์ฑ์ผ๋ก ์ธํ ์ ์ง๋ณด์์ฑ ์ฆ๋๋ฅผ ์ถ๊ตฌํ๋ค. ์ด๋ฐ ํธ๋ ๋์ย ์ ์ด์ฟผ๋ฆฌ๋ ๋ถํฉํ์ง ๋ชปํ๊ฒ ๋์๋ค.
์ด๋ฐ ๋ฐฐ๊ฒฝ ๋๋ฌธ์ SPA๊ฐ ์ฃผ์ถ์ธ FD ์ํ๊ณ์์ ์ ์ด์ฟผ๋ฆฌ์ ์กด์ฌ๊ฐ์ด ์ ์ ์ฌ๋ผ์ง๊ฒ ๋์๊ณ ๋ก๋๋งต์์๋ ๋น ์ง๊ฒ ๋ ๊ฒ์ด๋ค.
์ํฉ๊ณผ ์ฌ๊ฑด์ด ๋๋ค๋ฉด ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋๊ฒ ์ข๋ค๊ณ ์๊ฐํ๋ค.
ํ์ง๋ง ์ธ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋๊ตฌ์ด๊ณ ๊ทธ๋ฅ ์ํฉ์ ๋ง๊ฒ ํ๋จํด ์ฐ๋ฉด ๋๋ค๊ณ ๋ณธ๋ค. ์ ์ด์ฟผ๋ฆฌ๋ฅผ ์ด๋ค๊ณ ๋๋ฌด ์ฃ์ง๋ ๋ง์์ ๊ฐ์ง ํ์๋ ์๋ค.
ํ์ค์ ์ผ๋ก ๋ฌด๋ฆฌํ ์ผ์ ์์ ์ ์ด์ฟผ๋ฆฌ๋ก ๋ ๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ์์
ํ๋ ์ํฉ์ด๋ผ๋ฉด ๋ง์ด๋ค.
์ต์ ๊ธฐ์ ์ ๋ค๋ค์ผ๋ง ์ข์ ๊ฐ๋ฐ์๊ฐ ๋๋๊ฑด ์๋๋ผ๊ณ ์๊ฐํ๋ค. ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค๋ ํ์ด ์ ํ ๊ธฐ์ ์คํ, ๊ตฌ์ถ์๊ฐ, ํด๋ผ์ด์ธํธ ๋์ฆ ๋ฑ์ ๊ณ ๋ คํด ๊ฐ์ฅ ์ต์ ์ ์ ํ์ ํ๋ ๊ฐ๋ฐ์๊ฐ ํจ๊ป ์ผํ๋ ์ ์ฅ์์ ์ข์ ๊ฐ๋ฐ์๋ผ๊ณ ์๊ฐํ๋ค.
FD ๋ก๋๋งต์ ์ ์ด์ฟผ๋ผ ๋น ์ง ๊ฑด SPA ์ ๋ค๋ฃจ๋ FD๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ง๋ค์ด์ก๊ธฐ์ react ๋ vue ๋ง ๋ค๋ฃฐ๊ฑฐ๋ฉด ์ ์ด์ฟผ๋ฆฌ๋ฅผ ๊ตณ์ด ํ ํ์๊ฐ ์๋ค๋ ๋ง์ด๋ผ๊ณ ๋ณธ๋ค.
์ ์ด์ฟผ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฅ ํฐ ๋จ์ ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌด ์ฝ๋ค๋๋ฐ ์๋ค.
์ฌ์ฉํ๊ธฐ ์ฝ๋ค๋ ๊ฑด ์ข์ ์ผ์ด๋ค. ํ์ง๋ง ์ฌ์ธ ์๋ก ๋ด๋ถ ๋์์ ๋ฌด์ํ๊ณ ๋์ถฉ๋์ถฉ ์ฐ๊ฒ ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. ๊ทธ๋ ๊ฒ ๋๋ฉด ์๋ ์๋์ ๋ค๋ฅด๊ฒ ๋ฉ์๋๋ค์ ๋จ๋ฐํ๊ฒ ๋๊ฑฐ๋ ๊ฐ๋ณ๊ฒ ์ธ ์ ์๋ ๊ฑธ ๋ถํ์ ํ๊ฒ ๋ฌด๊ฒ๊ฒ ์ฐ๊ฒ ๋๋ค.
๊ฐ๋จํ๊ณ ๋นจ๋ฆฌ ๊ฐ๋ฐํด์ผํ๋ค๋ฉด ์๊ด์๊ฒ ์ง๋ง ๋ง์ฝ ์ํฐํ๋ผ์ด์ฆ๊ธ ์ดํ์ด๊ณ ํ๋ก ํธ์์ ์ฒ๋ฆฌํ ๊ฒ ๋ง๋ค๋ฉด ์ ์ด์ฟผ๋ฆฌ ๋ฉ์๋๋ฅผ ํจ๋ถ๋ก ์ผ๋ค๊ฐ ์ฌ์ฉ์๊ฐ ์ฒด๊ฐ์ด ๋ ์ ๋์ ๋ฒ๋ฒ ์์ ๊ฐ์ ธ์ฌ ์๋ ์๋ค...
๊ทธ๋ฆฌ๊ณ ์ ์ด์ฟผ๋ฆฌ ์ฝ๋๋ฅผ ๊ฐ๋ค๊ฐ ์ฐ๋ ์์ค์ ๋จธ๋ฌผ๊ฒ ๋ ๊บผ๊ณ ์์ฉํ์ง ๋ชปํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
๋
ref)
kamranahmedse/developer-roadmap
jQuery ๋ณด๋ค ๋จผ์ ์์์ผ๋ฉด ์ข์์ ๊ฒ๋ค
์ด์ ์์ jQuery๋ฅผ ์ฐ๋ฉด ์๋๋ ์ด์ , ํน์ jQuery์ ์น๊ฐ๋ฐ์ ์ญ์ฌ - Tokyo Branch
jQuery๋ ์ฐ๊ธฐ๋ ์ฝ์ง๋ง, ์ ๋๋ก ์ฐ๊ธด ์ฝ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. jQuery๊ฐ์ฒด๊ฐ ๋ญ ๋ฆฌํดํ๋์ง ๋ชจ๋ฅด๋ ์ฌ๋๋ ๊ฝค ์์๋ ๊ฒ ๊ฐ์ต๋๋ค
jQuery๊ฐ ์ฌ์ฉ์ด ์ฌ์ด ๊ฒ์ ๋นํด ๋ค๋ฃจ๋ ๋ถ๋ค์ ๋ด์ค์ด ๋ถ์กฑํ ๊ฒ๋ ์์ฃ . ๊ฐ๋ น ์ ์ด์ฟผ๋ฆฌ๋ ์์ฒด์ ์ผ๋ก ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ์์ฑํ ์ ์๋ค๋์ง... ์ด๋ฐ๊ฑฐ ์ ๋ชจ๋ฅด์๋ ๋ถ๋ค์ด ๋ง์ต๋๋ค. ๋๋ถ๋ถ์ document.getElementById~ ๋ฑ๋ฑ์ ํจ์๋ฅผ ์ถ์ฝํด์ ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ฃ . ๊ฒฐ๊ตญ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ง ๋ฐฐ์ฐ๋ฉด ๋ฐ๋๋ผ๋ก ์ฝ๊ฒ ๋์ฒดํ ์ ์๋ ์ฝ๋๋ค์ด ์คํ๋ ค ์ ์ด์ฟผ๋ฆฌ๋ก ์์ฑ๋๋ ์์ด๋ฌ๋ํ ์ํฉ์ด ํผ์ณ์ง๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๋ฒ๋ค ์ฉ๋์ ๊ฝค ํฐ ํธ์ด๋ฉฐ, ์ด๋ฒคํธ๊ฐ ๋ก์น ๋๋ ๊ฐ๋ฐ ๋ฐฉ์ ๋๋ฌธ์ ๋ถํธํ๊ณ ๋ฌด๊ฒ์ฃ .
๋ฌผ๋ก ๊ทธ๋ฐ๊ฑฐ ๋ค ๋ ๋์ ์ ์ด์ฟผ๋ฆฌ๋ ์ด์ ์ฐ๋ฉด ์๋๋ค๊ณ ์กฐ๊ธ์ ๊ทน๋จ์ ์ด๊ฒ ๋งํ๊ณ ์ถ์ต๋๋ค. ์์งํ ๊ฐ๋จํ๊ฒ ๋ง๋ ๋ค๊ณ ํ๋ฉด vue-cli๋ ์๊ณ , CRA๋ ์๋๋ฐ ๊ตณ์ด ์ ์ด์ฟผ๋ฆฌ๋ฅผ...? ์๋๋ผ๊ณ ๋ด ๋๋ค. ์ ์ด์ฟผ๋ฆฌ๋ ๊ธฐ์ ์คํ์ด ๋ค์ ์ค๋๋ ์๋น์ค๋ ์๋ก์ด ๊ธฐ์ ์ ์ ์ฉํ๊ธฐ์ ์ฌ๊ฑด์ด ์๋๋ ์ํฉ์์ ๋น๊ต์ ์์ ๋กญ๊ฒ ๋ถ๋ฌ์์ ์ธ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ๊ทธ๋งํผ ๋๋ถ๋ถ ์ด๋ฐ ์ผ์ด์ค๋ค์ ๋ ๊ฑฐ์ ์ฑ์ ์ ์ง๋ณด์๋ฅผ ์ํด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ฃ . ์ ๊ท ์๋น์ค๋ฅผ ๋ง๋๋ ๋ฐ์ ์ด์ ์ ๋๊ณ ๋ณธ๋ค๋ฉด ์๋ฌด๋ฆฌ ๊ฐ๋จํ ์น์ด๋ผ๊ณ ํด๋ jQuery๋ก ์ผ์ผํ ์ด๋ฒคํธ ํธ๋ค๋งํ๊ณ ์ง์ ์ ์ผ๋ก ๋ ์๋ฆฌ๋จผํธ๋ฅผ ์กฐ์ํ๊ณ ๊ทธ๋ฌ๋ ๊ฒ ๋ ์ด๋ ต๊ณ ๋ณต์กํ ์ผ์ด ์๋๊น ์ถ์ต๋๋ค. ๊ฐ๋จํ๊ฒ ๋ง๋๋ ๋ชฉ์ ์ด๋ผ๋ฉด SPA๊ฐ ํจ์ฌ ์ฝ๊ณ ๋น ๋ฅด์ฃ . ๋ฌด์๋ณด๋ค ๋ณธ๋ฌธ์์ ์ธ๊ธ๋๋ ๊ฒ๊ณผ ๊ฐ์ด CDN์ผ๋ก ๋ถ๋ฌ์ ์ฐ๋ ๊ฐ๋ฐ๋ณด๋ค npm์ผ๋ก ํ์ํ ๊ธฐ๋ฅ๋ค๋ง ํน์ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ถ๋ฌ์ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์ฌ ๊ฐ๋ฒผ์ด ๊ฐ๋ฐ์ ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ฌด์๋ณด๋ค... ํธ๋ฆฌํ๊ตฌ์.
์ฌ๋ด์ด์ง๋ง ์ฌ๋ด ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๋๋ฐ 10๋ ์ฐจ PHP ๊ฐ๋ฐ์ ๋ถ๊ป์ jQuery๋ก SPA๋ฅผ ๊ตฌํํ๋ ๊ฑธ ๋ณด๊ณ ๋๋์ต๋๋ค. React์์ ์ํ ๊ด๋ฆฌํ๋ ๊ฒ๋ ๋จธ๋ฆฌ ์ํ๋ฐ ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ๋ก์น ๋ ์ ์๋ง์ ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ค... ์ํ... ์ข ๋ฌด์์ ์ต๋๋ค. ์ผ๋จ ๊ทธ ์ฝ๋๋ ์ ๋๋ก ๊ฑด๋๋ฆฌ๊ณ ์ถ์ง ์์์ฃ . ์๋๊ฐ ๋ณํ๋ ๋งํผ ์ฃผ๋ณ์ ํจ๊ปํ๋ ๊ฐ๋ฐ์๋ค๊ณผ ์ฝ๊ฒ ํ์ ํ ์ ์๋ ํด์ ๊ณ ๋ฅด๋ ๊ฒ ๋ํ ์ค์ํ๋ค๋ ์๊ฐ์ ํ๊ฒ ๋ฉ๋๋ค.
์ข์ ๊ธ ๊ฐ์ฌํฉ๋๋ค. ๋๋ถ์ jQuery๊ฐ ๋ฐ๋ ค๋ ์ด์ ๋ฅผ ์ด๋ ดํํ๊ฒ ๋๋ง ์ดํดํ ์ ์์์ต๋๋ค. ์ด๋ฒคํธ ๊ด๋ฆฌ... ํ๋ค์ฃ .