공부 일기/TIL 15

Flutter 창업반 6주차 TIL5 블로그 앱 만들기-Firebase연동

Firebase 란?파이어베이스(Firebase)는 2011년 파이어베이스(Firebase, Inc)사가 개발하고 2014년 구글에 인수된 모바일 및 웹 애플리케이션 개발 플랫폼이다 - 위키백과서버 구현없이 앱개발을 편하게 할 수 있게 도와주는 플랫폼서비스하는 제품로그인 회원가입 쉽게 구현할 수 있는 Authentication데이터를 저장하는 Firestore사진, 동영상 및 각종 파일을 저장할 수 있는 Storage더 많지만 이번엔 Firestore와 Storage만 알아볼게요!(이번 앱 구현에 필요하거든요)FirestoreNoSQL 기반 데이터베이스실시간 동기화 가능(값이 업데이트 되면 다시 데이터 달라고 요청할 필요 없이 감지할 수 있음)오프라인 지원(오프라인에서 수정, 삭제, 읽기 등 작업을 하면..

공부 일기/TIL 2024.12.05

Flutter 창업반 6주차 TIL4-1 Firebase-블로그 앱 만들기 UI

Firebase 활용 - 블로그 앱 만들기    1. home_page.dart UI 구현color를 사용하여 작업하는 영역 확인하면서 작업 /  Stack을 사용하여 겹쳐진 부분을 구현 TextOverflow.ellipsis를 사용하여 글자수가 넘치는 부분은 ...으로 표시 Extract Method 사용하여 item이라는 함수 메소드로 이용 ListView속성 중 separated속성 사용하여 item들 사이 간격 벌리기 GestureDetector, Widget 사용하여 item 클릭 시 DetailPage로 이동하도록 수정 FloatingActionButton, Navigator.push 통해서 WritePage로 이동하도록 구현  2. detail_page.dart UI 구현AppBar영역 수정..

공부 일기/TIL 2024.12.05

Flutter 창업반 6주차 TIL3-2 Git / MVVM / Flutter UI 복습

Git //Git의 주요 명령어들을 일반적인 워크플로우에 따라 그룹화하여 설명하겠습니다.## 시작하기### 저장소 생성 및 복제1. **git init**   - 새로운 Git 저장소를 생성합니다.   - 사용법: 프로젝트 폴더에서 `git init` 명령어를 실행합니다.   - 예: `git init my_new_project`2. **git clone**   - 원격 저장소를 로컬 컴퓨터로 복사합니다.   - 사용법: `git clone [원격 저장소 URL]`   - 예: `git clone https://github.com/username/repository.git`## 일상적인 작업### 변경사항 확인 및 준비1. **git status**   - 현재 작업 디렉토리의 상태를 보여줍니다.   -..

공부 일기/TIL 2024.12.04

Flutter 창업반 6주차 TIL3-1 RiverPod-책검색 앱 만들기, 웹 개발 관련

Flutter 창업반 6주차 TIL3 RiverPod-책검색 앱 만들기, 웹 개발에 대한 인사이트 1) 네이버 API를 이용, 책검색 앱을 구현함https://github.com/oosuhada/flutter_book_search_app   2) 모바일 환경 최적화를 위해 lib/ui/pages/detail/detail_page.dart에서 코드를 수정import 'package:flutter/material.dart';import 'package:flutter_book_search_app/data/model/book.dart';import 'package:flutter_inappwebview/flutter_inappwebview.dart';class DetailPage extends StatelessW..

공부 일기/TIL 2024.12.04

Flutter 창업반 6주차 TIL2 상태 관리 패키지(RiverPod)관련 복습/실습

