728x90
반응형

IT 61

[Eclipse] Runnable JAR File Export의 Library Handling 옵션

JAR파일 EXPORT 할 때 사용하는 옵션이 3개가 있다. Extract required libraries into generated JAR Package required libraries into generated JAR Copy required libraries into a sub-folder next to the generated JAR #1 필수 라이브러리를 JAR로.class 추출 - 앱이 사용하는 라이브러리에서 실제 파일을 추출하고 해당 .class 파일을 실행 가능한 JAR에 넣습니다. 따라서 실행 가능한 JAR에는 .class 애플리케이션의 파일뿐만 아니라 .class 애플리케이션이 사용하는 모든 라이브러리의 파일도 포함됩니다. #2 JAR에 필수 라이브러리 패키지 - 라이브러리의 실제 ..

IT/WEB 2022.05.27

[https 오류] Mixed content this request has been blocked the content must be served over https

최근에 HTTPS를 적용한 페이지가 있었는데 적용한 이후 특정 페이지가 안나오는 이슈가 있었다. Mixed Content: The page at 'https://plprice.netlify.app/' was loaded over HTTPS, but requested an insecure This request has been blocked; the content must be served over HTTPS. 컨텐츠가 안나오는 페이지에서는 위와 같은 오류가 발생하고 있었다. 위의 오류는 HTTPS 사이트에서 HTTP를 요청할 때 발생할 때 생기는 보안 오류이다. 이 경우 보통 Mixed Content로 에러를 해결하면 된다. html파일 head에 추가 나의 경우 오류 나는 페이지에서 ifram으로 ht..

IT/WEB 2022.05.24

[JAVA] executeBatch 예외 처리 해결 (에러 무시하고 인서트)

일전에 executeBatch()를 사용해 대용량 Insert를 처리했다. public static void insertDoneMsgBatchDB(String tablename, List doneList) { Connection con = null; PreparedStatement pstmt = null; ResultSet rs = null; String queryStr = String.format("REPLACE INTO %s %s", tablename, ADD_DONE_MSG); DBConnectionMgr db = DBConnectionMgr.getInstance(); try{ //������������ �������� con = db.getConnection(); con.setAutoCommit(..

IT/WEB 2022.05.19

[JAVA] JDBC 대량 인서트 성능 향상 (addBatch, executeBatch)

기존에 5분에 한번씩 데이터를 인서트해주는 Agent가 말썽을 부려서 무려 1개월 분량의 데이터를 재처리해야 된다고 한다. 하루치 데이터만 700만건. 기존의 Agent는 5분에 한번씩 기동하기 때문에 단건으로 Insert 하여도 큰 문제가 없었으나, 에러 발생 이후로 재처리는 한달 분량을 insert 처리를 해야한다. 당연히 하루 700만건 30일치를 단건으로 insert 처리하면 속도가 안나온다. 소스 수정이 불가피했다. 기존의 Agent는 JDBC로 직접 연결해 DB에 인서트하고 있었다. 이를 addBatch와 executeBatch를 통해 해결하였다. public static void insertDoneMsgDB(String tablename, DoneMessageVO done) { Connect..

IT/WEB 2022.05.18

[JAVA] Mybatis insert foreach(foreach로 마이바티스 대량 insert 구현)

엑셀파일을 읽어서 단건으로 주소록을 입력하는 로직이 있었다. 해당 로직은 100건 ~ 1000건 정도의 주소록을 입력할 때는 크게 인서트 속도에 문제되지 않았으나 5000건에서 1만건이 넘어가는 엑셀파일을 읽고 인서트하는 과정에서 속도 이슈가 발생하였다. 속도 이슈를 해결하고자 단건으로 인서트 하고 있는 SQL문을 foreach로 변경하였다. 변경 전 XML INSERT INTO Address ( address_id, group_id, user_name, min, email, company, department, position, phone_company, phone_dep, phone_dep_pre, fax, home_post_no, home_addr_a, home_addr_b, company_post..

IT/WEB 2022.05.17

SPA(Single Page Application) 이란? SPA 정리

이 글은 출처 : https://www.huskyhoochu.com/what-is-spa/ SPA(Single Page Application) 이란? 너무 당연하게 사용해 온 SPA. 어떻게 작동하는 것일까요? www.huskyhoochu.com SPA관련 해당 포스팅을 그대로 옮겨적은 것이며 제가 이해한 것을 기술한 것입니다. SPA 이전 옛날 기준의 웹사이트는 페이지 하나가 서버에 전달되는 파일의 용량이 적었다. 그래서 버튼이나 페이지를 이동하는 버튼을 누를때 완전히 새로운 페이지를 서버에 전송했다. 그러나 현대에 이르러 웹사이트가 고도화되고 한 페이지에 나타내는 정보의 양은 커졌다. 버튼 하나를 눌렀을 때 페이지를 새로 불러오는 것이 비효율적인 페이지가 점차 늘어났다. SPA란? 이런 문제를 해결하..

IT/IT 이야기 2021.11.05

[JS] JS를 임시 비밀번호 만들기(소문자, 대문자, 숫자, 특수문자 혼합)

임시비밀번호 발급 버튼을 눌렀을 때 Javascript로 특정 패턴을 지닌(소문자, 대문자, 숫자, 특수문자 혼합) 임시비밀번호를 발급하는 로직입니다. 비밀번호* 임시비밀번호 발급 Math.random() 함수는 0이상 1미만의 구간에서 근사적으로 균일한(approximately uniform) 부동소숫점 의사난수를 반환합니다. 우리는 이 값을 원하는 범위로 변형할 수 있습니다. ==> 변환 값 : 0 ~ 1 사이 부동소숫점 난수 function go_random() { const value = Math.random(); alert(value); } 범위 지정 : 정수인 난수를 생성하는 방법은? Math.floor(); Math.floor() 함수는 소수점 1째자리 이후의 숫자를 버림하고 정수를 리턴한다..

IT/WEB 2021.11.03
728x90
반응형