๐Ÿ—๏ธ Inflow Chat ๊ฐœ๋ฐœ ํšŒ๊ณ 

ZEDYยท2025๋…„ 1์›” 30์ผ
0

๐Ÿ“Œ Tech Stack: Python (Flask), LangChain, Gemini API, FAISS, PostgreSQL, Docker, Swagger

  • AI ์ฑ—๋ด‡ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ: LangChain + FAISS ๊ธฐ๋ฐ˜ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๋ฐ ์ตœ์ ํ™”
  • ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง: AI์˜ ๋ฌธ๋งฅ ์œ ์ง€, ์ถœ์ฒ˜ ์ œ๊ณต ๊ธฐ๋Šฅ ๊ฐœ์„ 
  • API ๊ฐœ๋ฐœ ๋ฐ ๋ฌธ์„œํ™”: Flask-RESTX ๊ธฐ๋ฐ˜ ๋ฐฑ์—”๋“œ ๊ตฌ์ถ• + Swagger ๋„์ž…
  • ๋ฐฐํฌ ๋ฐ ํ™˜๊ฒฝ ์„ค์ •: Docker ์ปจํ…Œ์ด๋„ˆํ™” + AWS RDS ํ™œ์šฉ

๐Ÿ—๏ธ Inflow Chat ๊ฐœ๋ฐœ ํšŒ๊ณ : ์‚ฌ๋‚ด ๋ฌธ์„œ ๊ธฐ๋ฐ˜ AI ์ฑ—๋ด‡์„ ๋งŒ๋“ค๋ฉฐ

๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์ง€๋‚œ ํ•œ ๋‹ฌ ๋™์•ˆ, Rikkei์—์„œ ์ง„ํ–‰ํ•œ ์ธํ„ด์‹ญ์„ ํ†ตํ•ด ์‚ฌ๋‚ด ๋ฌธ์„œ ๊ธฐ๋ฐ˜ AI ์ฑ—๋ด‡์ธ Inflow Chat์„ ๊ฐœ๋ฐœํ–ˆ๋‹ค.
๊ด€๋ฆฌ์ž๊ฐ€ PDF, DOCX, Weblink๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด ๋ฌธ์„œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๋ฒกํ„ฐํ™”ํ•˜์—ฌ ์ €์žฅํ•˜๊ณ , ์‚ฌ์šฉ์ž๋Š” ์ฑ—๋ด‡์„ ํ†ตํ•ด ์งˆ๋ฌธ์„ ํ•˜๋ฉด ๋ฒกํ„ฐ DB(FAISS)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ์ฐพ์•„ LLM(Gemini API)๋ฅผ ํ†ตํ•ด ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋Š” ๊ตฌ์กฐ๋‹ค.

๐ŸŽฏ ๊ธฐ์ˆ  ์Šคํƒ

  • Backend: Flask
  • AI/LLM: LangChain, Gemini API
  • Vector DB: FAISS
  • Database: PostgreSQL (AWS RDS)
  • Container: Docker

๐Ÿ’ก ๋‚ด ์—ญํ• 

  • ๋ฌธ์„œ(์›น ๋งํฌ) ํŒŒ์‹ฑ ๋ฐ ๋ฒกํ„ฐ DB ์ €์žฅ (BeautifulSoup, FAISS, PostgreSQL)
  • ์‚ฌ์šฉ์ž ์งˆ๋ฌธ์„ ๋ฒกํ„ฐํ™”ํ•˜๊ณ  ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ์‹œ์Šคํ…œ ๊ตฌ์ถ• (LangChain, FAISS)
  • LLM(Gemini) ๊ธฐ๋ฐ˜ ์‘๋‹ต ์ƒ์„ฑ ๋ฐ ํ”„๋กฌํ”„ํŠธ ์ตœ์ ํ™” (ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง)
  • ์‚ฌ์šฉ์ž ์ฑ„ํŒ… ๊ธฐ๋ก(์ตœ๊ทผ 10๊ฐœ ์งˆ๋ฌธ) ์ €์žฅ ๋ฐ ๋ฌธ๋งฅ ์œ ์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (PostgreSQL, Flask)
  • ๋ฒกํ„ฐ DB ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์ฒญํฌ ์‚ฌ์ด์ฆˆ ์‹คํ—˜ (LangChain, similarity_search_with_score)
  • ํ˜‘์—… ํ™˜๊ฒฝ ์„ธํŒ… (Docker ์ปจํ…Œ์ด๋„ˆํ™”, GitHub ๋ธŒ๋žœ์น˜ ์ „๋žต ๋„์ž…)

๐Ÿš€ ์ธํ„ด ํšŒ๊ณ  - ๋ช…ํ™•ํ•œ ๊ธฐํš๊ณผ ์š”๊ตฌ์‚ฌํ•ญ, ๊ทธ๋ฆฌ๊ณ  ํ˜‘์—…์˜ ๊ฐ€์น˜

๐ŸŽฏ ์• ์ž์ผ ์Šคํฌ๋Ÿผ ๋ฐฉ์‹์˜ ๊ฐœ๋ฐœ ๊ฒฝํ—˜

