한윤석 개발 블로그

배운 것을 적는 블로그입니다.

한 권으로 읽는 컴퓨터 구조와 프로그래밍 스터디 서평

등록일: 2023-06-03
수정일: 2023-06-03

개발자라면 한 번쯤을 고민해 보는 문제가 있다. 바로 얼마나 공부를 깊게 해야 하는가?이다. 정답은 적당히 해야 한다는 것인데 대체 어느 정도가 적당하다는 걸까?

이 책을 보면서 그 적당함에 대한 감을 좀 잡은 것 같다. 예를 들어서 프로그램에서 무언가를 기억하기 위해 변수를 만든다. 변수는 어떤 값을 가리키는 레퍼런스다. 근데 이제 이렇게도 설명할 수 있다. 변수라는 것은 메모리에 값을 집어넣고, 반복해서 같은 값이 나오도록 하는 행위라고도 표현할 수 있다. 실제로 메모리는 어떤 값이 들어가면 같은 클록에도 같은 값이 계속 나오는 것이 메모리기 때문이다.

컴퓨터 구조에 대해 알면 프로그래밍 언어가 왜 이렇게 설계되었는지도 알 수 있다. 우리가 사용하는 값은 문맥에 따라 표현하는 값이 달라진다. 예를 들어서 같은 1111이라도 그냥 2진수로 보느냐 2의 보수로 보느냐로 값이 다르게 읽힌다. 코틀린에서 -1을 Unsgined byte로 변경하면 255가 된다. 2의 보수로 읽으면 -1이지만 부호 없는 2진수로 보면 255이기 때문이다
또 메모리를 읽을 때 블록으로 읽는 이유에 대해서도 배웠는데, MySQL의 B Tree를 왜 블록 단위로 읽을 수 있도록 설계했는지 연결해서 이해할 수 있어서 좋았다.

이렇게 기본 원리를 제대로 알면 더 구체적으로 설명할 수 있다는 것을 알게 되었고, 다른 것을 공부할 때 도움이 된다는 것을 배웠다. 앞으로도 기초를 더 튼튼히 해야겠다

참고


자바스크립트로 직접 만들면서 배우는 - 자료구조와 알고리즘 강의 바로 가기
기계인간 이종립, 소프트웨어 개발의 지혜 - Git 강의 바로 가기

코드숨에서 매주 스터디를 진행하고 있습니다. 메일을 등록하시면 새로운 스터디가 시작될 때 알려드릴게요!