728x90

CODE

 전자의 이동부터 시작해서 현대의 컴퓨터 작동원리를 알려주고, 몇 개의 프로그래밍 언어를 소개하며 끝나는 책입니다.

다 읽는데 굉장히 오래 걸렸습니다. 모르는 단어도 많고 단어는 알아도 무슨 말하는지 모르겠는 게 허다했습니다. 특히 회로 부분과 메모리의 명령어는 아마 열 번은 읽어야 얼추 이해하지 않을까 싶습니다.

 

 그럼에도 책의 순서가 작은 부품에서 시작해서 그 부품들을 조립해 하나의 물건을 만드는 과정처럼 되어 있어서 끝까지 읽을 수 있었습니다. 먼저 전자에 대해 알려주고, 전자의 이동을 통해서 신호를 보내는 것을 설명합니다. 그리고는 신호의 방법과 이진수, 릴레이, 스위치, 논리, 회로를 거쳐 컴퓨터의 작동 방법에 이르렀습니다. 만약 이렇게 순서대로 하지 않았다면 회로에서 책을 덮고 오랜 시간 뒤에 다시 펼쳤을 것 같습니다. ㅎㅎ..ㅎ.

 

 책은 재밌고, 유용했습니다. 이전의 수업에서는 프로그래밍 위주의 학습이었습니다. 그래서 '십진수 1+1은 컴퓨터에서 어떤 과정을 거쳐서 답이 나오는 걸까'와 같은 기초적인 컴퓨터 동작 과정이 궁금했었는데 그에 대한 대답을 알 수 있었습니다. 그리고 그냥 사용하던 컴퓨터의 단위나 동작들이 다르게 보였습니다. RAM이나 하드디스크의 용량이 금세 커진 것을 다시 한번 느끼기도 하고, CPU에 Hz단위를 사용하는 것이나 32비트 운영체제에서 64비트 운영체제로 변경된 점 등 새로 알게 된 것도 많았습니다. 근데 또 이렇게 작성하는 와중에 이유가 뭐였지?라고 생각하니 생각이 어렴풋이 나는 것이 금세 까먹어 버린 듯합니다. 그래도 한 번 읽어 뒀으니 다음에는 더 많은 부분을 이해할 수 있겠지 생각하며 가끔씩 꺼내봐야겠습니다.

 

 

 

 

 

 

 

 

 

728x90

'잡담 > 리뷰' 카테고리의 다른 글

Clean Code 책 후기  (0) 2022.09.24
728x90

 

 팀 프로젝트를 진행하던 중에 자주 들었던 생각이 있습니다. ‘내가 제대로 코드를 짜고 있는 걸까?’ 기능적으로는 원하는 방향으로 작동했기 때문에 문제는 없었지만 팀과 같이 협업할 때와 유지보수를 해야 할 때 문제가 없을까 하는 의문도 같이 들었습니다. 이런 의문을 해결하고자 찾아보았던 책이 클린 코드와 마틴 파울러의 ‘리팩토링’이란 책이었습니다. 다른 주제를 다루는 것 같으면서도 비슷한 내용 같아 무슨 책을 먼저 구매할까 고민하다가 표지가 마음에 들어 클린 코드를 먼저 구매했습니다.

 

 다 읽은 후에는 팀 프로젝트를 마무리할 즈음에 구매한 책이라 설계 단계부터 적용을 하지 못해 아쉽다는 생각이 들었습니다. 작게는 이름을 정하는 규칙부터 크게는 어떻게 구조적으로 코드를 짜야 하는지까지 알려주는 책입니다. 그리고 실제로 저자가 코드를 수정하고 어떤 사고의 과정을 거쳐 그렇게 수행했는지 알려주기 때문에 이해하는데 더욱 쉬웠습니다. 저자가 많은 원칙을 강조하는데 그중 단일 책임 원칙과 OCP 그리고 TDD가 기억에 남습니다. TDD는 원칙은 아니지만 일단 ㅎㅎ.

 

 단일 책임 원칙이 기억나는 이유는 프로젝트를 진행하면서 클래스를 제대로 구분하지 않아 한 가지가 아닌 여러 이유에서 같은 클래스를 수정한 경험 때문에 그렇습니다. 팀 프로젝트를 리팩토링 할 예정인데 거기서 이 원칙에 알맞게 수정을 해봐야겠습니다. OCP는 추상화를 잘 사용하는 방법인 것 같아서, 그 방법을 자유자재로 사용하고 싶은 마음에 기억에 남습니다. 하지만 이 방법을 잘 사용하려면 추상화 단계를 구분하여 클래스나 모듈을 구성해야 하는데, 책에 쓰여있는 것처럼 딱 봐서는 추상화 단계를 구분하기가 어려워 이해하는데 시간이 좀 걸릴 것 같습니다. TDD는 책에서 정말로 강조를 많이 하기 때문에 궁금함이 생겼습니다. ‘왜 이렇게 강조를 할까?’라는 생각이 들었는데 테스트 코드를 작성하는 방법도 찾아보고 해서 적용해봐야겠습니다.

 

 그런데 책이 이해하기 쉽다고는 했지만 제가 모르는 원칙이나 개념들이 많아서 그런 단어들이 나오면 찾아보면서 읽느라 좀 오래 걸리긴 했습니다. 단어를 찾아봐도 정확히 이해하지 못하는 부분들도 있었습니다. 때문에 일정 주기를 두고 계속해서 읽어 봐야 할 책 같습니다.

 

 그리고 공감하기 어려운 부분도 있었습니다. 책에서 클래스나 변수, 메서드의 이름을 짓는 부분은 영어를 사용하는 문화에서는 바로 이해해도 한국에서는 바로 와 닿기는 힘들겠다 생각했습니다. 예를 들어 함수가 하는 일을 잘 표현하도록 서술적인 이름을 사용하라 하면서 includesetupAndTeardownPage라는 이름의 함수를 짓습니다. 근데 한국어로 하면 ‘설정과 해제 페이지를 넣어라’라는 뜻인데 이게 영어로 작성되어 있을 경우 영어를 한 번 인식하고 한국어로 해석하는 과정을 거치기 때문에 책에 작성된 것처럼은 공감하기 어려웠습니다.

 

 하지만 개발에서는 영어가 주요 언어이고 많은 공식 문서나 커뮤니티 또한 영어를 사용하기 때문에 제가 공부를 해야겠다고 생각이 들었습니다. 허헣..