์ด๋ฒˆ ์ธํ„ด์‹ญ์—์„œ๋Š” ์• ์ž์ผ ์Šคํฌ๋Ÿผ ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.
PM๊ณผ PO๊ฐ€ ์ฒด๊ณ„์ ์œผ๋กœ Task๋ฅผ ๊ด€๋ฆฌํ•ด์ค€ ๋•๋ถ„์—,
โœ… ๋‚ด๊ฐ€ ์ง€๊ธˆ ๋ฌด์—‡์„ ํ–ˆ๊ณ , ํ•˜๊ณ  ์žˆ๊ณ , ํ•  ๊ฒƒ์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์ด์ „์˜ ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๊ธฐํš ๋‹จ๊ณ„๋ถ€ํ„ฐ ์ฐธ์—ฌํ–ˆ๋‹ค.

  • ๋ฌธ์ œ ์ƒํ™ฉ์„ ๋ถ„์„ํ•˜๊ณ , ํŽ˜์ธํฌ์ธํŠธ๋ฅผ ์ •์˜ํ•˜๊ณ , ์†”๋ฃจ์…˜์„ ๊ตฌ์ƒํ•˜๋Š” ๊ณผ์ •์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘.
  • ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ธฐํš์— ๋งž์ถฐ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰.

ํ•˜์ง€๋งŒ ํšŒ์‚ฌ๋Š” ๋‹ฌ๋ž๋‹ค.

  • ํšŒ์‚ฌ์—์„œ๋Š” ์ด๋ฏธ ๊ธฐํš๊ณผ ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋˜์–ด ์žˆ์—ˆ๋‹ค.
  • ์ด ๋ฌธ์„œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๊ณ , ๊ฐœ๋ฐœํ•ด์•ผ ํ–ˆ๋‹ค.

๐Ÿ“Œ System Requirements (์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ)

  • User Types, Authentication, Employee Interface, Admin Interface

๐Ÿ“Œ Technical Requirements (๊ธฐ์ˆ  ์š”๊ตฌ์‚ฌํ•ญ)

  • Architecture, Deployment, Code Management, Security, Performance, Streaming

์ด ๋ฌธ์„œ๋ฅผ ๋ถ„์„ํ•˜๋ฉฐ, ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๋„์ถœํ•˜๊ธฐ ์œ„ํ•ด Use Case๋ฅผ ๊ณ ๋ คํ•˜๊ณ  Use Diagram์„ ๊ทธ๋ ธ๋‹ค.


๐Ÿ“š ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ - ์ด๋ก ๊ณผ ์‹ค๋ฌด์˜ ์ฐจ์ด

๐Ÿ’ก ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ๊ณผ๋ชฉ์—์„œ ๋ฐฐ์šด ๊ฒฝํ—˜

์ธํ„ด์„ ์˜ค๊ธฐ ์ง์ „ ํ•™๊ธฐ์— ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ๊ณผ๋ชฉ์„ ์ˆ˜๊ฐ•ํ–ˆ๋‹ค.
์ •๋ง ํฅ๋ฏธ๋กœ์› ๋˜ ์ˆ˜์—…์ด์—ˆ๊ณ , ์ปค๋ฆฌ์–ด๋ฅผ ์ด์ชฝ์œผ๋กœ ํ‚ค์›Œ๊ฐ€๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค ์ •๋„๋กœ ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค.

๊ทธ๋•Œ ์ง„ํ–‰ํ•œ ๊ธฐ๋ง ํ”„๋กœ์ ํŠธ:

  • ํŠน์ • ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ ํƒํ•˜์—ฌ Use Case ์ž‘์„ฑ โ†’ Use Diagram, Class Diagram, Sequence Diagram ์„ค๊ณ„.
  • ๊ต์ˆ˜๋‹˜์„ 5๋ฒˆ ๋„˜๊ฒŒ ์ฐพ์•„๊ฐ€๋ฉฐ ์งˆ๋ฌธํ•˜๊ณ , ์ •๋ง ๋ฏธ์นœ๋“ฏ์ด ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ–ˆ๋‹ค.
  • ๋ฐœํ‘œ์™€ ์‹ค์Šต ๋ชจ๋‘ 1๋“ฑ! ๋‹น์—ฐํžˆ A+

ํ•˜์ง€๋งŒ ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ํ˜ผ๋ž€์Šค๋Ÿฌ์› ๋˜ ๊ฒƒ์€ ๋ช…ํ™•ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์ด ์—†์—ˆ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

  • ๋‚ด๊ฐ€ ์ง์ ‘ ๊ธฐํšํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„๋ฅผ ํ•˜๋‹ค ๋ณด๋‹ˆ,
  • ๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๋ฐฉํ–ฅ์ด ๋งž๋Š”์ง€ ํ™•์‹ ์ด ์—†์—ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ์ดˆ๋ฐ˜์—๋Š” "์‹ ์ฒด ๋ฆฌ๋“ฌ์— ๋งž์ถ˜ ๊ฒŒ์ž„"์ด์—ˆ์ง€๋งŒ, ๋์— ๊ฐ€์„œ๋Š” "๋งฅ๋ฐ•๊ณผ ํ˜ˆ์•• ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„"์ด ๋˜์–ด๋ฒ„๋ ธ๋‹ค.

