📚 개요오랜만에 제가 만들던 프로젝트의 패키지 구조를 살펴봤는데 난해하고 이걸 어디에 둬야지 적절하지(?)라는 의문이 들어서 디렉토리 구조를 리팩토링 해보자 라는 목표로 패키지를 재구성하게 되었습니다. 이 글은 MVC 패턴이 아닌 포트 어댑터 패턴에서의 효율적인 구조에 대해 탐구합니다.순도 100%의 주관적 견해이므로 정답이 아닙니다.📚 준비물1. 포트 어댑터 패턴에 대한 기본지식2. Spirng + Jpa..(?) 크겐 필요없음3. 개선 사항이 보이면 의견 주시기 😘 📚 정의목표는 기 때문에 좋은 디렉토리의 기준을 정의 해보고자 합니다. 제가 생각하는 좋은 패키지 구조란1. 프로젝트의 규모가 커져도 디렉토리의 변화가 없다2. 외부 기술스택의 변화가 생기더라도 변화가 없다3. 디렉토리만 바라보고..
📚 개요이직 준비가 길어져서 스터디를 구했는데 스터디 그룹 내에서 프로젝트를 해보자! 라는 얘기가 나왔습니다.MSA 환경에서의 개발 및 운영을 해보기 위해서 프로젝트를 진행하기로 했습니다.MSA 는 많은 서비스와의 연결이 있기에 MVC패턴보단 헥사고날 아키텍처가 적합하다 판단했습니다.이를 적용하는 과정에서의 학습지식, 문제점 등을 정리 해보려합니다. 📚 준비물1. 정말 단단한 멘탈2. 아키텍처에 대한 관심과 열정3. Kotlin + Spring Boot4. 틀린부분 있으면 태클 걸어주는 친절함 😉 😢 헥사고날 아키텍처 (클린아키텍처, 포트어댑터패턴) 의 탄생 배경기존의 레이어드 아키텍처 (e.g. MVC)는 의존성의 관계가 Controller -> Service -> Repository -> 외부..
간단하지만 아직 깃허브에 익숙하지 않은 학생분들을 위해 글을 작성합니다 만약 깃헙으로 젯브레인 레포지토리에 대학 추가까지 완료 했는데 안된거라면 4번을 보시면 됩니다.0. 준비물1. 깃허브 아이디 ( https://github.com )2. 젯브레인 아이디 ( https://www.jetbrains.com/ko-kr/ )3. 학생메일 ( .ac.kr 등등 으로 끝나는 )1. 메일 인증 및 실패어느날 떠버린 인텔리제이 인증 만료학생인증을 다시 해줘야한다사용중이던 라이센스를 다시 연장하기 위해서 UPGRADE ONLINE NOW 를 누르니 다음 화면으로 이어진다여기서 Renew my Education Pack 을 눌러서 인증을 다시 진행하면 된다 아래와 같은 화면이 나오고 기존에 등록 했다가 만료가 된 경우..
이 글은 부하 테스트를 얼마 안해본 나 같은 사람을 위해 작성한다. 준비물🐋 Docker🐙 Docker-Compose🏔️ K6☀️ Grafana💎 influxdb Step 0. 왜?왜 이 기술 스택들을 쓴 것인지에 대해서 말하고자한다.1. K6사실 부하테스트의 큰 산은 Apache 사에서 만든 jmeter와 대황네이버가 만든 nGrinder가 있다. 하지만 이 두개는 사실 성능이 뛰어나지도, 편리성이 뛰어나지도 않다.둘 다 JVM 위에서 동작해서 메모리를 많이 먹고 느리다.특히 Jmeter의 경우 Gui로 인해서 오버헤드가 많이 발생한다. 성능을 요구하는 테스트의 경우 Gui를 안쓰도록 권장 ( 아파치 피셜 )Jmeter 의 경우에는 xml , nGrinder 의 경우에는 Groovy 를 사용해야..
이 글은 배포 과정을 자꾸 까먹는 나를 위해 포스팅 하려한다.준비물☕ 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 에 Kotlin + Spring boot 를 올리려고 EC2 를 만들려고 했었는데, 문제가 발생했다. EC2 내부에 JDK 를 설치하려는데 자꾸 에러가 발생했다. 처음에는 repo를 못찾나 해서 오타가 있나 살펴보고 다른 버전 or 다른데서 만든 17 jdk 를 받으려고 해봤는데 계속 같은 오류가 떠서 찾아보기로 했다. 처음 해본 테스트에서 바로 오류를 찾을 수 있었다. EC2 에서 오류가 나면 가장 먼저 외부와의 연결부터 체크하는 편인데, ping test 조차 실패하는 모습을 보였다. 원인을 찾아보니 EC2의 DNS가 제대로 설정이 안되어 있다고 하는데 이 DNS 를 설정해주는 것은 VPC - DHCP Option Set 에서 해주는데, 프리티어를 방치해뒀더니 VPC 관련해서 요금이 너무 많이..