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

TIL_20171018

|

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

  • git repo ์ฝ”๋“œ์Šค์ฟผ๋“œ ์‹ค์Šต์šฉ์œผ๋กœ ํ†ตํ•ฉ (ํ†ตํ•ฉํ•œ ๊ณผ์ • ํฌ์ŠคํŒ…)
  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ์ธ์น˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์‹œ์ž‘
  • ์ธ์น˜๊ธธ์ด ๋ ‰์ณ๊นŒ์ง€ ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ๋กœ์ง ์ •๋ฆฌํ•จ
  • ์Šค์œ„ํ”„ํŠธ ๊ธฐ๋ณธ์„œ ์กฐ์‚ฌ - ๋ง˜์—๋“œ๋Š” ์ฑ…(๊ผผ๊ผผํ•œ ์žฌ์€์”จ)์€ ๋„ˆ๋ฌด ๋‘๊ป๊ณ  ๊ฐœ์ •ํŒ์ด ๊นœ๊นœ๋ฌด์†Œ์‹โ€ฆใ… ใ…  ์ž‘๊ฐ€ ๋ธ”๋กœ๊ทธ์— ๋Œ“๊ธ€๋กœ ๋ฌผ์–ด๋ณด๊ณ  ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘. ๊ฐœ์ธ์ ์œผ๋กœ ebook์ด ๋‚˜์™”์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.

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

  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ : ๋‚˜์ค‘์— ์ „์ฒด๋ฅผ ๋‹ค ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ํ•œ์ด ์žˆ๋”๋ผ๋„ ์ผ๋‹จ์€ ์™„์„ฑํ•˜๊ธฐ
  • 19์ผ : ์•ผ๋“œ ๊ธธ์ด ๋ณ€ํ™˜ ๋ถ€๋ถ„๊นŒ์ง€ ์™„์„ฑํ•˜๊ธฐ

TIL_20171017

|

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

  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ์‹ค์Šต - ํ•จ์ˆ˜๋ถ€๋ถ„๊นŒ์ง€ ์ง„ํ–‰
  • ์Šค์œ„ํ”„ํŠธ ํ•จ์ˆ˜ func ์„ ์–ธ๋ฒ• ๋ฐฐ์›€
  • ์กฐ๊ฑด๋ฌธ ์„ ์–ธ๋ฒ• ๋ฐฐ์›€
  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ์‹ค์Šต๋ถ€๋ถ„์—์„œ ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ–ˆ์ง€๋งŒ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ ๋‚ด์—์„œ ์ญ‰ ์ ˆ์ฐจ์ง€ํ–ฅ์ ์œผ๋กœ ๊ตฌํ˜„๋œ ๊ฒƒ ๊ฐ™๋‹ค.
    • ์ž…๋ ฅ๋œ ๋‹จ์œ„์—๋”ฐ๋ผ์„œ ์ˆซ์ž๋ฅผ ๋นผ๋‚ด๊ณ  ๊ณ„์‚ฐ, ์ถœ๋ ฅํ•˜๋Š” ๋กœ์ง์„ ๊ตฌ๋ถ„ํ•˜๋Š” ์กฐ๊ฑด๋ฌธ
  • ์Šค์œ„ํ”„ํŠธ์—์„œ ๋ฌธ์ž์—ด ์ž๋ฅด๋Š” ๋ฐฉ๋ฒ• (substring) ์ตํž˜

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

  • ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ ๋ง๊ณ  ํ”„๋กœ์ ํŠธ ์œ„์—์„œ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ
  • ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ํด๋ž˜์Šค / ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋” ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ
  • substring์„ ์‚ฌ์šฉํ•˜๋ฉด ๋”์ด์ƒ ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  warning์ด ๋œฌ๋‹ค. range๋ฅผ ์ง€์ •ํ•ด์„œ string์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์จ๋ด์•ผํ•จ.
  • ์ž์Šตํ•˜๋Š” ์š”์ผ์ธ ์ˆ˜์š”์ผ์—” ๊ธฐ๋ณธ๋ฌธ๋ฒ•์„ ํ›‘๊ณ  ๋„˜์–ด๊ฐ€์•ผ์ง€.

