๊ณต๋ถ€ ์—ฐ์Šต์žฅ :-)

TIL_20181008 ~ 20181015

|

2018.10.08

  • ํ…Œ์ŠคํŠธ๋นŒ๋“œํ• ๋•Œ ์™ธ๋ถ€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ชป์ฐพ์•„์„œ ๋นŒ๋“œ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐํ• ๋•Œ ์ฐพ๋Š” ๊ฒฝ๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•!
  • ํŒŒ์ด์–ด๋ฒ ์ด์Šค ๊ตฌ๋… ๋ณด๋‚ด๊ธฐ / ๋‹จ์ผ๊ธฐ๊ธฐ๋ณด๋‚ด๊ธฐ ์„ฑ๊ณต
    • https://stackoverflow.com/a/45268025
  • ํŒŒ์ด์–ด๋ฒ ์ด์Šค Messaging๊ฐ์ฒด์˜ fcmtoken์€ ์œ ์ €๊ฐ€ notification์„ ํ—ˆ์šฉํ•˜๋“  ์•ˆํ•˜๋“  ์ƒ๊ด€์—†์ด ๋ฐœํ–‰.
  • DataStorage๋ฅผ ์ด์šฉํ•˜๊ณ , ํŒŒ์ด์–ด๋ฒ ์ด์Šค์— ์ €์žฅ๊ณผ ๊ตฌ๋…์€ ์•ฑ์„ ๋„๊ฑฐ๋‚˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๊ฐ”์„๋•Œ๋งŒ ํ•จ!
  • favorites์„ ํ‘œ์‹œํ•˜๋Š” ์‹œ์  ์‹ฑํฌ๋ฅผ ๋งž์ถ”๊ณ  ์•ฑ์ต์Šคํ…์…˜์—์„œ๋„ ๋งž์ถ”๊ธฐ์œ„ํ•ด(fetch๊ฐ€ ๋น„๋™๊ธฐ์ž„) ๋‚ด๋ถ€ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์•ฑ์˜ ์ฃผ๊ธฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” AppDelegate์—์„œ๋งŒ FavoriteAPI๋ฅผ ํ†ตํ•ด ํŒŒ์ด์–ด๋ฒ ์ด์Šค์— ์ฆ๊ฒจ์ฐพ๊ธฐ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค. (fetch๋Š” ์•„์ง ์‚ฌ์šฉํ•˜๊ณ ์žˆ์ง€์•Š์Œ)
  • ๋Ÿฐ์น˜ ์Šคํฌ๋ฆฐ ์ €์žฅ

2018.10.09

์˜ค๋ฒ„๋ผ์ด๋“œ ๋ฐฉ์ง€(Preventing Overrides) final๋กœ ํ‘œ์‹œํ•˜์—ฌ ์˜ค๋ฒ„๋ผ์ด๋“œ๋กœ๋ถ€ํ„ฐ ๋ฉ”์†Œ๋“œ, ์†์„ฑ ๋˜๋Š” ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ์Œ. ๋ฉ”์†Œ๋“œ, ์†์„ฑ ๋˜๋Š” ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ์˜ final var, final func, final class func๊ทธ๋ฆฌ๊ณ  final subscript๊ฐ™์€ ์†Œ๊ฐœ ํ‚ค์›Œ๋“œ ์•ž์— final ์ˆ˜์‹์–ด๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์ˆ˜ํ–‰ํ•จ.

์„œ๋ธŒํด๋ž˜์Šค ์•ˆ์—์„œ final ๋ฉ”์†Œ๋“œ, ์†์„ฑ ๋˜๋Š” ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•˜๋ ค๋Š” ์‹œ๋„๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„์—๋Ÿฌ๋กœ ๋ณด๊ณ ๋จ. ๋ฉ”์†Œ๋“œ, ์†์„ฑ ๋˜๋Š” ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ๋Š” ํ™•์žฅ ์ •์˜์•ˆ์— final๋กœ์„œ ํ‘œ์‹œํ•˜์—ฌ ํด๋ž˜์Šค์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ.

