좋은 패키지 구조를 찾아서 (with. Port And Adapter)
CS/ARCHITECTURE2025. 4. 3. 15:08좋은 패키지 구조를 찾아서 (with. Port And Adapter)

📚 개요오랜만에 제가 만들던 프로젝트의 패키지 구조를 살펴봤는데 난해하고 이걸 어디에 둬야지 적절하지(?)라는 의문이 들어서 디렉토리 구조를 리팩토링 해보자 라는 목표로 패키지를 재구성하게 되었습니다. 이 글은 MVC 패턴이 아닌 포트 어댑터 패턴에서의 효율적인 구조에 대해 탐구합니다.순도 100%의 주관적 견해이므로 정답이 아닙니다.📚 준비물1. 포트 어댑터 패턴에 대한 기본지식2. Spirng + Jpa..(?) 크겐 필요없음3. 개선 사항이 보이면 의견 주시기 😘 📚 정의목표는 기 때문에 좋은 디렉토리의 기준을 정의 해보고자 합니다. 제가 생각하는 좋은 패키지 구조란1. 프로젝트의 규모가 커져도 디렉토리의 변화가 없다2. 외부 기술스택의 변화가 생기더라도 변화가 없다3. 디렉토리만 바라보고..

우당탕탕 헥사고날 아키텍처 적용하기
CS/ARCHITECTURE2025. 3. 20. 21:54우당탕탕 헥사고날 아키텍처 적용하기

📚 개요이직 준비가 길어져서 스터디를 구했는데 스터디 그룹 내에서 프로젝트를 해보자! 라는 얘기가 나왔습니다.MSA 환경에서의 개발 및 운영을 해보기 위해서 프로젝트를 진행하기로 했습니다.MSA 는 많은 서비스와의 연결이 있기에 MVC패턴보단 헥사고날 아키텍처가 적합하다 판단했습니다.이를 적용하는 과정에서의 학습지식, 문제점 등을 정리 해보려합니다. 📚 준비물1. 정말 단단한 멘탈2. 아키텍처에 대한 관심과 열정3. Kotlin + Spring Boot4. 틀린부분 있으면 태클 걸어주는 친절함 😉 😢 헥사고날 아키텍처 (클린아키텍처, 포트어댑터패턴) 의 탄생 배경기존의 레이어드 아키텍처 (e.g. MVC)는 의존성의 관계가 Controller -> Service -> Repository -> 외부..

인텔리제이 학생 계정 등록 - 대학 메일 인증 문제 ( intellij student email verify )
일상/개발일상2024. 11. 7. 15:10인텔리제이 학생 계정 등록 - 대학 메일 인증 문제 ( intellij student email verify )

간단하지만 아직 깃허브에 익숙하지 않은 학생분들을 위해 글을 작성합니다 만약 깃헙으로 젯브레인 레포지토리에 대학 추가까지 완료 했는데 안된거라면 4번을 보시면 됩니다.0. 준비물1. 깃허브 아이디 ( https://github.com )2. 젯브레인 아이디 ( https://www.jetbrains.com/ko-kr/ )3. 학생메일 ( .ac.kr 등등 으로 끝나는 )1. 메일 인증 및 실패어느날 떠버린 인텔리제이 인증 만료학생인증을 다시 해줘야한다사용중이던 라이센스를 다시 연장하기 위해서 UPGRADE ONLINE NOW 를 누르니 다음 화면으로 이어진다여기서 Renew my Education Pack 을 눌러서 인증을 다시 진행하면 된다 아래와 같은 화면이 나오고 기존에 등록 했다가 만료가 된 경우..

Spring boot 부하 테스트, 나도 할 수 있을까?
Back End/SPRING BOOT2024. 5. 27. 18:27Spring boot 부하 테스트, 나도 할 수 있을까?

이 글은 부하 테스트를 얼마 안해본 나 같은 사람을 위해 작성한다. 준비물🐋 Docker🐙 Docker-Compose🏔️ K6☀️ Grafana💎 influxdb Step 0. 왜?왜 이 기술 스택들을 쓴 것인지에 대해서 말하고자한다.1. K6사실 부하테스트의 큰 산은 Apache 사에서 만든 jmeter와 대황네이버가 만든 nGrinder가 있다. 하지만 이 두개는 사실 성능이 뛰어나지도, 편리성이 뛰어나지도 않다.둘 다 JVM 위에서 동작해서 메모리를 많이 먹고 느리다.특히 Jmeter의 경우 Gui로 인해서 오버헤드가 많이 발생한다. 성능을 요구하는 테스트의 경우 Gui를 안쓰도록 권장 ( 아파치 피셜 )Jmeter 의 경우에는 xml , nGrinder 의 경우에는 Groovy 를 사용해야..

Spring boot AWS 배포, 나도 할 수 있을까?
Back End/SPRING BOOT2024. 5. 25. 17:26Spring boot AWS 배포, 나도 할 수 있을까?

이 글은 배포 과정을 자꾸 까먹는 나를 위해 포스팅 하려한다.준비물☕ Java v17🚀 Kotlin v1.9.22🌿 Spring boot v3🐘 Postgresql v16🧱 Redis v7🐋 Docker v26 Step 1. AWS 구성프로젝트 아키텍처의 일부를 발췌 AWS 구성은 구글링하면 나오지만 순서랑 주의점 정도만 적어본다. 1. EC2 인스턴스 생성EIP 연결Public IP 할당보안그룹 지정역할 지정 ( SSM 연결용 )키페어 지정 x ( SSM 연결 할거니까 )AMI 고를 때 Amazon SSM Manager 있는 거로 골라야됨 ( amazon linux 엔 대부분 있다 )SSM 연결하려면 인스턴스 만들고 4~5시간은 지나야 연결됨, 참을성을 가지자SSM 대신 SSH 쓸거면 키페어 ..

AWS - EC2 - Name or service not known
Deploy/AWS2024. 5. 22. 00:45AWS - EC2 - Name or service not known

AWS 에 Kotlin + Spring boot 를 올리려고 EC2 를 만들려고 했었는데, 문제가 발생했다. EC2 내부에 JDK 를 설치하려는데 자꾸 에러가 발생했다. 처음에는 repo를 못찾나 해서 오타가 있나 살펴보고 다른 버전 or 다른데서 만든 17 jdk 를 받으려고 해봤는데 계속 같은 오류가 떠서 찾아보기로 했다. 처음 해본 테스트에서 바로 오류를 찾을 수 있었다. EC2 에서 오류가 나면 가장 먼저 외부와의 연결부터 체크하는 편인데, ping test 조차 실패하는 모습을 보였다. 원인을 찾아보니 EC2의 DNS가 제대로 설정이 안되어 있다고 하는데 이 DNS 를 설정해주는 것은 VPC - DHCP Option Set 에서 해주는데, 프리티어를 방치해뒀더니 VPC 관련해서 요금이 너무 많이..

image