나를 기록하다
article thumbnail
[우아한테크코스 웹 백엔드] 프리코스 1주차 - 숫자 야구

배우는 걸 좋아하지만 비전공자로써 함께 공부할 동료나 멘토가 없어서 어려움이 많았다. 학교는 본래의 전공으로 졸업을 했기에 부트캠프나 국비학원을 알아봤는데 강의에 대한 후기가 너무 갈려서 제대로 된 커리큘럼과 동료들이 있는 곳에서 동료들과 교류하며 성장하고 싶다는 생각에 우아한테크코스를 지원하였다. 더군다나 우아한테크코스에서는 프리코스 과정을 모든 지원자들에게 참가할 자격을 주기 때문에 높은 경쟁률(대략 30대 1)에도 프리코스를 경험하고자 도전하였다. 요즘은 다른 공부를 제쳐두고 프리코스에 몰입하느라 블로그 글과 알고리즘 문제는 제쳐두고 설계와 구현에 집중하고 있다. 이제부터 프리코스를 진행하며 매주 회고록을 작성하려 한다. 이 과정을 통해 객체지향적 사고를 할 수 있고 설계를 배우고자 한다. 1주차 ..

article thumbnail
[객체지향의 사실과 오해] 7장. 함께 모으기
Review/Book 2023. 10. 15. 01:30

코드와 모델을 밀접하게 연관시키는 것은 코드에 의미를 부여하고 모델을 적절하게 한다. - 에릭 에반스 객체지향 설계 안에 존재하는 세 가지 상호 연관된 관점 개념 관점(Conceptual Perspective) 설계는 도메인 안에 존재하는 개념과 개념들 사이의 관계를 표현 도메인은 사용자들이 관심을 가지고 있는 특정 분야나 주제를 말하며 소프트웨어는 도메인에 존재하는 문제를 해결하기 위해 개발 사용자가 도메인을 바라보는 관점을 반영 실제 도메인의 규칙과 제약을 최대한 유사하게 반영하는 것이 핵심 명세 관점(Specification Perspective) 사용자의 영역인 도메인의 개념이 아니라 실제로 개발자의 영역인 소프트웨어 안에서 살아 숨쉬는 객체들의 책임에 초점 객체의 인터페이스를 바라보게 됨 프로그..

article thumbnail
[객체지향의 사실과 오해] 6장. 객체 지도
Review/Book 2023. 10. 13. 18:00

[예시] 여행 중 다른 마을로 이동해야 하는데 길을 모를 때 두 가지 방법 첫 번째, 지나가는 사람에게 마을까지 가는 길 묻기 "이 길을 따라 5km 정도 직진하면 강이 나온다. 강둑을 따라 남쪽으로 2km 이동하면 작은 야산이 나온다. 약수터 가는 길을 따라 산을 넘으면 마을이 나온다." 사람들이 올바른 길을 알려주고 지시를 올바르게 따른다면 원하는 마을로 이동 가능 일반적이지 않고 재사용이 불가능 강이나 산과 같은 랜드마크가 없다면 경로 설명에 어려움 설명만으로 경로 찾기 어려움 →기능적이고 해결지향적인 접근법 두 번째, 지도에 표시된 길을 따라가기 지도는 실세계의 지형을 기반으로 만들어진 추상화된 모델 길을 찾는 데 필요한 풍부한 컨텍스트 정보가 함축 길을 찾는 데 필요한 모든 정보가 지도 안에 포..

article thumbnail
[객체지향의 사실과 오해] 5장. 책임과 메시지
Review/Book 2023. 10. 7. 00:30

객체가 어떤 행동을 하는 유일한 이유는 다른 객체로부터 요청을 수신했기 때문이다. 요청을 처리하기 위해 객체가 수행하는 행동을 책임이라고 한다. 따라서 자율적인 객체란 스스로의 의지와 판단에 따라 각자 맡은 책임을 수행하는 객체를 의미한다. 자율적인 책임 책임이 자율적이어야 하는 이유 객체에게 할당되는 책임이 자율적이어야 한다. 책임이 자율적이지 않다면 객체가 아무리 발버둥친다고 하더라도 자율적으로 책임을 수행하기 어렵다. [예시] 첫 번째 협력 모자 장수는 왕에게 증언할 책임은 있지만 증언을 위한 구체적인 방법이나 절차에 대해서는 최대한의 자유를 누린다. 두 번째 협력 상세한 수준의 책임은 증언이라는 협력의 최종 목표는 만족시킬지 몰라도 모자 장수가 누려야 하는 선택의 자유를 훼손한다. 결과적으로 두 ..

article thumbnail
[객체지향의 사실과 오해] 4장. 역할, 책임, 협력
Review/Book 2023. 10. 6. 00:30

훌륭한 객체지향 설계란 겉모습은 아름답지만 협력자들을 무시하는 오만한 객체를 창조하는 것이 아니라 조화를 이루며 적극적으로 상호작용하는 협력적인 객체를 창조하는 것이다. 비록 그 객체를 따로 뗴어놓고 봤을 때는 겉모습이 다소 기묘하고 비합리적이더라도 말이다. 객체의 모양을 빚는 것은 객체가 참여하는 협력이다. 협력 누가 파이를 훔쳤지? 앨리스가 재판장에 도착했을 때 하트 왕과 하트 여왕은 옥좌에 앉아 있었다. 그리고 주위에는 온갖 종류의 새와 짐승과 한 벌의 카드가 모여 있었으며 그들 앞에 파이를 훔쳤다는 혐의를 받고 있는 하트 잭이 사슬에 묶인 채 병사들의 감시를 받으며 서 있었다. 하트 잭의 옆에는 하얀 토끼가 한 손에는 트럼펫을, 다른 한 손에는 양피지 두루마리를 들고 서 있었다. 법정의 한 가운..

article thumbnail
[객체지향의 사실과 오해] 3장. 타입과 추상화
Review/Book 2023. 10. 5. 00:30

추상화를 통한 복잡성 극복 진정한 의미에서 추상화란 현실에서 출발하되 불필요한 부분을 도려내가면서 사물의 놀라운 본질을 드러나게 하는 과정이라고 할 수 있다. Root-Bernstein 추상화는 복잡한 현실을 단순화하기 위해 사용하는 인간의 가장 기본적인 인지 수단 추상화란? 어떤 양상, 세부 사항, 구조를 좀 더 명확하게 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법 복잡도를 다루기 위한 추상화의 두 가지 차원 첫 번째 차원: 구체적인 사물들 간의 공통점은 취하고 차이점은 버리는 일반화를 통해 단순하게 만드는 것 두 번째 차원: 중요한 부분을 강조하기 위해 불필요한 세부 사항을 제거함으로써 단순하게 만드는 것 모든 경우에 추상화의 목적은 복잡성을 이해하기 쉬운..

profile on loading

Loading...