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

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

yaebb_82 2022. 11. 28.

 

 

[30일차] 11월 21일 (월)

지난 주는 프로젝트 시작 전 준비 기간이었고, 금요일에는 엄청나게 긴 회의를 거쳐 오늘부터 스프린트1이 시작되었다. 스프린트는 총 4번으로 각 스프린트 당 2주 정도로 기간이 잡혀져 있다. 프로젝트를 시작하기 전에 주말동안 팀장님께서 프로젝트 구조를 짜보겠다고 하셨는데, 어느 정도 틀을 잡으신 것 같았다. 그래서 데일리미팅이 끝나고 안드로이드 팀원들은 지하2층에 내려가서 팀장님으로부터 전반적인 프로젝트 구조에 대해서 설명을 들었고, 구조 관련해서 이런저런 얘기들을 나누었다. 아직 틀이 정확하게 정리가 되지 않아서 오늘이나 내일 중으로 Github에 올려두겠다고 하셨다.

 

프로젝트 시작하면 개인공부 시간과 프로젝트 시간의 비율을 몇대몇으로 하면 좋을지 고민이었는데, 오전에 개인공부를 하고, 오후에 프로젝트 작업을 하면 좋을 것 같아서 나누어서 구분을 해보았다. 일단 해보면서 별로 좋지 않은 것 같다면 그때 다시 다른 방법을 생각해볼 생각이다. 그래서 오전 중에는 저번에 다 못 끝낸 Shoppi Section 8 강의을 들었다.

 

Section 8에서 App Architecture에 대해서 중심적으로 다루기 때문에 프로젝트에 많은 도움이 될 것 같아 시간이 걸리더라도 차근차근 이해해보려고 노력했다. 평소에는 구조를 생각하지 않고 개발을 해왔어서, 조금은 생소한 내용들이었다. 관심사분리, UI/Domain/Data Layer, ViewModel 등의 개념들에 대해서 정리하고 강의를 보면서 실습해봄으로써 개념을 익혀보았다. 정리할 것들이 너무 많아서 Section 8을 다 끝내지 못했지만, 내일이면 진짜 끝낼 수 있을 것 같다! 제발 Section 8 빨리 탈출 기원...🙏

 

오늘 점심으로는 팀원분께서 뜨뜻한 국물이 먹고싶다고 하셔서 저번에 갔었던 맷돌로만에 갔다. 저번에는 그냥 순두부찌개를 먹었었는데 이번에는 묵은지 순두부찌개를 시켜보았다. 확실히 묵은지가 들어가서 그런지 얼큰하고 시원했다. 국물에 밥 한 공기 뚝딱 말아먹었다! 역시 한식은 든든 그잡채...👍

 

오후에는 팀장님 주도 하에 Github Project 연습을 해보았다. 원래 협업 툴로 맨 처음에는 Trello를 사용해보려고 했으나, Github Issue 연동하기가 불편하다는 소리가 있어서 회의 때 Github Project를 사용하기로 했다. 사실 Trello나 Github Issue 둘 다 사용해보지 않아서 잘 몰랐는데, 마침 팀장님께서 본격적으로 프로젝트에 들어가기 전에 미리 연습해보는 시간을 갖으면 좋을 것 같다고 하셔서 Issue, Commit, Push, Merge, Pull Request 등 다양하게 시도해보았다.

 

그리고 스프린트1 동안 작업할 것들을 리스트업 했었었는데, 그중에서 나는 로그인/회원가입 및 회원정보 수정을 맡게 되었다. 원래는 자체 로그인을 하기로 했었는데, 서버 분들께서 소셜 로그인이 가능할 것 같다고 하셔서 소셜 로그인 쪽으로 방향을 틀게 되었다. 소셜 로그인 구현을 처음 해보는 거라 프로젝트 구조가 완전히 잡히기 전까지 미리 카카오톡 소셜 로그인 연습을 해보았다.

 

오늘은 남을 예정이라 잠깐 하던 걸 멈추고 저녁 6시 이후에 팀원분들이랑 산책을 갔다 왔다. 인스타에서 다음 달이 크리스마스라 벌써부터 백화점들이 예쁘게 장식하고 난리인 것을 보게 되었다. 찾아보니까 롯데 백화점이 회사 건물에서 도보 10분거리고, 신세계 백화점이 20분 거리이길래 데일리미팅 때 팀원분들께 다같이 구경하러 가자고 했었다. 그 때 반응은 영 시원찮았는데, 갑자기 산책하러 나가자고 하셔서 바아로 롯데 백화점 구경하러 달려갔다. 가니까 엄청 거대한 트리도 있고, 반짝반짝하니 미리 크리스마스 분위기를 느낄 수 있었다. 크리스마스 한 달 전부터 캐롤듣는 사람 나야나...😭 (당시에는 트리만 보고 왔는데 다시 보니까 다른 쪽을 봤었어야 했다..ㅋㅎ)

왼 : 보고 온 것 / 오 : 봐야 했던 것

 

산책하는 도중에 슬랙으로 치킨 먹을거냐는 연락을 받게 되었다. 오늘 꽤나 남아서 하는 사람들이 많아서 그런지 교육장에서 치킨도 다 먹어보네 싶었다. 9-10명이서 치킨 3마리를 노나 먹었다. 사실 1조각만 뺏어먹을라 그랬는데... 젓가락이 멈추지 않았다🙂 치킨을 다 먹고 마저 카카오톡 소셜 로그인 연습을 했다.

 

일단 카카오 Developers를 보면서 어찌저찌 구현에는 성공했다. 기기 내부에 카카오톡이 깔려있지 않으면 자동으로 웹에서 가입할 수 있도록하고, 내부에 카카오톡이 깔려있다면 카카오톡 앱으로 연결이 된다. 카카오 계정을 입력한 후 사용자로부터 동의를 받고 이메일과 닉네임을 넘겨받도록 했다. 그리고 로그아웃 버튼과 회원탈퇴 버튼을 두어서 여러 계정으로도 가입 시도를 해보았다.

 

구현해놓은 대로 처리가 될지는 아직 모르겠지만, 서버 분과 소셜 로그인 관련해서 고민을 많이 해보았다. 서버분께서도 앱이랑 서버 소통은 처음이셔서 소셜 로그인 처리 로직에 대해서 어려워하셨다. 구글링을 해봐도 앱에서 REST API로 구현한 예제는 하나도 없었고, Android 방식으로 Native App Key를 발급받는 예제들만 가득했다. 나도 그렇고 서버 분도 그렇고 갈피를 잡지 못해서 각자 멘토님께 여쭤보기로 하고, 집에 돌아갔다. 

카카오에 멘탈 터지다.

 

 

 

[31일차] 11월 22일 (화)

오늘은 지각할 뻔 했다. 버스도 안와서 집 근처에 있는 전동킥보드 타고 전력 질주했다. 다행히도 지하철이 안가고 기다리고 있길래 호다닥 뛰어서 탈라고 했는데 지하철 칸마다 사람들이 꽉 차있었다. 무조건 타야하는 급행열차여서 어쩌지어쩌지 수백번 고민하다가 그냥 에라모르겠다 하고 죄송합니다~ 하면서 밀고 타버렸다. K-직장인이라면 밀고 타는 것 쯤이야 철판깔고 손쉽게 해야하는건데 난 아직 멀었나보다...😊

급행열차 늘려달라...

 

오늘 팀장님께서 프로젝트 구조가 확정되어서 Github에 올려놨다고 하셔서 Clone해서 받아보았다. 그리고 Issue, Pull Request 템플릿도 만들어놓으셨다고 하셔서 어제 연습한 것들을 토대로 쉽게 작성할 수 있을 것 같다.

 