๊ฐ„์ ‘์ฐธ์กฐ, ํ˜•๋ณ€ํ™˜, String(๋ฌธ์ž์—ด)์ž๋ฅด๊ธฐ, index()ํ•จ์ˆ˜

|

๊ฐ„์ ‘์ฐธ์กฐ Indirection

๊ฐ’ ์ž์ฒด๋ณด๋‹ค ์ปจํ…Œ์ด๋„ˆ, ์—ฐ๊ฒฐ, ๋ณ„๋ช…๋“ฑ์„ ์‚ฌ์šฉํ•ด์„œ ์šฐํšŒํ•˜๋„๋ก ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ์‹

๋ฉ”์†Œ๋“œ๋‚˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ (ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋†“๊ณ  ํ˜ธ์ŠคํŠธ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ณผ์ •): sub-routine

ํ˜ธ์ŠคํŠธ์ฝ”๋“œ : ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ฝ”๋“œ

let (์ƒ์ˆ˜) var (๋ณ€์ˆ˜)์™€ ๊ฐ™์€ ๋ณ€์ˆ˜์„ ์–ธ ๋˜ ํ•œ ๊ฐ„์ ‘์ฐธ์กฐ

์Šค์œ„ํ”„ํŠธ์˜ ๋ฐ์ดํ„ฐํƒ€์ž… : ๊ฐ์ฒด์ฒ˜๋Ÿผ ๊ตฌ์ƒ๋˜์–ด์žˆ์–ด์„œ var a : Int = 99

์ด๋ฉด a._ _ _ ํ–ˆ์„๋•Œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ํ•จ์ˆ˜๋“ค์ด ๋‚˜์˜ด (์ž๋ฐ”์—์„œ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•)

๋ชจ๋ฐ”์ผ์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•ญ์ƒ ๋ถ€์กฑํ•˜๊ธฐ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐํƒ€์ž…์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฌธ์ œ๋กœ, ๋ฐ์ดํ„ฐํƒ€์ž…์„ ์„ ํƒํ• ๋•Œ ๋” ์‹ ์ค‘ํ•ด์•ผํ•จ

ํ˜•๋ณ€ํ™˜

Int(3.14) - 3.14๊ฐ€ Intํƒ€์ž…์œผ๋กœ ๋ฐ”๋€œ

Double(10) - 10์ด Doubleํƒ€์ž…์œผ๋กœ ๋ฐ”๋€œ

String ์ž๋ฅด๊ธฐ

var str = "Hello!"

let test = str.substring(from: str.index(str.endIndex, offsetBy : -2))

let test2 = str.substring(to: str.index(str.endIndex, offsetBy : -2))

index() ํ•จ์ˆ˜์™€ index / ๊ณต๋ฐฑ์œผ๋กœ ๋ฌธ์ž์—ด ๋‚˜๋ˆ„๊ธฐ

์ •์˜ : index(of: โ€œaโ€) ํ•˜๋ฉด a ๋ฌธ์ž๊ฐ€ ์ธ๋ฑ์Šค ์ž์ฒด๊ฐ€ ๋˜์–ด์„œ ๋ฌธ์ž์—ด ์ธ๋ฑ์Šค๋กœ ๋ฆฌํ„ดํ•˜๋Š” ์˜๋ฏธ

public func index(of element: Character) -> String.Index?

//input ๋ฌธ์žฅ์— ๊ณต๋ฐฑ์„ ์ธ๋ฑ์Šค๋กœ ํ•˜๊ณ ์‹ถ์„๋•Œ
var indexSet = input.index(of: " ") ?? input.endIndex
//์ด์ œ index๊ฐ€ " "์œผ๋กœ, ๊ทธ ์ž์ฒด๊ฐ€ ์ธ๋ฑ์Šค๋กœ ์ •ํ•ด์ง„ ์ƒํƒœ

