주니어 개발자 5

객체지향의 사실과 오해 - 책임과 메시지

여러 내용들이 가리키는 하나의 목적은 소프트웨어의 유연한 변경, 즉 유지보수를 편하게 하는 것 자율성 객체가 어떤 행동을 하는 유일한 이유는 다른 객체로부터 요청을 수신했기 때문이다. 요청을 처리하기 위해 객체가 수행하는 행동을 책임이라고 한다. 자율적인 객체란 스스로의 의지와 판단에 따라 각자 맡은 책임을 수행하는 객체를 의미한다. 모자 장수는 왕에게 증언할 책임은 있지만, 증언을 위한 구체적인 방법이나 절차에 대해서는 최대한의 자유를 누린다. 여기서 문제는 여러 책임들이 모자 장수가 증언하기 위해 선택할 수 있는 자유의 범위를 지나치게 제한한다는 점이다. 두 번째 모자 장수는 자율적으로 책임을 수행할 수 없다. 객체가 자율적이기 위해서는 객체에게 할당되는 책임의 수준 역시 자율적이어야 한다. 그러나 ..

객체지향의 사실과 오해 - 타입과 추상화 | 역할, 책임, 협력

책을 읽으며 객체지향과 더불어 하나의 컴포넌트가 가지게 되는 역할과 책임에 대해서 계속 생각하게 된다. 재사용성이 가능한 컴포넌트를 만들기 위해서 작은 단위의 컴포넌트로 잘게 쪼개는 상황이 생기는데, 이때 조금 더 각각의 컴포넌트들이 역할과 책임을 작게 작게 가져가게 된다. 많은 설명이 개념 중심이라 배운 것들을 어디서 적용해볼지 고민도 많이 해봐야겠다. 결국에는 직접 설계하고 코드를 짜봐야 내 것이 되니깐... 코드를 빨리 짜는 것이 중요한 게 아니라 유지보수성이 뛰어난 애플리케이션을 구축하기 위해서는 견고한 설계가 우선시 되어야 한다. 타입과 추상화 지하철 승객의 목적 : 하나의 역에서 다른 역으로 이동하는 것 승객이 원하는 것 : 빠르게 목적지에 도착할 수 있는지를 직관적이고 단순하게 보여주는 것 ..

객체지향의 사실과 오해 - 이상한 나라의 객체

여러 개념들을 머릿속에서 잘 정립하지 않은 상태에서, 혹은 '개념을 정확히 이해하지 못한 채로 애플리케이션 설계를 하고 있지 않았나?' 반성해본다. 이전에는 뭉뚱그려서 자의적으로 해석했던 여러 개념들을 다시 한번 차곡차곡 정리할 수 있었다. 특히, 상태에 대한 개념과 애플리케이션 설계에서 행동을 중심으로 고민하고 프로그램을 설계해 나아가야 한다는 것이 굉장히 와닿았다. 같이 스터디를 한 친구들도 마찬가지인 것 같다. :) 잘못된 설계는 결국 많은 시간을 더 소요하도록 만드는데, 이런 가장 기본적인 개념이 설계를 함에 있어서 더 좋은 방향으로 가이드해주는 것이 아닐까? 들어가며, 물체가 여러 부분으로 구성되어 있더라도 함께 움직일 경우 그 물체를 하나의 유기적인 단위로 인식한다. 세상을 더 작은 객체로 분..

ECMAScript 스펙을 읽는 법 (How to Read the ECMAScript Specification)

이 글은 Timothy Gu의 How to Read the ECMAScript Specification를 번역한 글 입니다. 혼자 번역한 글로 의역과 오역이 있을 수 있습니다. 원문과 함께 읽는 것을 추천드립니다. 수정사항은 댓글이나 somedaycode@gmail.com 으로 알려주시면 감사하겠습니다. This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License, which is available at https://creativecommons.org/licenses/by-sa/4.0/. Parts of this work may be from another specification docume..

개발/아티클 2022.03.14

입사 후 3개월

TL;DR 처음 입사해서 파일럿 프로젝트를 시작한 게 엊그제 같은데 시간은 참 빠르다. 회사에서는 부족한 점을 뼈저리게 느끼고 있다. 퇴근 이후에는 동기들과 스터디를 진행하거나 개인적인 공부를 조금씩 해나가고 있다. 최근 싱가포르를 4박 5일로 다녀왔다. 회사 입사 이후에는 공부할 것이 점점 쌓여간다. 팀원들이 지나가듯 말하는 몇몇 용어를 잘 알지 못해서 팀원들에게 바로 물어보거나, 노션에 따로 적어 놓고 집에서 몰래 찾아봤다. 싱글톤, BFF패턴, blue green 배포 등과 더불어 개발 실무에 사용하는 ArgoCD, Jenkins 등 모르는 게 많았다. 모르는 게 정말 많아서 슬랙에 종종 물어보는데 나만 물어보는 것 같다. 우리 팀원들은 혼자서 척척 다 잘 해낸다. 나는 질문 봇이다. 첫 6주 동안..

회고 2022.02.16