원래 오전에 Shoppi 강의를 들어야 하는데, 오늘은 듣지 못했다. 서버 분께서 서버와 통신을 하려면 access token이 필요한데, 웹이랑 통신할 때는 서버 쪽에서 access token을 발급받는데, 앱의 경우에는 안드로이드 단에서 access token이 발급된다고 한다. 그래서 access token이 필요하니까 확인해서 알려달라고 요청하셔서 어제 만들어둔 것 코드를 살펴보았다. 보니까 access token 뿐만 아니라 refresh token까지 발급되는 것을 확인하고 서버 분께 전달드렸다.

 

그리고 서버 분께서 직접 본인 노트북에 안드로이드 스튜디오를 깔아서 에뮬을 돌려보고 싶다며 파일을 줄 수 있는지 물어보셔서 작업한 파일을 드렸다. 그런데 이상하게 내 노트북에서는 잘 돌아가던게 서버분 노트북에서는 작동을 하지 않았다. 딱히 에러라는 것도 로그에 뜨지 않아서 도대체 뭐가 문제인지도 모르는 상황이었다. 카카오 API 버전이 낮아서 그런가 싶어서 변경도 해보고, 서버분 노트북이 M1이라 그런건가 싶어서 에뮬 버전도 다른 걸로 깔아보고, 다른 팀원분도 마찬가지인가 싶어서 다른 분께도 파일 드려보고... 별의별 짓을 다 했는데 해결이 되지 않았다. 꼭 서버분께 파일이 필요한 것은 아니라서 그냥 내가 확인해서 access token과 refresh token을 드리기로 했다.

why?!?!?!?

 

오전 중에 카카오 관련 오류만 처리하다가 시간이 다 가버렸다. 오늘 점심은 건강하게 안드 팀원분과 둘이서 오붓하게(?) 샐러드를 먹었다. 역시나 매번 시켜먹던 탄단지 샐러드를 시켜먹었다. 이번에는 서울시청점에다가 시켰는데 배달은 엄청 빨랐고, 양은 나쁘지 않았고, 귀엽게 웃는 얼굴을 그려주셨다. 귀여워어어어🙂

다음번에는 고양이 그려달라고 해야지

 

2시에는 전체 회의를 했다. 저번 주 멘토링 때, 안드로이드 멘토님께서 메인화면에 있는 카드에 다견이라는 것이 확실하게 표시되어있으면 좋겠다고 하셔서 디자이너님께 이 부분에 대해서 수정을 부탁드렸었고, 카드 오른쪽 상단에 다견 아이콘이 들어가게 되었다. 오전에 안드로이드 팀원들끼리 디자인 나온 것을 보면서 하나의 카드 안에 들어있는 정보가 너무 많은 것 같지 않나며 더 좋은 방법은 없을까 고민을 했었다. 그래서 일단 상단의 앱바를 제거하기로 했고, 카드 모양도 좀 변경하기로 했다. 하지만 그래도 정보가 많은 것은 그대로라 끙끙대고 있었는데, 그걸 보시고 퍼실님께서 찾아오셔서 카드 단위를 강아지 중심으로 하는 것은 어떤지, 채팅 화면은 최대한 디자인을 헤치지 않는 선에서 강아지 별로 채팅을 보여주는 것은 어떤지 등등 다양한 조언을 해주셨다.

 

이 부분에 대해서 대충 UI를 만들어서 회의 때 서버분들께 공유를 해드리고, 어떻게 생각하는지 얘기를 들어보았다. 서버분들께서는 메인 화면의 카드강아지 중심으로 바뀌는 부분에 대해서는 긍정적으로 생각하셨지만, 채팅방은 강아지 중심보다는 사람 중심이 맞는 것 같다고 말씀하셨다. 사실 강아지 별로 채팅을 구분하게끔 하려고 했던 것이 채팅 목록에서 어떤 강아지를 좋아요했는지 구분하기 위해서였는데, 사람 중심으로 했을 때는 어떻게 표시를 해줘야할 지 모르겠어서 다같이 고민해봤으나... 결정나지 않아서 다음 번 회의때까지 생각해오기로 했다. 일단 안드로이드는 이번주 멘토링 때 멘토님께 조언을 구해보기로 했다.

대강 만들어본 UI

 

