TestForge | Aidevops | ๐Ÿ“Š Plogger โœ๏ธ Blog ๐Ÿ“š Docs
plogger

AI DevOps Korea

AI ์„œ๋น„์Šค ๊ฐœ๋ฐœ, ์šด์˜, ์„ฑ๋Šฅ๊ฐœ์„ ์„ ํ•˜๋‚˜์˜ ๋ฃจํ”„๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค

aidevops.kr์—์„œ LLMOps, RAG, AI Agent, ๊ด€์ธก์„ฑ, ํ‰๊ฐ€, ๋น„์šฉ-์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์‹ค์ „ ์šด์˜ ๊ด€์ ์œผ๋กœ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”ง Tools

Tools

๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋Š” ์—๋””ํ„ฐ, CLI, ํ˜‘์—… ๋„๊ตฌ, ์›Œํฌํ”Œ๋กœ์šฐ์™€ ์‹ค์ „ ์‚ฌ์šฉ ํŒ์„ ๋ชจ์•˜์Šต๋‹ˆ๋‹ค.

์ด ์นดํ…Œ๊ณ ๋ฆฌ์—๋Š” ํ˜„์žฌ 21๊ฐœ์˜ ํฌ์ŠคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Featured In This Category

๊ฐ€์žฅ ๋จผ์ € ์ฝ๊ธฐ ์ข‹์€ ๊ธ€

์—”์ง€๋‹ˆ์–ด๋ง ์ง€์‹ ์ง€๋„ ๋งŒ๋“œ๋Š” ๋ฒ•

๋ฌธ์„œ๊ฐ€ ๋Š˜์–ด๋‚ ์ˆ˜๋ก ์ฐพ๊ธฐ ์–ด๋ ค์›Œ์ง€๋Š” ๋ฌธ์ œ๋ฅผ ์ง€์‹ ์ง€๋„, ์†Œ์œ ๊ถŒ, ๊ฒ€์ƒ‰ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Popular Picks

์ด ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ๋งŽ์ด ์ฝ๊ธฐ ์ข‹์€ ๊ธ€

POPULAR

Git ๋ธŒ๋žœ์น˜ ์ „๋žต: Git Flow vs GitHub Flow vs Trunk-based

๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ, CI ์„ฑ์ˆ™๋„, ํ•ซํ”ฝ์Šค ์ฒ˜๋ฆฌ, ํŒ€ ๊ทœ๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์–ด๋–ค Git ๋ธŒ๋žœ์น˜ ์ „๋žต์ด ์‹ค์ „์— ๋งž๋Š”์ง€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. Git Flow, GitHub Flow, Trunk-based Development๋ฅผ ์šด์˜ ๊ด€์ ์—์„œ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

POPULAR

GitHub Copilot ์‹ค์ „ ํ™œ์šฉ ํŒ

๋ฐ˜๋ณต ์ฝ”๋“œ, ํ…Œ์ŠคํŠธ, ๋ฆฌ๋ทฐ ๋ณด์กฐ, ๋ฌธ์„œ ์ดˆ์•ˆ ์ž‘์„ฑ์—์„œ GitHub Copilot์„ ์•ˆ์ „ํ•˜๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋˜, ์—”์ง€๋‹ˆ์–ด๋ง ํŒ๋‹จ๋ ฅ์„ ์•ฝํ™”์‹œํ‚ค์ง€ ์•Š๋Š” ๊ธฐ์ค€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

POPULAR

Webpack์—์„œ Vite๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ์‹ค์ „ ๊ฐ€์ด๋“œ

๋‹จ์ˆœ config ๋ฒˆ์—ญ์ด ์•„๋‹ˆ๋ผ dev server ๋ชจ๋ธ ๋ณ€ํ™”, plugin inventory, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ฒ˜๋ฆฌ, ํ”„๋กœ๋•์…˜ ๊ฒ€์ฆ๊นŒ์ง€ ํฌํ•จํ•ด Webpack์—์„œ Vite๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์˜ฎ๊ธฐ๋Š” ๊ธฐ์ค€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Reading Flow

์ด ์ˆœ์„œ๋กœ ์ฝ์–ด๋ณด๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค

Key Tags

์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ํ•ต์‹ฌ ํƒœ๊ทธ

Archive

์ „์ฒด ๊ธ€

์—”์ง€๋‹ˆ์–ด๋ง ์ง€์‹ ์ง€๋„ ๋งŒ๋“œ๋Š” ๋ฒ•

๋ฌธ์„œ๊ฐ€ ๋Š˜์–ด๋‚ ์ˆ˜๋ก ์ฐพ๊ธฐ ์–ด๋ ค์›Œ์ง€๋Š” ๋ฌธ์ œ๋ฅผ ์ง€์‹ ์ง€๋„, ์†Œ์œ ๊ถŒ, ๊ฒ€์ƒ‰ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์—”์ง€๋‹ˆ์–ด๋ง ๋ฌธ์„œ ๊ฒ€์ƒ‰ ๊ตฌ์กฐ ์„ค๊ณ„

