본문 바로가기

전체 글64

[Test] 애플리케이션 테스트 방법 스위프 프로젝트를 진행하면서 2주차에는 백엔드 팀원끼리 테스트 관련 스터디를 진행하기로 했다. 구글링을 통해 배운 개념을 정리해보겠으며, 이를 우리 서비스에 어떻게 적용할 것인지까지 생각해볼 계획이다. 테스트 종류, 이 프로젝트에서 테스트를 어떻게 해볼지에 대해 중점적으로 다뤄볼 예정이다. 1. 테스트를 왜 해야 하는가?1. 디버깅 비용 절감애플리케이션은 좋은 코드와 설계를 갖추더라도 결함이 있을 수 밖에 없다. 버그는 항상 발생할 수 있고, 그것을 해결하기 위해 개발자는 디버깅을 꾸준히 할 수 밖에 없다.디버깅을 할 때, 문제를 해결하는 시간보다 문제를 찾기 위한 시간이 더 소요된다. 어느 코드에서 어떤 케이스일때 문제가 발생했는지 파악하기 힘들기 때문이다.테스트를 작성하더라도 완벽하게 결함을 없앨 순.. 2024. 4. 29.
[Spring Boot] 게시판 만들기(2) - 리팩토링 이전에 작성했던 게시판 만들기 글을 이어써보고자 한다. 개발을 마무리한지는 꽤 됐는데 블로그를 쓸 겨를이 없었어서 잠시 우선순위를 낮췄다가 틈 날때 다시 작성한다. >> 이전 글 보기 2024.03.20 - [공부/Spring] - [Spring Boot] 게시판 만들기(1) - 개요, 기본 기능 구현 [Spring Boot] 게시판 만들기(1) - 개요, 기본 기능 구현 개인 프로젝트로 게시판 만들기에 도전해본다. 지금까지 배운 기술을 이용해 백엔드 기능 구현에 집중해볼 것이고, 디자인 및 프론트엔드는 최소화할 것이다. - 프로젝트명: 게시판 만들기 - 목 efficient-and-clean.tistory.com 이전에 구현하면서 느낀 부족한 기능 및 고민할 거리를 중심으로 리팩토링을 진행했다. 지난 .. 2024. 4. 23.
AWS Elastic Beanstalk로 간단 배포 AWS EC2를 사용하기 위해 여러 방면으로 서치를 해보던 중, 간단하게 배포가 가능한 Elastic Beanstalk를 알게 되었다. 요즘에는 복잡한 배포 과정 없이 개발자는 코딩에만 집중할 수 있도록 배포를 자동화해주는 기능을 많이 제공한다고 한다. 그래서 이번에 Beanstalk를 통해 간단한 테스트 어플리케이션을 배포해보았다. 0단계) AWS - Elastic Beanstalk 시작 메인 화면에서 '애플리케이션 생성' 버튼을 클릭한다. 1단계) 환경 구성 1단계: 환경 구성은 환경 티어 애플리케이션 정보 환경 정보 플랫폼 유형 애플리케이션 코드 사전 설정 로 구성되어 있다. 하나씩 살펴보면, '웹 서버 환경' 선택 (웹 API를 실행한다는 설명에 따라, 이 옵션을 제일 자주 사용하지 않을까 싶다... 2024. 4. 22.
늦었지만 우테코 프리코스 회고 - 4주차 4주차에는 우테코에서 직접 만든 미션이 부여됐다. 크리스마스에 진행될 사내 이벤트의 기획안을 받아 개발하는 미션이었는데, 실제 기획안과 비슷하게 제공되어 신선하다는 느낌을 받았다. 우선 3주차 피드백 간단히 정리하고... 1. 함수(메서드) 라인은 15라인 이내로 작성한다 2. 발생할 수 있는 예외 상황에 대해 고민한다 3. 비즈니스 로직과 UI 로직을 분리한다 4. 연관성이 있는 상수는 static final 대신 enum을 활용한다 5. final 키워드를 사용해 값의 변경을 막는다 6. 객체의 상태 접근을 private로 제한한다 7. 객체는 객체스럽게 사용한다 : 데이터를 꺼내지(getter) 말고 메시지를 던지도록 구조를 바꿔 데이터를 가지는 객체가 일하도록 한다. 8. 필드(인스턴스 변수)의 .. 2024. 4. 12.
늦었지만 우테코 프리코스 회고 - 3주차 2주차에서는 레이싱 게임을 구현하면서 '전략 패턴'이라는 디자인 패턴을 도입해보았다. 어떤 전략을 선택하느냐에 따라 객체의 행동이 달라지는 개념인데 처음 적용해본 새로운 개념이라 배우기 재밌었다. 2주차 이후에도 역시 공통 피드백을 받았다. 1. README.md를 상세히 작성한다 2. 기능 목록을 재검토한다(구현해야 할 기능 목록을 정리하는 데 집중, 정상적인 경우도 중요하지만, 예외적인 상황도 정리) 3. 기능 목록을 업데이트한다(살아있는 문서) 4. 값을 하드 코딩하지 않는다 5. 구현 순서도 코딩 컨벤션이다 6. 변수 이름에 자료형은 사용하지 않는다 7. 한 함수가 한 가지 기능만 담당하게 적절히 분리한다 8. 함수가 한 가지 기능을 하는지 확인하는 기준(15라인)을 세운다 9. 테스트를 작성하는.. 2024. 4. 9.
늦었지만 우테코 프리코스 회고 - 2주차 1주차 이후 공통 피드백을 받았다. 1주차 미션의 목표는 'git, 교육 분야별 언어, 그리고 미션 사이클에 익숙해지는 것'이라고 한다. - 1주차 미션에 대한 피드백 강의 제공 - 주어진 요구사항을 잘 파악하고, 스스로 고민하고 문제를 해결해보라. 1. 커밋 메시지를 의미 있게 작성한다 2. git을 통해 관리할 자원에 대해서도 고려한다 3. Pull Request를 보내기 전 브랜치를 확인한다 4. PR을 한 번 작성했다면 닫지 말고 추가 커밋을 한다 5. 이름을 통해 의도를 드러낸다(변수 이름, 함수(메서드) 이름, 클래스 이름) 6. 이름을 축약하지 않는다 - 객체 지향 생활 체조 원칙 5: 줄여쓰지 않는다 (축약 금지) 7. 공백도 코딩 컨벤션이다(if, for, while문) 8. 공백 라인을.. 2024. 4. 9.