์ „์ฒด ๊ธ€ 98

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] 2๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ | ๋ฐ์ดํ„ฐ ์ž…,์ถœ๋ ฅ ๊ตฌํ˜„

* ๊ฐœ์ธ ํ•™์Šต์„ ์œ„ํ•œ ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค. 2๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ 1์žฅ ๋ฐ์ดํ„ฐ ์ž…,์ถœ๋ ฅ ๊ตฌํ˜„ 034. ์ž๋ฃŒ ๊ตฌ์กฐ 1. ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ •์˜ ํšจ์œจ์ ์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ๋•Œ ๊ฐ€์žฅ ์šฐ์„ ์ ์ธ ๊ณ ๋ ค์‚ฌํ•ญ์€ ์ €์žฅ ๊ณต๊ฐ„์˜ ํšจ์œจ์„ฑ๊ณผ ์‹คํ–‰์‹œ๊ฐ„์˜ ์‹ ์†์„ฑ์ด๋‹ค. ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๋ฅผ ๊ธฐ์–ต์žฅ์น˜์˜ ๊ณต๊ฐ„ ๋‚ด์— ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ €์žฅ๋œ ๊ทธ๋ฃน ๋‚ด์— ์กด์žฌํ•˜๋Š” ์ž๋ฃŒ ๊ฐ„์˜ ๊ด€๊ณ„, ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• ๋“ฑ์„ ์—ฐ๊ตฌ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ 2. ์ž๋ฃŒ ๊ตฌ์กฐ์˜ ๋ถ„๋ฃŒ - ์„ ํ˜• ๊ตฌ์กฐ : ๋ฐฐ์—ด, ์„ ํ˜• ๋ฆฌ์ŠคํŠธ(์—ฐ์† ๋ฆฌ์ŠคํŠธ, ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ), ์Šคํƒ, ํ, ๋ฐํฌ - ๋น„์„ ํ˜• ๊ตฌ์กฐ : ํŠธ๋ฆฌ, ๊ทธ๋ž˜ํ”„ 3. ๋ฐฐ์—ด - ๋™์ผ ํ•œ ์ž๋ฃŒํ˜•์˜ ๋ฐ์ดํ„ฐ๋“ค์ด ๊ฐ™์€ ํฌ๊ธฐ๋กœ ๋‚˜์—ด๋˜์–ด ์ˆœ์„œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ง‘ํ•ฉ - ์ •์ ์ธ ์ž๋ฃŒ ๊ตฌ์กฐ๋กœ ๊ธฐ์–ต์žฅ์†Œ์˜ ์ถ”๊ฐ€๊ฐ€ ์–ด๋ ต๊ณ  ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‚ญ๋น„ ๆœ‰ - ์ฒจ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ..

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] 1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ | ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„

