/** * 주민등록번호 뒷자리를 입력받아 성별을 return, M : 남성 / F : 여성 * str : 주민번호 앞자리 * @param str * @return */ public static String fn_getGender(String str){ int genderCode = Integer.parseInt(str.substring(0, 1)); String gender = null; if(genderCode % 2 > 0){ gender = "M"; }else if(genderCode % 2 == 0){ gender = "F"; } return gender; } /** * 주민등록번호 앞, 뒷자리를 입력받아 YYYYMMDD형식으로 생년월일 return * str1 : 주민번호 앞자리, str2 : ..

글은 추후에 다시 다듬을 예정. 1. 프로시저 생성 (DATA_TYPE 조건문에 데이터 유형 적용) create or replace PROCEDURE SHOW_KR_COLUMN ( OWNER_PARAM IN VARCHAR2 ) IS CURSOR TABLE_COLUMN IS SELECT OWNER, TABLE_NAME, COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE OWNER = OWNER_PARAM AND (DATA_TYPE = 'VARCHAR2' OR DATA_TYPE = 'NVARCHAR2') ORDER BY OWNER ASC; BEGIN FOR VAR IN TABLE_COLUMN LOOP EXECUTE IMMEDIATE 'INSERT INTO TB_SHOW_KR_COLUMN(..

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

거주자 우선주차 / 공영주차장 친환경차 할인을 받기위해 열심히 검색하던 중 구청 시설관리공단으로 전화해보니 '자동차등록증(반드시 저공해차 인증이 필요)' 또는 '저공해자동차 인증 스티커 사진'이 필요하다고 한다. 구글 검색을 해보니 여러가지 정보들이 너무 난잡하게 정보가 분산되어있기도 하고, 관련 게시글을 따라하다가 시행착오도 겪었다. 혹시나 검색을 통해 이 글을 보게된다면.. 이 글이 현 시점에서는 가장 정확한 정보이니 그대로 따라하면 된다. (한줄요약 : 자동차등록증, 제조사 발부 저공해자동차 인증서 필요없다.) 1. 아래 홈페이지에서 차량번호로 조회한다. https://www.hybridbonus.or.kr/EP020401000SF01.do 친환경차 종합정보 지원시스템 저공해차 확인결과 저공해차 확..

오늘날 빠른 속도의 웹서비스를 제공하기 위한 전략들은 여러가지가 있다. 이미지 캐싱, 객체 캐싱, 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..
- Total
- Today
- Yesterday
- 국비교육
- WebFlux
- 이직
- spring-data-jpa
- 친환경차
- intellij
- SpringDataJPA
- Spring Cache
- multipart
- 취업
- query-dsl
- Spring Boot
- Spring Security
- Thymeleaf
- JPA
- memcached
- 스프링
- 저공해자동차
- SI
- hibernate
- 저공해자동차 스티커
- CSRF
- Util
- Weblogic
- spring-jpa
- Java
- Spring
- spring webflux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |