Share
Sign In
Subscribe
๐Ÿค์ฑ„์šฉ์ •๋ณด ๊ฒŒ์‹œํŒ๐Ÿค
ํ˜ผ์ž๋งŒ ์•Œ๊ธฐ ์•„๊นŒ์šด ์ฑ„์šฉ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค.
*์ž์œ ๋กญ๊ฒŒ ์ž‘์„ฑํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค.
paul
๋””์›จ์ผ
๋ฐฑ์—”๋“œ(JAVA) ๊ฐœ๋ฐœ์ž (์‹ ์ž…~) [์กฐ์ง์†Œ๊ฐœ] CLAP ์„œ๋น„์Šค ํŒ€์€ ๋„ค์ด๋ฒ„, ๋ผ์ธ, ์‚ผ์„ฑ ์ถœ์‹ ์˜ IT์—…๊ณ„ ํ•ต์‹ฌ๋ฉค๋ฒ„๋กœ ๊ตฌ์„ฑ๋œ ํŒ€์ž…๋‹ˆ๋‹ค. CLAP์—์„œ ํ•จ๊ป˜ ์Šคํƒ€ํŠธ์—… ์ƒํƒœ๊ณ„์˜ ํ˜์‹ ์„ ๋งŒ๋“ค์–ด๊ฐˆ ๋ฉ‹์ง„ ๋™๋ฃŒ๋“ค์„ ์ฐพ์Šต๋‹ˆ๋‹ค! ๋‹ค์–‘ํ•œ ์„ฑ๊ณต ์ผ€์ด์Šค๋ฅผ ๊ฒฝํ—˜ํ•œ ๋ฉค๋ฒ„๋“ค๊ณผ ์˜ค์ง ๊ณ ๊ฐ์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์„œ๋น„์Šค๋ฅผ ํ•จ๊ป˜ ๋งŒ๋“ค์–ด ๊ฐ€๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. [์ด๋Ÿฐ ๋ถ„์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์–ด์š”] โ€ข ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๋Šฅ๋ ฅ์น˜๋ฅผ ์˜ฌ๋ ค์ฃผ๋Š” ๋™๋ฃŒ โ€ข ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๋Šฅ๋ ฅ ํ–ฅ์ƒ์„ ๋•๋Š” ๋™๋ฃŒ, ๊ฐ™์ด ์ผํ•˜๊ธฐ ์–ด๋ ต์ง€ ์•Š์€ ๋™๋ฃŒ, ๊ณต์œ ๋ฅผ ์ž˜ํ•˜๋Š” ๋™๋ฃŒ โ€ข ๊ณต๋™์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ , ๋จผ์ € ์•ž์žฅ์„œ๋Š” ๋™๋ฃŒ โ€ข ์ผ์— ๋Œ€ํ•œ '๊ฑฑ์ •'๋ณด๋‹ค๋Š” '๊ธฐ๋Œ€'๊ฐ€ ๋” ํฐ ๋ถ„! ์ฃผ์š”์—…๋ฌด โ€ข Spring ๊ธฐ๋ฐ˜์˜ ์„œ๋ฒ„ ๊ฐœ๋ฐœ โ€ข AWS ๊ธฐ๋ฐ˜์˜ ์ธํ”„๋ผ ์šด์˜ โ€ข ๊ฐ์ข… ์™ธ๋ถ€ ์„œ๋น„์Šค ์—ฐ๋™ (Slack, Google ๋“ฑ) ์ž๊ฒฉ์š”๊ฑด โ€ข Spring ๊ธฐ๋ฐ˜์˜ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ฒฝํ—˜ โ€ข RDB์‚ฌ์šฉ ๊ฒฝํ—˜ โ€ข ์ง€์†์ ์ธ ์„ฑ์žฅ์„ ํ•จ๊ป˜ ํ•˜์‹ค๋ถ„ โ€ข 6๊ฐœ์›”๋‚ด ์ง€์›์ด๋ ฅ์ด ์—†๋Š”๋ถ„ ์šฐ๋Œ€์‚ฌํ•ญ โ€ข ์ปดํ“จํ„ฐ๊ณตํ•™ ์ „๊ณต ๋˜๋Š” ๊ทธ์— ์ค€ํ•˜๋Š” ๊ด€๋ จ ์ „๊ณต์ž โ€ข AWS, GCP, Azure ๋“ฑ ํ•˜๋‚˜ ์ด์ƒ์˜ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์ด์šฉ ๊ฒฝํ—˜ โ€ข JPA, Hibernate ๋“ฑ ORM ์‚ฌ์šฉ๊ณผ ๋„๋ฉ”์ธ ๋ชจ๋ธ๋ง ๊ฒฝํ—˜ โ€ข ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฌธํ™” ๊ฒฝํ—˜ ํ˜œํƒ ๋ฐ ๋ณต์ง€ โ€ข 100% ์žฌํƒ ๊ทผ๋ฌด โ€ข ์—…๋ฌด์‹œ๊ฐ„์„ ์ž์œจ์ ์œผ๋กœ ์šด์˜ํ•˜๋Š” ์œ ์—ฐ๊ทผ๋ฌด์ œ (์ถœ๊ทผํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์ถœ๊ทผ, ํ‡ด๊ทผ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ํ‡ด๊ทผ!) โ€ข 500๋งŒ์› ์ƒ๋‹น์˜ ์ตœ์‹  ์žฅ๋น„ ์ง€์›. 3๋…„ ๋งˆ๋‹ค ์‹ ๊ทœ ์žฅ๋น„ ๊ต์ฒด! โ€ข ์„ฑ๊ณผ์— ๋”ฐ๋ฅธ ์ธ์„ผํ‹ฐ๋ธŒ ๋˜๋Š” ์Šคํ†ก์˜ต์…˜ ๋ถ€์—ฌ ๊ธฐํšŒ ์ œ๊ณต โ€ข ์‹๋น„ ๋ฐ ๊ฐœ์ธ ์—…๋ฌด์ง€์›๋น„ ์—ฐ๊ฐ„ ์•ฝ 200๋งŒ์› ์ง€์› โ€ข ๊ฑด๊ฐ•๊ฒ€์ง„ ์ง€์› โ€ข ์‚ฌ๋ฌด์‹ค ์ถœ๊ทผ์‹œ ๋‹ค์–‘ํ•œ ๊ฐ„์‹๊ณผ ๋จน๊ฑฐ๋ฆฌ๊ฐ€ ๋ฌด์ œํ•œ ์ œ๊ณต โ€ข ์—…๋ฌด ๊ด€๋ จ ๋„์„œ ๋ฐ ์ฝ˜ํ…์ธ  ๊ตฌ์ž…๋น„ ์ง€์› โ€ข ์ง๋ฌด ๊ด€๋ จ ์ปจํผ๋Ÿฐ์Šค ๋ฐ ์™ธ๋ถ€ ๊ต์œก ์ฐธ์—ฌ ์ง€์› โ€ข ๋ช…์ ˆ ์„ ๋ฌผ ์ฑ„์šฉ ์ „ํ˜• ์„œ๋ฅ˜ ์‹ฌ์‚ฌ - 1์ฐจ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ(๋น„๋Œ€๋ฉด), -2์ฐจ ์ธํ„ฐ๋ทฐ(๋น„๋Œ€๋ฉด), - 3์ฐจ ๋Œ€๋ฉด ๋ฐ ๊ทผ๋ฌด์กฐ๊ฑด ํ˜‘์˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋Š” ์ผ๋ฐ˜์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ์ž๋ฐ”์˜ ๊ฐ์ฒด์ง€ํ–ฅ, ์ถ”์„ฑํ™”, ๋™์‹œ์„ฑ๋“ฑ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฌธ์ œ โ€ข ์ ์‹ฌ ์‹œ๊ฐ„, ์ €๋… ์‹œ๊ฐ„์—๋„ ์ธํ„ฐ๋ทฐ ๊ฐ€๋Šฅ โ€ข ๊ณ ์šฉํ˜•ํƒœ : ์ •๊ทœ์ง(์ˆ˜์Šต๊ธฐ๊ฐ„ 3๊ฐœ์›”, ์ˆ˜์Šต๊ธฐ๊ฐ„ ๋‚ด ๋™๋ฃŒ ํ‰๊ฐ€ ํ›„ ๋ณธ ์ฑ„์šฉ ๊ฒฐ์ •) ์ถœ์ฒ˜)์›ํ‹ฐ๋“œ
paul
ํŽ€์น˜๋žฉ
์›น ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์ž(์‹ ์ž…) ํฌ์ง€์…˜ ์ƒ์„ธ ์ด๋ ฅ์„œ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ์ˆœ์„œ๋Œ€๋กœ ๋ฉด์ ‘์ด ์ง„ํ–‰๋˜๋ฉฐ, ์ฑ„์šฉ์‹œ ์กฐ๊ธฐ ๋งˆ๊ฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ํŽ€์น˜๋žฉ์˜ ๋Œ€ํ‘œ ์„œ๋น„์Šค ๋จธ๋จธ(murmur) AI ์ƒ์„ฑ admin์„ ์œ„ํ•œ ์›น ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๋ฐ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š”์—…๋ฌด React: React๋ฅผ ์‚ฌ์šฉํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„ ๋ฐ ๊ฐœ๋ฐœ TypeScript: TypeScript๋ฅผ ํ™œ์šฉํ•œ ์•ˆ์ „ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์ž‘์„ฑ CSS: ํšจ์œจ์ ์ด๊ณ  ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ์„ ์œ„ํ•œ CSS ํผ๋ธ”๋ฆฌ์‹ฑ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ (REST & GraphQL): ๋ฐฑ์—”๋“œ์™€์˜ ์›ํ™œํ•œ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ์œ„ํ•œ REST ๋ฐ GraphQL API ๊ตฌํ˜„ UI/UX ๋””์ž์ธ ํ˜‘์—…**: UI/UX ๋””์ž์ด๋„ˆ์™€ ํ˜‘๋ ฅํ•˜์—ฌ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ ์ž๊ฒฉ์š”๊ฑด ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ ๋ฐ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ  ํ•™์Šต์— ๋Œ€ํ•œ ๊ฐ•ํ•œ ์˜์ง€ ํŒ€ ๋‚ด์™ธ๋ถ€์—์„œ ํšจ๊ณผ์ ์ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋ฐ ํ˜‘๋ ฅ ๋Šฅ๋ ฅ ์ปดํ“จํ„ฐ ๊ณผํ•™ ๋˜๋Š” ๊ด€๋ จ ๋ถ„์•ผ์˜ ํ•™์‚ฌ ํ•™์œ„ ๋ฐ ์ƒ์‘ํ•˜๋Š” ๊ฒฝํ—˜ ์šฐ๋Œ€์‚ฌํ•ญ React์™€ ๊ด€๋ จ๋œ ํ”„๋กœ์ ํŠธ๋‚˜ ์ธํ„ด์‹ญ ๊ฒฝํ—˜ TypeScript ์‚ฌ์šฉ ๊ฒฝํ—˜ CSS๋ฅผ ํ™œ์šฉํ•œ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ ๋ฐ ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ๊ฒฝํ—˜ CI/CD: ์ง€์†์  ํ†ตํ•ฉ(CI) ๋ฐ ์ง€์†์  ๋ฐฐํฌ(CD)์— ๋Œ€ํ•œ ์ดํ•ด ๋ฐ Jenkins, GitLab CI ๋“ฑ์˜ ๋„๊ตฌ ์‚ฌ์šฉ ๊ฒฝํ—˜ Git์„ ํ†ตํ•œ ์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ ๋ฐ ํ˜‘์—… ๊ฒฝํ—˜
paul
ํ† ์Šค ํ”„๋ก ํŠธ์—”๋“œ ๊ณต๊ฐœ ์ฑ„์šฉ
์„œ๋ฅ˜ํŒจ์Šค 6์›” 10์ผ ~ 6์›” 21์ผ(์ดํ›„์—๋„ ์ฑ„์šฉ ์˜คํ”ˆ) ํ† ์Šค๊ฐ€ ์ถœ์‹œํ•œ ์ œํ’ˆ์ด ์‹œ์žฅ์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ์—ญํ• ์„ ์ฐพ์•„ ์„ฑ์ˆ™ํ•œ ์„œ๋น„์Šค๋กœ ์„ฑ์žฅ์‹œํ‚ค๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•ด์š”. ํ† ์Šค๋Š” ์•ฑ ๋‚ด์— ๋‹ค์–‘ํ•œ ์›น ํŽ˜์ด์ง€๊ฐ€ ๊ตฌํ˜„๋˜๊ณ  ์žˆ์–ด์š”! ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ์ฒ˜๋Ÿผ ํ† ์Šค ์„œ๋น„์Šค๋ฅผ ํŒŒํŠธ๋„ˆ ์‚ฌ์™€ ํ˜‘์—…ํ•˜์—ฌ ์ˆ˜์‹œ๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•ด์š”. ๋‹จ 1๋ถ„ ๋งŒ์— ํ”„๋ก ํŠธ์—”๋“œ ์›น ์„œ๋น„์Šค๊ฐ€ ๋นŒ๋“œ๋˜๊ณ  ๋ฐฐํฌ๋˜๋Š” ํ™˜๊ฒฝ์ฒ˜๋Ÿผ, ์ตœ๊ณ ์˜ ์‚ฌ์šฉ๊ฐ์„ ์œ„ํ•ด ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ฐœ์„ ํ•˜๊ณ  ์žˆ์–ด์š”. React, Vue, Angular ๋“ฑ SPA ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉ์— ๋Šฅ์ˆ™ํ•˜์‹  ๋ถ„์ด๋ฉด ์ข‹์•„์š”. ๋‹จ์ˆœํžˆ ์ฃผ์–ด์ง„ ๊ฐœ๋ฐœ์„ ํ•ด๋‚ด๋Š” ๊ฒƒ๋ณด๋‹ค, ์ฃผ๋„์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ๋ถ„์„ํ•ด ์†”๋ฃจ์…˜์„ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ„์ด ํ•„์š”ํ•ด์š”. TypeScript, Flow๋ฅผ ์ด์šฉํ•œ JavaScript ์ •์  ํƒ€์ž… ๋ถ„์„์„ ๊ฒฝํ—˜ํ•ด๋ณด์‹  ๋ถ„์ด๋ฉด ์ข‹์•„์š”. ์ฝ”์–ด: React, TypeScript, Next.js ์ƒํƒœ ๊ด€๋ฆฌ: React-Query, Recoil ์Šคํƒ€์ผ๋ง: Emotion ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €: Yarn Berry, PNPM ๋นŒ๋“œ: Webpack, ESBuild, SWC, Babel CI/CD: GitHub Actions, CircleCI ํ† ์Šค๋กœ์˜ ํ•ฉ๋ฅ˜ ์—ฌ์ • ์„œ๋ฅ˜์ ‘์ˆ˜ > ์‚ฌ์ „๊ณผ์ œ > ์ง๋ฌด ์ธํ„ฐ๋ทฐ > ๋ฌธํ™”์ ํ•ฉ์„ฑ ์ธํ„ฐ๋ทฐ > ๋ ˆํผ๋Ÿฐ์Šค ์ฒดํฌ > ์ฒ˜์šฐํ˜‘์˜ > ์ตœ์ข…ํ•ฉ๊ฒฉ ๋ฐ ์ž…์‚ฌ
๐Ÿ˜€๐Ÿ‘
2