회의가 끝나고 아직 서버쪽에서 로그인/회원가입 해서 준비가 안된 것 같아, Clone도 했겠다 Splash 화면을 만들어보았다. 핸드폰 기기 별로 화면 사이즈가 다르기 때문에 고정값으로 하지 않고 비율로 위치를 지정해주고, 아이콘 사이즈도 마찬가지로 비율로 지정해주었다. 그리고 상단의 status bar 색상도 splash 때만 primary color로 들어가고, 그 외의 경우에는 흰색으로 고정되게끔 지정해주었다. 내일은 로그인/회원가입 화면을 만들기로 하고 오늘은 약속이 있어서 일찍 교육장을 나왔다.

 

 

 

[32일차] 11월 23일 (수)

오늘은 어제 못들은 Shoppi를 오전에 들었다. 아직도 작별을 못한 Section 8을 끝내려는데, 생각보다 구조도 복잡하고 이해가 잘 되지 않아 Section 9로 넘어가기 전에 직접 그림으로 그리면서 이해하고자 노력했다. 그러고 MVVM을 잘 알고 계신 팀장님께 특강(?)을 들었다. 하나도 모르겠던 MVVM이 완전히는 아니지만 그래도 50-60%는 이해한 것 같다. 나머지는 직접 프로젝트를 진행하면서 알아가야겠다.

 

팀장님께 특강을 듣고나니 벌써 점심시간이 되어버렸다. 오늘은 중식을 먹었다. (음식점 이름은 모르겠다..) 엘레베이터를 타고 올라가야 하는데 엘레베이터가 6인승 엘레베이터라 엄청 좁고, 문 한짝만 있어서 좀 신기했다. 메뉴판을 보고 철판 자장면이 있길래 신기해서 시켜보았다. 뭔가 철판에 볶아서 불향이 날 것 같아서 시켜봤는데, 그런 느낌은 없었고 그냥 자장면 이었다. 맛은 살짝 싱거워서 고춧가루 팍팍 뿌려먹었었는데 맛있었다.

서울 자장면은 양파가 반인 것 같다.

 

오후에 다른 안드로이드 팀원분도 MVVM 특강을 해달라고 하셔서 다시 복습 겸 듣게 되었다. Shoppi에서 알려주는 방식과 우리 프로젝트 구조와 비교해서 설명을 해주셔서 이해하기가 더 쉬웠다. 하지만 그래도 여전히 어렵다...🥲

 

특강이 끝난 후에는 어제의 splash 화면을 이어서 로그인/회원가입 UI 화면을 만들었다. 소셜 로그인으로 바뀌는 덕에 그려야 하는 화면의 갯수가 확실히 줄었다. 그래서 금방 끝날 것이라 예상했었으나 생각보다 오래 걸렸다. 카카오톡 로그인/회원가입 버튼을 처음에는 카카오 공식 홈페이지에서 제공해주는 이미지를 사용했었으나, 화면이 커질 수록 이미지가 깨지는 것을 확인했다. (svg도 아니고 png라니...😡)

 

그래서 직접 버튼을 만들었어야 했는데, 직접 만들라고 하니 왼쪽에 들어갈 로고 이미지는 아무리 찾아도 공식 홈페이지에 없었다. 구글링으로 찾던 중에 다른 팀 안드로이드 팀원분께서 자기도 예전에 못찾아서 직접 스크린샷 떠서 작업했다고 하시길래 얼른 달라고 부탁드렸다. 덕분에 빠르게 작업할 수 있었다.

 

저녁 7시에는 안드로이드 멘토링이 있었다. 저번까지는 오프라인에서 같이 멘토님과 밥먹으면서 진행되었는데, 오늘은 게터타운에서 온라인으로 진행되었다. 원래는 팀 별로 나뉘어서 멘토링을 진행했었는데, 오늘부터는 같이 멘토링이 진행되었다. 조그맣게 옹기종기 모여있으니까 귀여웠다. (이와중에 아바타 개성 가지각색)

 

