"ν¬λ£¨μκ³Ό ν¨κ»νλ μ€μκ° μΆμ μΈμ¦λΆν° μμ§νΈ μ μ© μ€ν μ΄κΉμ§"
AZITλ λ¬λ ν¬λ£¨μ μΌμ μ 체κ³μ μΌλ‘ κ΄λ¦¬νκ³ , μμΉ κΈ°λ° μΆμ μ²΄ν¬ λ° ν¬μΈνΈ μ 립μ ν΅ν΄ ν¬λ£¨μλ€μ μ°Έμ¬λλ₯Ό λμ΄λ λ¬λ ν¬λ£¨ μ μ© νλ«νΌμ λλ€.
- GPS κΈ°λ° μΈμ¦: λͺ¨μ μ₯μ λ°κ²½ 100m μ΄λ΄μμλ§ μΆμνκΈ° λ²νΌμ΄ νμ±νλμ΄ μ νν μΆμμ μ λν©λλ€.
- μ€λ§νΈ νμ μλμ°: λͺ¨μ μκ° 1μκ° μ λΆν° 1μκ° νκΉμ§λ§ μΆμμ΄ κ°λ₯νλλ‘ μ ννμ¬ μ΄μμ μ λ’°μ±μ λμμ΅λλ€.
- ν μμ ―: μ± μ§μ μ κ°μ₯ κ°κΉμ΄ μΌμ μ μΆμ κ°λ₯ μν(D-Day, λ¨μ μκ°)λ₯Ό μ§κ΄μ μΌλ‘ νμΈν μ μμ΅λλ€.
- μλ³ μΌμ μ‘°ν: μ κΈ°λ°κ³Ό λ²κ°λ°μ μΊλ¦°λμ μμ μ (Dot)μΌλ‘ ꡬλΆνμ¬ νλμ ν¬λ£¨ μΌμ μ νμ ν μ μμ΅λλ€.
- μΆ©λ λ°©μ§ λ‘μ§: λ΄κ° μ΄λ―Έ μ°Έμ¬ μ€μΈ μΌμ κ³Ό μκ°μ΄ κ²ΉμΉλ μλ‘μ΄ μΌμ μλ μ°Έμ¬ν μ μλλ‘ κ²μ¦ λ‘μ§μ΄ μ μ©λμ΄ μμ΅λλ€.
- ν¬μΈνΈ μ 립: μΆμμ μλ£ν λλ§λ€ μλμΌλ‘ 100 ν¬μΈνΈκ° μ¦μ μ 립λ©λλ€.
- μμ§νΈ ν¬λ£¨ μ μ© μ€ν μ΄: λͺ¨μ ν¬μΈνΈλ₯Ό νμ©ν΄ λ¬λ μ©ν λ± μμ§νΈλ§μ νΉλ³ν μνμ ν©λ¦¬μ μΈ κ°κ²©μ μ£Όλ¬Έν μ μμ΅λλ€.
- 리λμ μΉμΈ/κ±°μ , λ©€λ² λ°©μΆ λ±μ κΆν κ΄λ¦¬λ₯Ό ν΅ν΄ μ½κ³ νΈλ¦¬ν ν¬λ£¨ κ΄λ¦¬κ° κ°λ₯ν©λλ€.
- Language & Framework: Java, Spring Boot, Spring Batch
- Architecture: Hexagonal Architecture (Port & Adapter Pattern)
- Database & ORM: Spring Data JPA, QueryDSL, MySQL, Redis
- Documentation: Swagger (SpringDoc OpenAPI)
- Security: Spring Security, JWT (Apple/Kakao OAuth)
- Cloud: AWS (EC2, RDS, S3, CloudFront, Route53, ECS, Fargate, EventBridge)
- Container: Docker, Docker Compose
- Web Server: Nginx (Reverse Proxy, Blue-Green Switching)
- CI/CD: GitHub Actions
- Monitoring: New Relic, Discord (μλ¦Ό μ°λ)
- OS: Ubuntu 22.04 LTS
- λλ©μΈ μ£Όλ μ€κ³(DDD): λλ©μΈ κ°μ²΄ λ΄λΆμ ν΅μ¬ λΉμ¦λμ€ λ‘μ§κ³Ό μν λ³κ²½ λ©μλλ₯Ό μΊ‘μννμ¬ μμ§λλ₯Ό λμμ΅λλ€.
- ν₯μ¬κ³ λ μν€ν
μ²(Hexagonal):
in/outν¬νΈμ μ΄λν°λ₯Ό λͺ νν λΆλ¦¬νμ¬ μμμ± κ³μΈ΅(DB)μ λ³κ²½μ΄ λΉμ¦λμ€ λ‘μ§(UseCase)μ μν₯μ μ£Όμ§ μλλ‘ μ€κ³νμ΅λλ€. - λ°μ΄ν° μ²λ¦¬ μ΅μ ν (Spring Batch): λλμ λ°μ΄ν° μ²λ¦¬(νν΄ νμ μꡬ μμ , 무ν΅μ₯ μ κΈ κΈ°ν λ§λ£ μ£Όλ¬Έ μ·¨μ μ²λ¦¬ λ±)λ₯Ό API μλ²μ λΆλ¦¬νμ¬ μλ² λ¦¬μμ€ κ°μμ λ°©μ§νκ³ , Chunk μ§ν₯ μ²λ¦¬λ₯Ό ν΅ν΄ λ©λͺ¨λ¦¬ ν¨μ¨μ±μ κ·Ήλννμ΅λλ€.
- μμ 격리: λμ©λ λ°μ΄ν° μμ μ΄ μμ κ°λ μ€μΈ API μλ²(EC2)μ μ±λ₯μ μν₯μ μ£Όμ§ μλλ‘ μ»¨ν μ΄λ νκ²½μ μμ ν λΆλ¦¬νμ΅λλ€.
- λΉμ© μ΅μ ν: 24μκ° μλ²λ₯Ό λμ°μ§ μκ³ , λ°°μΉ μμ μ΄ νμν μμ μλ§ μ»¨ν μ΄λλ₯Ό μ€ννλ©° Fargate Spot μΈμ€ν΄μ€λ₯Ό νμ©ν΄ λΉμ©μ μ κ°νμ΅λλ€.
- μ€μΌμ€λ§: AWS EventBridgeλ₯Ό ν΅ν΄ κ° λ°°μΉ μμ μ μ€ν μ£ΌκΈ°λ₯Ό κ΄λ¦¬ν©λλ€.
- 무μ€λ¨ λ°°ν¬: Nginxμ Docker Composeλ₯Ό νμ©ν Blue-Green 무μ€λ¨ λ°°ν¬ νκ²½μ ꡬμΆνμ΅λλ€. μλ‘μ΄ λ²μ μ 컨ν μ΄λλ₯Ό λμ΄ ν, Spring Boot Actuatorλ‘ ν¬μ€ 체ν¬λ₯Ό ν΅κ³Όνμ λλ§ Nginx ν¬νΈλ₯Ό μ€μμΉνμ¬ μλΉμ€ μ€λ¨ μμ΄ μμ μ μΈ λ°°ν¬λ₯Ό 보μ₯ν©λλ€.
- 보μμ κ³ λ €ν λμ νμ΄νλΌμΈ: GitHub Actionsλ₯Ό ν΅ν μλ λ°°ν¬ μ, Runnerμ IPλ₯Ό AWS EC2 Security Groupμ μμλ‘ νμ©(Port 22)νκ³ λ°°ν¬ μλ£ ν μ¦μ μ°¨λ¨νμ¬ μΈλΆμ 보μ μνμ μ΅μννμ΅λλ€.
- μ€μκ° λͺ¨λν°λ§ λ° μλ¦Ό: λͺ¨λν°λ§ ν΄λ‘ New Relicμ λμ νμ¬ μ¬λ‘μ° μΏΌλ¦¬ λ± μλ²μ μ±λ₯κ³Ό μνλ₯Ό λͺ¨λν°λ§νλ©°, μμ€ν μ₯μ λ₯Ό Discord μΉν κ³Ό μ°λνμ¬ μ¦κ°μ μΌλ‘ λμν μ μλ 체κ³λ₯Ό κ°μ·μ΅λλ€.





