본문 바로가기

전체 글

(88)
자바에서 List 중복 제거 방법 자바에서 List 타입의 데이터에서 중복을 제거하는 방법은 여러 가지가 있습니다.가장 많이 사용되는 방법은 Set을 활용하는 방법과 Stream API의 distinct() 메서드를 사용하는 방법입니다.1. Set을 활용한 중복 제거Set은 중복을 허용하지 않는 자료구조이므로, List를 Set으로 변환하면 자동으로 중복이 제거됩니다.예제 코드import java.util.*;public class RemoveDuplicates { public static void main(String[] args) { List list = Arrays.asList("apple", "banana", "apple", "orange", "banana"); // HashSet을 사용하여 중복 제..
ORACLE ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다 오류 해결 방법 ORA-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다 오류는 Oracle 데이터베이스에서 SQL 실행 중 발생하는 일반적인 오류입니다.이 오류는 단일 행을 기대하는 하위 질의(subquery) 가 여러 개의 행을 반환할 때 발생합니다.1. 오류 원인SQL 문에서 = 연산자와 함께 사용된 하위 질의가 여러 개의 행을 반환하는 경우 오류가 발생합니다.단일 행 하위 질의는 반드시 하나의 값만 반환해야 합니다.잘못된 SQL 예제SELECT emp_name FROM employees WHERE dept_id = (SELECT dept_id FROM departments WHERE dept_name LIKE 'S%'); 위 쿼리는 departments 테이블에서 dept_name이 'S'로 시작..
ORACLE ORA-01555: Snapshot Too Old 오류 해결 방법 ORA-01555: Snapshot Too Old 오류 해결 방법Oracle 데이터베이스를 운영하다 보면 다양한 오류를 마주하게 됩니다. 그중에서도 ORA-01555: Snapshot Too Old 오류 / ORA-01555: 너무 이전 스냅샷:롤백 세그먼트 %s 수에 "%s" 이름으로 된 것이 너무 작습니다. 오류는 비교적 흔하게 발생하는 문제로, 특히 대용량 트랜잭션을 수행하는 환경에서 자주 나타납니다. 이번 포스팅에서는 이 오류의 원인과 해결 방법을 알아보겠습니다.1. ORA-01555 오류란?ORA-01555: Snapshot Too Old 오류는 트랜잭션이 롤백 세그먼트(Undo Tablespace)에서 필요한 데이터를 찾지 못할 때 발생합니다. Oracle에서는 데이터 일관성을 유지하기 위해 ..
ORACLE ORA-01652 오류: "임시 세그먼트를 확장할 수 없습니다" 해결 방법 1. ORA-01652 오류 개요ORA-01652: unable to extend temp segment by X in tablespace TEMP이 오류는 Oracle 데이터베이스에서 임시 세그먼트(TEMP Segment)를 확장할 수 없을 때 발생한다. 주로 대용량 정렬(ORDER BY, GROUP BY), 해시 조인(HASH JOIN), DISTINCT 연산 등을 수행할 때 TEMP 테이블스페이스의 공간이 부족하면 나타난다.2. ORA-01652 오류 원인1) TEMP 테이블스페이스 크기 부족쿼리 실행 시 필요한 TEMP 공간보다 TEMP 테이블스페이스의 가용 공간이 적은 경우 발생.해결 방법: TEMP 테이블스페이스 크기를 늘리거나 자동 확장을 활성화해야 한다.2) 자동 확장(AUTOEXTEND)..
오라클 ROW_NUMBER() 함수와 COUNT() OVER 함수 차이 오라클을 다루다 보면 데이터의 순위를 매기거나 특정 그룹 내에서 개수를 세야 할 때가 많습니다. 이때 ROW_NUMBER() 함수와 COUNT() OVER 함수가 유용합니다. 오늘은 이 두 함수를 설명하고 어떻게 활용할 수 있는지 예제와 함께 알아보겠습니다.1. ROW_NUMBER() 함수란?ROW_NUMBER() 함수는 정렬된 결과 집합에서 각 행에 고유한 **순번(번호)**을 부여하는 윈도우 함수(Window Function)입니다. 단순히 ROWNUM을 사용하는 것과 달리, 원하는 기준에 따라 순위를 지정할 수 있다는 장점이 있습니다.기본 문법SELECT 컬럼명, ROW_NUMBER() OVER (PARTITION BY 그룹컬럼 ORDER BY 정렬컬럼) AS 순번FROM 테이블명; 주요 개념OVE..
웹사이트 접속 과정과 OSI 7계층 대응표 단계 설명 OSI 계층 1. URL 입력 및 DNS 조회사용자가 웹사이트 주소를 입력하면 브라우저가 DNS 서버에 도메인 이름을 IP 주소로 변환 요청을 보냄응용 계층 (7계층)2. TCP 연결 (3-Way Handshake)브라우저가 웹 서버와 연결을 맺기 위해 TCP 핸드셰이크 과정을 진행전송 계층 (4계층)3. HTTP/HTTPS 요청 전송웹 서버에 GET 요청을 보내고 필요한 데이터를 요청응용 계층 (7계층)4. 서버 응답 및 데이터 전송웹 서버가 HTML, CSS, JS 등의 데이터를 패킷으로 분할하여 전송응용 계층 (7계층) → 전송 계층 (4계층) → 네트워크 계층 (3계층) → 데이터 링크 계층 (2계층)5. 브라우저의 렌더링받은 HTML, CSS, JS 파일을 해석하고 웹 페이지를 화면에..
웹사이트에 처음 접근할 때 발생하는 과정 웹사이트에 처음 접속할 때, 브라우저와 서버 간에는 다양한 과정이 발생합니다. 이 과정은 사용자의 요청(Request)이 웹 서버로 전달되고, 서버가 응답(Response)을 반환하여 브라우저가 웹 페이지를 표시하는 흐름으로 진행됩니다. 이번 글에서는 사용자가 웹사이트에 처음 접근할 때 발생하는 주요 단계를 알아보겠습니다.1. URL 입력 및 DNS 조회사용자가 브라우저의 주소창에 https://example.com과 같은 URL을 입력하면, 먼저 도메인 이름을 실제 IP 주소로 변환하는 과정이 필요합니다. 이를 DNS(Domain Name System) 조회라고 합니다.브라우저는 먼저 로컬 캐시(이전 방문 기록)에서 해당 도메인의 IP 주소를 찾습니다.로컬 캐시에 없으면 운영체제(OS)의 DNS 캐시를..
Java에서 Object 타입을 String으로 변환하는 방법 (String) 캐스팅 vs String.valueOf() Java에서 Object 타입의 값을 String으로 변환할 때, 대표적으로 두 가지 방법이 있습니다.(String) value를 사용한 명시적 캐스팅String.valueOf(value) 메서드를 사용하는 방식이 두 가지 방법은 겉보기에는 비슷해 보이지만, 동작 방식과 예외 처리에서 큰 차이가 있습니다. 이번 글에서는 각각의 차이점과 장단점, 그리고 주의해야 할 사항에 대해 알아보겠습니다. 1. (String) 캐스팅을 사용하는 방법Object obj = "Hello";String str = (String) obj;System.out.println(str); // Hello동작 방식(String) obj는 obj가 실제로 String 타입인 경우에만 정상적으로 변환됩니다.만약 obj가 String이 아..

반응형