본문 바로가기

전체 글

(97)
[오브젝트] ch04 설계 품질과 트레이드오프 후기 데이터 중심 설계의 단점을 언급한다. 상태를 기반으로 하고 설계라는 것은 결국 변화할 수밖에 없는데 초기에 데이터에 집중해서 만들다 보면 추상화가 아닌 구체화가 되고 캡슐화가 안된 코드가 나오게 되어서 좋지 않다라고 나는 이해하였다. 응집도와 결합도에 대해서도 여러 코드를 기반으로 설명해 준다. 읽으면서 드는 생각은 내가 그동안 주로 죽어있는 프로그램을 만들었구나라는 생각이었다. 한번 만들고 계속 유저가 있어서 피드백 받는 프로그램들이 아니었기에 처음 설계한 방식에서 바뀔 일이 잘 없었다. 코드가 보기 좋지 않아서 수정하는 정도가 아닌 다음에는 기능적으로 변경이나 추가가 없었다. 그랬기에 책에서 나오는 데이터 중심으로 설계한 프로그램의 사례의 단점이 확 와닿지 않았다. 나쁜 설계와 좋은 설계를 같이..
다시 입학 다시 대학에 갈 줄은 몰랐다. 일할 때 컴퓨터 과학과로 편입을 했었고 어찌어찌 졸업을 했었다. 그때는 직무와 학과가 맞기도 하였고 좀 더 배우면 좋겠다는 생각과 나중에 이직할 때 경력 + 학력이 더해지면 좋다는 이야기에 다녔었다. 나만의 서비스를 만들어볼려던 중 문득 이렇게 만드는 게 맞을까 더 좋은 방법은 무엇일까와 이미 비슷한 다른 서비스가 있는데 차이점이 일부 있다 하여 서비스 자체를 만드는 게 맞는가라는 생각이 들었다. 이미 오픈된 서비스들과의 비교를 하려다보니 이전에 수료했던 프로그램에서 SWOT분석을 해보았던 게 떠올랐다. 왠지 경영학과를 가면 그러한 기법들과 서비스를 운영하는 것을 체계적으로 배울 수 있지 않을까 싶었다. 물론 구글링을 하면 되지만 구글링과 GPT만으로는 그 학문의 뼈대를 알..
[컴퓨터 시스템 딥다이브] ch00, 01 시작하며, C 프로그래밍 기초 이 글은 컴퓨터 시스템 딥다이브(수잰 J. 매슈스, 한빛미디어 2024)를 읽고 적은 글입니다. ch00 시작하며 컴퓨터 시스템이 무엇인지 소개하고 시작한다. 컴퓨터 구조, 컴퓨터 시스템, 시스템 프로그래밍, 운영체제 컴퓨터 구조와 운영체제는 확실하게 구분되었었지만 컴퓨터 구조, 컴퓨터 시스템, 시스템 프로그래밍의 경우 개인적으로 구분이 모호했었다. 책에서는 컴퓨터 시스템을 하드웨어(CPU, RAM, DISK) + 운영체제라며 확실하게 범위를 명시해 준다. 범용성에 중점을 둔다 하며 그 의미는 재사용이 가능하다는 의미라 한다. 하드웨어와 시스템 소프트웨어(운영체제)에 바뀌더라도 프로그램의 실행을 지원한다. 현대 컴퓨터 소개에 데스크탑, 랩탑을 넘어서 라즈베리파이까지 소개해주어 좋았다. 라즈베리파이의 경우..