๋ชฉ๋กTotal (69)

suvera-dev ๐Ÿฅฆ

20230328 TIL

์•ˆ๋…•ํ•˜์„ธ์š” ์ˆ˜๋ฒ ๋ผ์ž…๋‹ˆ๋‹ค. ์˜ค๋žœ๋งŒ์— ํ‹ฐ์Šคํ† ๋ฆฌ๋ฅผ ์“ฐ๋ ค๋‹ˆ๊นŒ ์–ด์ƒ‰ํ•˜๋„ค์š” ! ํ‹ฐ์Šคํ† ๋ฆฌ๋Š” ๋ญ”๊ฐ€ ๊ธ€์„ ์™„์„ฑ๋„ ์žˆ๊ฒŒ ์ ์–ด์•ผ ํ•  ๊ฒƒ๋งŒ ๊ฐ™์•„์„œ ์กฐ๊ธˆ์”ฉ ๋ถ€๋‹ด์ด ๋Š๊ปด์ง€๋”๋ผ๊ตฌ์š”. ๊ฐœ์ธ์ ์ธ ์ด์•ผ๊ธฐ๋ฅผ ์ ๊ธฐ์—๋Š” ๋˜ ๋„ˆ๋ฌด ๊ณต๊ฐœ์ ์ธ ๊ณต๊ฐ„์ธ๋“ฏ ํ•ด์„œ ์ž ์‹œ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์„ ์ด์šฉํ•ด์™”์Šต๋‹ˆ๋‹ค. ๋…ธ์…˜, ๋ฒจ๋กœ๊ทธ, ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ, ๊นƒํ—ˆ๋ธŒ ๋“ฑ๋“ฑ ํ‹ฐ์Šคํ† ๋ฆฌ ๋นผ๊ณ  ๊ฑฐ์˜ ๋‹ค ์“ฐ๊ณ  ์žˆ๋„ค์š”. ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ํ•ด์•ผํ•  ๊ฒƒ๋“ค์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ ์ƒํ™ฉ ์ƒ ๋ˆ„๊ตฐ๊ฐ€ ์ฝ๊ธฐ ์ข‹์„๋งŒํ•œ ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์„ ์Ÿ์„ ์ˆ˜๊ฐ€ ์—†๋‹ค๊ณ  ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.. ! ์ •๋ฆฌํ•ด์„œ ์˜ฌ๋ฆฌ๊ธฐ๊นŒ์ง€ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ฆฌ๋Š” ํƒ€์ž…์ด๋ผ ๊ทธ ์‹œ๊ฐ„์— ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•œ ๋ฌธ์ œ๋ฅผ ๋” ํ’€์–ด์•ผ์ง€.. ๋ผ๋Š” ์ƒ๊ฐ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹ค๋ ฅ์ด๋‚˜ ๊ฐœ๋ฐœ ์‹ค๋ ฅ์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ์ƒ๊ฐ์— ๋งˆ์Œ์ด ๊ธ‰ํ•ด์ ธ์„œ.. ๊ทธ๋žฌ๋˜ ๊ฒƒ ๊ฐ™๋„ค์š”. ํ•˜์ง€๋งŒ ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด ํ•‘๊ณ„์ธ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๊ณ ,..

Private/TIL 2023. 3. 29. 02:34
iOS) Router pattern with Alamofire’s URLRequestConvertible protocol Tutorial ๋”ฐ๋ผํ•ด๋ณด๊ธฐ !

์•ˆ๋…•ํ•˜์„ธ์šฅ ! ์˜ค๋Š˜์€ Alamofire๋ผ๋Š” ์„œ๋ฒ„ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ URLRequestConvertible์ด๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ! ์˜ค์˜น ์ œ๋ฒ• ์–ด๋ ค์›Œ๋ณด์ด์ง€๋งŒ, ์š”๊ฑฐ๋ฅผ ์ฐพ๊ณ  ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ๋ฅผ ์„ค๋ช…ํ•ด๋ณด์ž๋ฉด.. ์ž‘๋…„์— ์ฒ˜์Œ์œผ๋กœ ์•Œ๋ผ๋ชจ๋กœ ์„œ๋ฒ„ํ†ต์‹ ์„ ํ•˜๊ณ  ๊ทธ ๋‹ค์Œ์— ํ•ฉ๋™์„ธ๋ฏธ๋‚˜์—์„œ๋Š” ์•Œ๋ผ๋ชจ๋ณด๋‹ค ๋” ์ถ”์ƒํ™”๋œ ๋ชจ์•ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Moya ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ •๋ง .. ํŽธํ–ˆ๊ณ  ๊ทธ๋ƒฅ ์ดํ•ด๋„ ๋ชปํ•˜๊ณ  ํ›„๋ฃจ๋ฃฉ ์ ์–ด๋„ ์„œ๋ฒ„ํ†ต์‹ ์ด ์ง  ~ ํ•˜๊ณ  ๋˜๋Š” ์นœ๊ตฌ์˜€์Šต๋‹ˆ๋‹ค.. ๋ฒ„๋ฆ‡์ด ์ž˜๋ชป๋“ค์–ด์ง„๊ฑฐ์ฃ .. ๊ทธ๋Ÿฐ๋ฐ ์•ฑ์žผ์—์„œ URLSession์„ ์“ฐ๊ฒŒ ๋˜์—ˆ๊ณ , ๊ทธ๋ ‡๊ฒŒ ์ €๋Š” ๋ถ€์…”์กŒ์Šต๋‹ˆ๋‹ค.. ์„œ๋ฒ„ํ†ต์‹ ์˜ ใ……์ž๋„ ๋ชจ๋ฅด๋Š” ๊ฐ์ž์˜€๊ธฐ ๋•Œ๋ฌธ... ๋’ค์ฃฝ๋ฐ•์ฃฝ ์„œ๋ฒ„ํ†ต์‹  ํ”Œ๋กœ์šฐ๊ฐ€ ์ •๋ฆฌ๊ฐ€ ์•ˆ๋˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ.. ๋‹ค์‹œ ์„ธ๋ฏธ๋‚˜๋ฅผ ๋“ค์œผ๋ฉด์„œ A..