Riverpod는 Flutter/Dart 환경에서 상태 관리를 쉽게 할 수 있도록 도와주는 라이브러리입니다. Riverpod을 사용하면 ViewModel의 역할을 쉽게 구현할 수 있으며, View(위젯)에서 상태를 관찰하고 업데이트하는 과정을 간단하게 처리할 수 있습니다.  아래는 Riverpod을 사용하는 방법에 대한 단계별 설명입니다.Riverpod의 주요 개념Riverpod은 Provider의 아나그램으로, 반응형 캐싱 프레임워크입니다.비동기 요청과 오류 처리를 자동으로 관리하며, 필요한 경우 데이터를 자동으로 다시 가져옵니다 사용법1. 상태 클래스 정의하기먼저 관리할 데이터를 담을 상태 클래스를 정의합니다.class HomeState { int counter; HomeState(this.cou..

공부 일기/TIL 2024.12.03

Flutter 창업반 6주차 TIL1 - Dart 언어 특수문자 사용법, 동기/비동기 특강

Dart 언어에서 세미콜론(;), 쉼표(,), 마침표(.)의 사용법1. 세미콜론 (;)세미콜론은 Dart에서 단순 문장을 종료할 때 사용합니다:1. 변수 선언 및 할당:dartvar x = 5;int y = 10;2. 함수 호출:dartprint('안녕하세요');3. return 문:dartreturn 값;4. import 문:dartimport 'package:flutter/material.dart';5. 하지만 다음의 경우에는 세미콜론을 사용하지 않습니다:복합 문장 (중괄호로 둘러싸인 코드 블록):dartif (조건) {  // 코드} // 닫는 중괄호 뒤에 세미콜론 없음6. 클래스, 메소드, 함수 선언:dartclass 내클래스 {  void 내메소드() {    // 코드  }} // 닫는 중괄호..

공부 일기/TIL 2024.12.02

Flutter 창업반 5주차 TIL2 상태 관리 패키지(RiverPod), VS Code 단축키

상태 관리 패키지(RiverPod) 사용하기 하위 위젯에 불필요하게 파라미터 넘겨줄 필요 없어짐(하위 위젯에서 Consumer 쓰면됨)전역 상태 관리 가능(ViewModel 공급을 riverpod이 해주니깐)위젯을 그리는 코드는 Widget에서, 상태 관리는 별도의 클래스에서 하니 유지보수 용이 사용법 - ViewModel 만드는 법1. 관리할 데이터를 담을 상태 클래스를 만든다class HomeState{ int counter; HomeState(this.counter);} int counter: 클래스의 속성(멤버 변수)으로, 정수형 counter를 선언합니다.HomeState(this.counter): 이것은 클래스의 생성자입니다.this는 현재 인스턴스를 가리키는 키워드입니다.생성자에서 this...

공부 일기/TIL 2024.11.29

Flutter 창업반 5주차 TIL1 - 데이터 통신 기초와 JSON, MVVM 아키텍쳐

데이터 통신 기초와 JSON Dart에서 JSON 데이터 변환 형식데이터를 주고 받을 때 JSON형식의 String으로 주고 받음직렬화Dart 객체 → Map → String역직렬화String → Map → Dart 객체class 에 fromJson named 생성자 , toJson 메서드 구현해서 사용class User { User({ required this.name, required this.age, }); String name; int age; User.fromJson(Map map) : this( name: map['name'], age: map['age'], ); Map toJson() { return { ..

공부 일기/TIL 2024.11.29

Flutter 창업반 3주차 TIL2 - 라이브러리 이용, 동기/비동기

11/5 - 화Flutter 창업반 3주차 TIL2 라이브러리 이용 확장 - 라이브러리: 특정 기능이나 작업을 쉽고 빠르게 수행할 수 있도록 미리 작성한 코드의 집합- 필요한 기능만 뽑아서 사용할 수 있는 효율성 / 코드 재사용성 / 반복하지 않기 때문에 가독성- import '[라이브러리 이름]'; or import '[파일 경로]';- as 를 통해 라이브러리에 별칭을 부여할 수 있음- show 를 통해 라이브러리에서 필요한 부분만 선택적으로 가져올 수 있음- hide 를 통해 라이브러리의 특정 부분을 제외하고 가져올 수 있음- deferred as 를 통해 라이브러리가 필요한 시점에 로드되도록 할 수 있음. 지연로딩 import 'package:greetings/hello.dart' deferred..

공부 일기/TIL 2024.11.08

Flutter 창업반 3주차 TIL1 - 예외처리, 오류

11/4 - 월Flutter 창업반 3주차 TIL1 예외처리 예외를 처리해 주지 않으면 프로그램이 종료되지만, 처리해 주면 프로그램이 정상적으로 실행됨모든 종류의 예외는 Exception 클래스를 상속 받아서 구성Exception 클래스를 상속 받지 않고 Exception 클래스로 객체를 생성해 줘도 됨그러나 그 예외가 어떤 타입의 예외인지 알기 어렵기 때문에 예외의 타입을 명확히 하기 위해서 Exception 클래스를 상속 받은 클래스로 객체를 생성함 예외종류. Dart 가 미리 정의해 둔 예외 1) DeferredLoadException - 필요한 시점에 로드되도록 설정한 라이브러리가 로드되지 못 했을 때 발생- 예시 DeferredLoadException(String message) -> messa..

공부 일기/TIL 2024.11.08