๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐Ÿ“ฑFlutter (7)

ruriruriya

[Flutter] ์•ˆ๋“œ๋กœ์ด๋“œ ์‹ค์ œ ํ•ธ๋“œํฐ ์—ฐ๋™ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ

์–ดํ”Œ์„ ๊ฐœ๋ฐœํ•˜๋‹ค ๋ณด๋ฉด ํ”๋“ค๊ธฐ ๋“ฑ๋“ฑ ๋ชจ์…˜์ด ํ•„์š”ํ•  ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ ์• ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ๋Š” ๊ทธ๋Ÿฐ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†๋‹ค.๊ทธ๋ž˜์„œ ์‹ค์ œ ์•ˆ๋“œ๋กœ์ด๋“œ ์Šค๋งˆํŠธํฐ ์—ฐ๊ฒฐํ•ด์„œ ํ…Œ์ŠคํŠธํ•ด๋ณด์ž.1. ๊ฐœ๋ฐœ์ž ๋ชจ๋“œ๋กœ ๋ณ€๊ฒฝXcode๋ฅผ ์‹คํ–‰ํ•ด์„œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์„ ์‹œ์ž‘ํ•œ๋‹ค.[์„ค์ •] - [ํœด๋Œ€์ „ํ™” ์ •๋ณด] - [์†Œํ”„ํŠธ์›จ์–ด ์ •๋ณด]๋กœ ์ ‘์†ํ•ด์„œ๋นŒ๋“œ ๋ฒˆํ˜ธ๋ฅผ ์—ฐ๋‹ฌ์•„์„œ ํ„ฐ์น˜ํ•œ๋‹ค.'์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐœ๋ฐœ์ž ๋ชจ๋“œ๋ฅผ ์ผฐ์Šต๋‹ˆ๋‹ค' ๋ผ๋Š” ๋ฉ”์„ธ์ง€๊ฐ€ ๋‚˜์˜ฌ ๋•Œ ๊นŒ์ง€๊ทธ๋ ‡๊ฒŒ ๋‹ค์‹œ ์„ค์ •์œผ๋กœ ๋‚˜์˜ค๋ฉด [๊ฐœ๋ฐœ์ž ์˜ต์…˜] ๋ฉ”๋‰ด๊ฐ€ ์ƒ๊ธด ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 2. ์ปดํ“จํ„ฐ์— USB  ์—ฐ๊ฒฐUSB ๋””๋ฒ„๊น…์„ ํ™œ์„ฑํ™” ํ•˜๋ฉดUSB ๋””๋ฒ„๊น…์„ ํ—ˆ์šฉํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋ผ๋Š” ์ฐฝ์ด ๋‚˜์˜ค๊ณ 'ํ—ˆ์šฉ'์„ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด ๋œ๋‹ค. USB ์—ฐ๊ฒฐ์„ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฉ”์„ธ์ง€๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ์ด ์ปดํ“จํ„ฐ์—์„œ ํ•ญ์ƒ ํ—ˆ์šฉ์„ ์ฒดํฌํ•˜๊ณ  'ํ—ˆ์šฉ' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค. 3...

[Dart] async์™€ await๋กœ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Dart ์–ธ์–ด์—์„œ async์™€ await๋Š” ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค์›Œ๋“œ์ด๋‹ค.ํŠนํžˆ ๋„คํŠธ์›Œํฌ ์š”์ฒญ, ํŒŒ์ผ ์ฝ๊ธฐ/์“ฐ๊ธฐ, ํƒ€์ด๋จธ ๋“ฑ์˜ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.๐Ÿ’ก ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?- ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ์ž‘์—… ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ, ํ•ด๋‹น ์ž‘์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ์ž‘์—…์ด ๋ฉˆ์ถ”์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๋ฐฉ์‹- Dart์—์„œ๋Š” Future ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.(Future : ๋น„๋™๊ธฐ ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ์ฒด, ๊ฒฐ๊ณผ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜, ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ˆ์™ธ๋ฅผ ๋˜์ ธ์ค€๋‹ค.) 1. async์™€ await ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•- async : ํ•จ์ˆ˜์— ๋น„๋™๊ธฐ ์ž‘์—…์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋œปํ•˜๋Š” ํ•จ์ˆ˜๋กœ, ํ•ญ์ƒ Future ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.- await : ๋น„๋™๊ธฐ ์ž‘์—…(Fu..

๐Ÿ“ฑFlutter/Dart 2024. 12. 18. 15:42
[Dart] ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ธฐ๋ณธ๊ฐ’ ์ง€์ •(Default Parameters)

Dart ์–ธ์–ด์—์„œ ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•ด์„œ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ํŠน์ • ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.1. ๊ธฐ๋ณธ๊ฐ’ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•˜๋ ค๋ฉด ์ค‘๊ด„ํ˜ธ '{}'๋กœ ๊ฐ์‹ผ ์ด๋ฆ„ ๊ธฐ๋ฐ˜ ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜ ๋˜๋Š” ๋Œ€๊ด„ํ˜ธ'[]'๋กœ ๊ฐ์‹ผ ์œ„์น˜ ๊ธฐ๋ฐ˜ ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜ ์ค‘ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.๊ธฐ๋ณธ๊ฐ’์„ ์ง€์ •ํ•˜๋ ค๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ค‘๊ด„ํ˜ธ ๋˜๋Š” ๋Œ€๊ด„ํ˜ธ๋กœ ๊ฐ์‹ธ์„œ ๊ฐ’์„ ํ• ๋‹นํ•˜๋ฉด ๋œ๋‹ค.๊ทธ๋ž˜์„œ ํ˜ธ์ถœ ์‹œ ์ƒ๋žต๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์„ค์ •๋œ ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.void ํ•จ์ˆ˜์ด๋ฆ„(ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋ฆ„, {ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋ฆ„ = ๊ธฐ๋ณธ๊ฐ’}) { // ํ•จ์ˆ˜ ๋ณธ๋ฌธ}void greet(String name, {String greeting = "Hello"}) { print("$greeting, $name!");}void main() { greet("..

๐Ÿ“ฑFlutter/Dart 2024. 12. 18. 14:59
[Dart] Null Safety์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  late ํ‚ค์›Œ๋“œ

Dart ์–ธ์–ด์—์„œ๋Š” Null Safe๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ๋Š”๋ฐ์ด๋Š” ๋ณ€์ˆ˜์— null ๊ฐ’์„ ํ—ˆ์šฉํ• ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์ด ๊ธฐ๋Šฅ์€ NullPointerExcaption ๋“ฑ๊ณผ ๊ฐ™์€ null๋กœ ์ธํ•ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•œ๋‹ค.1. Dart ๋ณ€์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ null์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.์ฆ‰, null์„ ํ—ˆ์šฉํ•˜๋Š” ํ‘œ์‹œ๊ฐ€ ์—†๋‹ค๋ฉด ์ ˆ๋Œ€. null์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.null์„ ํ—ˆ์šฉํ•˜๋ ค๋ฉด ๋ฐ์ดํ„ฐํƒ€์ž… ๋’ค์— '?' ๋ฌผ์Œํ‘œ๋ฅผ ๋ถ™์—ฌ์ค€๋‹ค.(์ฝ”ํ‹€๋ฆฐ๋„ ๋น„์Šทํ•œ ๊ฐœ๋…์ด์ง€๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ๋ฒ•์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋Š” ๋“ฏ ํ•˜๋‹ค.)Null์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜ ์˜ˆ์‹œvoid main() { int number = 10; // null์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๋ณ€์ˆ˜ print(number); // number = null; // ์˜ค๋ฅ˜! null ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์—†..

๐Ÿ“ฑFlutter/Dart 2024. 12. 18. 13:36
[Flutter] Xcode ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์„ค์น˜ - Unable to get list of installed Simulator runtimes.

Flutter๋ฅผ ๋งฅOS์—์„œ ์„ธํŒ…ํ•˜๋˜ ๋„์ค‘์— flutter doctor๋ช…๋ น์–ด๋กœ ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ์ง€ ํ™•์ธํ•˜๋Š” ์ค‘์—Xcode์˜ ๋ผ์ด์„ ์Šค ๋™์˜๊ฐ€ ์™„๋ฃŒ๊ฐ€ ๋˜์ง€ ์•Š์•„์„œ ์ฐพ์•„๋ณด๋‹ˆXcode ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์„ค์ •๋ฌธ์ œ์˜€๋‹ค. Xcode - develop for iOS and macOS (Xcode 16.2)    โœ— Unable to get list of installed Simulator runtimes.์ฒ˜์Œ์—๋Š” ๋ผ์ด์„ ์Šค ๋™์˜ํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ–ˆ์—ˆ๋‹ค.sudo xcodebuild -license accept ๊ณ„์† ์‹œ๋„ํ–ˆ์ง€๋งŒ ๊ณ„์† Warning ํ‘œ์‹œ๊ฐ€ ๋–ด๋‹ค ....๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์ฐพ์•„๋ณด๋‹ˆ Xcode ์–ดํ”Œ์—์„œ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ๋กํ•œ๋‹ค! 1. Xcode ์‹คํ–‰Xcode๋ฅผ ์‹คํ–‰ํ•ด์„œ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์„ ์‹œ์ž‘ํ•œ๋‹ค.์ผ๋‹จ ..