BackEnd/CS 4

[CS] DBMS 개념와 동작 원리

데이터와 정보데이터베이스를 알기전에 데이터와 정보의 차이를 알아보자Data(데이터)의미 없는 기록조각으로 아직 가공되지 않은 개별적인 사실이나 값 그 자체만으로는 의미를 갖기 어렵다.구조화된 데이터데이터의 꼬리표(Label)를 붙여 의미를 부여한 상태지만, 통찰을 주지못한다.Information목적을 가진 결과물로 구조화된 데이터를 특정 목적을 가지고 분석, 가공하여 얻어낸 유의미한 결과물데이터를 정보로 만드는 과정은 의사결정에 필수적이며, 데이터베이스 관리 시스템은 이 과정을 돕는 핵심 도구이다.데이터베이스 관리 시스템 ( DBMS )데이터베이스 관리 시스템이 대규모의 데이터를 효율적으로 관리하고 활용하기 위해 필요하다.DBMS이전 데이터 관리의 문제점데이터 중복과 불일치여러 파일에 동일정보가 중복 ..

BackEnd/CS 2026.03.24

[CS] 자바의 영속성 (JDBC, SQLMapper, ORM) 정리

JDBC ( Java Database Connectivity ) API자바 애플리케이션이 데이터베이스와 상호작용하여 데이터를 영구적으로 저장(Persistence)할 수 있도록 돕는 가장 기초적인 API이다.다음과 같은 특징을 가진다.범용성관계형 DB뿐만 아니라 스프레드시트, 플랫 파일 등 다양한 데이터 소스에 접근할 수 있는 공통 기반을 제공한다.구조Java SE 8 이상에 기본 포함된 패키지로 구성되어 있다.java.sql -> 핵심 JDBC API ( 커넥션, SQL 실행 등)javax.sql -> 데이터 소스 관리, 커넥션 풀, 분산 트랜잭션 등 확장 기능을 담당 중계자특정 DB를 사용하려면 해당 DB 제조사가 제공하는 JDBC 드라이버가 반드시 필요하다.이는 JDBC라는 표준 인터페이스를 각..

BackEnd/CS 2026.03.23

[CS] 쓰레드와 JVM의 쓰레드관리

CPU의 핵심구성 요소Core : CPU의 실제 연산을 담당하는 핵심 단위ALU (Arithmetic Logic Unit)실제 산술 연산과 논리 연산을 수행하는 장치Control Unit (제어 장치)명령어를 해석하고 데이터의 흐름을 지시하는 관리자Register (레지스터)CPU 내부에 있는 가장 빠르고 작은 메모리ALU의 연산을 돕기 위해 존재강력한 연산능력을 가진 CPU 하드웨어가 있지만 초기에는 이를 효율적으로 사용하기 어려웠다.CPU의 연산이 이뤄지는 동안 I/O 작업을 기다리는 시간이 많았기 때문이를 해결하기 위해 등장한 소프트웨어적 실행 단위가 쓰레드쓰레드 ( Thread )쓰레드의 개념은 프로세스 내부에 실질적으로 작업이 실행되는 최소 단위를 말한다.먼저 쓰레드를 이해하기 위해 스레드의 생..

BackEnd/CS 2026.03.20

[CS] Java Virtual Machine

JVM( Java Virtual Machine )이란?JVM은 C,C++로 만들어진 프로그램으로 자바 언어의 핵심 철학인 Write Once, Run Anywhere(WORA)를 가능하게 하기 위해 나타난 실행도구기존 C, C++ 언어는 운영체제나 하드웨어에 종속적이였음개발자는 각기 다른 환경에 맞춰서 프로그램을 다시 컴파일하거나, 다른 코드를 작성해야 하는 불편함이 존재이러한 문제를 해결하기 위해 자바언어를 만들면서 JVM이라는 혁신적인 개념을 도입함 핵심 아이디어중간언어 (Bytecode)자바 소스 코드(.java)를 기계어 대신, JVM이 이해할 수 있는 중간 형태의 코드(.class 또는 Bytecode)로 컴파일가상 머신(JVM)각 운영체제 및 하드웨어 아키텍처에 맞는 JVM만 설치되어 있다면..

BackEnd/CS 2026.03.20