์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- JavaScript
- ์๋๋ก์ด๋ ์คํ๋์ค
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ํ๋ค์ค
- Pandas
- REACT
- db
- ํ์ด์ฌ๊ณต๋ถ
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- ์๋ฐ์ด๋ณด
- Streamlit๊ธฐ์ด
- java
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- Android
- ์๋ฐ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์๋ฐ๊ณต๋ถ
- ์คํธ๋ฆผ๋ฆฟ
- streamlit
- Flutter
- ์น๋์๋ณด๋ ์ ์
- MySQL
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ๋ค์ค๊ณต๋ถ
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ์๋ฐ๊ธฐ์ด
- ํ์ด์ฌ
- serverless
- RESTful API
- Today
- Total
๋ชฉ๋ก๐ฑFlutter (13)
ruriruriya
Provider๋ Flutter์์ ๊ณต์์ ์ผ๋ก ์ถ์ฒํ๋ Flutter ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํจํค์ง์ด๋ค. 1. Provider๋?Provider๋ Flutter์ InheritedWidget์ ๊ฐํธํ๊ฒ ์ฌ์ฉํ๋๋ก ๋๋ ํจํค์ง๋ก ์ฌ๋ฌ ์์ ฏ์์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ณ , ์ํ ๋ณ๊ฒฝ์ ๊ฐ์งํ์ฌ UI๋ฅผ ์๋์ผ๋ก ์ ๋ฐ์ดํธํ ์ ์๋ค.โ Provider๋ฅผ ์ฌ์ฉํ๋ฉด ์ข์ ์ ๋ฆฌ์์ค ํ ๋น ๋ฐ ํด์ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ํด์ง→ ๋ถํ์ํ ๋ฆฌ์์ค ์ฌ์ฉ์ ์ค์ด๊ณ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๋ฐฉ์งํ ์ ์์.Lazy-loading ์ง์→ ํ์ํ ๋๊น์ง ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์์์ ์ฑ๋ฅ ์ต์ ํ๊ฐ ๊ฐ๋ฅํจ.๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋ ๊ฐ์→ ์ ํด๋์ค๋ฅผ ์์ฑํ ๋๋ง๋ค ๋ฐ๋ณต๋๋ ์ฝ๋๊ฐ ์ค์ด๋ฆ.Flutter DevTools์ ํธํ→ DevTools์์ ์ฑ ์ํ๋ฅผ..

Flutter์์ ์ํ ๊ด๋ฆฌ๋ UI๊ฐ ๋ณํํ๋ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ ์งํ๊ณ ๋ฐ์ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ํ ๊ด๋ฆฌ๊ฐ ์ค์ํ ์ด์ ๋ Flutter์ ์ ์ธ์ UI ๋ฐฉ์ ๋๋ฌธ์ด๋ค. ์ฆ, UI๋ ์ํ(state)์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋๋ฏ๋ก ์ด๋ฅผ ์ด๋ป๊ฒ ๋ค๋ฃจ๋๋์ ๋ฐ๋ผ ์ฑ์ ๊ตฌ์กฐ์ ์ ์ง๋ณด์์ฑ์ด ๋ฌ๋ผ์ง๋ค.์ฌ๊ธฐ์๋ Flutter์ ๊ธฐ๋ณธ ์ํ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ๋ค. ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Provider, Riverpod ๋ฑ)๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Flutter์์ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ๋ง ๋ค๋ฃฌ๋ค.1. ์ํ(State)๋?Flutter์์ ์ํ๋ ์ฑ์ UI๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ์ดํฐ์ด๋ค. ์ํ๋ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋๋ค:Ephemeral state (๋จ๊ธฐ ์ํ): ํน์ ์์ ฏ ๋ด์์๋ง ๊ด๋ฆฌ๋๋ ์ํ (์: TextField ์ ๋ ฅ๊ฐ, ๋ฒํผ ํด๋ฆญ ์ฌ๋ถ ๋ฑ)App ..

1. Flutter์์ ๋ ์ด์์์ด๋?Flutter๋ UI๋ฅผ ๊ตฌ์ฑํ๋ ์์ ฏ(toolkit)์ด๋ฉฐ, ๋๋ถ๋ถ์ ์์ ์ ์์ ฏ์ ์ด์ฉํ์ฌ ๋ ์ด์์์ ๋ง๋๋ ๋ฐ ์ง์ค๋๋ค. ๋ชจ๋ ์์(ํ ์คํธ, ์ด๋ฏธ์ง, ์์ด์ฝ, ๋ฒํผ ๋ฑ)๋ ์์ ฏ์ด๋ฉฐ, ๋ณด์ด์ง ์๋ ์์์ธ ํ(Row), ์ด(Column), ๊ทธ๋ฆฌ๋(Grid) ๋ฑ๋ ์์ ฏ์ด๋ค.์์ ฏ์ ์กฐํฉํ์ฌ ๋ ๋ณต์กํ UI๋ฅผ ๋ง๋ค ์ ์์ผ๋ฉฐ, ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๋ชจ๋ Flutter ๋ ์ด์์์ด ๊ตฌ์ฑ๋๋ค. 2. ๋ ์ด์์์ ํต์ฌ ๊ฐ๋ 2.1. ConstraintsFlutter์์ ๋ ์ด์์์ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ, ๋ถ๋ชจ ์์ ฏ์ ์์ ์์ ฏ์๊ฒ Constaraints๋ฅผ ์ ๋ฌํ๋ค.Constaraints์ ์ต์ ๋ฐ ์ต๋ ๋๋น, ์ต์ ๋ฐ ์ต๋ ๋์ด๋ฅผ ํฌํจํ๋ 4๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค.์์ ์์ ฏ์ ํด๋น Con..

