Computer Science

[JavaScript] 04. 반복문

[JavaScript] 04. 반복문 반복문은 같은 작업을 여러 번 실행해야 할 때 사용한다. 조건이 만족되는 동안 특정 코드를 반복해서 실행할 수 있다. 1) 반복문이 필요한 이유 동일한 코드를 여러 번 작성하는 것은 비효율적이다. 반복문을 사용하면 코드의 길이를 줄이고, 같은 규칙을 가진 작업을 쉽게 처리할 수 있다. // 반복문 없이 작성한 경우console.log(1);console.log(2);console.log(3); // 반복문 사용for (let i = 1; i 2) for 문 for 문은 반복 횟수가 명확할 때 자주 사용된다. for (let i = 0; i 초기식 : 반복을 시작할 변수 선언 조건식..

[JAVA] 예외가 터지면 코드 흐름은 어떻게 될까

[JAVA] 예외가 터지면 코드 흐름은 어떻게 될까자바에서 예외(Exception)를 처음 배울 때 문법 자체보다 더 헷갈렸던 건 “예외가 발생하면 코드가 어디까지 실행되는가”였다. 이 글은 예외가 발생했을 때 프로그램의 흐름이 어떻게 바뀌는지를 정리한 내용이다.1. 예외가 발생하면 어떻게 될까System.out.println("A");int x = 10 / 0;System.out.println("B");위 코드에서 10 / 0 부분에서 예외가 발생한다. 출력 결과는 A까지만 출력되고, 그 아래 코드는 실행되지 않는다.예외가 발생한 순간, 현재 실행 흐름은 즉시 중단된다.2. try-catch가 없는 경우예외를 처리하지 않으면 JVM은 예외 정보를 출력하고 프로그램을 종료시킨다.int n = Intege..

[JAVA] 12 IO / 파일 처리 / 문자열 처리

[JAVA] 12 IO / 파일 처리 / 문자열 처리입출력(IO)은 프로그램과 외부 세계가 데이터를 주고받는 방식이다. 자바에서는 콘솔, 파일, 문자열 처리까지 IO 개념을 통해 다룬다. 이번 글에서는 기본적인 IO 구조와 문자열 처리 방법을 정리한다.1. IO란IO(Input / Output)는 데이터의 입력과 출력을 의미한다. 입력은 프로그램 안으로 들어오는 데이터, 출력은 프로그램 밖으로 나가는 데이터다.입력(Input) : 키보드, 파일, 네트워크출력(Output) : 콘솔, 파일, 네트워크2. 콘솔 입력 (Scanner)import java.util.Scanner;Scanner sc = new Scanner(System.in);int num = sc.nextInt();String text = s..

[JAVA] 11 예외 처리(Exception)

[JAVA] 11 예외 처리(Exception)예외(Exception)는 프로그램 실행 중 발생할 수 있는 오류 상황을 의미한다. 자바는 예외를 객체로 처리하며, 비정상 종료를 막고 흐름을 제어하기 위해 예외 처리 문법을 제공한다.1. 예외란예외는 컴파일은 정상적으로 되지만, 실행 중 예상치 못한 상황이 발생했을 때 나타난다.int a = 10 / 0; // ArithmeticException예외를 처리하지 않으면 프로그램은 즉시 종료된다.2. 예외와 오류(Error) 차이Exception : 프로그램에서 처리 가능한 문제Error : 시스템 레벨 문제, 일반적으로 처리 불가OutOfMemoryErrorError는 예외 처리 대상이 아니다.3. 예외 처리 기본 구조try { // 예외 발생 가능 코..

[SQL] SELECT 문법 총정리 (Oracle 기준)

[SQL] SELECT 문법 총정리 (Oracle 기준)이 글은 Oracle 기준으로 SELECT 문을 한 번에 정리한 글이다. 문법을 외우기보다는 “어떤 순서로 처리되는지”와 “자주 쓰는 형태”를 예제로 정리했다.0. 예시 테이블예시는 아래 테이블을 가정한다.users컬럼설명id회원 PKname이름email이메일created_at가입일(TIMESTAMP/DATE)orders컬럼설명id주문 PKuser_id회원 FKtotal_price총 금액status상태(PAID, CANCELED 등)created_at주문일(TIMESTAMP/DATE)1. SELECT 기본 형태1-1) 전체 조회SELECT *FROM users;1-2) 특정 컬럼만 조회SELECT id, name, emailFROM users;1-3..

[SQL] DDL / DML / DCL / TCL 총정리 (Oracle 기준)

[SQL] DDL / DML / DCL / TCL 총정리 (Oracle 기준)이 글은 Oracle DB 기준으로 SQL을 분류 체계(DDL, DML, DCL, TCL)에 따라 정리한 글이다. 단순 문법 나열이 아니라, 각 분류가 왜 필요한지와 언제 사용하는지를 함께 설명한다.1. SQL 분류 개요SQL은 역할에 따라 네 가지로 분류된다. 이 분류는 Oracle 시험, 실무, 면접에서 모두 기본 전제로 사용된다.분류이름역할DDLData Definition Language데이터 구조 정의DMLData Manipulation Language데이터 조회/조작DCLData Control Language권한 제어TCLTransaction Control Language트랜잭션 제어2. DDL (Data Definit..

[JAVA] 09 인터페이스 / 추상 클래스 / 오버라이딩 / 오버로딩

[JAVA] 09 인터페이스 / 추상 클래스 / 오버라이딩 / 오버로딩이번 글에서는 객체지향의 핵심 개념 중 자주 함께 등장하는인터페이스, 추상 클래스, 그리고 오버라이딩과 오버로딩을 정리한다.개념 간의 차이를 명확히 구분하는 것이 중요하다.1. 추상 클래스(Abstract Class)추상 클래스는 하나 이상의 추상 메서드를 가질 수 있는 클래스다.객체를 직접 생성할 수 없으며, 상속을 통해서만 사용된다.abstract class Animal { abstract void sound(); void sleep() { System.out.println("잔다"); }}abstract 키워드 사용추상 메서드는 구현부가 없다일반 메서드도 가질 수 있다필드(상태)를 가질 수 있다추상 클..

[DB] 11. 데이터베이스 아키텍처

[DB] 11. 데이터베이스 아키텍처1. 데이터베이스 아키텍처란?데이터베이스 아키텍처는 DB를 하나의 서버로만 쓰지 않고, 서비스 규모에 맞게 어떻게 구성하고 운영할지를 정리한 구조다.사용자가 늘어나고 데이터가 많아질수록, 단일 DB 구조는 성능과 안정성에서 한계가 드러난다.DB 아키텍처는 이 문제를 해결하기 위한 현실적인 선택들의 집합이다.2. 단일 DB 구조의 한계초기 서비스는 보통 하나의 DB 서버로 시작한다.구성이 단순하다관리하기 쉽다하지만 서비스가 성장하면 문제가 생긴다.동시 접속 증가로 성능 저하장애 발생 시 서비스 전체 중단읽기/쓰기 요청이 한 서버에 집중이 지점부터 아키텍처 분리가 필요해진다.3. 커넥션(Connection)과 커넥션 풀(Connection Pool)애플리케이션이 DB에 접..