Webpack vs Vite: ํ”„๋ก ํŠธ์—”๋“œ ๋นŒ๋“œ ๋„๊ตฌ ๋น„๊ต
ยท
๐ŸงฉFront-End
๐Ÿ’Ž์›นํŒฉ(Webpack)https://webpack.kr/ webpack์›นํŒฉ์€ ๋ชจ๋“ˆ ๋ฒˆ๋“ค๋Ÿฌ์ž…๋‹ˆ๋‹ค. ์ฃผ์š” ๋ชฉ์ ์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก JavaScript ํŒŒ์ผ์„ ๋ฒˆ๋“ค๋กœ ๋ฌถ๋Š” ๊ฒƒ์ด์ง€๋งŒ, ๋ฆฌ์†Œ์Šค๋‚˜ ์• ์…‹์„ ๋ณ€ํ™˜ํ•˜๊ณ  ๋ฒˆ๋“ค๋ง ๋˜๋Š” ํŒจํ‚ค์ง•ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.webpack.kr ์›นํŒฉ์€ ํ”„๋ก ํŠธ์—”๋“œ ์ƒํƒœ๊ณ„์—์„œ ์˜ค๋žœ ์‹œ๊ฐ„ ๋™์•ˆ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋œ ๋ชจ๋“ˆ ๋ฒˆ๋“ค๋Ÿฌ๋กœ, ๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ์—์„œ๋„ ์•ˆ์ •์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์›นํŒฉ์€ ํŒŒ์ผ์„ ๋ชจ๋“ˆ ๋‹จ์œ„๋กœ ๊ด€๋ฆฌํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ๋ฆฌ์†Œ์Šค(์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ, CSS, ์ด๋ฏธ์ง€ ๋“ฑ)๋ฅผ ๋ฒˆ๋“ค๋งํ•˜์—ฌ ์ตœ์ ํ™”๋œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.์›นํŒฉ(Webpack) ์ฃผ์š” ๊ฐœ๋…์ž‘๋™ ๋ฐฉ์‹ : ์›นํŒฉ์€ ๋ชจ๋“  ํŒŒ์ผ์„ ํ•˜๋‚˜์˜ ํฐ ๋ฒˆ๋“ค(bundle)๋กœ ๋ฌถ์–ด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‰ฝ๊ฒŒ ๋กœ๋“œํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค..
[React] ๋ฆฌ์•กํŠธ์—์„œ ํผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌํ•˜๊ธฐ(Formik, Yup, react-hook-form)
ยท
๐ŸงฉFront-End
์ด ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” ๋ฆฌ์•กํŠธ์—์„œ ํผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. JavaScript๋ฅผ ์ด์šฉํ•œ ๊ธฐ๋ณธ ๊ฒ€์ฆ ๋ฐฉ์‹๋ถ€ํ„ฐ, Yup, Formik, ๊ทธ๋ฆฌ๊ณ  ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ๊ฐ•์ ์ด ์žˆ๋Š” react-hook-form๊นŒ์ง€ ๋น„๊ตํ•˜์—ฌ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ™‚ 1๏ธโƒฃ JavaScript๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ๋ฆฌ์•กํŠธ์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ์‹์œผ๋กœ, ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ JavaScript๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.import { useState } from 'react';function MyForm() { const [name, setName] = useState('');โœจ const [age, setAge] = useState('');โœจ const [errors, setErrors] = useState({});โœจ cons..
[React] ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ vs ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ with ๋ฆฌ์•กํŠธ
ยท
๐ŸงฉFront-End
React๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI)๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. React๋ฅผ ๋‹จ์ผ ํ”„๋กœ์ ํŠธ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜๋„ ์žˆ๊ณ , ์Šคํ”„๋ง๋ถ€ํŠธ(Spring Boot)์™€ ํ†ตํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์˜ ์ฃผ์š” ์ฐจ์ด์ ๊ณผ ๊ฐ๊ฐ์˜ ์„ค์ • ๋ฐ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.๐Ÿ™‚   ๐Ÿ“Œ React ๋‹จ์ผ ํ”„๋กœ์ ํŠธReact ๋‹จ์ผ ํ”„๋กœ์ ํŠธ๋Š” ๋ฐฑ์—”๋“œ ์—†์ด ํ”„๋ก ํŠธ์—”๋“œ๋งŒ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ฃผ๋กœ UI ๊ตฌ์„ฑ์— ์ง‘์ค‘ํ•˜๋ฉฐ, API ํ˜ธ์ถœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค.โœ”๏ธ ํŠน์ง•๋…๋ฆฝ์ ์ธ ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ : ๋ฐฑ์—”๋“œ ์—†์ด๋„ React๋งŒ์œผ๋กœ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๊ฐ„ํŽธํ•œ ์ดˆ๊ธฐ ์„ค์ • : create-react-app์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰ ๋ฐ ..
[React] Axios ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ process/browser ๋ชจ๋“ˆ์„ ์ฐพ์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ
ยท
๐ŸงฉFront-End
๐Ÿ’ก ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : Webpack ์„ค์ • ์ˆ˜์ •์•„๋ž˜ ์ฝ”๋“œ๋ฅผ Webpack ์„ค์ •์— ์ถ”๊ฐ€ํ•˜์—ฌ .mjs ๋˜๋Š” .js ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ํ™•์žฅ์ž๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ๋˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ํŠนํžˆ axios๋‚˜ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ํ™•์žฅ์ž ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.๐Ÿ‘module.exports = { module: { rules: [ { test: /\.m?js$/, // .mjs ๋˜๋Š” .js ํŒŒ์ผ์„ ์ฒ˜๋ฆฌ resolve: { fullySpecified: false // ํ™•์žฅ์ž๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ๋˜๋„๋ก ์„ค์ • } } ] ..
[React] Webpack ๋นŒ๋“œ ์™„๋ฃŒ ์‹œ๊ฐ„ ํ„ฐ๋ฏธ๋„์— ์ถœ๋ ฅํ•˜๊ธฐ(npm run watch)
ยท
๐ŸงฉFront-End
๐Ÿ’ก ํ„ฐ๋ฏธ๋„ ์ถœ๋ ฅ ํ™”๋ฉด๐Ÿ’ก ์ฝ”๋“œ ํ™”๋ฉด๐Ÿ’ก ์†Œ์Šค ์ฝ”๋“œconst webpack = require('webpack');module.exports = { // ... ๊ธฐ์กด ์„ค์ • plugins: [ // Webpack ๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ function () { // Webpack์˜ done ํ›„ํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ ํ˜ธ์ถœ this.hooks.done.tap('DonePlugin', (stats) => { const now = new Date().toLocaleString(); // ์ฝ˜์†”์— ๋นจ๊ฐ„์ƒ‰ ๊ตฌ๋ถ„์„  ๋ฐ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ consol..
[React] Props ์ „๋‹ฌ ๋ฐฉ๋ฒ• 10๊ฐ€์ง€ ์˜ˆ์ œ๋กœ ์‚ดํŽด๋ณด๊ธฐ
ยท
๐ŸงฉFront-End
๋ฆฌ์•กํŠธ์—์„œ props๋Š” ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์ค‘์š”ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ์—์„œ๋Š” ๊ธฐ๋ณธ props ์ „๋‹ฌ๋ถ€ํ„ฐ ์Šคํ”„๋ ˆ๋“œ ์—ฐ์‚ฐ์ž, Context API, ๊ทธ๋ฆฌ๊ณ  children์„ ์‚ฌ์šฉํ•œ props ์ „๋‹ฌ๊นŒ์ง€ ๋‹ค์–‘ํ•œ 10๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ฐฉ์‹์ด ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ์–ด๋–ป๊ฒŒ ๊ธฐ์—ฌํ•˜๋Š”์ง€ ์‹ค์šฉ์ ์ธ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๐Ÿ™‚ 1๏ธโƒฃ ๊ธฐ๋ณธ props ์ „๋‹ฌ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ, ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋กœ ์ง์ ‘ props๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.// ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธfunction Parent() { // 'color'๋ผ๋Š” ์ด๋ฆ„์˜ props๋ฅผ Child ์ปดํฌ๋„ŒํŠธ์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.โœจ return ;}// ์ž์‹ ์ปดํฌ๋„ŒํŠธfunction Child(props) ..
[React] JSX ๋ฌธ๋ฒ• 17๊ฐ€์ง€ ๋น ๋ฅด๊ฒŒ ์‚ดํŽด๋ณด๊ธฐ
ยท
๐ŸงฉFront-End
https://ko.legacy.reactjs.org/docs/introducing-jsx.html JSX ์†Œ๊ฐœ – ReactA JavaScript library for building user interfacesko.legacy.reactjs.org ๐Ÿ’ก JSX๋ž€?JSX๋Š” JavaScript์˜ ํ™•์žฅ ๋ฌธ๋ฒ•์œผ๋กœ, HTML๊ณผ JavaScript๋ฅผ ๊ฒฐํ•ฉ ํ•˜์—ฌ UI๋ฅผ ๋” ์ง๊ด€์ ์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. HTML ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” JavaScript ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜๋˜์–ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์›นํŒฉ(Webpack) ๋กœ๋”๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๊ฐ€ ์ˆ˜์ •๋  ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ํ™”๋ฉด์ด ๊ฐฑ์‹ (๋ฆฌ๋ Œ๋”๋ง) ๋ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ฆฌ์•กํŠธ์—์„œ ์‚ฌ์šฉ๋˜์ง€๋งŒ, ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ๋„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. * React๋Š” UI๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด..
[JS] ES6 ๋ฌธ๋ฒ• 8๊ฐ€์ง€ ์˜ˆ์ œ๋กœ ์‚ดํŽด๋ณด๊ธฐ
ยท
๐ŸงฉFront-End
https://www.w3schools.com/js/js_es6.asphttps://developer.mozilla.org/ko/docs/Web/JavaScript JavaScript | MDNJavaScript (JS)๋Š” ๊ฐ€๋ฒผ์šด, ์ธํ„ฐํ”„๋ฆฌํ„ฐ ํ˜น์€ just-in-time ์ปดํŒŒ์ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ, ์ผ๊ธ‰ ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์›น ํŽ˜์ด์ง€๋ฅผ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ์ž˜ ์•Œ๋ ค์ ธ ์žˆ์ง€๋งŒ, Node.js, Apache CouchDB, Adobe Acrobat์ฒ˜๋Ÿผdeveloper.mozilla.org  ๐Ÿ’ก ๊ฐœ์š”ES : "ECMAScript"์˜ ์•ฝ์–ด์ด๋ฉฐ, JavaScript์˜ ํ‘œ์ค€ ์ŠคํŽ™์„ ์ •์˜ํ•˜๋Š” ๊ทœ๊ฒฉ์„ ๋งํ•œ๋‹ค.6 : 2015๋…„์— ๋ฐœํ‘œ๋œ 6๋ฒˆ์งธ ์ฃผ์š” ๋ฒ„์ „์ด๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค.ES6(ECMAScript 2015)์€ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ..
[๋ชฉ์ฐจ] ๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ (๊ฐœ์ •ํŒ)
ยท
๐ŸงฉFront-End
https://product.kyobobook.co.kr/detail/S000001792882 ๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ  | ๊น€๋ฏผ์ค€ - ๊ต๋ณด๋ฌธ๊ณ ๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ  | ๋ณธ๋ฌธ๊ณผ ์†Œ์Šค ์ „๋ฉด ์—…๊ทธ๋ ˆ์ด๋“œ! ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๊ผผ๊ผผํ•˜๊ฒŒ! ์‹ค์ „์—์„œ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊นŒ์ง€ ์•Œ์ฐจ๊ฒŒ ๋ฐฐ์šฐ์ž! ๊ฐœ์ •ํŒ์ด ๋‚˜์™”์Šต๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ 16.8 ๋ฒ„์ „์— Hooks๋ผ๋Š” ๊ธฐ๋Šฅ์ด ๋„product.kyobobook.co.kr28์žฅ์„ ์ž„์˜๋กœ 8๊ฐœ ํŒŒํŠธ๋กœ ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค๐Ÿ™‚ 1๏ธโƒฃ ๋ฆฌ์•กํŠธ ๊ธฐ๋ณธ ๋ฐ JSXโœ”๏ธ1์žฅ ๋ฆฌ์•กํŠธ ์‹œ์ž‘__1.1 ์™œ ๋ฆฌ์•กํŠธ์ธ๊ฐ€?____1.1.1 ๋ฆฌ์•กํŠธ ์ดํ•ด__1.2 ๋ฆฌ์•กํŠธ์˜ ํŠน์ง•____1.2.1 Virtual DOM____1.2.2 ๊ธฐํƒ€ ํŠน์ง•__1.3 ์ž‘์—… ํ™˜๊ฒฝ ์„ค์ •____1.3.1 Node.js์™€ npm____1.3.2 yarn____1.3..
[React] ๋ฆฌ์•กํŠธ ๊ฐœ์š” ๋ฐ ํ™˜๊ฒฝ์„ค์ • ๊ฐ€์ด๋“œ
ยท
๐ŸงฉFront-End
https://ko.react.dev/ ReactReact is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine components written by independent people, teams, and organizatiko.react.dev  ๐Ÿ’ก๋ฆฌ์•กํŠธ(React)๋ž€?๋ฆฌ์•กํŠธ(React)๋Š” ํŽ˜์ด์Šค๋ถ์—์„œ ๊ฐœ๋ฐœํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI)๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ๋Š” MVC(Model-View..
[Front-End] React, Angular, Vue.js ๊ฐ„๋‹จ ๋น„๊ต
ยท
๐ŸงฉFront-End
React, Angular, Vue.js๋Š” ๋ชจ๋‘ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๊ฐ๊ธฐ ๋‹ค๋ฅธ ํŠน์ง•๊ณผ ์žฅ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‚1๏ธโƒฃ React์œ ํ˜• : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ       * ๋‹ค์–‘ํ•œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ๋“ค์„ ๊ฒฐํ•ฉํ•˜๋ฉด ํ”„๋ ˆ์ž„์›Œํฌ์ฒ˜๋Ÿผ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— React๋ฅผ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.์ฐฝ์‹œ์ž : Meta (Facebook)์ฃผ์š” ํŠน์ง•์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ : ๋ชจ๋“  UI ์š”์†Œ๋ฅผ ๋…๋ฆฝ์ ์ธ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.JSX : JavaScript์™€ HTML์„ ํ˜ผํ•ฉํ•œ ๋ฌธ๋ฒ•(JSX)์„ ์‚ฌ์šฉํ•ด UI๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.Virtual DOM : DOM ๋ณ€๊ฒฝ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.์ž์œ ๋„ : ๋ผ์šฐํŒ…, ์ƒํƒœ ๊ด€๋ฆฌ, ์Šคํƒ€์ผ๋ง ๋“ฑ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ํ•„์š”์— ๋”ฐ๋ผ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜..
[JS] ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํ‘œํ˜„์‹ (IIFE) vs jQuery ready() ๋ฉ”์„œ๋“œ(์ถ•์•ฝํ˜•)
ยท
๐ŸงฉFront-End
IIFE์™€ jQuery ready() ๋ฉ”์„œ๋“œ๋Š” ๋น„์Šทํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.โœจ ์ด ๋‘ ๋ฐฉ๋ฒ•์€ ๋ชจ๋‘ ํ•จ์ˆ˜ ํ‘œํ˜„์‹์„ ํ™œ์šฉํ•˜์—ฌ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์ฝ”๋“œ์˜ ์‹คํ–‰ ์‹œ์ ์„ ์กฐ์ ˆํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค.1๏ธโƒฃ ์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜ ํ‘œํ˜„์‹ (IIFE)* IIFE : Immediately Invoked Function Expression(function() { // ์ฆ‰์‹œ ์‹คํ–‰๋  ์ฝ”๋“œ})();// ํ™”์‚ดํ‘œ ํ•จ์ˆ˜(() => {})();์ฆ‰์‹œ ์‹คํ–‰: ์ด ์ฝ”๋“œ๋Š” ์ •์˜๋˜์ž๋งˆ์ž ์ฆ‰์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋˜๊ธฐ ์ „ ๋˜๋Š” DOM์ด ์ค€๋น„๋˜๊ธฐ ์ „์—๋„ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์šฉ๋„: ์ฃผ๋กœ ์ „์—ญ ์Šค์ฝ”ํ”„ ์˜ค์—ผ์„ ๋ฐฉ์ง€ํ•˜๊ฑฐ๋‚˜, ์ดˆ๊ธฐํ™” ์ฝ”๋“œ ๋“ฑ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.DOM ์ ‘๊ทผ: DOM์ด ์ค€๋น„๋˜์ง€ ์•Š์•˜์„ ๋•Œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, DOM ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ..
yewon31
'๐ŸงฉFront-End' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก