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

TIL_20171027

|

์˜ค๋Š˜ ๋ฐฐ์šด / ๋Š๋‚€ ๊ฒƒ

  • ๋”•์…”๋„ˆ๋ฆฌ ์‚ฌ์šฉ - unit ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ํ†ตํ•ด์„œ key๊ฐ’์— ์ ‘๊ทผ

  • ์ผ€์ด์Šค๋ฅผ ๊ธธ์ด/๋ฌด๊ฒŒ/๋ถ€ํ”ผ์ธ ์ผ€์ด์Šค๋กœ ๋‚˜๋ˆ ์„œ ๊ตฌํ˜„ํ• ์ˆ˜์žˆ๋„๋ก ํ•ด์•ผํ•จ
  • enum / dictionary ๊ณต๋ถ€
  • ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•œ ๋”•์…”๋„ˆ๋ฆฌ ์ ‘๊ทผ

์•ž์œผ๋กœ ํ•  ๊ฒƒ

  • TIL์— ๊ณผ์ œ ํ”„๋กœ์ ํŠธ์˜ to-do๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ / ์ผ๋ณ„๋กœ ์ •๋ฆฌํ–ˆ๋Š”๋ฐ ์•ž์œผ๋กœ๋Š” Git์˜ README.md ํŒŒ์ผ์— ์จ์•ผ๊ฒ ๋‹ค.
  • ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ณ„์‚ฐ๋ถ€๋ถ„์— ๋Œ€ํ•œ ๋กœ์ง์„ ์ค„์ด๋Š”๊ฒŒ ์ƒ๊ฐ๋ณด๋‹ค ๋นจ๋ฆฌ ์•ˆ๋๋‹ค. ๋‹ค์Œ์ฃผ ์ดˆ๊นŒ์ง€ ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ๋ฅผ ๋๋‚ด๊ธฐ!

TIL_20171026

|

์˜ค๋Š˜ ๋ฐฐ์šด / ๋Š๋‚€ ๊ฒƒ

  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ์˜ค๋ฅ˜ ์ˆ˜์ •

    • ์ง€์›ํ•˜๋Š” ๋‹จ์œ„๋ฅผ ์ž…๋ ฅํ–ˆ๋Š”์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จํ•˜๋Š” ์กฐ๊ฑด๋ฌธ์—์„œ bool๊ฐ’์„ ์ œ๋Œ€๋กœ ๋ฆฌํ„ดํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Œ. contains๋Š” ์ „์ฒด ๋ฌธ์ž์—ด์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ๋งŒ true๋ฅผ ๋ฐ˜ํ™˜ํ•จ. hassuffix๋‚˜ hasprefix๋ฅผ ์จ์„œ ๋ถ„๋ฆฌํ•˜๊ธฐ ์ „ ์œ ๋‹›์ด ๋”•์…”๋„ˆ๋ฆฌ ํ‚ค ๊ฐ’ ์ค‘์—์„œ ์–ด๋–ค ํ•˜๋‚˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ. > ์–ด๋ ˆ์ด๋ฆฌ์ŠคํŠธ๋กœ ๋ถ„๋ฆฌ ํ›„ ์ฒดํฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ฐ”๊ฟˆ

    • ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒํ•˜๋Š” while๋ฌธ break๋˜๋Š” ๋ถ€๋ถ„ (q, quit๋ถ€๋ถ„), ์œ ํšจํ•œ ๊ฐ’ ์ž…๋ ฅํ–ˆ์„๋•Œ ๊ฒŒ์ž„ ์ง„ํ–‰๋˜๋Š” ๋ถ€๋ถ„ (while๋ฌธ continue), ์œ ํšจํ•˜์ง€ ์•Š์€ ๊ฐ’ ์ž…๋ ฅํ–ˆ์„๋•Œ userInput() ํ˜ธ์ถœํ•ด์„œ ๋‹ค์‹œ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ถ€๋ถ„ ์ˆ˜์ •

      โ€‹

  • ๋ณ€ํ™˜ํ•˜๋Š” ์ข…๋ฅ˜๋ฅผ ์•Œ๋ฉด (๊ธธ์ด/๋ฌด๊ฒŒ/๋ถ€ํ”ผ) ๊ฐ ์ข…๋ฅ˜๋งˆ๋‹ค์˜ ๊ธฐ๋ณธ ์œ ๋‹›์œผ๋กœ ํ•œ๋ฒˆ ๋ฐ”๊พธ๊ณ  ๋ชฉํ‘œ๋‹จ์œ„๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

  • switch๋ฌธ์ด ์„ธ ๊ฐœ๊ฐ€ ๋  ๊ฒƒ ๊ฐ™์Œ

    • switch ์ž…๋ ฅํ•œ ๋‹จ์œ„
    • case ์ž…๋ ฅํ•œ ๋‹จ์œ„ = cm,m,inch,yard ์ด๋ฉด
      • convertedToCM์œผ๋กœ ๊ฐ€์„œ ๋ฒ ์ด์Šค ์ˆ˜๋กœ ๋ฐ˜ํ™˜
    • case๋กœ ์ž…๋ ฅํ•œ ๋‹จ์œ„ = ๊ทธ๋žจ(g), ํ‚ฌ๋กœ๊ทธ๋žจ(kg), ํŒŒ์šด์ฆˆ(lb), ์˜ค์šด์Šค(oz) ์ด๋ฉด
      • convertedToGram์œผ๋กœ ๊ฐ€์„œ ๋ฒ ์ด์Šค ์ˆ˜๋กœ ๋ฐ˜ํ™˜
    • case๋กœ ์ž…๋ ฅํ•œ ๋‹จ์œ„ = ๋ฆฌํ„ฐ(L),ํŒŒ์ธํŠธ(pt),์ฟผํ„ฐ(qt),๊ฒ”๋Ÿฐ(gal)
      • convertedToLiter์œผ๋กœ ๊ฐ€์„œ ๋ฒ ์ด์Šค ์ˆ˜๋กœ ๋ฐ˜ํ™˜
  • checkUnitGroup (convertTarget ์–ด๋ ˆ์ด ๋ฐ›์Œ)

    • calculateLengthResult (๊ทธ๋ฃน์—๋”ฐ๋ผ ๋งž๋Š” ๊ณ„์‚ฐ๋กœ์ง์œผ๋กœ)
      • ํ•ด๋‹น ๋กœ์ง์— ๊ฐ€์„œ ๊ทธ ๋กœ์ง์— ๋งž๋Š” ์œ ๋‹›์˜ ๋ฒ ์ด์Šค๊ฐ’์„ ์ฐพ์Œ (temporaryCM)
      • temporary์—์„œ ๋ฒ ์ด์Šค์œ ๋‹›๊ฐ’(convertedCM)์„ ๋ฆฌํ„ด๋ฐ›์œผ๋ฉด calculateLengthResult()์—์„œ ์ „์—ญ๋ณ€์ˆ˜ result์— ๊ฐ’์„ ๋Œ€์ž…ํ•จ

์•ž์œผ๋กœ ํ•  ๊ฒƒ

  • ๊ณ„์‚ฐํ•˜๋Š” ๋กœ์ง์ด ๋‹จ์œ„ ์ข…๋ฅ˜๋งˆ๋‹ค ์ถ”๊ฐ€๋˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ์–ด๋–ค ๋‹จ์œ„/์ข…๋ฅ˜๊ฐ€ ๋“ค์–ด์™€๋„ ๊ธฐ๋ณธํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๋ชฉํ‘œ๋‹จ์œ„๋กœ ๋ฐ”๊พธ๋Š” ๋กœ์ง์„ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๊ฒŒ ๋ฐ”๊ฟ”์•ผ๊ฒ ๋‹ค.
  • ๋”•์…”๋„ˆ๋ฆฌ ์‚ฌ์šฉ

TIL_20171025

|

์˜ค๋Š˜ ๋ฐฐ์šด / ๋Š๋‚€ ๊ฒƒ

  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

  • ์•ผ๋“œ ๋‹จ์œ„ ์ถ”๊ฐ€
  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ๋ฆฌํŒฉํ† ๋งํ•˜๋ฉด์„œ ์ •๋ฆฌํ–ˆ๋˜ ๋ถ€๋ถ„ (to-do list)
    • ์‚ฌ์šฉ์ž input๊ฐ’ ๋ถ„๋ฆฌํ•ด์„œ ๊ฐ€์ง€๊ณ ์žˆ๋Š” ์–ด๋ ˆ์ด ํ•˜๋‚˜ :convertTarget
    • ๋‚ด ํ”„๋กœ๊ทธ๋žจ์ด ์ง€์›ํ•˜๋Š” ๋‹จ์œ„ / ๊ธฐ์ค€์ˆซ์ž ๋”•์…”๋„ˆ๋ฆฌ ํ•˜๋‚˜:lengthUnitAndValues
    • ๊ณ„์‚ฐ ๋กœ์ง ๋‹จ์ˆœํ™” : ๊ฐ๊ฐ ๋‹จ์œ„๋ฌถ์Œ๋งˆ๋‹ค ๊ธฐ์ค€์ด ๋˜๋Š” ๊ฐ’์„ ์ •ํ•ด์„œ ๊ณ„์‚ฐ๋กœ์ง์„ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ
  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•˜๋‹ค๊ฐ€ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜ ์ˆ˜์ •
    • ์ง€์›ํ•˜๋Š” ๋‹จ์œ„๋งŒ ์ž…๋ ฅํ–‡๋Š”์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จํ•˜๋Š” ๋ถ€๋ถ„ (contains๋กœ ์ž˜๋ชป์”€ - ์ˆ˜์ •(10/24))
    • โ€‹

์•ž์œผ๋กœ ํ•  ๊ฒƒ

  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ์˜ค๋ฅ˜ ์ˆ˜์ •์—์„œ,

    • //checkValidUnit()๋ฉ”์†Œ๋“œ๋ฅผ ๋‹ค์‹œ ๋ด์•ผ ํ• ๋“ฏ

      //isValid ๋ถ€๋ถ„๋„ ๋‹ค์‹œ ๋ด์•ผํ• ๋“ฏ ใ… ใ… 

    โ€‹

TIL_20171024

|

์˜ค๋Š˜ ๋ฐฐ์šด/๋Š๋‚€ ๊ฒƒ

  • hasSuffix
    • list[0].hassuffix(โ€œ34โ€) - list์˜ 0๋ฒˆ์งธ value์—์„œ โ€œ34โ€๋ฌธ์ž์—ด์ด๋“ค์–ด์žˆ๋Š”์ง€์ฒดํฌ๋ฅผ ํ•˜๋ ค๋Š”๋ฐ contains๋ฅผ ์“ฐ๋‹ˆ๊นŒ ์•ˆ๋์Œ. ์™œ ์•ˆ๋ผ๋Š”์ง€ ์ด์œ ๋ฅผ ๋ชป์ฐพ๊ณ ์žˆ๋‹ค๊ฐ€ contains๋Š” ์ „์ฒด ๋ฌธ์ž์—ด์ด value์— ๋“ค์–ด์žˆ์–ด์•ผ๋งŒ true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š”์‚ฌ์‹ค์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค..!
    • hasSuffix์™€ hasPrefix๋ฅผ ์ž˜ ํ™œ์šฉํ•˜์ž!
  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ„๊ณ  ์ถ”๊ฐ€๋˜๋Š” ๋‹จ์œ„๋“ค์— ๋Œ€๋น„ํ•ด์„œ ์กฐ๊ฑด๋ฌธ ์ˆ˜์ •

์•ž์œผ๋กœ ํ•  ๊ฒƒ

  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ๋ฏธ์…˜์„ ๊ผญ ์ด๋ฒˆ์ฃผ ๋‚ด๋กœ ๋๋‚ด๊ธฐ
  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ๋ฏธ์…˜์„ ์ง„ํ–‰ํ•˜๊ธฐ์ „์— to-do list๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹œ์ž‘ํ•˜๊ธฐ!

TIL_20171023

|

์˜ค๋Š˜ ๋ฐฐ์šด / ๋Š๋‚€ ๊ฒƒ

  • [Swift] switch-case
  • [Swift] Array
  • [Swift] Dictionary
    • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ์—์„œ ํ•„์š”ํ•œ Unit์„ ๋‹ด์€ ์ปฌ๋ ‰์…˜ ํƒ€์ž…์œผ๋กœ ์–ด๋ ˆ์ด๋ฅผ ์“ฐ๋ ค๊ณ ํ–ˆ๋Š”๋ฐ, ์–ด๋ ˆ์ด๋ฅผ ์“ฐ๋ฉด ์ธ๋ฑ์Šค ๊ฐ’์œผ๋กœ ๊ฐ๊ฐ์˜ ์œ ๋‹›์„ ๊ฐ€์ ธ์™€์•ผ ๋  ๊ฒƒ ๊ฐ™์•„โ€ฆ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ด๋ดค์ง€๋งŒ ์ž˜ ํ™œ์šฉํ•˜๊ธฐ ์–ด๋ ต๋‹ค ใ… ใ… 

์•ž์œผ๋กœ ํ•  ๊ฒƒ

  • enum
  • class์™€ struct
  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ์ด๋ฒˆ ์ฃผ ๊นŒ์ง€ ๋‹ค ๊ตฌํ˜„ ์™„์„ฑ! (์ช ๋ฐœ)