[OS] Operating System
·
Computer Science/Computer Structure & OS
강민철님의 "혼자 공부하는 컴퓨터 구조+운영체제"을 기반으로 학습한 게시물입니다. 📕 목차 1. Operating System 2. Overall 1. Operating System 📌 What is Operating System? 컴퓨터에는 여러 물리적, 논리적 시스템 자원들이 모여있다. Physical Resource : Processor, Memory, Disk, Terminal, Network, ⋯ Virtual Resource : tasks, segments/pages, files, drivers, communication protocols, ⋯ 자원이 한정되어 있으며, 하나 혹은 다수의 프로그램이 자원을 공유하기 위해 관리자가 필요해졌다. 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게..
[TDD] Chapter1 #4. 프라이버시
·
Reference/Test-Driven Development
📌 amount를 private로 만들기 Dollar.times() 연산은 호출받은 객체 값에 인자로 받은 곱수 많큼 곱한 값을 갖는 Dollar를 반환해야 한다. 현재의 테스트가 정확히 그것을 말한다고 보기 어려우므로 수정이 필요하다. @Test void testMultiplication() { Dollar five = new Dollar(5); Dollar product = five.times(2); assertEquals(new Dollar(10), product); product = five.times(3); assertEquals(new Dollar(15), product); } 임시 변수인 product는 쓸모가 없어졌으므로 inline 시키면 아래처럼 바뀐다. @Test void testMu..
[Effective-Java] Chapter10 #73. 추상화 수준에 맞는 예외를 던져라
·
Reference/Effective-Java
📌 예외 번역(Exception Translation) 💡 상위 계층에서는 저수준 예외를 잡아 자신의 추상화 수준에 맞는 예외로 바꿔 던져야 한다. try { ... // 저수준 추상화를 이용한다. } catch (LowerLevelException e) { throw new HigherLevelException(...); // 추상화 수준에 맞게 번역한다. } 메서드가 저수준 예외를 처리하지 않고 바깥으로 전파하면, 내부 구현 방식을 드러내 윗 레벨 API를 오염시킨다. 다음 릴리즈에서 구현 방식을 바꾸면 다른 예외가 튀어나와서 기존 Client 프로그램을 깨지게 할 수도 있다. 🟡 AbstractSequentialList AbstractSequentialList는 List의 골격 구현(Item 20)..
[SQL] Table & View
·
Backend/MySQL
우재남님의 "혼자 공부하는 SQL"을 기반으로 학습한 게시물입니다. 📕 목차 1. 제약 조건(Constraint) 2. 가상 테이블: 뷰(View) 1. 제약 조건(Constraint) 📌 무결성 제약 조건(Data Integrity Constraint Rule) 데이터의 무결성을 지키기 위해 제한하는 조건들 대표적인 제한 조건 Primary key Foreign key Unique Check Default Null 무결성 제약 조건 역할 NOT NULL NULL을 허용하지 않는다. UNIQUE 중복값을 허용하지 않는다. PRIMARY KEY NULL과 중복값을 허용하지 않는다. FOREIGN KEY 참조되는 테이블의 column값이 존재하면 허용한다. CHECK 저장 가능한 데이터 값의 범위나 조건을 ..