전체 글
[회고] Runnet 릴리즈
[회고] Runnet 릴리즈
2023.05.27🎉 Play Store Download (v.1.0.1) 소감오늘 플레이스토어에 내가 개발에 참여한 앱을 처음으로 릴리즈 해봤다. 몇달에 걸쳐 너무나 많은 빌드를 해왔기 때문에 지쳤다. 당분간 쉬고싶다. 1월부터 쉴 새 없이 개발을 해왔다. 시행착오가 많았고 비효율적으로 작업이 이루어진 부분도 있었다. 처음부터 견적이 잡힌 건들이었으면 스트레스가 덜했을 텐데 거의 다 왔다고 느꼈는데 계속 이슈가 생겼고 작업이 늘어나면서 피로감이 누적됐다. 나는 데모데이 때 제 역할을 다 못해냈어서 그것들 보충하고 새 기능까지 추가 개발하느라 더 체감되는 양이 많았던 것 같다.기억이 날아가기 전에 이번 프로젝트를 회고하려고 한다. 우선 이정도 규모의 프로젝트 릴리즈 경험이 있다는 건 특별하다. 학부생들끼리 모여서 하..
객체지향의 사실과 오해(~71pg)
객체지향의 사실과 오해(~71pg)
2023.03.20내용 59pg, 객체는 식별자를 가지고 있고 값은 가지고 있지 않지만, 프로그래밍 언어의 관점에서 숫자도 Interger 클래스로부터 생성된 객체이다. 이런 오해의 소지를 줄이기 위해 값 객체(value object)라는 식별자를 가지지 않는 값을 가리키는 별도의 용어를 사용하기도 한다. 60pg, 일반적으로 객체의 상태를 조회하는 작업을 쿼리(query)라고 하고 객체의 상태를 변경하는 작업을 명령(command)이라고 한다. 객체가 외부에 제공하는 행동의 대부분은 쿼리와 명령으로 구성된다. 62pg, 버튼 이외의 다른 방법으로는 기계를 사용할 수 없다. 기계를 직접 열어 내부의 상태에 접근하려고 하지 않는다. 이것은 객체에 접근할 수 있는 유일한 방법은 객체가 제공하는 행동뿐이라는 점을 강조한다. 즉..
Repository의 효용에 대한 고찰
Repository의 효용에 대한 고찰
2023.03.16개요data source가 remote인지 local인지 구분할 필요 없게 해준다는 게 어떤 효용인 건지 체감을 잘 못했다.그런데 어제 책을 통해 캡슐화에 대해 조금 이해하게 되면서 그 의미를 얼핏 알 것만 같다. Presentation Layer에서 분리클린 아키텍쳐에서는 Layer를 Presentation - Domain - Data 이렇게 3 단계로 나누어야 한다. 레트로핏 코드는 Activity나 Fragment와 같은 View에 바로 작성하거나 ViewModel에 작성을 할 수도 있다. 어느쪽이든 Presentation Layer에 포함되는 것이다. 그런데 이렇게 할 경우 data는 Data Layer에서 다뤄져야 하는데 Presentation Layer에 포함되므로 올바르게 분리되지 못한 ..
클린코드(~45pg)
클린코드(~45pg)
2023.03.15내용 34pg, 전산 용어, 알고리즘 이름, 패턴 이름, 수학 용어 등을 사용해도 괜찮다. 36pg, 맥락을 개선하면 함수를 쪼개기가 쉬워진다. 42pg, 함수를 만드는 첫째 규칙은 '작게!'다. 두번째 규칙은 '더 작게!'다. 43pg, if문/else문/while문 등에 들어가는 블록은 한 줄이어야 한다. 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안 된다. 45pg, 함수는 한 가지를 해야 한다. 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 하는 것으로 취급한다. 한 가지 작업만 하는 함수는 자연스럽게 섹션으로 나누기 어렵다. 느낀점 45pg가 제일 핵심이라고 느꼈다. 함수는 하나의 기능만 수행하게 짧게 만들라는 말은 많이 들어왔지만 함수 하나..
객체지향의 사실과 오해(~59pg)
객체지향의 사실과 오해(~59pg)
2023.03.15내용 41pg, 객체란 인간이 분명하게 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것이다. 48pg, 상태를 이용하면 과거의 모든 행동 이력을 설명하지 않고도 행동의 결과를 쉽게 예측하고 설명할 수 있다. 50pg, 결론적으로 모든 객체의 상태는 단순한 값과 객체의 조합으로 표현할 수 있다. 이때 객체의 상태를 구성하는 모든 특징을 통틀어 객체의 프로퍼티(property)라고 한다. 앨리스의 경우 키, 위치, 음료가 앨리스의 프로퍼티가 된다. 51pg, 객체와 객체 사이의 의미있는 연결을 링크(link)라고 한다. 객체와 객체 사이에는 링크가 존재해야만 요청을 보내고 받을 수 있다. 즉, 객체의 링크를 통해서만 메세지를 주고받을 수 있다. 링크는 객체가 다른 객체를 참조할 수 있다..
객체지향의 사실과 오해(~38pg)
객체지향의 사실과 오해(~38pg)
2023.03.13개요 이 책이 개발자들 사이에서 추천이 많이 되는 책 중 하나라고 한다. 최근에 당장 기술 한 두개 더 써보는 것보다 기본 지식을 잘 쌓고 넘어가는 게 더 중요하다고 느꼈다. 그래서 스터디원들하고 이 책을 같이 읽고 서로 나눠보고 싶은 얘기가 있으면 토론을 해보기로 했다. 내용 21pg, 객체지향의 목표는 실세계를 모방하는 것이 아니다. 오히려 새로운 세계를 창조해내는 것이다. 25pg, 객체지향에서 가장 중요한 개념 세 가지는 바로 역할, 책임, 협력이다. 28pg, 동일한 요청에 대해 서로 다른 방식으로 응답할 수 있는 능력을 다형성이라고 한다. 29pg, 협력의 핵심은 특정한 책임을 수행하는 역할들 간의 연쇄적인 요청과 응답을 통해 목표를 달성한다는 것이다. 30pg, 객체지향 설계라는 예술은 적절..