apiece
@apiece
Students
489
Reviews
20
Course Rating
5.0
์นด์นด์ค, SK๋ฅผ ๊ฑฐ์ณ ๊ฐ๋ฐ์๋ก ์ผํ๋ฉฐ
์ค์ ์๋น์ค ํ๊ฒฝ์์ ๋ค์ํ ๋ฐฑ์๋ ์์คํ
์ ์ค๊ณํ๊ณ ์ด์ํด์์ต๋๋ค.
๊ทธ ๊ฐ ๊ฒช์๋ ์ํ์ฐฉ์ค์ ๊ณ ๋ฏผ๋ค์ด
์๊ฐ์ ์ฌ๋ฌ๋ถ์ ์๊ฐ๊ณผ ์ ํ์ ์กฐ๊ธ์ด๋ผ๋ ์๊ปด์ค ์ ์๊ธฐ๋ฅผ ๋ฐ๋ผ๋ ๋ง์์ผ๋ก
์ง์๊ณต์ ์ฝํ
์ธ ๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค.
์ฝํ
์ธ ์ ๋ํ ์๊ฒฌ์ด๋ ๊ฐ์ ์ ์ด ์๋ค๋ฉด
์๋ ๋ฉ์ผ๋ก ์ธ์ ๋ ํธํ๊ฒ ๋ง์ํด์ฃผ์ธ์.
์ฌ๋ฌ๋ถ์ ์์งํ ํผ๋๋ฐฑ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
apiece.dev.ai@gmail.com
Courses
Reviews
- 4-Week Backend Design Challenge (SNS Springboot, AI agent)
- Backend Design Basics for AI - SpringBoot SNS Edition
- Backend Design Basics for AI - SpringBoot SNS Edition
- Complete One Full Cycle of Backend Service with Spring Boot and AWS
- Complete One Full Cycle of Backend Service with Spring Boot and AWS
Posts
Q&A
.claude ํด๋ ๊ท์น ์์ฑ ๋ฐฉ๋ฒ
์๋ ํ์ธ์ ํ์๋ ์ข์ ์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. 1)"์ถํ ... ํ๋ก์ ํธ ํน์ฑ์ ๋ง๊ฒ ์ปค์คํ ํด์ผ ํ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํฉ๋๋ค." ๋ง์ํด์ฃผ์ ์ด ๋ถ๋ถ ์ ๋ง ์ ์บ์นํ์ จ์ต๋๋ค!ํ์ฌ ์ ๊ณต๋ .claude ํด๋๋ ๋๋ฉ์ธ ์ฑ๊ฒฉ, ์ํคํ ์ฒ ๋ฐฉ์, ํ ๊ท๋ชจ์ ๋ฐ๋ผ ๋ฐ๋์ ์กฐ์ ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋๋ฉ์ธ ๋ถ๋ฆฌ ๊ธฐ์ค, ๋ ์ด์ด ๊ตฌ์กฐ, ๋ค์ด๋ฐ ๊ท์น, ์ฝ๋ ๋ฆฌ๋ทฐ์์ ๊ผญ ๋ด์ผํ ์ , ๋ณด์ ๊ท์น ๋ฑ์ ํ๋ก์ ํธ๋ง๋ค ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ์ด ๋ถ๋ถ์ ํ๋ก์ ํธ์ ๋ง๊ฒ ์์ ํด์ฃผ๋ ๊ฒ์ด ์ข์ต๋๋ค. 2)์ ํ๋ก์ ํธ์์ .claude ํด๋๊ฐ ์๋ ์ํ๋ผ๋ฉด ํนํ ํ๋ก์ ํธ ๊ธฐํ๊ณผ ๊ท์น์ด ์ด๋ฏธ ์๋ค๋ฉด์ด๋ฅผ ๋ฐํ์ผ๋ก ๋จผ์ ์ ํด๋ณผ ์ ์๋ ๋ถ๋ถ์ ๋๋ฉ์ธ ๊ฐ๋ ์ ๋ฆฌ, ์ฝ๋ฉ ์ปจ๋ฒค์ , ๊ตฌ์ฒด์ ์ธ ๊ฐ๋ฐ ๊ท์น์ ๋ํ ์ค๋ช ์ ๋๋ค. ์ด๋ฅผ ๋ฏธ๋ฆฌ ์ ์ํด๋๋ฉด, ์ถ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ ์ด ๋ถ๋ถ์ ๋ฏธ๋ฆฌ ์ฐธ๊ณ ํ์ฌ ์ ์ฒด์ ์ผ๋ก ํต์ผ๊ฐ์๊ณ ์์ธก๊ฐ๋ฅํ ์ฝ๋๋ฅผ ๋ง๋ค ์ ์๊ฒ ๋ ์ ์์ต๋๋ค. (๋ฌผ๋ก AI ๋ฅผ ๊ณ์ ์ฌ์ฉํด๋ณด์๋ฉด ์๊ฒ ์ง๋ง, AI agent ๊ฐ ๊ธฐ์กด ์ฝ๋๋ฅผ ์ฝ๊ณ ์ด๋ฅผ ์๋์ผ๋ก ๋ถ์ํ์ฌ ํด๋น ์ฝ๋๋ฒ ์ด์ค ๋ง๋ ๊ตฌ์กฐ๋ก ์๋ก์ด ์ฝ๋๋ฅผ ์์์ ๋ง๋ค์ด์ฃผ๊ธฐ๋ ํฉ๋๋ค.)์ดํ ์ค์ ๊ฐ๋ฐ์ ์งํํ๋ฉด ๋ฐ๋์ ๋ฐ๋ณตํด์ AI ์๊ฒ ์์ฒญํ๋ ๋ถ๋ถ์ด ์๊ธธ๊ฒ๋๋ค. ๋ฐ๋ผ์ โAI๊ฐ ์์ฃผ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถโ์ด๋ โ๋งค๋ฒ ์ค๋ช ํ๊ฒ ๋๋ ๋ด์ฉโ์ ๋ฐ๊ฒฌํ ๋๋ง๋ค .claude ๋ฌธ์๋ฅผ ๋ณด์ํด ๋๊ฐ๋ฉด, ์ ์ ํ๋ก์ ํธ์ ์ต์ ํ๋ ํํ๋ก ์์ฑ๋ฉ๋๋ค. ์ ๋ฆฌํ๋ฉด, .claude ํด๋๋ ํ ๋ฒ ๋ง๋ค์ด๋๊ณ ๋๋๋ ์ค์ ์ด ์๋๋ผ ํ๋ก์ ํธ์ ํจ๊ป ์ฑ์ฅ์ํค๋ ๋ฌธ์์ ๊ฐ๊น์ต๋๋ค. ์ฒ์์๋ ๋จ์ํ๊ฒ ์์ํ๊ณ , ๊ฐ๋ฐ์ ์งํํ๋ฉด์ ๋ฐ๋ณต๋๋ ์์ฌ๊ฒฐ์ ๊ณผ ๊ท์น์ ํ๋์ฉ ๋ น์ฌ๋ด๋ ๋ฐฉ์์ด ๊ฐ์ฅ ํ์ค์ ์ด๊ณ ํจ๊ณผ์ ์ธ ์ ๊ทผ์ด๋ผ๊ณ ๋ณด์๋ฉด ์ข๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 35
Q&A
๊ฐ์๋ฅผ ์ด๋ป๊ฒ ๋ณด๋ฉด ์ข์ ๊น์?
์๋ ํ์ธ์ ํ ๋๋! ์ ์ถ์ฒ์ผ๋ก๋ ์ฑํฐ๋ณ๋ก [AI ๋ค๋ฃจ๊ธฐ] ๊น์ง ๋ชจ๋ ํ์ตํ ํ, ๋งค ์ฑํฐ๋ง๋ค ์๋ ๋ฏธ์ ์ ์งํํ ๋ ์ค์ค๋ก ๊ตฌํํด๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ์ ๊ฐ ๋๋ฆฐ ๊นํ๋งํฌ์ ์ฝ๋๋ฅผ ๋ฐ๋ผ์น๊ธฐ๋ณด๋ค๋, ๋ฌด์์ ๋ง๋ค์ง ๋จธ๋ฆฟ์์ ๊ทธ๋ฆฐ ์ํ์์ AI agent ๋ก ์ง์ ๊ตฌํํด๋ณด๋ ๊ฒฝํ์ ํด๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 38
Q&A
๋ฐฐํฌ ํ Entity ์์ ๊ด๋ จ
์๋ ํ์ธ์ ์์๋. ddl-auto=validate ๋ ์ํฐํฐ๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ DB ๊ตฌ์กฐ๋ ์๋์ผ๋ก ์์ ๋์ง ์๊ณ ๊ฒ์ฆ๋ง ํ๋ ์ต์ ์ธ๋ฐ์. ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ DB์ ์ํ๋ฅผ ์ ๋ง ์ ํํ๊ฒ ๋ง์ถ๋๋ validate๋ฅผ ์ฌ์ฉํ ์๋์์ง๋ง, ์ค๋ฌด์์๋ none ์ต์ ์ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค. ์ด์ ๋ ์ด์ ํ๊ฒฝ์์ ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ ์์ฒด๊ฐ ์คํค๋ง ๊ฒ์ฆ ์คํจ๋ก ๋งํ๋ ์ํฉ์ ํผํ๊ธฐ ์ํจ์ ๋๋ค. ์ค์ ์ด์์์๋ DB ๋ณ๊ฒฝ์ด ๋ง์ด๊ทธ๋ ์ด์ ๋๊ตฌ(Flyway, Liquibase, ๋๋ ์ฌ๋ด DBA๊ฐ ๋ง๋ค์ด๋์ ์ ์ฐจ)๋ฅผ ํตํด ์ด๋ฏธ ๊ด๋ฆฌ๋๊ณ ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, JPA๊ฐ ์ถ๊ฐ๋ก ๊ฒ์ฆ๊น์ง ์ํํ ํ์๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์คํ๋ ค ์ปฌ๋ผ ํ๋ ์ฐจ์ด๋ก ์๋น์ค๊ฐ ์์ ์ฌ๋ผ์ค์ง ์๋ ๋ฌธ์ ๊ฐ ๋ ํฐ ์ฅ์ ๋ก ์ด์ด์ง ์ ์์ด, JPA์ ์ญํ ์ ๋ช ํํ ๋ถ๋ฆฌํ๊ธฐ ์ํด none ์ต์ ์ ์ ํํ๋ ๊ฒฝ์ฐ๋ ๋ง์ต๋๋ค.์ด์ DB ์ ์คํค๋ง๊ฐ ๋ฐ๋๋ ์์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํจ์์์ด ์ ์คํ ์ด๋ฃจ์ด์ ธ์ผํ ์์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์ปฌ๋ผ์ด ์ถ๊ฐ๋๋ค๋ฉด, DB ์ ์ ์ฉํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํด์ผํ๋ฉฐ, ์ปฌ๋ผ์ด ์ญ์ ๋๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋จผ์ ์ปฌ๋ผ์ญ์ ๋ฐฐํฌํ DB ์ ํ์ ์ฉํ๋๊ฒ ํ์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ฐฐํฌ ๊ณผ์ ์ค ์๋น์ค๊ฐ ์ค๋จ๋์ง์๊ณ ์์, ํ์ํธํ์ฑ์ ์ ์งํ ์์๊ฒ ๋ง์ด์ฃ .๊ทธ๋์ ์ด ๊ณผ์ ์ ์๋ํ ํ๊ธฐ ๋ณด๋ค ๊ฐ๋ฐ์๊ฐ ์ง์ ๋ณด๋ฉด์ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ์คํ ์ฒ๋ฆฌํ๊ณ , ์์์น ๋ชปํ ๋ฌธ์ ๋ฐ์์ ์ฆ์ ๋์ํ ์ ์๊ธฐ ์ํจ์ด์์. ๋์์ด๋์ จ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 1
- 1
- 40
Q&A
EC2 HTTPS์ ๊ด๋ จํ์ฌ ์ง๋ฌธ ๋๋ฆฝ๋๋ค!
์๋ ํ์ธ์ ์์๋! ์ค๋ฌด์์๋ Nginx๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.๋ค๋ง ํ์ฌ๊ตฌ์กฐ์ฒ๋ผ ์๋ฒ ์์์ ์ง์ ์ธ์ฆ์๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ์๋ณด๋ค๋, ์ญํ ์ ๋ถ๋ฆฌํด์ HTTPS๋ฅผ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ๋ฅผ ๋ ์ ํธํฉ๋๋ค. ์ด์ ๋ ๋ณด์, ์ด์ ์์ ์ฑ, ์ธ์ฆ์ ๊ฐฑ์ ์๋ํ ๋ฑ์ด ์์ ๊ฒ ๊ฐ์์. ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก๋ ์๋ฅผ ๋ค์ด AWS ํ๊ฒฝ์์๋ EC2 ์๋จ์ ALB(Application Load Balancer) ๋ฅผ ๋๊ณ , HTTPS๋ ALB์์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ธ์ฆ์๋ ACM(AWS Certificate Manager) ์ ์ฌ์ฉํด ๋ฐ๊ธ๋ฐ๊ณ , ๊ฐฑ์ ์ญ์ ์๋์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.EC2 ๋ด๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ์ HTTP๋ก ํต์ ํ๊ณ , ์ธ๋ถ ํธ๋ํฝ๋ง HTTPS๋ก ๋ณดํธํ๋ ๋ฐฉ์์ ๋๋ค. ํธ๋ํฝ ์์ญ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์์ญ์ ๋ถ๋ฆฌํด์ ์ด์ํ๋ค๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.(๋ฌผ๋ก , ์ด์ ๋น์ทํ ๊ธฐ์ ์ด ๋ค๋ฅธ ํด๋ผ์ฐ๋ ์๋น์ค์๋ ์์ต๋๋ค.) ์ด๋ฒ ํ๋ก์ ํธ์์ ์ด์ด์ HTTP ๋ฅผ ๊ตฌ์ฑํ์๋ ๊ฒ์ด๋ผ๋ฉด, ์ฒ์์๋ Nginx, Certbot ๋ฑ์ผ๋ก HTTPS๋ฅผ ์ง์ ์ค์ ํด๋ณด๋ ๊ฒฝํ์ด ์ถฉ๋ถํ ์๋ฏธ ์๊ณ , ๊ทธ ๋ค์ ๋จ๊ณ๋ก ALB + ACM ๊ตฌ์กฐ๊น์ง ํจ๊ป ๊ฒฝํํด๋ณด์ ๋ค๋ฉด ์ข์๊ฒ๊ฐ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 26
Q&A
SKILLS.md๋ agents ์์ฑ ๋ฌธ์
์๋ ํ์ธ์ ๊น์์ฉ๋!์ข์ ์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๊ฒฐ๋ก ๋ถํฐ ๋ง์๋๋ฆฌ๋ฉด, SKILLS.md๋ agents ํ์ผ์ ๋ฐ๋์ ์์ด๋ก ์์ฑํด์ผ ํ๋ ๊ฒ์ ์๋๋๋ค. ๊ธฐ์ ์ ์ผ๋ก๋ ํ๊ธ๋ก ์์ฑํด๋ ์ ํ ๋ฌธ์ ์์ด ๋์ํฉ๋๋ค. ๋ค๋ง ๋ง์ ์์ ๋ ๊ฐ์ด๋์์ ์์ด๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋์ฐ์ ๋๋ถ๋ถ์ AI ๋ชจ๋ธ์ด ์์ด ๋ฐ์ดํฐ๋ก ๊ฐ์ฅ ๋ง์ด ํ์ต๋์ด ์๊ธฐ ๋๋ฌธ์, ๋์ผํ ๋ด์ฉ์ ์์ฑํ๋๋ผ๋ ์์ด๊ฐ ์๋๋ฅผ ๋ ์์ ์ ์ผ๋ก ์ดํดํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. (ํ์ง๋ง ์ด๋ ๋ชจ๋ธ์ด ๊ฐ์ ๋๋ฉด์ ์ ์ ํฐ ์ฐจ์ด๊ฐ ์์ ์๋ ์์ต๋๋ค.) ๋ ํ๋๋ ํ์ ๊ณผ ์ฌ์ฌ์ฉ ๊ด์ ์ ๋๋ค. SKILLS๋ agents ์ค์ ์ ํ๋ก์ ํธ ๋ด๋ถ ๋ฌธ์์ด๋ฉด์ ๋์์ AI์๊ฒ ์ฃผ๋ ์ฌ์ฉ ์ค๋ช ์ ์ญํ ์ ํ๊ธฐ ๋๋ฌธ์, ์ดํ ๋ค๋ฅธ ์ฌ๋๊ณผ ๊ณต์ ํ๊ฑฐ๋ ์คํ์์ค๋ก ํ์ฅ๋ ๊ฐ๋ฅ์ฑ์ ๊ณ ๋ คํ๋ฉด ์์ด๊ฐ ๋ฒ์ฉ์ ์ผ๋ก ์ฐ์ด๊ธฐ ์ฝ์ต๋๋ค. ๊ทธ๋์ ๊ด๋ก์ ์ผ๋ก ์์ด ์์ ๊ฐ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง ์ํฉ์ ๋ฐ๋ผ ํ๊ธ๋ก ํ์ ๋ ํฐ ๋ฌธ์ ๋ ์์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 1
- 1
- 36
Q&A
EC2 <-> RDS ์ฐ๋ ํ ๋ก์ปฌ์์์ Docker์ ๋ํด ๊ถ๊ธํ ์ ์ด ์์ต๋๋ค.
์๋ ํ์ธ์ ์์๋!์ข์ ์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ง์ํด์ฃผ์ ๊ฒ์ฒ๋ผ docker compose up -d๋ฅผ ์คํํ๋ฉด compose ํ์ผ์ ์ ์๋ ๋ชจ๋ ์๋น์ค๊ฐ ํจ๊ป ์คํ๋ฉ๋๋ค. ๋ฐ๋ผ์ springboot-twitter ์ปจํ ์ด๋๋ ๋์์ ์ฌ๋ผ๊ฐ๊ฒ ๋๊ณ , ์ด ์ํ์์ ๋ก์ปฌ IDE์์ Spring Boot ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ ์คํํ๋ฉด ์ด๋ฏธ ์ปจํ ์ด๋๊ฐ 8080 ํฌํธ๋ฅผ ์ฌ์ฉ ์ค์ด๊ธฐ ๋๋ฌธ์ 8080 already in use ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. ์ด ํ์ ์์ฒด๋ ์ ์์ ์ธ ๋์์ ๋๋ค. ์ด๋ด ๊ฒฝ์ฐ ๋ก์ปฌ ๊ฐ๋ฐ ๋จ๊ณ์์๋ DB๋ง Docker๋ก ๋์ฐ๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ IDE์์ ์ง์ ์คํํ๋ ๋ฐฉ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. ์ฆ, ๋ง์ํ์ ๊ฒ์ฒ๋ผ docker compose up -d mysql-twitter ์ฒ๋ผ ํน์ ์๋น์ค๋ง ์คํํ๊ฑฐ๋, ์์ ๋ก์ปฌ ์ ์ฉ compose ํ์ผ์ ๋ง๋ค์ด MySQL๋ง ์ ์ํด๋๋ ๋ฐฉ์์ด ์ค๋ฌด์์๋ ๋ง์ด ์ฐ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํฌํธ ์ถฉ๋ ์์ด ํธํ๊ฒ ๋๋ฒ๊น ๊ณผ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 1
- 1
- 32
Q&A
Docker์ ๊ดํ์ฌ ๊ถ๊ธํ ์ ์ด ์์ต๋๋ค!
์๋ ํ์ธ์ ์์๋ ์ข์ ์ง๋ฌธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.๋์ปค ๊ตฌ์กฐ๊ฐ ์ฒ์์๋ ํท๊ฐ๋ฆด ์ ์๋๋ฐ, ํต์ฌ ํ๋ฆ์ ์ ์ง์ด์ฃผ์ จ์ด์. ์ ๋ฆฌํด์ ๋ง์๋๋ฆฌ๋ฉด, docker buildx build ๋ช ๋ น์ Dockerfile์ ๊ธฐ๋ฐ์ผ๋ก ์ปจํ ์ด๋๋ฅผ ๋ง๋๋ ๋จ๊ณ๊ฐ ์๋๋ผ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋จ๊ณ์ ๋๋ค. ์ด๋ ๋ง๋ค์ด์ง๋ ๊ฒฐ๊ณผ๋ฌผ์ ์คํ ์ ์ํ์ ์ด๋ฏธ์ง์ด๋ฉฐ, ์์ง ์ปจํ ์ด๋๋ ์์ฑ๋์ง ์์ต๋๋ค. Docker Hub ์ญ์ ์ปจํ ์ด๋๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ด ์๋๋ผ, ์ด๋ฌํ ์ด๋ฏธ์ง๋ฅผ ๋ณด๊ดํ๋ ์ ์ฅ์๋ผ๊ณ ์ดํดํ์๋ฉด ๋ฉ๋๋ค. ์ดํ ํด๋น ์ด๋ฏธ์ง๋ฅผ Docker Hub์ push ํด๋๋ฉด, Docker Compose๊ฐ ์คํ๋ ๋ ํ์ํ ์ด๋ฏธ์ง๋ฅผ ์๋์ผ๋ก ๋ด๋ ค๋ฐ๊ฒ ๋ฉ๋๋ค. ๋ง์ฝ ๋ก์ปฌ ํ๊ฒฝ์ ์ด๋ฏธ์ง๊ฐ ์๋ค๋ฉด Docker Hub์์ ์ด๋ฏธ์ง๋ฅผ pull ํ๊ณ , ๊ทธ ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ์คํ ๋จ์์ธ ์ปจํ ์ด๋๋ฅผ ์์ฑํ์ฌ ์๋น์ค๊ฐ ๋์ํ๊ฒ ๋ฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 1
- 1
- 24
Q&A
CSRF ๊ด๋ จ ๊ถ๊ธํ๊ฒ ์์ด์
์๋ ํ์ธ์ SPRING ๋! ๋ณด์ ๊ด๋ จ ์ง์ ํด์ฃผ์ ๋ถ๋ถ ๋ง๋ ๋ด์ฉ์ ๋๋ค.์ฟ ํค/์ธ์ ๊ธฐ๋ฐ ๋ก๊ทธ์ธ์ ์ฟ ํค๊ฐ ์๋์ผ๋ก ์ ๋ฌ๋๋ ์ ์ ์ด์ฉํ์ฌ CSRF ๊ณต๊ฒฉ์ด ๋ค์ด์ฌ ์ ์์ต๋๋ค.๋ฐ๋ผ์ CSRF ๋ฐฉ์ด๋ฅผ ํด์ฃผ๋๊ฒ ๋ง๊ตฌ์. ํ์ฌ ์ฝ๋์์๋ ๊ทธ ์ ์ ๋ฐ์๋์ด ์์ง ์์ต๋๋ค. ๋ค๋ง, ์ด ๊ฐ์์์๋ ๊ฐ๋ฐ ํธ์์ ํ์ฌ main ๋ธ๋์น๋ csrf ๋ฅผ ๋นํ์ฑํํ๋ ๊ฒ์ ์ ์งํ๋๋ก ํ๋ ค๊ณ ํฉ๋๋ค. (ํนํ Postman ์ฌ์ฉ์ ์ถ๊ฐ CSRF ๊ด๋ จ header ๋ฅผ ๋ฃ์ด์ผํด์ ์๋ํํ๋ ค๋ฉด ์คํฌ๋ฆฝํธ ํ์) SPRING ๋๊ป์ ๋ง์ํด์ฃผ์ ๋ถ๋ถ์ ์์ ํด์ ์๋ก์ด ๋ธ๋์น(feature/security)์ ๋ฐ์ํด๋์์ต๋๋ค.front: reactbackend: springboot๊ผผ๊ผผํ๊ฒ ๋ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
- 1
- 1
- 38
Q&A
์๋ ํ์ธ์ ๊ฐ์ฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ ์ง๋ฌธ์์ต๋๋ค!!
์๋ ํ์ธ์ ์ ์ธํธ๋!์ฌ๋ฐ๊ฒ ๋ฃ๊ณ ๊ณ์๋ค๋ ๊ฐ์ฌํฉ๋๋ค!! ๊ฐ๋ฐ์์ ๊ฒฝํ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ง๋ง, MySQL๋ ๋์ฒด์ ์ผ๋ก ์ด์ ์์ธก์ฑ๊ณผ ์์ ์ฑ์ด ๋์ต๋๋ค. ์๋ฅผ ๋ค์ด PostgreSQL์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ฉด ์ ๋ฒ์ ์ ํ ์ด๋ธ์ ์ฐ๊ณ , ์ด์ ๋ฒ์ ์ ๊ฐ์ ํ ์ด๋ธ ์์ ๋จ์ ์๋ค๊ฐ VACUUM์ผ๋ก ์ ๋ฆฌ๋ฉ๋๋ค. ๊ทธ๋์ ๊ด๋ฆฌ๊ฐ ์ ์ ๋๋ฉด ํ ์ด๋ธ์ด ์ปค์ง๊ณ ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ๋ฐ๋ฉด MySQL(InnoDB)์ ์ด์ ๋ฒ์ ์ Undo Log์ ๋ฐ๋ก ์ ์ฅํ๊ณ ์๋์ผ๋ก ์ ๋ฆฌํ๊ธฐ ๋๋ฌธ์, ํ ์ด๋ธ ํฌ๊ธฐ์ ์ฑ๋ฅ์ด ๋น๊ต์ ์์ ์ ์ผ๋ก ์ ์ง๋ฉ๋๋ค. ๋ฐ๋ผ์ ์์ ์์ ์ด ๋ง์ ๊ฒฝ์ฐ ๊ด๋ฆฌ ๋์ด๋๊ฐ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ๋ํ MySQL ๋ณต์ ๋ณธ์ ๊ตฌ์ฑํ ๋, binlog ๊ธฐ๋ฐ ๋ณต์ ๊ตฌ์กฐ๊ฐ ์ง๊ด์ ์ด์ด์ ์ฅ์ ์ํฉ์์๋ ์์ธ ํ์ ๊ณผ ๋ณต๊ตฌ ์ ์ฐจ๊ฐ ๋ช ํํ ํธ์ ๋๋ค. ๋ฐ๋ผ์ DBA ๋ฆฌ์์ค๊ฐ ์ ํ๋ ํ์ด๋, ์ด์ ์๋ํ๊ฐ ์ถฉ๋ถํ ๊ฐ์ถฐ์ง์ง ์์ ํ๊ฒฝ์์๋ ์์ ์ ์ผ๋ก ์ด์ฉํ๊ธฐ ์กฐ๊ธ ๋ ์ฝ์ง ์์๊น ์๊ฐํฉ๋๋ค. ์ ์ฅ์ ๋๋ถ์ MySQL์ ๋๊ท๋ชจ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ ์ ํ์ ์ธ ์น ์๋น์ค์ ํนํ ์ ๋ง์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ปค๋จธ์ค ์๋น์ค์ ์ฃผ๋ฌธ, ๊ฒฐ์ , ์ฌ๊ณ ๊ด๋ฆฌ์ฒ๋ผ ์ฐ๊ธฐ(์์ ) ํธ๋์ญ์ ์ด ๋น๋ฒํ๊ฒ ๋ฐ์ํ๋ ์์ญ, ์ฝํ ์ธ ์๋น์ค์ฒ๋ผ ์ฝ๊ธฐ๋ถํ๊ฐ ์ปค์ ๋ณต์ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๊ธฐ๋ฅผ ์ํ ํ์ฅํด์ผ ํ๋๋ฐ DB ์ธ์ ์์์ด ๋ถ์กฑํ ํ์์ ๊ฐ์ ์ ๋ณด์ ๋๋ค. ์ค์ ๋ก ๋ง์ ๊ธ๋ก๋ฒ ์ปค๋จธ์คยท์ฝํ ์ธ ํ๋ซํผ๋ค์ด ํต์ฌ OLTP DB๋ก MySQL์ ์ ํํด ์๊ณ , ์ด ๊ณผ์ ์์ ์ถ์ ๋ ์ด์ ์ฌ๋ก์ ํจํด๋ ํ๋ถํฉ๋๋ค. ์ถ๊ฐ๋ก.. MySQL, PostgreSQL ์ ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ์๋ก ๋์ฉ๋ ์ฒ๋ฆฌ๊ฐ์ ์๊ตฌ์ฌํญ์ ๋ง๊ฒ ์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๊ฑฐ๋ ๊ธฐ์กด ๋จ์ ์ด ๊ฐ์ ๋์ด๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์ ์๋ก ๋ฎ์๊ฐ๋ ๋ถ๋ถ๋ ์๊ณ ์ ์ฐจ ๋น์ทํด๋ ๋ถ๋ถ์ด ๋ง์์ง์ง ์์๊น ์๊ฐ์ด ๋ญ๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌํ์ ์ด๋ค DB ๊ฒฝํ์ด ๋ง๊ณ ์ต์ํ์ง ์ฌ๋ถ๊ฐ RDB ๋ฅผ ๊ณ ๋ฅด๋๋ฐ ์ค์ํ ๊ธฐ์ค์ด์ง ์์๊น ์ถ์ต๋๋ค. ์ข์ ์ง๋ฌธ ๊ฐ์ฌํฉ๋๋ค.
- 1
- 2
- 61
Q&A
์๋ ํ์ธ์ ์ง๋ฌธ์์ต๋๋ค.
์๋ ํ์ธ์ ์ ์ธํธ๋! ์ง๋ฌธ ์ฃผ์ ๋ถ๋ถ ์ถฉ๋ถํ ์์ํดํ์ค ์ ์๋ ์ง์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.๊ฐ์ ์๊ฐ ์์์์๋ ๋ง์๋๋ ธ๋ฏ์ด, ์ด ๊ฐ์์์๋ ์ฝ๋๋ฅผ ์ง์ ํจ๊ป ๊ตฌํํ๋ ๋ฐฉ์์ ์ทจํ์ง ์์ต๋๋ค. ๊ฐ์๋ ํฌ๊ฒ ๋๋ฉ์ธ ์ค๊ณ โ ๊ธฐ์ /๊ตฌ์กฐ ์ ํ โ ๊ตฌํ๊ณผ ๋์ ์ดํด์ ํ๋ฆ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ,์ด ์ค โ๊ตฌํโ ์์ฒด๋ฅผ ๊ฐ์์์ ๋ฐ๋ผ ์น๋ ํํ๋ก ์งํํ์ง๋ ์์ต๋๋ค.๋์ , ์ด๋ค ๋๋ฉ์ธ์ด ์ ๊ทธ๋ ๊ฒ ๋๋๋์ง, ๊ตฌ์กฐ๊ฐ ์ด๋ป๊ฒ ์กํ๋ ๊ฒ ์ข์์ง, ์ต์ข ์ ์ผ๋ก ์ฝ๋๊ฐ ์ด๋ค ํํ๋ก ๋์ค๊ณ , ์ด๋ป๊ฒ ๋์ํด์ผ โ์ ์์ ์ธ ์ํโ์ธ์ง๋ฅผ ์ค์ฌ์ผ๋ก ํจ๊ป ์ดํด๋ด ๋๋ค. ์ค์ ์ฝ๋ ๊ตฌํ์ ๊ฐ ์ฑํฐ ๋ง์ง๋ง์ ๋ฏธ์ ๊ณผ์ ์์ ์๊ฐ์ ๋ถ์ด AI Agent(์: Claude Code)๋ฅผ ํ์ฉํด ์ง์ ๋ง๋ค์ด๋ณด๋ ๋ฐฉ์์ผ๋ก ์งํํ์๋ ๊ฒ์ ์๋ํ์ต๋๋ค.์ฆ, ๊ฐ์ ์ค๊ฐ์ ๋ณด์ด๋ ์ ์ ๋๋ฉ์ธ ๋ณํ ์ญ์ "AI Agent๋ฅผ ํตํด ์ด๋ฐ ์์ผ๋ก ๋๋ฉ์ธ์ด ๋ง๋ค์ด์ง ์ ์๋คโ๋ ๊ฒฐ๊ณผ์ ํ๋ฆ์ ๋ณด์ฌ๋๋ฆฌ๊ธฐ ์ํ ์์๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. ์ด ๊ฐ์์์ ์ ๊ฐ ๊ฐ์ฅ ์ค์ํ๊ฒ ์๊ฐํ ํฌ์ธํธ๋๋ฐฑ์๋ ์ค๊ณ๋ฅผ ์ถฉ๋ถํ ์ดํดํ ์ํ์์, AI Agent์๊ฒ ์ฌ๋ฐ๋ฅด๊ฒ ์ง์ํ ์ ์๋ ๋ฅ๋ ฅ์ ๋๋ค.๊ทธ๋์ ์ฝ๋ ํ ์ค ํ ์ค์ ์ค๋ช ํ๊ธฐ๋ณด๋ค๋ ์ค๊ณ ์๋์ ํ๋ฆ์ ์ดํดํ๊ณ ๊ทธ ์ดํด๋ฅผ ๋ฐํ์ผ๋ก AI์๊ฒ ๊ตฌํ์ ๋งก๊ธฐ๋ ๊ฒฝํ์ ์ด์ ์ ๋์์ต๋๋ค. ์ ๋ฆฌํ๋ฉด,๊ฐ์์์ ๋งํ๋ โ๊ตฌํ๊ณผ ๋์โ ํํธ๋ ์ง์ ์ฝ๋๋ฅผ ์์ฑํ๋ ์๊ฐ์ด ์๋๋ผ,๊ตฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉฐ โ์ด๋ ๊ฒ ๋์ํด์ผ ๋ง๋คโ๋ผ๋ ๊ธฐ์ค๊ณผ ํ๋ฆ์ ์ดํดํ๋ ๊ณผ์ ์ด๋ผ๊ณ ์๊ฐํด์ฃผ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 1
- 1
- 61




