์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์ค๋ฅ
- ์นํผ๋ธ๋ฆฌ์ฑ
- FLUTTER
- ๋์์ธ
- ๊ตญ๋น์ง์
- refectoring
- php
- dart
- ์ ์ด์ฟผ๋ฆฌ
- ์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ
- ์ฑ๊ฐ๋ฐ
- ์น๋์์ธ
- ๊ตญ๋น์ง์๊ฐ์
- app
- route
- ์ฝ๋ฉ
- ์นํผ๋ธ๋ฆฌ์
- Widget
- IOS
- getMedia()
- shared_preference
- ์ฑ
- StatelessWidget
- ์ํ๊ด๋ฆฌ
- Android
- WebView
- StatefulWidget
- Await
- async
- ์น๋์์ด๋
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (14)
๋๋ฑ๊ฐ๋ฐ ๐จ
๋น๋๊ธฐ ๋๊ธฐ & ๋น๋๊ธฐ ๋๊ธฐ : ํ๋์ ์ผ์ด ๋๋ ๋ค ๋ค์ ์ผ์ ํ๋ ๋ฐฉ์ ๋น๋๊ธฐ : ํ๋์ ์ผ์ด ๋๋๊ธฐ ์ ์ ๋์์ ๋ค๋ฅธ ์ผ์ ํ๋ ๋ฐฉ์ ๋๊ธฐ : ์์ฒญ์ ๋ํ ์๋ต์ ๋ฐ์์ ๋ณด์ฌ์ค์ผ ํ๋ ์ฝ๋ ex) ๋ก๊ทธ์ธ, ํ์๊ฐ์ ๋น๋๊ธฐ : ์์ฒญ์ ๋ณด๋ด๊ธฐ๋ง ํ๋ฉด ๋๋ ์ฝ๋ ex) ๋คํธ์ํฌ ์์ฒญํ์ฌ ๋ฐ์ดํฐ ๋ฐ์์ค๊ธฐ, ํ์ผ ์ฝ๊ธฐ/์ฐ๊ธฐ async & await (๋น๋๊ธฐ -> ๋๊ธฐ ๋ฐฉ์์ผ๋ก ์คํ ๋น๋๊ธฐ ์ฝ๋ ์์ await์ ๋ถ์ด๊ณ ํด๋น ์ฝ๋๊ฐ ์ํ ํจ์์ async๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋น๋๊ธฐ ๋ฐฉ์์ ์ฝ๋๋ฅผ ๋๊ธฐ ๋ฐฉ์์ผ๋ก ์คํํ ์ ์๋ค. Webview ์ฑ ๋ด์์ ์น๋ธ๋ผ์ฐ์ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํด ์นํ์ด์ง๋ฅผ ๋์ฐ๋ ๊ฒ์ ๋งํ๋ค. ์ฅ์ ๋ฎ์ ๋น์ฉ์ผ๋ก ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์๋ค. (์น ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ฐ ๊ฐ๋ฅ) ์ฑ ์ ๋ฐ์ดํธ์ ์๊ด์์ด ์ฆ์ ๋ณ๊ฒฝ์ฌํญ..
์ํ๊ด๋ฆฌ์ ํ์์ฑ ์ต์ ์ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ๋๋ก ํ์ด์ง ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ณ ๊ด๋ฆฌํ๋ ํ์๋ฅผ ์๋ฏธํ๋ค. ์ํ๊ด๋ฆฌ ํจํค์ง 1) GetX 2) Provider 3) BloC 4) Riverpod shared_preferences shared_preferences ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ฉด ์ฑ์ ์ฌ์์ํด๋ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ค. * ์ฑ์ ์ฌ์์ํ๊ฑฐ๋ ์ข ๋ฃํ ๋ ๋ฐ์ดํฐ๊ฐ ๋ ์๊ฐ๋ค -> RAM์ด๋ผ๋ ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ * ์ฑ์ ์ฌ์์ํ๊ฑฐ๋ ์ข ๋ฃํด๋ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ ๋ฐฉ๋ฒ 1) ๊ธฐ๊ธฐ์ ํ์ผ๋ก ์ ์ฅ ๋ด์ฉ์ ํ์ผ๋ก ์ ์ฅํ๊ณ ์ฑ์ ์์ํ ๋ ํ์ผ์ ์ฝ์ด์ค๋ ๋ฐฉ์ (shared_preferences) 2) ๊ธฐ๊ธฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค (๋ชจ๋ ํธ๋ํฐ์ ์๋ ๋ฐ์ดํฐ ์ ์ฅ ์ ๋ฌธ ํ๋ก๊ทธ๋จ) 3) ๋ค๋ฅธ ์ปดํจํฐ(์๋ฒ)์..
stu_class : ํ์๊ณผ ํ๊ธ์ ๋ํ ์ ๋ณด ํ ์ด๋ธ (ํ์์ ์ฌ๋ฌ๊ฐ์ ํ๊ธ์ ๊ฐ์ง ์ ์๋ค) stu_code : ํ์ ์ฝ๋ class_code : ํ๊ธ ์ฝ๋ ํ๊ธ์ ํ์์ ๋ฐฐ์ ํ๊ธฐ ์ , ํด๋น ํ๊ธ์ ํ์์ด ์ด๋ฏธ ์์๋์ด ์๋์ง ํ์ธํ๊ณ ์ค๋ณต ์ฝ์ ์ ๋ง์ผ๋ ค๊ณ ์๋์ฒ๋ผ ์์ค๋ฅผ ์งฐ๋ค. 1. ํ๊ธ, ํ์ ๊ฐ๊ฐ ์ฝ๋ ๊ฐ์ผ๋ก stu_class ํ ์ด๋ธ ์กฐํ 2. ๊ฒฐ๊ณผ๊ฐ์ด ์์ผ๋ฉด ์ค๋ณต ๋ฐฐ์ ๋ง๊ธฐ, ์์ผ๋ฉด ํ๊ธ ๋ฐฐ์ ์ค์ ์์ค๋ select ์ฟผ๋ฆฌ ์กฐํ ์คํจํ์ ๋.. ์กฐํ ๊ฒฐ๊ณผ ์์ผ๋ฉด?..์์ผ๋ฉด?..insertํด.. if๋ฌธ์ ์ฐ์๐ if๋ฌธ ๋ฒ๋ฆฌ๊ณ ์ฟผ๋ฆฌ๋ก ํ๋ฐฉ์ ํด๊ฒฐํด๋ณด๊ธฐ๋ก ํจ๐INSERT INTO stu_class (stu_code, class_code) SELECT 2, 3 FROM DUAL WHERE NOT EXI..

