본문 바로가기
Memo/우테코 4기

[우테코/줍줍] 3차 스프린트 회고

by 연로그 2022. 8. 8.
반응형

데모 영상 보러가기 👉 https://youtu.be/LQOhHfKPuC0

 

목차

  1. 개발 일지
    • https 적용하기 (feat. Gabia, Let's Encrypt)
    • 인증 인가 (feat. Slack OAuth, JWT)
    • 추가 기능
    • 인프라 구조
  2. 있었던 이야기
    • 북수다
    • 코치와의 상담
    • 테코톡
    • 발표 준비
  3. 남은 기간 목표

 


📑 개발 일지

 

 

💖 https 적용하기 (feat. Gabia & Let's Encrypt)

 Slack OAuth를 이용해 슬랙 계정으로 로그인할 수 있는 기능을 구현하려고 했다. 정말정말 예상하지 못했던 문제인데 https가 적용되지 않으면 OAuth를 통해 인증할 수 없었고 다른 개발보다 https를 먼저 전환하기로 했다. 

 

👉 더 자세히 보기

 

[nginx/Let's Encrypt] 도메인 연동부터 SSL 적용까지

목차 0. 서론 1. 프로젝트 구조 소개 2. nginx 설치 3. 도메인 연동 (feat: 가비아) 4. SSL 적용 (feat: Let's Encrypt) 0. 서론  현재 진행하는 팀 프로젝트인 `줍줍`에서 외부 라이브러리를 이용하기 위해 반드

yeonyeon.tistory.com

 

 

💖 인증 인가 (feat. Slack OAuth, JWT)

👉 더 자세히 보기

 

[OAuth] 슬랙 로그인 구현하기

목차 1. OpenID vs OAuth vs OIDC 2. OAuth 인증 과정 3. 로그인 동의 화면 4. 로그인 API 구현하기 `줍줍` 프로젝트는 슬랙을 이용해 로그인하는 기능을 제공할 예정이다. 해당 기능을 개발하는 과정을 이야

yeonyeon.tistory.com

 

 

💖 추가 기능

 이번에 써머와 페어를 진행하면서 여러 기능을 진행했다. 가장 메인은 인증 인가 쪽이었지만 그 외로도 북마크나 슬랙에서 사용자 프로필 변경 시 줍줍 DB에 업데이트 된 정보 저장 등의 기능을 구현했다. 슬랙 이벤트에 대응하는건 기존에 미리 구조를 잘 세워둔 덕에 수월했지만 북마크에서 뒤늦게 이슈를 발견했다.

 

 가장 처음 설계했던 북마크를 삭제하는 API는 이렇다. 

DELETE /api/bookmarks?messageId={messageId}

 

API를 개발하다가 북마크 목록 조회 시 messageId를 전달하지 않는다는 것을 깨달았다. 프론트 팀원들에게 물어본 결과 {messageId} 위치에 {bookmardId}가 담겨온다는 것까지 확인했다. 그래서 API를 아래와 같이 변경했다.

DELETE /api/bookmarks/{bookmarkId}

 

이제 프론트와 백 모두 개발 서버에 배포하고 몇 가지 동작을 테스트해보다 한 가지 문제를 발견했다. 바로 북마크 목록 조회가 아닌 메시지 목록 조회 화면에서는 북마크 번호를 보내주지 않는다는 것을...!😨 메시지 조회 화면에서 북마크를 추가하면 북마크 id를 보내주는 형식으로 구성할 수도 있겠지만 불필요하고 번거롭게 느꼈다. 따라서 북마크 삭제 API를 처음에 설계했던대로 다시 롤백하기로 했다. 😂

 

 

💖 인프라 구조

3차 스프린트 발표 자료 일부 - 써머 제작

 이번에 프론트 팀원들과 백엔드 팀원들이 페어 프로그래밍을 진행하며 프론트도 Jenkins를 적용하게 되었다. https를 적용하며 nginx 설정하는 방법에 대해서도 변경하고 프,백 둘 다 개발 서버와 운영 서버가 분리되었다. 개발/운영 서버가 분리된 결정적인 계기는 Slack OAuth였다. 해당 API를 이용할 때 https가 적용된 url이 꼭 필요했다. 로직이 완전하지 않은 코드를 push할 수는 없으니 끊임 없이 배포하며 테스트용으로 사용할만한 서버가 꼭 필요했었다.

 

 


🤗 있었던 이야기

 

💛 북수다

 레벨1 토미조에 낑겨서 토미와의 북수다에 참가했다.😉 팀에 대해 이야기할 수 있는 즐거운 시간이었다.

👉 https://yeonyeon.tistory.com/255

 

[책 읽기] 최고의 팀은 무엇이 다른가

최고의 팀은 무엇이 다른가 저자 대니얼 코일 / 출판사 웅진지식하우스 최고의 팀은 무엇이 다른가 - YES24 아마존 경제경영 베스트셀러2018년 《워싱턴포스트》 리더십 추천 도서애덤 그랜트, 찰

yeonyeon.tistory.com

 

 

💛 코치와의 상담

 지난 우테코 미션들을 진행하면서 리뷰어들이 내게 남겨준 피드백에 대해 들었다. 블로그 정리가 인상 깊었다, 다양한 시도를 한다, 질문할 때 가독성 있게 잘 정리한다, 본인만의 기준이 있으면서도 다른 의견도 거부감 없이 받아들인다 등 좋은 피드백이 많이 있어서 기분이 좋았다. 그 중에서도 가장 뿌듯했던건 `리뷰를 하며 저도 성장하는 느낌을 받았습니다.` 였다. 리뷰어들에게 도움만 받았다 생각했는데 반대로 내가 다른 사람의 성장에 도움이 된다니, 많이 뿌듯했다.😊

 

 리뷰어들 피드백 뿐만 아니라 지난 페어들의 피드백도 들을 수 있다기에 우테코 코치인 공원에게 상담을 신청했다. 지난 레벨에 힘들다는 생각이 많이 들었었다. 미션에 제대로 집중하지 못했다는 생각에 페어들에게 미안한 마음이 있었다.😂 대부분 페어 기간을 짧았기 때문에 아쉬움도 있었다. 다행히 다들 나와의 페어가 즐거웠다는 식으로 피드백이 왔고 안심할 수 있었다.🙂

 

 

💛 테코톡

 드디어 테코톡을 끝냈다. 일요일날 발표 흐름을 생각하고, 월요일에 피피티 만들고, 수요일에 발표 연습하고, 목요일에 바로 발표. 팀 프로젝트가 바빠서 준비 기간이 매우 짧았던게 아쉽다. 다른 사람들처럼 테코톡에 시간을 쏟고 싶었지만 그럴 정신이 없었던게 조금은 아쉽다. (개발 일을 안하는) 친구들이 영상이 올라오면 꼭 보겠다고 했기 때문에 비전공자도 이해할 수 있는 개념 정리~ 정도가 목표였다. 최대한 쉽게 풀어서 설명하려 했는데 잘 전달이 되었을지 모르겠다. 유튜브에 어떻게 올라올지 긴장된다😂

 

 

💛 발표 준비

 테코톡이 끝나자마자 바로 발표를 맡게 되었다. 😅 본래는 2차 스프린트 때 발표를 하고 싶었으나 코로나 후유증으로 인해 기침 증세가 너무 심해서... 어쩔 수 없이 3차에 지원하게 되었다. 팀원인 봄과 함께해서 그런가 테코톡 때와는 다르게 한결 편하게 발표할 수 있었다.😄 조금 떨었던 것 같지만 어쩐지 후련하다. 어쩌면 4차 또는 최종 때 또 발표를 할 수도 있지만 지금보다는 발전할 수 있을 것이라는 생각이 들었다.

 

 


💎 남은 기간 목표

 

💙 이번에도 힘냈다. 다음에도 힘내자!

데모데이 끝나고 간 족발집 / 보드게임카페

 이번 스프린트는 유난히 할 일이 많았고 유난히 소소한 불행들이 많아서(?) 힘들었다. 내릴 곳을 지나쳐버리는 바람에 반대편 지하철을 타려갔더니 지하철이 연착된다던가, 취객한테 우산을 뺏길뻔한다던가, 지갑을 잃어버린다던가... 우스갯소리로 친구들이 `내가 지하철에서 만난 사람들`로 책을 내라고도 했다. 이렇게 피곤한 일들이 잇따라 일어나니까 정작 이번 스프린트의 마지막 날, 데모데이 때는 큰 생각이 없었다. 발표할 때 엄청나게 긴장하는 편인데 너무 피곤해서 될 대로 되라면서 입에서 나오는 대로 내뱉은 것 같다. 어찌저찌 발표를 끝내고 팀원들과 술을 마시고 보드게임을 즐기고 집에 돌아왔다. 엄마가 나한테 너무 피곤해보인다고 말했다. `이제 괜찮아요 끝났어요!`라고 대답하며 후련함을 느꼈다. 아직 스프린트 4가 남았지만 3을 어떻게든 넘긴 것처럼 4도 잘 넘길 것이라 생각한다. 다음에도 힘내자!

 

 

💙 어떤 일을 해야할까?

 이제 어느 정도 구현이 되어서 신규 기능은 거의 없다. 이제는 코드를 리팩토링 하고 인프라 안정화에 힘을 쓰고싶다. 프로젝트 패키지 구조도 일관되게 변경하고 깃 브랜칭 전략도 어떻게 할지 고민하고... 급하게 돌아만 가게 만드느라 발생하고 있는 JPA의 N+1문제도 해결하고 싶다. 조금 더 덧붙이자면 JPA를 잘 알지도 못하고 쓰고 있다는 느낌이 강해서 이에 대해 공부할 개인 시간이 있으면 금상첨화일 것 같다😅💦

반응형