Java
-
Apache POI 를 사용하여 Excel 파일을 XSSFWorkbook으로 변환 과정에서 에러가 발생하였다.변환 코드는 아래와 같다.@Servicepublic class MigrationService { private String pw = "8282"; public void customerMigrationService(MultipartFile file) { XSSFWorkbook wb = null; XSSFSheet sheet = null; XSSFRow row = null; XSSFCell cell = null; try { #.xlsx 엑셀파일에 암호가 걸려있어 풀기 위해 사용 POIFSF..
Apache POI Excel 파일 업로드 중 "Zip bomb detected.." 에러Apache POI 를 사용하여 Excel 파일을 XSSFWorkbook으로 변환 과정에서 에러가 발생하였다.변환 코드는 아래와 같다.@Servicepublic class MigrationService { private String pw = "8282"; public void customerMigrationService(MultipartFile file) { XSSFWorkbook wb = null; XSSFSheet sheet = null; XSSFRow row = null; XSSFCell cell = null; try { #.xlsx 엑셀파일에 암호가 걸려있어 풀기 위해 사용 POIFSF..
2021.12.29 -
MyBatis 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 사용할 수 있도록 도와주는 프레임워크 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복작업을 제거 한다. 또한 프로그램 코드와 SQL 문을 분리할 수 있다. MyBatis DB 접근 구조 MyBatis 구성요소 요소 설명 MyBatis Configuration File DB 접속 정보 및 Mapper 파일의 경로 등 환경정보를 설정하는 파일 SqlSessionFactoryBuilder SqlSessionFactory를 생성하는 Builder SqlSessionFactory SqlSession 을 생성하기 위한 구성요소 - MyBa..
MyBatisMyBatis 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 사용할 수 있도록 도와주는 프레임워크 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복작업을 제거 한다. 또한 프로그램 코드와 SQL 문을 분리할 수 있다. MyBatis DB 접근 구조 MyBatis 구성요소 요소 설명 MyBatis Configuration File DB 접속 정보 및 Mapper 파일의 경로 등 환경정보를 설정하는 파일 SqlSessionFactoryBuilder SqlSessionFactory를 생성하는 Builder SqlSessionFactory SqlSession 을 생성하기 위한 구성요소 - MyBa..
2021.12.27 -
DBCP(DataBase Connection Pool) wait_timeout 에러 관련한 org.springframework.dao.RecoverableDataAccessException 에러 ### Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet successfully received from the server was 7,625,858 milliseconds ago. The last packet sent successfully to the server was 7,625,864 milliseconds ago. ### T..
org.springframework.dao.RecoverableDataAccessException 에러DBCP(DataBase Connection Pool) wait_timeout 에러 관련한 org.springframework.dao.RecoverableDataAccessException 에러 ### Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet successfully received from the server was 7,625,858 milliseconds ago. The last packet sent successfully to the server was 7,625,864 milliseconds ago. ### T..
2021.12.22 -
오버로딩(Overloading) 같은 이름의 메서드를 여러개 생성하지만 매개변수의 개수 또는 매개변수의 타입이 다르면 정의할 수 있다. class OverloadingTest { public static void main(String[] args){ OverloadingTestMethod otm = new OverloadingTestMethod(); otm.print("오버로딩 테스트"); System.out.println(otm.print(3)); otm.print("오버로딩 테스트", 4); } } class OverloadingTestMethod { void print(String a){ System.out.println("문자열 오버로딩"); } String print(int a){ System...
오버로딩(Overloading), 오버라이딩(Overriding)오버로딩(Overloading) 같은 이름의 메서드를 여러개 생성하지만 매개변수의 개수 또는 매개변수의 타입이 다르면 정의할 수 있다. class OverloadingTest { public static void main(String[] args){ OverloadingTestMethod otm = new OverloadingTestMethod(); otm.print("오버로딩 테스트"); System.out.println(otm.print(3)); otm.print("오버로딩 테스트", 4); } } class OverloadingTestMethod { void print(String a){ System.out.println("문자열 오버로딩"); } String print(int a){ System...
2021.12.06 -
BOM(Byte Order Mark) BOM 이란 문서의 맨 앞부분에 눈에 보이지 않는 특정 바이트(Byte)를 넣은 다음 해당 문서의 인코딩 방식이 어떠한 인코딩 방식으로 사용되었는지 알아내는 방법을 나타낸다. BOM은 텍스트 에디터 화면에서는 보이지 않고, 헥사 에디터(Hex Editor)로 열었을때만 보인다. BOM의 종류 인코딩 방식 BOM(Byte Order Mark) UTF-8 EF BB BF UTF-16 Big Endian FE FF UTF-16 Little Endian FF FE UTF-32 Big Endian 00 00 FE FF UTF-32 Little Endian FF FE 00 00 Java 로 예를 들면 간단한 csv 파일을 만들때 text가 깨지는 경우가 있다. 이때 사용한다. ..
바이트 순서 표시(BOM, Byte Order Mark)BOM(Byte Order Mark) BOM 이란 문서의 맨 앞부분에 눈에 보이지 않는 특정 바이트(Byte)를 넣은 다음 해당 문서의 인코딩 방식이 어떠한 인코딩 방식으로 사용되었는지 알아내는 방법을 나타낸다. BOM은 텍스트 에디터 화면에서는 보이지 않고, 헥사 에디터(Hex Editor)로 열었을때만 보인다. BOM의 종류 인코딩 방식 BOM(Byte Order Mark) UTF-8 EF BB BF UTF-16 Big Endian FE FF UTF-16 Little Endian FF FE UTF-32 Big Endian 00 00 FE FF UTF-32 Little Endian FF FE 00 00 Java 로 예를 들면 간단한 csv 파일을 만들때 text가 깨지는 경우가 있다. 이때 사용한다. ..
2021.12.02 -
RSA 암호화 공개키 암호시스템 중 한개, 암호화 뿐만 아니라 전자서명도 가능한 최초의 알고리즘으로 알려진다. RSA는 두개의 키를 사용한다. 공개키와 개인키를 사용하는데 공개키는 평문을 암호화 하는데 사용하고 개인키는 암호화한 데이터를 복호화할때 사용한다. 이를 비대칭키라고 하며 누구나 어떤 메시지를 암호화 할수 있지만 암호화한 데이터는 개인키를 가지고 있는 사람만 복호화 할 수 있다. 일반적으로 공개키는 n 과 e 값으로 구성되어 있습니다. n 값은 Modulus 이며 e 값은 Public exponent 값입니다. 개인키는 기본적으로 n, e, d, p, q, exponent1, exponent2, coefficient 값을 갖습니다. 여기서 가장 필요한 값은 d 입니다. 개인키의 각 값은 공개키의..
RSA 암호화 만들기RSA 암호화 공개키 암호시스템 중 한개, 암호화 뿐만 아니라 전자서명도 가능한 최초의 알고리즘으로 알려진다. RSA는 두개의 키를 사용한다. 공개키와 개인키를 사용하는데 공개키는 평문을 암호화 하는데 사용하고 개인키는 암호화한 데이터를 복호화할때 사용한다. 이를 비대칭키라고 하며 누구나 어떤 메시지를 암호화 할수 있지만 암호화한 데이터는 개인키를 가지고 있는 사람만 복호화 할 수 있다. 일반적으로 공개키는 n 과 e 값으로 구성되어 있습니다. n 값은 Modulus 이며 e 값은 Public exponent 값입니다. 개인키는 기본적으로 n, e, d, p, q, exponent1, exponent2, coefficient 값을 갖습니다. 여기서 가장 필요한 값은 d 입니다. 개인키의 각 값은 공개키의..
2021.10.20