본문 바로가기
728x90

도서55

1.9 ~ 1.11 비트 연산 1.9 비트 연산 모든 논리적 처리를 분해해 비트로 표현할 수 있다고 해도, 비트 자체로는 아무런 정보가 되지 못한다. 비트 자체는 다른 비트와의 관계를 가질 가능성이 없다. 비트를 통해 결과를 내기 위해선 한 개 이상의 비트를 통해 어떤 관계성을 판단하고 한 개 이상의 비트를 출력하는 비트 연산이 필요하다. 가장 기본적인 비트 연산으로는 AND, OR, XOR, NOT(Inverter)가 존재한다. 이 연산들이 회로로 구현되면 그것을 게이트 회로 또는 게이트라고 한다. 비트 연산을 논리곱, 논리합이라고 표현하기도 한다. 논리곱 결과는 False를 0, True를 1로 두고 곱셈 연산을 하는 것과 일치하다. 곱셈 연산 AND(논리곱) 0 x 0 = 0 0 AND 0 = 0 0 x 1 = 0 0 AND 1.. 2022. 11. 3.
1.6 ~ 1.8 비트 1.6 조지 부울의 등장 조지 부울은 모든 논리는 0과 1의 두 값으로 환원할 수 있다는 논리를 발표했고 이를 부울 대수라 부른다. 부울 대수는 컴퓨터에는 왜 True(1), False(0)만 표현할 수 있는 2치 논리형이 좋은가의 논리적 근거가 된다. 조지 부울이 밝힌 논리를 실제의 전기 회로로 실현한 것이 논리 회로이며 대부분의 디지털 회로가 논리회로다. 논리 회로로 인해 다음과 같은 것들이 가능해졌다. 1. 계산 2. 기억 3. 사례 구분 4. 카운터 5. 선택 1.7 비트 대부분의 컴퓨터는 디지털 방식으로 동작한다. 데이터는 2치 논리형으로 취급된다. 컴퓨터 내부 정보를 더 이상 나눌 수 없는 최소의 상태까지 나누면 False, True가 된다. 이 최소 단위를 비트라 한다. 비트를 표현하는 방식.. 2022. 11. 3.
1.2~1.5 디지털과 아날로그 1.2 연속과 이산 아날로그와 디지털의 차이는 연속과 이산에 있다. 연속은 끊어진 자국이 없는 상태, 이산은 끊어진 자국이 있는 상태이다. 연속은 끊어진 단위가 존재하지 않기 때문에 무한하게 자를 수 있는 반면 이산은 사전에 결정된 최소한의 해상도(또는 단위)가 존재하기 때문에 더 이상 자를 수 없다. 예컨대 연속인 숫자와 이산인 숫자의 중간값을 한없이 찾는 과정을 상상해 보자. 연속인 숫자는 무한정 자를 수 있으므로 탐색 과정은 다음과 같다. 이제 해상도가 1인 이산인 숫자에서 중간 숫자를 찾는 과정을 도식화하면 다음과 같다. 위 이산인 숫자 탐색 과정에서 0과 1 사이를 찾는 방식은 수학의 반올림과 비슷하다. 그러나 반올림은 올림, 내림, 사사오입 등의 다양한 방식이 있는 반면, 전자 회로 디지털 정.. 2022. 11. 3.
Chapter10. 스프링 MVC 프레임워크 동작 방식 스프링 MVC 핵심 구성 요소 스프링 MVC의 핵심 수성 요소와 그들의 관계를 정리하면 다음과 같다. 이 관계도는 API가 아닌 페이지를 응답하는 기준으로 작성되었다. 위 그림에서 "이 붙은 요소는 빈 등록을 요구하는 요소다. JPS, Controller는 사용자가 직접 구현해야 한다. 1. 요청 전송 DispatcherServlet은 클라이언트로 부터 요청을 받고 모든 연결을 담당한다. 2. 요청 URL과 매칭되는 컨트롤러 검색 HandlerMapping 빈 객체에게 컨트롤러 검색을 요청한다. 그러면 HandlerMapping은 클라이언트의 요청 경로를 이용해 이를 처리한 컨트롤러 빈 객체를 DispatcherServlet에 전달한다. 이 때, 스프링에서 컨트롤러를 구현할 수 있는 방식은 다음과 같이 .. 2022. 8. 21.
728x90