* ๊ฐœ์ธ ํ•™์Šต์„ ์œ„ํ•œ ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค. 1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ 3์žฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„ 027. ์‹œ์Šคํ…œ ์ธํ„ฐํŽ˜์ด์Šค ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ 1. ์‹œ์Šคํ…œ ์ธํ„ฐํŽ˜์ด์Šค ์š”๊ตฌ์‚ฌํ•ญ ๊ตฌ์„ฑ - ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„ - ์—ฐ๊ณ„๋Œ€์ƒ ์‹œ์Šคํ…œ - ์—ฐ๊ณ„ ๋ฒ”์œ„ ๋ฐ ๋‚ด์šฉ - ์†ก์‹  ๋ฐ์ดํ„ฐ * ์ˆ˜์‹  ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค - ์—ฐ๊ณ„ ๋ฐฉ์‹ - ์ธํ„ฐํŽ˜์ด์Šค ์ฃผ๊ธฐ - ๊ธฐํƒ€ ๊ณ ๋ ค์‚ฌํ•ญ 3. ์‹œ์Šคํ…œ ์ธํ„ฐํŽ˜์ด์Šค ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ์ ˆ์ฐจ 1. ์š”๊ตฌ์‚ฌํ•ญ ์„ ๋ณ„ 2. ์š”๊ตฌ์‚ฌํ•ญ ๊ด€๋ จ ์ž๋ฃŒ ์ค€๋น„ 3. ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„๋ฅ˜ 4. ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ๋ฐ ๋ช…์„ธ์„œ ๊ตฌ์ฒดํ™” 5. ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ ๊ณต์œ  028. ์ธํ„ฐํŽ˜์ด์Šค ์š”๊ตฌ์‚ฌํ•ญ ๊ฒ€์ฆ 1. ์š”๊ตฌ์‚ฌํ•ญ ๊ฒ€์ฆ - ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ์— ๋ช…์‹œ๋˜์–ด ์žˆ๋Š” ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ๋“ค์ด ์‹ค์ œ๋กœ ์‹คํ˜„ ๊ฐ€๋Šฅํ•œ์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๋‹จ๊ณ„ - ์š”๊ตฌ์‚ฌํ•ญ ๊ฒ€ํ†  ๊ณ„ํš ์ˆ˜๋ฆฝ -> ๊ฒ€ํ†  ๋ฐ ์˜ค๋ฅ˜ ์ˆ˜์ • -> ๋ฒ ์ด..

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] 1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ | ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„

* ๊ฐœ์ธ ํ•™์Šต์„ ์œ„ํ•œ ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค. 1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ 3์žฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„ 020. ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ 1. ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์˜ ์„ค๊ณ„ ๊ธฐ๋ณธ์›๋ฆฌ๋กœ๋Š” ๋ชจ๋“ˆํ™”, ์ถ”์ƒํ™”, ๋‹จ๊ณ„์  ๋ถ„ํ•ด, ์ •๋ณด์€๋‹‰์ด ์žˆ๋‹ค. 2. ๋ชจ๋“ˆํ™”(Modularity) ์†Œํ”„ํŠธ์›จ์–ด์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์˜ ์ˆ˜์ • ๋ฐ ์žฌ์‚ฌ์šฉ, ์œ ์ง€ ๊ด€๋ฆฌ ๋“ฑ์ด ์šฉ์ดํ•˜๋„๋ก ์‹œ์Šคํ…œ์˜๊ธฐ๋Šฅ๋“ค์„ ๋ชจ๋“ˆ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ 3. ์ถ”์ƒํ™” (Abstraction) ๋ฌธ์ œ์˜ ์ „์ฒด์ ์ด๊ณ  ํฌ๊ด„์ ์ธ ๊ฐœ๋…์„ ์„ค๊ฒŒํ•œ ํ›„ ์ฐจ๋ก€๋กœ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ๊ตฌ์ฒดํ™” ์‹œ์ผœ ๋‚˜๊ฐ€๋Š” ๊ฒƒ - ์ตœ์†Œ์˜ ๋น„์šฉ์œผ๋กœ ์‹ค์ œ ์ƒํ™ฉ์— ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๊ณ , ์‹œ;์Šคํ…œ์˜ ๊ตฌ์กฐ ๋ฐ ๊ตฌ์„ฑ์„ ๋Œ€๋žต์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. 4. ๋‹จ๊ณ„์  ๋ถ„ํ•ด(Stepwise Refinement) ํ•˜ํ–ฅ์‹ ์„ค๊ณ„ ์ „๋žต์œผ๋กœ, ๋ฌธ์ œ๋ฅผ ์ƒ์œ„์˜ ์ค‘์š” ๊ฐœ๋…์œผ๋กœ๋ถ€ํ„ฐ ํ•˜..

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] 1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ | ํ™”๋ฉด ์„ค๊ณ„

