Table of contents
오늘 한일
리팩토링
캡슐화 악취 2가지 복습
- 누설된 캡슐화
- 누락된 캡슐화
미활용 캡슐화
- 이미 캡슐화된 타입의 변형을 활용하는 대신 명시적인 타입 점검을 활용할 때
- 새로운 타입을 도입하면 새로운 타입 점검과 관련된 동작을 클라이언트 코드에 추가해야 한다
- 하나 이상의 타입 점검을 빠뜨렸다면, 예상치 못한 행동 양식을 야기할 수 있다
- 행동 양식을 결정하는 조건문을 제거하고, 계층에 다형성 메소드를 도입해야한다.
망가진 모듈화
- 단일 추상화에 국한해야 하는 데이터나 메소드가 어려 추상화에 흩어져 있을 때
- 수정이나 개선을 위해서는 여러 장소의 코드를 변경해야 한다
- 절차적인 설계를 객체로 변환하는 리팩토링을 적용해야 한다
그림으로 배우는 IT 인프라 학습
IT인프라
- I/O 장치
- 데이터 입출력을 담당하는 장치
- 하드 디스크 드라이브(HDD)
- 기록 영역
- 보통 메모리에 비해 CPU에서 떨어진 곳에 위치
- 전기가 없어도 데이터가 사라지지 않는다
- 반도체 디스크 (SDD: Solid State Disk)
- 물리적인 회전 요소를 사용하지 않는 디스크
- 메모리와 같이 반도체로 만들어지지만, 전기가 없어도 데이터가 사라지지 않는다
- 저장소(Storage)
- HDD가 많이 탑재되어 있는 하드웨어
- I/O의 서브 시스템으로 CPU와 캐시가 존재
- 네트워크 인터페이스
- 서버와 외부 장비를 연결하기 위한 인터페이스
- I/O 제어
- I/O 핸들러(IOH)
- CPU와 가까운 곳에 위치하여 노스 브릿지라고 부름
- 과거에는 메모리 I/O 제어
- 최근에는 메모리 I/O 제어를 CPU에서 담당하면서 고속 처리가 필요한 I/O 제어
- I/O 컨트롤러(ICH)
- 사우스 브릿지라고 부름
- 속도가 느려도 괜찮은 DVD나 USB등의 I/O 제어를 담당
- I/O 핸들러(IOH)
- 버스
- 서버 내부에 있는 컴포넌트들을 서로 연결시키는 회선
- 대역이 어느 정도인가가 중요
- 대역 (= throughput: 처리량)
- 전송폭 * 전송 횟수
- 전송폭: 한 번에 데이터를 보낼 수 있는 데이터의 폭
- 전송 횟수: 1초에 전송할 수 있는 횟수
- 버스 대역
- CPU에 가까운 쪽이 1초당 전송량이 크다
- 병목 현상
- 데이터 전송이 어떤 이유로 막혀 있는 상태
- CPU와 장치 사이에 병목 현상이 없어야 함
그림으로 배우는 운영체제 복습
오늘 느낀점
컴퓨터구조, 운영체제, IT 인프라 등 CS 기초 과목은 중복되는 내용이 많은 것 같다. CPU와 메모리는 필수적으로 등장한다. 그럼에도 볼 때마다 새롭다..
내일 할일
- 백준 DP 2문제 풀이