Skip to content

๐Ÿง™ ์žฌ๋ฅด์‹œ ๋ฉด์ ‘์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€ ์ •๋ฆฌ Repository์ž…๋‹ˆ๋‹ค.

Notifications You must be signed in to change notification settings

Glsme/iOS_Interview_Question_Answer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

26 Commits
ย 
ย 

Repository files navigation

๐Ÿง™ ์žฌ๋ฅด์‹œ ๋ฉด์ ‘ ์งˆ๋ฌธ + ํ•˜๋…ธ ๋ฉด์ ‘ ์งˆ๋ฌธ ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค.

์žฌ๋ฅด์‹œ ์งˆ๋ฌธ ๋งํฌ

ํ•˜๋…ธ ๋ฉด์ ‘ ์งˆ๋ฌธ์€ ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๋‹ต๋ณ€ ์ค‘ ํ‹€๋ฆฐ ๊ฒƒ์ด๋‚˜, ์ˆ˜์ •ํ•ด์•ผํ•  ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์ˆ˜์ •ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!



์žฌ๋ฅด์‹œ ๋ฉด์ ‘ ์งˆ๋ฌธ

iOS

๋‹ต๋ณ€ ์งˆ๋ฌธ
๋งํฌ Bounds ์™€ Frame ์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ ์‹ค์ œ ๋””๋ฐ”์ด์Šค๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ์—†๋Š” ๊ฒƒ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ ์•ฑ์˜ ์ฝ˜ํ…์ธ ๋‚˜ ๋ฐ์ดํ„ฐ ์ž์ฒด๋ฅผ ์ €์žฅ/๋ณด๊ด€ํ•˜๋Š” ํŠน๋ณ„ํ•œ ๊ฐ์ฒด๋ฅผ ๋ฌด์—‡์ด๋ผ๊ณ  ํ•˜๋Š”๊ฐ€?
๋งํฌ ์•ฑ ํ™”๋ฉด์˜ ์ฝ˜ํ…์ธ ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋กœ์ง๊ณผ ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๋ฌด์—‡์ด๋ผ๊ณ  ํ•˜๋Š”๊ฐ€?
๋งํฌ App thinning์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.

๋งํฌ ์•ฑ์ด ์‹œ์ž‘ํ•  ๋•Œ main.c ์— ์žˆ๋Š” UIApplicationMain ํ•จ์ˆ˜์— ์˜ํ•ด์„œ ์ƒ์„ฑ๋˜๋Š” ๊ฐ์ฒด๋Š” ๋ฌด์—‡์ธ๊ฐ€?
๋งํฌ @Main์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ ์•ฑ์ด foreground์— ์žˆ์„ ๋•Œ์™€ background์— ์žˆ์„ ๋•Œ ์–ด๋–ค ์ œ์•ฝ์‚ฌํ•ญ์ด ์žˆ๋‚˜์š”?
๋งํฌ ์ƒํƒœ ๋ณ€ํ™”์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋™์ž‘์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์•ฑ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ๋ฉ”์„œ๋“œ๋“ค์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ ์•ฑ์ด In-Active ์ƒํƒœ๊ฐ€ ๋˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ scene delegate์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ UIApplication ๊ฐ์ฒด์˜ ์ปจํŠธ๋กค๋Ÿฌ ์—ญํ• ์€ ์–ด๋””์— ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”๊ฐ€?
๋งํฌ App์˜ Not running, Inactive, Active, Background, Suspended์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.

NSOperationQueue ์™€ GCD Queue ์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ GCD API ๋™์ž‘ ๋ฐฉ์‹๊ณผ ํ•„์š”์„ฑ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Global DispatchQueue ์˜ Qos ์—๋Š” ์–ด๋–ค ์ข…๋ฅ˜๊ฐ€ ์žˆ๋Š”์ง€, ๊ฐ๊ฐ ์–ด๋–ค ์˜๋ฏธ์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.

