1. ์ฌ์ฉ์์๊ฒ ๋ธ๋๋ฉ ๋์์ธ(UI)์ ์ดํํ๊ธฐ ๋ณด๋ค๋ ๋ณด๋ค๋ ์ข์ UX๋ฅผ ์ ๊ณตํ๊ณ ๊ทธ๊ฒ ๊ณง ๋ธ๋๋ฉ์ด ๋จ (#7) 2. ํฐํธ๋ 2๊ฐ์ง๋ง ์ฌ์ฉ (ํ์ดํ์ฉ, ๋ณธ๋ฌธ์ฉ) 3. ๊ธ์ ํฌ๊ธฐ์ ๊ตต๊ธฐ๋ก ์ ๋ณด ์ฒด๊ณ ํํ (ํ์ง๋ง ํฌ๊ธฐ ์ข ๋ฅ๊ฐ 2~3๊ฐ์ง ๋์ง์๋๋ก) 4. ํด๋ฆฌ์คํฑ(์ผ์ ์ํ์ ๊ฒฝํ)์ด ์ ์ฉ๋ UI UX๋ฅผ ์ ๊ณต 5. ๊ฒ์ ์ ๋ ฅ ์ฐฝ์ ๋๋ณด๊ธฐ ๋ฒํผ๊ณผ ๊ฐ์ด ์จ์ผํจ(+ ํฐ์น ์ ํค๋ณด๋๊ฐ ์ฌ๋ผ์์ผํจ) 6. ์ฌ๋ผ์ด๋ UI๋ ์๋ํ ํ ์ ์๋ ๊ฐ์๋ง(e.g. ๋ณผ๋ฅจ, ๋ฐ๊ธฐ, ์ปฌ๋ฌ๋ฏน์ค) 7. ์ ํ ์ฌํญ์ด 2๊ฐ์ง๋ผ๋ฉด ๋ผ๋์ค ๋ฒํผ, ์ฌ๋ฌ ๊ฐ์ง์ผ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ํผ์ปค UI (์ฌ๋ฌ๊ฐ์ง ์ผ ๊ฒฝ์ฐ Filter ์ ๋ ฅ์ฐฝ์ ์ถ๊ฐํ๋ฉด ์ข์) 8. ๊ฐ๋ก ์คํฌ๋กค ์ง์, ์ธ๋ก ์คํฌ๋กค ์งํฅ 9. ์ธํผ๋ํฐ ์คํฌ๋กค์ ํผ๋์์๋ง (+ํ์ด์ง๋๋ฒ๋งํ๋ฉด์ข์)..
๊ณต๊ฐํค ์ํธํ์์๋ณด๊ธฐ์ ์์ ์๊ฒจ๋๊ฒ๋ ๋ฐ๋จ์ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ฐ๋จ- ๋น๋ฐ ์ฝ์๋ฅผ ์ฐ๊ณ ์ถ์ ๋น๋ฐ ์ฝ์๋ฅผ ์ฐ๋ ๋ฐฉ๋ฒ 2๊ฐ์ง 1. ๋น๋ฐ ๋ด์ฉ์ ์ฝ์์ ์ ์ด์ ๋ณด๋ -> ๋ด์ฉ์ด ์ ์ถ๋ ์ ์์ 2. ๋น๋ฐ ์ฝ๋๋ฅผ ์ฝ์์ ์ ์ด์ ๋ณด๋ (์ํธํ) -> ์์ ์๋ง ํด๋ ๊ฐ๋ฅ (๋ณตํธํ) - ์กฐ๊ฑด: ๊ณต์ ๋ ๋น๋ฐ์ฝ๋๊ฐ ์์ ๊ฒฝ์ฐ(๊ณต๊ฐ ํค) - ํค(key)๋: ๋ณตํธํ ํ ๋ ์ฌ์ฉ๋๋ ์ซ์ (์ด์ ๋ก ๋ฌธ์ ๋ฐ๋ ๊ฒ๊ณผ ๊ฐ์) ์ํธํ ๋ฐฉ์ 1. 128 ๋นํธ ์ํธํ -> 38์๋ฆฌ ์ซ์ํค๋ฅผ ์ด์ฉํจ 2. ๋ธ๋ก ์ํธ -> ๋ฉ์ธ์ง๋ฅผ 10~15์ ๋จ์ ๋ธ๋ก์ผ๋ก ํค๋ ์์ด ์ํธํ -> ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๋ธ๋ก ์ํธ๋ AES -> 16์ ๋ธ๋ก์ 128๋นํธ ํค์ ํจ๊ป 10์ฐจ๋ก ํผํฉํ์ฌ ์ํธํ ..
๋ณตํฉํจํด - ์ฌ๋ฌ ํจํด์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ ๋ณตํฉ ํจํด ์์ - ์ค๋ฆฌ ์๋ฎฌ๋ ์ด์ ๊ฒ์ 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๋ผ๋ ํจ์๊ฐ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ์์ํฉ๋๋ค ์ด๋ ๊ฒ ์์ฑํ ๊ฒฝ์ฐ ๋๋ ์, ๋ ์ง ๋ชปํ๋ ์ ๋ชจ๋ ๋..
Git ์ค์ ํ๊ธฐ - ๊น ์ค์ ํ๋ ๋ฐฉ๋ฒ git config $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com ๊น ์ค์ ๋ฒ์ 3๊ฐ์ง 1. ์์คํ - ๋ชจ๋ ์ฌ์ฉ์, ์ ์ฅ์์ ์ ์ฉ๋๋ ๋ฒ์(/etc/gitconfig) 2. ์ ์ญ(global) - ์ฌ์ฉ์์๊ฒ๋ง ์ค์ ๋๋ ๋ฒ์(~/.gitconfig) 3. ์ง์ญ(local) - ํ์ฌ ์์ ์ค์ธ ๋๋ ํ ๋ฆฌ (.git/config) ํ์์์ 1. ์์คํ 2. ์ ์ญ 3. ์ง์ญ ์ค๋ณต๋ ๊ฒฝ์ฐ ์ง์ญ์ ์ค์ ๋ ์ค์ ๊ฐ์ ๋ถ๋ฌ์ด. ํด๋ผ์ด์ธํธ ์ค์ $ man git-config git ๋ฒ์ ๋ง๋ค ์ต์ ์ด ๋ค๋ฅธ๋ฐ, ์ค์นํ ๋ฒ์ ์์ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ์ต์ ์ ๋ณด์ฌ์ค. git..
์์๊ฐ ๋ด์ฉ 1. VCS๊ฐ ๋ฌด์์ธ์ง 2. Git ์ด๋ผ๋๊ฒ ๋ฌด์์ธ์ง 3. Git ํ์ ๋ฐฐ๊ฒฝ, ์ฌ์ฉ ์ด์ 4. Git vs VCS VCS (Version Control System) ์ด๋? - ํ์ผ ๋ณํ๋ฅผ ์๊ฐ์ ๋ฐ๋ผ ๊ธฐ๋กํ๋ค๊ฐ ํน์ ์์ ์ ๋ฒ์ ์ ๊ฐ์ ธ์ฌ ์ ์๋ ์์คํ ์ด๋ค. e.g. ํฌํ ์ต ํธ์ง ํ์คํ ๋ฆฌ ๋ก์ปฌ ๋ฒ์ ๊ด๋ฆฌ ์ต์ข ๋ณธ_2023_10_09_01.psd ์ต์ข ๋ณธ_2023_10_09_02.psd ์ต์ข ๋ณธ_2023_10_10_01.psd ์ด๋ฐ์์ผ๋ก ๋ฒ์ ๊ด๋ฆฌํ ์๋ ์์ง๋ง ๋จ์ - ์๋ชป ๋ณต์ฌํ๋ค๊ฑฐ๋ - ๋๋ ํ ๋ฆฌ๊ฐ ์ง์์ง๋ค๊ฑฐ๋ - ์๋ชป ์ ์ฅํ๋ค๊ฑฐ๋ (๊ทธ๋์ ๋์จ๊ฒ) RCS (Revision Control System) - ๋ก์ปฌ ๋ฒ์ ๊ด๋ฆฌ ์์คํ - ๋ณ๊ฒฝ๋๋ ๋ถ๋ถ(Patch Set)์ ๋ก์ปฌ DB์ ์ ์ฅํ๊ณ , ํด..
"์ฐ๋ฆฌ ๋ชจ๋๋ฅผ ํฉ์น ๊ฒ๋ณด๋ค ๋ ํ๋ช ํ ์ฌ๋์ ์๋ค." - Ken Blanchard ์์ ์ฅ์์ ๊ฐ๋ณ์ ์ธ ๊ฐ์ฒด์ ํ๋,์ํ์ ๋ํด ์ดํด๋ดค๋ค๋ฉด, ์ด๋ฒ ์ฅ์ ๊ฐ์ฒด๋ค ๊ฐ์ ํ๋ ฅ์ ๋ํด ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. 1. ํ๋ ฅ A๋ผ๋ ์ฌ๋์ด B์๊ฒ ๋์์ ์์ฒญํ๋ค. B๋ผ๋ ์ฌ๋๋ ๋ค๋ฅธ์ฌ๋์๊ฒ ๋์์ ์์ฒญํ๋ค. Aํจ์๊ฐ ํ ์ ์๋ ์ผ์ด ์๊ณ Bํจ์๊ฐ ํ ์ ์๋ ์ผ์ด ์์. ์์ฒญ(๋์)์ ์ฐ์์ ์ผ๋ก ์์ฒญํ๊ฒ ๋๋ค. ์ฑ ์์ ๋น์ ํ ์ด์ผ๊ธฐ๋ฅผ ์์๋ก ํ๋ ฅ์ ํน์ฑ์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ด์ํ๋๋ผ์ ์จ๋ฆฌ์ค ์ด์ผ๊ธฐ ์ ์ฌํ์ ๊ฐ์ฒด์งํฅ ๊ด์ ์์ ๋ดค์๋ ์, ํ์ํ ๋ผ, ๋ชจ์ ์ฅ์ - ๊ฐ์ฒด์ด๋ฉฐ ํํธ ์ญ์ ์ฌํํ๊ธฐ ์ํด ํ๋ ฅ์ค์ด๋ผ๊ณ ๋ณผ ์ ์์. 1. ๋๊ตฐ๊ฐ๊ฐ ์์๊ฒ ์ฌํ์ ์์ฒญ 2. ์์ด ํ์ ํ ๋ผ์๊ฒ ์ฆ์ธ์ ์์ฒญ 3. ํ ๋ผ๋ ๋ชจ์์ฅ์์๊ฒ ์ฆ..
Java Framework JUnit์ ํ ์คํธ ์ฝ๋ ๊ตฌ์กฐ ๋ถ์์ ํตํ์ฌ ํ ์คํธ ์ฝ๋๋ฅผ ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๊ฐ๋ ์ฅ์ ๋๋ค. 1. ์ ๋์ด f๋ฅผ ์ ๊ฑฐํ๋ฉด ๊น๋ํจ 1. private int fContextLength; private String fExpected; private String fActual; private int fPrefix; private int fSuffix; 2. private int contextLength; private String expected; private String actual; private int prefix; private int suffix; 2. ์กฐ๊ฑด๋ฌธ์ ์บก์ํํ๋ฉด ์ข์ 1. public String compact(String message) { if (expe..
- Total
- Today
- Yesterday
- xcode code snippet
- ios ๊ฐ์ update
- xcode mark ํ
- swift line spacing extension
- swift uilabel ํ๊ฐ
- xcode ํจ์ ์ ๊ธฐ
- swift textview ์๊ฐ
- swift line spacing
- swift ๋ถ๋ชจ๋ทฐ ์ธ๋ถ์์ญ ํฐ์น
- swift ์๊ฐ Extension
- swift code snippet
- swift textview ํ๊ฐ
- fast build xcode
- xcode code ๋จ์ถ
- reduce xcode build time
- swift fast build
- swift touch outside parentView
- ios ์ฑ ์ ๋ฐ์ดํธ
- swift ํ๊ฐ
- swift uilabel ์๊ฐ
- swift ์ฑ ์ ๋ฐ์ดํธ
- xcode ํ๋ฒ์ ์ฌ๋ฌ์ค ํธ์ง
- xcode ๋จ์ถํค ๊ฟํ
- xcode ์ฌ๋ฌ์ค ํธ์ง
- swift ํ๊ฐ extension
- xcode ui code ์ง์ ๋ถ
- swift ์๊ฐ
- xcode ํจ์ ํ๋ฒ์ ์ ๊ธฐ
- swift ๊ฐ์ ์ ๋ฐ์ดํธ
- xcode ui code dirty
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |