본문 바로가기

CS (Computer Science)9

독후감 : 면접을 위한 CS 전공지식 노트 3일차, 4일차 (중단) (네트워크) 2장에는 네트워크에 관련된 내용들이 있다. 전체적으로 복습하는 느낌으로 빠르게 읽었다. 2장 네트워크 토플로지 노드가 어떤 방식으로 서로 연결되는지를 나타내는 용어 각 장단점이 있고, 병목 현상을 해결할 때 고려해야하는 사항이 된다. 2.2 TCP/IP 4계층 모델 이전에 한 번 학습하긴 했다. 쉽게 말하면 일반적으로 서버에서 클라이언트까지 퀵서비스를 보낼 수 없다. 그래서 택배를 보내는데, 기사님이 수거하고 하차장 가고 수도권 HUB에 모였다가 다시 상하차 되고 지점영업소로 옮기고 최종적으로 담당 기사님이 배송지로 가져다준다. 데이터를 애플리케이션부터 필요한 포장을 하며 실제 데이터 선까지 보내고 다시 애플리케이션으로 포장을 푸는 과정. 3 Handshake 여기서 클라이언트-서버 간에 제대로 도착했는.. 2023. 12. 12.
독후감 : 면접을 위한 CS 전공지식 노트 2일차 1장 : 디자인 패턴 싱글톤부터 몇가지 패턴을 설명해준다. 중반에는 MVC, MVP, MVVM 패턴과 같은 애플리케이션 구성요소에서의 패턴을 설명했다. 앞부분에 나온 클래스 구성의 몇가지 패턴에 대해 처음접해서 정리하며 이해했다. 항상 무언가를 이해하려 할때 쉬운 말로 비유를 한마디로 하는 것을 목표로 한다. 그래서 아래 '한마디로' 를 포함하여 정리했다. 싱글톤 한마디로 : '인스턴스 하나 만들어서 사용하기' 인스턴스를 하나만 생성하기에 두번 생성하여 해시코드를 찍어보면 같아야 한다. DB 모듈 연결에 실제로 사용된다. 의존성 주입을 통해 모듈 간의 결합을 조금 더 느슨하게 만들어줄 수 있다. 단점 TDD에 걸림돌이 된다. 한번 생성되면 계속 메모리에 남아있게 되고, 단위 테스트시 각 테스트마나 독립적.. 2023. 12. 11.
독후감 : 면접을 위한 CS 전공지식 노트 1일차 참 좋은 세상이다. E-Book 또한 편하게 대출이 가능했다. 덕분에 핸드폰으로 틈틈이 편하게 읽고 있다. 1일차 첫인상 넓고 얕은 지식들을 뇌 속에 빠르게 초벌하기 좋은 책이라는 인상이 강하다. 여기 있는 책만 보고 면접에 임하면 꼬리질문 한두번에 쉽게 멘붕이 올것 같은. 하지만 그럼에도 이 책을 읽기로 결심한 것은 그래서 좋기 때문이다. 우선은 넓게 이러한 키워드라도 있는 지 아는 것이 공부를 하며 큰 도움이 될때가 많았다. '아! 이게 그 개념인가?' 하는 포인트들. 그리고 쉽게 배웠던 지식들도 다시 일깨우며 워밍업하기 좋은 느낌이다. 디자인 패턴 네트워크 운영체제 데이터베이스 자료구조 위와 같은 챕터로 이루어져있고, 정말 튜터님들이 반복하여 강조했던 내용들이다. 이유가 있을 것이다. 이후 계획 .. 2023. 12. 8.
6일차(완독) - 객체지향 설계를 바라볼 관점의 추가 이 책을 통해 이후 객체지향 프로그래밍에 관련된 여러 갈래로 파생된 기법들, 방법론, 디자인 패턴 등을 접할때 바라볼 수 있는 관점을 하나 얻은 기분이다. '적절한 책임을 위한 적절한 객체들의 설계.' 읽고나서 처음 커피를 시키는 카페에서의 과정을 예시로 시작하여, 객체들의 협력으로 이루어져있는 설계, 협력을 위한 메시지 역할, 구현과 인터페이스의 구분 등을 거쳐 작은 시스템을 구성하는 흐름을 보여주기까지 7장에 걸쳐 나누어 설명하고 있다. 전체에 걸쳐 자주 반복되어 책을 덮은 지금에도 생각나는 구절은 아래와 같다. 객체의 상태보다 행동이 중요하다. 상태는 과거의 행동의 결과를 유추할 수 있게 해줄 뿐이다. 객체에 책임을 정하는 것이 아닌, 책임을 행할 적절한 객체를 고르는 것이다. 도메인 모델을 통해 .. 2023. 11. 21.
5일차(6장) - 기능을 담을 구조라는 재료 6장에서는 지도를 예시로 들며 시작한다. 구조를 바탕으로 시스템을 분할하는 객체지향의 또 다른 측면에 관해 설명하고 있다. 구조 성공적인 소프트웨어들이 지닌 공통적인 특징은 훌륭한 기능을 제공하는 동시에 사용자가 원하는 새로운 기능을 빠르고 안정적으로 추가할 수 있다는 것이다. 기능만 중요한 것이 아닌 안정적인 환경에 대한 중요성에 대해 다시 한번 생각하게 됐다. 게임개발도 최적화가 이루어지지 않으면 게임콘텐츠가 무색해질만큼 평가가 안좋아지는 것이 생각나는 구절. 도메인 모델이란 사용자가 프로그램을 사용하는 대상 영역에 관한 지식을 선택적으로 단순화하고 의식적으로 구조화한 형태다. 도메인 모델이라는 개념이 나온다. 현실 객체와 소프트웨어 객체와의 차이를 분명히 언급하면서도 이는 은유를 통해 근본적으로 쉽.. 2023. 11. 20.
4일차(5장) - 책임의 자율성이 객체지향 프로그래밍에 미치는 영향 5장을 읽은 직 후 책임, 협력, 자율성, 객체의 상태가 아닌 행동이 중요하다. 메시지가 먼저이고 그 다음 적절한 객체이다. 위와 같은 말들을 굉장히 집요할 정도로 반복하며 강조한다. 그만큼 객체지향을 바라보는 관점에서 중요한 부분인 듯 싶다. 객체라는 점이 아닌 객체를 잇는 화살표에 더 집중하라는 느낌. 인터페이스와 구현을 구분함으로써 각 객체들을 1장에서 출근길 카페의 주문과정에 비유한 이유를 더 알 듯 했다. 캐셔는 주문 프로그램을 이용해 주문을 받고 바리스타에게 또 다른 요청을 넘긴다. 캐셔는 바리스타에게 요청할 때 필요한 최소한의 정보만 알고 있어도 된다. 바리스타는 본인의 로스팅 기법을 본인의 기준에 맞게 적용해도 캐셔는 이를 상관하지 않고 관심도 갖지 않는다. 그리고 이러한 것들은 객체지향 .. 2023. 11. 18.