# 2023년 5월 회고
# 회사 프로젝트
# 어드민 사이트 리뉴얼 작업
작업을 어느정도 마치고 대행사부터 배포 준비하는 중이다. 아직도 기획적으로 미흡한 부분이 있어서 그 부분에 대해 팀장님과 소통을 하며 기준점을 세우면서 개발을 진행 중이다. 이번 회사 프로젝트도 그렇고 비사이드 프로젝트도 그렇고 기획의 중요성을 뼈저리게 느끼는 중이다. 기획이 탄탄하지 않으면 기획의도와 다르게 개발이 되거나 기간이 늘어지는 경우가 발생한다. 그리고 그 기획에 따라 도메인 설계도 명확해야 좀 더 객체지향적인 코드(재사용성이 가능하고 유지보수하기 편한 코드)를 만들수 있다는것을 깨달았다.
# 사외 활동 및 기타
# 비사이드 프로젝트
프로젝트 종료일인 5월 14일을 넘어 발표일 25일 전에 프로젝트를 무사히 마쳤다. 아직 IOS개발이 끝나지는 않았지만 안드로이드 앱이 배포 되면서 무사히 기간내에 끝났다고 할 수 있었다. 사실 개인적으로 초반에 비해 후반에 참여를 많이 못했던것 같다. 기능적인 면은 일단 구현이 되었고 이제 테스트 코드를 작성하여 jacoco를 이용하여 테스트 커버리지를 측정할려고 한다. 테스트 코드를 작성하는 이유는 크게 두 가지라고 볼 수 있다. 첫 번째는 사이드 이펙트를 방지 하기 위함이다. 배포하기전에 빌드 때 테스트를 진행하면서 에러가 나는것을 먼저 방지 할 수 있다. 두 번째는 프로젝트 가독성을 높여 같이 일하는 동료나 인수인계를 받는 동료와 소통을 잘 하기 위함이다. 기능별로 테스트를 작성하는 단위테스트를 작성함으로 기능별로 무슨 작동을 하는지 좀 더 수월할 수 있다.
# 넘블, 고양이 조회하기
2주동안 카프카, 레디스를 이용하여 고양이 조회하는 API 개발하는 프로젝트를 진행하였다. 바쁘다는 이유로 조금씩 미루다가 결국에는 스프링부트로 조회API만 만들고 끝나버렸다.. 그래도 종료이후에도 계속 진행이 가능하기 때문에 조금씩 리펙토링을 하면서 나만의 개발론을 정립해야겠다.
# 객체지향의 사실과 오해, 오브젝트 책 읽기
객체 프로그래밍의 바이블이라고 할 수 있는 조영호 작가님의 책 객체지향의 사실과 오해, 오브젝트 책을 읽기 시작하였다.
일단 객체지향의 사실과 오해를 다 읽었다. 내가 생각한 객체지향 패러다임에 어느정도 영향을 미쳤다. 첫째는 객체 프로그래밍 세계는 현실세계를 그대로 반영하는게 아니라 은유한다고 한다. 그렇기 때문에 수동적인 사물객체도 의인화하여 능동적으로 변한다. 둘째는 객체 = 클래스가 아니라 클래스는 객체를 표현하기 위한 방법이라고 한다. 보통 클래스를 객체라고 생각하고 상태를 먼저 지정하려는데 상태보다는 메시지가 중요하다고 한다. 협력이라는 문맥안에서 추상적이지만 요구사항이 명확한 메시지를 객체간에 주고받으면서 거기에 맞는 상태들을 정의해야한다.
오브젝트는 지금 읽고 있는 중이다. 지금 생각나는 부분은 데이터와 데이터를 사용하는 프로세스를 동일한 객체에 넣어서 책임을 적절하게 할당시켜야 한다는 것이다. 캡슐화를 하여 객체간의 의존성을 줄이고 결합도를 낮추고 객체의 자율성을 높이고 응집도 높은 객체를 만들자.
# 다짐
벌써 반년이 지나고 있다. 요즘에는 공부를 하기 위해 시간을 더 내려고 노력중이다. 체력도 예전같지 않고 연차도 많이 쌓였고 이직 기회는 올해가 이제 마지막이다라는 생각도 든다. 7월 1일 내 생일 전까지 이직을 성공하는 목표는 현재 진행형이다.