* ๊ฐœ์ธ ํ•™์Šต์„ ์œ„ํ•œ ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค. 1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ 2์žฅ ํ™”๋ฉด ์„ค๊ณ„ 010. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค 3. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌ๋ถ„ - CLI : ๋ช…๋ น๊ณผ ์ถœ๋ ฅ์ด ํ…์ŠคํŠธ ํ˜•ํƒœ - GUI : ์•„์ด์ฝ˜+๋ฉ”๋‰ด ๋งˆ์šฐ์Šค๋กœ ์„ ํƒํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ทธ๋ž˜ํ”ฝ ํ™˜๊ฒฝ - NUI : ๋ง / ํ–‰๋™์œผ๋กœ ๊ธฐ๊ธฐ ์กฐ์ž‘ 4. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋ณธ ์›์น™ - ์ง๊ด€์„ฑ - ์œ ํšจ์„ฑ - ํ•™์Šต์„ฑ - ์œ ์—ฐ์„ฑ 011. UI ํ‘œ์ค€ ๋ฐ ์ง€์นจ ์›น์˜ 3์š”์†Œ : ์›น ํ‘œ์ค€, ์›น ์ ‘๊ทผ์„ฑ, ์›น ํ˜ธํ™˜์„ฑ ๋‚ด๋น„๊ฒŒ์ด์…˜ : ๋‚ด๋น„๊ฒŒ์ด์…˜์€ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์ดํŠธ์—์„œ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‚ดํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ž์šฉ์ž ์ค‘์‹ฌ - ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์–‘ํ•œ ๊ฒฝ๋กœ or ๋ฐฉ๋ฒ• ์ œ๊ณต - ๋ฉ”๋‰ด, ์‚ฌ์ดํŠธ๋งต, ๋ฒ„ํŠผ, ๋งํฌ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š”๋ฐ, ์ด๋“ค ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง..

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] 1๊ณผ๋ชฉ | ์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ

* ๊ฐœ์ธ ํ•™์Šต์„ ์œ„ํ•œ ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค. 001. ์†Œํ”„ํŠธ์›จ์–ด ์ƒ๋ช…์ฃผ๊ธฐ | ํญํฌ์ˆ˜ ๋ชจํ˜•(Waterfall Model) ํญํฌ์ˆ˜ ๋ชจํ˜•์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ ๊ฐ€์žฅ ์˜ค๋ž˜๋˜๊ณ  ๊ฐ€์žฅ ํญ๋„“๊ฒŒ ์‚ฌ์šฉ๋จ, ๊ณ ์ „์  ์ƒ๋ช…์ฃผ๊ธฐ ๋ชจํ˜•์ด๋ผ๊ณ ๋„ ํ•จ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๊ณผ์ •์˜ ํ•œ ๋‹จ๊ณ„๊ฐ€ ๋๋‚˜์•ผ๋งŒ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ, ๋ณ‘์ƒ ์ˆ˜ํ–‰ X ๋งค๋‰ด์–ผ ์ž‘์„ฑ ํƒ€๋‹น์„ฑ ๊ฒ€ํ†  -> ๊ณ„ํš -> ์š”๊ตฌ๋ถ„์„ -> ์„ค๊ณ„ -> ๊ตฌํ˜„(์ฝ”๋”ฉ) -> ์‹œํ—˜(๊ฒ€์‚ฌ) -> ์œ ์ง€๋ณด์ˆ˜ | ํ”„๋กœํ† ํƒ€์ž… ๋ชจํ˜•(Prototype Model, ์›ํ˜•๋ชจํ˜•) : ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ •ํ™•ํ•˜๊ธฐ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์‹ค์ œ ๊ฐœ๋ฐœ๋  ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ๊ฒฌ๋ณธํ’ˆ์„ ๋งŒ๋“ค์–ด ์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ์„ ์˜ˆ์ธกํ•˜๋Š” ๋ชจํ˜• ์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ ์‚ฌ์ด์˜ ์ธํ„ฐํŽ˜์ด์Šค์— ์ค‘์ ์„ ๋‘์–ด ๊ฐœ๋ฐœ SW ๊ฐœ๋ฐœ ์™„๋ฃŒ ์‹œ์ ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋Š” ํญํฌ์ˆ˜ ๋ชจํ˜•์˜ ๋‹จ์ ์„ ๋ณด์™„ | ๋‚˜์„ ..

