목록분류 전체보기 (49)
사붐이개발일기
서론 에러메시지 일관성 유지 나중에 추가 작성하겠음.. 지금은 개발기한 및 감리로 인하여.. 코드 구현 에러 핸들러@Slf4j@RestControllerAdvicepublic class GlobalExceptionHandler { /** * Handle all uncaught exceptions. */ @ExceptionHandler(Exception.class) public ResponseEntity handleGenericException(Exception ex) { log.error("Unhandled exception occurred: {}", ex.getMessage(), ex); ErrorResponse response = new Er..
서론회사 프로젝트에서 정산현황의 기간 별 데이터를 엑셀 파일로 만들어 내려받게 해달라는 요구사항이 들어왔다. 엑셀파일 변환은 처음이라 여기저기 구글링하다 xlsx 라이브러리 보단 excel.js 가 좀 더 간단한것같아서 후자로 라이브러리를 선택했다. 나중에 더 찾아보니 xlsx 라이브러리는 css가 유료라고 한다. 사용하기1. exceljs 라이브러리 설치npm install exceljs; 2. exceljs 객체 가져오기import ExcelJS from 'exceljs'; 3. workbook 객체 생성엑셀파일은 여러개의 sheet를 포함한다. workbook은 worksheet를 담는 그릇이다.const workbook = new ExcelJS.Workbook(); 4. worksheet 객..
네트워크 브릿지사설 네트워크 브리지: 사설 네트워크 브리지는 가상 라우터와 같습니다. 자체적으로 사설 IP 주소를 할당하고 DHCP 서버를 생성합니다. 이 네트워크 브리지에 연결된 KVM 가상 머신은 브리지의 DHCP 서버를 통해 IP 주소를 얻습니다. 네트워크 브리지는 NAT(Network Address Translation)를 사용하여 KVM 가상 머신에 대한 인터넷 연결을 제공합니다. 사설 네트워크 브리지에 연결된 KVM 가상 머신은 서로 통신할 수 있습니다. KVM 호스트(가상 머신이 실행 중인 위치)도 가상 머신에 직접 액세스할 수 있습니다. 그러나 가상 머신은 외부 네트워크에서 액세스할 수 없습니다. 공용 네트워크 브리지: 공용 네트워크 브리지는 가상 스위치와 같습니다. 하나의 물리적 네트워크..
내가 사용한 방법 환경 java 8 mybatis postgreSQL /* SmartroPay.xml updateJoinAdjmCompleted */ UPDATE tb_mbr_pay SET mpay_sadj_id = temp.padj_sadj_id , mpay_sadj_stat = #{mpayAdjmStat} , mpay_adjm_dttm = temp.adj_date , mpay_updt_dttm = now() FROM ( SELECT a.*, c.adj_date FROM tmp_mpay_adjm a LEFT JOIN tb_shp_adjm b ON a.padj_sadj_id = b.sadj_id LEFT JOIN tb_adjm c ON b.sadj_adjm_id = c.adj_id where a.tid ..
Insert into + Join 쿼리 우선 join은 select용이다. insert문에 join을 결합하여 사용한다는 말은, join하여 select한 특수한 값을 골라 insert 한다는 말과 같다. 다음과 같은 상황일때 사용할 수 있다. Q. TB1 에는 있고, TB2에는 없는 레코드만 TB2에 추가하기 sql INSERT INTO TB2 (코드, 년도) ( SELECT A.코드, A.년도 -- 추가할 필드 FROM TB1 A LEFT JOIN TB2 B ON A.코드 = B.코드 WHERE B.코드 IS NULL -- join한 TB2테이블의 필드가 NULL이라는 말은 TB2에는 없는 값을 의미한다. ) 내가 사용한 방법 환경 java 8 mybatis postgreSQL /* SmartroPa..
내용1. SqlSession 의 ExecutorType.BATCH ExecutorType.BATCH 를 사용하면 바로 DB 로 쿼리를 날리지 않고 쿼리를 미리 쌓아뒀다가 commit 시 connection에 모든 쿼리를 넘겨준다. 2. flushStatements MyBatis에서는 flushStatements라는 설정 옵션을 제공합니다. 이 옵션을 활용하면 일정량의 SQL 문을 배치 처리하고 커밋하기 전에 임시로 버퍼에 저장하는 방식으로 대용량 데이터 처리 작업의 성능을 개선할 수 있습니다. 대용량 데이터 작업을 수행하는 동안 많은 SQL문을 생성하고 실행할 수 있습니다. 이때 flushStatement를 사용하면, 일정한 개수나 시간 간격으로 SQL 문을 배치로 처리하고 커밋하므로 다음과 같은 장점이..
에러사항. Spring에서 객체 필드데이터가 List일때 Null인지 아닌지 체크가 필요할때 Optional 사용이 불가하다. 이럴경우, Optioanl이 아닌 org.springframework.uril 라이브러리에서 제공하는 Objectutils.isEmpty()를 사용하면 null과 빈 배열을 동시에 체크할수 있다. Reference1. Enum 사용법 - 응용하기 - 망나니개발자 https://mangkyu.tistory.com/74 2.Java Enum 활용기 - 우아한 https://techblog.woowahan.com/2527/ 3.[Java] 스트림 활용 - anyMatch, noneMatch, findAny, reduce https://m.blog.naver.com/adamdoha/22..
1. epel 설치$ yum install epel-release 2. xrdp 및 tigervnc 설치$ yum install xrdp tigervnc-server $ rpm -qa |grep tigervnc 3. 방화벽 설정 및 재실행$ firewall-cmd --permanent --zone=public --add-port=3389/tcp $ firewall-cmd --reload # 방화벽 확인 $ firewall-cmd --list-ports 4. xrdp 서비스 재실행$ systemctl enable xrdp.service $ systemctl start xrdp.service $ systemctl status xrdp.service 5. 포트 확인$ netstat -nap | grep 338..