전체 글 106

[Oracle] SQL WHERE 조건에서 컬럼 두 개 이상 묶어서 비교하기

오라클 SQL에서는 WHERE 조건에서 컬럼을 단일 값이 아닌 튜플(tuple) 형태로 묶어 비교할 수 있다. 즉, (컬럼1, 컬럼2) 와 같이 여러 컬럼을 하나의 집합으로 취급하고, IN 조건이나 비교 조건에 (값1, 값2) 쌍을 지정하는 방식이다. 이 방법은 다중 컬럼 조합을 효율적으로 비교할 때 유용하다. 1) 기본 문법-- 기본 형태WHERE (컬럼1, 컬럼2) IN ((값1, 값2), (값3, 값4), ...)즉, 컬럼 두 개 이상을 묶어서 조건 비교를 할 수 있다. 2) 예시2-1) 단일 컬럼 비교SELECT *FROM 직원WHERE 부서번호 IN (10, 20);일반적인 IN 조건은 위와 같이 단일 컬럼에 대해서만 적용된다.2-2) 두 컬럼 튜플 비교SELECT *FROM 직원WHERE (부..

DataBase/Oracle 2025.09.10

RESTful API PUT과 PATCH의 특징과 차이점

REST API에서는 자원을 수정할 때 PUT과 PATCH 메서드를 사용한다. 둘 다 업데이트 용도로 쓰이지만, 적용 범위와 의미에서 차이가 있다. 본 글에서는 PUT과 PATCH의 정의, 특징, 예제, 그리고 실무 활용 팁을 정리한다. 1) PUT1-1) 정의PUT은 자원의 전체를 교체(Replace)하는 방식의 업데이트를 의미한다.즉, 해당 리소스를 새 데이터로 완전히 대체하며,일부 필드만 보냈을 경우 나머지 필드는 기본값이나 null로 덮어씌워질 수 있다.1-2) 특징리소스 전체 교체멱등성(Idempotent)을 보장한다. (같은 요청을 여러 번 보내도 결과가 동일)부분 업데이트에는 적합하지 않음1-3) 예제PUT /users/1Content-Type: application/json{ "id": ..

Dev Knowledge/Web 2025.09.05

[JavaScript] 문자열 처리 trim(), padStart(), padEnd() 활용법

문자열 처리에서 자주 쓰이는 함수 중 하나가 trim(), padStart(), padEnd()이다. 이 함수들은 문자열을 다룰 때 불필요한 공백을 제거하거나, 특정 길이에 맞게 패딩(padding)을 추가하여 문자열을 정리하는 데 활용된다. 특히 UI에서 출력 형식을 맞추거나, 데이터 전처리 과정에서 자주 사용되는 함수들이다. 1) trim()trim() 함수는 문자열 양 끝에 있는 공백(스페이스, 탭, 줄바꿈 등)을 제거한다.1-1) 문법str.trim()1-2) 특징문자열 내부의 공백은 제거하지 않는다.앞뒤에 불필요한 공백이 포함된 사용자 입력 처리 시 유용하다.1-3) 예시const text = " Hello World! ";console.log(text.trim()); // "Hello ..

[Web] Web Server와 WAS의 차이점과 기본 개념

웹 애플리케이션 아키텍처에서 웹 서버(Web Server)와 WAS(Web Application Server)는 중요한 역할을 담당한다. 두 서버 모두 클라이언트 요청을 처리하지만, 처리 방식과 목적에 있어 차이가 존재한다. 본문에서는 각각의 정의, 특징, 차이점을 정리하고 예시와 함께 살펴본다. 1) Web Server1-1) 정의Web Server는 클라이언트(브라우저)로부터 HTTP 요청을 받아정적인 콘텐츠(HTML, CSS, JavaScript, 이미지 등)를 제공하는 서버이다.1-2) 특징정적인 파일(HTML, 이미지, CSS, JS) 제공에 최적화되어 있다.요청 처리 속도가 빠르며, 리소스 소모가 적다.동적 처리를 위해서 별도의 프로그램(WAS CGI, PHP 등)과 연동해야 한다.1-3) 예..

Dev Knowledge/Web 2025.08.29

[Java] 문자열 함수 split() 정리

Java에서 문자열을 다룰 때 특정 구분자를 기준으로 문자열을 분리해야 하는 경우가 자주 발생한다. 이때 유용하게 사용할 수 있는 메서드가 split()이다. 본 글에서는 split()의 기본 문법, 특징, 다양한 예시, 주의사항을 정리한다. 1) split() 함수의 문법String[] result = 문자열.split(String regex);String[] result = 문자열.split(String regex, int limit);regex: 구분자를 정규표현식(Regular Expression)으로 지정한다.limit: 분리할 최대 개수를 지정한다.양수: 최대 limit 개수만큼 분리된다.0: 마지막 빈 문자열은 제거된다.음수: 제한 없이 모두 분리된다. 2) split() 함수의 특징구분자는..

