개발자 99% 커뮤니티에서 수다 떨어요!
새해를 맞아 새로운 것을 배우고 싶었고, 겸사겸사 꾸준히 공부하는 루틴을 만들고 싶었습니다.
평소에 번쩍번쩍 '이런 앱 만들고 싶다' 라는 아이디어가 떠오를 때가 많았는데 플러터를 알아두면 좋을것 같았어요.
10주 동안이나 하루도 안 빠지고 지속할 수 있을까? 일과 병행할 수 있을까? 라는 걱정과 부담도 있었지만 일단 시작했습니다.
처음 목표는 이랬습니다:
결석 하지 않기 : 몇 번의 결석이 허용 되긴 하지만 한 번 빠지면 두 번, 세 번도 빠질것 같고 따라잡기 어려워질 것이라 생각
우수 졸업 작품 만들기 : 이왕 하는거 적당히 하지 말고 열심히 하기
1월 6일 ~ 3월 23일 까지, 3주 달리고 한 주는 설날 연휴로 쉬고 다시 7주를 달렸습니다.
새로 습관 들이는 스터디 초반이 가장 힘든 것 같은데 설날 break week 가 적절한 휴식이 된 것 같아요.
10주 스터디 일정을 대강 정리해봤습니다.
제일 오른쪽 칸은 과제인데 퀴즈는 Q, 코드 챌린지는 C, Final 코드 챌린지는 F 로 나타내봤어요
코드 챌린지 달리다가 6주차에 퀴즈가 다시 등장해서 너무 반가웠습니다 ㅠㅠ
https://rls1004.notion.site/1-17698a7b37bd804fa55ade12757e730b
Dart 기초 강의를 들으면서 Dart 언어에 대해 처음 공부하게 됐는데, 강의를 들으면서 많은 물음표가 생겼습니다. 그래서 추가로 더 찾아보기도 하고 혼자 납득할만한 이유를 생각해보기도 하면서 셀프 문답을 하기 시작했어요. 좀 더 공부하는 느낌도 나고 재밌었습니다.
이후에도 강의를 들으면서 떠오르는 질문들을 정리해두고 셀프 문답을 진행했어요.
https://rls1004.notion.site/3-129eb7f7cfc64ce9ac210b02219c6697
Date 입력을 위해 CupertinoDatePicker 가 나타나면 AppBar 의 색이 변하는 현상이 나타났어요.
해결 방법은 간단했지만 왜 이런 현상이 발생했는지 이해가 안돼서 여러 추측을 해봤는데요,
그래도 명확하지 않아서 AppBar의 코드를 디버깅을 해봤습니다.
Break point 를 걸어서 상태 변화와 조건들을 살펴보니 명확 해져서 개운했어요!
이후에도 위젯의 동작 방식과 관련해서 의문이 생기면 구현 코드를 살펴봤습니다.
https://rls1004.notion.site/7-1a498a7b37bd8097b990f467f08628c3
firebase 를 적용한 프로젝트를 github 에 업로드 했더니 security alert 이 발생했습니다.
그래서 후다닥 제외 시켰었는데요, 스터디원 분이 firebase 에서는 상관 없다는 반응이라고 하시더라구요!
알아보니 다른 API 서비스들과는 다르게 API key가 권한 부여의 역할이 아닌 프로젝트 식별 용도로만 사용되기 때문에 key를 숨키는 것 보다는 firebase 보안 규칙을 철저히 설정하는게 중요하다는 것을 새로 알았습니다!
코드를 Method 로 분리해야 할지 Widget 으로 분리해야 할지,
MVVM 패턴에 따라 코드를 분리 할 때 폴더 구조는 어떻게 설계할것인지,
Firebase 를 db 로 쓸 때는 데이터 구조를 어떻게 설계 해야 할지..
더 좋은 방법에 대해 고민하기도 했습니다.
그 과정에서 stackoverflow 나 여러 tech blog 에서 좋은 논의들을 발견하고 공유하기도 했어요.
노마드 코더를 아마 2018년 부터 알았을거에요, 유튜브에 재미있는 트렌드 공유해주시고 알기 쉽게 설명해주셔서 챙겨봤었어요.
영화앱 클론코딩 책도 사고 노마드 코더 티셔츠도 받았었어요 ㅋ.ㅋ (XL 이라 한번도 못 입었지만..)
암튼 4주차 주간 회의에 니꼬쌤이 QnA 를 진행해 주셨어요!
트렌드를 어디서 수집 하는지, 재택 근무 집중 하는 노하우, 노후 계획을 질문에 남겼었는데 모두 답해주셔서 좋았습니다.
저도 재택근무 중이라 고민이 많았는데
"Win the morning, win the day" 라는 답변이 매우 인상깊었어요.
슬럼프 극복 방법에 대한 질문에도 배우는걸 멈추지 말라는 답변이 엄청나게 공감 됐습니다!
오프라인 모각코를 통해 같이 스터디하는 실존 인물들을 만났습니다!
5주차 까지만 해도 아직 반 밖에 안 왔네.. 하며 시간이 너무 안 가는것 같았는데
좀 더 함께 한다는 느낌이 들어서 그런지 서로의 일일 스프린트, 주간 회고, 코드 리뷰들을 좀 더 눈 여겨 보게 되고 응원하고 같이 으쌰으쌰 하게 된거 같아요!
7주차 부터는 시간이 꽤 빠르게 흘렀습니다.
졸업 작품 모두 우수 졸업 작품에 선정되었습니다!
스터디 우수 졸업과 스페셜 어워즈까지 주셔서 너무 감사했습니다.
스터디를 처음 시작하면서 세운 목표 중 하나가 우수 졸업 작품 만들기였는데, 사실 첫 졸업 작품 제출하고 나서 포기했었어요.
fancy 한 디자인을 하고 싶었는데 한계를 느꼈거든요..
그래도 이것저것 시도 했어서 그런지 우수 졸업 작품에 선정 되었습니다!
사실 주간 회의 때 졸업 작품 후기 발표 하고 싶어서 망설였는데 묵혔습니다.
지금이라도 공유를.. https://rls1004.notion.site/f2d52e57fb7a4eb885ff15d90d8db8bb
(근데 이런 회고 발표가 아니더라구요 ㅋ.ㅋ)
두 번째 졸업 작품에는 필수 요소들 말고도 firebase 와 데이터를 활용해서 여러가지 기능을 구현하려고 했습니다.
정해진 기능 외에 떠오르는 아이디어를 구현하니까 재밌더라구요.
데이터를 가공해서 차트를 만들고 싶어서 fl_chart 패키지로 이것저것 실험했어요.
더 많은 아이디어를 생각했는데 욕심이 과했는지 지쳐버려서 다 구현하지는 못했어요.
세 번째 졸업 작품은 애니메이션 챌린지인데, 차트를 또 한번 활용해서 동적인 차트도 넣어봤어요.
여기서 또 디자인적 감각의 한계를 느꼈습니다 ㅠ
과제의 예시를 보고 나니 그 틀을 벗어난 디자인을 못하겠더라구요.
다른 분들 디자인 보고 이런 방법이 있었구나 놀라기도 했습니다.
애니메이션 과제들은 이전 과제들에 비해서 좀 더 자유도가 높다고 해야할지.. 비슷한 애니메이션이라고 하더라도 그 구현 방법들이 다 다르더라구요, 어떻게 다르게 구현 했는지 코드 보는 재미가 있었습니다!
무에서 시작 했는데 이제는 앱을 보면 이런 앱은 어떻게 클론 코딩 할 수 있겠다 하는 감이 잡힙니다.
앱을 사용하다가도 문득 '이건 플러터로 구현하면 이런 위젯이겠지?' 라는 생각을 하게 돼요 ㅋ.ㅋ
니꼬쌤의 QnA를 통해서도 건강한 생활 방식과 마인드셋에 대해 배웠구요.
마지막의 마지막까지 열정적인 스터디원들을 보면서도 꾸준함이 곧 실력이라는 것을 다시 한 번 느꼈습니다.
같은 강의를 보고 공부했어도 서로의 시선이 다르기 때문에 짧은 코드라도 피드백을 주고 받는게 얼마나 중요한지도 알았습니다.
일과 병행 하려니 시간 관리가 안돼서 너무 힘들긴 했습니다 ㅠ
일이든 과제든 더 일찍 시작하고 더 집중하려고 노력했어요.
과제에 떠밀려 강의를 건너뛴 부분도 꽤 있었습니다.
기초가 중요한 만큼, 건너뛴 부분들도 다시 봐야할거 같아요.
처음엔 리팩토링도 열심히 하고 지나간 과제도 다시 리팩토링 해야지! 하고 마음 먹었었는데
과제 하기도 바빴습니다 ㅎ.ㅎ..
처음엔 47명으로 시작하고 2개의 조로 나뉘었는데 초반에 굉장히 많은 분들이 활동을 그만두셔서 저도 덩달아 의욕이 꺾였었습니다 ㅠ
어느 파트인지 기억은 잘 안 나는데, 들어야 하는 강의와 구현해야 하는 과제의 연관성이 떨어졌던 부분이 있었어요.
이 10주의 스터디는 저에게 꾸준함의 소중함을 다시 알려준 시간이었습니다.
이걸 해낼 수 있을까 걱정도 많았지만 할 수 있다는 걸 증명한 시간이었구요,
"일단 해보자" 라는 마음으로 앞으로도 무엇이든 배우고 도전하고 꾸준하겠습니다.
다트 나이트 조를 이끌어주신 TA Daehun 님, 라이브 코딩까지 해주신 TA Devil 님, 스터디원들 뒤에서 열심히 밀어주신 Bora 님, 그리고 열심히 달려온 스터디원들!
모두 감사드리고 고생 많으셨습니다!