오라클 조건문 IF ELSIF, CASE WHEN 사용 방법 오라클 쿼리를 짤 때도 조건문이 필요할 때가 생길텐데요. PL/SQL에서 IF ELSE 문을 이용하시면 됩니다. IF 조건 THEN -- 처리문 ELSIF 조건2 THEN -- 처리문 ELSE -- 처리문 END IF; 다른 언어와 구조는 똑같고 THEN 을 붙이는 부분과 ELSIF 명령어를 사용합니다. 마지막으로 END IF; 를 붙여줘야합니다. DECLARE p_NUM NUMBER := 90; BEGIN IF p_NUM 개발 & 데이터베이스/DB 2023.12.03
오라클 쿼리문 수행(실행) 시간 측정하는 방법 (SET TIMING ON) 오라클에서 쿼리나 프로시저, 커서 등의 실행 시간을 알고 싶다면 SET TIMING ON; 을 사용하면 된다. SET TIMING ON; [실행할 쿼리문] SELECT * FROM DUAL; // Script Output Elapsed: 00 : 00 : 01 : 69 개발 & 데이터베이스/DB 2023.10.24
오라클 COUNT(*) COUNT(1) vs COUNT(컬럼) 차이점 오늘 데이터베이스를 확인하던 중에 COUNT(1) 을 쓴 쿼리를 확인하고, COUNT(*) 과 어떤 차이가 있는지 궁금해서 검색해봤다. COUNT() 함수는 집계 함수로 SELECT 쿼리에 대한 행 수를 계산하는 함수이다. COUNT(*) vs COUNT(1) 결론부터 말하자면 두 개의 명령문에는 차이가 없다. 두 개의 명령문은 모두 동일한 방식으로 작동하며 성능 상에 차이가 없다고 공식 문서에도 명시되어있다. COUNT(*), COUNT(1) vs COUNT(컬럼명) COUNT(컬럼) : 해당 컬럼에 NULL 값이 들어간 행은 제외하고 계산함. COUNT(*) : NULL 값에 상관없이 모두 계산함. COUNT(컬럼) 명령문은 해당 컬럼에 NULL 값이 있으면 세지 않기 때문에 모든 행을 세는 COUN.. 개발 & 데이터베이스/DB 2023.09.05
JAVA 자바 정규표현식으로 주민등록번호, 이메일 유효성 검사하기 (Pattern, Matcher) 정규표현식은 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식언어다. 주로 전화번호, 주민등록번호, 이메일 등 형식이 정해져있는 데이터에 대해 유효성 검사를 진행할 때 사용된다. 정규표현식 사용 방법 자바에서 정규표현식을 사용할 때는 java.util.regex 패키지 안에 있는 Pattern 클래스와 Matcher 클래스를 주로 사용한다. Pattern 클래스 java.util.regex.Pattern 클래스의 matches() 메서드를 활용해서 해당 문자열이 정규표현식에 적합한 상태인지 검증할 수 있다. 매개 변수는 (정규표현식, 문자열)로 2개이고, 리턴값은 true, false를 반환한다. import java.io.IOException; import java.util.regex.Pa.. 개발 & 데이터베이스/JAVA 2023.08.09
IntelliJ IDE 다운로드 방법 및 프로젝트 생성하기 IntelliJ는 JetBrains사에서 제작한 상용 자바 통합 개발 환경(IDE)이다. 요즘 이클립스보다 더 많이 사용하는 추세이기에 설치 방법에 대해서 포스팅해보려고 한다. IntelliJ 다운로드 1. IntelliJ IDEA 사이트에 접속한다. (https://www.jetbrains.com/) JetBrains: Essential tools for software developers and teams JetBrains is a cutting-edge software vendor specializing in the creation of intelligent development tools, including IntelliJ IDEA – the leading Java IDE, and the Kotl.. 개발 & 데이터베이스/JAVA 2023.07.24
자바 디컴파일러 JD-GUI 사용 방법 (.jar, .class 파일) 자바로 작성되어있는 .java 자바 파일을 컴파일하면 바이트코드인 .class 클래스 파일이 생성된다. 컴파일된 .class 클래스 파일은 JVM(Java Virtual Machine)에서만 해석할 수 있는 코드로 변경되므로 개발자는 읽을 수가 없다. 해당 파일을 보려면 다시 .java 파일로 되돌리는 디컴파일 과정이 필요하다. 자바 디컴파일러 JD-GUI 다운로드 JD-GUI는 바이트코드로 이루어진 .class 클래스 파일을 소스코드로 이루어진 .java 자바 파일로 변환해 주는 무료 오픈 소스 도구로 현재 가장 많이 쓰이는 디컴파일러다. http://java-decompiler.github.io/ Java Decompiler The “Java Decompiler project” aims to deve.. 개발 & 데이터베이스/JAVA 2023.07.17
쿠키와 세션 차이, 그리고 캐시는 어떻게 다를까? 쿠키 (Cookie) 사용자가 어떠한 웹 사이트에 방문했을 경우, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일로 HTTP에서 클라이언트 상태 정보를 클라이언트 PC에 저장하였다가 필요 시 정보를 참조하거나 재사용할 수 있다. 1. 동작방식 1) 클라이언트가 페이지를 요청 (사용자가 웹 사이트에 방문) 2) 서버에서 쿠키를 생성 3) HTTP 헤더에 쿠키를 포함시켜 응답 4) 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관 5) 같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보냄 6) 서버에서 쿠키를 읽어 이전 상태 정보를 변경할 필요가 있을 때 쿠키를 업데이트하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답 2. 예시 ● 로그인 시 "아이디와 .. 개발 & 데이터베이스/CS 2023.07.13
사용 중인 포트 종료하는 방법 - Identify and stop the process that's listening on port 8080 or configure this application to listen on another port. 에러 이클립스, IntelliJ등에서 서버를 실행시켰을 경우, 아래와 같이 이미 사용 중인 포트라고 에러가 발생한다. 해결 방법 1. 명령 프롬프트(cmd)를 관리자 권한으로 실행한다. 2. netstat -a -o 를 입력한다. 3. taskkill /f /pid PID번호를 입력 후에 아래와 같은 메시지가 발생하면 성공. 개발 & 데이터베이스/JAVA 2023.07.12
자바 문자열 자르기 메서드 사용 방법 (substring, split) 자바에서 문자열을 자르는 방법은 substring() 메서드와 split() 메서드가 대표적이다. substring(beginIndex, [endIndex]) substring 메서드는 기본적으로 인자2개를 받을 수 있지만 두 번째 인자값 endIndex는 생략할 수 있다. 생략하게 되면 해당 문자열의 마지막 인덱스까지 반환한다. String str = "Hello World"; System.out.println(str.substring(6)); // World System.out.println(str.substring(0, 4)); // Hello split(String regex) split 메서드는 정규 표현식을 기반으로 문자열을 나누어 배열로 반환한다. String tmp = "Hello,Worl.. 개발 & 데이터베이스/JAVA 2023.07.05
자바 타이머 기본 구조와 시작 시간 정하기 (scheduleatfixedrate, schedule) 타이머 기본 구조 자바에서는 Timer() 클래스와 TimerTask() 클래스를 이용해서 주기적으로 작업을 진행할 수 있다. 해당 클래스는 JDK 1.3에 새롭게 추가되었다고한다. Timer() : 실제 타이머의 기능을 수행 TimerTask(): 수행되는 내용을 run() 메소드를 재정의함으로써 실행 import java.io.IOException; import java.util.Timer; import java.util.TimerTask; public class Main { public static void main(String[] args) throws IOException { Timer t = new Timer(); TimerTask task = new TimerTask() { public vo.. 개발 & 데이터베이스/JAVA 2023.06.14