Day 3 - Figma 추가 작업중
·
개발일지 : 모멘톡(momentalk)
오늘도 어제에 이어 개인 프로젝트 Figma  작업을 진행했다.우선적으로는 내가 필수적으로 넣고싶은 아래 기능들을 먼저 넣었다. - 스플래시- 날짜 표시 및 이동 기능- 그날의 To Do List 작성 및 완료 표시 기능- 시간별 원래의 계획과 결과 입력하고 색깔로 분류하기   (경제활동 / 자기계발 / 휴식 / 집안일 등 필수작업 / 시간낭비)- 알람설정 + 30분마다 추가 알람- 정보 페이지 (문의처, 이용약관 및 개인정보 처리방침)  MVP (Minimum Viable Product) 우선출시가 목표이기 때문에내가 정말로 필요로했던 최소 기능들만 우선적으로 작업할 예정이다. 로그인 기능을 넣을까 했지만 일단은 로컬저장소에 데이터를 저장해두고 불러오는 방식으로 구현해봐야겠다. 내가 이 어플을 기획하게..
Day 2 - Figma 작업
·
개발일지 : 모멘톡(momentalk)
어제에 이어서 오늘도 개인프로젝트 피그마 작업을 해봤다.매일 일정을 계획하고 결과를 기록할 수 있도록 데일리 플랜 페이지를 아래와 같이 구성해봤다.  먼슬리, 위클리도 넣고싶은데 일단 MVP 구현을 우선적으로 하기 위해 데일리 플랜 페이지만 넣기로 했다.바텀 내비게이션바에는 알람설정과 마이페이지 이동버튼을 넣을 계획이다.근데 확실히 디자이너님이 만져주실때랑은 다르다.. 확실히 아마추어 느낌..ㅎㅎㅎ그래도 최대한 열심히 작업해봐야겠다!ㅎㅎ
Day 1 - 앱 이름, 컨셉 정하기
·
개발일지 : 모멘톡(momentalk)
ChatGPT 한테 시간의 소중함과 매 순간을 의미 있게 보내자는 메시지를 표현한 귀엽고 예쁜 이미지를 하나 만들어달라고 했더니 너무 유아틱한 귀여운 이미지가 생성되어서 ㅋㅋ 이번엔 제미나이에게 부탁해봤는데 위와 같이 예쁜 이미지가 잘 생성되었다. 내가 만들고 싶은 앱은 사후기록 알람 앱이다.시간의 소중함을 더욱 깊이 느끼고 내가 직전시간을 어떻게 보냈는지에 집중하게 도와주는 앱을 만들고싶다.그래서 생각해낸 이름은 모멘톡이다. 순간을 나타내는 Moment, 그리고 대화를 뜻하는 Talk을 붙여서 이름지었다. 대화식으로 만들지, 아니면 리스트식으로 타임테이블을 채우는 식으로 만들지 고민인데,대화식으로 만들려면 많은 시간이 소요될 것 같아 아무래도 타임테이블 채우기 식으로 만드는것이빠른 MVP 출시로 가는 ..
Flutter - Riverpod 상태관리
·
내일배움캠프 (Flutter 5기)/Flutter
1. Riverpod 이란?Riverpod은 Flutter에서 사용하는 상태관리 패턴중 하나이다. (이외에도 Provider, Bloc 등이 있음) 클릭한 버튼의 상태, 입력한 텍스트, 불러온 데이터 등을 쉽고 안전하게 관리할 수 있고변하는 데이터(상태)를 저장, 관리하면서 화면(UI)을 자동으로 업데이트해준다. 초보자도 실수 없이 쓰기 좋고, 안전하고, 테스트하기 쉽고, 가독성이 높은 코드를 작성할 수 있게 도와준다.특히 클린아키텍처와 의존성 주입을 잘 지원하여 복잡한 앱에서 유지보수하기 쉬워진다. 앱 실행중 메모리(RAM)에 데이터를 보관한다.그래서 앱이 꺼지거나 다시 실행되면 Riverpod에 있던 데이터들은 사라진다. 캐싱 서비스는 로컬 위치에 저장해서 앱을 껐다 켜도 데이터가 유지되고,네트워크 ..
Flutter - 상수 클래스
·
내일배움캠프 (Flutter 5기)/Flutter
서론Flutter 개발을 하다보면 생각보다 상수를 활용하게 되는 때가 많다.앱전반에서 변하지 않는 값들에 대해 재사용을 많이 하는데,여기에는 문자열, 경로, 숫자, 패딩, 색상, 여백, 그림자 설정 등 정말 다양한 요소들이 해당된다. 이런 설정들을 일일이 적어 사용하다보면, 보다 간소화시켜서 사용하고자 하는 욕구가 생긴다.이럴 때 주로 상수화를 시켜서 사용을 많이 하는데 간편하다는 장점 말고도 여러 좋은 점들이 많다.  상수 클래스 사용이유유지 보수 용이성 : 상수값을 한 곳에 모아두면, 상수값이 변경될때 해당 상수 파일만 수정하면 되니까 편리하다.오타, 실수 등 Human Error 방지 : 같은 설정을 상수화하지 않고 여기저기 사용하다보면 수정시에 굉장히 불편하다.특히나 빠트린 부분, 잘못 수정한 부..
Flutter - ListView
·
내일배움캠프 (Flutter 5기)/Flutter
서론어제 상태관리에 대해서밖에 제대로 공부를 안했는데 오늘 오전에 모의면접에 참여했다.그동안 쌓았던 얕은 지식들을 총동원하고 약간의 합법적인(?) 컨닝페이퍼와 함께 어찌저찌 답변을 하긴 했는데 아무래도 얕은 밑천은 금방 드러나버렸다. 그래도 오늘부터 차근차근 핵심 개념들에 대해 다시 돌아보고자 한다. Flutter 숙련ℚ. ListView, ListView.builder, SingleChildScrollView + Column 3가지의 차이점은?𝔸. 리스트뷰, 리스트뷰 빌더, 싱글차일드스크롤뷰에 칼럼을 넣은 세가지 구조의 차이점을 알아보려면 일단 각 위젯에 대한 이해가 필요하다.  ListView여러개의 위젯을 세로로 나열하여 보여주는 위젯이다. 쉽게 말하면 우리가 핸드폰에서 자주보는 스크롤 가능 목록..
Flutter - 상태(State)란?
·
내일배움캠프 (Flutter 5기)/Flutter
서론정신없이 최종프로젝트 준비를 하다 보니 어느새 모의 면접 준비단계에 들어섰다. 모의면접 시뮬레이션 학습 가이드에는 본인의 답지를 만들어볼 것을 권장한다고 쓰여있다.예상 문제를 준비해서 미리 공부한다는 느낌으로 대비하면 된다고 하셨다. 포커스를 둘 부분은, 말을 잘하는 법이다.내가 이해한 것을 바탕으로 개념에 대해 잘 설명할 수 있어야 한다.절대 준비한 자료를 읽으면서 답변하면 안 된다고 하셨다.실제로 정말 면접을 본다 생각하고 임해야겠다. 나의 경험이나 구체적인 예시를 들면 좋다고 하며, 순차적으로 말하는 연습을 해야 한다.잘 알지 못하거나 하지 못하는 부분에 대해서는 최대한 진실성 있게 말해야 한다. ChatGPT의 도움을 얻어 나만의 답안지를 작성해 봤다. Flutter 숙련ℚ. Flutter 앱..
디버그용 / 릴리즈용 DB 분기하기 + get 명령어 사용법
·
내일배움캠프 (Flutter 5기)/Flutter
Flutter 프로젝트를 준비하는 와중에, Firebase상에서 데이터를 주고받는 DB에 대해디버그 / 릴리즈 용도분리를 해야한다는 사실을 뒤늦게 깨달았다.이와 관련하여 팀원분이 사용법을 정리해주셨는데 아래와 같이 복기해보고자 한다.1. 디버그용 / 릴리즈용 DB 분기하기import 'package:flutter/foundation.dart';/// firestore DB 분기class FirestoreConstants { bool get isDebugMode => !kReleaseMode; String get usersCollection => isDebugMode ? 'users_test' : 'users'; String get packagesCollection => isDebugMode ? 'p..