2021/07

โ›น๏ธ ๋ผ์ดํ”„/2021 ์—ฌ๋ฆ„๋ฐฉํ•™ ๋ชจ๊ฐ์ฝ”(๊ฐœ์ธ)

[์ฝ”๋…ํ•˜๊ตฌ๋งŒ 2] 4์ฃผ์ฐจ - Flutter : Shop App 1

Udemy ๊ฐ•์˜๊ฐ€ ์–ด๋Š๋ง 50ํผ๋ฅผ ๋„˜๊ฒผ๋‹ค. ์ค‘๊ฐ„์— ์–ด๋ ค์šด ๋ถ€๋ถ„๋„ ๋ช‡ ๊ฐœ ์žˆ์—ˆ์ง€๋งŒ ์ด์ œ ์–ด๋Š์ •๋„ ํ˜ผ์ž์„œ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์‚ฌ์‹ค ๊ทธ๋•Œ ๊ทธ๋•Œ ๋ฐ”๋กœ ์ •๋ฆฌํ•˜๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ์–ด์ฉŒ๋‹ค๋ณด๋‹ˆ ๋ฐ€๋ ค์„œ ์˜ค๋Š˜๋ถ€ํ„ฐ๋ผ๋„ ๋ฐ”๋กœ๋ฐ”๋กœ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๋ ค๊ณ  ํ•œ๋‹ค. Shop ์–ดํ”Œ์€ ์šฐ์„  GridView ๋กœ ์ƒํ’ˆ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์ƒํ’ˆ๋ณ„๋กœ title ๊ณผ ์ข‹์•„์š” , ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋‹ด๊ธฐ ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์šฐ์„  ์ด๋ ‡๊ฒŒ ๋ถ„๋ฆฌํ–ˆ๋‹ค. models ์—๋Š” ์ƒํ’ˆ ์— ๋Œ€ํ•ด ์ •์˜๋˜์–ด ์žˆ๋‹ค. ์•„๋ž˜๊ฐ€ product.dart ์ด๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด์ฃผ๊ณ  ์ƒ์„ฑ์ž๊นŒ์ง€ ๊ตฌํ˜„ํ•ด์ฃผ์—ˆ๋‹ค. class Product { final String id; final String title; final String description; final int price; final String imag..

โ›น๏ธ ๋ผ์ดํ”„/2021 ์—ฌ๋ฆ„๋ฐฉํ•™ ๋ชจ๊ฐ์ฝ”(๊ฐœ์ธ)

[์ฝ”๋…ํ•˜๊ตฌ๋งŒ 2] 3์ฃผ์ฐจ - Flutter : Personal Expense App

์ง€๋‚œ ์ฃผ์— ์ด์–ด Udemy ๊ฐ•์˜์—์„œ ๋งŒ๋“ค์–ด๋ณธ ๊ฐœ์ธ ๊ฐ€๊ณ„๋ถ€ ์–ดํ”Œ์„ ๋ฆฌ๋ทฐํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ง€๋‚œ ์ฃผ์—๋Š” ๋ฏธ์™„์„ฑ์ด์˜€๋Š”๋ฐ ๊ฐ•์˜๋ฅผ ๋…ํ•™ํ•˜๋ฉด์„œ ๋‹ค ์™„์„ฑํ–ˆ๋‹ค. ๋ญ”๊ฐ€ ์‚ด์ง ์–ด์„คํ”„์ง€๋งŒ ์–ด๋Š์ •๋„ ํ˜ผ์ž์„œ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์ฃผ๋ง์— ๋‚จ์€ 50%์˜ ๊ฐ•์˜๋ฅผ ๋‹ค ๋“ฃ๊ณ  ํ˜ผ์ž ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ ๋ณต์Šตํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์•„๋ฌดํŠผ 3์ฃผ์ฐจ ๋ชจ๊ฐ์ฝ” ์Šคํƒ€ํŠธ! ์šฐ์„  ์ „์ฒด์ ์ธ UI๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์†Œ๋น„ ํ•ญ๋ชฉ์ด ์—†๋Š” ๊ฒฝ์šฐ zZ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋ฉฐ ์ƒ๋‹จ์—๋Š” Chart๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” Switch์™€ ์ƒˆ๋กœ์šด ์†Œ๋น„ ํ•ญ๋ชฉ์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋Š” Button์ด AppBar์˜ ์šฐ์ธก๊ณผ Home์˜ ํ•˜๋‹จ์— ์กด์žฌํ•œ๋‹ค. Switch๋ฅผ Onํ•˜๋ฉด ์˜ค๋Š˜์„ ๊ธฐ์ค€์œผ๋กœ ์ง€๋‚œ 1์ฃผ์ผ ๊ฐ„์˜ ์†Œ๋น„๊ธˆ์•ก์ด ์ถœ๋ ฅ๋œ๋‹ค. ๊ธ€์„ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋Š” ์˜ค๋Š˜์€ ๋ชฉ์š”์ผ์ด๋ฏ€๋กœ Thursday. ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์ž. ๋‹ค ์ง€์šฐ๊ณ ..

โ›น๏ธ ๋ผ์ดํ”„/2021 ์—ฌ๋ฆ„๋ฐฉํ•™ ๋ชจ๊ฐ์ฝ”(๊ฐœ์ธ)

[์ฝ”๋…ํ•˜๊ตฌ๋งŒ 2] 2์ฃผ์ฐจ - Flutter : Personal Expense App

Udemy ๊ฐ•์˜๋ฅผ ๋“ฃ์œผ๋ฉด์„œ Flutter๋ฅผ ํ•™์Šตํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋ฒˆ ์ฃผ๋Š” Builder, Container, Column, Row, CrossAxisAlignment, ListView, Button ๋“ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ€๊ณ„๋ถ€ ์–ดํ”Œ์„ ๋งŒ๋“ค์—ˆ๋‹ค. ์•„๋‹ˆ ๋งŒ๋“œ๋Š” ์ค‘์ด๋‹ค. ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋Š” AppBar ์šฐ์ธก ์ƒ๋‹จ๊ณผ ํ•˜๋‹จ์— ๊ธฐ๋ก์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํŠผ์ด ์žˆ๊ณ  ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์ƒˆ๋กœ์šด ์†Œ๋น„ํ•ญ๋ชฉ์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ AppBar ์•„๋ž˜์—๋Š” 1์ฃผ์ผ ๊ฐ„์˜ ์†Œ๋น„ ๊ธˆ์•ก์„ ํ•œ ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ฐจํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋ฒˆ ์–ดํ”Œ์˜ ์ „์ฒด์ ์ธ ์œ„์ ฏ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. assets ํด๋”์—๋Š” ์–ดํ”Œ์—์„œ ์‚ฌ์šฉํ•  ํฐํŠธ์™€ ์ด๋ฏธ์ง€๊ฐ€ ์ €์žฅ๋˜์–ด์žˆ๋‹ค. models์—๋Š” ์†Œ๋น„ํ•ญ๋ชฉ๊ณผ ๊ด€๋ จ๋œ ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋˜์–ด์žˆ๊ณ , widgets์—๋Š” ์†Œ๋น„ํ•ญ๋ชฉ์„ UI์— ํ‘œ์‹œํ•  ..

๐Ÿ’ป ๊ฐœ๋ฐœ/Flutter

2. Stateless, Stateful

ํ”Œ๋Ÿฌํ„ฐ์˜ ์œ„์ ฏ์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. Stateful๊ณผ Stateless Stateful์€ ์œ„์ ฏ์ด ๋™์ž‘ํ•˜๋Š” ๋™์•ˆ ๋‚ด๋ถ€ ํด๋ž˜์Šค์—์„œ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋œ๋‹ค. setState ์‹คํ–‰ ์ดํ›„ ํ™”๋ฉด์„ ๋‹ค์‹œ ๊ทธ๋ ค์„œ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์„ ๋‹ค์‹œ ๋ฐ˜์˜ํ•œ๋‹ค. Stateless๋Š” Stateful๊ณผ ๋‹ค๋ฅด๊ฒŒ ์œ„์ ฏ์ด ๋™์ž‘ํ•˜๋Š” ๋™์•ˆ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋œ๋‹ค. ์‚ฌ์šฉ์ž์˜ ๋ฐ˜์‘๊ณผ ์ƒ๊ด€ ์—†์ด ํ™”๋ฉด๋งŒ ๋ณด์—ฌ์ค„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) ..

๐Ÿ’ป ๊ฐœ๋ฐœ/Flutter

1. Widget

ํ”Œ๋Ÿฌํ„ฐ๋Š” ์œ„์ ฏ์œผ๋กœ ์‹œ์ž‘ํ•ด์„œ ์œ„์ ฏ์œผ๋กœ ๋๋‚œ๋‹ค. ํ”Œ๋Ÿฌํ„ฐ๋กœ ์•ฑ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ํ™”๋ฉด์ƒ์— ๋ณด์ด๋Š” ๋ชจ๋“  ๊ฒƒ(element๋“ค์˜ ๋ฐฐ์น˜)๊ณผ padding, margin๊ณผ ๊ฐ™์€ ๋ณด์ด์ง€ ์•Š๋Š” ๊ฒƒ๋“ค์ด ์œ„์ ฏ์ด๋‹ค. ์ด๋Ÿฌํ•œ Widget๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ Widget Tree๋ผ๊ณ  ํ•œ๋‹ค. Widget๋“ค์€ ๋ถ€๋ชจ์™€ ์ž์‹์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ–๋Š”๋‹ค. MyApp์˜ ์ž์‹์œผ๋กœ MaterialApp์ด ์กด์žฌํ•œ๋‹ค. Material์€ ํ˜„์žฌ ์•ˆ๋“œ๋กœ์ด๋“œ์— ์ ์šฉ๋œ UI์ด๋‹ค. https://flutter.dev/docs/development/ui/widgets/material Material Components widgets flutter.dev ์ด์™€ ๋Œ€๋น„๋˜๋Š” ๊ฒƒ์€ Cuppertino, ํ˜„์žฌ IOS์— ์ ์šฉ๋œ UI์ด๋‹ค. https://flutter.dev/docs/developm..

