[개발일지] 21.09.30

jaypyon·2021년 9월 30일
0

개발일지

목록 보기
5/13

😀 잡담

9월의 마지막 날이다. 친해졌던 인턴 한 분의 계약기간이 끝이났다. 알체라는 인턴이 많고, 인원변동도 많다. 나는 7개월간 일할 예정이지만, 보통 이렇게 길게 계약하지 않는다. 7개월간 하기 때문에 얻을 수 있는 경험도 분명히 있을 거라고 생각한다.(사실상 정규직 업무...힘들긴 하다...)

🥴 기억에 남은 점

  1. 어제 고민하던 문제 중 회원가입 후 즉시 로그인으로 넘어갈 때 토큰이 발급되지 않는 문제가 있었다. async/await 문제라고 생각해서 한참을 고민했지만, 항상 사용자의 실수때문에 문제가 발생하는 경우가 많은 것 같다. 서버 측 코드에서 패스워드가 항상 정적으로 생성되는 Fixed code가 있었고, 이를 해결해주니 정말 잘 작동된다.
  2. Flutter 개발을 진행하면서 아키텍쳐와 위젯, 기본적인 Dart 구문의 작성에 많이 익숙해졌지만, 정작 내가 산출하는 코드의 의미를 파악하고있지는 않다는 생각을 했다. 예를들면 "BuildContext의 context는 무슨 역할을 하나요?" 같은 질문에 명쾌한 설명을 할 수 없었던 경험을 오늘 하게 되었다. 발전해야할 점이 아직 많이 남아있다.
  3. 정규직 전환 제의를 받았다. 마음 한 켠은 뿌듯해진다.
  4. Backend의 Model이 가변적이다.(전략기획, UI/UX의 잦은 변동이 있다.) 이에 따라서 Model 설계가 계속 바뀌기 때문에 App단에서 Parsing을 Front에서 자꾸 진행하게 되는데, 코드가 너무 길어지고 깔끔하지 않아서 내일은 다시 제대로 Model 설계를 진행하고 json_serializable package를 사용해 볼 예정이다.
  5. 로그인 성공시 서버로부터 받은 JWT Token과 User phone number를 flutter secure storage를 이용하여 저장했다. 추후 자동 로그인을 구현할 때 고려할 예정이다.

🤔 오늘의 고민

  1. 검색 기능에 대해서 고민중이다. GetX Architecture를 적용했으니, Controller 단의 OnInit에 Interval과 같은 함수를 이용하여 입력에 대해서 몇초에 한번정도 Server API를 호출하면 될 것 같다고 구상 중이지만, 현재 백엔드 엔지니어가 없는 상태라서 어느정도의 과부하가 올지 잘 모르겠다. 백엔드 엔지니어가 잘 구해진다면 좋겠으나, 구해지지 않을 수 있기 때문에 우선 더 공부해보고 잘 설계해봐야겠다.
  2. 현재 DAO 계층에서 API 부분은 재사용 가능성이 있으니, Repository 단에서 해당 Data Model들을 Parsing하고 기능에 맞게 분산하여 Function을 구현해야한다는 원칙을 세울까 고민중이다. 항상 코드의 재사용성이나 관심사 분리 원칙에 대해 생각하며 구현중이지만 아직 많이 어려워서 고민을 많이 하는 것 같다.
  3. 백엔드와 프론트 엔드를 둘 다 병행하니, 백엔드의 API와 앱의 API의 범주가 모호해졌다. 쉽게 설명하자면, 서버의 Buisiness Logic 단에서 처리해 주고 API로 만들어줄 수 있는 기능은, 백엔드에서 최소한의 기능을 제공한다면 앱 또는 프론트의 Data Access Layer에서도 구현이 가능하다는 이야기의 연장선이다. 보통 협업을 진행할 때는 어떻게 나누는지 궁금하다.

😉 마치며

많은 일이 있던 날이다. 친해진 사람과의 헤어짐, 정규직으로 함께 일하지 않겠냐는 고마운 제안 등... 우선

profile
DGU CSE

0개의 댓글