//indexSet๊ธฐ์ค€์œผ๋กœ ์ฒซ ๋‹จ์–ด๋งŒ ํ‘œ์‹œ
var firstWord = input[..<indexSet]

//indexSet ๊ธฐ์ค€์œผ๋กœ ๋งˆ์ง€๋ง‰ ๋‹จ์–ด๋งŒ ํ‘œ์‹œํ•˜๊ณ ์‹ถ์„๋•Œ
var lastWord = input[input.index(after: indexSet) ..< input.index(before: input.endIndex)] 

/*
input.index(after: indexSet) - input์˜ index(indexSet)๋ฐ”๋กœ ๋’ค์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ์ธ๋ฑ์‹ฑ
input.index(before: input.endIndex) - input์˜ ๋งจ ๋๊ธ€์ž์˜ ๋ฐ”๋กœ ์•ž์—์žˆ๋Š” ๋ฌธ์ž๋ฅผ ์ธ๋ฑ์‹ฑ
*/

####

TIL_20171016

|

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

  • ์ฝ”๋“œ์Šค์ฟผ๋“œ ๋งˆ์Šคํ„ฐ์ฆˆ์ฝ”์Šค iOS ์ฒซ ์ˆ˜์—… ์‹œ์ž‘
  • ์Šค์œ„ํ”„ํŠธ ๊ฐœ๋ฐœํ™˜๊ฒฝ ์„ธํŒ… - Xcode, playground ํ™˜๊ฒฝ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
  • git ํ„ฐ๋ฏธ๋„๋กœ ์‚ฌ์šฉ(local - remote repo) ์ตํžˆ๊ธฐ! ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ์‰ฝ๋‹ค.
  • Xcode ๋‹จ์ถ•ํ‚ค ์‚ฌ์šฉ์„ ์ ์  ๋Š˜๋ ค๊ฐ€์•ผ๊ฒ ๋‹ค. ์ดํด๋ฆฝ์Šค ๋‹จ์ถ•ํ‚ค์— ์ต์ˆ™ํ•ด์ ธ์žˆ๋‹ค๋ณด๋‹ˆ ๋ถˆํŽธํ•˜๋‹คโ€ฆใ… ใ… 
  • ์†Œํ”„ํŠธ์›จ์–ด ์šฉ์–ด์ •๋ฆฌ. ๋“ฃ๊ณ  ๊ฐ์œผ๋กœ ์ตํ˜”๋˜ ์šฉ์–ด๋“ค์„ ํ•œ๋ฒˆ์”ฉ ์กฐ์‚ฌํ–ˆ๋‹ค. ๋ธ”๋กœ๊ทธ์— ํฌ์ŠคํŒ… ํ–ˆ์ง€๋งŒ ๊ณ„์† ๋ณด์™„ํ•ด๋‚˜๊ฐ€์•ผ ํ•จ
  • ๋‹จ์œ„๋ณ€ํ™˜๊ธฐ ์‹ค์Šต 1๋‹จ๊ณ„ ์‹œ๋„
    • ์ƒ์ˆ˜, ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊นŒ์ง€ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฐฐ์›€ (let ๋ณ€์ˆ˜์ด๋ฆ„ : Double = 100)
    • ์Šค์œ„ํ”„ํŠธ๋Š” ๋„์–ด์“ฐ๊ธฐ์— ๋ฏผ๊ฐํ•œ ์–ธ์–ด๋ผ๊ณ  ํ•œ๋‹ค.
    • ์ˆซ์ž์™€ ๋ฌธ์ž๊ฐ€ ํ•จ๊ป˜ ์žˆ์„๋•Œ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„์•ผ ํ•จ
    • Double / Double ํ–ˆ์„๋•Œ ๊ฒฐ๊ณผ๋„ Double๋กœ ๋‚˜์™€์„œ ์ˆ˜๋ฅผ ๋‚˜๋ˆˆ ๊ฒฐ๊ณผ๊ฐ€ ์ •์ˆ˜์—ฌ๋„ 1.0 ์ด๋Ÿฐ ์‹์œผ๋กœ ํ‘œ์‹œ๋จ. ์บ์ŠคํŒ…์œผ๋กœ ํ‘œ๊ธฐ๋ฐฉ์‹์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„์•ผ ํ•จ

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

  • ํฐ ๋ชฉํ‘œ๋ฅผ ์„ธ์šฐ๊ณ  ๊ทธ์— ๋งž๋Š” ๋‹จ๊ธฐ ๊ณ„ํš ์„ธ์šฐ๊ธฐ (day 1. ์Šค์œ„ํ”„ํŠธ ๊ธฐ๋ณธ๋ฌธ๋ฒ• ์ค‘ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ณต๋ถ€ day 2. ์กฐ๊ฑด/๋ฐ˜๋ณต๋ฌธ ๊ณต๋ถ€โ€ฆ week 1, week2โ€ฆ month1,2โ€ฆ.๋“ฑ๋“ฑ..)
  • Xcode ๋‹จ์ถ•ํ‚ค ์ฐพ์•„๋ณด๊ณ  ์ต์ˆ™ํ•ด์ง€๊ธฐ
  • ์Šค์œ„ํ”„ํŠธ ๊ธฐ๋ณธ๋ฌธ๋ฒ• ์ตํžˆ๊ธฐ
  • ์ฒด๋ ฅ๊ธฐ๋ฅด๊ธฐโ€ฆ.์ƒค์›Œํ•˜๊ณ  ๋‚˜์™”๋Š”๋ฐ ์ฝ”ํ”ผ๊ฐ€ ์ฃผ๋ฅต ใ… ใ… ใ… 

