Author Archives: itpsolver

Jeus 어플리케이션(application) 배포(deploy, distribute) 관련 메모 (Jeus7 fix#5)

By | 12월 13, 2021

최초 배포 server를 (container) standby 상태로 기동 war 파일을 특정 경로에 업로드 application deploy path 항목에는 war파일 절대경로 기입 context path 설정 배포 중 오류가 발생한다면 admin server log, managed server log 를 함께 보면서 디버깅 해야 한다. 디버깅 해 본 결과 admin log는 문제 원인 파악에 혼란만 줄 경우가 많고 managed server log가 주로… Read More »

[ibatis/oracle] 내장 반복문을 통해 대량(배치, batch) insert 를 하는 샘플

By | 10월 21, 2021

Mybatis 아니고, 골동품인 Ibatis 입니다. 생각지도 못한 에러들이 나와서 (ora-00933 등..) 삽질을 했네요. (시간 아깝 ㅠ.ㅡ) <insert id="BatchDAO.insertMemberRest" parameterClass="java.util.HashMap"> INSERT ALL /* BatchDAO.insertMemberRest */ <iterate property="mberList" conjunction=" "> INTO COMTNGNRLMBERREST ( MBER_ID, PASSWORD ) VALUES ( #mberList[].MBER_ID#, #mberList[].PASSWORD# ) </iterate> SELECT * FROM DUAL </insert> 그런데 하다 보니 이것도 조심해야 할 것 같다는 생각이 들었다.… Read More »

java 리플렉션(reflection) 사용시, 부모(조상)클래스까지 재귀적(recursive)으로 찾아가면서 모든 필드(Field)를 열거하는 방법

By | 10월 11, 2021

apache commons-lang 3.2 이상을 사용하고 있다면 Field[] fields = FieldUtils.getAllFields([클래스]); 해당사항이 없다면 직접 구현 https://stackoverflow.com/questions/1042798/retrieving-the-inherited-attribute-names-values-using-java-reflection

IntelliJ 라이센스 갱신 (by jetbrain account)를 하려고 하는데, 에러(SignatureException: Signature doesn’t match or Signature length not correct)가 발생할 경우

By | 9월 27, 2021

방법 1. IntelliJ의 연결 설정 재조정 Go to: File -> Settings -> Appearance & Behavior -> System settings -> HTTP Proxy Select Auto-detect proxy setting Click Clear password Click check connection and provide the URL: https://account.jetbrains.com/login Go to Help -> Register and login 방법 2. jetbrain 웹사이트에서 그냥 offline key를 획득하여 인증

springboot 환경설정 메모 (ver 1.5.22)

By | 9월 23, 2021

web환경 (servlet..)을 제거하는 설정 application.yml spring: main: web-environment: false spring security 를 제거하는 설정 기동 클래스 @SpringBootApplication(exclude = { SecurityAutoConfiguration.class }) application.yml security: basic: enabled: false management: security: enabled: false

mariadb 쿼리 수행시 “Illegal mix of collations” 오류 케이스

By | 9월 4, 2021

평범한 select query 였는데, join 조건에서 오류가 발생했었다. SQL Error [1267] [HY000]: (conn=2246) Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '=' 두 테이블의 charset 같은 게 상이해서 그런가 싶긴 했는데.. 검색을 통해 아래와 같은 방법으로 해결했다. 수정 전 and a.COL1 = b.COL2 수정 후 and a.COL1 = binary b.COL2 (binary를 좌변, 우변 어느쪽에… Read More »

오라클 XE 18C (Oracle Database Express Edition) 윈도우용 설치 및 테스트 사례

By | 9월 2, 2021

진짜 한 10년 만에 오라클을 설치해 보는 것 같은데, 많이 바뀌어서 좀 헤멨다. 예전의 10g, 11g 같은 것은 라이센스가 없이는 다운로드를 받을 수 없게 바뀌었고, 그래서 최근 버전인 19c를 설치해 보려고 했는데, 얘는 설치화면 자체가 windows installer 답게 생기지 않은 것 부터 불안불안 하더니 결국 계속 알 수 없는 설치 실패로 포기. 그래서 알아보니 XE… Read More »

Mybatis 오라클 프로시저 (Oracle Stored Procedure) 호출시, ‘java.sql.SQLException: 해당 위치에 지원되지 않는 SQL92 토큰: 1:’ 오류 발생 케이스.

By | 8월 20, 2021

이 케이스는 그야말로 황당 그 자체! 결론부터 말하면 mybatis xml 에서, 중괄호와 소괄호를 다른 라인에 위치시켜서 발생 한 문제이다. 그것도 같은 프레임워크에서 돌리는 MariaDB 프로시저 호출시는 문제가 없는데, ‘오라클 프로시저 호출시에만’ 이 문제가 발생했다. 전혀 예상 못하고 헤멜뻔 했는데, 인터넷에 또 선구자가 계셔서 해결할 수 있었다. 잘못된 예 { CALL PKG_A.PROC_TEST( #{rsltcode, mode=OUT, jdbcType=VARCHAR}, #{rsltmsg,… Read More »

[MySQL/MariaDB] 프로시저(procedure) 내의 select into 절에서 아무리 select 해도 결과값이 변수에 바인딩 되지 않는 경우(null)

By | 8월 16, 2021

체크포인트 프로시저의 I/O 파라미터 명이 칼럼명과 같지 않은가? 프로시저 내부에서 선언한 변수명이 칼럼명과 같지 않은가? 이것때문에 대체 시간을 얼마나 소비한거야…ㅠㅠ..

[MySQL/MariaDB] 동일한 데이터가 없을 경우는 INSERT, 있을 경우에는 UPDATE (ON DUPLICATE KEY – 오라클의 MERGE INTO 같은)

By | 8월 16, 2021

Oracle의 MERGE INTO 문의 경우 동일 데이터에 대한 판단 기준을 개발자가 쿼리에 명시하는 데 반해, MySQL 계열에서는 조건을 따로 받지 않고 Unique Index를 사용하는 것 같다. (추측임) INSERT INTO tb_sample ( col1 , col2 , col3 ) VALUES ( 'AAA' , 'BBB' , 'CCC' ) ON DUPLICATE KEY UPDATE col2 = 'XXX', col3 = 'YYY'… Read More »

Spring @Scheduled 스케쥴러 사용 샘플 (cron 표현식 등)

By | 8월 11, 2021

Spring Boot 라면 @EnableScheduling 을 붙여서 기본 셋팅이 가능한 것 같은데, 일반 Spring 에서는 아래와 같은 셋팅을 추가해 주어야 한다. thread pooling 관련 설정을 하기도 하는 것 같은데, 여기서는 가장 심플한 구성을 사용하기로 한다. spring context xml (‘task’ 가 포인트) <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!–… Read More »

비밀번호(패스워드, password) 정규식 예시 (정규표현식, regex, 글자 수 제한 포함)

By | 6월 26, 2023

public static final String REGEX_USER_ID = "^(?=.*[a-zA-z])(?=.*[0-9])(?!.*[^a-zA-z0-9]).{5,20}$"; // 정규식 패턴 (사용자 ID – 영문자/숫자 포함 5~20자) public static final String REGEX_USER_PW = "^(?=.*[a-zA-z])(?=.*[0-9])(?=.*[`~!@$!%*#^?&\\(\\)\\-_=+])(?!.*[^a-zA-z0-9`~!@$!%*#^?&\\(\\)\\-_=+]).{8,16}$"; // 정규식 패턴 (사용자 PW – 영문자/숫자/특수문자 포함 8~16자) java 기준이므로 타 언어는 다를 수 있음 (escape character 라던가..)

DBeaver에서 구버전의 오라클(Oracle 9.2.0.7.0) 접속 후, 좌측 database navigator에서 더블클릭으로 object 조회를 했을 때 ora-01460 오류가 발생하여 해결했던 사례.

By | 7월 26, 2021

검색을 해 보니 이 문제는 오라클 드라이버의 버전이 맞지 않아서 생기는 것이라 한다. 이 경우도 마찬가지로 드라이버가 너무 최신이어서 문제가 되었던 것. 아래와 같은 과정으로 해결이 되었다. (1) 이 훌륭한 분의 블로그 에서 호환 드라이버 버전을 확인. (2) 오라클 사의 웹페이지에서 구버전 드라이버를 찾을 수가 없어서 oracle instant client를 다운로드 받았다. (오라클 웹계정 필요) 정확히… Read More »