Lunetzsche's House

Python - OpenCV - begin (1)

openCV 설치는 다음과 같다. pip install opencv-python 이미지를 불러오는 방법은 다음과 같다. import cv2 image = cv2.imread('1.png') 나는 1.png 파일을 가져오기로 했다. cv2.imread 메소드를 사용한다. 2개의 인자를 받는데, 첫째는 파일명, 둘째는 flags다. flags에...

Flutter - Provider (3)

오늘은 Consumer에 대해 공부할 것이다. class MyApp extends HookWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( ...

Flutter - Cubit (1)

Cubit은 Bloc의 하위 개념이다. 블록은 블록 내의 이벤트를 거쳐 서로간의 정보를 전달하는 반면, 큐빗은 함수를 직접 호출하기에 보다 다이렉트한 연결이 가능하다. 무엇을 쓸지 고민이 된다면 우선 큐빗을 쓰고 향후 블록이 필요할 경우 블록으로 리팩토링하는 작업이 좋다고 한다. 또한 Cubit의 경우 onTransition함수가 없기에 블록처럼 상...

Flutter - bloc (4) - Bloc Widgets

여기서는 Bloc Widgets에 대해서 다룬다. 상세한 내용은 이 링크를 참조하기 바란다. 1. BlocBuilder 2. BlocSelector 3. BlocProvider 4. MultiBlocProvider 5. BlocListener 6. MultiBlocListener 7. BlocConsumer 8. Rep...

Flutter - Provider (2)

MultiProvider는 하나의 위젯에 여러개의 프로바이더를 받을 수 있다. class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( ho...

Flutter - bloc (3)

BlocObserver는 말 그대로 블록 관찰자다. 블록의 상태 변화를 감시할 수 있다. 왜 이런 걸 쓰냐 할 수도 있지만 debug 과정에서 우리는 수많은 난관을 마주하게 된다. 그런데 그때마다 전후로 print문을 붙여가며 하는 건 생산성에 있어 너무나도 큰 낭비다. 모든 블록들을 찾아다니는 것도 일이기도 하다. 그렇기에 BlocObserver는 ...

Flutter - bloc (2)

bloc을 이용하여 디자인을 해볼 시간이다. 카운터부터 만들어보자. abstract class Counter { int count; Counter(this.count); } class Increase extends Counter { Increase(count) : super(count); } class Decrease extends C...

Flutter - bloc (1)

flutter pub add bloc flutter_bloc flutter pub get Bloc의 개념을 잡고 넘어가자. 우리의 프론트엔드와 백엔드는 서로 밀접하게 연계되어 있다. 프론트엔드에서 백엔드에 요청하면 백엔드는 그 결괏값을 도출하여 프론트엔드에 반환한다. 이것이 기본 네트워크의 개념인 것은 초등학생도 알 것이다. 그러나 사용자는 편할...

Flutter - Provider (1)

Provider는 Google이 2019년에 발표한 프레임워크다. class MyApp extends HookWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( ...

Flutter - Hooks - useEffect

useEffect()는 initState() 및 didUpdateWidget, 그리고 dispose()와 같은 효과를 낼 수 있다. 아래 코드에서는 useEffect 내부에 컨트롤러의 변경값이 있을 때마다 useValue에 넣는 리스너를 추가했다. 그리고 그 변경값은 [] 안에 넣어준다. 마지막으로 return은 dispose와 같은 효과를 낼 수 있...