- ์ฑ๋ช : ์ค์ธํ
- ์ง๋ฌด: Full Stack Developer (Java/Spring Boot)
- Email: do11anm@naver.com
- GitHub: https://github.com/sedoll
- Blog: https://blog.naver.com/tmvmffpsej
- Velog: https://velog.io/@sedo11/posts
๊ต์ก ํ๋ซํผ๊ณผ AI ๊ธฐ๋ฐ ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๋ฉฐ, ๋จ์ ๊ธฐ๋ฅ ๊ตฌํ๋ณด๋ค "์ด์ ํ๊ฒฝ์์ ์์ ์ ์ผ๋ก ๋์ํ๋ ๊ตฌ์กฐ"๋ฅผ ์ค์ํ๊ฒ ์๊ฐํ๋ ๊ฐ๋ฐ์์ ๋๋ค.
๋๊ท๋ชจ ํ๊ต ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ํฌ๋กค๋ง ์์คํ ๋ถํฐ GPT ๊ธฐ๋ฐ ์๋น์ค, ์ด๋ฒคํธ ํ๋ซํผ, ์๋ํ ์ํฌํ๋ก์ฐ๊น์ง ์ง์ ์ค๊ณํ๊ณ ์ด์ํ๋ฉฐ ์ฅ์ ์ํฉ์ ๋น ๋ฅด๊ฒ ๋ถ์ํ๊ณ ๊ฐ์ ํ๋ ๊ฒฝํ์ ์์์ต๋๋ค.
๊ธฐ๋ฅ ํ๋๋ฅผ ๋ง๋ค๋๋ผ๋ "์ ์ด ๊ตฌ์กฐ๊ฐ ํ์ํ๊ฐ", "์ด์ ์ ์ด๋ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋๊ฐ"๋ฅผ ๋จผ์ ๊ณ ๋ฏผํ๋ฉฐ ๊ฐ๋ฐํฉ๋๋ค.
ํนํ ์ค์ ์๋น์ค ์ด์ ํ๊ฒฝ์์ ๋ฐ์ํ๋ ํธ๋ํฝ, ์์ธ ์ฒ๋ฆฌ, ์ ์ง๋ณด์์ฑ, ์๋ํ ๋ฌธ์ ํด๊ฒฐ์ ๊ด์ฌ์ด ๋ง์ผ๋ฉฐ, AI์ ์๋ํ ๊ธฐ์ ์ ์ค๋ฌด ์๋น์ค์ ์์ฐ์ค๋ฝ๊ฒ ๋ น์ฌ๋ด๋ ๊ฐ๋ฐ์ ์งํฅํฉ๋๋ค.
IT ์ด์ํ (T์ ํ ๋ด๋น) | 2024.02 ~ 2026.02
- T์ ํ(๊ต์ํ์ต ์ง์ ํ๋ซํผ) ์๋น์ค ๊ฐ๋ฐ ๋ฐ ์ด์
- ๋ฐฑ์๋/ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๋ฐ ์ ์ง๋ณด์
- AI ๊ธฐ๋ฐ ์๋น์ค ๋ฐ ์ด๋ฒคํธ ํ๋ซํผ ๊ตฌ์ถ
- ๊ธฐ์กด ๋ ๊ฑฐ์ ์์คํ ๊ฐ์
- ๊ธฐ๊ฐ: 2025.11 ~ 2026.01
- ํ ๊ตฌ์ฑ: ๊ฐ๋ฐ์ 3๋ช (์ ์ 1๋ช , ์ฃผ๋์ด 2๋ช ), ํผ๋ธ๋ฆฌ์ 3๋ช , ๊ธฐํ 2๋ช , ๋์์ด๋ 2๋ช
- ์ญํ : ํ๋ก ํธ์๋ ๊ฐ๋ฐ
- Tech: Vue.js, Nuxt.js, C#, MSSQL
ํ๊ต ์ ์๋๋ค์ด ์จ๋ผ์ธ์ผ๋ก ์ฐ์ ๋ฐ ๊ต์ก ์์์ ์์ฒญํ๊ณ ํ์ตํ ์ ์๋๋ก ๊ตฌ์ถ๋ ์์ ํ๋ซํผ ํ๋ก์ ํธ์ ๋๋ค. ๋จ์ ์์ ์ฌ์ ํ์ด์ง๊ฐ ์๋๋ผ ํ์ต ์งํ ํ๋ฆ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ณ ๋ คํ ๊ตฌ์กฐ๋ก ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ์ค์ ์ด์ ํ๊ฒฝ์์ ์์ ์ ์ผ๋ก ๋์ํ ์ ์๋ UI/UX์ ์์ ์ํ ๊ด๋ฆฌ์ ์ค์ ์ ๋๊ณ ๊ฐ๋ฐ๋์์ต๋๋ค.
- Nuxt SSR ํ๊ฒฝ์์ ์ด๊ธฐ ๋ ๋๋ง ์์ ์ฑ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ํจ๊ป ๊ณ ๋ คํ ๊ตฌ์กฐ ์ค๊ณ
- ์์ ์ฌ์ ์ํ, ์ฌ์ฉ์ ํ์ต ํ๋ฆ, UI ์ํ๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌ
- ํผ๋ธ๋ฆฌ์ ๋ฐ ๊ธฐํ์์ ํ์ ํ๋ฉฐ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ คํด ๊ฐ๋ฐ
- ์ด์ ์ค ๊ธฐ๋ฅ ์ถ๊ฐ์ ์ ์ง๋ณด์๋ฅผ ๊ณ ๋ คํ์ฌ ํ๋ฉด ๋จ์ ์ฑ ์์ ๋ถ๋ฆฌ
- Nuxt.js ๊ธฐ๋ฐ ํ๋ก ํธ์๋ ๊ฐ๋ฐ
- ์์ ์ฌ์ UI/UX ๊ฐ์
- ์ฌ์ฉ์ ํ์ต ํ๋ฆ ์ต์ ํ
Nuxt.js ๊ธฐ๋ฐ์ SSR(์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง) ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๊ณผ์ ์์, ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ๋ ๋๋ง ๊ฒฐ๊ณผ๋ฌผ์ด ์ผ์นํ์ง ์์ ๋ฐ์ํ๋ Hydration Mismatch ์ค๋ฅ๊ฐ ๋น๋ฒํ๊ฒ ์ผ์ด๋ฌ์ผ๋ฉฐ, ์ด๋ก ์ธํด ์ด๊ธฐ ํ๋ฉด ๋ก๋ฉ ์ UI ๊น๋นก์ ํ์๊ณผ ์ฌ์ฉ์ ๊ฒฝํ ์ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
Nuxt SSR ํ๊ฒฝ์์ ๋ธ๋ผ์ฐ์ API๋ฅผ ์ง์ ์ฐธ์กฐํ๋ ๋ก์ง๊ณผ ํ๋ฉด ์ํ๊ฐ ์๋ฒ ๋ ๋๋ง ๊ฒฐ๊ณผ์ ๋ฌ๋ผ์ง๋ ์ง์ ์ ๋ถ๋ฆฌํ์ต๋๋ค. ํด๋ผ์ด์ธํธ์์๋ง ์คํ๋์ด์ผ ํ๋ ์ปดํฌ๋ํธ๋ ๋ ๋๋ง ์์ ์ ์กฐ์ ํ๊ณ , ๊ณตํต UI ์ํ๋ store ๊ธฐ์ค์ผ๋ก ์ ๋ฆฌํด ์ด๊ธฐ ๋ก๋ฉ๊ณผ ํ๋ฉด ์ ํ ์ ๋ฐ์ํ๋ ๋ถ์์ ์ฑ์ ์ค์์ต๋๋ค.
- ์์ ๊ธฐ๋ฐ ํ์ต ํ๋ซํผ UX ๊ฐ์
- Nuxt SSR ํ๊ฒฝ ์ด์ ๊ฒฝํ ํ๋ณด
- ๊ธฐ๊ฐ: 2025.07 ~ 2025.10
- ํ ๊ตฌ์ฑ: ๊ฐ๋ฐ์ 1๋ช (๋จ๋ ์งํ), ํผ๋ธ๋ฆฌ์ 2๋ช , ๊ธฐํ 1๋ช , ๋์์ด๋ 1๋ช
- URL1: https://ele.tsherpa.co.kr/site/event-main/index.html
- URL2 https://mh.tsherpa.co.kr/site/event-main/index.html
- ์ญํ : ํ์คํ ๊ฐ๋ฐ
- Tech: Java, Spring Boot, MyBatis, MS SQL, jQuery
๊ธฐ์กด ํ๋์ ๊ตฌ์กฐ๋ก ์ด์๋๋ ์ด๋ฒคํธ ํ๋ซํผ์ ์ด๋ฑยท์ค๊ณ ๋ฑ ๋์ ์๋น์ค๋ก ๋ถ๋ฆฌํด ์ด์ ํจ์จ์ฑ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ ํ๋ก์ ํธ์ ๋๋ค. ํ๊ต ๊ธ๋ณ๋ก ๋ค๋ฅธ ์ด์ ์๊ตฌ์ฌํญ๊ณผ UI ํ๋ฆ์ ๋ฐ์ํ ์ ์๋๋ก ๊ตฌ์กฐ๋ฅผ ์ฌ์ค๊ณํ์ผ๋ฉฐ, ์ ์ง๋ณด์์ฑ๊ณผ ๋น ๋ฅธ ์ด๋ฒคํธ ๋์์ด ๊ฐ๋ฅํ ์ด์ ์ค์ฌ ๊ตฌ์กฐ ๊ตฌ์ถ์ ์ค์ ์ ๋๊ณ ๊ฐ๋ฐํ์ต๋๋ค.
- ํ๊ต ๊ธ๋ณ URL ๋ฐ ํ ํ๋ฆฟ ๊ตฌ์กฐ ๋ถ๋ฆฌ
- ๊ณตํต ๊ธฐ๋ฅ ์ฌ์ฌ์ฉ ๊ตฌ์กฐ ์ค๊ณ
- ์์ ์ํฅ ๋ฒ์๋ฅผ ์ต์ํํ ํ์ด์ง ๊ตฌ์กฐ ์ ์ฉ
- ์ ์ง๋ณด์์ฑ๊ณผ ์ด์ ํจ์จ ์ค์ฌ ์ค๊ณ
- ์ด๋ฒคํธ ์์คํ ๋๋ฉ์ธ ๋ถ๋ฆฌ ์์ ์งํ
- ๋ ๊ฑฐ์ ์ฝ๋ ๋ฆฌํฉํ ๋ง ๋ฐ UI ๊ฐ์
- ํ๊ต ๊ธ๋ณ ์ฌ์ฉ์ ํ๋ฆ ์ต์ ํ
์ด๋ฑ ๋ฐ ์ค๊ณ ๋ฑ ์๋น์ค์ ์ฑ๊ฒฉ๊ณผ ์๊ตฌ์ฌํญ์ด ๋ค๋ฆ์๋ ๋ถ๊ตฌํ๊ณ ๋จ์ผ ํ ํ๋ฆฟ๊ณผ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ณต์ ํ๊ณ ์์ด, ์ฌ์ํ ๊ธฐ๋ฅ ์ถ๊ฐ๋ ์์ ์์๋ ์ ์ฒด ์๋น์ค๋ก ์ํฅ ๋ฒ์๊ฐ ํ๋๋์์ต๋๋ค. ์ด๋ก ์ธํด ์ด์ ๋ถ์ ๊ฐ ๋ฐฐํฌ ์ผ์ ์ด ์ถฉ๋ํ๊ณ ์ ์ง๋ณด์ ๋ณต์ก๋๊ฐ ํฌ๊ฒ ์ฆ๊ฐํ๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
ํ๊ต ๊ธ๋ณ๋ก ํผ์ฌ๋์ด ์๋ URL, ํ ํ๋ฆฟ, ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋๋ฉ์ธ ๋จ์๋ก ์์ ํ ๋ถ๋ฆฌํ๋ ๋ฆฌํฉํ ๋ง์ ์งํํ์ต๋๋ค. ๋์์ ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ณตํต UI ์ปดํฌ๋ํธ๋ ๋ชจ๋ํํ์ฌ ์ฌ์ฌ์ฉ์ฑ์ ๊ทน๋ํํ์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ธฐ๋ฅ ์์ ์ ๋ฐ์ํ๋ ํ ์๋น์ค๋ก์ ์ฌ์ด๋ ์ดํํธ๋ฅผ ์ฐจ๋จํ์ฌ ๋ฐฐํฌ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ผ๋ฉฐ, ๋ง์ถคํ ์ด๋ฒคํธ ํ์ด์ง์ ๋น ๋ฅธ ์์ฑ ๋ฐ ์ ์ง๋ณด์๊ฐ ๊ฐ๋ฅํ ์์ ์ ์ธ ์ด์ ํ๊ฒฝ์ ๊ตฌ์ถํ์ต๋๋ค.
- ์ด์ ๋ณต์ก๋ ๊ฐ์
- ์ฌ์ฉ์ ๋ง์ถคํ ์ด๋ฒคํธ ์ด์ ๊ฐ๋ฅ
- ๊ธฐ๊ฐ: 2025.04 ~ 2025.06
- ํ ๊ตฌ์ฑ: ๊ฐ๋ฐ์ 1๋ช (๋จ๋ ์งํ), ํผ๋ธ๋ฆฌ์ 2๋ช , ๊ธฐํ 1๋ช , ๋์์ด๋ 1๋ช
- URL: https://www.tsherpa.co.kr/site/gpt/index.html
- ์ญํ : ํ์คํ ๊ฐ๋ฐ
- Tech: Java, Spring Boot, JPA, MS SQL, Alpine.js
๊ต์ฌ๋ค์ด ์์ ์์ด๋์ด๋ฅผ ๊ณต์ ํ๊ณ ์ด๋ฒคํธ์ ์ฐธ์ฌํ ์ ์๋๋ก ๊ตฌ์ถ๋ ์ปค๋ฎค๋ํฐํ ํ๋ซํผ์ ๋๋ค. ๋จ์ ๊ฒ์ํ ๊ธฐ๋ฅ ๊ตฌํ์ด ์๋๋ผ ์ด๋ฒคํธ ์ฐธ์ฌ ํ๋ฆ, ์ ์ฒญ ๋ฐ์ดํฐ ๊ด๋ฆฌ, ์ฌ์ฉ์ ํธ์์ฑ์ ํจ๊ป ๊ณ ๋ คํ์ฌ ์ด์ ์์ ์ฑ์ ์ค์ฌ์ผ๋ก ๊ฐ๋ฐ์ ์งํํ์ต๋๋ค.
- Redis ์บ์์ DB ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ๊ตฌ์กฐ์์ ๋ฐ์ดํฐ ์ ํฉ์ฑ์ ๊ณ ๋ คํ ์ค๊ณ
- ์ด๋ฒคํธ ์ฐธ์ฌ ๋ฐ์ดํฐ๊ฐ ๋ง์์ง ์ํฉ์ ๊ณ ๋ คํด ์กฐํ ๋ฐ ์ ์ฒญ ํ๋ฆ ์ต์ ํ
- ์ด์ ์ค ๊ด๋ฆฌ์ ์์ ์์ฒญ์ด ์ฆ์ ๊ธฐ๋ฅ๋ณ ์์ ์ํฅ ๋ฒ์๋ฅผ ์ต์ํํ๋๋ก ๊ตฌ์กฐ ์ค๊ณ
- ์ฌ์ฉ์ ์ ์ฒญ ํ๋ฆ์ด ๋๊ธฐ์ง ์๋๋ก ์์ธ ์ฒ๋ฆฌ ๋ฐ ์ํ ๊ด๋ฆฌ ๋ก์ง ๊ฐํ
- ์์ด๋์ด ์ ์ ๋ฐ ๋๊ธ/ํฌํ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- ์ด๋ฒคํธ ํธ๋ํฝ ๋์์ ์ํ ์ฟผ๋ฆฌ ์ต์ ํ
- ์ฌ์ฉ์ ์ฐธ์ฌ ํ๋ฆ ์ค์ฌ UI ๊ฐ์
์ด๋ฒคํธ ์ ์ฒญ ๋ฐ์ดํฐ๋ฅผ ์์ ยท์ญ์ ํ ๋ DB ๋ฐ์ดํฐ์ Redis ์บ์ ๋ฐ์ดํฐ ๊ฐ ๋๊ธฐํ๊ฐ ๋ง์ง ์์, ์ค์ DB์์๋ ์ญ์ ๋ ๋ฐ์ดํฐ๊ฐ ์บ์์ ๋จ์ ์ค๋ณต ์ ์ฒญ ๋ฐ ์ ์ฒญ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
๋ฌธ์ ์ํฉ์ ์ ์ ๊ฐ๋ฐ์์๊ฒ ๊ณต์ ํ ๋ค ์บ์ ๋๊ธฐํ ๋ฐฉ์์ ๋ํ ํ์๋ฅผ ์งํํ์ต๋๋ค. ์ดํ ์์ ยท์ญ์ ์ DB ์ฒ๋ฆฌ์ ํจ๊ป Redis ์บ์๋ฅผ ์ฆ์ ๊ฐฑ์ ํ๊ฑฐ๋ ์ ๊ฑฐํ๋๋ก ๋ก์ง์ ๊ฐ์ ํ๊ณ , ์บ์ ์กฐํ ์ฐ์ ์์์ ๋ง๋ฃ ์ ์ฑ ๋ ํจ๊ป ์ ๊ฒํ์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ์ ํฉ์ฑ๊ณผ ์ด๋ฒคํธ ์ ์ฒญ ์์ ์ฑ์ ๊ฐ์ ํ์ต๋๋ค.
- ์ด๋ฒคํธ ์ด์ ์์ ์ฑ ํฅ์
- ์ฌ์ฉ์ ์ฐธ์ฌ ๊ฒฝํ ๊ฐ์
- ๊ธฐ๊ฐ: 2025.01 ~ 2025.03
- ํ ๊ตฌ์ฑ: ๊ฐ๋ฐ์ 1๋ช (๋จ๋ ์งํ), ํผ๋ธ๋ฆฌ์ 1๋ช , ๊ธฐํ 1๋ช , ๋์์ด๋ 1๋ช
- URL: https://ele.tsherpa.co.kr/site/aidt_data/main.html
- ์ญํ : ํ์คํ ๊ฐ๋ฐ
- Tech: Java, Spring Boot, MyBatis, MS SQL, JavaScript, FreeMarker
AI ๋์งํธ ๊ต๊ณผ์ ๊ด๋ จ ์๋ฃ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ๋ฐฐํฌํ๊ธฐ ์ํด ๊ตฌ์ถ๋ ์๋ฃ ์์นด์ด๋น ํ๋ซํผ์ ๋๋ค. ๋ค์ํ ์๋ฃ๋ฅผ ์นดํ ๊ณ ๋ฆฌ๋ณ๋ก ๊ด๋ฆฌํ๊ณ , ์ด์์๊ฐ ์์ฝ๊ฒ ์ ๋ก๋ ๋ฐ ๋ฐฐํฌํ ์ ์๋๋ก ๊ด๋ฆฌ์ ๊ธฐ๋ฅ๊ณผ ์ฌ์ฉ์ ๊ฒ์ ํ๋ฆ์ ํจ๊ป ๊ณ ๋ คํด ๊ฐ๋ฐํ์ต๋๋ค.
- ์๋ฃ ์ ํ๊ณผ ์นดํ ๊ณ ๋ฆฌ๋ณ ๊ด๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ คํ ๊ฒ์ํ ์ค๊ณ
- FreeMarker ๊ธฐ๋ฐ SSR ํ๊ฒฝ์์ ์ ์ง๋ณด์์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ ๊ณ ๋ คํ ๊ณตํต ํ ํ๋ฆฟ ๊ตฌ์กฐ ์ค๊ณ
- ์ด์์๊ฐ ์์ฃผ ์์ ํ๋ ์์ญ์ ๊ณตํต ์ปดํฌ๋ํธ ํํ๋ก ๋ถ๋ฆฌ
- ๊ฒ์ ๋ฐ ์๋ฃ ์กฐํ ์ ์ฌ์ฉ์ ์ ๊ทผ ํ๋ฆ์ ๊ณ ๋ คํด ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ต์ ํ
- ์๋ฃ์ค ๊ฒ์ํ CRUD ๋ฐ ์นดํ ๊ณ ๋ฆฌ ๊ฒ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- ๊ด๋ฆฌ์ ํ์ด์ง ๊ธฐ๋ฐ ์๋ฃ ๋ฐฐํฌ ์์คํ ๊ตฌ์ถ
- ๋ ๊ฑฐ์ FreeMarker ํ ํ๋ฆฟ ๊ตฌ์กฐ ๊ฐ์
๋ ๊ฑฐ์ FreeMarker ํ ํ๋ฆฟ์ด ํ์ด์ง๋ณ๋ก ํํธํ๋์ด ์๊ณ ๊ณตํต ์์ญ์ ๋ชจ๋ํ๊ฐ ์ด๋ฃจ์ด์ง์ง ์์, UI๋ ๊ถํ ๋ก์ง์ ์ผ๋ถ๋ง ์์ ํด๋ ๋ค์์ ํ์ผ์ ๋์์ ๋ณ๊ฒฝํด์ผ ํ์ต๋๋ค. ์ด๋ก ์ธํด ์ด์์์ ์๋ฃ ๋ฐฐํฌ ์์ ์ค ์๋์น ์์ ํ๋ฉด ๊นจ์ง์ด๋ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ์ํ์ด ๋์์ต๋๋ค.
FreeMarker ํ ํ๋ฆฟ์ include ๊ฒฝ๋ก์ ๊ณตํต ์์ญ์ ์ ๋ฆฌํด ํ์ด์ง๋ณ ์ค๋ณต ์์ ์ ์ค์์ต๋๋ค. ์๋ฃ ์นดํ ๊ณ ๋ฆฌ, ๊ฒ์ํ ๋ชฉ๋ก, ์์ธ ํ๋ฉด์์ ๊ณตํต์ผ๋ก ์ฐ์ด๋ ๊ตฌ์กฐ๋ฅผ ๋ถ๋ฆฌํ๊ณ ๊ด๋ฆฌ์ ์ ๋ ฅ๊ฐ์ด ํ๋ฉด์ ์์ ์ ์ผ๋ก ๋ฐ์๋๋๋ก ๊ฒ์ฆ ๋ก์ง์ ๋ณด๊ฐํ์ต๋๋ค. ์ด์์๊ฐ ์๋ฃ๋ฅผ ๋ฐฐํฌํ ๋ ๋ฐ์ํ ์ ์๋ ์ค์๋ฅผ ์ค์ด๋ ๋ฐ ์ค์ ์ ๋์ต๋๋ค.
- ์๋ฃ ๊ด๋ฆฌ ๋ฐ ๋ฐฐํฌ ํ๋ก์ธ์ค ๋จ์ํ
- ์ด์ ์ ํ ํ๋ฆฟ ์์ ์์ ํจ์จ ๊ฐ์
- ๊ธฐ๊ฐ: 2024.05 ~ 2024.09
- ํ ๊ตฌ์ฑ: ๊ฐ๋ฐ์ 2๋ช (์ ์ 1๋ช , ์ฃผ๋์ด 1๋ช ), ํผ๋ธ๋ฆฌ์ 3๋ช , ๊ธฐํ 1๋ช , ๋์์ด๋ 1๋ช
- URL: https://www.tsherpa.co.kr/site/gpt/index.html
- ์ญํ : ํ์คํ ๊ฐ๋ฐ
- Tech: Java, Spring Boot, MS SQL, JavaScript, Alpine.js, OpenAI API
OpenAI GPT API๋ฅผ ํ์ฉํด ๊ต์ฌ์ ํ์๋ค์ด ์ค์ ๊ต์ก ํ๊ฒฝ์์ ์ฌ์ฉํ ์ ์๋ ๋ํํ AI ํ๋ซํผ๊ณผ ๋ ํ๊ฐ ์ฒจ์ญ ์๋น์ค๋ฅผ ๊ตฌ์ถํ ํ๋ก์ ํธ์ ๋๋ค. ๋จ์ AI ์ฐ๋์ด ์๋ ๊ต์ก ๋ชฉ์ ์ ๋ง๋ ์๋ต ํ์ง๊ณผ ์์ ์ฑ์ ๊ณ ๋ คํด ๋น๋๊ธฐ ์ฒ๋ฆฌ, ํ๋กฌํํธ ์์ง๋์ด๋ง, ์ ๋ ฅ๊ฐ ์ ์ฒ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ค์ฌ์ผ๋ก ๊ฐ๋ฐํ์ต๋๋ค.
- ๋น๋๊ธฐ ๊ธฐ๋ฐ ์๋ต ์ฒ๋ฆฌ ๊ตฌ์กฐ ์ ์ฉ
- ์์คํ ํ๋กฌํํธ์ ์ฌ์ฉ์ ์ ๋ ฅ ํ๋ฆ ๋ถ๋ฆฌ
- ๊ต์ก ํ๊ฒฝ์ ๋ง๋ ์๋ต ํ์ง ์ ์ง ๊ตฌ์กฐ ์ค๊ณ
- AI ์๋ต ์คํจ ์ ์์ธ ์ฒ๋ฆฌ ๋ฐ ์ํ ๊ด๋ฆฌ ๊ฐํ
- GPT API ๊ธฐ๋ฐ ์ฑํ ํ AI ์๋น์ค ๊ฐ๋ฐ
- ์ฌ์ฉ์ ์ ๋ ฅ ํ๋กฌํํธ ์ฒ๋ฆฌ ๋ก์ง ๊ตฌํ
- ๋ ํ๊ฐ ์ฒจ์ญ ๋ฐ ๋ฌธ์ฅ ๊ฐ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- ์ค์๊ฐ ๋ํํ UI/UX ๊ฐ๋ฐ
OpenAI GPT API ํธ์ถ ์ ๋๊ธฐ ์ฒ๋ฆฌ๋ก ์ธํด ์ฌ์ฉ์๊ฐ ์๋ต์ ๋ฐ๊ธฐ๊น์ง ๊ธด ๋๊ธฐ ์๊ฐ์ด ๋ฐ์ํ์ผ๋ฉฐ, ํ๋กฌํํธ ์ ์ด๊ฐ ๋ฏธํกํ์ฌ ๊ต์ก ์๋น์ค์ ๋ถ์ ์ ํ ์์ด, ๋ฐ๋ง, ๋๋ ์์ ๋ชฉ์ ๊ณผ ๋ฌด๊ดํ ํ๊ฐ(Hallucination) ๋ต๋ณ์ด ์ถ๋ ฅ๋์ด ์ค์ ํ๊ต ํ์ฅ์ ๋์ ํ๊ธฐ ์ด๋ ค์ด ์ํ์์ต๋๋ค.
Spring Boot ํ๊ฒฝ์์ ์ธ๋ถ API ํธ์ถ ์ ๋ฐ์ํ๋ ๋ณ๋ชฉ์ ํด์ํ๊ธฐ ์ํด ๋น๋๊ธฐ(Async) ์ค๋ ๋ ์ฒ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋์ ํ์ฌ ์ฌ์ฉ์ ๋๊ธฐ ์๊ฐ์ ๋ํญ ๋จ์ถํ์ต๋๋ค. ๋ํ, ์์คํ ํ๋กฌํํธ ์์ง๋์ด๋ง์ ๊ณ ๋ํํ๊ณ ์ฌ์ฉ์ ์ ๋ ฅ๊ฐ ์ ์ฒ๋ฆฌ ๋ก์ง์ ์ถ๊ฐํ์ฌ AI ๋ชจ๋ธ์ ์ญํ ์ ๋ช ํํ ์ ํํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ํ๊ฐ ํ์์ ์ต์ํํ๊ณ ๊ต์ก ํ๊ฒฝ์ ์ ํฉํ ํ๊ตญ์ดยท์กด๋๋ง ์์ฃผ์ ๊ณ ํ์ง ๋ต๋ณ๋ง ์ผ๊ด๋๊ฒ ์์ฑํ๋๋ก ์๋น์ค ์ ๋ขฐ๋๋ฅผ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค.
- ์ค์ ์๋น์ค ์ด์ ํ๊ฒฝ์์ AI API ์ฐ๋ ๊ฒฝํ ํ๋ณด
- ์ฌ์ฉ์ ์ค์ฌ AI ์๋น์ค UX ์ค๊ณ ๊ฒฝํ ์ถ์
- ๊ธฐ๊ฐ: 2024.02 ~ 2024.12
- ํ ๊ตฌ์ฑ: ๊ฐ๋ฐ์ 6๋ช (์ ์ 1๋ช , ์ค๊ธ 2๋ช , ์ฃผ๋์ด 3๋ช ), ๊ธฐํ 1๋ช
- ์ญํ : ํ์คํ ๊ฐ๋ฐ
- Tech: Java, Spring Boot, JPA, MyBatis, MariaDB, Selenium, Jsoup, Alpine.js
์ ๊ตญ ์ดยท์คยท๊ณ ๋ฑํ๊ต ํํ์ด์ง์ ๊ณต์ง์ฌํญ, ๊ธ์, ๊ฐ์ ํต์ ๋ฌธ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ์์งํ๊ณ ํตํฉ ์ ๊ณตํ๊ธฐ ์ํด ๊ตฌ์ถ๋ ํฌ๋กค๋ง ์์คํ ์ ๋๋ค. ํ๊ต๋ง๋ค ์๋ก ๋ค๋ฅธ ์ฌ์ดํธ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ํ์์ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์, ๋จ์ ์์ง ๊ธฐ๋ฅ์ด ์๋๋ผ ์ด์ ์์ ์ฑ๊ณผ ๋ฐ์ดํฐ ์ ํฉ์ฑ์ ๊ณ ๋ คํ ๊ตฌ์กฐ ์ค๊ณ์ ์ง์คํ์ต๋๋ค.
- ํ๊ต๋ณ HTML ๊ตฌ์กฐ ์ฐจ์ด๋ฅผ ๋์ํ๊ธฐ ์ํ ์ ํ๋ณ ํฌ๋กค๋ง ์ ๋ต ์ค๊ณ
- Selenium๊ณผ Jsoup๋ฅผ ํผํฉ ์ฌ์ฉํด ์๋์ ์์ ์ฑ์ ํจ๊ป ๊ณ ๋ คํ ๊ตฌ์กฐ ์ ์ฉ
- ์์ง ์คํจ ํ๊ต๋ฅผ ๋น ๋ฅด๊ฒ ํ์ ํ ์ ์๋๋ก ๋ก๊ทธ ๋ฐ ์์ธ ์ฒ๋ฆฌ ๊ตฌ์กฐ ๊ฐํ
- ์์ง ๋ฐ์ดํฐ๋ฅผ ๊ณตํต ํฌ๋งท์ผ๋ก ์ ์ ํด ์ดํ ์๋น์ค ๊ธฐ๋ฅ์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ์ค๊ณ
- ํ๊ต๋ณ ์์ดํ HTML ๊ตฌ์กฐ๋ฅผ ๋ถ์ํ์ฌ ๋์ /์ ์ ํฌ๋กค๋ง ๊ตฌ์กฐ ๋ถ๋ฆฌ
- Selenium๊ณผ Jsoup๋ฅผ ํผํฉ ์ฌ์ฉํ์ฌ ์๋์ ์์ ์ฑ ๊ฐ์
- ๊ด๋ฆฌ์ ํ์ด์ง ๊ตฌ์ถ ๋ฐ ์์ง ๋ฐ์ดํฐ ๊ฒ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- ์์ง ์คํจ ํ๊ต ์๋ ์ฌ์๋ ๋ฐ ์์ธ ์ฒ๋ฆฌ ๋ก์ง ๊ตฌํ
์ ๊ตญ ์ดยท์คยท๊ณ ๊ต๋ง๋ค ํํ์ด์ง ๊ฒ์ํ์ HTML ๊ตฌ์กฐ๊ฐ ์ ๊ฐ๊ฐ์ด์ด์ ๋จ์ผ ๋ก์ง์ผ๋ก๋ ํ์ฑ ์ค๋ฅ๊ฐ ๋น๋ฒํ์ต๋๋ค. ๋ํ, ํน์ ํ๊ต ์๋ฒ์ ์๋ต ์ง์ฐ์ด๋ ์ผ์์ ์ธ ์ ์ ์ฐจ๋จ ๋ฑ ๋น์ ์์ ์ธ ์ํฉ์ผ๋ก ์ธํด ์ ์ฒด ๋ฐ์ดํฐ ์์ง ํ๋ก์ธ์ค๊ฐ ์ค๋จ๋๊ฑฐ๋ ๋๋ฝ๋๋ ์ฅ์ ๊ฐ ์ฆ์์ต๋๋ค.
์ฌ์ดํธ ์ ํ๋ณ๋ก ํ์ฑ ์ ๋ต์ ๋ถ๋ฆฌํ๊ณ , ๊ณตํต ์์ธ ํจํด์ ์ ๋ฆฌํด ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ก ๊ฐ์ ํ์ต๋๋ค. ๋ํ ์๋ต ์ง์ฐ ๋ฐ ๋น์ ์ ์ ๊ทผ ์ timeout๊ณผ retry ๊ธฐ์ค์ ์ค์ ํ๊ณ , ์คํจ ๋ก๊ทธ ๊ธฐ๋ฐ์ ์์ธ ์ถ์ ๋ฐ ๋์ฒด ํ์ฑ(fallback) ๋ก์ง์ ์ถ๊ฐํ์ฌ ์ฅ์ ๋ฐ์ ์์๋ ์ ์ฐํ๊ฒ ๋์ฒํ ์ ์๋ ์์ ์ ์ธ ์ด์ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์์ต๋๋ค.
์ผ๋ถ ํ๊ต ์ฌ์ดํธ์ ์๋ต ์ง์ฐ ๋ฐ ๋น์ ์ HTML ๊ตฌ์กฐ๋ก ํฌ๋กค๋ฌ ์คํจ ๋น๋๊ฐ ๋์์
์๋ต ์ง์ฐ, ๋น์ ์ HTML, ์ผ์์ ์ธ ์ ์ ์คํจ๋ก ์์ง์ด ์ค๋จ๋๋ ๋ฌธ์ ๋ฅผ ์ค์ด๊ธฐ ์ํด timeout๊ณผ retry ๊ธฐ์ค์ ์ค์ ํ์ต๋๋ค. ์คํจ ๋ก๊ทธ๋ฅผ ๋จ๊ฒจ ์์ธ ์ถ์ ์ด ๊ฐ๋ฅํ๋๋ก ํ๊ณ , ์ผ๋ถ ๊ตฌ์กฐ๊ฐ ๋ฌ๋ผ๋ ๋์ฒด ํ์ฑ์ด ๊ฐ๋ฅํ๋๋ก fallback ๋ก์ง์ ์ถ๊ฐํ์ต๋๋ค. ์ฅ์ ๋ฐ์ ์ ๋น ๋ฅด๊ฒ ์์ธ์ ํ์ธํ๊ณ ์ฌ์ฒ๋ฆฌํ ์ ์๋ ์ด์ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์์ต๋๋ค.
- ์์์ ์ผ๋ก ํ์ธํ๋ ํ๊ต ๋ฐ์ดํฐ๋ฅผ ์๋ํ
- ์ ๊ท ํ๊ต ์ฌ์ดํธ ๋์ ์๊ฐ ๋จ์ถ
- ์ด์ ์ค ๋ฐ์ํ๋ ์ฅ์ ๋ฅผ ๋น ๋ฅด๊ฒ ๋ถ์ ๊ฐ๋ฅํ ๊ตฌ์กฐ ๊ตฌ์ถ
- Telegram: https://t.me/ai_stock_crypto_summary_news
- Threads: https://www.threads.com/@se_do146
- ์ญํ : 1์ธ ๊ฐ๋ฐ
- Tech: Python, FastAPI, n8n, MariaDB, Docker, Telegram API, Threads API, Gemini API, Linux
์ฃผ์ยท์ฝ์ธ ๋ด์ค์ YouTube ๋ผ์ด๋ธ ๋ฐ vod ๋์์ ๋ฐ์ดํฐ๋ฅผ ์๋ ์์งํ๊ณ , AI๋ฅผ ํ์ฉํด ์์ฝํ ๋ค Telegram ๋ฐ Threads์ ์๋ ๋ฐํํ๋ ์๋ํ ํ๋ซํผ์ ๋๋ค.
- n8n ๊ธฐ๋ฐ AI ์์ฝ ์๋ํ workflow ์ค๊ณ
- Telegram / Threads ๋ฉํฐ ํ๋ซํผ ๋ฐํ ๊ตฌ์กฐ ๊ตฌํ
- YouTube ์๋ง ์๋ ์์ง ๋ฐ AI ์์ฝ ์์คํ ๊ตฌ์ถ
- Docker ๊ธฐ๋ฐ ์ด์ ํ๊ฒฝ ๊ตฌ์ฑ ๋ฐ ์๋ ๋ฐฐํฌ ํ๊ฒฝ ๊ตฌ์ถ
- ์ฑ๋๋ณ ํ๋ซํผ ๋ฐํ ์ฌ๋ถ๋ฅผ ์ ์ดํ ์ ์๋ DB ๊ตฌ์กฐ ์ค๊ณ
AI ์์ฒญ ์คํจ ์ workflow ์ ์ฒด๊ฐ ์ค๋จ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์
Gemini/Gemma API๊ฐ ์ผ์์ ์ผ๋ก ์คํจํ๊ฑฐ๋ ์๋ต ์๊ฐ์ด ๊ธธ์ด์ง ๋ ์ ์ฒด workflow๊ฐ ์ค๋จ๋๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. n8n HTTP Request ๋จ๊ณ์ ์ต๋ ์ฌ์๋ ํ์์ timeout์ ์ค์ ํ๊ณ , collector ํธ์ถ๋ ์ฌ์๋ํ๋๋ก ๊ตฌ์ฑํ์ต๋๋ค. ์ธ๋ถ API ์คํจ๊ฐ ๊ณง ์๋น์ค ์ค๋จ์ผ๋ก ์ด์ด์ง์ง ์๋๋ก ๋ณต๊ตฌ ๊ฐ๋ฅํ ํ๋ฆ์ผ๋ก ๊ฐ์ ํ์ต๋๋ค.
ํ๋ซํผ๋ณ ๊ธ์ ์ ์ ํ๊ณผ ํฌ๋งท ์ฐจ์ด๋ก ๋์ผ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ ์
AI ์์ฝ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก Telegram์ผ๋ก๋ง ์ ์กํ๋ฉด Threads, X ๋ฑ ๋ค๋ฅธ ํ๋ซํผ ํ์ฅ๊ณผ ์คํจ ์ฌ์ฒ๋ฆฌ๊ฐ ์ด๋ ค์ ์ต๋๋ค. ์์ฝ ์๋ฌธ ์ ์ฅ ํ ์ด๋ธ๊ณผ ํ๋ซํผ๋ณ ๋ฐํ ๋ก๊ทธ ํ ์ด๋ธ์ ๋ถ๋ฆฌํด ๊ฐ์ ์์ฝ์ ์ฌ๋ฌ ์ฑ๋์์ ์ฌ์ฌ์ฉํ ์ ์๊ฒ ํ์ต๋๋ค. ์ฑ๊ณตยท์คํจ ์ํ์ ์ธ๋ถ ๊ฒ์ ID๋ฅผ ๊ธฐ๋กํด ํน์ ํ๋ซํผ๋ง ์ฌ์๋ ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ก ๊ฐ์ ํ์ต๋๋ค.
์ธ๋ถ AI API์ ์ผ์์ ์ฅ์ ์ ์ ์ฒด ์ํฌํ๋ก์ฐ๊ฐ ๋ฉ์ถ๋ ๋ถ์์ ์ฑ์ด ์์์ต๋๋ค. ๋ํ ๋ฐฉ๋ํ YouTube ์๋ง ์๋ฌธ์ผ๋ก ์ธํ ๋ถํ์ํ ํ ํฐ ๋ญ๋น๊ฐ ๋ฐ์ํ๊ณ , ํ๋ซํผ(Telegram, Threads) ๊ฐ ๋ค๋ฅธ ๊ธ์ ์ ์ ํ๊ณผ ํฌ๋งท ์ฐจ์ด๋ก ์ธํด ๋ฐ์ดํฐ๋ฅผ ์ ์ฐํ๊ฒ ์ฌ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ ์ต๋๋ค.
n8n HTTP Request ๋จ๊ณ์ ์ต๋ ์ฌ์๋ ํ์์ timeout์ ์ค์ ํด ๋ณต๊ตฌ ๊ฐ๋ฅํ ํ๋ฆ์ผ๋ก ๊ฐ์ ํ์ต๋๋ค. ํ ์คํธ๋ ์ต๊ทผ 90,000์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฅ ๊ธธ์ด๋ฅผ ์ ํํ์ฌ ํ ํฐ์ ์ต์ ํํ์ผ๋ฉฐ, ์์ฝ ์๋ฌธ ํ ์ด๋ธ๊ณผ ํ๋ซํผ๋ณ ๋ฐํ ๋ก๊ทธ ํ ์ด๋ธ์ ๋ถ๋ฆฌ ์ค๊ณํด ์ฑ๋๋ณ ๋ ๋ฆฝ์ ์ธ ํฌ๋งทํ ๊ณผ ์คํจ ์ฌ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋๋ก ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ํํ์ต๋๋ค.
- ๋ฐ๋ณต์ ์ธ ๋ด์ค ์์ฝ ์์ ์๋ํ
- AI + ์๋ํ + ์ด์ ํ๊ฒฝ์ ํตํฉํ ๊ฐ์ธ ์๋น์ค ๊ตฌ์ถ
- ์ฅ์ ๋์ ๋ฐ ์ด์ ์ค์ฌ ์ค๊ณ ๊ฒฝํ ๊ฐํ
- GitHub: https://github.com/sedoll/crypto-discord
- ์ญํ : 1์ธ ๊ฐ๋ฐ
- Tech: Python, Java(Spring Boot), Docker, Linux, Discord API, Bithumb API, OpenAI API
Discord ์ฑ๋ด์ ํ์ฉํด ์ํธํํ ์์ฐ ์ ๋ณด์ ๊ฑฐ๋ ๋ด์ญ์ ์กฐํํ๊ณ , GPT ๊ธฐ๋ฐ ์ฝ๋ฉํธ๋ฅผ ํจ๊ป ์ ๊ณตํ ์ ์๋๋ก ๊ฐ๋ฐํ ํ๋ก์ ํธ์ ๋๋ค. ๋จ์ Discord ๋ด ๊ธฐ๋ฅ ๊ตฌํ์ด ์๋๋ผ Python Discord Bot๊ณผ Spring Boot API ์๋ฒ๋ฅผ ๋ถ๋ฆฌํ๊ณ , Docker ๊ธฐ๋ฐ์ผ๋ก ์ด์ ํ๊ฒฝ๊น์ง ๊ตฌ์ฑํ๋ฉฐ ์ค์ ์๋น์ค ํํ๋ก ๊ตฌ์ถํ์ต๋๋ค.
ํนํ GPT-4 ์ดํ์ GPT-5 ์ด์ ๋ชจ๋ธ์ API ํธ์ถ ๊ตฌ์กฐ ์ฐจ์ด๋ฅผ ์ง์ ๋์ํ๋ฉฐ AI ์ฐ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ๊ณ , Linux Docker ํ๊ฒฝ์์ Python Bot๊ณผ Spring ์๋ฒ๊ฐ ์์ ์ ์ผ๋ก ํต์ ํ ์ ์๋๋ก ๋ด๋ถ ๋คํธ์ํฌ ๊ตฌ์กฐ๊น์ง ์ค๊ณํ์ต๋๋ค.
- Python Discord Bot๊ณผ Spring Boot API ์๋ฒ๋ฅผ ์ญํ ๋ณ๋ก ๋ถ๋ฆฌํ ๊ตฌ์กฐ ์ค๊ณ
- Docker Compose ๊ธฐ๋ฐ ๋ด๋ถ ๋คํธ์ํฌ ๊ตฌ์ฑ์ผ๋ก ์๋น์ค ๊ฐ ํต์ ์์ ์ฑ ํ๋ณด
- .env ๋ฐ secrets ๊ธฐ๋ฐ ํ๊ฒฝ๋ณ์ ๋ถ๋ฆฌ๋ก ์ด์ ํ๊ฒฝ ๋ณด์์ฑ ๊ฐํ
- GPT ๋ชจ๋ธ ๋ฒ์ ๋ณ API ํธ์ถ ๊ตฌ์กฐ ์ฐจ์ด๋ฅผ ๊ณ ๋ คํ ์๋ต ์ฒ๋ฆฌ ๊ตฌ์กฐ ์ค๊ณ
- Discord Bot ์์ฒญ๊ณผ ๋ด๋ถ API ์ธ์ฆ์ ๋ถ๋ฆฌํด ์ธ๋ถ ์ ๊ทผ ์ ์ด ๊ตฌ์กฐ ์ ์ฉ
- ์ถํ ๊ฑฐ๋์ ๋ฐ AI ๊ธฐ๋ฅ ํ์ฅ์ ๊ณ ๋ คํ ๋ชจ๋ํ ๊ตฌ์กฐ ์ค๊ณ
- Discord Bot ์์ฑ ๋ฐ ๋ช ๋ น์ด ์ฒ๋ฆฌ ๊ธฐ๋ฅ ๊ตฌํ
- Spring Boot ๊ธฐ๋ฐ API ์๋ฒ ๊ตฌ์ถ
- Bithumb API ์ฐ๋ ๋ฐ ์์ฐ ๋ฐ์ดํฐ ์กฐํ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- GPT-5 ๊ธฐ๋ฐ AI ์ฝ๋ฉํธ ๊ธฐ๋ฅ ๊ตฌํ
- Docker ๊ธฐ๋ฐ Linux ์ด์ ํ๊ฒฝ ๊ตฌ์ถ
- Docker Compose ๊ธฐ๋ฐ ๋ฉํฐ ์ปจํ ์ด๋ ๋ฐฐํฌ ๊ตฌ์กฐ ๊ตฌ์ฑ
GPT-4 ์ดํ ๋ชจ๋ธ๊ณผ GPT-5 ์ด์ ๋ชจ๋ธ์ API ์์ฒญ ๋ฐ ์๋ต ๊ตฌ์กฐ๊ฐ ๋ฌ๋ผ ๊ธฐ์กด ๋ก์ง์ผ๋ก๋ ์ ์์ ์ธ ์๋ต ์ฒ๋ฆฌ๊ฐ ์ด๋ ค์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๋ชจ๋ธ ๋ฒ์ ๋ณ ์์ฒญ ๊ตฌ์กฐ์ ์๋ต ํฌ๋งท์ ๋ถ๋ฆฌํด ์ฒ๋ฆฌํ๋๋ก ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ์ต๋๋ค. ๊ณตํต ์๋ต ์ฒ๋ฆฌ ์์ญ๊ณผ ๋ชจ๋ธ๋ณ ์ฒ๋ฆฌ ์์ญ์ ๋๋์ด ์ดํ ๋ชจ๋ธ ๋ณ๊ฒฝ ์ ์ํฅ ๋ฒ์๋ฅผ ์ต์ํํ๊ณ , AI ์๋ต ์คํจ ์์๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ๋์ํ ์ ์๋๋ก ์์ธ ์ฒ๋ฆฌ ๋ก์ง์ ์ถ๊ฐํ์ต๋๋ค.
Python Discord Bot๊ณผ Spring Boot ์๋ฒ๋ฅผ ๊ฐ๊ฐ ์คํํ ๊ฒฝ์ฐ ํ๊ฒฝ ์ค์ ๊ณผ ์คํ ์์ ๋ฌธ์ ๋ก ์ด์ ๊ด๋ฆฌ๊ฐ ๋ณต์กํด์ง๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
Docker Compose ๊ธฐ๋ฐ์ผ๋ก Python Bot๊ณผ Spring ์๋ฒ๋ฅผ ํ๋์ ๋คํธ์ํฌ์์ ๊ด๋ฆฌํ๋๋ก ๊ตฌ์ฑํ์ต๋๋ค. ์ปจํ ์ด๋ ๊ฐ ๋ด๋ถ ํต์ ๊ตฌ์กฐ๋ฅผ ์ ์ฉํ๊ณ ํ๊ฒฝ๋ณ์๋ฅผ ๋ถ๋ฆฌํด ๋ก์ปฌ/์ด์ ํ๊ฒฝ์ ๋๋์ด ๊ด๋ฆฌํ ์ ์๋๋ก ๊ฐ์ ํ์ต๋๋ค.
Discord Bot Token, ๊ฑฐ๋์ API Key, OpenAI Key ๋ฑ ๋ฏผ๊ฐ ์ ๋ณด๊ฐ ๋ง์ ์ด์ ํ๊ฒฝ์์ ๋ณด์ ๊ด๋ฆฌ๊ฐ ํ์ํ ์ํฉ์ด์์ต๋๋ค.
.env.local ๋ฐ secrets ํ์ผ ๊ธฐ๋ฐ์ผ๋ก ์ด์ ํ๊ฒฝ๊ณผ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ถ๋ฆฌํ๊ณ , Docker ํ๊ฒฝ์์๋ Secret ํ์ผ๋ง ์ฝ๋๋ก ๊ตฌ์ฑํ์ต๋๋ค. ๋ํ ๋ด๋ถ API ์ ๊ทผ์ฉ ๋ณ๋ Access Key๋ฅผ ๋์ด Discord Bot ์ธ๋ถ ์ ๊ทผ์ ์ ํํ์ต๋๋ค.
- Discord ๊ธฐ๋ฐ ์ํธํํ ์๋ํ ์๋น์ค ๊ตฌ์ถ ๊ฒฝํ ํ๋ณด
- Spring Boot + Python ๋ฉํฐ ๊ตฌ์กฐ ์ด์ ๊ฒฝํ ์ถ์
- Docker/Linux ๊ธฐ๋ฐ ๋ฐฐํฌ ๋ฐ ๋ด๋ถ ๋คํธ์ํฌ ๊ตฌ์ฑ ๊ฒฝํ ํ๋ณด
- GPT API ๋ฒ์ ๋์ ๋ฐ AI ์ฐ๋ ๊ตฌ์กฐ ์ค๊ณ ๊ฒฝํ ๊ฐํ
- GitHub: https://github.com/sedoll/OpenCV_SEnow
- Blog: https://blog.naver.com/tmvmffpsej/223128389009
- ์ญํ : 1์ธ ๊ฐ๋ฐ
- Tech: Python, OpenCV, MediaPipe, Dlib
OpenCV์ ์ผ๊ตด ๋๋๋งํฌ ์ธ์ ๊ธฐ์ ์ ํ์ฉํด ์ค์๊ฐ ์นด๋ฉ๋ผ ํํฐ์ ์ผ๊ตด ์คํฐ์ปค ๊ธฐ๋ฅ์ ๊ตฌํํ ๊ฐ์ธ ํ๋ก์ ํธ์ ๋๋ค. ๋จ์ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๊ธฐ๋ฅ ๊ตฌํ์ด ์๋๋ผ, ์ฌ์ฉ์์ ์ผ๊ตด ์์น์ ์์ง์์ ์ค์๊ฐ์ผ๋ก ์ถ์ ํ๋ฉด์ ์์ฐ์ค๋ฝ๊ฒ ํํฐ๊ฐ ๋ฐ๋ผ์ค๋๋ก ์ฒ๋ฆฌํ๋ ๋ฐ ์ค์ ์ ๋๊ณ ๊ฐ๋ฐํ์ต๋๋ค. ์ค์ ์นด๋ฉ๋ผ ์ ๋ ฅ ํ๊ฒฝ์์ ํ๋ ์ ์ฒ๋ฆฌ ์๋์ ์ผ๊ตด ์ธ์ ์ ํ๋๋ฅผ ํจ๊ป ๊ณ ๋ คํ๋ฉฐ ์์ ์ฒ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ง์ ์ค๊ณํ์ต๋๋ค.
- ์ผ๊ตด ๋๋๋งํฌ ์ขํ ๊ธฐ๋ฐ์ผ๋ก ์คํฐ์ปค ์์น๋ฅผ ๋์ ์ผ๋ก ๊ณ์ฐํ๋ ๊ตฌ์กฐ ์ค๊ณ
- ์ค์๊ฐ ์นด๋ฉ๋ผ ํ๋ ์ ์ฒ๋ฆฌ ์ฑ๋ฅ์ ๊ณ ๋ คํด ์์ ์ฒ๋ฆฌ ํ๋ฆ ์ต์ ํ
- ์ผ๊ตด ์ด๋ ๋ฐ ๊ฐ๋ ๋ณํ์๋ ์์ฐ์ค๋ฝ๊ฒ ํํฐ๊ฐ ์ ์ง๋๋๋ก ์ขํ ๋ณด์ ๋ก์ง ์ ์ฉ
- OpenCV์ MediaPipe๋ฅผ ํจ๊ป ํ์ฉํ์ฌ ์ผ๊ตด ์ธ์ ์ ํ๋์ ์ฒ๋ฆฌ ์๋๋ฅผ ๋์์ ๊ณ ๋ ค
- ์ผ๊ตด ๋๋๋งํฌ ์ถ์ถ ๋ฐ ์ค์๊ฐ ์ขํ ๊ณ์ฐ ๊ธฐ๋ฅ ๊ตฌํ
- ์ผ๊ตด ์์น ๊ธฐ๋ฐ ์คํฐ์ปค ๋ฐ ํํฐ ์ ์ฉ ๊ธฐ๋ฅ ๊ฐ๋ฐ
- OpenCV ๊ธฐ๋ฐ ์์ ํ๋ ์ ์ฒ๋ฆฌ ๋ฐ ์นด๋ฉ๋ผ ์ ๋ ฅ ์ ์ด
- ์ค์๊ฐ ์ผ๊ตด ์ถ์ ๋ฐ ํํฐ ์์น ๋ณด์ ๊ธฐ๋ฅ ๊ตฌํ
์ค์๊ฐ ์นด๋ฉ๋ผ ํ๊ฒฝ์์ ์ผ๊ตด์ด ๋น ๋ฅด๊ฒ ์์ง์ด๊ฑฐ๋ ๊ฐ๋๊ฐ ๋ฐ๋ ๊ฒฝ์ฐ ํํฐ ์์น๊ฐ ์ด๊ธ๋๊ณ ํ๋ ์ ์ฒ๋ฆฌ ์๋๊ฐ ์ ํ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ผ๊ตด ๋๋๋งํฌ ์ขํ๋ฅผ ๊ธฐ์ค์ผ๋ก ํํฐ ์์น๋ฅผ ๋์ ์ผ๋ก ๊ณ์ฐํ๊ณ , ํ๋ ์ ๋จ์๋ก ์ขํ๋ฅผ ๋ณด์ ํ๋ ๋ฐฉ์์ผ๋ก ์์ ์ฑ์ ๊ฐ์ ํ์ต๋๋ค. ๋ํ ๋ถํ์ํ ์์ ์ฒ๋ฆฌ ๊ณผ์ ์ ์ค์ด๊ณ ํ์ํ ์ขํ๋ง ํ์ฉํ๋๋ก ์ต์ ํํ์ฌ ์ค์๊ฐ ์ฒ๋ฆฌ ์ฑ๋ฅ์ ๊ฐ์ ํ์ต๋๋ค.
- ์ปดํจํฐ ๋น์ ๋ฐ ์์ ์ฒ๋ฆฌ ๊ธฐ์ ๊ฒฝํ ํ๋ณด
- OpenCV ๊ธฐ๋ฐ ์ค์๊ฐ ์์ ์ฒ๋ฆฌ ๊ตฌ์กฐ ์ดํด
- ์ผ๊ตด ์ธ์ ๋ฐ ๋๋๋งํฌ ๊ธฐ๋ฐ ์ขํ ์ฒ๋ฆฌ ๊ฒฝํ ์ถ์
- ์์น: ์์ธํน๋ณ์ ๊ธ์ฒ๊ตฌ
- ๊ณผ์ : J์ฒ์ฌ๊ต์ก์์ ์ฃผ๊ดํ ์ค๋ฌด ์ค์ฌ์ ๊ฐ๋ฐ์ ์์ฑ ๊ณผ์ (2023.07~2023.12)์ ๋๋ค. Java์ Spring Boot ๊ธฐ๋ฐ์ ๋ฐฑ์๋ ์ค๊ณ๋ถํฐ ํ๋ก ํธ์๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถ๊น์ง ์น ์๋น์ค ์ ๋ฐ์ ํ์คํ ๊ฐ๋ฐ ์ฌ์ดํด์ ๊ฒฝํํ์ต๋๋ค. ํนํ ์๋ํ ํฌ ๋๋ฉ์ธ์ ํนํ๋์ด AI ๊ธฐ์ ์ ๊ฒฐํฉํ ๋ง์ถคํ ๊ต์ก ์๋น์ค ๊ฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ์ํํ๋ฉฐ, ๋จ์ ๊ธฐ๋ฅ ๊ตฌํ์ ๋์ด AI๋ฅผ ์ค์ ์ด์ ํ๊ฒฝ์ ์์ ์ ์ผ๋ก ๋ น์ฌ๋ด๋ ์ค๋ฌด ์ค์ฌ์ ๊ฐ๋ฐ ์ญ๋์ ๊ธธ๋ ์ต๋๋ค.
- ๊ธฐ๊ฐ: 2023.07 ~ 2023.12
- ์์น: ์ถฉ์ฒญ๋จ๋ ๊ณต์ฃผ์
- ํ๊ณผ: ์ปดํจํฐ๊ณตํ๊ณผ
- ํ์: ํ์ฌ
- ๊ธฐ๊ฐ: 2021.03 ~ 2023.08
- ์์น: ๊ฒฝ๊ธฐ๋ ๋ถ์ฒ์
- ํ๊ณผ: ์ ์๊ณตํ๊ณผ
- ํ์: ์ ๋ฌธํ์ฌ
- ๊ธฐ๊ฐ: 2017.03 ~ 2021.02
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ (2022๋ ๋ ๋ฐ๊ธ)
- ์ด์ ๋ฉดํ 2์ข ๋ณดํต (2019๋ ๋ ๋ฐ๊ธ)
- ๊ต๋ด ์บก์คํค ๊ฒฝ์ง๋ํ 2๋ฑ (2020๋ ๋ ์์)
- ์ด์ ์ค์ฌ ๊ฐ๋ฐ
- AI ์๋น์ค ๊ฐ๋ฐ
- ์๋ํ ์์คํ ๊ตฌ์ถ
- ์ฅ์ ๋์ ๋ฐ ์ ์ง๋ณด์
- Docker/Linux ์ด์
- ๋๊ท๋ชจ ๋ฐ์ดํฐ ์์ง
- GPT ๊ธฐ๋ฐ ์๋น์ค
- n8n Workflow ์๋ํ


