이슈발생특정 화면에 진입 시 구독하고 있는 riverpod 상태를 초기화 할 필요가 있어 다음과 같이 코드를 작성하였습니다. 참고로 이때는 riverpod의 autoDispose 기능을 몰랐었네요. 공식문서의 중요성을 다시 한 번 깨달았습니다. @override void initState() { super.initState(); ref.read(diaryCreateViewModelProvider.notifier).handleReset(); } View에서 최초로 한번만 실행하면 되기에 initState시 viewModel의 reset함수를 작동시키자 다음과 같이 에러가 발생하였습니다. 이슈파악에러 메세지를 통해 이슈를 파악해보겠습니다. Tried to modify a provider ..
오늘도 어슬렁 어슬렁 재밌는 기술 블로그 없나하고 탐색하던 중, 흥미로운 사이트를 발견했습니다. 자신이 직접 만든 블로그에 방명록 기능을 개발해서 탑재해 놓은 거였죠. 어라 ? 이거 Next.js랑 Supabase로 하면 금방 만들겠는데 하고 생각이 들었습니다. 비록 티스토리 블로그지만 좌측 메뉴에 링크만 걸어두면 접근할 수 있으니까요. 재밌어 보이면 빠르게 실행해야죠 ! 먼저 서버셋팅부터 해보겠습니다. Supabase서버는 고민없이 Supabase로 선택했습니다. 제가 요즘 취미로 개발하는 타이브레이크에서 요긴하게 사용하는 서비스인데 Firebase와 비슷한 BaaS입니다. 개인적으로 파이어베이스보다 개발자 친화적이며 풀스택 개발에 최적화된 서비스라 생각하네요. React, Flutter, Python..
스마트폰이 일상이 되어버린 시대에서 앱에서 공유기능은 필수가 되었습니다.점심시간만 되면 슬랙에 많은 배민 링크가 올라오거나 친구들끼리 카톡으로 맛집 링크를 공유하지 않으신가요 ? 사용자는 링크를 통해 쉽게 앱으로 이동할 수 있고, 서비스를 운영하는 측에서는 많은 사용자 유입을 기대할 수 있게되었죠. 최근에 테니스장 어플 '타이브레이크'의 웹버전을 개발하여 앱에서 공유할 수 있는 링크가 생겼습니다. 이번 포스팅에서는 share_plus를 통해 Flutter에서 앱 링크를 공유하는 과정을 가져보려합니다. 웹버전 구경도 한번 해보세요 ! https://tiebreak.vercel.app/ 타이브레이크내 손안의 테니스장, 타이브레이크tiebreak.vercel.app share_plusshare_plus는 F..
저는 선언적인 프로그래밍을 좋아합니다. 프론트엔드 개발 초기시절 styled-components로 공통화되지 않은 div를 찍어내다가 Flutter를 처음 접했을때 충격을 잊을수가 없죠. Scaffold와 같은 위젯에서 옵션을 제공해주는데 어찌나 편리하던지 ! 심지어 자동완성까지 지원해주는데 저는 그저 필요한 속성들만 쏙쏙 골라 사용하면 됐습니다. 만약 분기처리도 명령형이 아닌 선언형으로 작성하면 어떨까요 ? 복잡한 if/else와 switch문에서 조금은 구원받을 수 있을텐데요. 최근에 ts-pattern 라이브러리를 재미있게 보고 있습니다. JS에서 아직 공식적으로 제공하지 않는 패턴매칭을 도와주는 패키지인데 복잡한 데이터나 API를 선언적으로 분기처리할 때 유용할 것 같습니다. 패턴매칭의 용어에..