신기했던 것은 선발 과제에서 과제 수행을 내 기준으로 거의 완벽하게 했던 팀원이 같은 조로 배정된 것 그리고 이전 부트캠프에서 가장 의지했던 분과 같은 조가 되었습니다.
그 이외에도 모든 조원들이 이미 학습이 잘 되어있는 상태라고 생각이 되어서 더 열심히 해야겠다고 생각했습니다.
과제 내용
첫 번째 과제 내용은, 간단하게 요약해서 공공 API를 이용하여 데이터를 받아오고 이를 이용해서 또 데이터를 가공해서 보여주는 것을 목표로 하였습니다.
조금 더 자세하게 설명하자면 서울시 하수관로와 강우량에 대한 공공 API를 이용하여 두 가지 결괏값을 조합해서 보여줘야 하는 과제, 하수관로와 강우량의 관계가 연관성이 있게 나타내야 되는 것이 과제였습니다.
진행 과정
기본적으로 초기 회의에 시간을 많이 썼던 것 같습니다.
어떤 작업을 시작할때 모든 구성원과 같은 생각을 가지고 있기 힘들기 때문에 회의를 오래 한다는 것이 부정적으로만 생각되지는 않았습니다. 그리고 처음에 시간을 많이 들일 수록 나중에 불필요한 시간을 추가적으로 사용하지 않아도 되는 장점도 있어서 열심히 서로의 생각을 맞춰줬습니다.
과제 진행 방향은 밑의 내용과 같이 결정했습니다.
공공 API를 두개의 데이터 셋으로 생각하고 두 데이터셋을 ‘구'로 결합하기 위해 관계를 이어 줄 수 있는 테이블을 생성합니다.
클라이언트가 우리 서비스의 rest api를 요청할 때마다 공공 api를 호출하게 설계하는 경우, 공공 api 서버에 문제가 생기면 우리 서비스의 서버도 작동하지 못하는 의존적인 상태가 있기 때문에 DB에 데이터셋을 넣어놓고, 요청에 맞는 데이터를 DB에서 조회하여 제공해줍니다.
DB에는 과거의 데이터셋만 넣어놨기 때문에, 클라이언트가 최신 데이터를 요청하는 경우 응답할 수 없습니다.
공공 API의 업데이트에 맞춰서 우리의 데이터베이스에서도 업데이트가 일어나야 하는데 이것을 자동화시켜줍니다.
두 개의 공공 API데이터는 업데이트하는 시점이 다른데 이것은 10분마다 업데이트 하는 것으로 내부적으로 결정했습니다.
이렇게 저장된 데이터를 이용하여 강우량과 하수관로의 데이터가 한 번에 호출되는 API를 설계하였습니다.
** 이 내용 중 OPEN API 분석과 데이터 수집 자동화에 대한 내용을 수행했습니다.
배운 점 / 아쉬운 점
+ PR을 통한 업무 수행 내용을 추가하는 것을 실제로 규칙을 정해서 수행해봄으로써 git협업의 흐름을 조금 더 확실하게 이해할 수 있었습니다.
+ 이슈 등록을 하면서 프로젝트 진행 상황을 확인할 수 있는 것을 학습할 수 있었습니다.
+ Git action 사용법을 조금이나마 이해할 수 있어고 yml 파일의 작업 흐름과 기본 파이썬 파일 등을 이용한 자동화 방법 등에 대해서 학습할 수 있었습니다.
- 이슈 번호의 상위/하위 개념을 적용하지 않아서 혼란스러웠습니다.
- 회의 시간의 사소한 내용도 모두 문서화시키는 버릇 형성의 중요성을 느꼈습니다. 이렇게 수행할 때 조금이라도 회의 시간을 더 줄여서 개발에 투입되는 리소스를 낭비하지 않아도 될 것이라고 생각했습니다.
- 아직 DRF가 익숙하지 않아서 새로운 개념 습득에 사용되는 시간이 생각보다 많이 들어서 아쉬웠습니다.
과제를 완료한 소감 😁
새로운 팀원들과 마음을 맞춰서 과제를 수행하였지만 모두 마음이 잘 맞고 열정이 느껴지는 팀이라서 더욱 자극받고 더 열심히 과제 수행을 했었습니다.
과제 세팅부터 마지막 배포할 때까지 각각 이전에 배웠던 과정이 달랐던 만큼 서로 다른 방식의 표현으로 이야기를 하고 있지만 또 이것을 내가 표현하던 방식이 아니었지만 또 이해하고 있는 것이 신기했습니다.
그리고 어떤 내용을 학습하는 자세나 접근 방법 그리고 회의를 진행하는 방법 등까지 하나하나가 다르지만 또 비슷한 것도 관찰하면서 배워야 할 점이 무엇인지를 끊임없이 생각했던 첫 주였다고 기억합니다.
과제 수행 역할적으로는 처음 오픈 API분석에 지원해서 API 구성 구조를 확인하고 해당 내용을 어떻게 자동화를 시킬지를 고민해보면서 재밌었고 또 Git action을 이용하여 처음 구상했던 대로 내용이 수행된 것을 보면서 뿌듯했습니다.
결과물 💾
GIT 저장소
과제 설명 노션
https://www.notion.so/a540c56f257746f08d185ac04d3db11c
'DevLog' 카테고리의 다른 글
[Docker] 제 1장 터미널을 이용하여 EC2 접근하기 (0) | 2022.07.18 |
---|---|
[WIL] 프리온보딩 두번째 과제 회고록 - 페이히어 (0) | 2022.07.11 |
[파이썬 자료형] 2차원 배열 선언 (0) | 2022.07.10 |
[Unity 게임개발] Player character 변경과 장애물 변경관련 정리 (0) | 2022.07.03 |
[Setting] pipenv 사용하기 (0) | 2022.06.29 |