목록IO (2)
개발자는 기록이 답이다

자바의 신 책에는 DTO에 Serializable를 꼭 구현해야 된다고 되어 있다. 하지만 나는 Spring boot 프로젝트를 했을때 한번도 구현하지 않았는데도, 문제가 없었던것 같다. 어떤 관련이 있는지 "직렬화"라는 개념에 대해서 더 정확히 이해하고자 한다. 본 포스팅을 이해하기 위해서는 사전에 IO에 대한 배경지식이 필요하다. 1. 직렬화란? 직렬화라는 개념은 wiki에서 나오는 것처럼"데이터의 구조"나 객체의 "상태"를 지속되게 만드는 프로세스이다. 우리가 만든 데이터와 객체는 이미 비트로 표현되어 있으며, 해당 객체가 네트워크로 전송되거나 데이터베이스에 저장되기 위해 객체의 상태를 연속적인 바이트 형태로 유지하는 것이 바로 직렬화이다. 여기서 마샬링이라는 개념도 나오는데, 직렬화랑 비슷하지만 ..

1. 장치 컨트롤러와 장치 드라이버 우리가 실제로 사용하는 컴퓨터를 생각해보면 CPU와 메모리만 있지 않다. 스피커, 모니터, 키보드, 마우스 등과 같은 입출력 장치와 외장 하드 디스크나 USB메모리 등 보조기억장치가 함께 한다. 이번 절에서는 장치 컨트롤러와 장치 드라이버 개념을 통해 다양한 외부 장치가 컴퓨터 내부와 어떻게 소통하는지 알아보자. (이번 장에서 언급될 입출력 장치는 7장의 보조기억장치도 포함된다. 보조기억장치가 컴퓨터 내부와 정보를 주고받는 방식은 입출력장치와 크게 다르지 않다) 장치 컨트롤러 입출력장치는 앞에서 학습한 CPU, 메모리보다 다루기 훨씬 까다롭다. 1) 입출력 장치에는 종류가 너무 많다 스피커, 모니터, 키보드, 마우스, USB메모리, CD-ROM, SSD, 프린터, 마이..