본문 바로가기

Computer Science7

[리뷰] 262가지 문제로 정복하는 코딩 인터뷰 in Java 👉 본 리뷰는 출판사로부터 책을 무료로 제공받아 작성한 리뷰입니다. 최근, 코딩 열풍으로 인하여 많은 인원들이 개발자가 되기 위하여 공부하고 있습니다. 이에 맞추어 기업 또한 더 좋은 인재를 찾기 위하여 다양한 채용 프로세스를 도입하고 있습니다. 그중 하나가 바로 '라이브 코딩'. 하나의 문제를 면접관과 지속적으로 소통하며 좋은 방향으로 풀어나가는 채용 전형입니다. 여기에서 제시되는 문제는 알고리즘 문제인 경우가 많기 때문에, '코딩 테스트'를 준비하며 함께 준비가 되기도 합니다. 하지만, '코딩 테스트'와는 달리 면접관과 소통을 통하여 문제를 풀어가는 형식이기 때문에 보다 전략적으로 준비를 해야 좋은 결과를 얻을 수 있을 것입니다. 저 또한 이러한 '라이브 코딩'을 지속적으로 보고 있습니다. '라이브 .. 2021. 10. 30.
컴퓨터 내부 구조 😊 본 글은 한 권으로 읽는 컴퓨터 구조 책을 읽고 정리했습니다. 우리는 앞에서 이야기 한 내용들을 이용하여 비트를 조작하는 회로를 만들 수 있게 되었다. 이런 회로를 우리는 컴퓨터라고 한다. 현대의 컴퓨터는 크게 메모리, 입출력, CPU로 나누어진다. 이번 장에서는 이 세가지 부분이 서로 어떻게 연관이 되는 지 공부해보겠다. 메모리 컴퓨터에는 조작할 비트들을 저장할 저장소가 필요하다. 앞에서 이를 메모리에 저장한다고 배웠는데, 이제 컴퓨터가 이 메모리를 어떻게 쓰는 지 알아보자. 메모리는 각 위치에 주소가 부여되며, 이 주소로 메모리에 접근을 할 수 있다. 예를 들어서 64MiB의 메모리를 사용한다면 64 * 1024 * 1024인 67108864바이트만큼의 주소가 생성이 된다. 이렇게 주소로 메모리를.. 2021. 9. 12.
메모리와 디스크의 핵심 : 순차 논리 😊 본 글은 한 권으로 읽는 컴퓨터 구조 책을 읽고 정리했습니다. 우리는 지금까지 컴퓨터가 입력을 어떻게 처리하는지에 대하여 배운다. 이를 조합 논리라고 칭하였다. 하지만, 이것만으로는 우리가 원하는 복잡한 작업을 처리할 수 없다. 조합 논리만으로는 흐름의 일부분을 떼어내서 기억할 수 없기 때문이다. 이러한 문제를 해결하기 위하여 순차 논리에 대하여 이야기해볼 것이다. 순차 논리란 입력의 현재 상태와 과거 상태를 함께 고려한다. 이번 글에서는 시간을 만들어 내는 회로와 과거를 기억하기 위한 회로에 대해 이야기해 볼 것이다. 시간 표현과 상태 기억 발진자 발진자는 인버터의 출력을 다음 그림과 같이 입력에 연결하는 트릭을 이용하여 동작한다. 이러한 출력을 입력에 되먹이는 특성(feedback)을 통하여 출력.. 2021. 8. 8.
전자 회로의 조합 논리 😊 본 글은 한 권으로 읽는 컴퓨터 구조 책을 읽고 정리했습니다. 아날로그와 디지털의 차이 1에서 10까지 있는 자와 열 손가락을 예시로 들 수 있다. 동일하게 1부터 10까지를 표현할 수 있으나 손가락으로 아무리 열심히 표현해도 3.141592...를 표현할 수는 없을 것이다. 그에 비하여 자에는 어딘가에든 3.141592...이 존재할 것이다. 자는 연속적이기 때문이다. 연속적이라는 말은 실수를 표현할 수 있다는 뜻으로도 볼 수 있다. 1,2,3과 같이 자연수는 물론 3.141592...와 같이 무한한 수라도 연속적인 자 위에 어딘가에는 존재할 것이기 때문이다. 반면 제한적으로 표현할 수 있는 손가락은 이산적이라고 부르며 정수만 표현할 수 있다. 각 각의 값들 사이에는 다른 무수한 수들이 존재하지 않.. 2021. 8. 4.