4주차 돌아보기 우테코 4주차를 끝으로 최종 제출을 완료하였습니다. 긴 프로세스에 걱정하기도 하였지만, 재밌고 많이 배우는 시간이 된 것 같습니다. 대표적으로 깃 커밋 메시지 활용 방법과 코틀린 컨벤션을 많이 배우게 되었습니다. 아쉬운점은 별도의 스터디 활동을 하지 못한 것이었습니다. 디스코드에서 스터디 활동을 모집하는 글을 봤는데, 다른 일정이 곂치거나 기술스택이 다른 등의 문제로 스터디를 구하기 힘들었습니다. 직접 스터디를 주도하거나, 최종 테스트를 준비하는 프로세스에 참여하는 등의 방법을 찾고 있습니다. 이번 미션에서는 다행히 별도의 실수를 하지 않게 되었습니다. 이전 미션에서 예기치 못한 오류 문구와 첫 미션에서 커밋 메시지를 관리하지 못하는 등의 큰 실수를 하였는데요. 과제용 프로젝트가 아닌 실..
개요 이번 미션을 진행하면서, 위와 같은 코드 리뷰를 받게 되었습니다. 이에 대해서 아래와 같이 답변을 달게 되었는데요, 내가 제대로 이해하고 있는 것이 맞는지, 확인하기 위해서 Object와 Companion object의 차이에 대하여 학습하는 시간을 가졌습니다. Object 코틀린에서는 싱글톤 패턴을 구현하기 위해서 object를 사용합니다. object는 싱글톤 패턴을 쉽게 사용하기 위해서 코틀린에서 제공하는 객체 선언 키워드입니다. object Error { private const val ERR_MSG = "[ERROR]" const val NOT_EXIST_MENU = "$ERR_MSG 존재하지 않는 메뉴 입니다." const val IS_INCORRECT_BENEFIT = "$ERR_MSG..
개요우아한 테크코스 과정을 진행하면서 단위 테스트와 도메인 로직에 대하여 공부하게 되었습니다.이는 미션에서 요구 사항으로 추가되기도 하였는데요, 단위 테스트와 도메인 로직의 개념과 필요성에 대하여 알게 되었습니다. 단위 테스트 단위 테스트는 앱의 작은 단위를 사용하고, 코드의 나머지 부분에서 격리하며 예상대로 동작하는지 확인하는 기능을 합니다.각 기능 단위가 예상되로 수행되고, 앱 전체에서 오류가 발생하지 않는지 확인하는 것이 주 목표입니다.메서드나 동작 하나를 검증하며, 빠르고 작아야할 필요성이 있습니다. 유닛 테스트? 유닛 테스트는 모든 함수와 메소드에 대한 테스트 케이스를 작성하는 절차입니다. 단위 테스트의 필요성단위 테스트는 소프트웨어 개발에서 중요한 요소이며, 아래와 같은 장점을 가집니다. - ..
3주차 돌아보기 개인적인 일이 많아서 3주차는 4주차가 끝날 무렵 작성하게 되었습니다. 벌써 프리코스의 마지막 주차를 앞두게 되었고, 처음 접해보는 큰 실수로 인한 아쉬움을 가지고 회고를 작성하게 되었습니다. 3주차에서 가장 아쉬웠던 점은 아래의 예제 테스트 결과를 해결하지 못한 것이었습니다. 가능한 꼼꼼하게 기능을 구현하고, 소감을 작성하고자 하였기에 계속해서 코드를 수정하고 제출 마감 3시간 전에 제출하게 되었습니다. 이번 미션도 무사히 끝났다는 안도와 함께 위에 메세지를 접하게 되었습니다.. 빌드 과정에서 오류가 있다는 문구를 읽게 되었고, 코드에 문제가 있다고 파악하여 전체적인 수정을 진행하였으나 제출 기간 내에 문제점을 찾기 못하게 되었습니다.. 제출 기간이 끝난 후에 "프로그래밍 요구 사항에서..
개요우아한 테크코스 3주차 미션을 진행하면서 단위 테스트에 대하여 학습하게 되었습니다.kotlin은 프로그래밍 언어 중에 간결한 문법과 테스트를 지원한다는 장점을 가지고 있습니다.이번 미션을 통해서 Junit과 assertJ를 활용한 단위 테스트를 학습하고 적용하게 되었습니다.IntelliJ 작업 환경에서 간단하게 테스트 하는 방법을 작성하였습니다. 테스트 코드의 장점코틀린에서 테스트 코드를 활용하면 자동화된 테스트를 통해서 개발자가 수동으로 테스트해야 하는 시간을 절약할 수 있습니다.초기에 버그를 발견하고, 빠른 수정을 통해서 소프트웨어 품질을 향상시킬 수 있으며,코드 변경이나 리팩토링 후 테스트를 자동으로 실행하여 기존 기능이 제대로 작동하는지 확인할 수 있습니다.테스트 코드를 작성함으로써 코드의 문..
코틀린에서는 자바와 마찬가지로 타입을 담는 클래스인 enum 클래스를 지원합니다. 열거형 클래스라고 하며, 아래와 같이 상수를 집합으로 관리할 수 있어 코드에 가독성이 높아집니다. 이번 프로젝트에서 아래와 같이 Swipe 상태를 관리하는 enum 클래스를 선언했습니다. 클래스를 enum으로 선언할 경우 장점은, 직접 이름을 전달하지 않고 SwipingStates를 전달함으로써 상수 클래스로 활용할 수 있습니다. enum class SwipingStates { EXPANDED, COLLAPSED } 각 열거형 상수는 객체이며, 열거형 상수를 쉼표로 구분해야 합니다. 각 Enum 클래스는 Enum class의 인스턴스 이므로 특정 값으로 초기화 될 수 있습니다. enum 정의 형식 enum 키워드를 사용하여..