개발 저장소
백준 5597번 Java
문제 https://www.acmicpc.net/problem/5597 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main5597 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); List students = new ArrayList(); L..

트랜잭션과 무결성
1. 트랜잭션 : 하나의 논리적 기능을 수행하기 위한 작업의 단위. 쉽게 생각해서 쿼리 여러개 묶어서 한 번에 실행하는 걸로 생각하면 편하다. 2. 트랜잭션의 특징 원자성(atomicity) - 트랜잭션 관련 수행은 모두 실행되거나 모두 실행되지 않아야 한다.(커밋/롤백, 무결성 보장) - 트랜잭션 단위로 여러 로직들을 묶을 때 외부 API를 호출하는 것이 있으면 안된다. - 여러 트랜잭션 관련 메소드의 호출을 하나의 트랜잭션에 묶이도록하는 것이 트랜잭션 전파다.(ex : Spring @Transactional 애너테이션) 일관성(consistency) - 허용된 방식으로만 데이터를 변경해야 하는 것 - 트랜잭션 전후로 데이터베이스의 상태가 이전과 같이 유효해야 하는 것 격리성(isolation) - 한..
ERD와 정규화
1. ERD(Entity Relationship Diagram) : DB를 구축할 때 가장 기초적인 뼈대 역할을 하며, 릴레이션간의 관계들을 정의한 것이다. 2. ERD의 중요성 : ERD는 시스템 요구사항을 기반으로 작성되며, DB는 ERD를 기반으로 구축된다. 또한 DB 구축 이후에도 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당하기도 한다. 관계형 구조로 표현할 수 있는 데이터를 구성하는 데 유용할 수 있지만 비정형 데이터를 충분히 표현 할수는 없다. 3. 정규화 : 릴레이션 간의 잘못된 종속관계로 인해 데이터베이스 이상현상이 일어나서 이를 해결하거나, 저장공간을 효율적으로 사용하기 위해 릴레이션을 여러 개로 무손실 분해하는 과정(삽입,삭제,갱신 이상) 4. 반정규화 : ..

데이터베이스의 기본
1. 데이터베이스(DataBase) : 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음. 데이터베이스를 제어, 관리하는 통합시스템을 DBMS라고한다. 각 DBMS마다 정의된 쿼리 언어로 데이터들에 대한 CRUD등을 수행 할 수 있다. 2. 엔터티(Entity) : 사람, 장소, 물건, 사건, 개념 등 여러개의 속성을 지닌 명사를 의미. A가 B의 존재여부에 종속적이라면 A는 약한 엔터티, B는 강한 엔터티라고 할 수 있다. 3. 릴레이션(Relation) : DB에서 정보를 구분하여 저장하는 기본 단위이다. 엔터티에 관한 데이터를 릴레이션하나에 담아 관리. RDBMS에서는 테이블이라고 불리고, NoSQL DB에선 컬렉션이라 불린다. 4. 관계형, 비관계형데이터 베이스 종류 특징 예시 관..
CPU 스케줄링 알고리즘
1. CPU 스케줄링 정의 : 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업 종류 장기 스케줄링 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정해 준비상태 큐로 보내는작업 중기 스케줄링 어떤 프로세스들이 CPU를 할당받을 것인지 결정하는 작업 단기 스케줄링 프로세스가 실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업 목적: 공정성, 처리율 증가, CPU 이용률 증가, 우선순위 제도 , 오버헤드 최소화, 응답시간 최소화, 반환시간 최소화, 대기시간 최소화, 균형있는 자원의 사용, 무한 연기 회피 등 2. CPU 스케줄링 알고리즘 : 어떤 프로그램에 CPU 소유권을 줄 것인지 결정. CPU 이용률은 높게, 시간당 많은 일을 수행하고, 준비 큐에 있는 프로세스는 ..