TIL_20171003

|

์˜ค๋Š˜ ๋ฐฐ์šด / ๊ณต๋ถ€ํ•œ ๊ฒƒ

  • SIS ์‹ค์Šต - GPA ๊ณ„์‚ฐ ๋ถ€๋ถ„
    • J-Unit์—์„œ๋Š” ํ—ˆ์šฉ์˜ค์ฐจ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค (assertEquals()๋ฉ”์†Œ๋“œ์˜ ์„ธ๋ฒˆ์งธ ์ธ์ž(delta๋กœ ๋ถ€๋™์†Œ์ˆ˜์ ์˜ ๋ช‡ ๋ฒˆ์งธ ์ž๋ฆฌ๊นŒ์ง€์˜ ์˜ค์ฐจ๋ฅผ ํ—ˆ์šฉํ•˜๋Š”์ง€ ์ง€์ •๊ฐ€๋Šฅ))
    • enum์ ์šฉ
    • ์ „๊ณตํ•™์ƒ๊ณผ ๋น„์ „๊ณตํ•™์ƒ ๊ตฌ๋ถ„ ๋ถ€๋ถ„
  • ์ž๋ฐ” ์ƒ์†
    • CaffeinBeverage ์‹ค์Šต ์žฌํ˜„ํ•˜๋ฉด์„œ ๋‹ค์‹œ ์ตํžˆ๊ธฐ

์˜ค๋Š˜ ํ•œ ๊ฒƒ

  • (์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๋Š”)WILT๋กœ ์“ฐ๋˜ ํฌ์ŠคํŠธ๋“ค ๋ชจ๋‘ TIL๋กœ ๋ฐ”๊ฟจ๋‹ค! (TIL์ด ๋” ๋„๋ฆฌ ์“ฐ์ด๋Š” ๋Œ€๋ช…์‚ฌ์ธ๋“ฏ ํ•˜์—ฌ)