2026 ๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์บ ํ”„ ์›นใƒป๋ชจ๋ฐ”์ผ 10๊ธฐ ๋ฉค๋ฒ„์‹ญ ์ˆ˜๋ฃŒ ํ›„๊ธฐ
ยท
โœ๏ธ ๊ฐœ๋ฐœํšŒ๊ณ ๋ก
1. ์ง€์› ๊ณ„๊ธฐ — ์™œ ๋ถ€์ŠคํŠธ์บ ํ”„์˜€๋Š”๊ฐ€์šฐ์„ , ๋‚˜๋Š” ๋ถ€์ŠคํŠธ์บ ํ”„๋ฅผ ์ง€์› ๋‹น์‹œ ๋‚˜๋Š” ์กธ์—…์„ ์•ž๋‘๊ณ  ์ทจ์—… ์ค€๋น„๋ฅผ ํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์˜€๋‹ค. ๋ฐ”๋กœ ์ทจ์—… ์ค€๋น„๋ฅผ ํ• ์ง€ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€, ์“ฐ๋”” ์“ด ํƒˆ๋ฝ์˜ ๊ณ ๋น„๋ฅผ ๋งˆ์…จ๊ณ ... ๐Ÿฅน[๋„ค์ด๋ฒ„ํŽ˜์ด] ์ฑ„์šฉ ์—ฐ๊ณ„ํ˜• FE ๊ฐœ๋ฐœ ์ธํ„ด์‹ญ - ์„œ๋ฅ˜ ํ•ฉ, FE ํ…Œ์ŠคํŠธ ํƒˆ๋ฝICT ๊ธ€๋กœ๋ฒŒ ์ธํ„ด์‹ญ 1์ฐจ - ์„œ๋ฅ˜ ์ „๋ถ€ ํƒˆ๋ฝICT ๊ธ€๋กœ๋ฒŒ ์ธํ„ด์‹ญ 2์ฐจ - ์„œ๋ฅ˜ ํ•œ๊ณณ ํ†ต๊ณผ, ์ตœ์ข… ๋ฉด์ ‘ ํƒˆ๋ฝ์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค 6๊ธฐ ํ”„๋ฆฌ์ฝ”์Šค ํƒˆ๋ฝ[๋„ค์ด๋ฒ„๋žฉ์Šค] Frontend Engineer (์ธํ„ด์‹ญ/์ž์œจ์ฃผํ–‰) ์„œ๋ฅ˜ ํƒˆ๋ฝ์นด์นด์˜ค ๊ณต์ฑ„ 1์ฐจ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํƒˆ๋ฝ[ํ† ์Šค] Frontend Developer Assistant ํƒˆ๋ฝ์Šค์Šค๋กœ ๋” ์„ฑ์žฅ๊ณผ ํ•™์Šต์ด ํ•„์š”ํ•˜๊ฒ ๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ ธ๋‹ค.์‹คํŒจ ์›์ธ์„ ๋ถ„์„ํ•ด๋ณด์•˜์„ ๋•Œ ํฌ๊ฒŒ 3๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ์—ˆ๋‹ค.์ง€๋‚˜์น˜๊ฒŒ ํ”„๋ก ํŠธ..
๋‹น๊ทผ ๋งˆ์ผ“ ํ”„๋ก ํŠธ์—”๋“œ ์ธํ„ด์‹ญ ๋ฉด์ ‘ ํ›„๊ธฐ - local Busness
ยท
โœ๏ธ ๊ฐœ๋ฐœํšŒ๊ณ ๋ก
๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.
์›น ํ”„๋ก ํŠธ์—”๋“œ ์„ฑ๋Šฅ ์ตœ์ ํ™”
ยท
๐ŸŒ WEB
1. ์›น ์‚ฌ์ดํŠธ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•๋ฒ ์ŠคํŠธ : ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š๋Š”๋‹ค.ํ˜„์‹ค์ ์ธ ์„ ํƒ : ๋œ ์ผํ•œ๋‹ค.2. ์ตœ์ ํ™” ์ž‘์—… ์ง„ํ–‰ ํ๋ฆ„์ง„๋‹จ > ๊ฐœ์„  > ํ…Œ์ŠคํŠธ > ์ง„๋‹จ1. ์ง„๋‹จ์ฒซ ํŽ˜์ด์ง€ ์™œ ์ด๋ ‡๊ฒŒ ๋А๋ฆผ?Core Web VitalsFirst Contentful PaintLagest Contentful PaintCumulative Layout Shift์™œ ์ด๋ ‡๊ฒŒ ๋Šฆ๊ฒŒ ๋ฐ˜์‘ํ•จ?Core Web VitalsInteraction to Next Paint์™œ ์ด๋ ‡๊ฒŒ ๋Š๊น€?์• ๋‹ˆ๋ฉ”์ด์…˜ ๋™์ž‘ํฌ๋กฌ ๊ฐœ๋ฐœ์ž๋„๊ตฌ - lighthouseํฌ๋กฌ ๊ฐœ๋ฐœ์ž๋„๊ตฌ - performance, memory(๋ˆ„์ˆ˜๋Š” ์—†๋‚˜?) 2.1 ๋ฌธ์ œ ํ•ด๊ฒฐ - ๋กœ๋”ฉ ์ง€์—ฐHTML Parsing ๋ฐฉํ•ดํ•˜์ง€ ์•Š๊ธฐscript ์œ„์น˜ ์กฐ์ • (body ๋์œผ๋กœ ์ด๋™)defer/async ์†์„ฑ ํ™œ์šฉBu..
์›น์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
ยท
๐Ÿ’ป CS/์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ
1. HTTP ๋ฐ TCP/IP1.1 TCP์™€ IP์˜ ์—ญํ• IP (Internet Protocol): ๋ฐ์ดํ„ฐ๋ฅผ ๋ชฉ์ ์ง€๊นŒ์ง€ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• .TCP๋Š” IP ์œ„์—์„œ ์ž‘๋™ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ํŒจํ‚ท์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ „์†กํ•œ ํ›„ ์ˆ˜์‹  ์ธก์—์„œ ์ด๋ฅผ ์žฌ์กฐ๋ฆฝ.TCP (Transmission Control Protocol): ๋ฐ์ดํ„ฐ ์ „์†ก์˜ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅ.1.2 HTTP ํ†ต์‹ ์˜ ํŠน์ง•HTTP (Hypertext Transfer Protocol): ์š”์ฒญ-์‘๋‹ต ๊ธฐ๋ฐ˜์˜ ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ.ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•˜๋Š” ๊ตฌ์กฐ๋กœ, ์ •์  ์ฝ˜ํ…์ธ  ๋กœ๋“œ, ํผ ๋ฐ์ดํ„ฐ ์ „์†ก, API ํ˜ธ์ถœ ๋“ฑ ์ผํšŒ์„ฑ ์š”์ฒญ์— ์ ํ•ฉ.์š”์ฒญ-์‘๋‹ต ๊ตฌ์กฐ: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, ์š”์ฒญ๋งˆ๋‹ค ์ƒˆ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Œ.๋ฌด์ƒํƒœ์„ฑ: HTTP..
ํ”„๋ก ํŠธ์—”๋“œ ์ž์ž˜ํ•œ ํ”ผ๋“œ๋ฐฑ
ยท
๐Ÿ’™ ํ”„๋ก ํŠธ์—”๋“œ(FE)
vite proxy ์„ค์ •์„ ํ†ตํ•ด์„œ ๋ฐฑ์—”๋“œ ์—ฐ๋™์‹œ๋„๊ฐ€ ์ข‹์Œ// vite.config ํŒŒ์ผexport default defineConfig({ server: { proxy: { '/api': 'http://localhost:8080', }, },});๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐfeatures ์ค‘์‹ฌ?src/โ”œโ”€โ”€ app/โ”œโ”€โ”€ entities/โ”œโ”€โ”€ features/โ”œโ”€โ”€ shared/โ”œโ”€โ”€ widgets/โ”œโ”€โ”€ pages/๋ฃฐ์„ ๋งŒ๋“ค๊ณ  => ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ AI์—๊ฒŒ ๋ถ€ํƒ.ํ™•์žฅ์žํƒ€์ž…ํŒŒ์ผ์ด๋ฉด ts๋กœ/types/Window.tsany ํƒ€์ž…interface BootStoreState { bootStatus: BootStatus; systemData: any; errorMessage: string | nul..
RAG ์—ฐ๋™ ์›น ์•ฑ
ยท
๐ŸŒ WEB
1. RAG ?๊ฒ€์ƒ‰(Retrieval) + ๋‹ต๋ณ€ ์ƒ์„ฑ(Generation)์„ ๊ฒฐํ•ฉํ•œ ๊ธฐ์ˆ . ๋งˆ์น˜ ์˜คํ”ˆ๋ถ ์‹œํ—˜์ฒ˜๋Ÿผ, ํ•„์š”ํ•œ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ณด๋ฉด์„œ ๋‹ต๋ณ€ํ•˜๋Š” ๋ฐฉ์‹.์™ธ๋ถ€ ๋ฌธ์„œ๋ฅผ ์—…๋กœ๋“œํ•˜๊ณ  ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•  ๋•Œ ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ LLM์ด ๋” ์ •ํ™•ํ•œ ๋‹ต๋ณ€์„ ์ƒ์„ฑ.์™œ ํ•„์š”ํ• ๊นŒ?LLM์€ ํ•™์Šต ๋ฐ์ดํ„ฐ์—๋งŒ ์˜์กด. ํ•˜์ง€๋งŒ RAG๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด?์ตœ์‹  ์ •๋ณด ํ™œ์šฉ ๊ฐ€๋Šฅ์‚ฌ๋‚ด ๋ฌธ์„œ, ๊ฐœ์ธ ์ž๋ฃŒ ๋“ฑ ์™ธ๋ถ€ ์ง€์‹ ํ™œ์šฉHallucination(ํ—›์†Œ๋ฆฌ) ๊ฐ์†Œ๋‹ต๋ณ€์˜ ์ถœ์ฒ˜ ์ถ”์  ๊ฐ€๋Šฅ2. ๋ฐ๋ชจ2.1 ์š”์•ฝ๋ฌธ์„œ๋ฅผ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด์„œ Vector DB์— ์ €์žฅ์งˆ๋ฌธ๋„ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์œ ์‚ฌํ•œ ๋ฌธ์„œ ๊ฒ€์ƒ‰๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ + ์งˆ๋ฌธ์„ LLM์— ์ „๋‹ฌํ•ด ๋‹ต๋ณ€ ์ƒ์„ฑ2.2 ์ค€๋น„Gemini key ์ƒ์„ฑํ•ด์„œ ๊ฐ€์ ธ์˜ค๊ธฐhttps://aistudio.google.com/api-key..
Next.js ์‹œ์ž‘ํ•˜๊ธฐ
ยท
๐Ÿ’™ ํ”„๋ก ํŠธ์—”๋“œ(FE)
CH 1. Next.js 16 ๊ธฐ๋ณธ ๊ตฌ์กฐ ๋ฐ ์ •์  UI ๊ตฌ์ถ•1-1. React์™€ Next.js์˜ ์ฐจ์ด์ React๋Š” UI๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ ์ธก ๋ Œ๋”๋ง(CSR)๋งŒ ์ง€์›.Next.js๋Š” React๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ธฐ๋Šฅ(๋ผ์šฐํŒ…, ๋ฐ์ดํ„ฐ ํŽ˜์นญ, ๋นŒ๋“œ ์‹œ์Šคํ…œ)์„ ๊ฐ–์ถ˜ ํ’€์Šคํƒ ํ”„๋ ˆ์ž„์›Œํฌ.์„œ๋ฒ„ ์ธก ๋ Œ๋”๋ง(SSR), ์ •์  ์ƒ์„ฑ(SSG) ๋“ฑ ๋‹ค์–‘ํ•œ ๋ Œ๋”๋ง ๋ฐฉ์‹์„ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตSEO(๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™”)์— ์œ ๋ฆฌ๋” ๋น ๋ฅธ ๋กœ๋”ฉ ์ง€์› (ํด๋ผ์ด์–ธํŠธ ๋กœ๋“œ ๋ถ€๋‹ด ๊ฐ์†Œ )Server Component๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ๊ฒฝ๊ณ„๋ฅผ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•จ.1-2 todo ๊ฐœ๋ฐœ ๋ฒ”์œ„Read (์ฝ๊ธฐ): ToDo ๋ฆฌ์ŠคํŠธ๋ฅผ ์„œ๋ฒ„์—์„œ ๊ฐ€์ ธ์™€ ๋ณด์—ฌ์คŒ.๊ฐ„๋‹จํ•œ ํ† ๊ธ€ : ToDo ์™„๋ฃŒ ํ‘œ์‹œCr..
ํ”„๋ก ํŠธ์—”๋“œ ํ…Œ์ŠคํŠธ ๋„๊ตฌ ( MSW, Vitest, React Testing Library )
ยท
๐Ÿ’™ ํ”„๋ก ํŠธ์—”๋“œ(FE)
1. MSW ๋ฐฉ์‹์˜ mocking ์„œ๋ฒ„ ๊ตฌํ˜„feat.md ์— ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ง„ํ–‰.๋™์ž‘ ์ฒดํฌ~์„œ๋ฒ„ ์‹คํ–‰service worker ๊ธฐ๋ฐ˜ ์‘๋‹ต ํ™•์ธ๊ตฌ์กฐ ์ดํ•ด ๋ฐ MSW ํ•™์Šต์ฐธ๊ณ . Service WorkerService Worker ๋“ฑ๋ก:์‹œ์ž‘์ฝ”๋“œ, worker.start() ์‹คํ–‰mockServiceWorker.js ํŒŒ์ผ์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์Šค๋ ˆ๋“œ์— ๋“ฑ๋ก๋„คํŠธ์›Œํฌ ๊ฐ€๋กœ์ฑ„๊ธฐ๋ชจ๋“  fetch ์š”์ฒญ์„ ๋„คํŠธ์›Œํฌ๋กœ ๋‚˜๊ฐ€๊ธฐ ์ „์— ๊ฐ€๋กœ์ฑ”.๊ฐ€๋กœ์ฑˆ ์š”์ฒญ(URL, ๋ฉ”์„œ๋“œ)์„ handlers.js์— ์ •์˜๋œ Mock ๋ชฉ๋ก๊ณผ ๋น„๊ตํ•˜์—ฌ ์ผ์น˜ํ•˜๋Š” ํ•ธ๋“ค๋Ÿฌ ์ฐพ๊ธฐ์ผ์น˜์‹œ : ์‹ค์ œ ์„œ๋ฒ„ ํ†ต์‹  ์—†์ด ํ•ธ๋“ค๋Ÿฌ์— ์ •์˜๋œ Mock ๋ฐ์ดํ„ฐ(JSON)๋ฅผ ์ฆ‰์‹œ ์ƒ์„ฑ๋ถˆ์ผ์น˜ : ์š”์ฒญ์„ bypassํ•˜์—ฌ ํ†ต๊ณผService Worker๋Š” ์ด Mock ์‘๋‹ต์„ ์›น ํŽ˜์ด์ง€์˜ fetch ํ˜ธ์ถœ..