๐๐ปโโ๏ธย Introduce
์๋
ํ์ธ์! ์ ์ ๋ชฉํ๋ ๋๋ฃ์๊ฒ ์ ๋ขฐ๋ฅผ ์ค ์ ์๋ ๊ฐ๋ฐ์๊ฐ ๋๊ธฐ ์ํด ์ฃผ์ด์ง ์ํฉ๋ค์ ์ ๊ธฐ๋กญ๊ฒ ํด๊ฒฐํด ๋์๊ฐ๋ฉฐ ๋์์๋ ๊ธฐ์ ์ ์ธ ์ฑ์ฅ์ ์งํฅํ๊ณ ์์ต๋๋ค.
**โ๊ฒฐ๊ณผโ**๋ง์ ๋ง๋๋ ๊ฒ์ด ์๋๋ผ **โ๊ณผ์ โ**์ ํตํด ์ค์ค๋ก ๋ฌด์์ ๋ฐฐ์ ๋๊ฐ?๋ฅผ ์ค์ํ๊ฒ ์๊ฐํฉ๋๋ค. ์ด๋ค ์๊ฐ์ ํ๊ณ ๋
ผ๋ฆฌ์ ์ผ๋ก ์ ๊ทผํ๋์ง ํ๋นํ ์ด์ ์ ๊ทผ๊ฑฐ๋ฅผ ์ ์ํ๊ธฐ ์ํด ๊น์ ์ฌ๊ณ ๋ฅผ ํ๋ค ๋ณด๋ฉด ์ฑ์ฅ์ ๋๋ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค.
๊ฐ๋ฐ์๋ก์ ์์ํ๊ณ ๊ธฐํํ๋ ๊ฒ์ ๊ธฐ์ ๋ก ๊ตฌํํด์ ํ๋ก๋ํธ๋ฅผ ๋ง๋๋ โ๊ณผ์ โ์ ์ข์ํ๊ธฐ ๋๋ฌธ์ ๋ชฐ์
ํ๊ณ ์ ๊ทน์ ์ธ ์ฌ๋์ด๋ผ๊ณ ํํํ๊ณ ์ถ์ต๋๋ค. ์ด ๊ณผ์ ์, ๊ธฐ์ ์ ํ์ฉ๊ณผ ์๋ จ๋๋ฅผ ์ตํ๊ฐ๋ ๊ฒ์ ์ข์ํ๊ณ ์ฌ์ฉ์์๊ฒ ์ต์ ํ๋ ๊ฒฝํ์ ์ ๊ณตํ๋ ๊ฒ์ ์ค์ํ๊ฒ ์๊ฐํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฑ๋ฅ ๊ฐ์ ์ ๋ํด ๋์ ๊ด์ฌ์ด ์๊ณ ์์ ํ๊ณ ์ ์ฐํ ๊ฐ๋ฐ์ ์ํ Test Code๋ฅผ ์ค์ํ๊ฒ ์๊ฐํฉ๋๋ค.
๐ย Blog
์ฃผ์ ํ์ต์ ์ ๋ฆฌํ๋ ๊ฒ๋ ์ข์ ์ต๊ด์ด๋ผ๊ณ ์๊ฐํ์ฌ ๊พธ์คํ๊ฒ ์ ์ ๊ฒฝํ์ ๋
น์ฌ๋ด๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ณ ์์ต๋๋ค
์ ๋ชฉ์ ๋งํฌ๋ฅผ ์ฒจ๋ถํ์ต๋๋ค
๐งย Contact
โ๏ธย Skills
Backend
- Java, Kotlin
- Spring Boot, Spring MVC, Spring Data JPA, Spring Rest Docs, Nest JS, TypeORM, Redis
- Junit5, Mockito, MockK, kotest
- QueryDSL, Redis, Docker
- CI/CD Deploy: Github Actions, Jenkins
Data Engineering
Infra
- AWS: EC2, ECS, RDS, S3 / Serverless: Lambda
Collaboration
- Git, Git Kraken
- Notion
- Figma
- Jira
๐ปย Projects
์งํ์ค์ธ ์ฌ์ด๋ ํ๋ก์ ํธ
-
Application Download: https://apps.apple.com/kr/app/์ผ์ดํฌํฌ/id6449973946
-
Github Repository: https://github.com/CAKK-DEV
-
๋ด๋น ์ญํ : Backend
-
Skill: Spring Boot, Spring Data JPA, QueryDSL, MySQL, Docker, AWS, Github Actions
-
์งํ ์ค์ธ ํต์ฌ ์ฌํญ, ํ์ฌ Phase 1
- Layered Architecture๋ฅผ ํตํด ์ฑ
์์ ๊ณ์ธต์ผ๋ก ๋ถ๋ฆฌํ๊ธฐ ์ํด ๋
ธ๋ ฅํ์ต๋๋ค.
- ๋ฉํฐ ๋ชจ๋์ ํตํด ๋ชจ๋ ๊ฐ ์์กด์ฑ์ ๋ถ๋ฆฌํ์ฌ ์ด์ํ๊ณ ์์ต๋๋ค. (Domain, API, External, Common ๋ฑ๋ฑ..)
- ์ ํ๋ฆฌ์ผ์ด์
๋ก์ง๊ณผ ๋น์ฆ๋์ค ๋ก์ง์ ์ ๊ตฌ๋ถํ๊ธฐ ์ํด ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค.
- ๋๋ฉ์ธ ๋ก์ง๊ณผ ์ ํ๋ฆฌ์ผ์ด์
๋ก์ง์ ๊ตฌ๋ถํ๊ธฐ ์ํด ํธ๋์ญ์
์คํฌ๋ฆฝํธ ํจํด์ด ์๋๋ผ ๋๋ฉ์ธ ๋ชจ๋ธ ํจํด์ ์ดํดํ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก JPA ํ์ฉ์ ์ง์คํ์ต๋๋ค.
- ์ฑ
์ ์ฃผ๋ ์ค๊ณ ์งํฅ๊ณผ ๋ฆฌํฉํ ๋ง
- JPA๋ฅผ ํ์ฉํ๋ ๋งํผ ์ํฐํฐ๋ฅผ ๋๋ฉ์ธ ๋ชจ๋ธ๋ก ํ์ฉํ์ฌ ์ ์ ํ ๋๋ฉ์ธ ๋ก์ง ๊ฒ์ฆ์ ํ ์ ์๊ณ ๊ฐ์ฒด์งํฅ์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ๊ฐ์ฒด ๊ฐ์ ์ฑ
์๊ณผ ์ญํ ๋ถ๋ฆฌ, DTO, ๋ชจ๋, ์๋น์ค ๋ก์ง ๋ฑ ์ข์ ์ค๊ณ๋ฅผ ์ฐ์ตํ๊ณ ํ๋ก์ ํธ์ ๋์
ํ๋ ค๊ณ ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค.
Problem Solves
- ๋ก์ปฌ๊ณผ CI ํ๊ฒฝ์์ ํตํฉ ํ
์คํธ๋ฅผ ํธ๋ฆฌํ๊ฒ ์ํํ๊ธฐ ์ํ ํ๊ฒฝ ๊ตฌ์ถ์ ์ํด Test Containers๋ฅผ ํ์ฉํ๊ณ ์์ต๋๋ค. Docker Engine๋ง ์คํ์ค์ด๋ผ๋ฉด, ์๋ํ๋ ๋น๋๋ฅผ ํตํด ํตํฉ ํ
์คํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ์ค์ฌ์ ์์น ๊ธฐ๋ฐ Query๋ฅผ ๋น์ฆ๋์ค ๋ก์ง์ผ๋ก ํด๊ฒฐํ๋ ๊ฒ์ด ์๋๋ผ Hibernate-Spatial์ ํ์ฉํ์ฌ ์ํํ์ต๋๋ค.
- JPA๋ฅผ ํ์ฉํ ๋ณต์กํ ์ฟผ๋ฆฌ ์ต์ ํ, ํ์ด์ง๋ค์ด์
๊ฐ์ , QueryDSL์ ํ์ฉํ ํ๋ก์ ์
์ผ๋ก ์ค๋ณต๊ณผ ์ปค์ ๊ธฐ๋ฐ ํ์ด์ง๋ค์ด์
ํ๊ณ ํด๊ฒฐ
- ์ด๋ฅผ ๋ฐํ์ผ๋ก MySQL์์ ์ ๊ณตํ๋ Geometry Type์ ํ์ฉ
- MySQL์์ ์ฌ์ฉ๋๋ geographic data๋ฅผ ๋ค๋ฃฐ ์ ์๋๋ก Hibernate ์์กด์ฑ์ ์ถ๊ฐํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ์์ต๋๋ค
- ๊ด๋ จ ์์ฑ ๊ธ: https://velog.io/@taeyong_5201/Hibernate-Spatial-๊ทธ๋ฆฌ๊ณ -MySQL๊ณผ-ํจ๊ปํ๋-Spring-Boot-๊ธฐ๋ฐ-์ ํ๋ฆฌ์ผ์ด์
- MySQL ์ตํฐ๋ง์ด์ ์ ์คํ ๊ณํ์ ํตํด Spatial Index ์์ฑ์ผ๋ก ์ฟผ๋ฆฌ ๊ฐ์ ์์
- ์ธ๋ถ ์๋น์ค๋ฅผ ํ์ฉํ ๋, ๋์์ธ ํจํด์ ํ์ฉํ์ฌ ๊ฐ์ ํ๊ธฐ
SSAFY ์ปค๋ฎค๋ํฐ SSAFSOUND
- ์๋น์ค ์ ์ URL: https://ssafsound.com
- API Docs: ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ
- Github Repository: ์ ์ฅ์ ๋ฐ๋ก๊ฐ๊ธฐ
- ๊ธฐ๊ฐ: 2023.06 ~ 2023.10
- ๋ด๋น ์ญํ : Backend ๊ฐ๋ฐ
- SKILL: Java 11, Spring Boot, Spring Data JPA, JaCoCo Test, MySQL 8.0, AWS Infra, Mockito
- ํ๋ก์ ํธ๋ฅผ ์์ํ๊ฒ ๋ ๊ณ๊ธฐ
- ์ผ์ฑ ์ฒญ๋
SW ์์นด๋ฐ๋ฏธ ๊ต์ก์ ๋ค์ผ๋ฉด์ ๊ต์ก์๋ค๊ฐ ์ปค๋ฎค๋ํฐ ๊ณต๊ฐ, ํธ์ ๊ธฐ๋ฅ ์ ๊ณต, ์คํฐ๋ ๋ชจ์ง์ ํ ์ ์๋ ์๋น์ค๋ฅผ ์ ๊ณตํด์ฃผ๋ฉด ์ข์ง ์์๊น? ๋ผ๋ ์ทจ์ง๋ก ์์
- ์บ ํผ์ค๊ฐ ์ ์ฌ ๋ฉ๋ด ์ ๊ณต | ์ปค๋ฎค๋ํฐ ๊ณต๊ฐ | ์คํฐ๋ ๋๋ ํ๋ก์ ํธ ๋ชจ์ง ์ ์ฃผ์ ๊ธฐ๋ฅ์ผ๋ก ์ ์
ํ์
๐ค