개발일지 - 데이터 크롤링
·
[Flutter] 프로젝트 (눈길)/작업일지
[Flutter] 2차 프로젝트(눈길) OTT 종합 정보 플랫폼 앱 개발 고도화작업기간2025.02.10 ~ 2025. 03.07작성일2025.02.12 오늘 작업 - 데이터 크롤링 수정 내일 작업- 리뷰 페이지 백이랑 연결개인 소감1차 프로젝트가 끝나고 2차 프로젝트의 고도화 작업이 시작되었다. 하지만 2차 프로젝트에서는 팀원 한 명이 빠지면서 작업량이 늘어났다.게다가 이제는 이력서와 자기소개서 등 취업 준비도 병행해야 해서, 쉴 틈 없이 작업과 준비를 해야 하는 상황이다.현재 크롤링 작업을 진행 중이지만 아직 완벽하게 구현되지 않았다. 계속해서 코드를 수정하고, 테스트를 반복하며 개선해야 하는 상황이다.점점 적응하고 있지만, 여전히 수정해야 할 부분이 많아 고민도 많아진다.뿐만 아니라, 크롤링 작업과..
[Flutter] 블로그 만들기 - 회원가입 기능 구현 및 UI
·
Flutter/App
이번 글에서는 Flutter 블로그 회원가입 기능을 구현합니다.서버 요청, 상태 관리(Riverpod), 예외 처리를 적용하여 안정적인 회원가입 흐름을 만듭니다.1. 회원가입 기능 설계회원가입 요청을 보낼 때 어떤 변수가 필요할까요?뷰모델(SessionGVM)에서 회원가입을 처리하며, 다음과 같은 기능을 수행합니다.📌 뷰모델의 역할회원 정보 관리회원가입 시 입력된 username, email, **password**를 관리합니다.회원가입 요청 처리서버에 회원가입 요청을 보내고, 성공하면 로그인 페이지로 이동합니다.예외 처리네트워크 오류, 서버 에러 등을 처리하여 사용자에게 알림을 제공합니다.2. UserRepository에서 회원가입 요청 처리UserRepository는 서버 API와 통신하는 역할을 ..
[Flutter] 블로그 만들기 - 로그인 UI 구성
·
Flutter/App
이번 글에서는 로그인 UI를 구성하고, 이를 위한 위젯들을 정리해보겠습니다.디자인 시안을 확인한 후, 필요한 위젯을 만들고 LoginPage와 LoginBody를 구성하겠습니다.UI에 사용될 파일  디자인 시안1. 프로젝트에 assets 폴더 및 이미지 추가 로그인 화면에서 로고 및 기타 이미지 파일을 사용하기 위해 assets/ 폴더를 추가하고, 이미지 파일을 프로젝트에 포함해야 합니다.Flutter에서는 pubspec.yaml 파일에서 assets 폴더 및 이미지 파일을 등록해야 이를 사용할 수 있습니다. # To add assets to your application, add an assets section, like this: assets: - assets/ # - images/a_..
[Flutter] MVVM + 상태관리
·
Flutter/Dart 언어
📝 Flutter Riverpod을 활용한 MVVM 패턴 정리Flutter에서 Riverpod을 활용한 MVVM 패턴을 적용하면 상태 관리를 더욱 간결하고 효율적으로 할 수 있습니다.이번 포스팅에서는 기본적인 MVVM 패턴을 Riverpod을 활용하여 개선하는 과정을 살펴보겠습니다.1️⃣ MVVM 패턴이란?👉 UI(View)와 비즈니스 로직(Model)을 ViewModel을 통해 분리하여 코드의 유지보수성과 테스트 용이성을 높이는 패턴👉 기존의 setState() 방식 대신 Riverpod을 활용하여 전역 상태 관리2️⃣ MVVM 패턴 구현이번 구현에서는 Riverpod을 사용하여 MVVM 패턴을 적용할 것입니다.📌 구조Model (todo_item.dart): 데이터 모델을 정의.ViewMode..
[Flutter] 상태 관리 앱 만들기 (라이브러리 사용)
·
Flutter/App
📝 Flutter Riverpod 상태 관리 정리Flutter에서 상태 관리를 쉽게 하기 위해 Riverpod을 활용할 수 있습니다.Riverpod에는 여러 가지 Provider가 존재하며, 각각의 역할이 다릅니다.이번 포스팅에서는 Provider, StateNotifierProvider, NotifierProvider의 차이점을 정리하고,주석을 포함한 예제 코드와 함께 개념을 설명하겠습니다. 1️⃣ Provider (단순 데이터 제공)✅ 개념Provider는 단순히 데이터를 제공하는 역할을 합니다.상태 변경이 필요 없는 정적인 데이터를 관리할 때 사용됩니다.한 번 데이터를 제공하면 더 이상 변경할 수 없습니다.✅ 코드 예제import 'package:flutter_riverpod/flutter_riv..
[Flutter]상태 관리 앱 만들기 (nheritedWidget 사용)
·
Flutter/App
3단계: InheritedWidget으로 상태 관리하기 💡 InheritedWidget은 props drilling 문제를 해결하기 위한 Flutter의 기본 상태 관리 방법 중 하나다.하위 위젯들이 중첩된 경우 상태나 데이터를 전달하기 어려운 상황에서 상위 위젯의 상태를 공유하고, 하위 위젯들이 이를 활용할 수 있도록 돕는다.하지만 몇 가지 단점이 존재해 더 나은 상태 관리 라이브러리인 Provider나 Riverpod을 많이 사용하는데, 이에 대해서는 다음 포스팅에 언급하겠다.Inherited_Parent// InheritedWidget 내장 데이터 타입을 상속받아 구현한다.import 'package:flutter/cupertino.dart';import '../common.utils/logger..
[Flutter] 상태 관리 앱 만들기 (StatefulWidget 사용)
·
Flutter/App
2단계: 도서 관리 앱으로 상태 변화 관리하기 💡 도서 관리 앱 - 위젯 트리 구조 (StatefulWidget을 이용한 상태 관리)homePage (StatefulWidget)| ├── 공유 상태: 대출 목록에 추가된 도서 목록 (공유 상태)|├── Library (Store 역할)| ├── Book 1 (도서 목록)| ├── Book 2| ├── Book 3| └── Book 4|└── BorrowList (Cart 역할) ├── Book 2 (대출 목록에 추가된 책) └── Book 4 코드 구성 main.dart import 'package:flutter/material.dart';import 'home_screen.dart';void main()..
[Flutter] 상태 관리 앱 만들기 (stl, stf)
·
Flutter/App
💡 우리가 배울 여러 상태 관리 방법을 이용해 데이터 일관성을 유지 해보자!StatefulWidgetInheritedWidgetProvider(라이브러리)Riverpod(라이브러리)1단계: 기본 위젯 (StatelessWidget & StatefulWidget) 💡  StatelessWidget이란 상태 변화 없이 항상 동일한 UI를 그리는 위젯import 'package:flutter/material.dart';void main() { runApp( MaterialApp( home: MySatelessWidget(), ), );}class MySatelessWidget extends StatelessWidget { const MySatelessWidget({super.key..