4. ํ์ผ ๋ถ๋ฆฌ ์ฝ๋๊ฐ ๊ธธ์ด์ง์๋ก ์ฝ๋๋ฅผ ์ฐพ๋ ์๊ฐ์ด ๊ธธ์ด์ง๊ธฐ ๋๋ฌธ์ ํ์ผ์ ๋ถ๋ฆฌ(์์ ฏ๋ค์ ๊ฐ๊ฐ ๋ค๋ฅธ ํ์ผ์ ๋ถ๋ฆฌ) ๋ฆฌํฉํ ๋ง(refectoring) ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ถ๊ฐํ์ง ์๊ณ , ์ฝ๋๋ง ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ๋ณ๊ฒฝํ๋ ๊ณผ์ * ๋ณต์ก๋๊ฐ ์ฌ๋ผ๊ฐ์๋ก ์ฃผ๊ธฐ์ ์ธ ๋ฆฌํฉํ ๋ง์ ํตํด ๋ณต์ก๋๋ฅผ ๋ฎ์ถฐ์ค์ผ ํ๋ค.(ํ์ ์์ ์ค์) 5. ์ข์์ ๊ตฌํํ๊ธฐ & ํผ๋ ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ ์ผํญ์ฐ์ฐ์ ์กฐ๊ฑด์ด true์ธ ๊ฒฝ์ฐ ๋ฐํ๊ฐ1์ด ํ ๋น๋๊ณ , false์ธ ๊ฒฝ์ฐ ๋ฐํ๊ฐ2๊ฐ ํ ๋น ์กฐ๊ฑด ? ๋ฐํ๊ฐ 1 : ๋ฐํ๊ฐ2 ListView ์์ ฏ ๋์ผํ ๋ ์ด์์์ ๋ค๋ฅธ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค ๋ ์ฌ์ฉํ๋ฉด ์ ์ฉ ListView.builder( itemCount: 100, // ์ ์ฒด ์์ดํ ๊ฐ์ itemBuilder: (context, index) { // index๋ 0..

1. Flutter Widget ์ดํดํ๊ธฐ 1) StatelessWidget ํ๋ฉด ๋ด ๋ด์ฉ์ด ๋ณํ์ง ์๋ ์์ ฏ(์๋ก๊ณ ์นจ ํ ํ์๊ฐ ์๋ค) class MyApp extends StatelessWidget { // statelessWidget ์์ const MyApp({Key? key}) : super(key: key); // ์์ฑ์ @override Widget build(BuildContext context) { // build ํจ์ : ํ๋ฉด์ ๋ณด์ฌ์ค ์์ ์์ ฏ ๋ฐํ return MaterialApp( debugShowCheckedModeBanner: false, home: FirstPage(), ); } } * ํ๋ฉด์ ๋ณด์ด๋ ์ฒซ ๋ฒ์งธ ์์ ฏ์ MaterialApp ๋๋ CupertinoApp ์์ ฏ์ผ๋ก ์..
7. Dart ๋ฌธ๋ฒ Dart ์คํ์์ void main() {} // return ๊ฐ ์์ main2 () {} // void ์๋ต ๊ฐ๋ฅ String main3 () { // string ๊ฐ return return "Hello"; } main์ Dart์์ ์ฒ์ ์์ ์ ํธ์ถํ๋ ํจ์ ๋ณ์ 1) ์๋ฃํ var : ์ฒ์ ๋ด๊ธด ๊ฐ์ผ๋ก ํ์ ์ด ์ง์ String : ๋ฌธ์๋ง ๋ด์ ์ ์๋ค. String? : ๋ฌธ์ ๋๋ ๋น์ด์๋(null) ์ํ const: ์ฒ์์ ๋ณ์๋ฅผ ์ ์ธํ๋ฉฐ ๋ด์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค. final : ์ ์ธํ๊ณ ๋์ค์ ๊ฐ์ ๋ด์ ์ ์์ผ๋, ํ ๋ฒ ๋ด์ผ๋ฉด ๋ณ๊ฒฝํ ์ ์๋ค. 2) ๋ณ์๋ช - ์๋ฌธ _ $ ์ซ์ ๋ง ์ฌ์ฉ - ์ซ์๋ก ์์ํ ์ ์๋ค. - ์นด๋ฉ์ผ์ด์ค ์ฌ์ฉ ํด๋์ค ํด๋์ค์ ๊ตฌ์ฑ ์์ ์์ฑ..