멘토님께 채팅 목록에서 어떤 강아지를 좋아요했는지 확인할 수 있는 장치에 대해서 조언을 구했고, 카카오톡 소셜 로그인 방식에 대해서도 조언을 구했다. 다른 팀에서는 splash 화면이 android 12 부터 달라지는데 어떻게 대응하면 좋은지에 대해서 질문을 했다. 멘토링이 끝나고 질문했던 내용들에 대한 답변을 정리를 하면서 내일 회의 때 공유할 사항들에 대해서 회의록에 기록하였다.

 

 

 

[33일차] 11월 24일 (목)

오늘 오전 개인 공부 시간에는 Shoppi Section 8을 완전히 끝내고 Section 9 중간까지 들었다. Databinding, Coroutine, REST API 등에 대한 개념들을 배울 수 있었다. Coroutine 부분들은 저번 역량 강화 시간에 Coroutine을 했었을 때 Shoppi 강의를 참고해서 공부했었어서 이번에는 간단하게 정리만 하고 넘어갔다. REST API 같은 경우에는 앞으로 서버와 통신하는 데에 있어서 기본적인 개념이라서 꼼꼼히 정리하면서 들었다. 다음 번에 들을 Retrofit이 핵심인 것 같지만.. 일단 오늘은 REST API 까지만 공부했다!

 

오늘 점심은 마라탕!! 주변에 식당이 몰려있는 건물이 있는데, 마침 거기에 마라공방이 있다고 해서 찾아가보았다. 맨날 마라탕은 동네에서 먹었었는데, 서울에서까지 마라탕을 먹을 생각에 너무 신났다. 좀 놀라웠던 건 우리 동네에서는 밥은 공짜로 먹어도 되는데... 여기서는 돈을 내고 밥을 시켜먹어야 한다. 너무 야박해...😠 하지만 마라탕을 먹는데 밥을 안먹는다?! 말도 안되기 때문에 팀원분과 밥 한 공기 사서 나눠먹었다.

밥 없는 야박한 서울 마라탕

 

2시에는 어제 안드로이드 멘토링 때 멘토링 내용들을 정리해서 회의록에 작성해서 회의를 진행하였다. 서버 쪽에서 요청했던 카카오 소셜 로그인 로직에 대해서 설명해드리고, 카드는 강아지 기준으로 하고 채팅은 사람 기준으로 했을 때의 장단점에 대해서 설명해드렸다. 그리고 멘토님께서 API 에디터로 스웨거를 추천해주셔서 한 번 사용해보면 좋을 것 같다고 말씀드렸다. 이번에는 별다른 이견이 없었어서 회의를 빠르게 끝낼 수 있었다.

 

회의가 끝나고 서버 쪽에서 access token을 한 번 보내보라고 하셔서 Retrofit을 사용해서 한 번 구현해보았다. 아직 Shoppi에서 Retrofit 강의를 듣지 않아서 잘은 모르지만.. 구글링 하면서 한 번 로그인/회원가입 기능을 구현해보았다. 잘 되지 않아서 여러 번 코드를 고쳤는데도 되지 않았다. 알고보니까 서버가 닫혀있어서 통신이 되지 않은 것이었다. 내심 내 코드가 잘못되서 오류가 난게 아닐거라는 약간의 희망을 품었었으나... 결론은 그건 아니였다...😊 (근데 내 노트북이랑 서버가 연결이 안되는 이슈가 있긴 했다. 아직도 해결이 안되서 다음주에 다시 시도해보기로 했다.) 다시 Retrofit 공부를 해서 다시 구현해보도록 해야겠다!!

 

저녁 때가 다 되어서 저녁을 뭘 먹을까 하다가, 안드로이드 팀원들끼리 밖에 나가서 편의점에서 간단하게 사먹기로 했다. 나는 샌드위치랑 오렌지 주스를 사서 지하 2층에서 다같이 먹었다.

 

