데모 영상 보러가기 👉 https://youtu.be/LQOhHfKPuC0
목차
- 개발 일지
- https 적용하기 (feat. Gabia, Let's Encrypt)
- 인증 인가 (feat. Slack OAuth, JWT)
- 추가 기능
- 인프라 구조
- 있었던 이야기
- 북수다
- 코치와의 상담
- 테코톡
- 발표 준비
- 남은 기간 목표
📑 개발 일지
💖 https 적용하기 (feat. Gabia & Let's Encrypt)
Slack OAuth를 이용해 슬랙 계정으로 로그인할 수 있는 기능을 구현하려고 했다. 정말정말 예상하지 못했던 문제인데 https가 적용되지 않으면 OAuth를 통해 인증할 수 없었고 다른 개발보다 https를 먼저 전환하기로 했다.
👉 더 자세히 보기
💖 인증 인가 (feat. Slack OAuth, JWT)
👉 더 자세히 보기
💖 추가 기능
이번에 써머와 페어를 진행하면서 여러 기능을 진행했다. 가장 메인은 인증 인가 쪽이었지만 그 외로도 북마크나 슬랙에서 사용자 프로필 변경 시 줍줍 DB에 업데이트 된 정보 저장 등의 기능을 구현했다. 슬랙 이벤트에 대응하는건 기존에 미리 구조를 잘 세워둔 덕에 수월했지만 북마크에서 뒤늦게 이슈를 발견했다.
가장 처음 설계했던 북마크를 삭제하는 API는 이렇다.
DELETE /api/bookmarks?messageId={messageId}
API를 개발하다가 북마크 목록 조회 시 messageId를 전달하지 않는다는 것을 깨달았다. 프론트 팀원들에게 물어본 결과 {messageId} 위치에 {bookmardId}가 담겨온다는 것까지 확인했다. 그래서 API를 아래와 같이 변경했다.
DELETE /api/bookmarks/{bookmarkId}
이제 프론트와 백 모두 개발 서버에 배포하고 몇 가지 동작을 테스트해보다 한 가지 문제를 발견했다. 바로 북마크 목록 조회가 아닌 메시지 목록 조회 화면에서는 북마크 번호를 보내주지 않는다는 것을...!😨 메시지 조회 화면에서 북마크를 추가하면 북마크 id를 보내주는 형식으로 구성할 수도 있겠지만 불필요하고 번거롭게 느꼈다. 따라서 북마크 삭제 API를 처음에 설계했던대로 다시 롤백하기로 했다. 😂
💖 인프라 구조
이번에 프론트 팀원들과 백엔드 팀원들이 페어 프로그래밍을 진행하며 프론트도 Jenkins를 적용하게 되었다. https를 적용하며 nginx 설정하는 방법에 대해서도 변경하고 프,백 둘 다 개발 서버와 운영 서버가 분리되었다. 개발/운영 서버가 분리된 결정적인 계기는 Slack OAuth였다. 해당 API를 이용할 때 https가 적용된 url이 꼭 필요했다. 로직이 완전하지 않은 코드를 push할 수는 없으니 끊임 없이 배포하며 테스트용으로 사용할만한 서버가 꼭 필요했었다.
🤗 있었던 이야기
💛 북수다
레벨1 토미조에 낑겨서 토미와의 북수다에 참가했다.😉 팀에 대해 이야기할 수 있는 즐거운 시간이었다.
👉 https://yeonyeon.tistory.com/255
💛 코치와의 상담
지난 우테코 미션들을 진행하면서 리뷰어들이 내게 남겨준 피드백에 대해 들었다. 블로그 정리가 인상 깊었다, 다양한 시도를 한다, 질문할 때 가독성 있게 잘 정리한다, 본인만의 기준이 있으면서도 다른 의견도 거부감 없이 받아들인다 등 좋은 피드백이 많이 있어서 기분이 좋았다. 그 중에서도 가장 뿌듯했던건 `리뷰를 하며 저도 성장하는 느낌을 받았습니다.` 였다. 리뷰어들에게 도움만 받았다 생각했는데 반대로 내가 다른 사람의 성장에 도움이 된다니, 많이 뿌듯했다.😊
리뷰어들 피드백 뿐만 아니라 지난 페어들의 피드백도 들을 수 있다기에 우테코 코치인 공원에게 상담을 신청했다. 지난 레벨에 힘들다는 생각이 많이 들었었다. 미션에 제대로 집중하지 못했다는 생각에 페어들에게 미안한 마음이 있었다.😂 대부분 페어 기간을 짧았기 때문에 아쉬움도 있었다. 다행히 다들 나와의 페어가 즐거웠다는 식으로 피드백이 왔고 안심할 수 있었다.🙂
💛 테코톡
드디어 테코톡을 끝냈다. 일요일날 발표 흐름을 생각하고, 월요일에 피피티 만들고, 수요일에 발표 연습하고, 목요일에 바로 발표. 팀 프로젝트가 바빠서 준비 기간이 매우 짧았던게 아쉽다. 다른 사람들처럼 테코톡에 시간을 쏟고 싶었지만 그럴 정신이 없었던게 조금은 아쉽다. (개발 일을 안하는) 친구들이 영상이 올라오면 꼭 보겠다고 했기 때문에 비전공자도 이해할 수 있는 개념 정리~ 정도가 목표였다. 최대한 쉽게 풀어서 설명하려 했는데 잘 전달이 되었을지 모르겠다. 유튜브에 어떻게 올라올지 긴장된다😂
💛 발표 준비
테코톡이 끝나자마자 바로 발표를 맡게 되었다. 😅 본래는 2차 스프린트 때 발표를 하고 싶었으나 코로나 후유증으로 인해 기침 증세가 너무 심해서... 어쩔 수 없이 3차에 지원하게 되었다. 팀원인 봄과 함께해서 그런가 테코톡 때와는 다르게 한결 편하게 발표할 수 있었다.😄 조금 떨었던 것 같지만 어쩐지 후련하다. 어쩌면 4차 또는 최종 때 또 발표를 할 수도 있지만 지금보다는 발전할 수 있을 것이라는 생각이 들었다.
💎 남은 기간 목표
💙 이번에도 힘냈다. 다음에도 힘내자!
이번 스프린트는 유난히 할 일이 많았고 유난히 소소한 불행들이 많아서(?) 힘들었다. 내릴 곳을 지나쳐버리는 바람에 반대편 지하철을 타려갔더니 지하철이 연착된다던가, 취객한테 우산을 뺏길뻔한다던가, 지갑을 잃어버린다던가... 우스갯소리로 친구들이 `내가 지하철에서 만난 사람들`로 책을 내라고도 했다. 이렇게 피곤한 일들이 잇따라 일어나니까 정작 이번 스프린트의 마지막 날, 데모데이 때는 큰 생각이 없었다. 발표할 때 엄청나게 긴장하는 편인데 너무 피곤해서 될 대로 되라면서 입에서 나오는 대로 내뱉은 것 같다. 어찌저찌 발표를 끝내고 팀원들과 술을 마시고 보드게임을 즐기고 집에 돌아왔다. 엄마가 나한테 너무 피곤해보인다고 말했다. `이제 괜찮아요 끝났어요!`라고 대답하며 후련함을 느꼈다. 아직 스프린트 4가 남았지만 3을 어떻게든 넘긴 것처럼 4도 잘 넘길 것이라 생각한다. 다음에도 힘내자!
💙 어떤 일을 해야할까?
이제 어느 정도 구현이 되어서 신규 기능은 거의 없다. 이제는 코드를 리팩토링 하고 인프라 안정화에 힘을 쓰고싶다. 프로젝트 패키지 구조도 일관되게 변경하고 깃 브랜칭 전략도 어떻게 할지 고민하고... 급하게 돌아만 가게 만드느라 발생하고 있는 JPA의 N+1문제도 해결하고 싶다. 조금 더 덧붙이자면 JPA를 잘 알지도 못하고 쓰고 있다는 느낌이 강해서 이에 대해 공부할 개인 시간이 있으면 금상첨화일 것 같다😅💦
'Memo > 우테코 4기' 카테고리의 다른 글
[우테코] 레벨3 인터뷰 (0) | 2022.09.05 |
---|---|
[우테코/줍줍] 4차 스프린트 회고 (8) | 2022.08.24 |
[우테코/줍줍] 2차 스프린트 회고 (4) | 2022.07.22 |
[우테코/줍줍] 1차 스프린트 회고 (12) | 2022.07.11 |
[우테코] 레벨2 인터뷰 (2) | 2022.06.30 |