[React] ESLint์™€ Prettier ์„ค์ •ํ•˜๊ธฐ (++TypeScript)

์žŠ๊ธฐ์ „์— ๊ธฐ๋กํ•˜๊ธฐ TypeScript ๊ธฐ๋ฐ˜ React์—์„œ ESLint์™€ Prettier ์„ค์ •๋ฒ• ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ( ์ง„ํ–‰ํ•˜๋˜ ํ”„๋กœ์ ํŠธ์—์„œ ์„ค์ •ํ•  ๊ฒฝ์šฐ ์ถฉ๋Œ์ด ๋‚  ์ˆ˜ ์žˆ์œผ๋‹ˆ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์ „! ์„ค์ •ํ•˜์ž) npx create-react-app my-app --template typescript 2. ESLint์™€ Prettier ์„ค์น˜ npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-config-prettier eslint-plugin-prettier prettier 3. ESLint ์„ค์ • ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ํด๋”์— .eslintrc.js๋ฅผ ์ƒ์„ฑ ํ›„ ๋‹ค์Œ ๋‚ด์šฉ ์ถ”๊ฐ€ module.exports = {..

[react] react-globe.gl ์ด์šฉํ•ด์„œ ์ง€๊ตฌ๋ณธ ๋งŒ๋“ค๊ธฐ(1)

three.js ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ง์ ‘ ์ง€๊ตฌ๋ณธ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, react์—์„œ ์ข€๋” ๊ฐ„ํŽธํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ง€๊ตฌ๋ณธ์„ ๊ตฌํ˜„ํ•ด๋ณด๋ ค ํ•œ๋‹ค. โ€ป npm์ด ์•„๋‹Œ yarn์„ ํ†ตํ•ด ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค โ€ป ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” react-globe.gl ์ด๋‹ค. react-globe.gl๋Š” React + ThreeJS๋กœ ํŽธํ•˜๊ฒŒ ๋‹ค์–‘ํ•œ ์ง€๊ตฌ๋ณธ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. Install yarn add react-globe.gl Use import Globe from 'react-globe.gl'; function MyGlobe(){ return( ) } export default MyGlobe; globeImageUrl ์„ ๋„ฃ์–ด์ฃผ์ง€ ์•Š์œผ๋ฉด ์ด๋Ÿฌํ•œ ๊ฒ€์€ ๊ตฌ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค ๊ผญ ๋„ฃ์–ด์ฃผ์ž!! (์ด์œ ๋ฅผ ๋ชฐ๋ผ์„œ ํ•œ์ฐธ ํ—ค๋งธ๋Š”๋ฐ README์— ๋„ˆ..

[react] yarn ์œผ๋กœ react ์•ฑ ์ƒ์„ฑ, ์‹คํ–‰ํ•˜๊ธฐ

ํ‰์†Œ npm์„ ์ด์šฉํ•˜๋Š” ํŽธ์ด์—ˆ์ง€๋งŒ ์ด๋ฒˆ ์ƒˆ ํ”„๋กœ์ ํŠธ๋Š” yarn์„ ์ด์šฉํ•˜์—ฌ ์ง„ํ–‰ํ•ด๋ณด๋ ค ํ•œ๋‹ค. ๋จผ์ € yarn์œผ๋กœ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•ด๋ณด์ž yarn ์œผ๋กœ ๋ฆฌ์•กํŠธ ์‹œ์ž‘ํ•˜๊ธฐ npm install --global yarn // npm์„ ์ด์šฉํ•ด์„œ !global!์— yarn ์„ค์น˜ yarn -- version yarn create react-app my-app yarn cd my-app yarn start npm๊ณผ react์•ฑ ์ƒ์„ฑ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฅด๋‹ˆ ํ™•์ธํ•˜์ž!!