Java/Java 2025.08.28

[Java] 입력 파싱 - StringTokenizer 총정리

빠른 입력 파싱은 많은 데이터를 다룰 때 필수적이다. Java에서는 BufferedReader와 함께 StringTokenizer를 사용하여 공백 또는 지정한 구분자 기준으로 문자열을 빠르게 토큰화할 수 있다. 이번 글에서는 StringTokenizer의 정의와 특징, 기본 사용법, 실전 활용 예제, 그리고 주의사항을 정리해보자. 1) StringTokenizer1-1) 정의java.util.StringTokenizer는 문자열을 하나 이상의 구분자(delimiter) 문자 기준으로 잘라 연속된 토큰 단위로 순차 탐색하는 유틸리티 클래스이다.모든 토큰은 문자열로 반환되며, hasMoreTokens()와 nextToken()으로 순회한다.1-2) 특징기본 구분자는 공백류 문자이다.구분자 문자열에 포함된 각..

Java/Java 2025.08.22

[Java] 입력 처리- Scanner와 BufferedReader 총정리

자바에서는 주로 Scanner와 BufferedReader를 사용하여 입력을 처리한다. 본 글에서는 두 가지 방식의 정의와 특징을 정리하고, 각각의 사용 예시를 통해 언제 어떤 방식을 선택하면 좋은지 살펴본다. 1) Scanner1-1) 정의Scanner는 자바에서 기본적으로 제공하는 입력 클래스이다.간단한 코드로 정수, 문자열, 실수 등을 입력받을 수 있으며,사용법이 직관적이라는 장점이 있다.1-2) 특징입력 처리 코드가 간단하다.데이터 타입별로 입력을 받을 수 있다. (예: nextInt, nextDouble, nextLine)입력 속도가 상대적으로 느리기 때문에, 대규모 입력에서는 시간 초과가 발생할 수 있다.1-3) 사용 예시import java.util.Scanner;public class Ma..

Java/Java 2025.08.21

[Java] 코딩테스트에서 자주 쓰이는 String 함수 총정리

코딩테스트 문제를 풀다 보면 문자열 처리가 필수적으로 등장한다. Java에서는 문자열을 다루기 위한 다양한 String 메서드를 제공하고 있으며, 이를 잘 활용하면 문제를 훨씬 간단하게 해결할 수 있다. 본 글에서는 코딩테스트에서 자주 사용되는 String 함수들을 정의, 예시, 활용, 주의사항 순서로 정리한다. 1) indexOf 함수1-1) 정의문자열에서 특정 문자나 문자열이 처음 등장하는 위치(인덱스)를 반환한다.만약 존재하지 않으면 -1을 반환한다.1-2) 기본 사용 예시String str = "hello world";System.out.println(str.indexOf("o")); // 4System.out.println(str.indexOf("world")); // 6System.ou..

Java/Java 2025.08.20

[Java] Optional 활용 팁 & 실전 예제

Java 8에서 도입된 Optional 클래스는 null 처리를 보다 안전하고 명확하게 하기 위한 도구이다. nullPointerException(NPE)을 방지하고, 코드 가독성을 높이는 데 유용하게 사용된다. 이번 글에서는 Optional의 정의와 특징, 기본적인 사용 예제, 실무에서의 활용 예제까지 정리한다. 1) 정의와 특징1-1) 정의Optional은 '값이 있을 수도 있고 없을 수도 있는 컨테이너 객체'이다.null 대신 객체의 존재 여부를 명시적으로 표현할 수 있도록 도와준다.1-2) 특징값이 존재하는 경우와 존재하지 않는 경우를 명확하게 구분할 수 있다.null 체크를 대체하여 가독성을 높인다.map, filter, ifPresent 등 함수형 스타일 메서드를 제공한다.Optional은 필..

Java/Java 2025.08.19

[Oracle] MERGE 문으로 Upsert 처리하기

데이터 동기화나 일괄 처리에서 흔히 필요한 작업이 바로 "존재하면 업데이트, 없으면 삽입(Upsert)"이다. Oracle에서는 이 목적을 위해 MERGE 문을 제공한다. 이번 글에서는 MERGE의 기본 개념, 장단점, 다양한 예제와 실무 적용 팁에 대해 알아보자. 마지막으로 어느 경우에 MERGE를 사용하면 좋고, 언제 피해야 하는지도 알아보자. 1) MERGE 개념MERGE는 대상 테이블(target)에 대해 소스(source) 데이터를 기준으로 매칭하여매칭되면 UPDATE, 매칭되지 않으면 INSERT를 한 번의 DML로 수행하는 문이다.일반적으로 다음과 같은 형태이다.MERGE INTO target tUSING (SELECT ... FROM source ...) sON (t.pk = s.pk)WH..

DataBase/Oracle 2025.08.12