오늘 한일

리팩토링

  • 캡슐화 악취 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 제어를 담당
  • 버스
    • 서버 내부에 있는 컴포넌트들을 서로 연결시키는 회선
    • 대역이 어느 정도인가가 중요
    • 대역 (= throughput: 처리량)
      • 전송폭 * 전송 횟수
      • 전송폭: 한 번에 데이터를 보낼 수 있는 데이터의 폭
      • 전송 횟수: 1초에 전송할 수 있는 횟수
    • 버스 대역
      • CPU에 가까운 쪽이 1초당 전송량이 크다
    • 병목 현상
      • 데이터 전송이 어떤 이유로 막혀 있는 상태
      • CPU와 장치 사이에 병목 현상이 없어야 함

그림으로 배우는 운영체제 복습

오늘 느낀점

컴퓨터구조, 운영체제, IT 인프라 등 CS 기초 과목은 중복되는 내용이 많은 것 같다. CPU와 메모리는 필수적으로 등장한다. 그럼에도 볼 때마다 새롭다..

내일 할일

  • 백준 DP 2문제 풀이