✅ MyBatis의 ResultHandler를 통해 POI SXSSF로 대용량 엑셀파일 만들기개발환경SpringBoot 2.6.2JAVA 1.8Gradle 7.3.2IntelliJ정산 데이터를 엑셀파일로 만드는 과정에서 적은 건수를 만들때는 이슈가 없었지만 몇십만 건 또는 몇백만건의 데이터를 한번에 호출하게 되면서 OOM을 만나게 되어 엑셀파일로 저장을 할 수가 없었습니다. MyBatis를 사용하고 있다면 MyBatis에서 제공하는 ResultHandler를 이용하면 몇백만건의 데이터를 한번에 호출하지 않고 레코드별로 다룰수 있습니다.https://mybatis.org/mybatis-3/ko/java-api.html#SqlSession (아래 ResultHandler 참고)다음은 가지고 온 데이터의 저장..
✅ 리눅스 head, tail 명령어head 명령어- 문서 내용의 앞부분 출력#자주 사용하는 옵션#-c, --bytes=[-]NUM#-n, --lines=[-]NUM$head ./test.log #기본적으로 위(첫줄부터)에서부터 10줄까지 보여줌$head -n 5 ./test.log #위에서부터 5줄$head -n -5 ./test.log #밑에서부터 5줄뺀 나머지 출력$cat ./test.log | head -n 5 #cat명령어 조합으로 사용tail 명령어- 문서 내용의 뒷부분 출력#자주 사용되는 옵션#-c, --bytes=[+]NUM : NUM byte만 출력#-n, --lines=[+]NUM : NUM line만 출력#-f, --follow[={name|descr}..
✅ Gradle Multi Module 프로젝트 셋팅 및 빌드개발 환경SpringBoot 2.4.5Java 1.8Gradle 6.8.3IntelliJ프로젝트 구성multi-module-sample├── multi-core-lib├── multi-scheduler├── multi-web├── gradlemulti-module-sample (Root Project)multi-core-lib : scheduler, web에 공통으로 들어갈 라이브러리multi-scheduler : scheduler 서비스 프로젝트multi-web : web 서비스 프로젝트gradle : Root Project gradleRoot Project 및 Sub Project(모듈) 만들기Root Project 만들기Sub Projec..
✅ 리눅스 파일비교 cmp, diff파일 내용test1.txttest2.txtcmp 명령어#-b 비교시 파일간 첫번째로 다른 문자의 바이트를 출력합니다.$cmp -b test1.txt test2.txttest1.txt test2.txt differ: byte 5, line 2 is 124 T 164 t# 파일의 두번째 라인을 보면 대문자 T와 소문자 t 가 다릅니다.# sTart | start#-i 5바이트 뒤의 첫번째 다른 문자를 바이트로 출력해줍니다$cmp -bi 5 test1.txt test2.txttest1.txt test2.txt differ: byte 20, line 4 is 152 j 151 i#-l 비교시 다른문자에 대해 8진수값으로 출력(첫번째는 바이트 두번째 세번째는 차이나는 문자의 8..
✅ 리눅스 history - 이전 사용했던 명령어 확인 및 재사용리눅스 콘솔, 터미널 환경에서 이전에 사용한 명령어를 확인하고 이전에 입력했던 명령어를 다시 입력할 필요없이 찾아서 실행할 수 있습니다. 명령어#이전에 사용했던 명령어 확인$history#가장 최근에 사용한 3개의 명령어를 확인합니다.$history 3#grep 명령을 함께 사용하여 history 명령을 검색할수 있습니다.$history | grep ps#히스토리 삭제$history -chistory 명령어 재사용#history 명령어를 입력하여 재사용하고 싶은 라인번호를 입력후 Enter$!1171#엔터를 치면 스샷과 같이 해당라인의 명령어로 치환되어있다$ps -ef | grep https
✅ iTerm2 설치맥의 기본 터미널이 있지만 기본터미널 보다 더 다양한 플로그인과 테마등 다양한 기능을 제공하고 있습니다.Download를 눌러 설치해주세요!! iTerm2 - macOS Terminal ReplacementiTerm2 by George Nachman. Website by Matthew Freeman, George Nachman, and James A. Rosen. Website updated and optimized by HexBrainiterm2.comiTerm2 테마 설치iTerm 테마 다운로드압축을 해제 해주시고 이전에 설치했던 iTerm2 실행iTerm2 > Preferences > Profiles (탭) > Colors (탭) 까지 이동 > Color Presets > imp..
✅ grep 패턴검색grep 명령은 파일 내에서 지정한 패턴이나 문자열을 찾은 후 그 패턴을 포함하고 있는 모든 행을 표준 출력해줍니다.✅ grep 명령어 기본 문법grep (1)[-옵션] (2)패턴 (3)파일명✅ grep 옵션-c: 파일 당 패턴이 일치하는 라인의 갯수 출력-i: 비교시 대/소문자 구별 안함-v: 지정한 패턴과 일치하지 않는 라인 선택-n: 검색 결과 출력 라인 앞에 라인 번호 출력-l: 패턴이 포함된 파일의 이름만 표시-w: 패턴이 전체 단어(word)와 일치하는 라인만 출력-m: 최대 검색 결과 갯수 제한-H: 검색 결과 출력 라인 앞에 파일 이름 표시-E: PATTERN을 확장 정규 표현식(Extended RegEx)으로 해석-F: PATTERN을 정규 표현식(RegEx)이 아닌 ..