์ด ๊ฒฝํ—˜์„ ํ†ตํ•ด ๋ช…ํ™•ํ•˜์ง€ ์•Š์€ ์š”๊ตฌ์‚ฌํ•ญ์€ ์‹œ์Šคํ…œ ์„ค๊ณ„์—์„œ ํ˜ผ๋™์„ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊นจ๋‹ฌ์•˜๋‹ค.


๐Ÿ› ๏ธ ๋ช…ํ™•ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ฃผ์–ด์ง„ ํ™˜๊ฒฝ์—์„œ์˜ ๊ฐœ๋ฐœ

์ธํ„ด์‹ญ์—์„œ๋Š” ์ด์ „์˜ ํŒ€ ํ”„๋กœ์ ํŠธ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ, ๋ช…ํ™•ํ•œ ๊ธฐํš๊ณผ ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ์—ˆ๋‹ค.

  • ๊ธฐํš ๋ฌธ์„œ๋ฅผ ๋ถ„์„ํ•˜๋ฉด์„œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๋„์ถœํ•˜๊ณ ,
  • Use Case๋ฅผ ์ •๋ฆฌํ•˜๊ณ , Use Diagram์„ ์ž‘์„ฑํ•˜๋ฉฐ ๊ธฐ๋Šฅ์„ ๋ฆฌ์ŠคํŠธ์—…ํ–ˆ๋‹ค.

๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์—์„œ ํ˜ผ์ž ๊ธฐํš๋ถ€ํ„ฐ ํ–ˆ๋˜ ๊ฒฝํ—˜๊ณผ ๋น„๊ตํ•˜๋ฉด, ๋„ˆ๋ฌด๋‚˜๋„ ๋ช…ํ™•ํ•œ ํ”„๋กœ์„ธ์Šค์˜€๋‹ค.

๐Ÿ“Œ ์‹ค์ œ ๊ฒฝํ—˜ํ•œ User Validation ๊ณผ์ •

  • ์„ค๊ณ„ํ•œ ๊ธฐ๋Šฅ๊ณผ Use Diagram์„ ๋ฉ˜ํ†  ๋ฐ PO์™€ ํ•จ๊ป˜ ๊ฒ€ํ† ํ•˜๋ฉฐ Validation์„ ๋ฐ›์•˜๋‹ค.
  • ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ๊ณผ๋ชฉ์—์„œ ๋ฐฐ์šด ๊ฐœ๋…์„ ์‹ค๋ฌด์—์„œ ์ ์šฉํ•˜๋Š” ์ˆœ๊ฐ„์ด์—ˆ๋‹ค!
  • ๋ฐฐ์šด ๊ฐœ๋…์„ ์ง์ ‘ ํ™œ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋‘๊ทผ๊ฑฐ๋ ธ๊ณ , ๋‚˜์˜ ์„ค๊ณ„๊ฐ€ ๊ธ์ •์ ์ธ ํ‰๊ฐ€๋ฅผ ๋ฐ›์€ ๊ฒƒ๋„ ๊ธฐ๋ปค๋‹ค.

๐Ÿค ํŒ€ ๋ฏธํŒ…์—์„œ ํšŒ์˜์˜ ๋ชฉ์ ์„ ์ƒ๊ธฐํ•˜๋‹ค

๐Ÿ’ก ํšŒ์˜์—์„œ ์˜๊ฒฌ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ–ˆ๋˜ ์ˆœ๊ฐ„

  • ์šฐ๋ฆฌ๋Š” Wire Frame๊ณผ User Flow๋ฅผ ๊ฒ€ํ† ํ•˜๋Š” ํšŒ์˜๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ ๊ฐ‘์ž๊ธฐ ํŒ€์› ์ค‘ ํ•œ ๋ช…์ด UI ๋””์ž์ธ์„ ๋…ผ์˜ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.
    • ๋ฒ„ํŠผ ๋ชจ์–‘์€ Square vs Round?
    • ์ƒ‰์ƒ์€ Red vs White?
  • ์ด ํšŒ์˜์˜ ๋ชฉ์ ๊ณผ ๋‹ค์†Œ ๋ฒ—์–ด๋‚œ ๋…ผ์˜์˜€๋‹ค.

๋‚˜๋Š” ๊ฐœ๋ฐœํŒ€ ์†Œ์†์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์—,
UI ์„ค๊ณ„๋ณด๋‹ค๋Š” ์‹œ์Šคํ…œ ๋™์ž‘๊ณผ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.
ํ•˜์ง€๋งŒ ๋ฐ”๋กœ ์˜๊ฒฌ์„ ์ œ์‹œํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,
๐Ÿ“Œ ๋จผ์ € PO์—๊ฒŒ ๋‚ด ์ž…์žฅ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์ „๋‹ฌํ–ˆ๋‹ค.
๐Ÿ“Œ ๊ทธ๋ฆฌ๊ณ  UI๋ฅผ ๋…ผ์˜ํ•˜๋˜ ํŒ€์›์—๊ฒŒ ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ "ํšŒ์˜์˜ ๋ชฉ์ ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด์ž"๊ณ  ์ œ์•ˆํ–ˆ๋‹ค.

๐Ÿ“Œ ๊ฒฐ๊ณผ:
โœ… ํŒ€์›๋„ ๋‚ด ์˜๊ฒฌ์— ๋™์˜ํ–ˆ๊ณ , ํšŒ์˜๊ฐ€ ์›๋ž˜ ๋ชฉ์ ๋Œ€๋กœ ์ง„ํ–‰๋˜์—ˆ๋‹ค.
โœ… ์ƒ๋Œ€๋ฐฉ์˜ ์˜๊ฒฌ์„ ์กด์ค‘ํ•˜๋ฉด์„œ๋„, ํšŒ์˜ ๋ชฉ์ ์„ ์ƒ๊ธฐ์‹œํ‚ค๋Š” ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์˜ ์ค‘์š”์„ฑ์„ ๋ฐฐ์› ๋‹ค.
โœ… ์ƒ๋Œ€๋ฐฉ์ด ๊ธฐ๋ถ„ ๋‚˜์˜์ง€ ์•Š๊ฒŒ ๋‚ด ์˜๊ฒฌ์„ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.


๐Ÿ“‚ ์ฒด๊ณ„์ ์ธ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ - WBS, Gantt Chart ํ™œ์šฉ

๐Ÿ“Œ ์ „๋ฌธ์ ์ธ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๊ฒฝํ—˜์ด ๊ฐ€์žฅ ์ธ์ƒ์ ์ด์—ˆ๋‹ค.

  • PO๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ WBS(์ž‘์—… ๋ถ„๋ฅ˜ ๊ตฌ์กฐ)์™€ Gantt Chart(์ผ์ • ๊ด€๋ฆฌ ์ฐจํŠธ)๋ฅผ ์ƒ์„ฑ.

โœ… WBS (Work Breakdown Structure)

  • ๋ชจ๋“ˆ๋ณ„๋กœ Use Case๊ฐ€ ๋ช…์„ธํ™”๋˜์–ด ์žˆ์–ด, ํ•œ๋ˆˆ์— ๋ณด๊ธฐ ํŽธํ–ˆ๋‹ค.

โœ… Gantt Chart (๊ฐ„ํŠธ ์ฐจํŠธ)

  • ๊ฐ Task์˜ ์ง„ํ–‰ ์ƒํƒœ, ์˜ˆ์ƒ ์†Œ์š” ์‹œ๊ฐ„, ๋‹ด๋‹น์ž(PIC), ์ง„ํ–‰ ์—ฌ๋ถ€๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๐Ÿ“Œ Trello์™€ Teams๋ฅผ ํ™œ์šฉํ•œ ํ˜‘์—…

  • Trello ๋ณด๋“œ๋ฅผ ํ†ตํ•ด ToDo / Doing / Done ์ƒํƒœ๋ฅผ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ.
  • ํ˜ผ๋™์ด ์˜ฌ ๋•Œ๋งˆ๋‹ค Gantt Chart์™€ Trello๋ฅผ ๋ณด๋ฉด์„œ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰.
  • ๋‹ค๋ฅธ ํŒ€์›์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•˜๋ฉฐ, ์ด์Šˆ๊ฐ€ ์ƒ๊ธธ ๊ฒฝ์šฐ ๋น ๋ฅด๊ฒŒ ๋„์›€ ์š”์ฒญ ๊ฐ€๋Šฅ.

์ด์ „ ํšŒ์‚ฌ์—์„œ๋Š” Jira๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, ์ฒ˜์Œ์—๋Š” ์นธ๋ฐ˜ ๋ณด๋“œ๋‚˜ ๋ฐฑ๋กœ๊ทธ ๊ฐœ๋…์ด ์–ด๋ ค์› ๋‹ค.
์ด๋ฒˆ ์ธํ„ด์‹ญ์—์„œ๋Š” Trello๋ฅผ ํ™œ์šฉํ•˜๋ฉด์„œ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ํ•œ์ธต ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๐Ÿ“Œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์˜ ์ค‘์š”์„ฑ

  • ํŒ€์› ์ค‘ ํ•œ ๋ช…์ด ์ž์‹ ์˜ Task ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋‹ค.
  • ๋‚˜๋Š” PO๊ฐ€ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก Teams์— ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ–ˆ๋‹ค.
  • PO๊ฐ€ ๊ตณ์ด ๋‚ด ์ž๋ฆฌ๊นŒ์ง€ ์™€์„œ ๋ฌผ์–ด๋ณด์ง€ ์•Š์•„๋„, ๋‚ด๊ฐ€ ์ง„ํ–‰ํ•˜๋Š” Task๋ฅผ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๋ฐฐ๋ คํ–ˆ๋‹ค.

๐Ÿ“ข ์Šคํฌ๋Ÿผ & ๋ฐ์ผ๋ฆฌ ๋ฏธํŒ…์„ ํ†ตํ•œ ํ”ผ๋“œ๋ฐฑ

  • ๋งค์ผ 11์‹œ ๋ฐ์ผ๋ฆฌ ๋ฏธํŒ…์„ ์ง„ํ–‰ํ–ˆ๋‹ค.
  • ์ž์‹ ์ด ์–ด์ œ ๋ฌด์—‡์„ ํ–ˆ๊ณ , ์˜ค๋Š˜ ๋ฌด์—‡์„ ํ•  ๊ฒƒ์ธ์ง€ ๊ณต์œ .
  • ๋ฉ˜ํ† ๋‹˜๋“ค๋„ ์ฐธ์—ฌํ•˜์—ฌ, ๋‚ ์นด๋กœ์šด ์งˆ์˜์‘๋‹ต์„ ํ†ตํ•ด ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณต.

๐Ÿ’ก "์™œ?"๋ผ๋Š” ์งˆ๋ฌธ์˜ ์ค‘์š”์„ฑ

  • ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ๋‹จ์ˆœํžˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์™œ ์ด๋ ‡๊ฒŒ ์„ค๊ณ„ํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • ๋ฉ˜ํ† ๋‹˜๋“ค์˜ ์งˆ๋ฌธ์— ๋‹ต๋ณ€ํ•˜๋ฉด์„œ, ๋‚ด ์ฝ”๋“œ์™€ ์„ค๊ณ„์— ๋Œ€ํ•ด ๋”์šฑ ๊นŠ์ด ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

๐Ÿ› ๏ธ ์ž์›์ด ์ œํ•œ๋œ ํ™˜๊ฒฝ์—์„œ ์ตœ์ ์˜ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„

๐Ÿ“Œ Local ํ™˜๊ฒฝ์—์„œ ๊ฐœ๋ฐœํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ œํ•œ ์‚ฌํ•ญ

  • ๋‚˜๋Š” ๋ฐฐํฌ ๋ฐ ํด๋ผ์šฐ๋“œ ์ž๋™ํ™”์— ๊ด€์‹ฌ์ด ๋งŽ์•˜์ง€๋งŒ, ์ดˆ๊ธฐ ๊ฐœ๋ฐœ์€ Local์—์„œ ์ง„ํ–‰ํ•ด์•ผ ํ–ˆ๋‹ค.
  • ์ž์›์ด ๋ถ€์กฑํ•œ ํ™˜๊ฒฝ์—์„œ ๊ฐ€์žฅ ์ตœ์ ํ™”๋œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ณ ๋ฏผํ•ด์•ผ ํ–ˆ๋‹ค.

๐Ÿ“Œ AI ๋ชจ๋ธ ์„ ํƒ

  • ์ฒ˜์Œ์—๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ ๋ชจ๋ธ์„ ์ง์ ‘ ํ™œ์šฉํ•˜๋ ค ํ–ˆ์ง€๋งŒ, ๋ฆฌ์†Œ์Šค ๋ถ€์กฑ์œผ๋กœ Gemini API๋ฅผ ์„ ํƒ.

๐Ÿ“Œ ๊ธฐ์ˆ  ์Šคํƒ ๊ฒฐ์ •

  • ๋‚˜๋Š” Java Spring Boot ๊ฐœ๋ฐœ์ž์ง€๋งŒ,
  • ํŒ€์›๋“ค์˜ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ๊ณ ๋ คํ•˜์—ฌ Flask๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์ตœ์„ ์ด๋ผ๋Š” ๊ฒฐ๋ก .

โœจ ๋ฐฐ์šด ์  & ์„ฑ์žฅํ•œ ์ 

โœ… ๋ช…ํ™•ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ ๊ฐœ๋ฐœ์ด ํ›จ์”ฌ ํšจ์œจ์ ์ด๋‹ค.
โœ… ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ํ”„๋กœ์ ํŠธ์˜ ์„ฑ๊ณต์„ ๊ฒฐ์ •ํ•œ๋‹ค.
โœ… ๋ฐ์ผ๋ฆฌ ๋ฏธํŒ…๊ณผ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ๋‚˜์˜ ์‚ฌ๊ณ ๋ ฅ์ด ํ™•์žฅ๋˜์—ˆ๋‹ค.
โœ… ์ œํ•œ๋œ ๋ฆฌ์†Œ์Šค์—์„œ๋„ ์ตœ์ ์˜ ๊ธฐ์ˆ  ์„ ํƒ์„ ํ•ด์•ผ ํ•œ๋‹ค.


์„ฑ์žฅํ•œ ์ ๊ณผ ํƒœ๋„์— ๋Œ€ํ•œ ํšŒ๊ณ 

  • ๋„์ „์„ ๋‘๋ ค์›Œํ•˜์ง€ ์•Š๊ณ  ๋Š์ž„์—†์ด ์„ฑ์žฅํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ž์„ธ

๐Ÿš€ ๋„์ „! AI ๊ทธ๋ฆฌ๊ณ  Flask, PostgreSQL

๐Ÿ’ก ์ƒˆ๋กœ์šด ์—ญํ• , ์ƒˆ๋กœ์šด ๋„์ „

์—ญํ• ์„ ๋ถ„๋ฐฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ผ๋ฆฌ ๋ฏธํŒ…์—์„œ ํŒ€์›๋“ค๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„์—ˆ๋‹ค.
๊ทธ ์ž๋ฆฌ์—์„œ ๋‚˜๋Š” "๋„์ „์„ ๋‘๋ ค์›Œํ•˜์ง€ ์•Š๊ณ  ์˜คํžˆ๋ ค ์ข‹์•„ํ•œ๋‹ค."
๊ทธ๋ฆฌ๊ณ  "Challengingํ•œ Task ์†์—์„œ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ๊ฒƒ์ด ๋” ์ข‹๋‹ค." ๋ผ๊ณ  ๋งํ–ˆ๋‹ค.

AI๋ฅผ ๋‹ค๋ค„๋ณธ ์ ์€ ์—†์—ˆ๊ณ , ์ดํ•ด๋„๋„ ๋‚ฎ์•˜๋‹ค. ํ•˜์ง€๋งŒ ๋ฐฑ์—”๋“œ์—์„œ AI๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝํ—˜์„ ์Œ“๊ณ  ์‹ถ์—ˆ๋‹ค.
๊ฒฐ๊ณผ์ ์œผ๋กœ ๋‚˜๋Š” AI ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ๋งก๊ฒŒ ๋˜์—ˆ๋‹ค.
์•„์ง ๋ชจ๋ฅด๋Š” ๊ฒƒ์ด ๋งŽ์•˜์ง€๋งŒ, ๋ฐฐ์›Œ๊ฐ€๋ฉด์„œ ๋งŒ๋“ค์–ด ๋‚˜๊ฐ€๋Š” ๊ณผ์ • ์ž์ฒด๊ฐ€ ๋‚˜์—๊ฒŒ ํฐ ๋™๊ธฐ๋ถ€์—ฌ๊ฐ€ ๋˜์—ˆ๋‹ค.


๐Ÿ“Œ ๊ณต๋ถ€๋Š” ์…€ํ”„, ์Šคํ”ผ๋“œ๋Š” ์ƒ๋ช…

์šฐ๋ฆฌ๋Š” ์• ์ž์ผ ์Šคํฌ๋Ÿผ ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.
๐Ÿ“Œ ๋งค์ผ ๋ฐ์ผ๋ฆฌ ๋ฆฌํฌํŠธ ์ž‘์„ฑ & ์Šคํฌ๋Ÿผ ๋ฏธํŒ… ์ง„ํ–‰
๐Ÿ“Œ ๋งค์ฃผ ๊ธˆ์š”์ผ๋งˆ๋‹ค ์Šคํ”„๋ฆฐํŠธ์— ๋งž์ถฐ ๋ฐ๋ชจ ๋ฐœํ‘œ

AI ์„œ๋ฒ„ ์—ญํ• ์„ ๋งก์€ ์ด์ƒ, ๋งค์ฃผ ๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๋Š” ๋ชฉ๋ก์„ ๋งž์ถฐ์„œ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ  ์—๋Ÿฌ๋„ ํ•ด๊ฒฐํ•ด์•ผ ํ–ˆ๋‹ค.
๋‚ด๊ฐ€ ๋ชจ๋ฅด๋ฉด ์Šค์Šค๋กœ ๊ณต๋ถ€ํ•ด์•ผ ํ–ˆ๋‹ค.

Flask๋„ ์ฒ˜์Œ์ธ๋ฐ AI ์„œ๋ฒ„๊นŒ์ง€ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค๋‹ˆ..
๊ทธ์•ผ๋ง๋กœ ๋„์ „ ๊ทธ ์ž์ฒด์˜€๋‹ค.

ํ‡ด๊ทผ ํ›„, ์„œ๋ฒ„ ๊ตฌํ˜„์„ ์œ„ํ•œ AI ํ๋ฆ„์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๋…ผ๋ฌธ์„ ์ฝ๊ณ , ์œ ํŠœ๋ธŒ ๊ฐ•์˜๋ฅผ ๋ณด๊ณ , LangChain ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋‹ณ๋„๋ก ์ฝ์—ˆ๋‹ค.
ํ•œ 2~3์ผ ๋™์•ˆ ์ฃฝ์–ด๋ผ ๊ณต๋ถ€ํ•˜๋‹ˆ๊นŒ ๋จธ๋ฆฟ์†์œผ๋กœ ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์กŒ๋‹ค.
ํ‡ด๊ทผํ•˜๊ณ  ๋ฐฅ ๋จน์œผ๋ฉด์„œ๋„ ๊ณ„์† ๊ณต๋ถ€ํ•œ ๋ณด๋žŒ์ด ์žˆ์—ˆ๋‹ค.

โ˜€๏ธ ๋‚ฎ์—๋Š” ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ , ๐ŸŒ™ ๋ฐค์—๋Š” ๊ณต๋ถ€ํ•˜๋Š” ํŒจํ„ด์„ ๋ฐ˜๋ณตํ–ˆ๋‹ค.
์ด ๊ณผ์ • ๋•๋ถ„์— ๊ฒฐ๊ณผ๋ฌผ๋„ ๊ธฐ๊ฐ„ ๋‚ด์— ๋‚˜์™”๊ณ , ์ตœ์ ํ™” ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„๊นŒ์ง€ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.