ํด๋ž˜์Šค ์ •์˜์—์„œ class ํ‚ค์›Œ๋“œ ์•ž์— final ์ˆ˜์‹์–ด๋ฅผ ์“ฐ๋„๋ก ํ•˜์—ฌ final๋กœ์„œ ๋ชจ๋“  ํด๋ž˜์Šค๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Œ(final class). final ํด๋ž˜์Šค๋ฅผ ์„œ๋ธŒํด๋ž˜์Šค๋กœ ํ•˜๋ ค๋Š” ์‹œ๋„๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„์—๋Ÿฌ๋กœ ๋ณด๊ณ ๋  ๊ฒƒ์ž„.

  • MartSelectViewController์—์„œ ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ๊ณผ ๋งˆํŠธ๊ฒ€์ƒ‰ํ™”๋ฉด์œผ๋กœ ์ „ํ™˜์‹œ ๋กœ๋”ฉ ํ”ผ๋“œ๋ฐฑ ํ‘œ์‹œ

  • loadingIndicator ์‚ฝ์ž…
    • NVActivityIndicator ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ
    • ์ธ๋””์ผ€์ดํ„ฐ๊ฐ€ ๋Œ์•„๊ฐ€๋Š” ํ™”๋ฉด์ด ์ž˜ ๋ณด์ด์ง€ ์•Š์•„์„œ ์Šคํƒ€๋ฒ…์Šค ์•ฑ์„ ์ฐธ๊ณ ํ•˜์—ฌ, ๋‚ด๋น„๊ฒŒ์ด์…˜ ํ™”๋ฉด์ด ์ „ํ™˜๋ ๋•Œ ํฐ์ƒ‰ ํ™”๋ฉด์ด ๋œจ๋„๋ก ๋ณ€๊ฒฝ
  • ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์„ ์ค„๋•Œ ์…€์ด ๋ˆŒ๋ฆฌ์ž๋งˆ์ž ๋งˆํŠธ๋กœ๊ณ ๊ฐ€ ์ปฌ๋Ÿฌํ™”๋œ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๊ณ , ๋ˆ„๋ฅธ ํ›„์— ๋นˆํ™”๋ฉด+๋กœ๋”ฉ์ธ๋””์ผ€์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋ผ๊ณ  ๋นˆ ํ™”๋ฉด์„ pushํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋งˆํŠธ ๊ฒ€์ƒ‰ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฌ์œผ๋ฉด์ข‹๊ฒ ๋Š”๋ฐ, ๋ฌธ์ œ๋Š”
    • ๋ˆŒ๋ฆฌ์ž๋งˆ์ž ์…€์ด ์ปฌ๋Ÿฌํ™”๊ฐ€ ์•ˆ๋˜๊ณ 
    • ๋นˆ ํ™”๋ฉด + ์ธ๋””์ผ€์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€๊ณ  ๋งˆํŠธ์„ ํƒํ™”๋ฉด์ด ๋…ธ์ถœ๋œ ์ฑ„๋กœ ๊ทธ ๋‹ค์Œ ํ™”๋ฉด์ด push๋๋‹ค.
  • ๋ˆŒ๋ฆฌ์ž๋งˆ์ž ์…€์ด ์ปฌ๋Ÿฌํ™”๊ฐ€ ์•ˆ๋˜๋Š” ๋ฌธ์ œ : ํ…Œ์ด๋ธ”๋ทฐ ์…€์— ์žˆ๋Š” ui๋ณ€๊ฒฝ์ด ๋”œ๋ ˆ์ด๊ฐ€ ์žˆ๋Š”๊ฒƒ ํ•ด๊ฒฐ
    • ์Šคํฌ๋กค๋ทฐ์˜ ์–ด๋–ค ์†์„ฑ๋•Œ๋ฌธ์ธ๋ฐ ๊ทธ๊ฑด๋ฐ”๋กœ delaysContentTouches
    • tableView.delaysContentTouches = false๋กœ ์ฃผ๋ฉด
    • https://codeburst.io/delayed-performance-in-ios-6c983872fa46
  • ๋งˆํŠธ์„ ํƒํ™”๋ฉด์ด ๋…ธ์ถœ๋œ์ฑ„๋กœ ๊ทธ ๋‹ค์Œ ํ™”๋ฉด์ด push๋˜๋Š” ๋ฌธ์ œ: viewDidDisappear๋กœ ํ•ด๊ฒฐ
    • indicatorํ™”๋ฉด์„ ๋ฉˆ์ถ”๋Š” finishIndicator()ํ•จ์ˆ˜๋ฅผ viewWillDisappear์ด ์•„๋‹Œ viewDidDisappear์— ๊ตฌํ˜„ํ•˜๋‹ˆ ํ•ด๊ฒฐ๋จ

