본문 바로가기

Books

(31)
Clean Architecture (로버트 C. 마틴) - 2 이 글은 로버트 C. 마틴의 'Clean Architecture'를 읽고 정리한 문서이며, 총 3부작으로 구성되어 있습니다. Clean Architecture (로버트 C. 마틴) - 1 Clean Architecture (로버트 C. 마틴) - 3 [ CHAPTER 3 ] 설계 원칙 [ 7장 – SRP: 단일 책임 원칙 ] #1. 하나의 모듈은 하나의, 오직 하나의 액터에 대해서만 책임져야 한다. #2. SRP는 서로 다른 액터가 의존하는 코드를 서로 분리하라고 말한다. [ 8장 – OCP: 개방 폐쇄 원칙 ] #1. 소프트웨어 개체는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다. #2. OCP는 시스템의 아키텍처를 떠받치는 원동력 중 하나다. OCP의 목표는 시스템을 확장하기 쉬운 동시에 ..
Clean Architecture (로버트 C. 마틴) - 1 이 글은 로버트 C. 마틴의 'Clean Architecture'를 읽고 정리한 문서이며, 총 3부작으로 구성되어 있습니다. Clean Architecture (로버트 C. 마틴) - 2 Clean Architecture (로버트 C. 마틴) - 3 [ CHAPTER 1 ] 소개 #1. 프로그램이 동작하도록 만드는 데 엄청난 수준의 지식과 기술이 필요하지는 않다. 언제든 어린 고등학생이라도 할 수 있는 일이다. 이들이 작성한 코드는 그다지 깔끔하지 않을 순 있지만, 동작은 한다. 프로그램을 동작하게 만들기는 그리 어려운 일이 아니기 때문이다. 하지만 프로그램을 제대로 만드는 일은 전혀 다르다. 소프트웨어를 올바르게 만드는 일은 어렵다. 소프트웨어를 제대로 만들려면 적정 수준의 지식과 기술을 겸비해야 하지..
데미안 (헤르만 헤세) “새는 알에서 나오려고 투쟁한다. 알은 세계다. 태어나려는 자는 하나의 세계를 깨뜨려야 한다. 새는 신에게로 날아간다. 신의 이름은 아브락사스.” “나는 내 속에서 솟아나오는 것, 바로 그것을 살아보려고 했다. 그것이 왜 그토록 어려웠을까?” 위의 두 구문은 나에게 다가오는 책 의 모습이다. 싱클레어는 기독교 집안에서 기독교 세계관을 교육받으며 자랐다. 싱클레어는 초등학생 시절 프란츠 크로머라는 질 나쁜 친구와 엮이면서 따뜻한 가족, 천국이 있는 기독교 세계에서 어둠의 세계로 빠져드는 경험을 한다. 이 때 데미안이라는 친구가 나타나 싱클레어를 어둠의 세계에서 구해준다. 데미안이 이 사건을 알고 나자 프란츠 크로머가 더 이상 싱클레어를 괴롭히지 않았기 때문이다. 그렇다고 데미안이 기독교 세계관을 곧이 곧대..
현재를 잘 아는 방법 현재를 잘 파악하고 앞으로 다가올 미래에 대응하고자 하는 것은 인간 본연의 욕구이다. 하지만 삶은 언제나 불안하고 미래는 미리 알 수 없다. 이러한 한계 속에서도 인간은 현재를 진단하고, 미래를 예측하는 도구를 개발하였다. 바로 ‘통계학’과 이를 활용한 ‘데이터 분석’이다. 책 ‘데이터 분석의 힘’에서는 위의 두 가지 중 ‘데이터 분석’에 더 중점을 두어 인간에게 유용한 도구를 알려준다. (‘통계학’의 경우 나의 이전 글인 ‘데이터 분석가의 자세’에서 좀 더 다루었다.) ‘들어가며’ 부분에서 저자는 데이터 분석을 초밥집에 비유한다. 초밥집이 장사가 잘 되기 위해서는 초밥의 재료가 신선해야 하고, 이 재료를 초밥으로 정성스럽게 만들어 줄 요리사가 있어야 하며, 이 초밥이 손님에게 맛이 있어야 한다. 데이터..
데이터 분석가의 자세 2021년, 올해 목표로 삼은 도전이 하나 있다. 데이터 분석 유튜브 채널을 개설하고 50개의 컨텐츠를 만드는 것. 30대의 첫 발자국을 떼며 내가 이 목표를 세운 이유는 앞으로의 삶을 소비자가 아닌 생산자로 살아가고 싶었기 때문이다. 내가 생산자로서 무엇을 할 수 있을까 생각하던 중 앞으로 펼쳐질 빅데이터 시대에는 “데이터의 부익부 빈익빈”이 발생할수도 있겠단 생각이 들었다. 정보화 시대에 들어서 인터넷상의 데이터들은 흘러 넘치지만, 이를 잘 활용할 수 있는 사람들과 그렇지 못한 사람들간의 차이는 데이터 활용의 양극화를 낳게 될 것이기 때문이다. 이 양극화를 해소하는 데 나의 IT 기술을 활용하면 좋겠다 싶어서 시작한 게 “데이터 분석 유튜브 채널” 개설이다. 하지만 코딩은 해봤어도 데이터 분석은 해본..
구조를 알아야 개발이 보인다 (C++로 풀어보는 윈도우 구조) 이 글은 비제이퍼블릭에서 출간한 "(C++로 풀어보는 윈도우 구조) 구조를 알아야 개발이 보인다" 책을 읽고 나서 일부를 발췌한 내용입니다. [ 1장 - 왜 개발자는 윈도우를 알아야 하는가 ] p4) 프로그램을 개발하면 매번 문재 해결의 난관에 부딪치게 됩니다. 여기에서 문제를 해결할 수 있는 포인트를 하나 더 안다는 것은 엄청난 실력 차이를 가질 수 있게 되는 것입니다. p9) 윈도우는 NT 4.0(윈도우 95, 98, ME) 에서 많이 바뀌게 되었습니다. 현재 윈도우 10의 시스템 아키텍처 역시 대부분 NT 4.0의 구조에서 큰 줄기는 바뀌지 않았을 정도입니다. p14) Windows Sysinternals 프로그램 : 프로세스나 스레드, 메모리가 윈도우에서 어떻게 동작하는지 확인할 수 있도록 도와주..
Clean Code - 로버트 C.마틴 이 글은 로버트 C.마틴의 [Clean Code] 를 읽고 정리한 내용입니다. [ 1장 - 깨끗한 코드 ] #1. 보이 스카우트 규칙 아무리 잘 짠 코드도 시간이 지나면 엉망으로 되기 쉽다. 그래서 우리는 코드를 잘 짜는 것 이외에도 코드의 퇴보를 잘 막는 조치가 필요하다. 미국 보이스카우트의 규칙이 코드 관리에도 유용하다. 캠프장에 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라. 체크아웃할때보다 체크인할때 코드를 더 깔끔하게 해놓자. [ 2장 - 의미 있는 이름] #1. 검색하기 쉬운 이름을 사용하라 #2. 멤버 변수 접두어 (m_ 등) 를 붙일 필요가 없다 클래스와 함수는 접두어가 필요없을 정도로 작아야 마땅하고, 멤버 변수를 다른 색상으로 표시하거나 눈에 띄게 보여주는 IDE를 사용해야 마땅하다. 게..