๐Ÿ”ฅ ์ด๋ฒˆ ์ธํ„ด์‹ญ์—์„œ์˜ ์„ฑ์žฅ๊ณผ ๋ฐฐ์šด ์ 

๐Ÿ’ก AI ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ์„œ์˜ ๋„์ „

  • ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ์ ‘ํ•  ๋•Œ ๊ฒ๋จน์ง€ ์•Š๊ณ  ์ ๊ทน์ ์œผ๋กœ ๋ฐฐ์šฐ๋ ค๋Š” ํƒœ๋„๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.
  • AI๋ฅผ ์ฒ˜์Œ ๋‹ค๋ค˜์ง€๋งŒ, ๋ชฐ์ž…ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉด ๊ฒฐ๊ตญ ๊ธธ์ด ๋ณด์ธ๋‹ค.

๐Ÿ’ก ๋น ๋ฅธ ๊ฐœ๋ฐœ & ์ตœ์ ํ™”์˜ ๊ท ํ˜•

  • ๊ฐœ๋ฐœ ์†๋„๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ๊ฒฐ๊ตญ์—๋Š” ์ตœ์ ํ™”๊นŒ์ง€ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.
  • ๊ธฐ๊ฐ„ ๋‚ด์— ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ๊ณ ๋ฏผํ•  ์—ฌ์œ ๊นŒ์ง€ ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

๐Ÿ’ก ์Šค์Šค๋กœ ์„ฑ์žฅํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์šด ๊ฒฝํ—˜

  • ์ฑ…์ž„๊ฐ ์žˆ๋Š” ์—ญํ• ์„ ๋งก์œผ๋ฉด, ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์„ฑ์žฅํ•˜๊ฒŒ ๋œ๋‹ค.
  • ํ‡ด๊ทผ ํ›„์—๋„ ์Šค์Šค๋กœ ๊ณต๋ถ€ํ•˜๋Š” ์ž์„ธ๊ฐ€ ๊ฒฐ๊ตญ ๋‚˜๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅ์‹œํ‚จ๋‹ค.

โœจ ๋‚ด ์ธํ„ด์‹ญ์˜ ํ‚ค์›Œ๋“œ: "์„ฑ์žฅ" ๊ทธ๋ฆฌ๊ณ  "๋„์ „"

์ด๋ฒˆ ์ธํ„ด์‹ญ์„ ๋Œ์•„๋ณด๋ฉด, ๋‚ด ์Šค์Šค๋กœ์˜ ํ‚ค์›Œ๋“œ๋Š” ๋‹จ์—ฐ "์„ฑ์žฅ"๊ณผ "๋„์ „"์ด์—ˆ๋‹ค.
๋‚ฏ์„  ๊ธฐ์ˆ , ์ฒ˜์Œ ๋‹ค๋ฃจ๋Š” ๋„๋ฉ”์ธ์—์„œ๋„ ๋‘๋ ค์›Œํ•˜์ง€ ์•Š๊ณ  ๋ถ€๋”ชํžˆ๋ฉฐ ์„ฑ์žฅํ–ˆ๋‹ค.

์ง€๊ธˆ ๋Œ์•„๋ณด๋ฉด, Flask๋„ ์ฒ˜์Œ์ด์—ˆ๊ณ , AI ๋ฐฑ์—”๋“œ๋„ ์ฒ˜์Œ์ด์—ˆ์ง€๋งŒ, ๊ฒฐ๊ตญ ํ•ด๋ƒˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ณผ์ •์—์„œ ์ง„์งœ ์„ฑ์žฅํ–ˆ๋‹ค๋Š” ๊ฑธ ๋Š๋‚€๋‹ค.

๐Ÿš€ "์•ž์œผ๋กœ๋„ ์–ด๋–ค ๋„์ „์ด ์˜ค๋”๋ผ๋„, ๋‚˜๋Š” ์„ฑ์žฅํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ๋‹ค."


๐ŸŽฏ ์ธํ„ด์‹ญ์„ ๋งˆ์น˜๋ฉฐ - ๋Š๋‚€ ์  ์ •๋ฆฌ