2018.10.10

  • ๋ฉ”์ผ result์—๋”ฐ๋ผ์„œ alert ํ”ผ๋“œ๋ฐฑ ๊ณ ์นจ
    • ์ด์ „์—๋Š” ๋ฉ”์ผ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ผœ์ง€๊ธฐ๋งŒ ํŒŒ๋ฉด ๋„๋ฉด์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ์•Œ๋ฆผ์„ ์คฌ๋Š”๋ฐ ์ทจ์†Œํ•˜๊ฑฐ๋‚˜ ์ž„์‹œ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๋ฉ”์ผ์„ ์•ˆ๋ณด๋‚ด๋„ ๊ฐ์‚ฌํ•˜๋‹ค๊ณ ํ•ด์„œโ€ฆ.
  • url๋…ธ์ถœ๋˜์–ด์žˆ๋Š” ๊ฒƒ ๋ชจ๋‘ keyInfo.plistํŒŒ์ผ๋กœ ์ˆจ๊น€
  • stringํ˜•ํƒœ๋กœ ์จ์žˆ๋Š” ๋ฌธ์ž์—ด๋“ค programdescription enum์œผ๋กœ ์ˆจ๊น€

2018.10.11

  • ๋ผ์ด์„ ์Šค ๊ฐ„๋‹จํ‘œ์‹œ
  • Bundle display name ์ˆ˜์ •ํ•ด์„œ ๋””๋ฐ”์ด์Šค์Šคํฌ๋ฆฐ์— ํ‘œ์‹œ๋  (์•ฑ์„ค์น˜ํ›„ ์•ฑ ์•„์ด์ฝ˜ ๋ฐ‘์—)์ด๋ฆ„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Œ.
  • appstore connect ์‚ฌ์ดํŠธ์—์„œ ์•ฑ ๋“ฑ๋ก์„ ํ•˜๋ ค๊ณ ํ–ˆ๋Š”๋ฐ ๋งˆํŠธ ์‰ฌ๋Š”๋‚ ์ด ์‚ฌ์šฉ์ค‘์ด์—ˆ๋‹คโ€ฆ์ถฉ๊ฒฉ๊ณผ ๊ณตํฌ(์•„๋งˆ๋„ ์•ฑ ์ถœ์‹œ๋Š” ์•ˆํ•˜๊ณ  ์•ฑ์Šคํ† ์–ด์ปค๋„ฅํŠธ์— ๋“ฑ๋ก๋งŒํ•ด๋†“์€๋“ฏ)

2018.10.12

  • ํ…Œ์ŠคํŠธํ”Œ๋ผ์ดํŠธ ๋ฐฐํฌ
  • ์•ฑ ์ด๋ฆ„ (ํ™ˆํ™”๋ฉด์— ๋ณด์ด๋Š” bundle display name) ์ง€์—ญํ™”ํ•˜๊ธฐ
    • ์˜์–ด์™€ ํ•œ๊ธ€ ์ถ”๊ฐ€
  • ํˆฌ๋ฐ์ด์ต์Šคํ…์…˜์ด ์•ˆ๋–ด๋Š”๋ฐ ์•„๋งˆ๋„ ์•ฑ ๊ทธ๋ฃน ํ™œ์„ฑํ™” ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ ค์„œ ๊ทธ๋Ÿฐ๋“ฏโ€ฆ?
  • ์ฒ˜์Œ ์•ฑ ๋‹ค์šด ๋ฐ›์•˜์„๋•Œ๋Š” ์•ˆ๋œจ๊ณ  ์œ„์ ฏ ์ž์ฒด๋Š” ์‹คํ–‰์ด ๋์ง€๋งŒ 8์‹œ๊ฐ„? ์ •๋„ ์ง€๋‚˜๋‹ˆ๊นŒ ๋œธ

2018.10.13

  • gitflow ์‚ฌ์šฉ๋ฒ•
  • Privacy policy generator๋กœ ๊ฐœ์ธ์ •๋ณด ์ทจ๊ธ‰๋ฐฉ์นจ ๋งŒ๋“ฆ
  • ๋ฆด๋ฆฌ์ฆˆ1.0 ๋ธŒ๋žœ์น˜ ๋”ฐ์„œ ๋ฆด๋ฆฌ์ฆˆ ์ „ ๋ฒ„๊ทธ ํ”ฝ์Šค ์ž‘์—…
  • ์œ„์ ฏ๋„ ๋กœ์ปฌ๋ผ์ด์ฆˆ ์ด๋ฆ„ ๋œจ๊ฒŒ ์ˆ˜์ •ํ•˜๊ธฐ
  • ํ…Œ์ด๋ธ”๋ทฐ ์…€๋ ‰์…˜์Šคํƒ€์ผ ์—†์• ๊ธฐ
  • URLSession ๋„คํŠธ์›Œํฌ ํƒ€์ž„์•„์›ƒ ์„ค์ •
  • release 1.0์—์„œ ์ˆ˜์ •ํ•œ ์‚ฌํ•ญ
    • ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ์ฒ˜๋ฆฌ: ํƒ€์ž„์•„์›ƒ 3~5์ดˆ
    • ๋ฆฌํŒฉํ† ๋ง: ๋ฆฌ์ณ๋นŒ๋ฆฌํ‹ฐ๋ž‘ ๋กœ๋”ฉ์ธ๋””์ผ€์ดํ„ฐ
    • ๊ฐœ์ธ์ •๋ณด์ทจ๊ธ‰๋ฐฉ์นจ
    • ๋ผ์ด์„ ์Šค ํ…์ŠคํŠธํŒŒ์ผ ์ˆ˜์ •ํ•˜๊ณ  ์—…๋กœ๋“œ

2018.10.14

  • ๋ฆด๋ฆฌ์ฆˆ 1.0 ๋นŒ๋“œ2
  • ํ‘ธ์‹œ ํ…Œ์ŠคํŠธํ›„ ๊ตฌ๋… / ๊ตฌ๋…์ทจ์†Œ ์ž‘์—…์ด ์ œ๋Œ€๋กœ ์•ˆ๋˜๊ณ  ์›๋ž˜ ํ•˜๊ณ ์žˆ๋˜ ๋ฐฉ๋ฒ•์ด ์“ฐ๋ ˆ๊ธฐ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ๋Š” ๋ฐฉ๋ฒ•์ด๋ผ ์ˆ˜์ •
  • ์‚ฌ์šฉ์ž๊ฐ€ favorite์„ toggleํ• ๋•Œ๋งˆ๋‹ค ๊ตฌ๋…์— ๋„ฃ์—ˆ๋‹ค ๋นผ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ˆ˜์ •ํ•จ
  • ๋น„๋™๊ธฐ ์‹œ๋ฆฌ์–ผํ ๋“ฑ๋“ฑ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด๋ณด๋ คํ–ˆ์œผ๋‚˜ ๋””ํŽœ๋˜์‹œ ๋ฌธ์ œ๋กœ FavoriteAPI๊ฐ์ฒด๋ฅผ ์—ฌ๊ธฐ์ €๊ธฐ์„œ ์“ธ ์ˆ˜ ์—†๊ธฐ๋•Œ๋ฌธ์—โ€ฆ.ใ… _ใ…  ๋…ธํ‹ฐํ”ผ์ผ€์ด์…˜ ์„ผํ„ฐ๋กœ ์ˆ˜์ •ํ•จ. ํ…Œ์ŠคํŠธํ•ด๋ณด๋‹ˆ ์ฆ๊ฒจ์ฐพ๊ธฐ๋ฅผ ๋ง‰ ๊ป๋‹ค์ผฐ๋‹คํ•ด๋„ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๋๋‹ค. ๋…ธํ‹ฐํ”ผ์ผ€์ด์…˜์ด ์‹œ๋ฆฌ์–ผํ์—์„œ ์ฒ˜๋ฆฌ๊ฐ€๋˜๋Š”๊ฑด๊ฐ€!?(์ •๋ฆฌ)

