๐Ÿ’ป Develop

์ตœ๊ทผ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ API๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š”๋ฐ, ๋ฐฑ์—”๋“œ๋ถ„๊ป˜ ์งˆ๋ฌธํ•˜๊ธฐ ์ „์— ์ฝ”๋“œ๋ฅผ ํ•œ ๋ฒˆ ๊นŒ์„œ ํ™•์ธํ•ด๋ณด๊ณ  ์งˆ๋ฌธํ•˜๊ณค ํ–ˆ์—ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜๋Š” ๋ฐ DTO๋ž€ ๋‹จ์–ด๊ฐ€ ์ž๊พธ ๋ถ™์–ด์žˆ๊ธธ๋ž˜,, ๋ฌด์Šจ ์šฉ์–ด์ธ๊ฐ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค...! 1. DTO(Data Transfer Object) ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ๋ชฉ์ : ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ๊ฐ์ฒด. ์ฃผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํŠน์ง•: ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์ฒด ๋˜๋Š” ํด๋ž˜์Šค. ์ฃผ๋กœ ๋ฐ์ดํ„ฐ์˜ ์ „์†ก๊ณผ ์ €์žฅ์— ๊ด€๋ จ๋œ ํ•„๋“œ๋“ค์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ฐ€์ง€์ง€ ์•Š๊ณ , ์ฃผ๋กœ getter์™€ setter๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. (Swift์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์†์„ฑ์„ ์„ ์–ธํ•  ๋•Œ getter์™€ s..
์•„์นด๋ฐ๋ฏธ์—์„œ ํ”„๋กœ์ ํŠธํ•˜๋˜ ์ค‘ ํŒŒ์ผ ๋„ค์ด๋ฐ์— ๊ด€ํ•ด ๋…ผ์˜ํ–ˆ๋˜ ์ ์ด ์žˆ์—ˆ๋‹ค. ๊ทธ๋•Œ๋Š” ์šฐ๋ฆฌ(iOS๊ฐœ๋ฐœ์ž)๋ผ๋ฆฌ ์„œ๋กœ ํ•ฉ์˜๋งŒ ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ๋ง์ด ๋‚˜์™”์–ด์„œ, ๋ณ„๋‹ค๋ฅธ ๋ง์„ ๊บผ๋‚ด์ง€ ์•Š๊ณ  ์ง€๋‚˜๊ฐ”๋‹ค. ์ถ”ํ›„์— ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์–ด๋–ค ๋„ค์ด๋ฐ์ด ๋” ๋ณดํŽธ์ ์ผ์ง€ ๊ฒ€์ƒ‰ํ–ˆ๊ณ , ๋ธ”๋กœ๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋๋‹ค. ์ด๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. ์•Œ์•„๋ณด์ž ! ์„œ๋น„์Šค(Service) ๊ฐœ๋…: ์„œ๋น„์Šค ๋ ˆ์ด์–ด ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋‹ค์–‘ํ•œ ์ปจํŠธ๋กค๋Ÿฌ๋“ค์ด ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ: ํŠน์ • ํ”Œ๋žซํผ์ด๋‚˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ง€์‹์„ ๊ฐ€์ง€์ง€ ์•Š๊ณ , ์ผ๊ด€๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ๋“ค์ด ํ•„์š”๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ , ๋‹ค์–‘ํ•œ ๋ถ€๋ถ„์—์„œ ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์—ญํ• : ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌ..
๐Ÿ’ฌ CI (Continuous Integration) CI๋ž€ ์ง€์†์  ํ†ตํ•ฉ, ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๋ฒ„์ „๊ด€๋ฆฌ ํˆด์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์™€์„œ, Build์— ๋ฌธ์ œ๊ฐ€ ์—†๋Š”์ง€, Test๊ฐ€ ์ž˜ ์ž‘๋™๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. CI๋ฅผ ํ†ตํ•ด ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ชจ๋“ˆ ๋“ฑ์˜ ์ „๋ฐ˜์ ์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๋˜ํ•œ ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์„ ๋” ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฆด๋ฆฌ์ฆˆ ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ๊ณ , ์ฝ”๋“œ์˜ ์ถฉ๋Œ ์‹œ CI๋ฅผ ํ†ตํ•ด ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•ด ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. CI ์„œ๋น„์Šค - Jenkins - Bitrise - CircleCI ๐Ÿ’ฌ CD (Continuous Delivery/Continuous Deployment) ๋‘๊ฐ€์ง€ ๋ชจ๋‘ ํŒŒ์ดํ”„๋ผ์ธ์˜ ์ถ”๊ฐ€ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ์ž๋™ํ™”๋ฅผ ๋œปํ•˜๋ฉฐ, ๊ฐ๊ฐ ์ง€์†์  ์ œ..
JINiOS
'๐Ÿ’ป Develop' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก