๊ณต๊ฐํค ์ํธํ์์๋ณด๊ธฐ์ ์์ ์๊ฒจ๋๊ฒ๋ ๋ฐ๋จ์ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ฐ๋จ- ๋น๋ฐ ์ฝ์๋ฅผ ์ฐ๊ณ ์ถ์ ๋น๋ฐ ์ฝ์๋ฅผ ์ฐ๋ ๋ฐฉ๋ฒ 2๊ฐ์ง 1. ๋น๋ฐ ๋ด์ฉ์ ์ฝ์์ ์ ์ด์ ๋ณด๋ -> ๋ด์ฉ์ด ์ ์ถ๋ ์ ์์ 2. ๋น๋ฐ ์ฝ๋๋ฅผ ์ฝ์์ ์ ์ด์ ๋ณด๋ (์ํธํ) -> ์์ ์๋ง ํด๋ ๊ฐ๋ฅ (๋ณตํธํ) - ์กฐ๊ฑด: ๊ณต์ ๋ ๋น๋ฐ์ฝ๋๊ฐ ์์ ๊ฒฝ์ฐ(๊ณต๊ฐ ํค) - ํค(key)๋: ๋ณตํธํ ํ ๋ ์ฌ์ฉ๋๋ ์ซ์ (์ด์ ๋ก ๋ฌธ์ ๋ฐ๋ ๊ฒ๊ณผ ๊ฐ์) ์ํธํ ๋ฐฉ์ 1. 128 ๋นํธ ์ํธํ -> 38์๋ฆฌ ์ซ์ํค๋ฅผ ์ด์ฉํจ 2. ๋ธ๋ก ์ํธ -> ๋ฉ์ธ์ง๋ฅผ 10~15์ ๋จ์ ๋ธ๋ก์ผ๋ก ํค๋ ์์ด ์ํธํ -> ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋ธ๋ก ์ํธ๋ AES -> 16์ ๋ธ๋ก์ 128๋นํธ ํค์ ํจ๊ป 10์ฐจ๋ก ํผํฉํ์ฌ ์ํธํ ..
์ดํ์ ์คํํ ๋ ํน์ ๋ฒ์ ๋ณด๋ค ๋ฎ์ ๊ฒฝ์ฐ์ ๋ฐ์ดํธ๋ฅผ ๊ฐ์ ๋ก ์๊ตฌํ๋ฉฐ ์ฑ์คํ ์ด๋ก ํ์ด์ง๋ฅผ ๋์ฐ๋๋ก ํ๋ ์์ ๊ตฌํ์ค ์๊ธด ๋ฌธ์ ์ ๋๋ค. ์ฒ์์ ๋ฒ์ ์ 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๋ฅผ ์ฌ์ฉํ ์ ..
๋ณตํฉํจํด - ์ฌ๋ฌ ํจํด์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ ๋ณตํฉ ํจํด ์์ - ์ค๋ฆฌ ์๋ฎฌ๋ ์ด์ ๊ฒ์ public interface Quackable { public void quack(); } public class MallardDuck implements Quackable { public void quack() { System.out.println("๊ฝฅ๊ฝฅ"); } } public class DuckCall implements Quackable { public void quack() { System.out.println("๊ฝ๊ฝ"); } } public class DuckSimulator { public static void main(String[] args) { DuckSimulator simulator = new Du..
ํ ํ๋ฆฟ ๋ฉ์๋ ํจํด - ์๊ฐ ์์ ์์ค์์ ์๊ณ ๋ฆฌ์ฆ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ ํ์ ํด๋์ค์์ ๊ตฌ์ฒด์ ์ธ ๋จ๊ณ๋ฅผ ๊ตฌํํ๋ ํจํด์ ๋๋ค. - ์ฅ์ ์ฝ๋ ์ค๋ณต์ ์ค์ด๊ณ ์ ์ฐ์ฑ์ ๋์ผ ์ ์๋ค. - ์์ class Coffee { func boilWater() { print("๋ฌผ ๋์ด๋ ์ค") } // ๊ณตํต func brew() { print("ํํฐ๋ฅผ ํตํด ์ปคํผ๋ฅผ ์ฐ๋ ค๋ด๋ ์ค") } func pourInCup() { print("์ปต์ ๋ฐ๋ฅด๋ ์ค") } // ๊ณตํต func addCondiments() { print("์คํ๊ณผ ์ฐ์ ๋ฅผ ์ถ๊ฐํ๋ ์ค") } } class Tea { func boilWater() { print("๋ฌผ ๋์ด๋ ์ค") } // ๊ณตํต func brew() { print("์ฐจ๋ฅผ ์ฐ๋ ค๋ด๋ ์ค") } func p..
ํผ์ ๊ฐ๊ฒ๋ฅผ ์ด์ํ๋ฉฐ ํฉํ ๋ฆฌ ํจํด์ ๋ํด ์์๊ฐ๋ณด๊ฒ ์ต๋๋ค. ๋จผ์ ํผ์๋ฅผ ์ฃผ๋ฌธ๋ฐ์ต๋๋ค. ์ฃผ๋ฌธ์ ๋ฐ์ผ๋ฉด ํผ์ ํ์ ์ ๊ฒฐ์ ํ๊ณ , ์ค๋นํ๊ณ ํฌ์ฅํ๊ณ ํผ์๋ฅผ ๋ฐํํ๋ ๊ณผ์ ์ ๋๋ค. protocol Pizza { var name: String { get } func prepare() func bake() func cut() func box() } class CheesePizza: Pizza { var name: String { return "Cheese Pizza" } func prepare() { print("Preparing \(name)") } func bake() { print("Baking \(name)") } func cut() { print("Cutting \(name)") } func box() { p..
๋์์ธ ์์น - ๋ฌ๋ผ์ง๋ ๋ถ๋ถ์ ๋ถ๋ฆฌ, ๋ฌ๋ผ์ง์ง ์๋ ๋ถ๋ถ์ ์บก์ํ ํ๋ค. ๊ตฌํ ์์ฃผ๊ฐ ์๋, ์ธํฐํ์ด์ค ์์ฃผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋ ์ ์ง๋ณด์ ํ๊ธฐ๊ฐ ์ฉ์ดํ๋ค. ์ธํฐํ์ด์ค์ ๊ตฌํํด์ผํ ๊ธฐ๋ฅ์ ์ ์ํ๊ณ ํด๋น ์ธํฐํ์ด์ค๋ฅผ ์ฑํํ๋ class์ ๊ฐ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค e.g. ์๋ฅผ ํ๋ก๊ทธ๋๋ฐํ๋ ค๊ณ ํฉ๋๋ค ์๋ ์ฌ๋ฌ ์ข ๋ฅ๊ฐ ์์ต๋๋ค. ์ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๊ฐ์ง์ ํ๋๋ฐ ๋ ์๋์๊ณ ๋ ์ง ๋ชปํ ์๋ ์์ต๋๋ค. ๋์์ธ ์์น์ ์ ์ฉํ์ฌ ์ธํฐํ์ด์ค ์์ฃผ์ ๊ตฌํ์ ํด๋ณด๊ฒ ์ต๋๋ค. ์ธํฐํ์ด์ค์๋ ๋ ๊ฐ์งํ๋ค๋ Fly ํจ์๊ฐ ์ ์๋์ด์๊ณ (์บก์ํ) ๋ ์์๋ class์ ๋ ์ง ๋ชปํ๋ class๋ก ๋ถ๋ฆฌํ์ฌ ๋ถ๋ฅํฉ๋๋ค ํด๋น class๋ ๋ชจ๋ Fly๋ผ๋ ํจ์๊ฐ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ์์ํฉ๋๋ค ์ด๋ ๊ฒ ์์ฑํ ๊ฒฝ์ฐ ๋๋ ์, ๋ ์ง ๋ชปํ๋ ์ ๋ชจ๋ ๋..
- Total
- Today
- Yesterday
- swift code snippet
- swift coordinator ๊ฐ๋
- xcode ํจ์ ํ๋ฒ์ ์ ๊ธฐ
- xcode ui code ์ง์ ๋ถ
- xcode ui code dirty
- swift uilabel ํ๊ฐ
- swift line spacing
- xcode ํ๋ฒ์ ์ฌ๋ฌ์ค ํธ์ง
- swift fast build
- swift ์๊ฐ Extension
- swift ์๊ฐ
- swift ํ๊ฐ
- swift line spacing extension
- xcode code ๋จ์ถ
- xcode ์ถ์ฒ ๋จ์ถํค
- swift touch outside parentView
- xcode ์ฌ๋ฌ์ค ํธ์ง
- swift ํ๊ฐ extension
- coordinator pattern์ด๋
- xcode code snippet
- fast build xcode
- swift textview ํ๊ฐ
- swift uilabel ์๊ฐ
- xcode mark ํ
- reduce xcode build time
- swift ๋ถ๋ชจ๋ทฐ ์ธ๋ถ์์ญ ํฐ์น
- xcode ํ์ ๋จ์ถํค
- xcode ํจ์ ์ ๊ธฐ
- xcode ๋จ์ถํค ๊ฟํ
- swift textview ์๊ฐ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |