Clean Architecture Network Module

Clean Architecture ๊ธฐ๋ฐ˜ํ•˜์—ฌ๋„คํŠธ์›Œํฌ๋ฅผ ์ถ”์ƒํ™”, ๋ชจ๋“ˆํ™”ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค     Clean Architecture์—์„œ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ ˆ์ด์–ด๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค - Domain Layer: ์•ฑ์˜ ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๊ทœ์น™์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค- Data Layer: ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค(๋„คํŠธ์›Œํฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ)์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค- Presentation Layer: UI์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค  ์ด์ค‘์—์„œ network ๋กœ์ง์€ Data Layer์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.    ๋จผ์ € ๋„คํŠธ์›Œํฌ ์„ธ์…˜์˜ ๋™์ž‘ ๊ตฌํ˜„ํ•˜๋Š” URLSessionWrapper๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.import Foundationpublic protocol SessionProtocol { func ..

iOS & swift 2024. 12. 22. 21:40
iOS ์–ดํ”Œ - ์ง‘์ค‘ ํƒ€์ด๋จธ

์ง‘์ค‘ ํƒ€์ด๋จธ ์ง๊ด€์ ์ธ ํƒ€์ด๋จธ๋กœ ์ง‘์ค‘๋ ฅ์„ ๋†’์—ฌ๋ณด์„ธ์š”.๋‹ฌ๋ ฅ์— ๊ธฐ๋กํ•˜๊ณ , ์–ผ๋งˆ๋‚˜ ์ง‘์ค‘ํ–ˆ๋Š”์ง€ ๋˜๋Œ์•„๋ณด์„ธ์š”.  https://apps.apple.com/kr/app/id6605927206 ‎์ง‘์ค‘ ํƒ€์ด๋จธ‎์ง‘์ค‘ ํƒ€์ด๋จธ๋Š” ์ง‘์ค‘๋ ฅ์„ ๋†’์ด๊ณ  ์‹œ๊ฐ„ ๊ด€๋ฆฌ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๋Š” ํ˜์‹ ์ ์ธ ํƒ€์ด๋จธ ์–ดํ”Œ์ž…๋‹ˆ๋‹ค. ๋…์ฐฝ์ ์ธ ์›ํ˜• ํƒ€์ด๋จธ ๋””์ž์ธ์„ ํ†ตํ•ด ์‰ฝ๊ณ  ์ง๊ด€์ ์œผ๋กœ ์‹œ๊ฐ„์„ ์„ค์ •ํ•˜๊ณ , ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆapps.apple.com     1. ์ง๊ด€์ ์ธ UI๋กœ ์ง‘์ค‘๋ ฅ์„ ๋†’์—ฌ๋ณด์„ธ์š”    2. ์ง‘์ค‘ํ•œ ์‹œ๊ฐ„๋“ค์„ ํ•œ๋ˆˆ์— ์‚ดํŽด๋ณด์„ธ์š”    3. ํ•„์š”์— ๋งž๊ฒŒ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ ํ•ด๋ณด์„ธ์š”     ์ง‘์ค‘ ํƒ€์ด๋จธ๋Š” ์ง‘์ค‘๋ ฅ์„ ๋†’์ด๊ณ  ์‹œ๊ฐ„ ๊ด€๋ฆฌ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ฃผ๋Š” ํ˜์‹ ์ ์ธ ํƒ€์ด๋จธ ์–ดํ”Œ์ž…๋‹ˆ๋‹ค. ๋…์ฐฝ์ ์ธ ์›ํ˜• ํƒ€์ด๋จธ ๋””์ž์ธ์„ ํ†ตํ•ด ์‰ฝ๊ณ  ์ง๊ด€์ ์œผ๋กœ ์‹œ๊ฐ„์„ ์„ค์ •ํ•˜๊ณ ..

iOS & swift 2024. 8. 4. 19:14
iOS ์•ฑ ๊ฐ•์ œ ์—…๋ฐ์ดํŠธ ์š”๊ตฌํ•˜๊ธฐ

์–ดํ”Œ์„ ์‹คํ–‰ํ• ๋•Œ ํŠน์ • ๋ฒ„์ „๋ณด๋‹ค ๋‚ฎ์„ ๊ฒฝ์šฐ์—…๋ฐ์ดํŠธ๋ฅผ ๊ฐ•์ œ๋กœ ์š”๊ตฌํ•˜๋ฉฐ ์•ฑ์Šคํ† ์–ด๋กœ ํŽ˜์ด์ง€๋ฅผ ๋„์šฐ๋„๋ก ํ•˜๋Š” ์ž‘์—… ๊ตฌํ˜„์ค‘ ์ƒ๊ธด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ๋ฒ„์ „์„ String ๋ฌธ์ž์—ด์˜ ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ์ž‘์—…์„ ํ†ตํ•ด ์–ดํ”Œ ์ตœ์†Œ ๋ฒ„์ „ ๋ณด๋‹ค ๋†’์€์ง€ ํŒ๋‹จํ•˜์˜€์Šต๋‹ˆ๋‹ค.  ๋งŒ์•ฝ ํ˜„์žฌ ์–ดํ”Œ ๋ฒ„์ „์ด 1.0.9์–ดํ”Œ ์ตœ์†Œ ๋ฒ„์ „ 1.0.6 ์ผ ๊ฒฝ์šฐ   "1.0.9" > "1.0.6" // true์ด๋Ÿฌ๋ฉด ํ˜„์žฌ ๋ฒ„์ „์ด ์–ดํ”Œ ์ตœ์†Œ๋ฒ„์ „ ๋ณด๋‹ค ๋†’๋‹ค๊ณ  ํŒ๋‹จ๋˜์–ด ์—…๋ฐ์ดํŠธ ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.  ํ•˜์ง€๋งŒ ๋งŒ์•ฝ ํ˜„์žฌ ์–ดํ”Œ ๋ฒ„์ „์ด "1.0.10" ์ผ ๊ฒฝ์šฐ"1.0.10" > "1.0.6" // false  ์ด๋Ÿฐ์‹์œผ๋กœ false ๊ฐ€ ๋˜๋ฏ€๋กœ ์•ฑ์Šคํ† ์–ด๋กœ ์—ฐ๊ฒฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ'Compare' ๋ผ๋Š” String ๋‚ด๋ถ€์˜ method๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ..

iOS & swift 2024. 4. 26. 16:58
๊ฐ์ • ์ผ๊ธฐ iOS ์–ดํ”Œ - ๋งˆ์Œ๋ณด๊ธฐ

์–ดํ”Œ '๋งˆ์Œ๋ณด๊ธฐ' ์ž…๋‹ˆ๋‹ค ์ผ๊ธฐ๋ฅผ ์“ฐ๋ฉด์„œ ์˜ค๋Š˜ ํ•˜๋ฃจ ๋‚ด ๋งˆ์Œ์„ ๋“ค์—ฌ๋‹ค ๋ณด์„ธ์š” ๐Ÿ™Œ           - ์˜ค๋Š˜ ๊ฐ์ •์— ์ด๋ฆ„ ๋ถ™์ด๊ธฐ116๊ฐœ์˜ ๊ฐ์ •์–ด๋ฅผ ํ†ตํ•ด ๋‚ด ๋งˆ์Œ์„ ๋“ค์—ฌ๋‹ค ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค- ๊ฐ์ •์–ด๋กœ ๊ธฐ๋กํ•˜๋Š” ํ•˜๋ฃจ์˜ค๋Š˜์˜ ๊ฐ์ •์œผ๋กœ ํ•˜๋ฃจ๋ฅผ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค- ์บ˜๋ฆฐ๋”๋กœ ๋ชจ์•„๋ณด๋Š” ๋งˆ์Œ (์บ˜๋ฆฐ๋”)๋งค๋‹ฌ ๋‚ด ๋งˆ์Œ์€ ์–ด๋• ๋Š”์ง€ ์บ˜๋ฆฐ๋”๋กœ ๋ชจ์•„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค- ์ง€๋‚œ ๋งˆ์Œ ์‚ดํŽด๋ณด๊ธฐ (ํ†ต๊ณ„)๊ฐ์ • ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด ์ง€๋‚œ ๋งˆ์Œ์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค   ์•ฑ์Šคํ† ์–ด ๋ฐ”๋กœ๊ฐ€๊ธฐ ‎๋งˆ์Œ๋ณด๊ธฐ‎๋งˆ์Œ๋ณด๊ธฐ์˜ ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ• ๊ฒŒ์š”. - ์˜ค๋Š˜ ๊ฐ์ •์— ์ด๋ฆ„ ๋ถ™์ด๊ธฐ 116๊ฐœ์˜ ๊ฐ์ •์–ด๋ฅผ ํ†ตํ•ด ๋‚ด ๋งˆ์Œ์„ ๋“ค์—ฌ๋‹ค๋ณด์•„์š”. - ๊ฐ์ •์–ด๋กœ ๊ธฐ๋กํ•˜๋Š” ํ•˜๋ฃจ ์˜ค๋Š˜์˜ ๊ฐ์ •์œผ๋กœ ํ•˜๋ฃจ๋ฅผ ๊ธฐ๋กํ•ด์š”. - ์บ˜๋ฆฐ๋”๋กœ ๋ชจ์•„๋ณด๋Š”apps.apple.com

iOS & swift 2023. 12. 14. 15:06