| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- Clean Architecture
- println
- abap
- JQ
- UI/UX
- JS
- Flutter
- react
- 배포
- 자바 출력 방식
- DART
- LLM
- java
- java 콘솔 출력 차이
- 자바 포맷 출력
- 자바스크립트
- unity
- java 출력
- printf
- scss
- 단축키
- nodejs
- 엡
- lifecycle
- firebase
- npm
- ListView
- 앱심사
- riverpod
- develop
- Today
- Total
목록2025/08 (24)
guricode
firebase_auth에서 제공하는 기능으로 google_sign_in 적용방법을 정리해보겠다 흐름은 이렇다 U[User📱]GA[Google Auth Server]GDB[(Google Auth DB)]FA[Firebase Authentication]FDB[(Firebase Authentication DB)]U --1️⃣ 로그인 시도--- GAsubgraph Google ServerGA GDBendGA --3️⃣ 사용자를 특정지을수 있는 Token 발급--- UU --4️⃣ Firebase Authentication 서버로 Google Token 전송--- FAFA GAsubgraph FirebaseFA FDBendFA --7️⃣ Firebase Token 전송---U -구현https://fire..
프로젝트 시작 전 워크플로우를 정리할 필요가 있어서 찾아봣다 일단 기본적인 다이어그램 기호는 이렇게 근데 워크플로우 작성법에도 여러가지가 있단다...기본순서도,수영 레인 다이어그램,UML다이어그램,BPMN,SIPOC 다이어그램(공급자 - 입력 - 프로세스 - 출력 - 고객) 기본 순서도 (Flowchart)네모, 마름모 같은 도형으로 절차와 조건 흐름을 표현단순한 업무 절차 설명, 프로세스 기본 구조 공유수영 레인 다이어그램 (Swimlane)가로/세로 레인으로 부서·역할 구분, 각 레인에 활동 배치여러 부서/역할 간 업무 분담과 책임 구분 시각화UML 다이어그램소프트웨어 설계용 표준. 시퀀스 다이어그램(흐름), 클래스 다이어그램(구조) 등 다양시스템 분석/설계, 객체 관계/데이터 흐름 설명BPMN (..
SNS 앱을 구현하기로했다. 앱 제목은 GoalMate 목표를 작성한 간단한 게시글을 올리는 간단한 소셜네트워킹서비스다. 우선 어떤 기능을 쓰는지에 따라 필요한 라이브러리가 있어 환경셋팅을 미리 해놔야한다. 그리고 라이브러리를 한번에 추가하면 안드로이드나 IOS에서 문제가 생기기때문에 하나씩 추가하고 일일이 빌드해가면서 테스트해야한다. 시간이 꽤 걸린다고 한다.. -운영 전용 도구-파이어베이스 필수 초기화 firebase_core파이어베이스 사용자 인증 firebase_auth파이어베이스 이미지 저장 firebase_storage파이어베이스 데이터베이스 cloud_firestore파이어베이스 앱 분석 firebase_analytics파이어베이스 예외 및 크래시리포트 firebase_crashlyti..
usecase를 작성한다 usecase는 레파지토리 인터페이스를 참조하여 메서드를 실행한다.뷰모델에서 usecase를 사용하여 screen에 공급해준다 //fetch_movies_usecase.dartimport 'package:flutter_clean_arch/domain/entity/movie.dart';import 'package:flutter_clean_arch/domain/repository/movie_repository.dart';//usecase는 repository interface를 참조한다class FetchMoviesUsecase { final MovieRepository _movieRepository; FetchMoviesUsecase(this._movieRepository); ..
Domain에 entity를 생성한다//movie.dart//현재는 Dto와 똑같아서 별 쓸모없어보이지만 나중에 dto와 상이한 경우가 많다class Movie { final String title; final String released; final String runtime; final String director; final String actors; final String poster; //생성자 호출해서 값 초기화,기본생성자 Movie({ required this.title, required this.released, required this.runtime, required this.director, required this.actors, requi..
앞서 Dto를 작성했으니 인터페이스를 구현한다 인터페이스는 메서드 정의만하고 메서드 로직은 impl에서 구현한다. 레포지토리에서 이걸 참조해서 실제 구현된 내용이 수정되어도 인터페이스는 영향이 없도록 한다. //movie_data_source.dartimport 'package:flutter_clean_arch/data/dto/movie_dto.dart';///인터페이스는 수정이 안됌abstract interface class MovieDataSource { Future> fetchMovies();}추상클래스로 만들어 메서드 선언만 한다. 이제 인터페이스를 작성한다. //movie_asset_data_source_impl.dartimport 'dart:convert';import 'package:flu..
클린아키텍쳐는 Robert C. Martin (SOLID - 객체지향 설계 원칙의 창시자)라는 SW 엔지니어가 제시한 개념이다 소프트웨어를 관심사에 따라 계층으로 분리해서 개발하는 방식인데데이터 흐름은 이미지와 같이 진행된다각각 계층이 수정돼도 서로 영향을 받지 않기 때문에 유지보수가 용이하다는 장점이 있고 의존성이 단방향이기 때문에 Mocking데이터를 만들어 테스트에도 용이하다. 이 개념을 플러터에 적용해볼것이다.Presintation Layer는 뷰,Domain Layer는 엔티티, Data Layer는 Data Source와 Repository로 구성돼어있다 이 개념을 클릭아키텍쳐로 수정하자면의존하고 있는 부분에 Repository를 두어서 의존성이 단방향으로 흐르게 한다.사실 아직 완벽하게 이해..
sentry , git-> project > .github/workflows/deploy.yml > releases(github docs : https://docs.github.com/ko/actions/how-tos/deploy/configure-and-manage-deployments/control-deployments)Crashlytics 는 30분, 1시간 단위로 보내지기 때문에 배포 후 실시간 대응이 어려워서sentry 사용 해보는 게 어떠냐고 하십니당코드의 어디서 어떻게 오류가 발생했는지 디테일하게 실시간으로 보내준다고 하시네욤여기서 확인 가능 https://dote.sentry.io/
[상황 인지]usecase.execute() 이후 진행 멈춤.콘솔에 usecase 로그까지만 출력. 에러/타임아웃 없음.화면은 로딩 스피너 유지.[고민]왜 Future가 완료되지 않을까?네트워크 계층에서 요청이 막힌 듯하다.Dio Interceptor.onRequest에서 체인을 진행하지 않으면 파이프라인이 정지한다.[적용]인터셉터에 handler.next(options) 추가.타임아웃·로그로 빠른 탐지 설정. 문제코드import 'package:dio/dio.dart';import 'package:flutter_dotenv/flutter_dotenv.dart';//통신class DioClient {// await dotenv.load(fileName: ".env"); sta..
플러터 심화 과제를 위해 영화정보 앱을 만들기로 했다. 과제에 필요한 의존성 설정부터 진행한다의존성 추가dependencies: flutter: sdk: flutter flutter_riverpod: ^2.5.1 # 상태 관리. (ViewModel → UI 연결) dio: ^5.5.0+1 # HTTP 요청. (TMDB API 통신) freezed_annotation: ^2.4.1 # 불변 클래스 선언용 어노테이션 json_annotation: ^4.9.0 # JSON 직렬화 지원 flutter_dotenv: ^5.1.0 # .env 파일 읽기 (API 토큰 관리) cached_network_image: ^3.3.1 # ..