프로그래밍/JAVA 131

크론 표현식

크론 표현식 Cron 스케줄러의 정규 표현식 7개의 각 필드로 구성되어 있음 각 필드의 내용 정리 👇 필드명 필수 여부 허용된 값 허용된 문자(특수문자) Seconds(초) O 0-59 , - * / Minutes(분) O 0-59 , - * / Hours(시각) O 0-23 , - * / Day of month(날짜) O 1-31 , - * ? / L W Month(월) O 1-12 or JAN-DEC , - * / Day of week(요일) O 1-7 or SUN-SAT , - * ? / L # Year(년) X empty, 1970-2099 , - * / 특수문자 1️⃣ * : 모든 값 ( 매분, 매시, 매일, 매주, 매월, 매요일, 매년 : * * * * * * * ) 2️⃣ ? : 특정한 값 ..

자바 코드 실행 시간 구하기

자바 코드 실행 시간 구하기 현재 시간을 받아오는 System 함수인 System.currentTimeMillis() 함수를 이용하면 쉽게 구할 수 있음 예시 👇 long beforeTime = System.currentTimeMillis(); //코드 실행 전 시간 // 측정하고 싶은 코드 작성 long afterTime = System.currentTimeMillis(); // 코드 실행 후 시간 long secDiffTime = (afterTime - beforeTime)/1000; // 두 시간 차 System.out.println("시간차이 : "+secDiffTime); 이때 시간단위를 초로 변환하고 싶다면 두 시간의 차를 구할 때 예시와 같이 /1000을 해주고, 분으로 변환하고 싶다면 /6..

자바 암호화와 복호화(AES)

AES 란? AES는 고급 암호화 표준이라는 의미이며, 암호화 및 복호화 시 동일한 키를 사용하는 대칭키 알고리즘 AES의 종류는 AES-128, AES-192, AES-256이 있고 각각 뒤에 붙은 숫자가 키의 길이를 의미함 AES 암호화 알고리즘은 높은 안정성과 빠른 속도로 전세계적으로 사용되고 있음 암호화 복호화 예제 👇 package com.nmn.deploy.util; import java.io.UnsupportedEncodingException; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.Key; import java.sec..

Cause: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

💡 원인 및 해결 방법 1️⃣ 실제로 테이블이 존재 하지 않음 맞춤법 오류일 수 있으니 확인해보기 2️⃣ 테이블에 권한이 없음 테이블 권한 확인 👇 SELECT * FROM USER_TAB_PRIVS WHERETABLE_NAME=[테이블명] AND GRANTEE=[유저명] AND OWNER=[소유자명]; 테이블에 권한 부여 👇 GRANTSELECT, INSERT, UPDATE, DELETE ON테이블 권한있는 USER.테이블명 TO권한을 줄 USER 3️⃣ 데이터베이스의 연결이 안되어 있음 ✔ 내 경우 다른 DB와 연결된 접속정보를 가지고 테이블을 조회하다보니 에러 발생 DB 접속정보 확인해보기 아래의 파일들의 정보와 명칭을 잘 적었는지 확인 👉 jdbc.properties 파일 (DB 접속 정보) 👉 ..

Caused by: java.sql.SQLSyntaxErrorException: ORA-00904: "SUBUJ_TEXT": invalid identifier

java.sql.SQLException: 부적합한 열 이름 이 에러는 열 이름이 잘못 작성되었을 때 발생 에러를 확인하는 방법은 아래와 같음 1️⃣ Oracle 테이블의 컬럼 이름 확인 2️⃣ 파라미터의 명칭이 일치하는지 확인 3️⃣ Oracle에서 가져오는 데이터가 제대로 저장되어 사용되는지 확인 나의 경우 sql에서 파라미터와 값 비교를 해주는데 에서 asc가 소문자로 되어있어 일치하는 값을 찾지 못해 발생했던 문제 일치하는 값이 들어오도록 변경해주면 문제 해결

java build path maven dependencies 오류

1️⃣ maven update 프로젝트 오른쪽 마우스 버튼 클릭 > maven > update project > (force update of snapshot/release를 체크해주고) ok클릭 2️⃣ clean project 프레임워크(스프링 혹은 이클립스) 위의 작업표시줄에 project 클릭 -> clean 3️⃣ .m2 repository 삭제 후 다시 빌드 사용자 > .m2 > repository 있는 파일들 모두 삭제 스프링을 다시 시작하면 pom.xml에 선언되어있는 maven들이 다시 build 되기 시작함

11.27(Call by value와 Call by reference)

함수의 호출 방식에는 Call by value와 Call by reference가 있음 Call by value 값에 의한 호출 Call by value는 메서드 호출 시에 사용되는 인자의 메모리에 저장되어 있는 값(value)을 복사하여 보냄 Call by reference Call by reference는 메서드 호출 시에 사용되는 인자가, 값이 아닌 주소(Address)를 넘겨줌으로써, 주소를 참조(Reference)하여 데이터를 변경할 수 있음 Call by reference는 메서드 호출 시 사용되는 인자 값의 메모리에 저장되어있는 주소(Address)를 복사하여 보냄

11.26(Java와 JavaScript 차이점)

1️⃣ JavaScript : 클라이언트 스크립트 (브라우저에서 실행!!) JSP(Java) : 서버 스크립트 (JVM에서 실행!!) Java는 가상 시스템 또는 브라우저에서 실행되는 응용 프로그램을 작성하는 반면, JavaScript는 브라우저에서만 실행됨 2️⃣ JavaScript : 자바처럼 타입 체크를 철저하게 하지 X Java : 조그마한 코드상의 실수도 용납하지 않고 컴파일시에 에러 발생 그렇기 때문에 최적의 코드를 생성하고 에러가 발생할 가능성 ↓ 이에 반해 자바스크립트는 컴파일이라는 과정을 거치지 않기 때문에 비교적 타입 체크를 철저히 하지않음 3️⃣ JavaScript : 자바처럼 철저한 타입 체크를 하지 않는 대가로 몇가지 객체 지향 요소를 포기 하고 있음 클래스를 정의할 수 없고, 클..