-
Notifications
You must be signed in to change notification settings - Fork 3
4. Technology & What We Learned
Hyeyoung Kim edited this page Dec 13, 2021
·
6 revisions
- Home
- 1. First Project S.A.
- 2. Second Project S.A.
- 3. What Did We Do
- 4. Technology & What We Learned
- 5. KTP First Project Retrospective
- 6. KTP Second Project Retrospective
- 7. We Focus Collaboration
- 각 페이지의 CRUD 기능은 ajax를 바탕으로 이루어지고 있다.
- 작성한 til은 mongoDB에 쌓이고 검색과 클릭을 통해 데이터를 가져올 수도 있다.
- 또한, mypage를 보면 프론트엔드에서 데이터를 지우면 DB에서도 지워진다.
- 깃을 통해 서로의 업무과정을 공유하고 회의를 통해 업무진도를 확인하며 작업했다.
- 클라우드로 각자 작업하고자 하는 것을 선택하면서 작업했기 때문에 git으로 자주 커밋하고 팀원들의 작업과정을 확인하는 것이 필수적이었다.
- Miro를 통해 시각적인 도움을 받을 수 있었으며 이번 기회로 깃의 다양한 활용방안을 빠르게 알아볼 수 있었다.
- 각자 GIT DESKTOP, 소스트리, 파이참 연동 깃을 사용하면서 협업했다.
- 각자 깃 오류가 발생했을때 함께 처리하면서 깃의 필요성과 커밋의 습관화를 실현하였다.
- 일반적인 데이터를 다음 페이지로 넘겨주는 것을 넘어 사용자의 id와 password를 이용해 검증된 사용자에게 발급되는 token을 이용하였고, 보안적인 이슈에 대한 고민의 순서를 뒤로 늦추기 위해 로컬, 세션에 저장하지 않고 일단 쿠키에 넣었다.
- token을 쿠키나 storage에 저장하지 않는다면 문제가 생긴다. 왜냐하면, 페이지가 여러 개면 변수가 share 하지 않기 때문이다. 우리는 token을 share 하기 위해, cookie에 넣었다.
- issue 란? 프로젝트를 진행하면서 발생하는 모든 이슈를 말하며 버그 발생, 개발, 풀 리퀘스트 등이 있다.
깃헙에서는 이슈기능을 통해 프로젝트에서 발생하는 모든 문제를 관리할 수 있도록 돕는다.
우리 TDP 프로젝트는 여러 이슈를 만들었다.
- 하지만 생성된 이슈는 리스트 형태로 굉장히 관리하기 힘들어 보인다.
- 이슈가 굉장히 많아지면 어떤 이슈를 찾기가 점점 힘들어 질 것이다.
- 이러한 문제를 돕기 위한 기능이 label 이다.
- 우리는 각 이슈에 대해 labeling을 통해 검색할 수 있고, 이슈별 주제를 구분할 수 있게 해주었다.
- 각 이슈를 배당한뒤 개인별 진행과정을 Project 칸반 보드를 통해서 확인하기 쉽게 만들었다.
- 우리는 9시, 14시, 19시 하루 총 3번의 회의를 가졌다. 회의 시간 사이에 프로젝트 기능을 통해 개인별 진행상황을 미리 확인할 수 있어 효율적으로 협업할 수 있었다. 일주일간 총 약 50개의 이슈가 있었고 개인별 하루 평균 2-3개의 이슈를 해결하였다.
- S3는 파일을 저장하는 서비스이다. S3를 사용하여 이미지를 저장하도록 구현했다. 파일을 저장하는 폴더인 버킷 안에 이미지가 저장이 된다. S3에 업로드 되는 모든 파일에는 객체 URL이 부여된다. 파일의 권한을 퍼블릭으로 부여하고, 해당 URL을 브라우저 주소창에서 호출하면 업로드된 파일에 접근할 수 있다.
- Python에서 설정값을 관리하는 방법은 총 4가지가 있다. 환경변수 통해 설정값을 관리하는 방법을 택했다. 확장성을 높이기 위해, 해당 방법을 선택했다. MongoDB 계정과, AWS 객체 URI, AWS S3 URI, AWS S3 버킷이름을 설정값 처리 해두어 Github에 배포 할 때, 해당값이 노출되지 않게 했다.
TDP Wiki