๋ฌธ์„œ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ๋ฌธ์ œ๋Š” ์ž‘์„ฑ๋ณด๋‹ค ํƒ์ƒ‰์ด ๋ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•œ ๋ฌธ์„œ ๊ตฌ์กฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ• ์ง€ ์‹ค๋ฌด ๊ด€์ ์—์„œ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

AI ์ฝ”๋”ฉ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๊ฐ€๋“œ๋ ˆ์ผ ์šด์˜๋ฒ•

AI ์ฝ”๋”ฉ ๋„๊ตฌ๋ฅผ ์“ฐ๋Š” ํŒ€์€ ์ƒ์‚ฐ์„ฑ๋งŒ์ด ์•„๋‹ˆ๋ผ ์•ˆ์ „ํ•œ ์ž‘์—… ๊ฒฝ๊ณ„๋„ ํ•จ๊ป˜ ์„ค๊ณ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์›Œํฌ์ŠคํŽ˜์ด์Šค ๊ฐ€๋“œ๋ ˆ์ผ ๊ธฐ์ค€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Docker Desktop ์‹ค์ „ ๊ฐ€์ด๋“œ: ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์šด์˜ ๊ธฐ์ค€

Docker Desktop์„ ๋‹จ์ˆœ ์‹คํ–‰ ๋„๊ตฌ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ํ‘œ์ค€ํ™” ์ˆ˜๋‹จ์œผ๋กœ ์“ฐ๊ธฐ ์œ„ํ•ด Compose ์„ค๊ณ„, ๋ณผ๋ฅจ ์ „๋žต, ๋ฆฌ์†Œ์Šค ํŠœ๋‹, Dev Container ํ™œ์šฉ ๊ธฐ์ค€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์—”์ง€๋‹ˆ์–ด๋ง ๋…ธํŠธ ์šด์˜๋ฒ•

๊ธฐ์–ต์— ์˜์กดํ•˜๋Š” ๊ฐœ๋ฐœ์€ ์‰ฝ๊ฒŒ ๋ฐ˜๋ณต ๋น„์šฉ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ฐœ์ธ๊ณผ ํŒ€์ด ํ•จ๊ป˜ ์“ฐ๋Š” ์—”์ง€๋‹ˆ์–ด๋ง ๋…ธํŠธ ์šด์˜๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

IntelliJ IDEA ๋‹จ์ถ•ํ‚ค์™€ ์ƒ์‚ฐ์„ฑ ํŒ์˜ ์‹ค์ „ ๊ธฐ์ค€

๋‹จ์ถ•ํ‚ค ์•”๊ธฐ๋ณด๋‹ค ๋” ์ค‘์š”ํ•œ ์ฝ”๋“œ ํƒ์ƒ‰, ์•ˆ์ „ํ•œ ๋ฆฌํŒฉํ„ฐ๋ง, ๋””๋ฒ„๊น… ํ๋ฆ„, ํŒ€ ๋‹จ์œ„ IDE ์Šต๊ด€์„ ์ค‘์‹ฌ์œผ๋กœ IntelliJ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Postman ์‹ค์ „ ๊ฐ€์ด๋“œ: API ํ…Œ์ŠคํŠธ, ์ž๋™ํ™”, ํ˜‘์—…

Postman์„ API ํƒ์ƒ‰ ๋„๊ตฌ์—์„œ ๋๋‚ด์ง€ ์•Š๊ณ , ํ™˜๊ฒฝ ๊ด€๋ฆฌ, ์ปฌ๋ ‰์…˜ ๊ตฌ์กฐ, ๊ณต์œ  ํ…Œ์ŠคํŠธ ํ๋ฆ„, Newman ๊ธฐ๋ฐ˜ CI ๊ฒ€์ฆ๊นŒ์ง€ ์‹ค๋ฌด์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„ ์ƒ์‚ฐ์„ฑ ๋†’์ด๊ธฐ: Zsh, Oh My Zsh, CLI ๋„๊ตฌ์˜ ์‹ค์ „ ๊ธฐ์ค€

ํ…Œ๋งˆ๋‚˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋‚˜์—ด๋ณด๋‹ค ๋” ์ค‘์š”ํ•œ shell ๊ธฐ๋ณธ๊ฐ’, alias์™€ script์˜ ๊ฒฝ๊ณ„, plugin ์ ˆ์ œ, ripgrep/fd/bat/fzf ๊ฐ™์€ ๋„๊ตฌ ์„ ํƒ ๊ธฐ์ค€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

GitHub Copilot ์‹ค์ „ ํ™œ์šฉ ํŒ

๋ฐ˜๋ณต ์ฝ”๋“œ, ํ…Œ์ŠคํŠธ, ๋ฆฌ๋ทฐ ๋ณด์กฐ, ๋ฌธ์„œ ์ดˆ์•ˆ ์ž‘์„ฑ์—์„œ GitHub Copilot์„ ์•ˆ์ „ํ•˜๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋˜, ์—”์ง€๋‹ˆ์–ด๋ง ํŒ๋‹จ๋ ฅ์„ ์•ฝํ™”์‹œํ‚ค์ง€ ์•Š๋Š” ๊ธฐ์ค€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ๋„๊ตฌ ํ•™์Šต ๊ฒฝ๋กœ: ์ž…๋ฌธ๋ถ€ํ„ฐ ๊ณ ๊ธ‰๊นŒ์ง€