돌아와서 원래는 사용자 프로필 설정 화면을 만들 계획이었으나, 팀장님께서 등록 화면 전체를 다 맡아서 UI 구현을 해주신다고 하셔서 나는 남은 파트인 마이페이지 화면을  작성했다. 마지막까지 팀장님이랑 둘이서 남아서 크리스마스 캐롤을 들으면서 10시까지 남아서 작업했다. 다 끝나고 집갈 때 집가서도 작업할거라고 큰소리 떵떵 쳤는데... 집에 도착하자마자 아빠가 월드컵을 보고 있어서 그냥 우리나라 열심히 응원했다...😁

왜 안했어요!! 월드컵 봤는디유?

 

 

 

[34일차] 11월 25일 (금)

어제부터 안졸기 위해서 아이스 아메리카노 연하게 가 아니라 기본으로 먹기 시작했는데, 어제 새벽 2시까지 잠이 안와서 혼났다. 결국 4시간만 자고 교육장에 도착했다. (오늘도 늦을 뻔해서 전동 킥보드로 전력 질주... 오늘 하루 운동을 다 한 느낌이었다.)

 

오늘도 여김없이 데일리미팅을 끝나고 팀원분과 지하2층 내려가서 커피를 사서 잠깐 앉아서 얘기를 나눴다. 팀원분께서 지금 어디까지 진행하고 있는지 궁금해서 여쭤보고, 어려움을 겪고 있는 부분이 있으신 것 같아서 구글로 찾아서 찾아드렸다.(Location Manager, GeoCoder... 등등 그냥 찾아보기만해서 이해하지는 못했다...ㅋㅎ) 그리고 아이디어 중에서 헷갈리는 부분들이 있어서 다시 올라가서 팀장님께 여쭤보고, 전달하는 김에 좀 더 자료를 찾아서 전달해드렸다. 찾은 자료가 도움이 되셨으면 좋겠다!

 

그리고 오늘 로그인/회원가입 기능을 담당하시는 서버분께서 안계셔서 서버 통신 연습을 해볼 수는 없었지만, 오전 개인 공부 시간에 Shoppi를 들으면서 통신을 하기 위해 필요한 Firebase 설정을 진행했다. 그리고 설정하는 중에 google-services.json 파일이라는 것을 추가를 해주게 되는데, 하라고 하는 대로 했음에도 불구하고 자꾸 이 부분에서 오류가 나는 바람에 시간을 많이 잡아먹었다.

 

오늘 점심은 틈새라면 가서 먹었다. 이번주에 샐러드 먹었을 때, 다른 팀원들이 틈새라면 이라는 음식점에가서 라면을 먹었다면서 엄청 매워서 다들 난리도 아니였다는 소리를 들었다. 처음에 들었을 때는 편의점에서 틈새라면을 사서 먹었다는 건 줄 알았는데, 알고보니까 틈새라면이라는 음식점이 있었다... 다들 맵다고 그래서 겁 잔뜩 먹고 갔었는데, 빨계떡 시켜먹으니까 생각보다 맛있게(?) 매웠다.

저 많은 휴지를 누가 다 썼을까...🤔

 

오후에는 오전에 들은 강의를 뒤이어 Retrofit 관련 강의를 들었다. 단순히 기능 구현만 하는 것이 아니라 구조에 맞춰서 적절하게 찢어 놓는 것도 이해해야 했다. 구글링으로 알고 있던 것과는 조금은 심화된 내용이라서 이해하기 어려웠지만.. 주말에 다시 한 번 공부해서 로그인/회원가입 기능 구현을 다시 해봐야겠다 싶었다.

 

그리고 어제 작성한 마이페이지 화면을 다시 봤는데, 생각보다 예쁘지 않았고 , 디자이너님께서 참고하라고 주신 사이트를 적극적으로 활용하면 좋을 것 같다는 생각에 다시 마이페이지 화면 작성을 하게 되었다. 마이페이지 관련 모든 화면들의 xml을 내가 맡게 되었는데, 아직 마이페이지 화면 밖에 하지 못해서 빨리 진도를 빼야겠다 라는 생각이 들었다.

 

 

 


 

 

 

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

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

 

 

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

 

 

 

반응형

댓글