๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

    Dart / 1ํƒ„ : Dart์˜ ์ค‘์š”ํ•œ ๊ฐœ๋…

    Dart / 1ํƒ„ : Dart์˜ ์ค‘์š”ํ•œ ๊ฐœ๋…

    ์˜ค๋Š˜์€ ์ œ๊ฐ€ ๊ณต์‹๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๊ณต๋ถ€ํ•œ Dart ์–ธ์–ด๋ฅผ ๊ณต๋ถ€ํ• ๋•Œ ์ค‘์š”ํ•œ ๊ฐœ๋…๋“ค์„ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :) ๋ชฉ์ฐจ Dart์˜ ์ค‘์š”ํ•œ ๊ฐœ๋… ๋งˆ์น˜๋ฉด์„œ Dart์˜ ์ค‘์š”ํ•œ ๊ฐœ๋… 1. ๋ณ€์ˆ˜์— ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์€ ๊ฐ์ฒด์ด๋‹ค. Dart์—์„œ ๋ณ€์ˆ˜์—์„œ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋ชจ๋‘ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ์ˆซ์ž(int), ํ•จ์ˆ˜, null ๊ณผ ๊ฐ™์€ ๊ฒƒ ๋“ค๋„ ์‹ฌ์ง€์–ด Dart์—์„œ๋Š” ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  JAVA์™€ ๊ฐ™์ด ๋ชจ๋“  ๊ฐ์ฒด๋Š” Object ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ํ•จ์ˆ˜๋„ ๊ฐ์ฒด๋กœ ๋ฐ›์•„๋“ค์ธ๋‹ค๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ์ด ๋œป์€ ํ•จ์ˆ˜๋ฅผ ํ•จ์ˆ˜์˜ ์ธ์ž๊ฐ’์œผ๋กœ ๋„˜๊ธธ ์ˆ˜ ๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ํ•จ์ˆ˜๋ฅผ 1๊ธ‰ ํ•จ์ˆ˜๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. Dart์—์„œ๋Š” ํ•จ์ˆ˜๋ฅผ 1๊ธ‰ํ•จ์ˆ˜๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” 1๊ธ‰ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์˜ˆ์‹œ์ž…..

    Android Firebase ๋™์ ๋งํฌ (Dynamic Link)

    Android Firebase ๋™์ ๋งํฌ (Dynamic Link)

    ๋ชฉ์ฐจ 1. Firebase๋™์  ๋งํฌ๋ž€? 2. Firebase ๋™์  ๋งํฌ ๋งŒ๋“ค๊ธฐ (Android) 3. ๋งˆ์น˜๋ฉด์„œ Firebase ๋™์  ๋งํฌ๋ž€? ์•ˆ๊ทธ๋Ÿฌ์‹œ๊ฒ ์ง€๋งŒ Microsoft์˜ DDL ๊ณผ Firebase์˜ ๋™์  ๋งํฌ๋Š” ๋‹ค๋ฅธ ๊ฒ๋‹ˆ๋‹ค. Firebase์˜ ๋™์ ๋งํฌ๋Š” ๋ง๊ทธ๋Œ€๋กœ ๋งํฌ๋กœ์จ (ํ”Œ๋žซํผ, ์•ฑ ์„ค์น˜) ์—ฌ๋ถ€ ๋“ฑ์— ๋”ฐ๋ผ์„œ ๋™์ ์œผ๋กœ (์•ฑ ์‹คํ–‰, ํ™ˆํŽ˜์ด์ง€, ์„ค์น˜ ํ™”๋ฉด) ์˜ ํ–‰๋™์„ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž๋ฅผ ํ•˜๋‚˜์˜ ๋งํฌ๋กœ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์  ๋งํฌ๋ฅผ ๋‹ค์–‘ํ•œ ์œ ์ €๋“ค์—๊ฒŒ ์ž˜ ๋…ธ์ถœํ•˜๋ฉด ์‚ฌ์šฉ์ž ์œ ์ž…์— ํฐ ํšจ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ œ๊ฐ€ ์žˆ๋Š” ํŒ€์—์„œ๋Š” ๋™์ ๋งํฌ๋กœ ๋งŒ๋“  QR์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์œ ์ž…์„ ์‹œ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Firebase ๋™์  ๋งํฌ ๋งŒ๋“ค๊ธฐ (Android) F..

    Flutter / 3ํƒ„ : Flutter์˜ UI์— ๊ด€ํ•˜์—ฌ

    Flutter / 3ํƒ„ : Flutter์˜ UI์— ๊ด€ํ•˜์—ฌ

    ์ด๋ฒˆ์—๋Š” Flutter์˜ UI์— ๊ด€ํ•˜์—ฌ ๊ณต๋ถ€๋ฅผ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ Flutter๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ž˜ ๋ชจ๋ฅด์‹œ๋Š” ๋ถ„๋“ค์€ ์•„๋ž˜์˜ ๊ธ€์„ ๋จผ์ € ์ฝ๊ณ  ์™€์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. Flutter / 2ํƒ„ : Flutter ํŠน์ง•๊ณผ ์žฅ๋‹จ์  Flutter / 2ํƒ„ : Flutter ํŠน์ง•๊ณผ ์žฅ๋‹จ์  ์ด๋ฒˆ์—๋Š” Flutter์˜ ํŠน์ง•๊ณผ ์žฅ๋‹จ์ ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€๋ฅผ ํ•˜์˜€๊ณ  ์—ฌ๋Ÿฌ๋ถ„๋“ค๊ณผ ๊ณต์œ ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. medium.com ๋ชฉ์ฐจ ๋ชจ๋“  ๊ฒƒ์ด Widget ์„ ์–ธ์  UI ๋ฐฉ์‹ Stateless, Stateful Widget ํ™”๋ฉด ์ „ํ™˜ (Navigator์™€ Route) Stateful Widget์˜ Lifecycle (์ƒ๋ช…์ฃผ๊ธฐ) ๋ ˆ์ด์•„์›ƒ ๋ฐฐ์น˜ ๋ฐฉ๋ฒ• ๋งˆ์น˜๋ฉด์„œ ๋ชจ๋“  ๊ฒƒ์ด Widget Flutter์—์„œ UI ์„ ์–ธ ๋ฐ ๊ตฌ์„ฑ๋ฐฉ์‹๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“  ๊ฒƒ์€ ์œ„์ ฏ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ..

    Firebase Release ๋ฒ„์ „ SHA1

    Firebase Release ๋ฒ„์ „ SHA1

    ์˜ค๋Š˜ Firebase์— ๊ด€ํ•œ ์ด์Šˆ๊ฐ€ ํ•˜๋‚˜ ์™”์—ˆ์Šต๋‹ˆ๋‹ค. โ€œFirebase์˜ ์ „ํ™”๋ฒˆํ˜ธ ์ธ์ฆ์ด ์•ˆ๋œ๋‹คโ€๋ผ๋Š” ์ด์Šˆ์˜€์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฝ”๋“œ์ƒ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‚˜ ๊ฒ€ํ† ๋ฅผ ํ•ด๋ณด์•˜์ง€๋งŒ ์ฝ”๋“œ์ƒ์—๋Š” ๋ณ„๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๊ตฌ๊ธ€๋ง์„ ํ•˜๋˜ ์ค‘ ์ด ๋ฌธ์ œ๊ฐ€ SHA1 ๋ฌธ์ œ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ด์ „์— Firebase์— ๋“ฑ๋กํ–ˆ๋˜ SHA1 ์ง€๋ฌธ์€ Android Studio ./gradlw signinReport ์—์„œ ์–ป์€ ๊ฒƒ์ด์˜€์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Play Sotre์— ์•ฑ์„ ๋ฐฐํฌํ•˜๊ฒŒ ๋˜๋ฉด Google์ด ํ•ด๋‹น SHA1 ์ง€๋ฌธ์„ ์ง€์šฐ๊ณ  ์ƒˆ๋กœ์šด SHA1์ง€๋ฌธ์„ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ Release ๋ฒ„์ „์—์„œ๋Š” ๊ตฌ๊ธ€์ด ๋ฐœ๊ธ‰ํ•ด์ค€ SHA1์„ ํ†ตํ•ด์„œ Firebase์˜ SHA1์„ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ Play Console์—์„œ์˜ ํ•ด๋‹น SHA1์˜..