๊ฐœ์ธ ์›Œํฌํ”Œ๋กœ, ํ˜‘์—… ๊ทœ์œจ, ์žฅ๊ธฐ์ ์ธ ์—”์ง€๋‹ˆ์–ด๋ง ์‹œ์Šคํ…œ๊นŒ์ง€ ์ฒด๊ณ„์ ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋„๊ตฌ ๋กœ๋“œ๋งต์ž…๋‹ˆ๋‹ค.

Webpack์—์„œ Vite๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ์‹ค์ „ ๊ฐ€์ด๋“œ

๋‹จ์ˆœ config ๋ฒˆ์—ญ์ด ์•„๋‹ˆ๋ผ dev server ๋ชจ๋ธ ๋ณ€ํ™”, plugin inventory, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ฒ˜๋ฆฌ, ํ”„๋กœ๋•์…˜ ๊ฒ€์ฆ๊นŒ์ง€ ํฌํ•จํ•ด Webpack์—์„œ Vite๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์˜ฎ๊ธฐ๋Š” ๊ธฐ์ค€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์—”์ง€๋‹ˆ์–ด๋ง ํŒ€์„ ์œ„ํ•œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

์Šคํƒ€์ผ ๋…ผ์Ÿ๋ณด๋‹ค ๋ฒ„๊ทธ, ํšŒ๊ท€, ์œ ์ง€๋ณด์ˆ˜ ๋ฆฌ์Šคํฌ์— ์ง‘์ค‘ํ•˜๋Š” ์‹ค์ „ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

ESLint + Prettier ์„ค์ • ๊ฐ€์ด๋“œ: ์‹ค์ „ ์šด์˜ ๊ธฐ์ค€

React, Vue, TypeScript ํ”„๋กœ์ ํŠธ์—์„œ ESLint์™€ Prettier์˜ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜๊ณ , ๋กœ์ปฌ autofix์™€ CI enforcement๋ฅผ ํŒ€ ๋‹จ์œ„๋กœ ์šด์˜ํ•˜๋Š” ๊ธฐ์ค€์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

VS Code ์ƒ์‚ฐ์„ฑ ๋†’์ด๊ธฐ: ๋‹จ์ถ•ํ‚ค, ํ™•์žฅ, ์„ค์ •์˜ ์‹ค์ „ ๊ธฐ์ค€

๊ฐœ์ธ ํŒ ๋ชจ์Œ์ด ์•„๋‹ˆ๋ผ workspace ์„ค์ •, task, debug ํ๋ฆ„, ํ™•์žฅ ๊ด€๋ฆฌ, ํŒ€ ๋‹จ์œ„ ํ‘œ์ค€ํ™” ๊ด€์ ์—์„œ VS Code ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Git ๋ธŒ๋žœ์น˜ ์ „๋žต: Git Flow vs GitHub Flow vs Trunk-based

๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ, CI ์„ฑ์ˆ™๋„, ํ•ซํ”ฝ์Šค ์ฒ˜๋ฆฌ, ํŒ€ ๊ทœ๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์–ด๋–ค Git ๋ธŒ๋žœ์น˜ ์ „๋žต์ด ์‹ค์ „์— ๋งž๋Š”์ง€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. Git Flow, GitHub Flow, Trunk-based Development๋ฅผ ์šด์˜ ๊ด€์ ์—์„œ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋…ธ๋ ˆํฌ ๋นŒ๋“œ ๋„๊ตฌ ์„ ํƒ๊ณผ ์šด์˜ ํ”Œ๋ ˆ์ด๋ถ

Nx, Turborepo, workspace ๊ธฐ๋ฐ˜ ๊ตฌ์„ฑ ์ค‘ ๋ฌด์—‡์ด ๋งž๋Š”์ง€ ์บ์‹œ, ๊ทธ๋ž˜ํ”„ ์ œ์–ด, CI ๋น„์šฉ, ํŒ€ ์šด์˜ ๋ชจ๋ธ ๊ด€์ ์—์„œ ์‹ค๋ฌด์ ์œผ๋กœ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

ํŒ€ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ ์ž๋™ํ™” ํ”Œ๋ ˆ์ด๋ถ

๋กœ์ปฌ ๊ฒ€์‚ฌ, PR CI, ์Šค์บํด๋”ฉ, ๋ฆด๋ฆฌ์Šค ๋‹จ๊ณ„, ๋ฌธ์„œํ™” ์ž๋™ํ™”๋ฅผ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ  ์„ค๊ณ„ํ•ด์•ผ ํŒ€์˜ ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๋ฉด์„œ๋„ ์šฐํšŒ๊ฐ€ ์ ์€ ์ž๋™ํ™” ์ฒด๊ณ„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.