전체 글 26

SseEmitter 사용에 대한 기록

Gemini와 이틀 정도 씨름해보고 내린 결론 ㅠㅠ..[Gemini에게 질의 내용] SseEmitter 를 사용하게 되면서 상황을 정리해보고 이해한바로는 아래와 같습니다. [문제 발생] 1. 의도치 않은 주기적인 세션 연장이 발생. - 어플리케이션 세션 타임아웃은 2시간인데, SseEmitter 타임아웃을 30분으로 하게 되면 30분마다 세션 연장이 돼서, 2시간의 타임아웃이 무의미하게 됨 2. 중복로그인 정책이 제대로 동작하지 않음. - 동일한 ID로 A에서 접속한뒤 B에서 접속하면 ① A의 세션이 끊기지 않는 경우 발생 ② A의 세션이 끊기긴 하나, 타임아웃으로 인한 세션 끊김으로 인식하는 경우 발생 (원래 의도는 중복로그인으로 인한 세션 종료 메시지 표시) [..

JAVA/SPRING BOOT 2025.05.23

[MYSQL] Mybatis CRUD DML 생성 SQL

1. Mybatis CRUD DML 생성 SQL /* 경고: 이 쿼리를 실행하기 전에 group_concat_max_len 설정을 확인하고 필요시 늘려야 합니다. 예: SET SESSION group_concat_max_len = 1000000; 이 쿼리는 MySQL 8.0 이상 버전이 필요합니다 (윈도우 함수 사용). */ SELECT -- SELECT Script Generation CONCAT('SELECT ', GROUP_CONCAT(DISTINCT CONCAT('A.', RPAD(T.COLUMN_NAME, T.MAX_LENGTH, ' '), ' AS ', RPAD(T.COLUMN_NAME, T.MAX_LENGTH, ' '), ' -- ', ..

DB/MYSQL 2025.04.30

[NEXACRO] Static 춤춰주세요!

넥사크로 Static과 같은 컴포넌트들을 브라우저 개발자도구의 Elements 탭에서 확인해보면html의 div 태그로 구현되어 있음을 확인할 수 있다. 실제 컴포넌트의 _unique_id 라는 속성을 이용하면 전체경로를 알 수 있는데.. 이 속성을 통해 얻은 전체경로를 조금 가공하면,document.getElementById(this.div_search.form.stt_bassDt._unique_id + ":text").innerHTML = "기준일자"; 아래처럼 Static을 춤추게 만들 수도 있다! 위 내용들은 아래 방법을 통해 진행했다.[JAVA SCRIPT] 브라우저 개발자도구를 활용한 넥사크로 디버깅

JAVA SCRIPT/NEXACRO 2025.02.07

[NEXACRO] typeof 가 모두다 'object' ?

넥사크로 객체들을 typeof로 보면 모두 'object'가 반환 된다.(Dataset도 Grid도, Div도 모두다..)  대신 객체.toString()을 해보면 나름의 이름들이 표시가 되는데,  이는, toString에서 _type_name 이라는 속성을 리턴하도록 해놓았기 때문이다...  다른 방법으로는, instanceof 를 통해 객체가 특정 클래스의 인스턴스인지 확인하는 방법이 있다. 위 내용들은 아래 방법을 통해 진행했다.[JAVA SCRIPT] 브라우저 개발자도구를 활용한 넥사크로 디버깅

JAVA SCRIPT/NEXACRO 2025.01.17

[NEXACRO] 넥사크로 불편요소

1. 넥사크로 스튜디오의 불편함.  툴마다 개발환경이 다른데,  ① eXBuilder6 : IDE(이클립스)에 플러그인을 설치해서 사용  ② WebSquare : IDE(이클립스)에 플러그인을 설치해서 사용  ③ 넥사크로 : 고유의 스튜디오를 통해 개발환경을 제공   각자 장단점이 있겠지만,  넥사크로는 전용 스튜디오를 쓰면서 이에 따른 불편한 요소들이 있다.   ① 잘 죽는다.      대표적인 죽는 경우로는,      Design 탭에서 그리드 더블 클릭했을 때, Source탭에서 컴포넌트 이름 바꾸기 위해 일괄변경하고 저장 눌렀을 때 등.  ② 자동완성이 약하다.      객체에 바로 접근한 경우는 속성이나 메소드가 자동완성 되는데, 변수를 한번 거치고 나서는 자동 완성이 안 된다.  ③ 변수의 타..

JAVA SCRIPT/NEXACRO 2024.11.08

[JAVA SCRIPT] 넥사크로 eval 회피(브라켓 표기)

1. 넥사크로 프로젝트를 진행하다보면, 스크립트에서 eval을 사용한 경우를 빈번히 볼 수 있다.예컨대, 아래와 같은 스크립트들..for ( var i = 1 ; i  2. 투비소프트에서는 eval을 대체하는 방법으로 components 라는 속성을 제공한다.(all, objects 등의 속성도 있음)예컨대, 아래처럼 회피가 가능하단건데..eval("this.Button00") // eval을 회피하기 위해서 this.components["Button00"] // this.components 속성을 통해 Button00 버튼 객체 접근 3. 넥사크로에서 제공해주는 속성이 아닌 순수 자바스크립트로도 회피가 가능하다.자바스크립트에서, 객체는 . 으로 속성을 접근 할 수도 있지만 괄호(브라켓)로도 속성을 접근..

JAVA SCRIPT/NEXACRO 2023.10.26