๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Project ESG+AI/[์‚ผ์ •KPMG]ESG ๋ฐ์ดํ„ฐ ํ™œ์šฉ ํ’€์Šคํ… ๊ฐœ๋ฐœ

38์ผ์ฐจ.

by GreenJin_S2 2025. 12. 4.

 

 

 

ctrl+,

 

indent

8->20

 

 

๋‚ด๊ฐ€ ํ”„๋ก ํŠธ์—”๋“œ ๋‘๊ฐœ ๋ฐฑ์—”๋“œ๊ฐ€ ์„ธ๊ฐœ์•ผ ์ด ๋‘๊ฐœ๋ฅผ api.seoeunjin.com ์ด ํด๋”๋ฅผ ๊ฒŒ์ดํŠธ ์›จ์ด๋กœ ์‚ฌ์šฉํ•ด์„œ ์—ฐ๊ฒฐํ•˜๋Š” msa ๊ตฌ์กฐ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์–ด.

์—ฌ๊ธฐ์—์„œ ๋กœ์ปฌ db๋กœ ๋„์ปค+ํฌ์ŠคํŠธ๊ทธ๋ฆฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๊ฑธ ๋„ค์˜จdb์™€ UPSTASH_REDIS ์ด๊ฑฐ๋กœ ๋ฐ”๊ฟ€๊บผ์•ผ

๋„ˆ๊ฐ€ ์‹คํ–‰ํ•  ๋‚ด์šฉ๊ณผ ๋‚ด๊ฐ€ ํ•ด์•ผ ๋  ๊ฑธ ์ˆœ์„œ๋Œ€๋กœ ์•Œ๋ ค์ค˜. ์‹คํ–‰ํ•˜์ง€๋Š” ๋ง๊ณ .

 


๐Ÿ“‹ ์ž‘์—… ์ˆœ์„œ

AI๊ฐ€ ์‹คํ–‰ํ•  ์ž‘์—…:

  1. ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ๊ตฌ์กฐ ์„ค์ •
  • ๊ฐ ์„œ๋น„์Šค๋ณ„ ๊ธฐ๋ณธ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ์ƒ์„ฑ
  • package.json ํŒŒ์ผ ์ƒ์„ฑ (Node.js ๊ธฐ์ค€)
  • TypeScript ์„ค์ • (tsconfig.json)
  1. API Gateway ์„ค์ • (api.seoeunjin.com)
  • Express/Fastify ๊ธฐ๋ฐ˜ ๊ฒŒ์ดํŠธ์›จ์ด ์„ค์ •
  • ๋ผ์šฐํŒ… ๋ฐ ํ”„๋ก์‹œ ์„ค์ • (๊ฐ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋กœ ์—ฐ๊ฒฐ)
  • CORS, ์ธ์ฆ ๋ฏธ๋“ค์›จ์–ด ์„ค์ •
  1. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์„ค์ •
  • service.seoeunjin.com, app.seoeunjin.com, ai.seoeunjin.com
  • ๊ฐ ์„œ๋น„์Šค๋ณ„ ๊ธฐ๋ณธ API ๊ตฌ์กฐ
  • Prisma ORM ์„ค์ • (Neon DB์šฉ)
  • Redis ํด๋ผ์ด์–ธํŠธ ์„ค์ • (Upstash)
  1. ํ”„๋ก ํŠธ์—”๋“œ ์„ค์ •
  • admin.seoeunjin.com, www.seoeunjin.com
  • Next.js/React ๊ธฐ๋ณธ ๊ตฌ์กฐ
  • API Gateway ์—ฐ๊ฒฐ ์„ค์ •
  1. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ
  • .env.example ํŒŒ์ผ๋“ค ์ƒ์„ฑ
  • ํ•„์š”ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ฆฌ์ŠคํŠธ์—…
  1. Docker ์„ค์ • ์ œ๊ฑฐ/๋Œ€์ฒด
  • docker-compose.yml ์ œ๊ฑฐ (์ด๋ฏธ ์—†์Œ)
  • ๋กœ์ปฌ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ ์„ค์ •

