본문 바로가기

백엔드40

[Tomcat] Tomcat에서 Java 옵션을 주어 Profile 지정하기 tomcat/bin/catalina.sh에 아래를 추가한다. JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active={profile_name}" Window의 경우에는 catalina.bat에 추가한다. JAVA_OPTS=%JAVA_OPTS% -Dspring.profiles.active={profile_name} 사실 톰켓을 다운받고 이것저것 찾아보면 설명이 있긴 하다. 2023. 12. 16.
[Spring] 스케줄러를 활용한 이메일 발송 서버 샘플 코드 개요 Spring Web에 포함되어 있는 Scheduler를 사용하여, 1분에 1번씩 큐를 발송하는 서비스를 만들었다. 사실 Kafka, RabbitMQ를 사용했으면 좋을 것 같지만,, Webflux를 활용한 MSA 구축이 우선이여서, 사용했다. JPA를 사용하였기에 DDL은 셋팅하면 알아서 올라간다. 추가적인 발송에 대한 로직은 service 패키지를 참고하면 된다. (로직과 메일 내용이 매우 단순하다) 발송 예시 가입완료 메일과 인증 메일이 전부이다. 추후 확장성 생각하면, 더 늘어날 수도 있지만 나도 현생이 바쁘다보니 까먹기 때문에 .. 공유할겸 올린다. 소스코드 가장 중요한 소스코드이다 ㅎㅎ https://github.com/rojae/smtp-mail-server/tree/1a551b580a7c.. 2023. 11. 15.
[Spring] Validation 체크를 커스텀 개발해보자 (ConstraintValidator, 초기화에 대한 궁금증) 자바에서는 Java Community Process (JCP)에서 “Bean Validation”이라는 스펙을 공개를 했습니다. 이는 Validation 체크를 위해서 많은 자바 진영의 개발자들이 사용하고 있습니다. 참고로 실제 우리가 사용하고 있는 @NotNull, @NotBlank와 같은 Annotation은 Bean Validation의 Implementation인 “Hibernate Validator”입니다. 위 내용은 이전의 포스팅에서 설명했습니다. https://redcoder.tistory.com/319 [Java] Bean Validation에 대해서 알아보자 (JSR-303, JSR-380, 파라미터 유효성 체크) 서비스에서 중요한 기술 중 하나가, Validation을 체크하는 기술입니.. 2022. 11. 7.
[Java] Bean Validation에 대해서 알아보자 (JSR-303, JSR-380, 파라미터 유효성 체크) 서비스에서 중요한 기술 중 하나가, Validation을 체크하는 기술입니다. 클라이언트에서 서버사이드로 값을 전달할 때, 올바른 값이 전달되었는지, Validation을 체크 할 수 있어야 합니다. 이러한 기술을 위해서, Java Community Process (JCP)에서는 “Bean Validation”이라는 스펙을 공개했습니다. 이와 같은 기술을 통해서, 개발자는 Annotation을 사용하여, Validation을 체크할 수 있었습니다. 이 방법의 Specification을 기술한 라이브러리가 Jakarta Bean Validation 이고 이를 구현한 라이브러리가 바로, Hibernate Validator입니다. 🔆 Specification Java Bean Validation Specifi.. 2022. 11. 6.
[ASP.NET] 난 결국 닷넷을 알아야만 했다. 이직각을 잡고 옮긴 회사의 기존 시스템이 ASP.NET이다. 이걸 자바 기반으로 컨버팅을 한다고 한다. 현재의 나는 닷넷을 아예 모른다.. 프로젝트 구조 조차도 모르기 때문에 IIS 서버, .NET, ASP.NET 등등 공부를 해야하는 상황이다. 결국 Udemy 강의를 끊어서, 늦은 시간에 하나 들었다. 자바 스프링 프레임워크를, 그래도 좀 해왔어서인가? 그나마 이해가 빠랐다. 나름 신선하고, 재미는 있는 것 같다. (스프링이랑 비교하면서 공부..) 하다보면, 해외의 닷넷 개발자들이 왜 자바를 욕하는지 느낄 수 있지 않을까? 우선.. 천천히 코드리딩이 될 정도로 학습하고, 이후 자바 기반으로 Webflux, Reactive 프로그래밍을 공부해야겠다. 🔆 참고 이번에 처음 알았는데.. 한국 분도 유데미에서.. 2022. 10. 2.
[Spring] Springboot Properties 설정파일을 외부에서 가져오자 🚀 들어가며 보통 개인 프로젝트에서 properties나 yml 파일을 프로젝트 내부에서 관리한다. 이때 로컬 개발기와 개발기 그리고 운영기의 설정파일의 정보가 다르다. 그렇다고 개발기 설정파일, 운영기 설정파일을 Github에 올리면 안되기 때문에, 제거를 해줘야한다. 이를 위해서 착안하여, 프로젝트 외부의 경로에서 설정파일을 가져오는 방식이다. 오픈소스로 Maven Central Repository 등록을 완료하였다. 목표는 OS 별로 경로를 설정할 수도 있고, 추후에는 외부 서버에 있는 설정파일을 읽어들이기 위함에 있다. 🔗 Github Repo https://github.com/rojae/load-prop GitHub - rojae/load-prop: Spring Boot Load Properti.. 2022. 8. 11.