๋งํฌ iOS ์•ฑ์„ ๋งŒ๋“ค๊ณ , User Interface๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ํ”„๋ ˆ์ž„์›Œํฌ ์ด๋ฆ„์€ ๋ฌด์—‡์ธ๊ฐ€?
Foundation Kit์€ ๋ฌด์—‡์ด๊ณ  ํฌํ•จ๋˜์–ด ์žˆ๋Š” ํด๋ž˜์Šค๋“ค์€ ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
Delegate๋ž€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜๊ณ , retain ๋˜๋Š”์ง€ ์•ˆ๋˜๋Š”์ง€ ๊ทธ ์ด์œ ๋ฅผ ํ•จ๊ป˜ ์„ค๋ช…ํ•˜์‹œ์˜ค.
NotificationCenter ๋™์ž‘ ๋ฐฉ์‹๊ณผ ํ™œ์šฉ ๋ฐฉ์•ˆ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
UIKit ํด๋ž˜์Šค๋“ค์„ ๋‹ค๋ฃฐ ๋•Œ ๊ผญ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์“ฐ๋ ˆ๋“œ ์ด๋ฆ„์€ ๋ฌด์—‡์ธ๊ฐ€?
App Bundle์˜ ๊ตฌ์กฐ์™€ ์—ญํ• ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋ชจ๋“  View Controller ๊ฐ์ฒด์˜ ์ƒ์œ„ ํด๋ž˜์Šค๋Š” ๋ฌด์—‡์ด๊ณ  ๊ทธ ์—ญํ• ์€ ๋ฌด์—‡์ธ๊ฐ€?
์ž์‹ ๋งŒ์˜ Custom View๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
View ๊ฐ์ฒด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
UIView ์—์„œ Layer ๊ฐ์ฒด๋Š” ๋ฌด์—‡์ด๊ณ  ์–ด๋–ค ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
UIWindow ๊ฐ์ฒด์˜ ์—ญํ• ์€ ๋ฌด์—‡์ธ๊ฐ€?
UINavigationController ์˜ ์—ญํ• ์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ TableView๋ฅผ ๋™์ž‘ ๋ฐฉ์‹๊ณผ ํ™”๋ฉด์— Cell์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์†Œํ•œ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” DataSource ๋ฉ”์„œ๋“œ๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
ํ•˜๋‚˜์˜ View Controller ์ฝ”๋“œ์—์„œ ์—ฌ๋Ÿฌ TableView Controller ์—ญํ• ์„ ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•ด์„œ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
setNeedsLayout์™€ setNeedsDisplay์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
stackView์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.

NSCache์™€ ๋”•์…”๋„ˆ๋ฆฌ๋กœ ์บ์‹œ๋ฅผ ๊ตฌ์„ฑํ–ˆ์„๋•Œ์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
URLSession์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.
prepareForReuse์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋‹คํฌ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ ViewController์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ TableView์™€ CollectionView์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.

Autolayout

๋‹ต๋ณ€ ์งˆ๋ฌธ
๋งํฌ ์˜คํ† ๋ ˆ์ด์•„์›ƒ์„ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€? (3๊ฐ€์ง€)
๋งํฌ hugging, resistance์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Intrinsic Size์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋ฅผ ์ด์šฉํ–ˆ์„๋•Œ์˜ ์žฅ๋‹จ์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Safearea์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Left Constraint ์™€ Leading Constraint ์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.

Swift

๋‹ต๋ณ€ ์งˆ๋ฌธ
struct์™€ class์™€ enum์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
class์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ์‹œํ‚ฌ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋“ค์„ ๋‚˜์—ดํ•ด๋ณด์‹œ์˜ค.
Copy On Write๋Š” ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Convenience init์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
AnyObject์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Optional ์ด๋ž€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
Struct ๊ฐ€ ๋ฌด์—‡์ด๊ณ  ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
Subscripts์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
String์€ ์™œ subscript๋กœ ์ ‘๊ทผ์ด ์•ˆ๋˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
instance ๋ฉ”์„œ๋“œ์™€ class ๋ฉ”์„œ๋“œ์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
class ๋ฉ”์„œ๋“œ์™€ static ๋ฉ”์„œ๋“œ์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Delegate ํŒจํ„ด์„ ํ™œ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
Singleton ํŒจํ„ด์„ ํ™œ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
KVO ๋™์ž‘ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
Delegates์™€ Notification ๋ฐฉ์‹์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ๋กœ ๋™์ž‘ํ•˜๋Š” ์•ฑ์„ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹๋“ค์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
MVC ๊ตฌ์กฐ์— ๋Œ€ํ•ด ๋ธ”๋ก ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๊ณ , ๊ฐ ์—ญํ• ๊ณผ ํ๋ฆ„์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ ํ”„๋กœํ† ์ฝœ์ด๋ž€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
Protocol Oriented Programming๊ณผ Object Oriented Programming์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Hashable์ด ๋ฌด์—‡์ด๊ณ , Equatable์„ ์™œ ์ƒ์†ํ•ด์•ผ ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
mutating ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ ํƒˆ์ถœ ํด๋กœ์ €์— ๋Œ€ํ•˜์—ฌ ์„ค๋ช…ํ•˜์‹œ์˜ค.
Extension์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
Extension ๋‚ด๋ถ€์—์„œ ํ•จ์ˆ˜๋ฅผ overrideํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
์ ‘๊ทผ ์ œ์–ด์ž์˜ ์ข…๋ฅ˜์—” ์–ด๋–ค๊ฒŒ ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
defer๋ž€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
defer๊ฐ€ ํ˜ธ์ถœ๋˜๋Š” ์ˆœ์„œ๋Š” ์–ด๋–ป๊ฒŒ ๋˜๊ณ , defer๊ฐ€ ํ˜ธ์ถœ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
property wrapper์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Generic์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
some ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
Resultํƒ€์ž…์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
Codable์— ๋Œ€ํ•˜์—ฌ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Closure์— ๋Œ€ํ•˜์—ฌ ์„ค๋ช…ํ•˜์‹œ์˜ค.
Closure์™€ ํ•จ์ˆ˜์™€์˜ ๊ด€๊ณ„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.

