
프로젝트 진행간 턱시도 연동 환경을 구성해야 할 일이 생겼다. 해당 프로젝트의 운영환경은 웹로직이었고, 개발환경은 톰캣으로 구성되어 있었는데 당연한 이야기겠지만.. 톰캣에서 턱시도를 연결하기 위해서는, 턱시도 서버측에서도 수정이 필요하고 프로젝트도 수정이 필요하다. 이 방법은 과감하게 포기. 그리고 차선으로 선택한것이 그냥 운영환경에서 사용되는 웹로직을 WAS로 사용하여 배포하는것인데, 생각보다 정보가 많이 없어서 직접 작성하게 되었다. 각자의 프로젝트에 따라 설정방법은 조금씩 달라지겠지만, 거의 동일하다고 봐도 무방할듯 하다. (운영환경 버전이 12.3인 관계로 해당 버전으로 진행) 웹로직 설치 https://www.oracle.com/middleware/technologies/weblogic-serv..

오늘날 빠른 속도의 웹서비스를 제공하기 위한 전략들은 여러가지가 있다. 이미지 캐싱, 객체 캐싱, CDN.. 그리고 스케일아웃 - 스케일업 까지. 하지만 여러가지 전략들 중에 가장 쉽고 효과가 좋은녀석은 개인적으로 캐싱이 아닐까 한다. 오늘은 웹서비스의 주요 병목구간인 (비즈니스 레이어 - RDB) 구간을 캐싱하여 성능향상을 꾀해보고자 한다. 구성도에도 나와있지만 (비즈니스 레이어 - RDB) 구간 사이에 캐시를 넣고 클라이언트의 요청이 발생 할 경우 캐시에서 처리가 가능한 부분은 캐시에서 객체로 리턴, 캐시에서 처리가 불가능한 (데이터가 없다거나..) 사항들은 rdb로 다시 요청하고 수신된 객체를 캐시에 저장해두는 단순한 흐름이다. 여러 캐시 시스템들이 있지만 (redis, memcached 그리고 스..

* 편법입니다. 참고만 하세요. JpaRepository를 상속받아 사용 할 경우 상속시 제네릭 인자로 던진 클래스만 JpaRepository의 persist가 가능해진다. 정확하게는 1depth child까지만. JpaRepository사용시 인자클래스와 PK type을 받는데 pk 조회의 기준은 인자 클래스가 된다. 그렇기때문에 OneToOne이든, OneToMany든 자식엔티티 까지는 해당 PK Column이 존재하기때문에 JpaRepository에서 접근이 가능하지만, 손자까지는 사용이 불가능한것이다. 그렇다고 손자와 인자 클래스간 관계를 맺어 줄 사람은 없다고 생각한다. 보통은 이런경우 Repository를 모두 분리한다. ParentRepository, ChildRepository, Grand..

Spring Boot Webflux 환경에서 Security (form based / authentication manager customize)를 연동하는 방법에 대해 소개한다. 기본적인 initializr과정은 생략한다. (webflux / security 필수) 기준버전은 2.1.6 해당 글에서는 Spring Security 구성, ReactiveAuthenticationManager를 상속받은 AutenticationManager 구현, 로그인 실패시 처리하는 ServerAuthenticationFailureHandler를 상속받은 LoginFailureHandler 구현만을 다루며 기본적인 사항은 다루지 않는다. 먼저 ReactiveAuthenticationManager를 상속받은 Autenti..

WebFlux로 프로젝트를 진행하던 중, Multipart로 전송시 Spring Security에 설정한 CSRF 관련 사항과 충돌이 발생하여 이에대한 대응책을 남긴다. (invalid csrf token) Multipart의 경우 FormData가 ServerRequest에 QueryParameter로 들어오지 않기 때문에, 클라이언트 - CSRF Filter 사이에 중개필터를 하나 두고 필터 순서를 변경하여 CSRF관련 작업을 처리해야 한다. 작업순서는 아래와 같다. 1. 중개필터 작성 2. Spring Security에 중개필터 추가 (Filter Order는 CSRF Filter 이전에 위치하도록 순서지정) 먼저 중개필터를 작성한다. @Component public class MultipartCs..

Spring Boot WebFlux - Thymeleaf 환경에서 에러 핸들링 하는 방법을 소개한다. 아래는 참고한 가이드 https://www.baeldung.com/spring-webflux-errors Handling Errors in Spring WebFlux | Baeldung Have a look at different methods to gracefully handle errors in Spring Webflux. www.baeldung.com 하지만 위 예제는 error status에 따른 json return만 구현되어있기 때문에, 우리가 통상적으로 생각하는 404/500에 대한 error 처리를 하기 위해서는 추가적인 작업이 필요하다. 완성된 코드는 아래와 같다. @Component @..
- Total
- Today
- Yesterday
- WebFlux
- JPA
- 스프링
- Spring Security
- Spring
- hibernate
- spring webflux
- Util
- Thymeleaf
- multipart
- 국비교육
- intellij
- spring-jpa
- Spring Cache
- SpringDataJPA
- Weblogic
- 저공해자동차
- spring-data-jpa
- Java
- 저공해자동차 스티커
- memcached
- SI
- 이직
- Spring Boot
- CSRF
- 친환경차
- 취업
- query-dsl
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |