๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€

(112)
React / map, filter๋กœ ๋ฐ˜๋ณต ๋ Œ๋”๋งํ•˜๊ธฐ map๊ณผ filter map๊ณผ filter๋Š” ๋‘˜๋‹ค ๋ฐฐ์—ด์„ ๋‹ค๋ฃฐ ๋•Œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๋‹ค. map() : ๋ฐฐ์—ด ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์ฃผ์–ด์ง„ ์ฝœ๋ฐฑ์„ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜filter() : ๋ฐฐ์—ด์˜ ๊ฐ๊ฐ์˜ ์š”์†Œ์— ๋Œ€ํ•ด ์ฝœ๋ฐฑ์„ ํ˜ธ์ถœํ•œ ๊ฒฐ๊ณผ, true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” (์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”) ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜๋‘˜๋‹ค ์›๋ณธ ๋ฐฐ์—ด์€ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค. ์˜ˆ์‹œ๋กœ ์ผ๋‹จ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŠธ์™€์ด์Šค์˜ ๋ฉค๋ฒ„๋“ค์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ๋ฐฐ์—ด์„ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋‹ค.const twice = [ { name: "๋‚˜์—ฐ", birth: 1995, country: "ํ•œ๊ตญ" }, { name: "์ •์—ฐ", birth: 1996, country: "ํ•œ๊ตญ" }, { name: "๋ชจ๋ชจ", birth: 1996, country: "์ผ..
React / JSX ๋ฌธ๋ฒ• JSX(JavaScript XML)React์—์„œ ์‚ฌ์šฉ๋˜๋Š” Javascript์˜ ํ™•์žฅ ๋ฌธ๋ฒ•์œผ๋กœ, HTML๊ณผ ์œ ์‚ฌํ•œ ํ˜•ํƒœ๋กœ Javascript ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.๋ฌด์กฐ๊ฑด jsx๋ฅผ ์“ธ ํ•„์š”๋Š” ์—†์ง€๋งŒ, ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ๊ทœ์น™return๋ฌธ ์•ˆ์— HTML ํ˜•ํƒœ๋กœ ์ž‘์„ฑ๋‘ ์ค„ ์ด์ƒ ์ž‘์„ฑํ•  ๊ฒฝ์šฐ ์†Œ๊ด„ํ˜ธ๋กœ ๋ฌถ์–ด์•ผ ํ•จํ•˜๋‚˜์˜ ์ตœ์ƒ์œ„ ์š”์†Œ๋กœ ๋ฌถ์–ด์ค˜์•ผ ํ•จ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” Javascript ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•˜๋‚˜์˜ ๋ฐฐ์—ด๋กœ ๊ฐ์‹ธ์ง€ ์•Š์€ ํ•จ์ˆ˜์—์„œ๋Š” ๋‘ ๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜ (Fragment : ๋ธŒ๋ผ์šฐ์ €์ƒ html ํŠธ๋ฆฌ ๊ตฌ์กฐ์—์„œ ํ”์  ์—†์ด ๊ทธ๋ฃนํ™”)๋กœ๋ผ๋„ ๊ฐ์‹ธ์ค˜์•ผ ํ•œ๋‹ค.์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด Javascript ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•จ // JSX ๋ฌธ๋ฒ• ์‚ฌ์šฉfunction App() { return..
React / ์ปดํฌ๋„ŒํŠธ CDD(Component Driven Development) ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœํ™”๋ฉด์„ ๋…๋ฆฝ์ ์ด๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก Class ์ปดํฌ๋„ŒํŠธ, ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ(๋งŽ์ด ๊ถŒ์žฅ) ๋‘ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Œ Class ์ปดํฌ๋„ŒํŠธ ํด๋ž˜์Šค ๋ฌธ๋ฒ• โฌ‡๏ธ๋”๋ณด๊ธฐ๋”๋ณด๊ธฐํด๋ž˜์Šค(Class)๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ…œํ”Œ๋ฆฟ ์—ญํ• ๋กœ, ๋ถ•์–ด๋นต ํ‹€์— ๋งŽ์ด ๋น„์œ ๋˜๊ณ  ์žˆ๋‹ค... (๊ฐ์ฒด - ๋ถ•์–ด๋นต, ํด๋ž˜์Šค - ๋ถ•์–ด๋นต ํ‹€) 1) ๊ธฐ๋ณธ ๊ตฌ์กฐclass Person { constructor(name, age) { // ์ƒ์„ฑ์ž (๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์‹คํ–‰๋จ) this.name = name; this.age = age; } sayHello() { // ๋ฉ”์„œ๋“œ (๊ฐ์ฒด๊ฐ€ ์‚ฌ์šฉํ•  ํ•จ์ˆ˜) console.log(`์•ˆ๋…•ํ•˜์„ธ์š”! ์ €๋Š” ${th..
React / ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ React ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐฉ๋ฒ• CRAVite (๊ถŒ์žฅ)๋ชจ๋“ˆ ๋ฒˆ๋“ค๋Ÿฌ๋กœ Webpack ์‚ฌ์šฉ๋ชจ๋“ˆ ๋ฒˆ๋“ค๋Ÿฌ๋กœ Rollup ์‚ฌ์šฉ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋„ ๋ฒˆ๋“ค๋ง ์ง„ํ–‰ O๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ฒˆ๋“ค๋ง ์ง„ํ–‰ X์„œ๋ฒ„ ์‹œ์ž‘๊ณผ ๋ฆฌ๋กœ๋”ฉ ์‹œ๊ฐ„ ๋А๋ฆผ (์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ• ๋•Œ๋งˆ๋‹ค ๋ฒˆ๋“ค๋ง ์ง„ํ–‰)์„œ๋ฒ„ ์‹œ์ž‘๊ณผ ๋ฆฌ๋กœ๋”ฉ ์‹œ๊ฐ„ ๋น ๋ฆ„Webpack์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ ์ด์šฉ ๊ฐ€๋Šฅ๋น ๋ฅธ ๊ฐœ๋ฐœ ์†๋„์— ์œ ๋ฆฌ๋ชจ๋“ˆ๋„ ๊ฐ™์ด ์„ค์น˜(node_modules)๋ชจ๋“ˆ์€ ๋”ฐ๋กœ ์„ค์น˜ํ•ด์•ผ ๋จnpx create-react-app npm create vite@latest * ๋ฒˆ๋“ค๋ง : ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์ฝ”๋“œ์™€ ํŒŒ์ผ์„ ํ•œ๋ฒˆ์— ๋ฌถ์–ด์ฃผ๋Š” ๊ณผ์ • * CRA๊ฐ€ ์ด์ œ ์ถ”์ฒœ๋˜์ง€ ์•Š๋Š” ์ด์œ ๋А๋ฆฐ ๊ฐœ๋ฐœ ์†๋„ → Webpack ๊ธฐ๋ฐ˜์ด๋ผ ๋นŒ๋“œ์™€ HMR ์†๋„๊ฐ€ ๋А๋ ค ์ฝ”๋“œ ๋ณ€๊ฒฝ ๋ฐ˜์˜์ด ๋Šฆ์Œ.๋ฒˆ๋“ค ํฌ๊ธฐ ํผ → ๊ธฐ๋ณธ ์„ค์ •์ด ์ตœ์ ํ™” ๋ถ€์กฑ,..
React / Node.js, npm, npx ์„ค์น˜ ๋ฐ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• (Mac) React์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.๊ฐ€์ƒ DOM์„ ํ†ตํ•ด ํšจ์œจ์ ์œผ๋กœ ๋ Œ๋”๋ง์ด ๊ฐ€๋Šฅ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜์˜ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ UI๋ฅผ ๊ฐ€์ง๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉJSX ๋ฌธ๋ฒ•์œผ๋กœ ์ง๊ด€์ ์ธ UI ์ž‘์„ฑSPA(Single Page Application) ๊ฐœ๋ฐœ ์ง€์› React๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 1. ์ฝ”๋“œ ์ผ๊ด€์„ฑ์ด ๋†’์Œvanila Javascript (์ˆœ์ˆ˜ Javascript)๋Š” ์ฝ”๋“œ์— ์ •ํ•ด์ง„ ๊ทœ๊ฒฉ(๋ณ€์ˆ˜ ์„ ์–ธ, ๋„ค์ด๋ฐ, ํ•จ์ˆ˜ ์„ ์–ธ ๋“ฑ)์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ผ๊ด€์„ฑ์ด ๋–จ์–ด์ ธ ์„œ๋กœ์˜ ์ฝ”๋“œ์— ์ ์‘ํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฆฌ์•กํŠธ์—์„œ๋Š” ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ, ๋„ค์ด๋ฐ ๊ทœ์น™, ํŒŒ์ผ ๊ตฌ์กฐ, ์ƒํƒœ ๊ด€๋ฆฌ ๋ฐฉ์‹ ๋“ฑ ์ผ๊ด€๋œ ๊ทœ์น™์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋…์„ฑ, ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. 2. SPA ํ”„๋ ˆ์ž„์›Œํฌ๋ฆฌ์•กํŠธ๋Š” SPA..
๊นƒ ์„ค์น˜ ๋ฐ ๊ธฐ๋ณธ์„ค์ • Git 2005๋…„ ๋ฆฌ๋ˆ„์Šค ํ† ๋ฅด๋ฐœ์Šค์— ์˜ํ•ด ๊ฐœ๋ฐœ๋œ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DVCS)์œผ๋กœ, ๊ณผ๊ฑฐ๋ถ€ํ„ฐ ํ˜„์žฌ๊นŒ์ง€์˜ ์ž‘์—…๊ณผ ๋ณ€๊ฒฝ์ ์„ ๊ธฐ๋กํ•˜๊ณ  ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ์ปดํ“จํ„ฐ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ฑฐ๋‚˜ ํŠน์ • ์‹œ์ ์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์œผ๋กœ ๋˜๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.  1. mac์—์„œ ์„ค์น˜ git์˜ ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์—์„œ download for Mac์„ ๋ˆ„๋ฅด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํŽ˜์ด์ง€๋กœ ์ด๋™๋œ๋‹ค  git์„ ์„ค์น˜ํ•˜๋Š”๋ฐ์—๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ homebrew๋กœ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ๋‹ค.๋ฌผ๋ก  ๊ทธ๋Ÿฌ๋ ค๋ฉด homebrew๋ฅผ ๋˜ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค... (์ด๋ฏธ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ํŒจ์Šคํ•ด๋„ ์ข‹๋‹ค)  + homebrew ์„ค์น˜homebrew ๊ณต์‹ ์‚ฌ์ดํŠธ์— ๊ฐ€๋ฉด ๋˜ ๋‹ค์–‘ํ•œ... ๊ฒŒ ๋งŽ์ด์žˆ์–ด์„œ ๋‹นํ™ฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ๋งจ ์œ„์— Install Homebrew ๋ฐ”๋กœ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•ด์ฃผ๊ณ  ํ„ฐ๋ฏธ..
javascript/์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ ์ผ๋‹จ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ž๋ฃŒํ˜•์„ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ์›์‹œ ์ž๋ฃŒํ˜•Number, String, Boolean, null, undefined ๋“ฑ... ๊ฐ์ฒด๋„ ์•„๋‹ˆ๊ณ  method๋„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ํƒ€์ž…๋ณ€์ˆ˜์— ์›์‹œ๊ฐ’์„ ์ €์žฅํ•˜๋ฉด ๋ณ€์ˆ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ฐ’์ด ์ €์žฅ๋˜๋ฉฐ, ํ• ๋‹นํ•œ ๋ณ€์ˆ˜๋ฅผ ์กฐ์ž‘ํ•˜๋ฉด ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ฐ’์ด ์กฐ์ž‘๋œ๋‹ค. ์ฐธ์กฐ ์ž๋ฃŒํ˜•๋ฐฐ์—ด, ๊ฐ์ฒด, ํ•จ์ˆ˜ ๋“ฑ...๋ณ€์ˆ˜์— ์ฐธ์กฐ ์ž๋ฃŒํ˜•์„ ์ €์žฅํ•˜๋ฉด ๋ณ€์ˆ˜์— ๊ฐ’์ด ์•„๋‹Œ ์ฃผ์†Œ(๊ฐ์ฒด ์ฐธ์กฐ, ์œ„์น˜ ๊ฐ’)๋ฅผ ๋…๋ฆฝ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(heap)์— ์ €์žฅํ•˜๊ณ ,๊ทธ ๊ณต๊ฐ„์„ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ์†Œ๊ฐ’์„ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์ฆ‰ ์ฐธ์กฐ ์ž๋ฃŒํ˜•์„ ํ• ๋‹น๋œ ๋ณ€์ˆ˜๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค ๊ฐ์ฒด ์ž์ฒด๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ํ•ด๋‹น ๊ฐ์ฒด์˜ ์ฐธ์กฐ๋ฅผ ์กฐ์ž‘ํ•จ=> ๊ฐ์ฒด๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ชจ๋“  ์†์„ฑ์ด ๋ณ€๊ฒฝ..
javascript/chart.js๋กœ ๊ทธ๋ž˜ํ”„ ๋งŒ๋“ค๊ธฐ chart.js๐Ÿ“Š: 8๊ฐœ์˜ ์ฐจํŠธ ์œ ํ˜•์„ ์ง€์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ https://www.chartjs.org/docs/latest/getting-started/ Getting Started | Chart.jsGetting Started Let's get started with Chart.js! Alternatively, see the example below or check samples. Create a Chart In this example, we create a bar chart for a single dataset and render it on an HTML page. Add this code snippet to your page: You shouldw..