안드로이드 개발자의 창고
[개인 회고] 5주차 회고(6/1 - 6/8) 본문
🌟 이번 주 목표 🌟
- [ V ] 코딩 테스트 일주일 3문제
- [ V ] 클론 코딩 시작하기
- [ V ] 이번 주 강의 정리하여 블로그 작성
💜 Liked(좋았던 점)
스파게티 코드를 반성하다
- 이전에 웹개발이나 앱개발을 하면서 스스로 느꼈던 건 내가 짠 코드가 '스파게티 코드..' 같다는 것이었다.
- 알고리즘을 깊게 배우거나 구현해보지 않아서 그냥 무작정 프로젝트를 진행하고 구현만 되면 마무리했던 것이 큰 문제라는 생각을 했었다.
- 실제로 이번에 개인 프로젝트 리팩토링하면서도 '왜 이렇게 코드가 길지'라는 생각이 들었다. 코틀린과 자바로 같은 기능을 만든 건데 코드 양은 상당히 줄었다. LiveData를 사용하여 ViewModel과 Repository로 나눠놨다는 것을 감안해도 코드 양이 훨씬 적다.
- 코드의 재사용, 기능 정리, 라이브러리 사용을 하니 가능했던 것 아닐까 싶다. 다른 개인 프로젝트도 리팩토링 해보면 생각보다 어렵지 않을지도 모르겠다는 생각이 들었다.
Kotlin 분기처리 방법 학습
- 해당 기간 내내 했던 것은 분기 처리를 이용한 코딩이었다. 과제 또한 분기 처리를 이용한 메모 작성 프로그램 만들기였다.
- 코드가 길지 않은 예시를 강사님과 함께 만들 때는 몰랐는데 분기 처리를 이용한 코딩이 코드 리뷰나 오류 확인하는 부분에서 많은 이점이 있다는 것을 알게 됐다.
- 스터디 팀의 팀원 코드에서 오류가 생겼을 때 리뷰하고 확인하는 것이 빨라진 것에서 느끼게 됐다. 분기 처리를 하면 분기 별로 기능이 다르기 때문에 오류가 발생하는 기능이 짜여진 코드를 확인하면 되기 때문이다.
- 만약 분기처리를 하지 않았다면 오류가 난 시점부터 타고 올라가면서 하나하나 살펴봐야 했을 것이고 다른 사람이 짠 코드를 읽어보고 이해하는 데만 많은 시간을 쏟았을 것이다.
FLO 클론 코딩의 시작
- 개인 프로젝트가 어느 정도 마무리 돼서 FLO 클론 코딩을 해보고자 강의를 듣기 시작했다.
- 아직은 초반이라 화면을 완성하고 세부 기능 추가 작업을 시작할 것 같다.
- Restful API 사용하는 방법에 대해 알 수 있다고 설명되어 있어 기대가 된다.
- 채용 공고를 보면 절반은 있는 'Rsetful API를 사용해보신 분'에 대한 해소가 될 것 같다.
공부가 아닌 곳에서의 소확행
- 벼르고 벼르던 롤토체스 다이아를 달성했다.
- 남들은 판 수로 채워넣으면 되는 티어가 아니냐고 하지만 나는 롤도 안해서 챔피언들 스킬도 모르는데.. 이 정도면 잘한 거 아닌가 싶다. 아직도 모르는 스킬도 많을 듯...
- 다음 시즌 시작할 때까지는 손도 안댈 것 같다. 이번 시즌 질린 게 제일 크다. 마스터는 언젠간 가겠지..(공장 문 닫아요..~)
✔️ Lacked (아쉬웠던 점)
FLO 클론 코딩 시작 및 진도
- 협업 프로젝트를 진행하려고 했으나 시간이 맞지 않아 무산되었다. API를 받아 사용하는 프로젝트였는데 앱스쿨에서 조별 프로젝트에 들어가면 진행하기 어려울 것 같고, 그렇다고 남은 두 달 안에 진행하기에는 촉박할 것 같았다. 심지어 백엔드도 다 완성되지 않았어서 완성을 장담할 수 없었다.
- 그렇다고 몰아붙이기엔 협업하는 친구에게 불확실성을 안기면서까지 프로젝트를 진행하고 싶지 않았다. 그 친구도 아마 같은 생각이지 않았을까 싶다.
- 그래서 따로 시작한게 Restful API 사용 방법을 배울 수 있는 FLO 클론 코딩이다.
- 원래는 연휴 기간 안에 끝내려고 했으나 팀 프로젝트도 무산되고, 앱스쿨 진도도 아직까지는 화면 구성하는 단계여서 좀 여유가 있을 것 같아 천천히 배워볼 생각이다.
📚 Learned (배운 점)
TabLayout과 ViewPager2의 연동
- TabLayout과 ViewPager2를 연동하면 스크롤링이 가능한 탭을 만들 수 있다.
- 이 두가지를 연결하기 위해 TabLayoutMediator()를 사용하여 연결해준다.
Kotlin에서의 분기 처리 방법
- 예상 가능한 상태들을 enum class로 정의한다.
- 정의한 상태별로 while 문 내부를 분기한다.
- 각 상태에 대한 클래스들을 정의한다.
- 각 상태에서의 입출력 부분을 모두 구현한다.
- 구현된 화면을 보고 저장할 데이터들을 선별한다.
- 데이터 저장 관련 기능을 구현하면서 프로그램과 연동시킨다.
👩🏻💻 Longed for (앞으로 바라는 점)
클론 코딩 마무리
- Restful API를 사용하는 '컴공 선배' FLO 클론 코딩을 2주 안에 마무리 지을 것이다.
- 마무리 후 코인 가격 모니터링 앱 제작 강의를 들을지, 개인 프로젝트 리팩토링을 할지 고민해봐야 할 것 같다.
알고리즘 공부
- 코딩 테스트 준비에 소홀해진 것 같은 느낌이라 알고리즘 공부에 대한 압박감이 생긴다.
- 아직 구현 문제만 푸는 수준이라 알고리즘을 깊게 공부하지 않았었는데 조금씩이라도 공부할 것이다.
집콕 생활 청산
- 최근 들어 장을 보거나 편의점에 간 것 빼고는 밖에 나간 기억이 없다.
- 다음 주에는 밖에 나가 기분 전환을 하고 싶다.
- 아직 진도를 깊게 나가지 않았을 때 나가는 것이 좋을 것 같다,,
'개인 회고' 카테고리의 다른 글
[개인 회고] 7주차 회고(6/16 - 6/22) (0) | 2023.06.23 |
---|---|
[개인 회고] 6주차 회고(6/9 - 6/15) (0) | 2023.06.16 |
[개인 회고] 4주차(5/23 - 5/31) (0) | 2023.05.31 |
[개인 회고] 3주차 회고(5/16 - 5/22) (0) | 2023.05.23 |
[개인 회고] 2주차(5/9~5/15) (0) | 2023.05.16 |