Lumpy Space Princess - Adventure Time
대외활동/유데미 STARTERS 2기

유데미 STARTERS 취업 부트캠프 2기 - 프론트엔드 10주차 학습 일지

yaebb_82 2022. 12. 18.

 

 

이번주는 데모데이 2차가 있는 주간이다. 점점 날이 갈수록 책상에 빈 커피컵만 늘어나고 있는 것 같다. 매일 아침마다 데일리 미팅을 끝내고 팀원들 모두 김커~? 물어보는게 일상이 되었다. (김커는 웅진 김밥 + 커피 = 2,100원) 김밥은 밖에 나가지 않고 먹으면서 코딩하기 위한 간단한 저녁이고, 커피는 하루를 버티게 해주는 포션이다. 이제는 없으면 안되는 존재가 되어버렸다.

 

 

 

기존에는 SharedPreferences를 주로 사용해왔었었는데, 이번에 처음으로 DataStore를 사용해보았다. Datastore는 Kotlin 코루틴이랑 Flow를 사용해서 비동기적으로 데이터를 저장할 수 있기 때문에 공식 문서에서도 SharedPreferences 대신 Datastore를 권장하고 있다. Flow를 제대로 알지 못해서 개념을 확실하게 이해하지는 못했다. 그래서 팀장님께서 틀을 만들어주셔서 나는 숟가락만 얹어서(?) SharedPreferences 대신 Datastore로 바꿔서 사용해보았다. 바꾸는 과정에서 Datastore를 사용한 화면에서 아무런 터치가 되지 않는 이슈를 발견하게 되었는데, 해결하기 위해서 여러저러 방법을 써보았지만 결국 해결이 되지 않아서 작업한 브랜치를 모두 날리고 원상복구를 하는 대참사를 경험하게 되었다... 다시는 겪고 싶지 않은 상황이었다.

 

 

 

저번 스프린트 때 로그인/회원가입 로직을 전체적으로 변경하면서 해당 기능들이 이번 스프린트 때에 들어오게 되었다.(진정한 업보빔) 그래서 저번에 로그인부터~회원탈퇴까지 로직을 쫙 정리를 했었었는데, 이번에 푸시(Push) 관련 기능을 다른 팀원분께서 조사를 하다가 각 핸드폰 기기 별로 FCM 토큰이라는 것이 있다는 것을 알게 되었고, 이를 서버에 보내서 저장을 하고 있어야 한다고 들었다. 해당 토큰을 보내는 작업을 언제 수행해야 할지 다시 팀원분과 회의를 해본 결과, 로그인과 회원가입 때에 서버에 토큰 값을 보내는 작업을 처리해야하고, 로그아웃과 회원탈퇴 과정에서 토큰 값을 서버에서 지우는 작업을 처리해야 한다고 정리를 하게 되었다. 이렇게 끝날 것만 같았던 로그인~회원탈퇴에 다시 FCM 토큰 보내고 삭제하는 작업이 추가되면서 소셜로그인 굴레에 다시 갇히게 되었다...🙃 (아주 행복하다.)

소셜 로그인 무한 굴레


 

 

그리고 마이페이지에서 하위 페이지들이 많은데, 해당 페이지들을 들어갔다 나오면 BottomNavigation이 사라져있는 이슈가 있었다. 그래서 이 부분을 내가 맡아서 처리를 하게 되었다. 기본적으로 대부분 MainActivity 위에 Fragment들로 이루어져 있어서 그냥 Fragment에서 Fragment로 접근해서 BottomNavigation을 보여주게끔만 코드로 작업을 하면 됐었다. 처음에는 금방 끝날 수 있는 작업이라고 생각했는데, 예상치 못한 변수가 발생했다. 사용자 위치 재설정하는 화면에서 다른 팀원분께서 화면 재활용을 위해서 SharedPreferences로 구분해서 Nav처리를 하셨다고 하셨다. 다른 것들과 똑같이 처리하면 되겠지 싶어서 그냥 코드 복붙을 했는데 오류가 발생하게 되었고, 알고보니 이전에 사용한 Fragment는 RegisterActivity였고, 사용자 위치 재설정 화면은 MainActivity여서 코드가 적용이 안되는 것이었다. 뭔가 조금만 생각하면 해결할 수 있을 것 같은데... 꽤 시간이 흘러도 해결이 되지 않아서 내 스스로에게 화가 났었다. 이렇게도 해보고 저렇게도 해보았는데 이슈가 해결되지 않아서 결국 재활용한 화면을 분리하기로 했다.

내가 분리해볼게~ 얍!

 

 

 

이것들 말고도 정말 많은 이슈들이 있었지만, 스스로 찾아보고 팀원들에게 물어보면서 성장하고 있다고 생각한다. 나중되서 까먹지 않도록 틈틈히 시간될 때마다 겪었던 이슈들, 공부한 내용들에 대해서 Trouble Shooting을 작성하고 있다. 잊어버리기 전에 바로바로 쓰니까 나중에 다시 보기도 좋고, 예전 기억을 더듬어보지 않아도 기록이 딱 남아있으니까 편리했다. 특히나 데모데이 발표 준비를 하면서 이번 Spring2 동안에 발생한 이슈들에 대해서 적었어야 했었는데, 기록으로 남긴 것들을 토대로 작성할 수 있었다. 역시 미리미리 해두면 손해볼 일은 없는 것 같다👍

 

 

 

저번 데모데이 발표를 내가 했었어서, 이번 데모데이2에서는 다른 팀원분께서 발표를 맡아서 진행하게 되었다. 데모데이 발표 전까지 못한 기능들을 구현해내야 했다. 발표 전가지 남은 기능은 사용자 정보 조회해서 띄우기 + 사용자 프로필 수정 기능 + 사용자 위치 정보 다른 화면으로 넘기기만 남았었다. 금방 끝날 수 있을거라 생각했는데, 꽤나 사용자 프로필 수정 쪽에서 로직을 생각해야 됐었어서 데모데이 전까지 완성하지 못했다. Sprint1 끝나고 Sprint2에 무엇을 할 건지 리스트업을 했었었는데, 사용자 프로필 수정 기능 빼고는 다 해내긴 했지만.. 100% 다 해내지 못해서 좀 아쉬웠다.

 

 

 

그리고 업친데 덥친격으로 다른 팀원분께서 테스트를 하다가 카카오톡 소셜 로그인 쪽에서 회원 탈퇴 후에 동의를 받는 화면이 안나오는 이슈를 발견해주셨다. API 연동을 해서 회원탈퇴 되는 것까지만 확인했지, 동의 화면은 생각지도 못했다. 내가 어디서 놓쳤는지 다시 생각해보다가, 다른 팀에서 힌트를 주셔서 바로 아차! 싶었다. 예전부터 회원탈퇴 기능 구현할 때 작성하려고 따로 코드를 빼놨었는데, 컴퓨터를 껐다 켰다 하다보니까 작성해놨던 것이 사라지고 나는 API 연동만 하고 다 했다고 생각하고 잊어버렸었었다. 해당 이슈는 데모데이 전까지 금방 해결해서 다행이었다. (식겁...땀삐질...😰)

 

 

 

그 외에도 자꾸 로그인~회원탈퇴 로직을 타다가 다른 팀원분께서 앱이 죽는다는 소리를 하시거나, 기능이 정상적으로 작동하지 않는다는 말을 하실 때마다 내 심장은 정말 남아나지 않았다. 그 원인이 내가 작성한 코드 때문일까 싶어서 조마조마했지만... 다행히도 로그인~회원탈퇴 코드를 바꾸는 일은 없었다. 하지만 아직은 불안불안한 것 같은데... FCM 토큰 처리하는 과정에서 다시 테스트하면서 코드 수정해야 할 부분들은 수정할 생각이다.

사실이었다.

 

 

 

계획했던 것들은 거의 다 처리해서 나름 뿌듯하지만... 뭔가 소셜 로그인이라는 무한 굴레에서 못 빠져 나왔다는 점과, 진도가 빠르게 나가지 않는 다는 점에서는 좀 많이 아쉬웠던 것 같다. 앞으로 한 달 가량 남았는데, 남은 기간동안에는 바짝 정신차리고 열코해야겠다🔥

 

 

 


 

 

* 유데미 바로가기 : https://bit.ly/3SFlXDy 

* 유데미 STARTERS 취업 부트캠프 공식 블로그 보러가기 : https://blog.naver.com/udemy-wjtb 

 

 

 후기는 유데미-웅진씽크빅 취업 부트캠프 2 - 프론트엔드&백엔드 과정 학습 일지 리뷰로 작성되었습니다.

 

 

 

반응형

댓글