1. 개요mocktail을 이용하여 테스트 코드를 작성하던 중 마주친 오류와 해결 방안에 대해 서술했습니다. 2. 문제 상황현재 제 아키텍처는 다음과 같은 계층 구조로 데이터가 흐릅니다. DataSource -> Repository -> UseCase -> ViewModel 먼저 DataSource에서 외부 API와 통신을 하고,그 결과를 Repository에 반환한 후,UseCase, ViewModel로 이어지는 구조입니다. 문제는 Repository 테스트 코드를 작성하던 중 다음과 같은 오류가 발생했습니다.Bad state: A test tried to use `any` or `captureAny` on a parameter of type `DreamDto`, butregisterFallback..
1. 프로젝트 소개Flicksy는 Flutter로 개발된 영화 정보 앱으로, TMDB(The Movie Database) API를 활용하여 현재 상영 중인 영화, 인기 영화, 평점 높은 영화, 개봉 예정 영화 등의 정보를 제공합니다. 사용자는 영화의 포스터, 개봉일, 영화 설명, 장르, 흥행 정보, 제작사 로고 등 다양한 세부 정보를 확인할 수 있습니다. 2. 주요 기능 TMDB 영화 데이터 연동 클린 아키텍처 기반 구조 당겨서 새로고침(Pull to refresh) Riverpod을 활용한 상태 관리 영화 상세 페이지에서 다양한 정보 제공 .env 파일을 통한 API 키 관리화면 이동시 Hero 애니메이션 3. 프로젝트 구조lib/├── feature/ # 기능 ..
1. 개요클린 아키텍처를 대해 공부하면서 알게 된 주요한 분리 방식 두 가지가 있다. 첫 번째는 계층 우선 분리고, 두 번째는 기능 우선 분리이다. 먼저 계층 우선 분리는 기능보다는 계층에 따라 폴더를 나누는 방식으로 각 계층별 책임이 명확하다는 장점이 있다.하지만 기능이 추가됨에 따라 관련 파일들이 여기저기 흩어지기 때문에 파일들을 추적하거나 관리하기가 쉽지 않다. 반면 기능 우선 분리는 기능을 기준으로 폴더를 나누는 방식으로 특정 기능과 관련된 모든 코드가 한 곳에 있어 유지보수가 용이하고, 모듈화, 리팩토링, 테스트가 쉽다는 장점이 있지만, 폴더가 많아진다는 단점도 있다. 이전 러닝 앱을 구현하였을 때 크게 4가지 기능(로그인, 지도에 위치 표시, 채팅, 러닝 결과 계산)이 있었다.당시에 계층 우..
1. LeetCode 문제풀이https://sfida.tistory.com/159 [Dart] 15. 3Sum1. 문제https://leetcode.com/problems/3sum/description/?envType=study-plan-v2&envId=top-interview-150 2. 요구사항1) 정수배열 nums가 주어질 때, 총합이 0이 되는 모든 고유한 세 숫자의 조합을 찾아야 한다.2) 각 조합은 nusfida.tistory.com 2. 개인 과제 구현- API 연동 및 데이터를 뷰에 표시- Hero 위젯으로 애니메이션 구현- Pull to Refresh 구현 3. 회고영화 앱을 만들긴 했는데 아직 기능이 많이 부족한 것 같다.유용한 기능을 좀 더 추가해서 포트폴리오로 낼 만큼의 완성도 ..