ํ๋ฌํฐ์์ Scaffold ์์ ฏ์ ์ฑ์ ํ๋ฉด ๋ ์ด์์์ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ์ ์ธ ํ์ ์ ๊ณตํ๋ค.๋ชจ๋ ํ๋ฌํฐ ์ฑ์ ํ๋ฉด์ ๋ณดํต Scaffold ์์ ฏ์ผ๋ก ์์๋๋ค.Scaffold๋ AppBar, body, FloatingActionButton ๋ฑ์ ํฌํจํํ๋ฌํฐ์ Material Design ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ผ ๊ธฐ๋ณธ UI ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๋ค.Scaffold๋ฅผ ์ฌ์ฉํ๋ฉด, ๊ธฐ๋ณธ ๋ ์ด์์์ ๋น ๋ฅด๊ฒ ์ค๊ณํ ์ ์๊ณ , Material Design ์คํ์ผ ๊ฐ์ด๋๊ฐ ๊ธฐ๋ณธ ์คํ์ผ์ ์ ์ฉ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊น๋ํ๊ฒ ์ ์ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ , body ์์ญ์ ์ํ๋ ๋ชจ๋ ์์ ฏ์ ๋ฐฐ์นํ์ฌ ๋ณต์กํ ๋ ์ด์์ ์ค๊ณ๋ ๊ฐ๋ฅํ๋ค.Scaffold ์ฃผ์ ์์ฑ1. appBarํ๋ฉด ์๋จ์ ๋ํ๋๋ AppBar ์์ญ.์ ๋ชฉ, ๋ฒํผ, ๋ฉ๋ด ๋ฑ์ ํฌํจํ ์ ์๋ค.Scaff..

build ๋ฉ์๋๋ Flutter์์ UI๋ฅผ ๊ทธ๋ฆฌ๋ ํต์ฌ์ ์ธ ์ญํ ์ ํ๋ค.Flutter์์ UI๋ ์์ ฏ์ผ๋ก ๊ตฌ์ฑ๋๊ณ , build ๋ฉ์๋๋ ์ด ์์ ฏ๋ค์ด ํ๋ฉด์ ์ด๋ป๊ฒ ๋ฐฐ์น๋๊ณ ํ์๋ ์ง ์ ์ํ๋ค.build ๋ฉ์๋ ํธ์ถ ์๊ธฐ?1. ์ฒ์ ์์ ฏ์ด ํ๋ฉด์ ์ถ๊ฐ๋ ๋์์ ฏ์ด Flutter ์ฑ ํธ๋ฆฌ์ ์ฝ์ ๋๋ฉด, build ๋ฉ์๋๊ฐ ํธ์ถ๋๋ค.2. ์์ ฏ์ ์์กด์ฑ์ด ๋ณ๊ฒฝ๋ ๋์๋ฅผ ๋ค์ด, ์์ ฏ์ด ์ฐธ์กฐํ๋ InheritedWidget์ด ์ ๋ฐ์ดํธ๋๋ฉด, ํด๋น ์์ ฏ์ build ๋ฉ์๋๊ฐ ๋ค์ ํธ์ถ๋๋ค.3. ์ํ๊ฐ ๋ณ๊ฒฝ๋ ๋(StatefulWidget)์ํ๊ฐ ๋ณํ๋ฉด build ๋ฉ์๋๊ฐ ํธ์ถ๋์ด UI๊ฐ ์ ๋ฐ์ดํธ๋๋ค. build ๋ฉ์๋์ ํน์ง๋ฐํ๊ฐํญ์ ๋ค๋ฅธ ์์ ฏ์ ๋ฐํํด์ผ ํ๋ค.์๋ฅผ ๋ค์ด, ํ ์คํธ๋ฅผ ํ์ํ๊ฑฐ๋ ๋ฒํผ์ ์์ฑํ๋ ์์ ฏ์ ๋ฐํ..

ํ๋ฌํฐ์์ ์์ ฏ(Widget)์ด๋?ํ๋ฌํฐ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ ์์์ด๋ค.๊ฐ ์์ ฏ์ ํ ์คํธ๋ ๋ฒํผ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์์๋ถํฐ ๋ ์ด์์ ํจ๊ณผ๊น์ง ์ธํฐํ์ด์ค์ ๋ชจ๋ ์ธก๋ฉด์ ๊ตฌํํ๋ ๊ณณ์ ์ฌ์ฉ๋๋ค.์์ ฏ ๊ณ์ธต ๊ตฌ์กฐ์์ ฏ์ ๊ตฌ์ฑ(Composition)์ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํ์ฑํ๋ค.๊ฐ ์์ ฏ์ ๋ถ๋ชจ ์์ ฏ ๋ด๋ถ์ ์ค์ฒฉ๋๋ฉฐ, ๋ถ๋ชจ๋ก๋ถํฐ Context๋ฅผ ์ ๋ฌ ๋ฐ๋๋ค.์ด ๊ตฌ์กฐ๋ ๋ฃจํธ ์์ ฏ๊น์ง ์ฐ๊ฒฐ๋๋ค.import 'package:flutter/material.dart';void main() => runApp(const MyApp());class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(Bui..

์ดํ์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ํ๋ค๊ธฐ ๋ฑ๋ฑ ๋ชจ์ ์ด ํ์ํ ๋๊ฐ ์๋๋ฐ ์ ๋ฎฌ๋ ์ดํฐ๋ก๋ ๊ทธ๋ฐ ๊ธฐ๋ฅ์ ํ ์คํธํ ์ ์๋ค.๊ทธ๋์ ์ค์ ์๋๋ก์ด๋ ์ค๋งํธํฐ ์ฐ๊ฒฐํด์ ํ ์คํธํด๋ณด์.1. ๊ฐ๋ฐ์ ๋ชจ๋๋ก ๋ณ๊ฒฝXcode๋ฅผ ์คํํด์ ํ๋ก์ ํธ ์์ฑ์ ์์ํ๋ค.[์ค์ ] - [ํด๋์ ํ ์ ๋ณด] - [์ํํธ์จ์ด ์ ๋ณด]๋ก ์ ์ํด์๋น๋ ๋ฒํธ๋ฅผ ์ฐ๋ฌ์์ ํฐ์นํ๋ค.'์๋์ ๊ฐ์ด ๊ฐ๋ฐ์ ๋ชจ๋๋ฅผ ์ผฐ์ต๋๋ค' ๋ผ๋ ๋ฉ์ธ์ง๊ฐ ๋์ฌ ๋ ๊น์ง๊ทธ๋ ๊ฒ ๋ค์ ์ค์ ์ผ๋ก ๋์ค๋ฉด [๊ฐ๋ฐ์ ์ต์ ] ๋ฉ๋ด๊ฐ ์๊ธด ๊ฒ์ ๋ณผ ์ ์๋ค. 2. ์ปดํจํฐ์ USB ์ฐ๊ฒฐUSB ๋๋ฒ๊น ์ ํ์ฑํ ํ๋ฉดUSB ๋๋ฒ๊น ์ ํ์ฉํ์๊ฒ ์ต๋๊น? ๋ผ๋ ์ฐฝ์ด ๋์ค๊ณ 'ํ์ฉ'์ ๋๋ฌ์ฃผ๋ฉด ๋๋ค. USB ์ฐ๊ฒฐ์ ํ๋ฉด ์๋์ ๊ฐ์ด ๋ฉ์ธ์ง๊ฐ ๋์ค๋๋ฐ์ด ์ปดํจํฐ์์ ํญ์ ํ์ฉ์ ์ฒดํฌํ๊ณ 'ํ์ฉ' ๋ฒํผ์ ๋๋ฅธ๋ค. 3...

Dart ์ธ์ด์์ async์ await๋ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ์ฝ๊ฒ ์ฒ๋ฆฌํ๊ธฐ ์ํ ํค์๋์ด๋ค.ํนํ ๋คํธ์ํฌ ์์ฒญ, ํ์ผ ์ฝ๊ธฐ/์ฐ๊ธฐ, ํ์ด๋จธ ๋ฑ์ ๋น๋๊ธฐ ์์ ์ ์์ฐจ์ ์ผ๋ก ์์ฑํ ์ ์๋๋ก ๋์์ค๋ค.๐ก ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ด๋?- ํ๋ก๊ทธ๋จ์ด ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์์ ๋ฑ์ ์ํํ ๋, ํด๋น ์์ ์ด ๋๋ ๋๊น์ง ๋ค๋ฅธ ์์ ์ด ๋ฉ์ถ์ง ์๋๋ก ํ๋ ๋ฐฉ์- Dart์์๋ Future ๊ฐ์ฒด๋ฅผ ํตํด ๋น๋๊ธฐ ์์ ์ ์ฒ๋ฆฌํ๋ค.(Future : ๋น๋๊ธฐ ์์ ์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๋ ๊ฐ์ฒด, ๊ฒฐ๊ณผ๊ฐ ์๋ฃ๋๋ฉด ๊ฐ์ ๋ฐํํ๊ฑฐ๋, ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์์ธ๋ฅผ ๋์ ธ์ค๋ค.) 1. async์ await ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ- async : ํจ์์ ๋น๋๊ธฐ ์์ ์ด ํฌํจ๋์ด ์๋ค๋ ๊ฒ์ ๋ปํ๋ ํจ์๋ก, ํญ์ Future ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค.- await : ๋น๋๊ธฐ ์์ (Fu..