๐ iOS/๐ ๊ฐ๋ 5 [Network] TLS/SSL ์ํธํ ํต์ ํ๋กํ ์ฝSSL(Secure Socket Layer) / TLS(Transport Layer Security)๋ ๋ชจ๋ ์น ๋ธ๋ผ์ฐ์ ์ ์น ์๋ฒ ๊ฐ ํต์ ์ ์ํธํํ๋ ํ๋กํ ์ฝ์ด๋ค. SSL์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ฌ์์ ๋ง๋ ํ๋กํ ์ฝ๋ก ์ธํฐ๋ท ๊ธฐ์ ํ์คํ ๋จ์ฒด์ธ IETF๊ฐ TLS๋ก ๋ค์ ์ค๊ณํ์ฌ ์ธํฐ๋ท ํ์ค์ผ๋ก ์ผ์๋ค.๐ ์ฅ์ ๊ธฐ๋ฐ์ฑ(์ํธํ) : ์๋ฒ์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๊ฐ ์ค๋ํ ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ : ํจํท ์ ๋ฌ ๊ณผ์ ์์ ๋ฐ์ดํฐ๊ฐ ์ 3์์ ์ํด์ ์ ์๋ก ๋ณ๊ฒฝ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.์๋ฒ ์ธ์ฆ : ์๋ฒ๊ฐ ์ ๋ขฐํ ์ ์๋ ์๋ฒ๋ผ๋ ๊ฒ์ ํ์ธํ๋ค.๐ ์ํธํTLS๋ ๋ณด์๊ณผ ์ฑ๋ฅ์์ ์ด์ ๋ก ๋ ๊ฐ์ง ์ํธํ ๋ฐฉ๋ฒ์ ํผ์ฉํด์ ์ฌ์ฉํ๋ค. ์ํธํ๋ฅผ ์ํด์๋ ํค๊ฐ ํ์ํ๋ค.์ด๋ ์ํธํ์ ๋ณตํธํ์ ์ฌ์ฉํ๋ ํค๋.. 2024. 10. 28. [ํจ๋ฌ๋ค์] ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์๋ ํ์ญ๋๊น, ๋ฏผํธ์ ๋๋ค. ๐ WWDC Swift Macro๋ฅผ ๋ณด๋ค ๋ณด๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํน์ง์ ๋ง์ด ์ด๋ฆฐ ๊ฒ ๊ฐ์์ ํ ๋ฒ ์ ๋ฆฌํด ๋ณด์์ต๋๋ค.์ํํธ์จ์ด๋ฅผ ๊ตฌ์ถํ๋ ํจ๋ฌ๋ค์์๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ, ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๋ฑ์ด ์์ต๋๋ค. ์ด๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ก๊ทธ๋จ์ ์ํ ๋ณ๊ฒฝ๊ณผ ๊ฐ๋ณ ๋ฐ์ดํฐ ์ฌ์ฉ์ ์ต์ํํ๊ณ , ์์ ํจ์์ ๋ถ๋ณ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์กฐํ๋ ํ๋ก๊ทธ๋๋ฐํ๋ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. ํ ๋ง๋๋ก ์ฌ์ด๋ ์ดํํธ๊ฐ ์๋ ๊ธฐ๋ฅ์ ๋ง๋๋ ๊ฒ์ ์ง์คํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์ด๊ณ , ๋ถ์์ฉ(Side Effect)์ ์ค์ด๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ฌ๋ฌ๊ฐ์ง ํน์ง๋ค์ ๋ํด์ ์ข ๋ ์์ธํ ์์๋ด ์๋ค.Random ํจ์๋ ์ ๋ ์์ํ ์ ์๋ค.์์ ํจ์๋ ๋ฌด์์ผ๊น์? ๋์ผํ Input์๋ ์ธ์ ๋ .. 2024. 10. 23. [iOS]Unit Test์ ์ฌ์ฉ ์ด๋ฒ ๊ณผ์ ๋ฅผ ์งํํ๋ฉด์ ๊ฐ์ฅ ํ์์ฑ์ ์ ์คํ ๋๊ผ๋ ๊ฒ์ด ๋ฐ๋ก ์ด test์๋ค. ์ฌ๊ธฐ๊น์ง๋ ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์, ์์ ํ๋ค๋ ๊ฒ์ ํ์ ํ๊ณ ๋ค์ ์ฝ๋๋ฅผ ์ง๊ณ ์ถ์ ๊ทธ ๋ง์..!! ๊ทธ๋ฐ๋ฐ ๋ง์นจ ํ๋ํ์ต์์ Unit Test์ TDD๊ฐ ๋์๊ธธ๋, ์ ๋ฆฌํด๋ณด์๋ค. Unit Test Unit Test๋ ๋ฉ์๋๋ณ ๊ธฐ๋ฅ์ด ์๋ํ ๋๋ก ๊ตฌํ๋์ด ์๋์ง ๊ฒ์ฆํ๋ ๊ฒ์ด๋ค. ์์ค ์ฝ๋์ ํน์ ๋ชจ๋์ด ์๋๋๋๋ก ์ ํํ ์๋ํ๋์ง ๊ฒ์ฆํ๋ ์ ์ฐจ๋ฅผ ํตํด ์์ฑํ ์ฝ๋์ ์์ ์ฑ์ ๋ถ์ฌํ๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ค Test๋ฅผ ์์ฑํด์ผ ํ ๊น? FIRST ์์น Fast ๋น ๋ฅด๊ฒ Independent / Isolated ๋ ๋ฆฝ์ ์ผ๋ก Repeatable ๋ฐ๋ณต ๊ฐ๋ฅํ Self-Validating ์ค์ค๋ก ๊ฒ์ฆํ๋ Timely ์ ์์ F. ํ ์คํธ๋ผ๋ ๋ชฉ์ ์ ๋ง.. 2024. 2. 5. [๋์์ธ ํจํด]Delegate Pattern delegate pattern์ ์ฃผ๋ก ํ๋ฉด์ ์ ํ์์ ์ฌ์ฉ๋๋ค. ํ๋ฉด์ ์ด๋ป๊ฒ ์ ํ๋ ๊น? 1๋ฒ ํ๋ฉด๊ณผ 2๋ฒ ํ๋ฉด์ด ์๋ค. ๋ค์ ๋งํด, 1๋ฒ view controller์ 2๋ฒ view controller๊ฐ ์๋ค. 1๋ฒ view controller์์ ๋ฒํผ์ ๋๋ฌ 2๋ฒ view controller๋ก ํ๋ฉด์ด ๋์ด๊ฐ ๋, 1๋ฒ ํ๋ฉด์ ๋จ์ํ ์ฌ๋ผ์ง๋ ๊ฒ์ด ์๋๋ค. 2๋ฒ ํ๋ฉด์ด 1๋ฒ ํ๋ฉด์ ์์ ์์ด๊ฒ ๋๋ ๊ฒ์ด๋ค. ์ด๋ 2๋ฒ ํ๋ฉด์ด ์๊ธฐ๋ฉด์ 2๋ฒ view conroller๋ ์ด๊ธฐํ๋์ด ์์ฑ๋๋ ๊ฒ์ผ๋ก 1๋ฒ view controller๋ก๋ถํฐ ์ ๋ณด๋ค์ ๋ฐ์์ค๊ฒ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ง์ผ 2๋ฒ ํ๋ฉด์์ ๋ค๋ก๊ฐ๊ธฐ ๋ฒํผ์ผ๋ก ๋ค์ 1๋ฒ ํ๋ฉด์ผ๋ก ๋์๊ฐ๊ฒ ๋๋ฉด ์ด๋ป๊ฒ ๋ ๊น? 1๋ฒ ํ๋ฉด์ด ๋์ค๋ฉด์ ์๋กญ๊ฒ 1๋ฒ view contro.. 2024. 1. 27. [๋์์ธ ํจํด]Observer Pattern ์ท๊ฐ๊ฒ์์ ์ผํ ๋ ์์๋ ์ผ์ด๋ค. ์ฐ๋ฆฌ๋ ๋ฌด์์์ ์ผ๋ก ํ ์ธ ํ์ฌ๋ฅผ ์ด์๋๋ฐ ํ์ด๋ฐ์ ๋์น ์๋๋ค์ด ํ๊ฒฐ๊ฐ์ด ํฌ๋๊ฑฐ๋ฆฌ๊ณ ๋ ํ๋ค. ํ ์ธ ํ ๋ ๋ฌธ์ ์ข ์ฃผ๋ฉด ์ข๊ฒ ๋ค๊ณ . ๋งค๋ฒ ๋ฉฐ์น ์ ๊น์ง ํ ์ธ ํ๋ค๋ ๊ฑธ ์๊ณ ๋๋ฉด ์์ํ๋ค๊ณ . ์ต์ ๋ฒ ํจํด์ ์ด๋ฌํ ์๋๋ค์ ์ํ ๋ฌธ์ ๋ฐ์ก๊ณผ ๊ฐ๋ค. “๊ด์ฐฐ์”๋ผ๋ ๋จ์ด๋ฅผ ๋ณด๋ฉด ํด๋น ์ด๋ฆํ๋ฅผ ๋ฌ๊ณ ์๋ ๊ฐ์ฒด๋ ์ด๋ ํ ์ญํ ์ ์ํํ ๊ฒ ๊ฐ์๊ฐ? ๋๊ตฐ๊ฐ๋ฅผ ๋ฉด๋ฐํ ์ง์ผ๋ณด๋ ์ญํ ์ ์๋๊น? ์ต์ ๋ฒ ํจํด์์๋ ์ด ์ต์ ๋ฒ์ ์๋ฏธ๊ฐ ์กฐ๊ธ ๋ค๋ฅด๋ค. ๋จ์ํ ์ง์ผ๋ณธ๋ค, ๋ณด๋ค๋ `์ฐ๋ฝ์ ๊ธฐ๋ค๋ฆฐ๋ค`๋ผ๋ ๊ฒ์ด ๋ ์ณ์ ํํ์ผ ๊ฒ์ด๋ค. ๋ง์น ์ท๊ฐ๊ฒ ํ ์ธ ํ์ฌ ๋ฌธ์๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์๋๊ณผ ๊ฐ๋ค. ์ท๊ฐ๊ฒ๋ฅผ ์ฃผ์ํ๊ณ , ๊ด์ฐฐํ์ง๋ง ๊ฒฐ๊ตญ ์ท๊ฐ๊ฒ์์ ๋ฌธ์๋ฅผ ๋ณด๋ด์ฃผ์ด์ผ ์๋์ ํ๋์ ๊ฒฐ์ ํ ์ ์๋ค. ์ท๊ฐ๊ฒ๋ฅผ ๋ค๋ฆด์ง, .. 2024. 1. 27. ์ด์ 1 ๋ค์