일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- git
- 클린코드
- 기능명세서
- 커밋 메시지
- 구글 플레이 스토어 배포 방법
- 객체지향
- 우테코
- 구글 플레이 비공개 테스트
- 프리코스
- 플레이 스토어 20명
- 설계
- 구글 비공개 테스트 20명
- 운영체제 #CS지식
- 플레이스토어 비공개 테스트
- 객체지향설계
목록기술-개발 (5)
GYUD-TECH

뉴젯 서비스의 메일 수신 로직을 스프링 서버로 분리하면서 객체지향에 초점을 맞추어 코드를 작성하고 있다.Service 계층은 Repository에서 데이터를 가져와서 도메인에 비즈니스 로직을 실현하는 역할을, Repository는 데이터를 가져와서 도메인으로 변화하는 역할을 수행한다. 이를 통해 확장성이 좋은 구조를 설계하려 한다. 테스트 코드를 먼저 작성 후 비즈니스 로직을 작성하면서, 테스트를 얼마나 간단하게 작성할 수 있는지를 고민하였다. 이 과정에서 테스트가 어려운 객체들의 역할을 잘게 나누고, 외부 주입을 통해 숨겨진 입력을 제거하면서 더욱 객체지향스럽게 구조를 바꾸고 있다. 이 과정에서 했던 좋은 설계에 대해 많이 고민하게 되었고, 자연스럽게 디자인 패턴과 DTO의 등장을 이해하는 경험이 되었..

평소에 프로젝트를 진행할 때는 stream의 map 메서드만 사용하여 코드를 작성했다. stream을 사용하면 코드를 더 간단하게 작성할 수 있다고 생각하여 이번 기회에 stream을 직접 사용하면서 공부하기로 하였고, 우테코 프리코스에 어떻게 stream을 적용하였고, 이 과정에서의 느낀점을 작성하였다. Stream 적용 과정 이번 과제에는 자동차들이 이동 횟수에 따라 이동을 한 후, 우승자를 구해야 하는 기능 요구사항이 있었다. 아래 코드는 이름과 위치 정보가 담긴 자동차 객체들을 매개변수로 받아 우승 자동차의 이름을 구하는 코드이다. 먼저 차들의 위치 값들 중 가장 먼 위치를 구한 후, 해당하는 위치에 있는 자동차들의 이름을 얻는 방식으로 코드를 작성하였다. public static List dec..

커밋을 세부 기능단위로 작성해야 하는 이유는 아래 2가지 라고 생각한다. 에러가 발생했을 때 세부 기능단위로 돌아갈 수 있다. 내가 지금 어느 부분을 코딩하고 있는지 명확하게 알 수 있다. 2가지 목적을 달성하기 위해서는 커밋 메시지를 통해서 커밋을 이해하는데 도움을 줘야 한다. 커밋 메시지를 잘 작성하기 위해서 했던 고민들과 내가 생각한 효율적인 커밋 메시지 작성법을 공유한다. 커밋 메시지 패턴에 대한 고민 git을 처음배우고 사용할 때는 커밋 메시지의 중요성을 몰랐다. 그래서 Ctrl+s를 누르듯이 그날 하루의 코딩을 다하고 집에 가기 전에 commit을 하였다. 하지만 협업을 하면서 커밋 메시지의 중요성을 알게되었고 어떻게 하면 좋은 커밋 메시지를 작성할 수 있는지 공부하였다. 최근까지 아래 블로그..

평소에 클린코드라는 말을 많이 듣긴 하였지만 실제 클린코드를 짜기 위해서 고민 한적은 없다. 대학생때 친구들과 진행한 프로젝트에서는 협업을 하더라도 내가 짠 코드는 나만 보는 경우가 많기 때문에 클린코드의 중요성을 별로 못 느꼈던 것 같다. 우테코 프리코스를 하면서 nextStep 책을 사서 읽게 되었고 제일 앞에 등장하는 극단적인 리팩토링 방법은 충격이였다. 이 방식을 실제로 프리코스에도 적용해 보았고, 클린코드에 대해서 고민하는 시간을 가졌다. 적용했던 클린코드 아래는 1주차 과제에 적용했던 클린코드 포맷이다 1. 한 메소드는 한 개의 역할만 수행하는가? 2. 메소드는 최소한의 들여쓰기를 적용하였는가 (1까지만 허용) 3. 메소드를 10 줄 이하로만 허용하였는가 4. 메소드의 인자 수를 제한했는가 (..

우테코 프리코스를 하면서 공부한 나만의 기능명세서 작성법을 공유한다. 아래의 방식을 사용하면 객체의 역할을 알아보기 쉽고, 어떻게 구현할지 전체적인 그림이 그려진다는 장점이 있다. 기능명세서 작성에 정답이 있는 것은 아니기 때문에 '이렇게 작성할 수도 있구나' 정도로 참고했으면 좋겠다. (참고로 나는 객체지향의 관점에서 기능명세서를 작성한다) 우테코 프리코스 백엔드 6기 1주차 과제는 아래의 링크에서 확인할 수 있다. https://github.com/Gyu-won/java-baseball-6 GitHub - Gyu-won/java-baseball-6 Contribute to Gyu-won/java-baseball-6 development by creating an account on GitHub. gi..