iOS 2022. 5. 16. 11:33
Design Pattern) ๊ตฌ์กฐํŒจํ„ด #1 - Bridge Pattern

๊ตฌ์กฐํŒจํ„ด์ด๋ž€ ? ํด๋ž˜์Šค๋‚˜ ๊ฐ์ฒด๋ฅผ ์กฐํ•ฉํ•ด ๋” ํฐ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ํŒจํ„ด ์˜ˆ๋ฅผ ๋“ค์–ด ์„œ๋กœ ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง€๋‹Œ 2๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ๋ฌถ์–ด ๋‹จ์ผ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ๊ฐ์ฒด๋“ค์„ ์„œ๋กœ ๋ฌถ์–ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํŒจํ„ด ! ๊ตฌ์กฐํŒจํ„ด ํŠน์ง• ! - ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•œ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งˆ์น˜ ํ•˜๋‚˜์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. - ์—ฌ๋Ÿฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ•ฉ์„ฑํ•˜์—ฌ ์„œ๋กœ ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋“ค์˜ ํ†ต์ผ๋œ ์ถ”์ƒ์„ ์ œ๊ณตํ•œ๋‹ค. - ์ธํ„ฐํŽ˜์ด์Šค๋‚˜ ๊ตฌํ˜„์„ ๋ณตํ•ฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ์ฒด๋ฅผ ํ•ฉ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. ๊ตฌ์กฐํŒจํ„ด ์ข…๋ฅ˜ Bridge Decorator Facade Flyweight Proxy Composite Adaptor ์˜ค๋Š˜์€ ์œ„์˜ 7๊ฐ€์ง€ ์ค‘์—์„œ Bridge ํŒจํ„ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ! Bridge Pattern ๋ธŒ๋ฆฟ์ง€ ํŒจํ„ด์€ ๊ตฌํ˜„๋ถ€์—์„œ ์ถ”์ƒ์ธต..

iOS/Design Pattern 2022. 5. 12. 21:54
iOS) Compositional Layout

์•ˆ๋…•ํ•˜์„ธ์š” ์˜ค๋Š˜์€ CollectionView์˜ Compositional Layout์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Compositional Layout์€ CollectionView๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ์กฐ๊ธˆ ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋˜์—ˆ์„ ๋•Œ ์œ ๋™์ ์ธ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์นœ๊ตฌ์ž…๋‹ˆ๋‹ค ! WWDC19์—์„œ ์†Œ๊ฐœ๋˜์—ˆ๊ณ , iOS 13์ด์ƒ์—์„œ๋งŒ ์ง€์›ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์›๋ž˜ CollectionView์˜ ๋ ˆ์ด์•„์›ƒ์„ ์žก์„ ๋•Œ CollectionViewFlowLayout์ด๋ผ๋Š” ๊ฒƒ์„ ์ด์šฉํ–ˆ์—ˆ์ฃ  ! ํ‰์†Œ์— ๊ฐœ๋ฐœ์„ ํ• ๋•Œ ๋งˆ์ฃผ์น˜๋Š” .. ์•ฑ ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค์ž๋ฉด ์ „์ฒด๋กœ ์Šคํฌ๋กค๋˜๋Š” ํฐ TableView ์•ˆ์˜ Cell์— CollectionView๊ฐ€ ์ค‘์ฒฉ๋˜์–ด์žˆ๋Š” ๊ตฌ์กฐ๋ฅผ ๋งŽ์ด ๋ณด์…จ์„๊ฑฐ๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.. ์ €๋„ ํด๋ก ์ฝ”๋”ฉ์„ ํ•˜๋ฉด์„œ ์ด ๊ตฌ์กฐ๋ฅผ..

iOS 2022. 5. 9. 20:02