๋‹น์‹ ์ด ํ•ด์•ผ ํ•  ์ž‘์—…:

  1. Neon DB ๊ณ„์ • ์„ค์ •
  • Neon DB ํšŒ์›๊ฐ€์ž…
  • ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ (์„œ๋น„์Šค๋ณ„๋กœ ๋ถ„๋ฆฌํ• ์ง€ ๊ฒฐ์ •)
  • Connection String ๋ณต์‚ฌ (ํ˜•์‹: postgresql://[user]:[password]@[host]/[database]?sslmode=require)
  1. Upstash Redis ๊ณ„์ • ์„ค์ •
  • Upstash ํšŒ์›๊ฐ€์ž…
  • Redis ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ
  • REST URL๊ณผ ํ† ํฐ ๋ณต์‚ฌ:
  • UPSTASH_REDIS_REST_URL
  • UPSTASH_REDIS_REST_TOKEN
  1. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
  • ๊ฐ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ํด๋”์— .env ํŒŒ์ผ ์ƒ์„ฑ
  • Neon DB์™€ Upstash ์ •๋ณด ์ž…๋ ฅ
  1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ (๊ธฐ์กด ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ)
  • ๊ธฐ์กด PostgreSQL ๋ฐ์ดํ„ฐ ๋คํ”„
  • Neon DB๋กœ ๋ฐ์ดํ„ฐ ๋ณต์›
  1. ํ…Œ์ŠคํŠธ ๋ฐ ๊ฒ€์ฆ
  • ๊ฐ ์„œ๋น„์Šค๋ณ„ ๋กœ์ปฌ ์‹คํ–‰ ํ…Œ์ŠคํŠธ
  • API Gateway๋ฅผ ํ†ตํ•œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
  • Redis ์บ์‹ฑ ๋™์ž‘ ํ™•์ธ

๐Ÿค” ์ถ”๊ฐ€ ์งˆ๋ฌธ

์ž‘์—…์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:

  1. ํ”„๋ ˆ์ž„์›Œํฌ/์–ธ์–ด: Node.js/TypeScript๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”? ์•„๋‹ˆ๋ฉด ๋‹ค๋ฅธ ์Šคํƒ์ธ๊ฐ€์š”?
  1. ํ”„๋ก ํŠธ์—”๋“œ: Next.js, React, Vue ์ค‘ ์–ด๋–ค ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์‹œ๋‚˜์š”?
  1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ: 3๊ฐœ์˜ ๋ฐฑ์—”๋“œ๊ฐ€ ๊ฐ๊ฐ ๋ณ„๋„์˜ DB๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”, ์•„๋‹ˆ๋ฉด ํ•˜๋‚˜์˜ DB๋ฅผ ๊ณต์œ ํ•˜๋‚˜์š”?
  1. ๊ธฐ์กด ์ฝ”๋“œ: ๋‹ค๋ฅธ ๊ณณ์— ์ด๋ฏธ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‚˜์š”?

์ด ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๋ฐ”๋กœ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์„ค์ •ํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

 

 

์ปจํ…Œ์ด๋„ˆ๋Š” ๋ชจ๋‘  ์ค‘์ง€ ์‹œํ‚ค๊ธฐ

 


@admin.seoeunjin.com @www.seoeunjin.com next+React+ node+TypeScript ์ด๊ฒŒ ํ”„๋ก ํŠธ ์—”๋“œ ํ™˜๊ฒฝ์ด์•ผ.

์ž๋ฐ”๋Š” @api.seoeunjin.com ์ด ํด๋”๋Š” ๊ฒŒ์ดํŠธ ์›จ์ด์—ญํ• ์„ ํ•˜๋Š” ์•„์ด์•ผ ๋‚˜๋Š” msa+ api gateway api์ „๋žต์„ ์‚ฌ์šฉํ• ๊ฑฐ๊ฑฐ๋“ , @app.seoeunjin.com ์ด๊ฑฐ๋Š” ๋ชจ๋ฐ”์ผ์šฉ์ด๊ณ  @service.seoeunjin.com ์ด๊ฒŒ ๋‚ด๊ฐ€ ๋งŒ๋“  lca ์„œ๋น„์Šค ํ”„๋กœ๊ทธ๋žจ์ด ๋“ค์–ด๊ฐˆ ํด๋”์•ผ ์•„์ง ๊ตฌ์ฒด์ ์ธ๊ฑด ์ •ํ•˜์ง€ ์•Š์•˜์–ด ์ด๊ฒƒ๋“ค์ด ์ž๋ฐ”์•ผ ์Šคํ”„๋ง๋ถ€ํŠธ+java21+๋„์ปค ์ปดํฌ์ฆˆ ์—… yaml+ํฌ์ŠคํŠธ๊ทธ๋ฆฌ ์ด๊ฑฐ๋กœ ์ž‘์—…ํ•˜๊ณ  ์žˆ์–ด.

ai๋Š” @ai.seoeunjin.com ํŒŒ์ด์ฌ +์•„๋‚˜์ฝ˜๋‹ค๋กœ ์ž‘์—…ํ•˜๊ณ  ์žˆ์–ด. ์‹คํ–‰ํ•˜์ง€๋Š” ๋ง๊ณ  ๋„ˆ๊ฐ€ ํ•  ๋‚ด์šฉ์„ ๋‹จ๊ณ„์ ์œผ๋กœ ์•Œ๋ ค์ฃผ๊ณ  ๋‚ด๊ฐ€ํ•  ๋‚ด์šฉ๋„ ์ˆœ์„œ๋Œ€๋กœ ์•Œ๋ ค์ค˜

 

 

๐Ÿค– AI๊ฐ€ ์‹คํ–‰ํ•  ์ž‘์—… (์ˆœ์„œ๋Œ€๋กœ)

1๋‹จ๊ณ„: ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๋ถ„์„

  • ๊ฐ ํด๋”์˜ ๊ธฐ์กด ์„ค์ • ํŒŒ์ผ ํ™•์ธ
  • docker-compose.yml ๋ถ„์„
  • Spring Boot application.yml / application.properties ํ™•์ธ
  • PostgreSQL ์—ฐ๊ฒฐ ์„ค์ • ํ™•์ธ
  • Next.js ํ™˜๊ฒฝ ์„ค์ • ํ™•์ธ
  • Python ํ”„๋กœ์ ํŠธ ์„ค์ • ํ™•์ธ

2๋‹จ๊ณ„: API Gateway (api.seoeunjin.com) ์„ค์ • ์ˆ˜์ •

  • application.yml ๋ฐฑ์—… ์ƒ์„ฑ
  • PostgreSQL → Neon DB ์—ฐ๊ฒฐ ์„ค์ • ๋ณ€๊ฒฝ
  • Redis ์„ค์ • ์ถ”๊ฐ€ (Upstash Redis)
  • Spring Cloud Gateway ๋ผ์šฐํŒ… ์„ค์ • ๊ฒ€ํ† 
  • pom.xml / build.gradle์— Redis ์˜์กด์„ฑ ์ถ”๊ฐ€

3๋‹จ๊ณ„: ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋“ค ์„ค์ • ์ˆ˜์ •

3-1. app.seoeunjin.com (๋ชจ๋ฐ”์ผ ๋ฐฑ์—”๋“œ)

  • application.yml ๋ฐฑ์—… ๋ฐ ์ˆ˜์ •
  • Neon DB ์—ฐ๊ฒฐ ์„ค์ •
  • Redis ์„ธ์…˜/์บ์‹œ ์„ค์ • ์ถ”๊ฐ€
  • Redis ์˜์กด์„ฑ ์ถ”๊ฐ€

3-2. service.seoeunjin.com (LCA ์„œ๋น„์Šค)

  • application.yml ๋ฐฑ์—… ๋ฐ ์ˆ˜์ •
  • Neon DB ์—ฐ๊ฒฐ ์„ค์ •
  • Redis ์บ์‹œ ์„ค์ • ์ถ”๊ฐ€
  • Redis ์˜์กด์„ฑ ์ถ”๊ฐ€

4๋‹จ๊ณ„: AI ์„œ๋น„์Šค (ai.seoeunjin.com) ์„ค์ • ์ˆ˜์ •

  • Python ํ™˜๊ฒฝ ์„ค์ • ํŒŒ์ผ ํ™•์ธ (requirements.txt, environment.yml)
  • PostgreSQL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Neon DB ํ˜ธํ™˜์œผ๋กœ ํ™•์ธ (psycopg2)
  • Redis ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ (redis-py ๋˜๋Š” upstash-redis)
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ํŒŒ์ผ ์ˆ˜์ •

5๋‹จ๊ณ„: ํ”„๋ก ํŠธ์—”๋“œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

  • admin.seoeunjin.com/.env.example ์ƒ์„ฑ
  • www.seoeunjin.com/.env.example ์ƒ์„ฑ
  • API Gateway ์—”๋“œํฌ์ธํŠธ ์„ค์ •

6๋‹จ๊ณ„: ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ

๊ฐ ์„œ๋น„์Šค๋ณ„ .env.example ํŒŒ์ผ ์ƒ์„ฑ:

  • api.seoeunjin.com/.env.example
  • app.seoeunjin.com/.env.example
  • service.seoeunjin.com/.env.example
  • ai.seoeunjin.com/.env.example

7๋‹จ๊ณ„: Docker Compose ์„ค์ • ์ˆ˜์ •

  • docker-compose.yml์—์„œ PostgreSQL ์„œ๋น„์Šค ์ œ๊ฑฐ ๋˜๋Š” ์ฃผ์„์ฒ˜๋ฆฌ
  • Redis ์ปจํ…Œ์ด๋„ˆ ์ œ๊ฑฐ (Upstash ์‚ฌ์šฉํ•˜๋ฏ€๋กœ)
  • ํ•„์š”์‹œ ๋กœ์ปฌ ๊ฐœ๋ฐœ์šฉ ์„ค์ • ๋ถ„๋ฆฌ (docker-compose.dev.yml)

8๋‹จ๊ณ„: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ ์ค€๋น„

  • Flyway/Liquibase ์„ค์ • ํ™•์ธ (์žˆ๋Š” ๊ฒฝ์šฐ)
  • ๊ธฐ์กด ์Šคํ‚ค๋งˆ ์ถ”์ถœ ์Šคํฌ๋ฆฝํŠธ ์ƒ์„ฑ
  • Neon DB ์ดˆ๊ธฐํ™” SQL ์Šคํฌ๋ฆฝํŠธ ์ค€๋น„

9๋‹จ๊ณ„: README ๋ฐ ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ

  • ๋ฃจํŠธ README.md ์—…๋ฐ์ดํŠธ
  • ๊ฐ ์„œ๋น„์Šค๋ณ„ ์„ค์ • ๋ฐฉ๋ฒ• ๋ฌธ์„œํ™”
  • ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ ์ž‘์„ฑ

๐Ÿ‘ค ๋‹น์‹ ์ด ํ•ด์•ผ ํ•  ์ž‘์—… (์ˆœ์„œ๋Œ€๋กœ)

1๋‹จ๊ณ„: Neon DB ์„ค์ • โญ ๊ฐ€์žฅ ๋จผ์ €!

  1. Neon DB Console ์ ‘์† ๋ฐ ๋กœ๊ทธ์ธ
  1. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
  1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „๋žต ๊ฒฐ์ •:
  • ์˜ต์…˜ A: ๊ฐ ์„œ๋น„์Šค๋ณ„ ๋ณ„๋„ DB (๊ถŒ์žฅ - MSA ์›์น™)
  • api_gateway_db
  • app_mobile_db
  • lca_service_db
  • ai_service_db
  • ์˜ต์…˜ B: ํ•˜๋‚˜์˜ DB์— ์Šคํ‚ค๋งˆ ๋ถ„๋ฆฌ
  1. ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ Connection String ๋ณต์‚ฌ (์˜ˆ์‹œ):
     

2๋‹จ๊ณ„: Upstash Redis ์„ค์ • โญ

  1. Upstash Console ์ ‘์† ๋ฐ ๋กœ๊ทธ์ธ
  1. Redis ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ
  1. Redis ์ „๋žต ๊ฒฐ์ •:
  • ์˜ต์…˜ A: ๊ฐ ์„œ๋น„์Šค๋ณ„ ๋ณ„๋„ Redis (๊ถŒ์žฅ)
  • ์˜ต์…˜ B: ํ•˜๋‚˜์˜ Redis์— namespace ๋ถ„๋ฆฌ
  1. ๋‹ค์Œ ์ •๋ณด ๋ณต์‚ฌ:
     

3๋‹จ๊ณ„: ๊ธฐ์กด ๋ฐ์ดํ„ฐ ๋ฐฑ์—… โš ๏ธ ์ค‘์š”!

  1. ํ˜„์žฌ Docker PostgreSQL ์ปจํ…Œ์ด๋„ˆ ํ™•์ธ:
     
  1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋คํ”„:
     
  1. ๋ฐฑ์—… ํŒŒ์ผ ์•ˆ์ „ํ•œ ๊ณณ์— ๋ณด๊ด€

4๋‹จ๊ณ„: ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

AI๊ฐ€ ์ƒ์„ฑํ•œ .env.example ํŒŒ์ผ์„ ์ฐธ๊ณ ํ•˜์—ฌ ๊ฐ ์„œ๋น„์Šค๋ณ„ .env ํŒŒ์ผ ์ƒ์„ฑ:api.seoeunjin.com/.env

 

app.seoeunjin.com/.env

 

service.seoeunjin.com/.env

 

ai.seoeunjin.com/.env

 

admin.seoeunjin.com/.env.local

 

www.seoeunjin.com/.env.local

 

5๋‹จ๊ณ„: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

  1. Neon DB Console์—์„œ SQL Editor ์—ด๊ธฐ
  1. ๋ฐฑ์—…ํ•œ ๋คํ”„ ํŒŒ์ผ ๋‚ด์šฉ์„ ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณต์›
  • ๋˜๋Š” Flyway/Liquibase ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‹คํ–‰
  • ๋˜๋Š” JPA spring.jpa.hibernate.ddl-auto=update ์‚ฌ์šฉ (๊ฐœ๋ฐœ์‹œ)

6๋‹จ๊ณ„: Python ํ™˜๊ฒฝ ์žฌ์„ค์ •

 

7๋‹จ๊ณ„: ์˜์กด์„ฑ ์„ค์น˜ ๋ฐ ๋นŒ๋“œ

Java ์„œ๋น„์Šค๋“ค:

 

ํ”„๋ก ํŠธ์—”๋“œ๋“ค:

 

8๋‹จ๊ณ„: ๋กœ์ปฌ ํ…Œ์ŠคํŠธ

  1. ๊ฐ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๊ฐœ๋ณ„ ์‹คํ–‰ ๋ฐ ํ…Œ์ŠคํŠธ
     
  1. API Gateway ์‹คํ–‰
  1. AI ์„œ๋น„์Šค ์‹คํ–‰
     
  1. ํ”„๋ก ํŠธ์—”๋“œ ์‹คํ–‰
     
  1. ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ:
  • API Gateway → ๊ฐ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋ผ์šฐํŒ…
  • ํ”„๋ก ํŠธ์—”๋“œ → API Gateway
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค CRUD ์ž‘๋™ ํ™•์ธ
  • Redis ์บ์‹ฑ ์ž‘๋™ ํ™•์ธ

9๋‹จ๊ณ„: Docker Compose ์ •๋ฆฌ (์„ ํƒ์‚ฌํ•ญ)

 

10๋‹จ๊ณ„: ์ตœ์ข… ๊ฒ€์ฆ

  • [ ] ๋ชจ๋“  ์„œ๋น„์Šค๊ฐ€ Neon DB์— ์—ฐ๊ฒฐ๋˜๋Š”์ง€ ํ™•์ธ
  • [ ] Redis ์บ์‹ฑ์ด ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธ
  • [ ] API Gateway ๋ผ์šฐํŒ…์ด ์ •์ƒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธ
  • [ ] ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ๋ฐฑ์—”๋“œ API ํ˜ธ์ถœ ํ™•์ธ
  • [ ] ์—๋Ÿฌ ๋กœ๊ทธ ํ™•์ธ

โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ

  1. ๋ฐฑ์—…์€ ํ•„์ˆ˜: ๋ฐ์ดํ„ฐ ์†์‹ค ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ๋ฐฑ์—… ๋จผ์ €!
  1. ๋‹จ๊ณ„๋ณ„ ์ง„ํ–‰: ํ•œ ๋ฒˆ์— ๋ชจ๋“  ์„œ๋น„์Šค๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜์ง€ ๋ง๊ณ  ํ•˜๋‚˜์”ฉ
  1. ํ™˜๊ฒฝ ๋ถ„๋ฆฌ: ๊ฐœ๋ฐœ/์šด์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ๊ด€๋ฆฌ
  1. ๋ณด์•ˆ: .env ํŒŒ์ผ์€ ์ ˆ๋Œ€ Git์— ์ปค๋ฐ‹ํ•˜์ง€ ์•Š๊ธฐ (.gitignore ํ™•์ธ)
  1. Connection Pool: Neon DB์˜ ๋ฌด๋ฃŒ ํ”Œ๋žœ์€ ๋™์‹œ ์—ฐ๊ฒฐ ์ˆ˜ ์ œํ•œ์ด ์žˆ์œผ๋ฏ€๋กœ Connection Pool ์„ค์ • ์กฐ์ • ํ•„์š”

 

๊ทธ๋ƒฅ ๊ฐ•์‚ฌ๋‹˜ ๊นƒ์— ์˜ฌ๋ฆฐ๊ฑฐ ๋ฐ›์•„์„œ ๋‹ค ๋‚ด์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝํ•จ! ๊ทธ๊ฒŒ ์ ค ์—๋Ÿฌ ์•ˆ๋‚˜๊ธฐ๋„ํ•ด์„œ ใ… 


์ด๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ผ๋‹จ ๋จผ์ € ๊ฐ™์ด ํ•˜๊ธฐ๋กœ ํ•จ

 

 


kaggle datasets ๊ฒ€์ƒ‰ํ•ด์„œ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š” ๊ฑด๋ฐ ํƒ€์ดํƒ€๋‹‰ ๋ชป์ฐพ์•„์„œ ๊ทธ๋ƒฅ ๋งํฌ๋กœ ์ณ์„œ ๋“ค์–ด๊ฐ

 

 

Titanic - Machine Learning from Disaster | Kaggle

 

Titanic

Kaggle profile for Titanic

www.kaggle.com

 

data ํƒญ ๋ˆ„๋ฅด๊ณ  ๋ฐ‘์œผ๋กœ ๋‚ด๋ฆฌ๋ฉด ๋‹ค์šด๋กœ๋“œ all ์žˆ์Œ ! ๋ฒ„ํŠผ ๋ˆ„๋ฅด๊ธฐ

 

 

@ai.seoeunjin.com/titanicservice/app/main.py @ai.seoeunjin.com/titanicservice/app/train.csv ์ด ํŒŒ์ผ์— ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค ์ค‘ ์ƒ์œ„ 10๋ช…๋งŒ ํ„ฐ๋ฏธ๋„์— ๋ณด์—ฌ์ฃผ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ค˜

 

 

๊ฒŒ์ดํŠธ์šฐใ…”์ด๋Š” ํ•˜๋‚˜(8080)์ด๊ณ  ๋ฐฑ์—”๋“œ, ํ”„๋ก ํŠธ์—”๋“œ ์—ฐ๊ฒฐํ•˜๋ฉด ๋จ

 

 

 

 

 

 


๋‚ด๊ฐ€ ํ”„๋ก ํŠธ์—”๋“œ ๋‘๊ฐœ ๋ฐฑ์—”๋“œ๊ฐ€ ์„ธ๊ฐœ์•ผ ์ด ๋‘๊ฐœ๋ฅผ api.seoeunjin.com ์ด ํด๋”๋ฅผ ๊ฒŒ์ดํŠธ ์›จ์ด๋กœ ์‚ฌ์šฉํ•ด์„œ ์—ฐ๊ฒฐํ•˜๋Š” msa ๊ตฌ์กฐ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์–ด.

 

์—ฌ๊ธฐ์—์„œ ๋กœ์ปฌ db๋กœ ๋„์ปค+ํฌ์ŠคํŠธ๊ทธ๋ฆฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๊ฑธ ๋„ค์˜จdb์™€ UPSTASH_REDIS ์ด๊ฑฐ๋กœ ๋ฐ”๊ฟ€๊บผ์•ผ

 

@admin.seoeunjin.com @www.seoeunjin.com next+React+ node+TypeScript ์ด๊ฒŒ ํ”„๋ก ํŠธ ์—”๋“œ ํ™˜๊ฒฝ์ด์•ผ.

์ž๋ฐ”๋Š” @api.seoeunjin.com ์ด ํด๋”๋Š” ๊ฒŒ์ดํŠธ ์›จ์ด์—ญํ• ์„ ํ•˜๋Š” ์•„์ด์•ผ ๋‚˜๋Š” msa+ api gateway api์ „๋žต์„ ์‚ฌ์šฉํ• ๊ฑฐ๊ฑฐ๋“ , @app.seoeunjin.com ์ด๊ฑฐ๋Š” ๋ชจ๋ฐ”์ผ์šฉ์ด๊ณ  @service.seoeunjin.com ์ด๊ฒŒ ๋‚ด๊ฐ€ ๋งŒ๋“  lca ์„œ๋น„์Šค ํ”„๋กœ๊ทธ๋žจ์ด ๋“ค์–ด๊ฐˆ ํด๋”์•ผ ์•„์ง ๊ตฌ์ฒด์ ์ธ๊ฑด ์ •ํ•˜์ง€ ์•Š์•˜์–ด ์ด๊ฒƒ๋“ค์ด ์ž๋ฐ”์•ผ ์Šคํ”„๋ง๋ถ€ํŠธ+java21+๋„์ปค ์ปดํฌ์ฆˆ ์—… yaml+ํฌ์ŠคํŠธ๊ทธ๋ฆฌ ์ด๊ฑฐ๋กœ ์ž‘์—…ํ•˜๊ณ  ์žˆ์–ด.

ai๋Š” @ai.seoeunjin.com ํŒŒ์ด์ฌ +์•„๋‚˜์ฝ˜๋‹ค๋กœ ์ž‘์—…ํ•˜๊ณ  ์žˆ์–ด. ์‹คํ–‰ํ•˜์ง€๋Š” ๋ง๊ณ  ๋„ˆ๊ฐ€ ํ•  ๋‚ด์šฉ์„ ๋‹จ๊ณ„์ ์œผ๋กœ ์•Œ๋ ค์ฃผ๊ณ  ๋‚ด๊ฐ€ํ•  ๋‚ด์šฉ๋„ ์ˆœ์„œ๋Œ€๋กœ ์•Œ๋ ค์ค˜

 

์ง€๊ธˆ ์ด๋ ‡๊ฒŒ ๋‚˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ์–ด. ๋„ˆ๊ฐ€ ์‹คํ–‰ํ•  ๋‚ด์šฉ๊ณผ ๋‚ด๊ฐ€ ํ•ด์•ผ ๋  ๊ฑธ ์ˆœ์„œ๋Œ€๋กœ ์•Œ๋ ค์ค˜. ์‹คํ–‰ํ•˜์ง€๋Š” ๋ง๊ณ .