본격적인 개발에 들어가기에 앞서 원활한 협업을 위해서는 현재, 그리고 앞으로 구현될 API를 명세할 필요가 있다. 그럼 Notion에 일일히 정리해야 하는가?🤔 이 방법은 너무 비효율적이라는 생각이 들었다. 따라서 Swagger 배포 및 자동화 방법을 모색해봤다. 1. Swagger 배포를 위한 여러가지 방법(1) GitHub PagesGitHub에서 제공하는 무료 정적 사이트 호스팅 서비스Swagger UI의 dist 폴더를 리포지토리에 업로드하고 GitHub Pages로 설정하면 간단히 배포할 수 있음 (2) Netlify정적 웹사이트 배포에 특화된 플랫폼Swagger UI 파일을 업로드하면 자동으로 배포됨 (3) SwaggerHubSwagger의 공식 클라우드 서비스로, OpenAPI 스펙 작성 ..
1. '오늘 뭐 먹지?'를 개발하게 된 계기 4학년 1학기 캡스톤디자인 프로젝트를 시작하기에 앞서 어떤 서비스를 만들지에 대해 고민했다. 현재 흔하게 존재하지 않으면서도, 사람들의 일상 속 고민을 덜어줄 수 있는 서비스를 제작하고 싶었다. 그러다 "메뉴 선정을 해결할 수 있는 서비스는 어떨까?"라는 생각이 스쳐갔다. 실제로 필자는 매일 하는 고민이기 때문이다.🤔 해당 아이디어를 팀원들에게 설명하기 위해 간단한 UI를 제작했다. 참고로 나는 디자인에는 정말 소질이 없다,, 팀원들이 이해할 수 있을 정도로만 제작했다는 점을 참고했으면 한다. 초기에 기획했던 서비스의 흐름은 채팅방 내에서 사용자들끼리 메뉴를 함께 고민하고, 투표를 하면 선정된 메뉴가 메인화면에 반영되는 것이었다. 이외에 메뉴..
프리코스가 끝이 났다. 길고도 짧은 여정이었다. 배운 부분도 많고, 아쉬운 부분도 많다. 이 시간들을 잊지 말고 잘 기억해야지 싶다. 1. 3주차 피드백 정리공통 피드백함수의 길이는 15 라인을 넘지 말자. 🔼비즈니스 로직과 UI 로직은 분리하자. 데이터가 필요하다면 getter 메서드를 통해 View로 전달하자. 🔼연관성이 있는 상수는 static final 대신 enum을 활용하자. ✅final 키워드를 사용해 값의 변경을 막자. ✅객체의 상태 접근을 제한(캡슐화) 하자. 🔼객체는 객체답게 사용하자. 객체가 자신의 데이터를 스스로 처리하도록 메시지를 던지게 하자. 🔼필드의 수를 최소화하자. 🔼성공하는 케이스 뿐만이 아닌 예외 케이스도 테스트하자. ✅파라미터화된 테스트를 구현하자. ✅테스트 코..
3주차를 마무리하며 지난 시간들을 돌아보니 지원서에 작성했던 목표에 조금씩 도달하고 있는 것 같다. 특히 스스로 깊이 있는 고민을 하는 과정을 즐기기 시작했다는 점이 가장 큰 변화다. 매주 미션을 수행할 때마다 설계-구현-피드백-회고의 순환 학습을 따르니, 각 과정에서 나만의 학습 방법이 명확하게 갖춰지는 것 같다. 특히 피드백 과정에서 공통 피드백, 코드 리뷰, 스터디원분들의 피드백을 모두 정리하고, 이를 차주 목표로 설정하니 더 배워야 할 점들이 눈에 명확히 보이기 시작했다. 또한 코드 리뷰에 다시 한 번 답글을 달며 내가 구현한 코드를 다른 사람에게 설명하는 과정을 통해 메타인지를 할 수 있었던 것 같다. 대면 스터디에서는 각자의 코드를 설명하고, 회고록을 공유하며 더욱 즐겁게 프로그래밍에 임하고 ..
1. 1주차 피드백 정리피드백은 공통 피드백, 코드 리뷰, 대면 스터디에서 얻은 피드백을 모두 정리했다. 뿐만 아니라 다른 사람들의 코드를 보며 나도 고려해보면 좋을 것 같은 내용들도 정리했다. Git으로 관리할 자원을 고려하자.커밋 메시지를 의미 있게 작성하자.공백 라인을 의미 있게(4개의 빈 칸을 들여쓰기 단위로) 사용하자.각 클래스와 메서드의 행위를 더 작게 분리하자.메서드 네이밍에 더 많은 시간을 할애하자.확장성을 위해 MVC 패턴을 적용해보자.확장성을 위해 Output을 담당하는 클래스에서 안내 메시지 출력 기능을 담당해보자.입・출력 객체 생성은 Controller 계층으로 분리해보자.요구사항을 더 꼼꼼하게 읽고, 이에 대한 검증을 확실히 구현하자.예외 케이스를 더 꼼꼼하게 많이 생각해보고, 이..
현재의 나는 Comfort Zone에 머물러 있는 것 같다. 부족함을 탓하고, 배움을 갈망하지만 실천하지 않았다. 스스로가 바뀌길 원한다면, 스스로 움직여야 한다. 한 번에 원하는 곳에 도달하기는 쉽지않다. 어느 정도 길을 그려놓고, 그 안에 작은 목표들을 세워서 Fail fast 하자. 실패하고, 반복하고, 피드백을 받는 과정을 통해 프리코스 안에서 나만의 학습법을 찾고, 부족했던 부분들을 조금씩 채워나가고 싶다. 프리코스는 참여자들에게 최소한의 학습 목표와 요구사항을 던져 놓는다. 물고기를 손에 쥐어주는 것이 아니라 물고기를 잡는 법을 알려준다. 물고기를 잡는 법을 알려주더라도, 사람마다 한 마리의 물고기를 잡을 때까지의 시간과 노력은 제각각이기 마련이다. 스스로 물고기를 잡을 때까지 나만의 방법을..