1. Spring Modulith

이번 프로젝트에서는 Spring Modulith를 사용하기로 결정했습니다. 그 이유와 선택 과정에 대해 공유하고자 합니다. 1. 왜 Modular Architecture를 선택하였는가? Monolithic(Monolith) 세 가지 이유로 모놀리틱 아키텍처를 제외하게 되었습니다. 첫째, 모놀리틱 아키텍처는 프로젝트가 진행될수록 도메인 간 의존성이 높아질 것이라고 예상했습니다. 현재 촉박한 오픈 일정으로 업무를 진행하고 있습니다. 시간이 부족하면 도메인 의존성을 충분히 고려하지 못한 채 프로젝트의 진행 속도를 … Read more

설계 시작에 앞서

저는 아키텍처 설계 경험이 없는 개발자입니다. 구체적으로는 새로운 방식의 설계를 시도해 본 적이 없습니다. 단일 / 멀티 모듈 프로젝트를 경험했지만 어떤 목적에 의해 구분되는지, 왜 레이어드 아키텍처를 사용했고 또 사용하려고 하는지, 익숙하고 편리한 방식에 의문을 품지 않았습니다. 최근 이직을 준비하며 부족한 제 자신을 뼈저리게 통감했습니다. 그동안 바쁘다는 핑계로 외면했던 기술 부채를 온전히 마주했습니다. 도메인 주도 … Read more

[php] php-fpm 메모리 에러 해결하기

php-fpm 프로세스가 여러개 작동하여 서버 메모리가 부족한 현상을 해결할 수 있습니다. php-fpm 메모리 에러 해결하기 1. /etc/php-fpm.d/www.conf 파일에서 에러 경로를 확인합니다. 2. /var/log/php-fpm/error.log 파일을 열어 로그를 확인합니다. 3. “WARNING: [pool www] server reached pm.max_children setting (50), consider raising it” 문구를 확인합니다. 4. /etc/php-fpm.d/www.conf 파일을 아래처럼 수정합니다. 5. systemctl restart php-fpm 명령어를 통해 서비스를 재시작합니다. 관련글

[aws] ec2 Apache Forward Proxy 서버 생성하기

aws

aws ec2 서비스를 이용하여 Apache(아파치) Forward(포워드) Proxy(프록시) 서버 생성하는 방법을 자세히 알아봅니다. 아파치 설치 프록시 모듈 활성화 프록시 설정 1. /etc/apache2/sites-enabled/000-default.conf 파일에 아래 설정을 추가합니다. 2. /etc/apache2/ports.conf 파일에 8080포트를 추가합니다. 3. service apache2 restart 명렁어를 통하여 서비스를 재시작합니다. 4. curl 명령어를 통하여 프록시 접속을 확인합니다. 관련글

[aws] ec2 openvpn 서버 생성하기

aws

AWS EC2 서비스를 이용하여 openvpn 서버를 만들고 운영할 수 있습니다. ami(이미지)를 사용하여 5분 만에 openvpn 서버를 생성할 수 있습니다. AMI를 사용하여 OpenVpn EC2 서버 생성하기 1. AWS 로그인 후 ,EC2 서비스로 이동합니다. 2. 좌측 메뉴에서 ‘인스턴스’ 선택 후, 우측 상단에 ‘인스턴스 시작’ 버튼 클릭합니다. 3. 원하는 인스턴스 이름을 입력합니다. 4. 애플리케이션 및 OS 이미지에서 ‘openvpn’ … Read more

[aws] s3 정적 웹 호스팅 하기

aws

AWS S3에 정적 파일을 업로드하고 AWS Route53, AWS CloudFront와 연동하는 정적 웹 사이트 호스팅을 쉽고 상세하게 설명합니다. AWS S3 정적 웹 호스팅 AWS S3 정적 웹 사이트 호스팅에 대해 알아보겠습니다. 정적 웹 사이트 호스팅이란, 정적인 파일(html)을 웹에서 볼 수 있도록(호스팅) 해주는 서비스입니다. AWS S3 정적 웹 사이트 호스팅이란, 정적인 파일(html)을 AWS S3(클라우드 저장소)에 업로드하고, S3에서 … Read more

[Spring Data JPA] Sort(단일 정렬, 다중 정렬)

logo_spring_data_jpa

Spring Data JPA 사용 시 sort(단일 정렬, 다중 정렬) 하는 방법에 대해 알아봅니다. 단일 정렬뿐만 아니라 다중 정렬하는 방법까지 자세하게 설명합니다. 단일 정렬 다중 정렬 최신 글

[Aws] Route 53 도메인 등록하기

aws

AWS Route 53 서비스를 통해 도메인(ex. naver.com, google.com…) 등록하는 방법을 자세하게 설명합니다. 1. Route 53 도메인 등록 페이지로 이동한다. AWS 상단에 Route 53 검색하여 Route 53 서비스로 이동 좌측 ‘도메인’ 메뉴의 ‘등록된 도메인’ 페이지로 이동 후, 우측 상단 ‘도메인 등록’ 버튼 클릭 2. 사용 가능한 도메인을 검색하고 선택한다. 원하는 도메인을 입력하고, 등록 가능하다면 선택한다. 이미 … Read more

[Meta] 메타 픽셀의 이해(타겟, 이벤트, 전환)

meta logo

메타 픽셀을 이해할 수 있습니다. 타겟(저장 타겟, 맞춤 타겟, 유사 타겟), 이벤트(표준 이벤트, 맞춤 이벤트), 맞춤전환에 대해 설명합니다. 메타 픽셀(Meta Pixel) 메타 픽셀(Meta Pixel)에 대해 알아보겠습니다. 메타 픽셀(Meta Pixel)은 사용자의 행동을 추적하고 분석해 줍니다. 최초에는 웹 페이지 접근 시 실제 1×1(pixel) 이미지의 로딩 여부를 파악하여 사용자의 행동을 추척했습니다. 현재는 이미지가 아닌 웹 페이지에 코드를 심어서 … Read more

[Java] 중복되지 않는 랜덤 문자열(난수) 생성하기

java logo

apache commons-lang 라이브러리와 Java Set을 이용하여 원하는 개수의 랜덤 문자열(난수)을 생성할 수 있습니다. 1. apache commons-lang 의존성 추가 2. Set 사용 중복 제거   – Set은 중복이 불가능한 것을 이용   – 중복되면 Set에 추가되지 않고 set.size() 증가하지 않기 때문에 원하는 개수(100개) 생성 가능 3. RandomStringUtils.random 함수 최신 글