โ›น๏ธ ๋ผ์ดํ”„/2021 ์—ฌ๋ฆ„๋ฐฉํ•™ ๋ชจ๊ฐ์ฝ”(๊ฐœ์ธ)

[์ฝ”๋…ํ•˜๊ตฌ๋งŒ 2] 1์ฃผ์ฐจ - Flutter : Quiz App

์˜ค๋Š˜๋ถ€ํ„ฐ Flutter๋ฅผ ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์›๋ž˜๋Š” Spring ๊ณต๋ถ€๋ฅผ ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ด๋ฒˆ์— ์ง€๋ž€์ง€๊ต์†Œํ”„ํŠธ์—์„œ ์ธํ„ด์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ์—ฌ๊ธฐ์„œ Flutter๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ณต๋ถ€๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์–ด์„œ Flutter๋ฅผ ๋”ฐ๋กœ ๊ณต๋ถ€ํ•ด์•ผํ–ˆ๋‹ค. Flutter์™€ Spring์„ ๋™์‹œ์— ๊ณต๋ถ€ํ•˜๊ธฐ์—” ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ๋ถ€์กฑํ•ด์„œ ๊ทธ๋ƒฅ Flutter์— ์ง‘์ค‘ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ผ๋‹จ ๊ฐ•์˜๋Š” Udemy ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์˜์–ด ๊ฐ•์˜๋ผ ์ž๋ง‰์„ ์ผœ๋‘๊ณ  ํ•˜๋Š”๋ฐ๋„ ์‚ด์ง ๋นก์„ธ๋‹ค. ์™œ ํ•œ๊ตญ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์ง€ ์•Š์•˜๋ƒ๊ณ  ๋ฌผ์–ด๋ณธ๋‹ค๋ฉด ๊ตญ๋‚ด ๊ฐ•์˜ ์ค‘์— Flutter ๊ฐ•์˜๊ฐ€ ๊ดœ์ฐฎ์€๊ฒŒ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋˜ํ•œ ์ธํ”„๋Ÿฐ์— ๋ช‡ ๊ฐœ ๊ฐ•์˜๊ฐ€ ์žˆ๋Š”๋ฐ ๋„ˆ๋ฌด ๋น„์ŒŒ๋‹ค. Udemy์—์„  ๊ณ ์ž‘ 14000์›... ๊ฐ•์˜ ์‹œ๊ฐ„ ์—ญ์‹œ 42์‹œ๊ฐ„์œผ๋กœ ์ƒ๋‹นํ–ˆ๊ณ  ์ปค๋ฆฌํ˜๋Ÿผ ์—ญ์‹œ ๋งˆ์Œ์— ๋“ค์—ˆ๋‹ค. ..

kodo_o
'2021/07 ๊ธ€ ๋ชฉ๋ก