1๏ธโƒฃ ๋ฉ˜ํ† ๋‹˜๊ป˜ ๊ฐ์‚ฌ ๐Ÿ™

  • ๋งค์ผ ์ง„ํ–‰๋œ ๋ฐ์ผ๋ฆฌ ๋ฏธํŒ…๊ณผ ๋ฐ๋ชจ ๋ฏธํŒ…์„ ํ†ตํ•ด ์ง€์†์ ์œผ๋กœ ๊ด€๋ฆฌ & ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ์‹  ๋ฉ˜ํ† ๋‹˜.
  • ๋‹จ์ˆœํ•œ ํ”ผ๋“œ๋ฐฑ์ด ์•„๋‹ˆ๋ผ, "๋„ˆ๋Š” ๋” Completeํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋” ์ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค." ๋ผ๋Š” ์กฐ์–ธ์„ ์ฃผ์‹œ๋ฉฐ ์„ฑ์žฅํ•  ๊ธฐํšŒ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์…จ๋‹ค.
  • ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ , ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋Šฅ๋ ฅ์ด ์ข‹์œผ๋ฉฐ, ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ž˜ ์ •ํ•ด์„œ ์ผํ•œ๋‹ค๋Š” ์นญ์ฐฌ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด ๋ฟŒ๋“ฏํ–ˆ๋‹ค.
  • ๋ฐ๋ชจ ๋ฏธํŒ… ๋•Œ๋Š” ๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์ด์Šˆ๋“ค์„ ์บ์น˜ํ•ด์„œ ์ง€์ ํ•ด์ฃผ์…จ๊ณ , ์ด๋ฅผ ํ†ตํ•ด ํ•œ์ธต ๋” ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

2๏ธโƒฃ ์•„์‰ฌ์šด ์  ๐Ÿค”

  • ๋ฐฐํฌ & ์ธํ”„๋ผ ๊ฒฝํ—˜ ๋ถ€์กฑ

    • ๋‚˜๋Š” ์ž๋™ํ™” ๋ฐฐํฌ๋‚˜ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์— ๊ด€์‹ฌ์ด ๋งŽ์•˜์ง€๋งŒ, ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” Local ๊ฐœ๋ฐœ์ด ์ค‘์‹ฌ์ด์—ˆ๋‹ค.
    • ์‹ค์ œ๋กœ AWS๋‚˜ GCP๋ฅผ ํ™œ์šฉํ•œ ๋ฐฐํฌ๊นŒ์ง€ ๊ฒฝํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค๋ฉด ๋” ์ข‹์•˜์„ ๊ฒƒ ๊ฐ™๋‹ค.
  • AI ๋ชจ๋ธ์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•œ ์ 

    • ์ฒ˜์Œ์—๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ AI ๋ชจ๋ธ์„ ํ™œ์šฉํ•œ RAG ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์„ ๊ณ ๋ คํ–ˆ์ง€๋งŒ, ๋ฆฌ์†Œ์Šค ๋ฌธ์ œ๋กœ ์™ธ๋ถ€ API(Gemini)๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ๋‹ค.
    • ์ง์ ‘ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๊ณ  ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒฝํ—˜์„ ํ•ด๋ณด์ง€ ๋ชปํ•œ ๊ฒƒ์ด ์กฐ๊ธˆ ์•„์‰ฝ๋‹ค.

3๏ธโƒฃ ๋„์ „ํ•˜๊ณ  ์„ฑ์žฅํ•œ ๋‚˜ ์ž์‹ ์ด ๋Œ€๊ฒฌํ•˜๋‹ค ๐Ÿ’ช

  • ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๊ธฐ์ˆ ์ด ๋งŽ์•˜๊ณ , ๋„์ „์ ์ธ ํ™˜๊ฒฝ์ด์—ˆ์ง€๋งŒ, ๋‘๋ ค์›Œํ•˜์ง€ ์•Š๊ณ  ๋ถ€๋”ชํžˆ๋ฉฐ ์„ฑ์žฅํ–ˆ๋‹ค.
  • ์˜์–ด ์‹ค๋ ฅ๋„ ๋งŽ์ด ๋Š˜์—ˆ๋‹ค!
    • ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ๊ธฐ์ˆ ์ ์ธ ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์ˆ˜์›”ํ•ด์กŒ๋‹ค.
  • ๋ฌด์—‡๋ณด๋‹ค, ๋„์ „์„ ๋‘๋ ค์›Œํ•˜์ง€ ์•Š๋Š” ๋‚ด ์ž์„ธ๊ฐ€ ๋„ˆ๋ฌด ๋ฉ‹์กŒ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.
    • ๋ชจ๋ฅด๋Š” ๊ฒƒ์„ ๋ฐฐ์šฐ๊ธฐ ์œ„ํ•ด ๊นŠ์ด ํŒŒ๊ณ ๋“ค์—ˆ๊ณ , ๋น ๋ฅด๊ฒŒ ์Šต๋“ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด๋ƒˆ๋‹ค.
    • ์ธํ„ด ๊ธฐ๊ฐ„ ๋™์•ˆ, "๋‚ด๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๋” ๋งŽ์€ ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๊ตฌ๋‚˜" ๋ผ๋Š” ์ž์‹ ๊ฐ์„ ์–ป์—ˆ๋‹ค.

๐Ÿš€ "์•ž์œผ๋กœ ์–ด๋–ค ๋„์ „์ด ์™€๋„, ๋‚˜๋Š” ํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค."
๐Ÿš€ "์ด๋ฒˆ ์ธํ„ด์‹ญ์„ ํ†ตํ•ด, ๋‚˜๋Š” ํ•œ์ธต ๋” ์„ฑ์žฅํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์—ˆ๋‹ค."


profile
Spring Boot ๋ฐฑ์—”๋“œ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด