목표 달성 여부
🤔 이번 심화 프로젝트에서는 Deck과 CI부분을 맡게 되었다..! 추가 로직까지는 구현하지 못해서 약간 아쉬웠다.
✅ Github Action에 Spring Boot Test도 할 수 있게끔 DB 연결 성공!
❌ Stomp 공부는 실패..! 생각보다 심화 프로젝트 부분에서 시간이 많이 걸렸다.
✅ 수요일에 카프카 벼락치기를 하고 카프카 밋업을 다녀왔다!
이번 주 내가 한 것
심화 프로젝트 진행
팀프로젝트의 ERD
거의 처음 생각한 대로 계속 프로젝트를 진행했다. 그만큼 ERD를 꼼꼼하게 짰다. 전 프로젝트에서는 이 필드가 필요할 거 같아서 또 추가했다가 필요없을 거 같아서 삭제. 이런 식으로 ERD의 수정이 빈번하게 일어나서 계속 코드 수정하느라 시간이 걸렸던 경험이 있는데 ERD가 꼼꼼하게 설계가 되어 있어서 오로지 내 개발에만 집중할 수 있었던 것 같다. 설계의 중요성을 절실하게 느꼈다..!

GitHub - proLmpa/NBC_2tWasSummer
Contribute to proLmpa/NBC_2tWasSummer development by creating an account on GitHub.
github.com
Deck쪽을 내가 맡게 되었는데 처음에는 간단한 CRUD 구현인 줄 알고 금방 끝날거라고 생각해서 아 금방 끝내고 Stomp를 공부해야겠다! 라는 생각을 했는데 생각보다 이동 로직을 구현하는데 애를 많이 먹었다.
[TIL] parent_id로 순서 바꾸는 로직 구현
프로젝트 시작 Trello를 참고하여 프로젝트 협업 도구를 만드는 프로젝트를 진행하게 되었다. 내가 맡은 부분은 카드들을 담고 있는 Deck 관련된 기능이었다. 구현해야 하는 기능 내가 구현해야 하
argente29.tistory.com
https://argente29.tistory.com/130
Github Action - DB 연결
드디어 Github Action에 DB 연결을 성공했다!! 스프링 부트 테스트도 테스트할 수 있다..! 매일 X만 보다가 ✔ 표시를 보니 그렇게 행복할 수가 없었다.. ㅠㅠㅠ 하지만 여기서 끝이 아니라 CD도 진행해야 한다..! 할 수 있겠지..! 나 AWS 못하지만..! ㅠㅠ
[TIL] Github Action으로 DB 연동! - Spring Boot Test 통과 확인
Spring Boot Test는 application을 실행시켜보는 작업이라서 DB 연동이 필요하다. 우리는 MySQL 기반으로 코드를 작성했기 때문에 Github Action이 실행되는 Runner에서도 MySQL을 설치해보았다. 아마 H2를 설치해
argente29.tistory.com
카프카 밋업 가기 - 카프카 공부하기
카프카 밋업을 가게 되어서 급하게 가기 2시간 전부터 카프카에 대해 대략적인 구조만 벼락치기 공부하고 갔다..! 그래고 무슨 말하면 알아는 들어야 하니까..
첫 세션은 생각보다 카프카와 관련 없었는데 흥미로웠던 세션이었다. 무신사에서 나오셔서 세션을 진행해 주셨는데 회원 수가 늘고, 데이터 수가 늘고, 직원들이 늘면서 어떻게 데이터 아키텍처가 변화했는지, 팀단위로 어떻게 협업을 진행했는지, 어떻게 회사 내 규칙을 정했는지, 비개발자와 협업은 어떤 식으로 진행했는지에 대해서 얘기해주셨다. 기술들이 내가 아는 기술들은 아니었지만, 무신사는 다뤄야 할 데이터가 늘어나면서 이런 저런 생각을 했고, 이렇게 저렇게 대처했구나.를 알 수 있었다. 내가 현업에서 일했다면 조금 더 세세하게 기억할 수 있었을 것 같은데 아쉬웠다.
두번째 세션은 카프카의 인증, 인가에 관한 세션이었다. 생각보다 카프카를 이용하는 사람들은 인증, 인가를 사용하지 않고 카프카를 이용한다고 했다. 그래서 인증, 인가가 왜 중요한지. 그런데 들어 보니 사람들이 안하고 사용할 만 했다..? 오류가 많이 나고, 사용하기 어려운 듯 했다. 그래서 이번에 어떤 개선을 했는데 그 부분에 대해서 정보도 없고 구글링을 해도 안 나오는 정보라서 팀에서 기술블로그에 인증, 인가 하는 방법을 올려주셨다고 했다.
Kafka SASL/OAUTHBEARER 인증 구성
by JW.Song
medium.com
인증, 인가에 대한 세션도 마찬가지로 다 이해하지는 못했으나.( 사실 대부분을 이해 못했다. ) 그래도 음 카프카는 인증, 인가가 좀 까다로운 애구나..?개선하고 있구나! 인증, 인가는 중요하구나에 대해서 생각하고 넘어가는 계기가 되어서 좋았다!

카프카의 밋업 자료는 깃허브에 올라온다..!
GitHub - kafkakru/meetup: Kafka 한국 사용자 모임에서 운영하는 meetup repository
Kafka 한국 사용자 모임에서 운영하는 meetup repository. Contribute to kafkakru/meetup development by creating an account on GitHub.
github.com
회고
프로젝트를 진행하면서 팀원과 Git에 관해 의견을 나누면서 얘기한 적이 있었는데 그 당시에는 내가 Git에 대해서 잘 몰라서 대답을 잘 못하겠네 라고 생각했다. 그런데 지금 생각해보니까 내가 그 사람의 의견을 반박하려고 했던 것 같다. "어? 그러게? 왜 이렇게 할 생각은 안 했지?"라고 생각해 보고 조금 더 남의 의견을 수용하는 자세가 필요한 것 같다.
계속 튜터님들도 카프카 해보세요~ 라는 말씀을 많이 하셔서 공부해야지 공부해야지 하다가 결국은 후순위로 밀려났었는데 이번을 기회로 카프카에 대해서 대체적으로라도 이게 무엇인지에 대해 공부하는 기회가 되었다. 자주 이런 기회를 만들어 공부해야 겠다는 생각이 들었다.
프로젝트를 진행하면서 이동 메서드를 구현하는 방법이 찾아보니까 네 가지가 있었는데 우리가 구현하려고 했던 Trello에서는 각 Deck에 position 필드를 주고 그 position 필드에 큰 값들을 넣어 놓고 이동할 때는 중간값으로 가게끔 하는 것 같았다. 나는 Deck에 parentId값을 주고 앞에 있는 Deck을 참조하는 식으로 해서 OneToOne관계로 구현을 하였는데 나중에 너무 로직 구현이 어려워져서 튜터님께 여쭤보니 parent를 주는 개념은 트리 구조(대댓글 구조)에서 많이 쓰인다고 한다. 무작정 로직을 구현할 때 아 이거~ 예전에 해봤었지 하고 써보는 게 아닌 아 이 로직을 썼을 때는 어떻고 저 로직을 썼을 때는 어떻고 그 차이점에 대해서 생각을 해보고 구현을 해야겠다는 생각을 했다.
드디어 CI DB 연결을 했다..! 중간중간 많은 오류도 있었고, 왜 발생하는지 모르겠는 오류도 많았지만 해결해서 얼마나 뿌듯한지 모른다.. CI는 그래도 로컬에서 내가 테스트를 해보면 되는데 CD는 더 어렵겠지..? 그래도 최종 프로젝트는 5주이고, 일주일에 기능 한 개만 해도 괜찮다고 매니저님이 해주셨으니까..!!! 나는 나만의 길을 간다!!
챌린지 프로젝트에 지원을 하게 되었고, 붙어서 조금 더 남들과 다른 최종 프로젝트를 할 수 있을 것 같다. 많이 힘들 것 같지만 재밌을 것 같기도 하다. 팀원들과 으쌰으쌰하면서 잘 진행되면 좋겠다..!
다음 주 목표
✔ 챌린지 프로젝트가 시작된다! 설계 꼼꼼하게 잘 할 것! ERD, API, 유스케이스...
✔ 카프카 공부해서 일요일 스터디 발표하기
✔ 인프콘 내용 잘 듣고 기록해 놓을 것!!
✔ +) JPA 공부!
'SPARTA Project > WIL' 카테고리의 다른 글
[WIL] 230814 ~ 230820 (0) | 2023.08.21 |
---|---|
[WIL] 230731 ~ 230806 (0) | 2023.08.08 |
[WIL] 230724 ~ 230730 (0) | 2023.08.01 |
[WIL] 230717 ~ 230723 (0) | 2023.07.23 |
[WIL] 230710 ~ 230716 (0) | 2023.07.16 |