TIL_20180102 ~ 20180105
02 Jan 2018 | TIL2018.01.02
TIL
- JSON step4 merge
- JSON step5 ์งํ
- JSON ํ๋ฆฐํธ ํํ ํ์ธ - JSONLint
- JSON ์ค์ฒฉ๋ฐฐ์ด๊ณผ ์ด๋ ์ด ํํ๋ฅผ ์ด๋์๋ถํฐ ๊ฐ์ ธ์์ผํ๋์ง ์ค๊ณ
2018.01.03 ~ 04
TIL
- JSON step5 PR
- ์ถ๋ ฅํ ๋ ๋์ค๋ optional ์ฒ๋ฆฌ : enum์ ์ฐ๊ด๊ฐ
- ์ฐ๊ด๊ฐ์ด ๋์ค๋๊ฑธ CustomStringConvertibleํด์ ์ฐ๊ด๊ฐ์ ๋ฆฌํดํ๊ฒ ๋ง๋ค๋ฉด String(describing:) ํด์ ์คํธ๋ง์ผ๋ก ๊ทธ ๊ฐ์ด ๋์ด์ด!
- JSON๋ฏธ์ ํ๋ฉด์ ์๋ก ์์๋ ๊ฐ๋ ๋ค, ์ฌ์ฉ๋ง ํ๊ณ ๋์ด๊ฐ๋ ๋ด์ฉ๋ค ์ ๋ฆฌ
- ๋์ ๋๋ฆฌ์ ๋ฐธ๋ฅ ๊ฐ์ ํญ์ ์ต์ ๋!
- github wiki ์ฌ์ฉ - ๋ฏธ์ , ํผ๋๋ฐฑ ๋ด์ฉ ์ ๋ฆฌ์ฉ
2018.01.05
TIL
- JSON step6 ํผ๋๋ฐฑ ์ฒ๋ฆฌ
try!
ํ๋ ๋ถ๋ถ ์๋ฌ/ํ๋ฆ์ ์ด ์ฒ๋ฆฌ : ํ์ผ ์์ ๋ด์ฉ์ด ๋ฌธ๋ฒ์ ๋ง์ง ์๊ฑฐ๋ ๋น ํ์ผ(๊ธ์จ๊ฐ ์๋ ํ์ผ)์ด๋ฉด GrammarChecker์์ ๊ฑธ๋ฌ์ ธ์ ํ๋ฆ ์ ์ด๊ฐ ๋ ์ค ์์๋๋ฐ, ํ์ผ์ด ์์๋์ ํ๋ฆ์ ์ด๊ฐ ๋ฌธ์ ์๋ค.- filepath๋ฅผ Bundle๊ณผ FileManager์์ ์ฝ์ด์ค๋๊ฒ ์ฐจ์ด - ๋ฒ๋ค๊ณผ ํ์ผ๋งค๋์ ์ ์ฐจ์ด
- ๊ฐ์ฒด์ ์์กด์ฑ (commandLine / askUserInput) : askUserInput() ํจ์์์ CommandLine๊ฐ์ฒด ๋ด์ ๋ฉ์๋๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ ๊ตฌ์กฐ๋ askUserInput์ ์ฌ์ฌ์ฉ ํ ์ ์๊ณ , ํ
์คํธ๋ ํ ์ ์๋ ๊ตฌ์กฐ์.
- CommandLine ๋ด์ ๋ฉ์๋์ ๋ฆฌํด๊ฐ์ askUserInput์ ์ธ์๋ก ๋๊ธฐ๋ ๊ตฌ์กฐ๊ฐ ๋ ์ข์๊ตฌ์กฐ!
- ํญ์ ์ด๋ค ๋ฉ์๋๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด์๊ฒ ์์กดํ๋ ํ๋ฆ์ ๊ฒฝ๊ณํด์ผํ๋ค!
- JSON step6
- ํ๋ฆ์ ์ดํ๋ค๊ฐ ์์ ํ๋ค๊ฐ debug๋ถ๋ถ์์ ์ ๋๋ก ๋ค์ด๊ฐ์ง๊ฐ ์์๋ค. ์ด๋์ ์๋ฌ๊ฐ๋๊ฑด์ง๋ ๋ชจ๋ฅธ์ฑ ํ๋ฆฐํธ๋ฅผ ํ๋์ฉ ์ฐ์ผ๋ฉด์ ๋ฐ๋ผ๊ฐ๋ค๊ฐโฆใ ใ ๊ฒฐ๊ตญ grammar, input, resultData๊น์ง ๊ฐ์ ํ๋ฆฐํธ๋ฅผ ์ฐ์ด๋ดค๋ค!!!!!!!!!!!!!!!!1 ๊ทธ๋ฌ๋ค๊ฐ input.jsonํ์ผ์ ์ด์๋๋ฐ ์ํฐ๊ฐ ๋ค์ด๊ฐ์์๋ค. ์ด์ํ๋ค!!!!!!!!!! ๋๋ฌด์ด์ํด์ ํ ์คํธํธ์ง๊ธฐ์์ jsonํจํด์ ์จ๋ณด๊ณ ์ ์ฅํ๋๋ฐ!!!!!!!!!!!! ๊ฒฐ๊ตญ ์ํฐ์ด ๊ธ์ ์ ์ฅํ๋ฉด์ ์ํฐ๋ฅผ ๋ฃ์ด์ ์ ์ฅ์ํ๋๊ฒ์ด์ผ!!!!!!!!!!!!!!!!๊ทธ๋์ ์๋๋๊ฒ์ด๋ค!!!!!!!!!!! ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ๋ฉ๋ถ
- ๊ทธ๋์ ๊ฒฐ๊ตญ ๊ณ ๋ฏผํ๋ค๊ฐ (ํผ๋๋ฐฑ ์ฒ๋ฆฌํ๋ค๊ฐ ์๋ผ์ ์ฝ๋๊ฐ ์๋ชป๋์ค์๊ณ step6 PR๋ณด๋ธ ์ฝ๋ ๋ณต๋ถํจ) ์์ ํ๋ค ๋ง ์์ฝ๋๋ก ๋์๊ฐ๊น, ์๋๋ฉด ๋์๊ฐ๊ธฐ๋ ํ์๋ ํผ๋๋ฐฑ ๋น์์ ์ฝ๋๋ก ๋์๊ฐ๊น ๊ณ ๋ฏผํ๋ค๊ฐ ๊ทธ๋ฅ ์์ ํ๋ค ๋ง ์ฝ๋๋ก ๋์๊ฐ๋ค. (git reset โhard ์ต์
์โฆ)
- ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์์ฐ์ ์ปค๋ฐ๋ฉ์์ง๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก์ฐ์!!
์ง๋ฌธ๊ฑฐ๋ฆฌ
- guard ์ต์ ๋์ฒด์ด๋. case1๊ณผ case2์ ์ฐจ์ด! ```swift // case 1
let userInput = inputView.askUserInput(message: โ๋ถ์ํ JSON ๋ฌธ์์ด์ ์ ๋ ฅํ์ธ์.โ) guard userInput != nil else { throw GrammarChecker.FormatError.invalidInput } commandLineInput = (input: userInput, output: โโ) // userInput์ด ๊ณ์ String?์ผ๋ก ์ธ์
// case 2 let userInput = inputView.askUserInput(message: โ๋ถ์ํ JSON ๋ฌธ์์ด์ ์ ๋ ฅํ์ธ์.โ) guard let inputString = userInput else { throw GrammarChecker.FormatError.invalidInput } commandLineInput = (input: inputString, output: โโ) //inputString์ด String์ผ๋ก ์ธ์!
```
Comments