2025-03-21 비행

@장태근· March 21, 2025 · 7 min read

착한 내 친구의 삶까지는 내가 못 챙겨 서로 이해해

컴퓨터 밑바닥의 비밀

  • 프로그래밍 언어는 컴퓨터 과학의 극히 일부다. 컴퓨터와 대화하는 방법이다.
  • 간단한 스위치는 CPU로 전환됐다.
  • 어셈블리어, 기계어에서 마침내 진화한다.
  • 저수준 언어는 개발자가 더 많은 신경을 써야 한다.
  • 어려움에 봉착하여 더욱 편리한 언어의 필요성이 대두됐다.
  • 일상에서 주로 사용하는 언어를 어떻게 CPU에 전달할까? 명령에 공통점은 문(statement)이 됐다.
  • 코드(code)는 단도직입적인 문장이다.
  • 세상의 모든 코드의 기본은 구문(syntax)다.
  • 컴파일러(compiler), 자료구조는 무의미할까?
  • 마침내 고수준 언어가 탄생했다. 고수준 언어의 등장으로 날개를 달았다.
  • CPU는 다양한 형식을 갖는다. 문제를 해결하기 위해서 각 CPU를 추상화한 인터프리터(interpreter)가 등장했다.

생각을 넓혀주는 독서법

읽기 수준은 쌓여가는 것이다. 기초가 없으면 분석하며 읽을 수 없다.

방법

  • 책을 분류한다. 이미 읽은 책과 비교한다.
  • 목차 확인
  • (비소설) 찾아보기 확인
  • 출판사 광고 확인
  • 요약 자세히 읽기
  • 탐정 접근법
  • 겉만 핥아보기: 처음부터 끝까지 읽기, 살피지 않기

50, 이해할 수 있는 부분은 주위를 기울여 읽고 금방 이해가 안 되는 부분은 멈추지 말고 그냥 넘어가라. 아무리 어려워도 계속 읽으면 곧 이해할 수 있는 부분이 나타난다. 그러면 다시 이 부분을 집중해서 읽는다. 이렇게 각주, 주석, 참고문헌 등으로 빠져나가지 말고 끝까지 읽는다. 딴 데로 새면 길을 잃는다. 모르는 문제는 붙들고 있어봤자 풀 수 없다. 다시 읽어야 훨씬 쉽게 이해하게 된다. 그러니 '일단 처음부터 끝까지' 읽고 나서 다시 읽어야 한다.

  • 다양한 속도 읽기
  • 이해력 높이기

    • 이해력을 높여야 적극적으로 책을 읽을 수 있다.

너, 내 동료가 돼라

62, 글을 읽는다는 것은 저자와 독자 사이에 대화가 되어야 한다는 것이다. (중략) 그런데 이해 한다는 것은 상호적이다. 즉 뭔가를 배우려면 자신에게 질문하고 가르치는 사람에게도 질문해야 한다. 가르치는 사람이 하는 이야기를 이해하고 나면 기꺼이 그와 토론하고 싶어 할 정도가 되어야 한다.

  • 질문을 위해 메모하는 다양한 방법을 설명한다.

    • 책에 직접 메모하는 방법을 선호하지 않는다.
    • 지적 소유권 주장, 면지에 요약 정리하기

구조 파악

개념 파악 전초제

  1. 어떤 분류인가?
  2. 전체적으로 무엇을 이야기하는가?
  3. 저자는 어떤 방식으로 주제를 전개하는가?

습관 만들기

66, 기술이 있다는 말은 뭔가를 만들거나 어떤 일을 하는 원칙을 아는 것이 아니라 그 일을 하는 데 어떤 습관을 익혔다는 말이다. ...(중략) ... 원칙을 모르면서 원칙대로 할 수 없다. 원칙대로 하지 않으면서 습관처럼 익숙하게 기능이나 기술을 발휘할 수도 없다. 배워서 터득할 수 있는 기술에는 원칙이 있다. 그리고 배워서 터득한 기술은 원칙을 따라 하는 습관에서 생겨난다.

습관을 어떻게 만들 수 있을까?

69, 원칙이 다양하다는 것은 별개 습관이 여럿 모인다는 것이 아니라 형성할 하나의 습관이 그만큼 복잡하다는 뜻이다. 각각의 원칙이 저절로 움직이는 단계에 이르면 서로 맞물려 하나를 이루게 된다.

자바 알고리즘 인터뷰 with 코틀린

OOP, 복잡도, 재사용성, 독립적, 유연하게 협력하는 방법

  • 캡슐화, 변수와 함수를 클래스 단위로 묶어 분리하다.
  • 외부와 협력하기 위해 접근 제어자(Access Modifier)를 도입했다.
  • 추상화, 의도 자체에 집중하여 복잡도를 낮추다.
  • 상속, 필요한 개념을 이어 물려받아 재사용성을 높이다.
  • 다형성, 상황에 따라 달리 동작하다. (오버로딩, 오버라이딩)
  • FizzBuzzEnterpriseEdition: 과도한 추상화의 결과

마치며

컨디션이 좋지 않아 평소보다 적은 학습을 이어갔다. 날카로운 예민함을 덜어가는 것으로 한 잔.

오늘의 함께 읽기

@장태근
개발자. 명료한 생각이 명료한 글이 된다.