Study
-
[개발일지] Flutter Bloc 상태관리 #5 비동기 처리 방식: bloc_concurrency PackageStudy/Development 2023. 4. 12. 12:16
bloc_concurrency Ember_concurrency에서 영감을 얻어 만듦 비동기 프로그램을 간결하면서도 강력하게 만들어주는 라이브러리 Concurrent 방식 bloc의 기본 처리 방식, 연속 호출 시 이벤트간에 시간이 겹친다. 각각의 이벤트가 불필요하게 모두 실행됨. Sequential 방식 1번이 완료된 이후에 2번이 실행된다. 순차적으로 실행되어 각각의 이벤트를 확인 가능하지만, 더 많은 이벤트 호출 시 의도와는 다르게 이벤트들이 하나하나 모두 끝날때까지 순차적으로 계속 실행되는 경우가 발생할 수 있다. Droppable 방식 이벤트가 발생하여 완료되는 순간까지 다른 이벤트 호출이 무시된다. Restartable 방식 가장 최종의 클릭만 수행. 악의적인 이벤트 호출을 무시하고, 서비스 부..
-
[개발일지] Flutter Bloc 상태관리 #4 Bloc vs CubitStudy/Development 2023. 4. 10. 11:37
Bloc 공식문서 확신이 안 서는 경우, Cubit으로 시작하여, 필요에 따라 Bloc으로 리팩터링 하거나 확장 가능. Bloc에만 있는 기능 유지보수 측면에서 유리 1. 상태변화 모니터링을 이벤트로 확인 가능 onChange(): 상태가 어떤 데이터로 바뀌었는지 확인 (Cubit & Bloc) onTransition(): 어떤 event를 통해 어떻게 상태 변경 되었는지 확인 가능 (Bloc에만 존재) // onChange 함수: Cubit, Bloc @override void onChange(Change change) { super.onChange(change); print(change); } // onTransition 함수: Bloc only @override void onTransition(Tr..
-
[개발일지] Flutter Bloc 상태관리 #3 GetX vs Cubit vs BlocStudy/Development 2023. 4. 8. 17:00
GetX vs Cubit vs Bloc GetX 여러개 상태를 한번에 관리 GetX를 사용하더라도 쪼개서 사용하면 유지 보수, 코드 재사용이 용이 Cubit 구조 cubit과 bloc은 하나만 존재. 상태와 타입을 하나만 emit 함수를 이용하여 상태 변경, cubit이나 bloc에서만 사용 가능 Bloc 구조 GetX나 Cubit에 비해 번거로움 Bloc, Event, State가 구분되어있다. 디테일하게 이벤트 트래킹이 가능하다. GetX 1. View Page // GetX Page는 GetView를 extends 해준다. class GetxHome extends GetView { const GetxHome({super.key}); @override Widget build(BuildContext c..
-
[개발일지] Flutter Bloc 상태관리 #2 Bloc WidgetsStudy/Development 2023. 4. 6. 16:38
Flutter Bloc Widgets BlocProvider 지연생성 옵션(lazy): false(사용 시점에서 동시에 사용) 하위 계층 위젯들에서 접근 가능 Bloc 생성 후 메모리 반환의 경우 자동으로 해준다 return BlocProvider( create: (context) => SampleBloc(), lazy: true, child: SamplePage(), ); MultiBlocProvider BlocProvider 다중 등록 return MultiBlocProvider( providers: [ BlocProvider(create: ((context) => SampleBloc())), BlocProvider(create: ((context) => SampleSecondsBloc())), ],..
-
[개발일지] Flutter Bloc 상태관리 #1 상태관리와 BlocStudy/Development 2023. 4. 4. 16:17
플러터 상태 관리 라이브러리 GetX: 많은 사랑, 많은 문제 → 유지 보수 등 유동적 개발 어려움, 버그 Provider: 꾸준히 사랑받음 riverpod: 요즘 핫함 bloc: 진입장벽, 복잡하지만 대규모 프로젝트에 적합 블록을 사용하는 이유 5가지 뷰 영역과 비즈니스 영역을 쉽게 구분할 수 있다. 테스트하기 쉽고, 재사용을 가능하게 해준다 *TDD: Make the test pass → Refactor → Write a failing test 이벤트 트래킹을 통합적으로 관리할 수 있다 *GetX는 없음 많은 개발자들이 하나의 코드 베이스로 일을 처리할 수 있다. Github에서 가장 높은 Star 수 (Bloc > GetX > Provider > Riverpod) 동기 vs Future vs Str..
-
[개발일지] Tensorflow 딥러닝_딥러닝이론Study/Development 2023. 1. 2. 23:58
딥러닝의 개념 딥러닝이란? ### 예시 - 구글 번역 - TTS 엔진 (Text to Speech) ### 머신러닝 vs 딥러닝 - 머신러닝 ⊃ 딥러닝 - 딥러닝: 뉴럴 네트워크를 이용해 머신러닝을 진행 - 머신러닝은 초기 가이드 필요, 딥러닝은 불필요 → 몰라도 만들 수 있다. ### 딥러닝이 잘하는 분야 1. image classification / object detection 2. sequence data 분석 & 예측 머신러닝의 종류 Supervised Learning: 정답 존재 Unsupervised Learning: 정답 없음, 스스로 분류 Reinforcement Learning: 게임하기 처럼 스스로 강화 Neural Network *Perceptron 기본 모델 ### w1, w2 -..
-
[PM스쿨] zero-base / 프리스쿨_Chapter 01. 서비스 기획 첫걸음Study/Product 2023. 1. 1. 20:07
서비스 기획이란? 사용자들이 겪고 있는 문제를 발굴하고 이를 해결하기 위해 필요한 모든 과정을 설계하는 것 전략 → 사업 → 기획 → 디자인 → 개발 **### 1. 전략** 사용자의 니즈 파악 및 해결 위한 컨셉 도출 **### 2. 사업** 수익성을 만들어 내는 것. 사업성 검토 및 비즈니스 모델 설계 **### 3. 기획** 구체적인 제품화하는 과정을 설계. 설계도를 만드는 과정 **### 4. 디자인** 설계도를 가지고 사용자의 편의성 - 사용성을 고려하여 디자인 시안 **### 5. 개발** 설계도에 맞춰 실제 제품을 만드는 공정 프로젝트 진행 프로세스 Pre-Production → Production → Released **### 1. Pre-Production** 기획팀을 중심으로 제품의 설..
-
[PM스쿨] zero-base / 프리스쿨_03 노션Study/Product 2023. 1. 1. 12:30
아이콘 다운로드 사이트 Free Icons, Clipart Illustrations, Photos, and Music Free Icons, Clipart Illustrations, Photos, and Music Forum Mostly used for bugs, feature requests, and support. icons8.com Notion Icons Notion Icons The easiest way to use gorgeous icons in Notion — now with Dark Mode. www.notion.vip Noticon Noticon noticon.tammolo.com 이미지 동그랗게 자르기 Crop a circle in image online Crop a circle in im..