TIL_20180226 ~ 20180302
26 Feb 2018 | TIL2018.02.26
- ์ค๋๋ง์ ์ฝ๋์ค์ฟผ๋์๊ฐ์ ๊ฐ์ ๋ค์๋ค!
- 2์์ ํผ์ ๊ณต๋ถํ๋ฉด์ ๋๋ง ์ฌ๋ผํ์ ๋น ์ง๊ฒ๊ฐ๊ณ ์ฝ๋๋ฆฌ๋ทฐ ์์ด ๋ฏธ์ ์ ์งํํ๋๊ฒ ๋๋ง ์ด๋ ค์ด๊ฑฐ๊ฐ๊ณ ๋๋ง ๊ณต๋ถ์ํ๋๊ฒ๊ฐ๊ณ ๋ํผ๋์ ์๊ธฐ๊ฐ ํ๋ฒ ์์ด์, (์ผ๋ถ๋ฌ)๊ณต๋ถ๊ณํ์ ๋ ๋ณต์ต์ ์น์คํ๋๊ฑธ๋ก ์์ ํด์ ์งํํ๋ค. ์ด๋ฐ์ ๋ฐ ์ด์ ๋ก ๋ง์ด ์์ ๊ฐ์ด ์ ํ๋์ด์์๋๋ฐ ์ค๋ ๋ฉค๋ฒ๋ค์ ๋ง๋์ ์๊ธธ ๋ค์ด๋ณด๋ ๋๋ง ๊ทธ๋ฐ๊ฒ ์๋๊ฒ ๊ฐ์์ ๋ญ๊ฐ ๋์ง๊ฐ์ ๋๊ผ๋ค๊ณ ํด์ผํ๋โฆ ์์ผ๋ก๋ง ๋ ์ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค๋ ์์ ๊ฐ์ ์กฐ๊ธ ์ป์ ๊ฒ ๊ฐ๋ค.
- ํ๋กํ ํ์ ๊ฐ์ : UX์ ๋ํด ๊ฐ๋ฐ์๋ก์ ์๊ฐํด์ผ ํ ๊ฒ๋ค, ์ฃผ์ํด์ผํ ๊ฒ๋ค์ ๋ํด ๋ฐฐ์ ๋ค. ๋์์ด๋์ ์กฐ์จํ๊ณ ๊ณต์ ํด์ผ ํ ๊ฒ๋ค ๋ถํฐ ์ฌ์ฉ์๋ฅผ ์ํด์ ๊ฐ๋ฐ์๋ ์ด๋ค ๋ทฐ๋ฅผ ์ง๋๊ณ ์์ด์ผํ๋์ง ๊น๊ฒ ๊ณ ๋ฏผํด๋ด์ผ ํ ๊ฒ ๊ฐ๋ค. ๊ทธ ๋ทฐ๊ฐ ์๋ชป๋๋ฉด ์ฌ์ฉ์์ ๋์ฆ์๋ ์ ํ ๋ฐ๋๋ ์ฑ์ด ๋ง๋ค์ด์ง ์ ์๋ค.
2018.02.27
- ์๊ณ ๋ฆฌ์ฆ
- ํฌ๋ก์ฝ๋ฉ chapter6 ๋๋น์ฐ์ ํ์
- ํค์๋ : ๊ทธ๋ํ, ์ ์ (node), ๊ฐ์ (edge), ํ,
- ํฌ๋ก์ฝ๋ฉ chapter6 ๋๋น์ฐ์ ํ์
-
์งํฌ ๋ธ๋ก๊ทธ ๋ฆฌํ์งํ ๋ฆฌ์ gitignore์ ์ฉ : ์์ง ๋ฏธ์์ฑ๋ ํฌ์คํธ๋ ์๋์ผ๋ก ์ปค๋ฐ๋์ง ์๋๋ก ๋ง๋ค์๋ค! ๋๋ฌด ํธํ๊ณ ์ข๋ค. ์ญ์ ๊ธฐ์ ์ด๋โฆ!
- ๊นํ ์ ์ ๋ค์๋ณ๊ฒฝ
- Apple ID ๋ณ๊ฒฝํ๊ธฐ
2018.02.28
- ์๊ณ ๋ฆฌ์ฆ
- ํด์ปค๋ญํฌ: Apple and Orange, Kangaroo(๋ญ๊ฐ ๋๊ฒ ์ด๋ ต๊ฒ ์ ๊ทผํ๋๋ฐ ์์ธ๋ก ๊ฐ๋จํ๊ฒ ํธ๋ ๋ฌธ์ ์๋๊ฒโฆ)
- ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ ์ต๋ํ ๊ฐ๋จํ๊ฒ ๋ฌธ์ ๋ฅผ ํธ๋ ์ต์๋จ์๋ฅผ ์ฐพ์์ ์ ๊ทผํด์ผํ ๊ฒ ๊ฐ๋ค.
- ์ค์ํํธ์์์ Queue ๊ณต๋ถ.
- ๊นํ ์ ์ ์์ด๋ ๋ณ๊ฒฝ: ๋ญ๊ฐ ์๋ฏธ์๋ ์์ด๋๋ก ๋ณ๊ฒฝํ๊ณ ์ถ์๋๋ฐ, iOS๊ฐ๋ฐ์๋ผ๋ ๋งฅ๋ฝ์์ ์๋ก ์ง์ ์ ์ ๋ค์์ ๋ฐ๊ฟจ๋ค. github์์์ ๋ณ๊ฒฝํ๊ณ ๋ก์ปฌ์์ remote ์ค์ ์ ๋ณ๊ฒฝํด์ฃผ๋ฉด๋๋ค. ์๊ฐ๋ณด๋ค ์์ฒญ ๊ฐ๋จํ๋ค!
- ๋ณ๊ฒฝํ๊ณ ์งํฌ ๋ธ๋ก๊ทธ๋ ๋ฆฌ๋ชจํธ ์ ์ฅ์ ์ด๋ฆ๋ง ์๋ก์ด ์ ์ ์์ด๋๋ก ๋ฐ๊ฟ์คฌ๋๋ ์ ์ ์๋์๋ค.
- ์ค์ํํธ
- if๋ฌธ์์์ range๋ฅผ ์ฒดํฌํ ๋ ์ธ ์ ์๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค.
~=
ํจ์๋ฅผ ์ฌ์ฉ! ```swift // source // To check if a number is between a range, donโt do if number >=0 && number <= 100 {
} // Use range and news operators instead : if 0โฆ100 ~= number {
}
```swift
// Queue ์ฝ๋์์ ์ดํด ์๊ฐ๋ ๋ถ๋ถ ์ ๋ฆฌ
public mutating func dequeue() -> T? {
guard head < array.count, let element = array[head] else { return nil } // element๋ ์ด๋ฏธ array[head]์ ๊ฐ์ผ๋ก ๋ณต์ฌ๋จ
array[head] = nil // ์ ์ฝ๋์ element์๋ ๋ค๋ฆ. element๋ฅผ ์ง์์ผ ํ๋๊น ๊ฐ์ ์๋ฆฌ(head์๋ฆฌ)์ nil ๋ฃ์ด์ค
head += 1 // head๋ ํ ์นธ ๋ค๋ก ์์ง์
let percentage = Double(head)/Double(array.count)
if array.count > 50 && percentage > 0.25 { // ํ์ ์๋ถ๋ถ์ ๋น nil๊ฐ์ด ๊ธฐ์ค ์ด์์ผ ๊ฒฝ์ฐ ์ง์ฐ๋ ์กฐ๊ฑด ๋ฃ์ด์ค
array.removeFirst(head) // ์์์๋ถํฐ head๊น์ง ์๋ nil์ ์ง์ฐ๊ณ
head = 0 // head๋ฅผ ๋ค์ array์ ๋งจ ์ฒ์ ์ธ๋ฑ์ค๋ก ๋ฐ๊ฟ์ค
}
return element // guard let ๋ถ๋ถ์์ ํ์ฌ head์์น์ ๋ณต์ฌ๋๋ ๋ฐธ๋ฅ ๋ฆฌํด
}
2018.03.01
- ์ค๋๋ง์ ์ํ๊ธฐ๋ฏธ์ ์ผ๋ก ๋ณต๊ท.
- ์ค๋ ์์
์ผ๋ก ์ํ๊ธฐ ๊ธฐ๋ณธ ๋์์ ๋ค ๋์๊ฐ๋๋ก ๋ง๋ฆ. ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์๋ด์ผ ์ ๊ฒ ๊ฐ๋ค.
- addItem์ด ์๋ํ์ง ์๋ ๊ฒ ๊ณ ์นจ (์๋ฑํ ๋ฒํธ์ item์ด ์ ๊ฑฐ๋๋ ํ์์ด ์์์)
- ์๊ณ ๋ณด๋ ๋์
๋๋ฆฌ์์๋ ํด๋น key์ value์ ํ์ ์ด๋ ์ด์์ ํ๋๋๋ก append๊ฐ ๋์ง ์์์ ์๊ธฐ๋ ๋ฌธ์ ์๋ค. ์๋ก์ด array๋ฅผ ๋ณต์ฌํด์ ๊ทธ ๊ฐ์ผ๋ก replaceํด์ค์ผ ํด๊ฒฐ์ด ๊ฐ๋ฅํ ๋ฌธ์ ์๋ค. (์ฐธ๊ณ ๋งํฌ)
if var arr = dict["key"] { arr.append(4) dict["key"] = arr }
2018.03.02
- ๋ ๋ฒจ3 ๊ณผ์ ์์ต.
- ์๋ก ํ๋ฆฌ๊ฐ์ค์ iOSํ๋ก๊ทธ๋๋ฐ chapter1 ๊ณต๋ถ! ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฃผ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ง ๋ง์ ธ๋ด์ ์ด๋ ต์ง ์์์ง๋ง ๋งค์ฐ ๋ฟ๋ฏ๋ฟ. ๋๋์ด ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ผ๊ณ ์ฑ์ ๋ง์ง๋ ๋๋์ด ๋ฌ๋ค.
- ๋๋ฌด ์ฒซ๋ ๋ถํฐ ์๋ฃ์ฐพ๊ณ ์ฑ ๋ถ๋ค๊ณ ์๋ ์๊ฐ์ด ๋ง์ ๊ฒ ๊ฐ์ ๋ฏธ๋ฆฌ ์ข ์ฐพ์๋ณด๊ณ ์๋ก์ด xcodeํ๋ฉด์ ์ ์ํด๋ณด๋ ค๊ณ ์์ตํจ