ARC

๋‹ต๋ณ€ ์งˆ๋ฌธ
๋งํฌ ARC๋ž€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
Retain Count ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
Strong ๊ณผ Weak ์ฐธ์กฐ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
์ˆœํ™˜ ์ฐธ์กฐ์— ๋Œ€ํ•˜์—ฌ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๊ฐ•ํ•œ ์ˆœํ™˜ ์ฐธ์กฐ (Strong Reference Cycle) ๋Š” ์–ด๋–ค ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.

Functional Programming

๋‹ต๋ณ€ ์งˆ๋ฌธ
์ˆœ์ˆ˜ํ•จ์ˆ˜๋ž€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๊ณ ์ฐจ ํ•จ์ˆ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
Swift Standard Library์˜ map, filter, reduce, compactMap, flatMap์— ๋Œ€ํ•˜์—ฌ ์„ค๋ช…ํ•˜์‹œ์˜ค.

Architecture

๋‹ต๋ณ€ ์งˆ๋ฌธ
๋งํฌ MVVM, MVI, Ribs, VIP ๋“ฑ ์ž์‹ ์ด ์•Œ๊ณ ์žˆ๋Š” ์•„ํ‚คํ…์ณ๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
์˜์กด์„ฑ ์ฃผ์ž…์— ๋Œ€ํ•˜์—ฌ ์„ค๋ช…ํ•˜์‹œ์˜ค.

SwiftUI

๋‹ต๋ณ€ ์งˆ๋ฌธ
@State์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.

Combine

๋‹ต๋ณ€ ์งˆ๋ฌธ
PassthroughSubject์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค
@Published์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค
AnyCancellable์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค
sink์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค
throttle๊ณผ debounce์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
Data๋ฅผ Binding ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค.

Rx

๋‹ต๋ณ€ ์งˆ๋ฌธ
Reactive Programming์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
RxSwift๋ฅผ ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ RxSwift์˜ ๋‹จ์ ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.
RxSwift์—์„œ Hot Observable๊ณผ Cold Observable์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
๋งํฌ Subject์˜ ์ข…๋ฅ˜์™€ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์‹œ์˜ค.
Subject์™€ Driver์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.
Single, Completable, Maybe์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , ์–ธ์ œ ์ ์šฉํ•˜๋ฉด ์ข‹์„์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.

ํ•˜๋…ธ ๋ฉด์ ‘ ์งˆ๋ฌธ

iOS

๋‹ต๋ณ€ ์งˆ๋ฌธ
Repository ํŒจํ„ด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์„ธ์š”.

Autolayout

๋‹ต๋ณ€ ์งˆ๋ฌธ
๋งํฌ IBDesignable๊ณผ IBInspectable์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์„ธ์š”.
Entry point์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์„ธ์š”.

Rx

๋‹ต๋ณ€ ์งˆ๋ฌธ
Rx 3์š”์†Œ์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์„ธ์š”.
Observable์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์„ธ์š”.

Network

๋‹ต๋ณ€ ์งˆ๋ฌธ
TCP ๋™์ž‘ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์„ธ์š”.
Observable์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์„ธ์š”.

Architecture

๋‹ต๋ณ€ ์งˆ๋ฌธ
๋งํฌ SOLID ์›์น™์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์„ธ์š”.
Clean Architecture ๊ทœ์น™์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์„ธ์š”.
inputโ€ขoutput ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์„ธ์š”.
translatesautoresizingmaskintoconstraints์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์„ธ์š”

About

๐Ÿง™ ์žฌ๋ฅด์‹œ ๋ฉด์ ‘์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€ ์ •๋ฆฌ Repository์ž…๋‹ˆ๋‹ค.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published