Java

Spring Boot – Lucy XSS Filter

가장 기초적인 공격방법 중 하나인 XSS를 방어할 수 있는 방법 중 Lucy XSS Filter를 Spring Boot에 적용하는 법을 소개합니다. XSS에 관한 정보는 아래 링크를 참조하시기 바랍니다. https://namu.wiki/w/XSS   – Maven을 사용한다면 pom.xml에 아래 내용추가 [crayon-5be9c084c5b1f860494231/]   – Configuration 추가 [crayon-5be9c084c5b2b547280821/]   – Resources 폴더 하위에 lucy-xss-servlet-filter-rule.xml 추가 [crayon-5be9c084c5b30614257603/]  

글쓴이 SilverNine,
AWS

ElasticBeanstalk Spring Boot Custom nginx.conf 적용

ElasticBeanstalk에 Spring Boot 프로젝트로 Tomcat을 사용하고 있을때 Custom nginx.conf 적용 방법입니다. Maven을 사용하고 있다면 pom.xml에 아래와 같이 정의합니다. [crayon-5be9c084c7482500014342/]   /src/main/resources/.ebextensions/nginx/nginx.conf 생성 ( 대용량 파일의 업로드를 위한 설정이 포함되어 있습니다. 값을 서비스에 맞게 수정하세요 ) [crayon-5be9c084c748a552626477/]   자 이제 빌드를 하고 eb deploy를 통해 배포를 진행하면 custom nginx 설정이 적용됩니다. 더 보기…

글쓴이 SilverNine,
Java

Spring Batch – @Transactional 이슈 해결 방법

Spring Batch Admin 을 통합한 Spring Batch 프로젝트에서 아래와 같은 경우 @Transactional 어노테이션이 정상적으로 작동하지 않는 경우가 있습니다.     1. 기존 Spring Batch Admin 라이브러리 내부에 transactionManager가 선언되어 있기 때문에 다른 이름으로 TransactionManager를 선언하여 사용 [crayon-5be9c084c771b251463685/] 2. 위와 같이 선언하고 아래와 같이 어노테이션을 사용하여 트랜젝션을 설정 [crayon-5be9c084c7723560059011/]   이와 같은 더 보기…

글쓴이 SilverNine,
Java

JsonView Null to Empty String

Spring에서 JsonView 사용 시 공통으로 null인 필드를 empty string으로 리턴해야 할 필요가 있는 경우가 있습니다. 이런 경우 ObjectMapper를 상속받은 Custom ObjectMapper를 이용한 HttpMessageConverter를 통해 해결할 수 있습니다. 1.NullSerializer 구현 [crayon-5be9c084c7a10883145904/] 2.CustomObjectMapper 구현 [crayon-5be9c084c7a18918825946/] 3.HttpMessageConverter 추가 [crayon-5be9c084c7a1c090086681/]  

글쓴이 SilverNine,
Java

Mocking BindingResult

Controller Test시에 해당 method를 invoke를 할 일이 생길 수 있습니다. 이때 @Valid Annotion을 사용하고 있다면 BindingResult를 Mock객체로 만들어야 할 일이 생깁니다. 방법은 Mock 객체를 사용할 수 있게 setup 코드를 삽입하면 해당 BindingResult를 무시하고 Test Code를 작성할 수 있습니다. [crayon-5be9c084c7c86369817535/]

글쓴이 SilverNine,
Java

Querydsl ( JPA ) @OneToOne Mapping

현재 진행하고 있는 개인 프로젝트에서 Querydsl을 사용하고 있습니다. JPA Entity는 어노테이션을 통해 매핑을 수행할 수 있습니다. 좋은 상황은 아니지만 쿼리를 만든다면 Select 절에 scalar subquery를 사용해야 하는 상황에서 사용할 수 있는 @OneToOne 매핑에 대해 공유합니다.   Book, Code 두 개의 Entity가 있다고 가정합니다. 각각 아래와 같은 컬럼을 사용하고 있습니다. BOOK 더 보기…

글쓴이 SilverNine,
Java

Netty 시작하기

한국인 개발자 이희승씨가 주도하는 아주 유명한 네트워크 어플리케이션 프레임워크인 Netty를 시작 해보겠습니다. Netty는 “비 동기 이벤트 구동 방식 네트워크 어플리케이션 프레임워크” 입니다. ㅋㅋ 풀어서 말하자면 네트워크 어플리케이션을 빠르고 쉽게 개발하는 것을 가능하게 해주는 NIO Client, Server Framework라고 볼 수 있습니다. 네트워크 프로그래밍을 아주 단순하고 능률적으로 만들어주는 것! 자 간단한 예제 더 보기…

글쓴이 SilverNine,