728x90

'잡담 > 리뷰' 카테고리의 다른 글

[독후감] CODE  (0) 2022.10.02
728x90

어제까지 부록을 제외하고는 Clean Code라는 책을 다 읽었습니다.

깨끗한 코드라는 건 뭘까?라는 클린코드 단어의 정의 개요부터 시작해 몇몇 방법들을 소개합니다.

이후에는 기존의 코드들을 직접 리팩토링하는 과정을 보여주며 

이론을 적용하고 그런 생각을 한 이유를 작성해 독자의 이해를 도와줍니다.

 

물론 제가 초보라 이해하기 어려운 부분들이 많이 있었지만 도움이 될만한 부분도 많아서

두고두고 보면서 잊지 않으려고 글을 작성합니다.  물론 시간이 된다면 그때마다 책을 다시 읽을 생각입니다. ㅎ

클래스와 변수의 이름을 정할 때는 명사가 좋다.
메서드와 함수는 어떤 기능을 하는지 서술형으로 작성해라.
클래스의 경우 한 클래스가 하나의 역할만 가지도록 해라.
모든 테스트를 실행한다.
중복을 줄여라.
프로그래머의 의도를 표현한다.
클래스와 메서드 수를 최소로 줄인다.

등 책에는 더 많은 개념들과 자세한 수정한 과정들이 작성되어 있습니다.

 

그리고 책에서는 TDD를 굉장히 강조하는데 저는 아직 한 번도 해본 적은 없지만

저랑 잘 맞을 것 같다는 생각이 듭니다. 다음 프로젝트나 기존 프로젝트를 수정할 때

테스트 코드도 짜보도록 해야겠습니다.

728x90

'잡담' 카테고리의 다른 글

백준 CLASS 1 ++  (0) 2022.01.10
노션(Notion) 간단한 가계부 공유  (0) 2021.12.21
728x90

요걸 다 채워보겠다고 주말부터 몇 문제씩 풀었다.

주로 브론즈 수준이라 쉽기는 했지만 문법들을 다시 되살리는데 도움이 되었닷

이제는 CLASS 2를 채워 보도록 해야지

728x90

'잡담' 카테고리의 다른 글

조금 더 깨끗한 코드를 작성하려면?  (0) 2022.08.28
노션(Notion) 간단한 가계부 공유  (0) 2021.12.21
728x90

https://jealous-gasoline-34d.notion.site/73c3ee532c3f4f779f42b3503048c6e9

- 가계부 공유용 노션 링크

 

 

 가계부를 몇 년 전부터 쓰고 있는데 핸드폰을 바꾸게 되면 초기화가 되기도 하고

바꿀 때마다 데이터를 옮기는 게 귀찮아서 노션에다가 간단히 만들어두고

필요한 기능이 있을 때마다 고쳐가며 써보려고 합니다.

 

 지금 만들어둔 가계부는 정말 간단한 기능들로만 채워뒀고

매달 페이지만 복사해서 제목만 바꿔서 사용해주시면 됩니다.

 

가계부 하위 페이지

사용처

 - 사용한 걸 적어주시면 됩니다.

 저는 점심, 저녁 등을 나눠서 작성하는데 이 또한 새로운 열을 만들어 태그를 추가해도 됩니다.

 

태그

 - 큰 태그로 나눠서 나중에 분류해서 보려고 합니다. 

식비, 미용, 옷, 전자기기, 경조사 등 큰 분류를 만들 예정이고

만들고 싶은 태그가 있으면 태그를 누르고 옵션에서 직접 쓴 다음

왼쪽 옆에 생성 버튼을 누르기만 하면 됩니다.

 

금액

 - 금액은 마지막 행에 다 더해진 값이 오도록 해뒀습니다.

 

수단

 - 결제를 무엇으로 했는지 고르면 됩니다.

현재는 네이버페이, 카카오페이, 현금, 체크카드, 신용카드만 추가해뒀는데

카드사별로 추가로 생성해서 사용하면 됩니다.

 

링크에 들어가 보시면 하위 페이지를 월별로 해두었기 때문에

새로운 월 가계부가 필요하면 페이지를 그대로 복사해서 사용하면 됩니다.

미리 1월처럼 서식만 있는 페이지를 복사해두세요 나중에 복사하면 내용 지우느라 귀찮잖아요

사용할 때에는 제목만 바꿔주세요. 

728x90

'잡담' 카테고리의 다른 글

조금 더 깨끗한 코드를 작성하려면?  (0) 2022.08.28
백준 CLASS 1 ++  (0) 2022.01.10

+ Recent posts