HomePostsSearch
KeyFlow LogoKEYLOW
BETAv2026.03.14
๐Ÿ˜ฑ 2025 ์•ˆ๋“œ๋กœ์ด๋“œ ํƒ๊ตฌ์˜์—ญ, Coroutines Flow ๋•Œ๋ฌธ์—?! (feat. ์‰ฌ์šด ํ•ด์„ค)

๐Ÿ˜ฑ 2025 ์•ˆ๋“œ๋กœ์ด๋“œ ํƒ๊ตฌ์˜์—ญ, Coroutines Flow ๋•Œ๋ฌธ์—?! (feat. ์‰ฌ์šด ํ•ด์„ค)

Taehwan kwon (theo)Taehwan kwon (theo)
about 1 month ago(Edited)
8 min read

์ฝ”ํ‹€๋ฆฐ Flow์˜ flatMapLatest๊ฐ€ ์ด์ „ ์ž‘์—…์„ '์ทจ์†Œ'ํ•˜๋Š” ์ง„์งœ ์›๋ฆฌ๋ฅผ ๋ชจ๋ฅด๋ฉด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฒ„๊ทธ์— ๋ฐค์„ ์ƒˆ์šธ์ง€๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

ยทflatMapLatest๋Š” ์›๋ณธ Flow์—์„œ ์ƒˆ ๊ฐ’์ด ๋ฐฉ์ถœ๋˜๋ฉด ์ด์ „ ๋‚ด๋ถ€ Flow๋ฅผ ์ฆ‰์‹œ ์ทจ์†Œ(cancel)ํ•˜๊ณ  ์ตœ์‹  ๋ฐ์ดํ„ฐ๋งŒ ์ฒ˜๋ฆฌํ•œ๋‹ค.
ยทStateFlow๋Š” ์ตœ์‹  ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฏ€๋กœ flatMapLatest์™€ ๊ฒฐํ•ฉ ์‹œ ์ดˆ๊ธฐ๊ฐ’์ด ์ฆ‰์‹œ ๋ฐ˜์˜๋˜์ง€๋งŒ, SharedFlow๋Š” Replay ์„ค์ • ์—†์ด๋Š” ์ด์ „ ๊ฐ’์„ ๋†“์น  ์ˆ˜ ์žˆ๋‹ค.
ยท๋ณต์žกํ•œ Flow ํ•ฉ์„ฑ ์‹œ flatMapLatest๋ฅผ ์ค‘์ฒฉ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ํ๋ฆ„์˜ ์ตœ์ข… ๊ฒฐ๊ณผ๊ฐ€ ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ํ•„ํ„ฐ๋ง๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์—ฐ์‚ฐ์ž์˜ ์‹คํ–‰ ์ˆœ์„œ ์ดํ•ด๊ฐ€ ํ•„์ˆ˜์ ์ด๋‹ค.
SeriesPart 14 of 14

Kotlin Coroutines

View All
Previous
(๐Ÿ˜จ ์˜ค๋ฅ˜ ์ •์ •) ๐Ÿค” 2025๋…„๋„์—๋„ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ฝ”๋ฃจํ‹ด ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋•Œ๋ฌธ์— ๋ฐค์ƒ˜๊ฐ? ๐Ÿ˜จ (2025ํ•™๋…„๋„ ์•ˆ๋“œ๋กœ์ด๋“œ ํƒ๊ตฌ์˜์—ญ ๋ฌธ์ œํ’€์ด)
End
Series Complete

On this page

  • ๋ฌด์Šจ ๋ฌธ์ œ์ธ๊ฐ€?
  • ์ด ๊ธ€์—์„œ๋Š”
  • ๋ฌธ์ œ๋ฅผ ์‚ดํŽด๋ณด์ž
  • flatMapLatest๋Š” ๋ฌด์—‡์ธ๊ฐ€?
  • ๋Œ์•„๊ฐ€์„œ
  • ๊ตฌ๋…ํ•œ ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ
  • ์ด ๋ฌธ์ œ์˜ ๋‹ต์€
  • StateFlow๊ฐ€ ์•„๋‹ˆ๋ผ SharedFlow๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด?
  • StateFlow, SharedFlow, flow๋ฅผ ์…‹ ๋‹ค ํ•ฉ์„ฑํ•œ๋‹ค๋ฉด?
  • ๋งˆ๋ฌด๋ฆฌ
Taehwan kwon (theo)

Taehwan kwon (theo)

@taehwandev

[์•ˆ๋…•ํ•˜์„ธ์š”, ํƒœํ™˜์ž…๋‹ˆ๋‹ค] ๊ธ€์“ฐ๊ธฐ ํ”Œ๋žซํผ KeyFlow์˜ ์šด์˜๊ณผ ๊ฐœ๋ฐœ์„ ์ด๊ด„ํ•˜๊ณ  ์žˆ๋Š” ํƒœํ™˜์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ๊ฐ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ”Œ๋žซํผ์ธ ํ‚คํ”Œ๋กœ์šฐ ์ „์ฒด์˜ ๊ธฐํš๋ถ€ํ„ฐ ๋ฐฐํฌ, ๊ด€๋ฆฌ๋ฅผ ๋ฆฌ๋”ฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

[๊ฒฝํ—˜ ๋ฐ ์ „๋ฌธ์„ฑ]

  • KeyFlow Management: ์„œ๋น„์Šค์˜ ์ „๋ฐ˜์ ์ธ ์šด์˜์„ ์ฑ…์ž„์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • Mobile Engineering: ์•ˆ๋“œ๋กœ์ด๋“œ์™€ iOS ํ”Œ๋žซํผ ๋ชจ๋‘์—์„œ ์•ˆ์ •์ ์ด๊ณ  ๋งค๋„๋Ÿฌ์šด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๊ธฐ์˜ ํŠน์„ฑ์— ์ตœ์ ํ™”๋œ ์—๋””ํ„ฐ์™€ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ๊ฐ•์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • Openness & Stability: ํ”Œ๋žซํผ์˜ ๊ฐœ๋ฐฉ์„ฑ์„ ํ™•๋Œ€ํ•˜๋ฉด์„œ๋„, ์‹œ์Šคํ…œ์˜ ์•ˆ์ •์„ฑ์„ ๋†“์น˜์ง€ ์•Š๋Š” ๊ท ํ˜• ์žกํžŒ ๊ฐœ๋ฐœ ์ฒ ํ•™์„ ์ถ”๊ตฌํ•ฉ๋‹ˆ๋‹ค.

[๋ชฉํ‘œ] ๋‹จ์ˆœํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ๋„˜์–ด, ์ „ ์„ธ๊ณ„ ์‚ฌ์šฉ์ž๊ฐ€ ์–ธ์–ด์˜ ์žฅ๋ฒฝ ์—†์ด ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธ€๋กœ๋ฒŒ ํ”Œ๋žซํผ์œผ๋กœ KeyFlow๋ฅผ ์„ฑ์žฅ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ €์˜ ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ ์š”์•ฝ (Tech Summary)

  • Mobile: Android (Kotlin/Java), iOS (Swift)
  • Highlight: GitHub Gist Integration, AI Language Detection, Cross-platform Optimization
kotlin
1
2
3
4
5
data class User(
  val name: String = "taehwan",
  val bio: String = "Android, iOS",
  val nickName: String = "Theo",
)
Was this helpful?Your support means a lot to the author.
Home
Posts
Inbox