본문 바로가기

전체 글

(120)
다시 입학 다시 대학에 갈 줄은 몰랐다. 일할 때 컴퓨터 과학과로 편입을 했었고 어찌어찌 졸업을 했었다. 그때는 직무와 학과가 맞기도 하였고 좀 더 배우면 좋겠다는 생각과 나중에 이직할 때 경력 + 학력이 더해지면 좋다는 이야기에 다녔었다. 나만의 서비스를 만들어볼려던 중 문득 이렇게 만드는 게 맞을까 더 좋은 방법은 무엇일까와 이미 비슷한 다른 서비스가 있는데 차이점이 일부 있다 하여 서비스 자체를 만드는 게 맞는가라는 생각이 들었다. 이미 오픈된 서비스들과의 비교를 하려다보니 이전에 수료했던 프로그램에서 SWOT분석을 해보았던 게 떠올랐다. 왠지 경영학과를 가면 그러한 기법들과 서비스를 운영하는 것을 체계적으로 배울 수 있지 않을까 싶었다. 물론 구글링을 하면 되지만 구글링과 GPT만으로는 그 학문의 뼈대를 알..
[컴퓨터 시스템 딥다이브] ch00, 01 시작하며, C 프로그래밍 기초 이 글은 컴퓨터 시스템 딥다이브(수잰 J. 매슈스, 한빛미디어 2024)를 읽고 적은 글입니다. ch00 시작하며 컴퓨터 시스템이 무엇인지 소개하고 시작한다. 컴퓨터 구조, 컴퓨터 시스템, 시스템 프로그래밍, 운영체제 컴퓨터 구조와 운영체제는 확실하게 구분되었었지만 컴퓨터 구조, 컴퓨터 시스템, 시스템 프로그래밍의 경우 개인적으로 구분이 모호했었다. 책에서는 컴퓨터 시스템을 하드웨어(CPU, RAM, DISK) + 운영체제라며 확실하게 범위를 명시해 준다. 범용성에 중점을 둔다 하며 그 의미는 재사용이 가능하다는 의미라 한다. 하드웨어와 시스템 소프트웨어(운영체제)에 바뀌더라도 프로그램의 실행을 지원한다. 현대 컴퓨터 소개에 데스크탑, 랩탑을 넘어서 라즈베리파이까지 소개해주어 좋았다. 라즈베리파이의 경우..
[오브젝트] ch03 역할, 책임, 협력 OOP 패러다임의 본질은 협력하는 객체들의 공동체를 만드는 것 “객체지향 설계의 핵심은 협력을 구성하기 위해 적절한 객체를 찾고 적절한 책임을 할당하는 과정에서 드러난다.”73p 하지만 적절하다는 표현에 대한 의구심은 들었다. 적절하다는 것은 이미 경험해본 사람만이 정할 수 있는 것 아닌가 와 경험해 본 사람들 간에서도 차이가 있을 수 있다. 아직은 초반이니 그려러니하고 우선 읽어 나아가 보고 적용해 봐야 저 말의 의미를 조금은 알 수 있겠다 싶다. 협력 “객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용을 협력이라고 한다.”74p “객체가 협력에 참여하기 위해 수행하는 로직은 책임이라고 부른다.”75p “객체들이 협력 안에서 수행하는 책임들이 모여 객체가 수행하는 역할을 구성한다.”75p ..