2018.10.15

  • ๋ฆด๋ฆฌ์ฆˆ 1.0 ๋นŒ๋“œ 3 / ๋นŒ๋“œ 4 ๋‘๋ฒˆ ์˜ฌ๋ฆผ
  • ๋‘๋ฒˆ ์˜ฌ๋ฆฌ๊ณ  ์•ฑ ์‹ฌ์‚ฌ๋ฅผ ์œ„ํ•ด ์ œ์ถœํ•จ!!
    • ๋ฉ”์ธํ™”๋ฉด์— ์ฆ๊ฒจ์ฐพ๊ธฐ ์ •๋ณด๊ฐ€ ์—†์–ด์„œ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ๋œฐ๋•Œ โ€˜์ฆ๊ฒจ์ฐพ๋Š” ๋งˆํŠธ๋ฅผ ํ™•์ธํ•ด์ฃผ์„ธ์š”โ€™ ๋ฌธ๊ตฌ๋ฅผ ๋ผ๋ฒจ์—์„œ ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜์ •
    • (๊ทธ ๋ฌธ๊ตฌ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ญ”๊ฐ€ ์•ก์…˜์ด๋‚˜์˜ฌ๊ฑฐ๊ฐ™๋‹ค๋Š” ์˜๊ฒฌ์ด ๋งŽ์•˜์Œ)
    • ๋ฌธ์˜๋ฉ”์ผ์— ์œ ์ €์˜ ๋””๋ฐ”์ด์Šคํ† ํฐ ๋„ฃ์Œ(๋ฌธ์˜๊ฐ€ ์˜ค๋ฉด ๋””๋น„์—์„œ ์ฐพ์•„์„œ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก)
    • ํ‘ธ์‹œ ๋ฐฉ์‹์„ ๋ฐ”๊ฟˆ
    • ๊ตฌ๋…์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ™•์ธํ•˜๊ธฐ๋„ ๋ถˆํŽธํ•˜๊ณ , DB์™€์˜ ์‹ฑํฌ๋„ ๋งž์ง€ ์•Š๋Š”๋‹ค. (์‚ฌ์šฉ์ž์˜ ํ™”๋ฉด์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ฆ๊ฒจ์ฐพ๊ธฐ ์ถ”๊ฐ€ํ•ด๋†“์€ ๋งˆํŠธ์™€ ํ‘ธ์‹œ ๊ตฌ๋…์— ๋“ค์–ด๊ฐ€์žˆ๋Š” ๋งˆํŠธ๊ฐ€ ๋‹ฌ๋ผ์„œ ํ™”๋ฉด์— ์—†๋Š” ๋งˆํŠธ์— ๋Œ€ํ•œ ํ‘ธ์‹œ๊ฐ€ ์˜ฌ ์ˆ˜๋„์žˆ๊ณ , ํ™”๋ฉด์— ํ‘œ์‹œ๋˜์—ˆ๋Š”๋ฐ ํ‘ธ์‹œ๊ฐ€ ์•ˆ์˜ฌ์ˆ˜๋„์žˆ์Œโ€ฆ)
    • ๊ตฌ๋…๋ฐฉ์‹์ด ์•„๋‹Œ ํŒŒ๋ฒ  DB์—์ €์žฅํ•ด๋†“์€ [ํ† ํฐ:[์ฆ๊ฒจ์ฐพ๊ธฐ]]๋Œ€๋กœ ํ‘ธ์‹œ๋ฅผ ๋ณด๋‚ด๊ธฐ๋กœ ํ•จ

Comments