210406 TIL

4/06

Today I Learn

  • ๋ฐฑ์ค€ ๊ทธ๋ž˜ํ”„์˜ ํ‘œํ˜„
  • ํด๋ฆฐ์ฝ”๋“œ 2์žฅ, ์ž๋ฐ”์˜์‹  1์žฅ

์˜ค๋Š˜์˜ ์ด์•ผ๊ธฐ

  • ๊ทธ๋™์•ˆ TIL์„ ์•ˆ ์ผ๋˜ ์ด์œ .. ๋งค์ผ ํ•˜๋Š” ๊ฑด ์–ด์ฐจํ”ผ ๋ธ”๋กœ๊ทธ์— ํฌ์ŠคํŒ…ํ•˜๊ณ  ์žˆ๊ณ  TIL์ด ๊ทธ๋ƒฅ ์ผ๊ธฐ๊ฐ€ ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์ข€ ํšŒ์˜๊ฐ์ด ๋“ค์—ˆ๋‹ค. TIL์ด์–ด๋„ ๋‚ด๊ฐ€ ๋‚˜์ค‘์— ๋ณด๊ณ  ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์„ ํฌ์ŠคํŒ… ํ•˜๊ณ  ์‹ถ์—ˆ์Œ. ๊ทธ๋ž˜์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์ด์ง€๋งŒ ๋”ฐ๋กœ ํฌ์ŠคํŒ…ํ•˜๊ธด ์•„์‰ฌ์šด ๊ฒƒ๋“ค์„ TIL์— ์จ๋ณด๋Š” ๊ฑด ์–ด๋–จ๊นŒ? ์‹ถ์—ˆ๋‹ค.
    ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ํ•˜๋ฉฐ ๋ฐฐ์šด ๊ฑธ ์“ฐ๋Š” ๊ฒƒ๋„ ์ข‹์•„๋ณด์ด๋˜๋ฐ ์•„์ง ๋‚ด๊ฐ€ ํ•˜๊ณ ํ”ˆ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ์—” ๋œ ๋ฐฐ์›Œ์„œ^^ใ… ใ… โ€ฆ๋ถ€์ง€๋Ÿฐํžˆ ๋ฐฐ์›Œ์•ผ์ง€. ๋ฌดํŠผ ๊ทธ๋ž˜์„œ ์ƒ๊ฐํ•œ ๊ฑด ๊ทธ ๋‚  ์ฝ์€ ์ฑ…์„ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ.

  • ์˜ค๋Š˜์€ ๊ทธ ์ค‘ ํด๋ฆฐ์ฝ”๋“œ 2์žฅ์„ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. 2์žฅ์€ ๋ณ€์ˆ˜/ํด๋ž˜์Šค/ํ•จ์ˆ˜์˜ ์ด๋ฆ„์„ ์ง“๋Š” ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๊ณ  ์žˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋„ˆ๋ฌด ๊ธด ๋ณ€์ˆ˜๋Š” ์“ฐ๊ธฐ ํž˜๋“ค๋‹ค๊ณ (โ€ฆ) ๋ณ€์ˆ˜๋ช… ๋Œ€์ถฉ ์ง€์—ˆ์—ˆ๋Š”๋ฐ ๋ณด๋ฉด์„œ ๋ฐ˜์„ฑํ–ˆ๋‹ค.. ์ž๋™์™„์„ฑ๊ธฐ๋Šฅ์€ ๊ดœํžˆ ์žˆ๋Š”๊ฒŒ ์•„๋‹ˆ๋‹ค!ใ… ใ…  ์ฑ…์ด ๋”ฑ๋”ฑํ•˜์ง€ ์•Š๊ณ  ์œ„ํŠธ์žˆ๊ฒŒ ์ ํ˜€์žˆ์–ด์„ดใ…‹ใ…‹ใ…‹ใ…‹๋ณด๋ฉด์„œ ๋นตํ„ฐ์ง€๊ธฐ๋„ ํ–ˆ๋‹ค. โ€œํ , ์—ฌ๊ธฐ ๋น„ ์”จ ์•Œ 3 ์”จ ์—” ํ‹ฐ์— ํ”ผ ์—์Šค ์ง€ ํ int๊ฐ€ ์žˆ๊ตฐ์š”. ๋ณด์ž…๋‹ˆ๊นŒ?โ€ ์ด๊ฑฐ ๋„ˆ๋ฌด ์›ƒ๊ฒผ์Œ

  • ์ญ‰ ๋‹ค ์ฝ๊ณ ๋‚˜์„œ ์†Œ๊ฐ์€โ€ฆ ์–ด๋ ต๋‹ค! ์˜ˆ์ œ๋งŒ ๋ด์„  ์•„์•„~ ๊ทธ๋ ‡๊ตฌ๋‚˜ ํ•˜๋Š”๋ฐ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ๋• ๋ณ€์ˆ˜๋ช… ์ง“๋Š๋ผ ํ•œ์„ธ์›” ๊ฐˆ ๊ฒƒ ๊ฐ™์€ ๊ธฐ๋ถ„ใ…‹ใ…‹ ๋„ค์ด๋ฐ์„ผ์Šค๊ฐ€ ์ค‘์š”ํ•˜๊ตฌ๋‚˜. ํ”Œ์ ์œผ๋กœ ์‹ค์ œ๋กœ ์ ์šฉํ•ด์•ผ ๋ณ€์ˆ˜๋ช… ์ง“๋Š”๊ฒƒ๋„ ๋Š˜๋“ฏํ•˜๋‹ค..

ํด๋ฆฐ์ฝ”๋“œ 2์žฅ. ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„

  1. ๋ณ€์ˆ˜์˜ ์˜๋„๋ฅผ ๋ถ„๋ช…ํžˆ ๋ฐํ˜€๋ผ
    ์ฝ”๋“œ๋Š” ์ฝ๋Š” ์‚ฌ๋žŒ์ด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ. ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ง€์–ด์•ผ ํ•œ๋‹ค. ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํด๋ž˜์Šค ์ด๋ฆ„์€ ๊ทธ๊ฒƒ์˜ ์กด์žฌ ์ด์œ ๋Š”? ์ˆ˜ํ–‰ ๊ธฐ๋Šฅ์€? ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€? ๋ผ๋Š” ์งˆ๋ฌธ์— ๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์ด์–ด์•ผ ํ•จ.

  2. ๊ทธ๋ฆ‡๋œ ์ •๋ณด๋ฅผ ํ”ผํ•˜๋ผ

  • ๋„๋ฆฌ ์“ฐ์ด๋Š” ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ๋‹ค๋ฅธ ์˜๋ฏธ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋จ.
  • ๊ณ„์ •์„ ๋‹ด๋Š” ์ปจํ…์ธ ๊ฐ€ List๋„ ์•„๋‹Œ๋ฐ List๋กœ ์ง“๋Š” ๊ฑด ์ง€์–‘. AccountList๋ณด๋‹ค accountGroup, Accounts๋กœ ๋ช…๋ช…ํ•ด์•ผ ํ•จ.
  • ์„œ๋กœ ํก์‚ฌํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์•ผ ํ•จ. ex) XYZControllerForEfficientHandlingOfStrings ์™€ XYZControllerForEfficientStorageOfStrings
  • ์œ ์‚ฌํ•œ ๊ฐœ๋…์€ ์œ ์‚ฌํ•œ ํ‘œ๊ธฐ๋ฒ• ์‚ฌ์šฉ.
  1. ์˜๋ฏธ์žˆ๊ฒŒ ๊ตฌ๋ถ„ํ•˜๋ผ
  • ์—ฐ์†๋œ ์ˆซ์ž๋ฅผ ๋ง๋ถ™์ด๊ฑฐ๋‚˜ ๋ถˆ์šฉ์–ด(noise word)์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์€ x, ์ด๋ฆ„์ด ๋‹ค๋ฅด๋ฉด ์˜๋ฏธ๋„ ๋‹ฌ๋ผ์ ธ์•ผ ํ•œ๋‹ค.
  • ๋ถˆ์šฉ์–ด๋Š” ์ค‘๋ณต์„ ์˜๋ฏธํ•จ. NameString, Name / Customer, CustomerObject ๋‘˜์˜ ์ฐจ์ด๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ํž˜๋“ค๋‹ค.
  1. ๋ฐœ์Œํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์„ ์‚ฌ์šฉ

  2. ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์„ ์‚ฌ์šฉ

  • ๋ฌธ์ž ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„, ์ƒ์ˆ˜๋Š” ์‰ฝ๊ฒŒ ๋ˆˆ์— ๋„์ง€ ์•Š๋Š”๋‹ค. ex) 7, e
  • ์ด๋ฆ„ ๊ธธ์ด๋Š” ๋ฒ”์œ„ ํฌ๊ธฐ์— ๋น„๋ก€ํ•ด์•ผ ํ•จ(์ €์ž๋Š” ๊ฐ„๋‹จํ•œ ๋ฉ”์„œ๋“œ์—์„œ ๋กœ์ปฌ ๋ณ€์ˆ˜๋งŒ! ํ•œ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•จ). ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค๋ฉด ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์ด์–ด์•ผ ํ•œ๋‹ค.
  1. ์ธ์ฝ”๋”ฉ์„ ํ”ผํ•˜๋ผ
  • ์ด ๋ถ€๋ถ„์€ ์˜› C ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋” ์™€๋‹ฟ๋Š” ์–˜๊ธฐ์ผ๋“ฏ ํ•˜๋‹ค. ํ—๊ฐ€๋ฆฌ์‹ ํ‘œ๊ธฐ๋ฒ•์ด๋‚˜ ๊ธฐํƒ€ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋”ฉ ํ•ด๋ณธ์ ์ด ์—†๋Š” ๋‚˜๋Š” ๊ทธ์ € ์‹ ๊ธฐํ• ๋ฟโ€ฆ
  • ๋ฉค๋ฒ„๋ฅผ ํ‘œ๊ธฐํ•˜๊ธฐ ์œ„ํ•ด m_ ๊ฐ™์€ ์ ‘๋‘์–ด๋ฅผ ๋ถ™์ด์ง€ ๋ง๋ž€ ์†Œ๋ฆฌ. ์ธํ„ฐํŽ˜์ด์Šค๋„ ์ธํ„ฐํŽ˜์ด์Šค์ž„์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ ‘๋‘์–ด(I)๋ฅผ ๋ถ™์ด์ง€ ์•Š๋Š”๊ฒŒ ์ข‹๋‹คํ•จ.
  1. ์ž์‹ ์˜ ๊ธฐ์–ต๋ ฅ์„ ์ž๋ž‘ํ•˜์ง€ ๋งˆ๋ผ
  • ๋ฃจํ”„ ๋ฒ”์œ„๊ฐ€ ์ž‘๊ณ  ๋‹ค๋ฅธ ์ด๋ฆ„๊ณผ ์ถฉ๋Œํ•˜์ง€ ์•Š์„ ๋• i,j,k ๊ดœ์ฐฎ์Œ(l์€ I๋ž‘ ํ—ท๊ฐˆ๋ฆฌ๋‹ˆ๊นŒ ๊ธˆ๋ฌผ). ๊ทธ ์™ธ์—๋Š” ์ ์ ˆ์น˜ ์•Š๋‹ค.
  1. ํด๋ž˜์Šค ์ด๋ฆ„์€ ๋ช…์‚ฌ๋‚˜ ๋ช…์‚ฌ๊ตฌ๋กœ, ๋ฉ”์„œ๋“œ ์ด๋ฆ„์€ ๋™์‚ฌ๋‚˜ ๋™์‚ฌ๊ตฌ๋กœ
  • ํด๋ž˜์Šค : Customer, WikiPage, Account, AccountParser ์ข‹์€ ์˜ˆ. Manager, Processor, Data, Info ๊ฐ™์€ ๋‹จ์–ด๋Š” ํ”ผํ•˜๊ธฐ. ๋™์‚ฌ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์˜๋ฌธ์  : manager๋‚˜ processor๋Š” ๋‹ค๋ฅธ ๋ฐ์„œ๋„ ์ผ๋ฐ˜์ ์œผ๋กœ ์“ฐ์ผ ์ˆ˜ ์žˆ์–ด์„œ ๊ทธ๋Ÿฐ๊ฐ€??..
  • ๋ฉ”์„œ๋“œ : postPayment, deletePage, save ์ข‹์€ ์˜ˆ.
  • ์ƒ์„ฑ์ž๋ฅผ ์˜ค๋ฒ„๋กœ๋“œ ํ•  ๋•Œ๋Š” ์ •์  ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ. ์ธ์ˆ˜๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์ž.
    Complex fulcrumPoint = Complex.FromRealNumber(23.0); //์•„๋ž˜๋ณด๋‹ค good
    Complex fulcrumPoint = new Complex(23.0);
    
  1. ๊ธฐ๋ฐœํ•œ ์ด๋ฆ„์€ ํ”ผํ•˜๋ผ
  2. ํ•œ ๊ฐœ๋…์— ํ•œ ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ผ
  • ๋˜‘๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ํด๋ž˜์Šค๋งˆ๋‹ค fetch, retrive, get์œผ๋กœ ์ œ๊ฐ๊ฐ ๋ถ€๋ฅด๋ฉด ํ˜ผ๋ž€์Šค๋Ÿฝ๋‹ค. ์ผ๊ด€์„ฑ ์žˆ๋Š” ์–ดํœ˜๋ฅผ ์‚ฌ์šฉํ•˜์ž.
  1. ๋ง์žฅ๋‚œ์„ ํ•˜์ง€ ๋งˆ๋ผ
  • ํ•œ ๋‹จ์–ด๋ฅผ ๋‘ ๊ฐ€์ง€ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ๋ผ.
  • ๊ธฐ์กด๊ฐ’ + ๊ธฐ์กด๊ฐ’ = ์ƒˆ๋กœ์šด๊ฐ’์— add์ผ๋Š”๋ฐ ์ง‘ํ•ฉ์— ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋„ add ์“ฐ๋ฉด ์•ˆ ๋œ๋‹ค. ์ฐจ๋ผ๋ฆฌ insert, append๋ฅผ ๋ถ™์ด์ž.
  1. ํ•ด๋ฒ• ์˜์—ญ์—์„œ ๊ฐ€์ ธ์˜จ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ
  • ๊ธฐ์ˆ  ๊ฐœ๋…์—” ๊ธฐ์ˆ  ์ด๋ฆ„์ด ์ ํ•ฉ. ์ฝ”๋“œ ์ฝ๋Š” ์‚ฌ๋žŒ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋‹ค. ex) JobQuene, AccountVisitor(VisitorํŒจํ„ด)
  1. ๋ฌธ์ œ ์˜์—ญ์—์„œ ๊ฐ€์ ธ์˜จ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ
  • ์ ์ ˆํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ ์šฉ์–ด๊ฐ€ ์—†๋‹ค๋ฉด ๋ฌธ์ œ ์˜์—ญ์—์„œ ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜จ๋‹ค. ํ•ด๋ฒ• ์˜์—ญ๊ณผ ๋ฌธ์ œ ์˜์—ญ์„ ๊ตฌ๋ถ„ํ•  ์ค„ ์•Œ์•„์•ผ ํ•˜๋Š”๋ฐ, ๋ฌธ์ œ ์˜์—ญ ๊ฐœ๋…๊ณผ ๊ด€๋ จ ๊นŠ์€ ์ฝ”๋“œ๋ฉด ๋ฌธ์ œ ์˜์—ญ์—์„œ ์ด๋ฆ„์„ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค. ๋ฌธ์ œ ์˜์—ญ์ด ๋ญ”์ง€ ์ž˜ ์•ˆ ์™€๋‹ฟ๋Š”๋‹ค. ์˜ˆ์‹œ๊ฐ€ ์—†์œผ๋‹ˆ ๋ญ”๋ง์ธ์ง€ ๋ชจ๋ฅด๊ฒ ์Œใ… 
  1. ์˜๋ฏธ ์žˆ๋Š” ๋งฅ๋ฝ์„ ์ถ”๊ฐ€ํ•˜๋ผ
  • ์˜๋ฏธ๊ฐ€ ๋ถ„๋ช…ํ•œ ๋‹จ์–ด๋Š” ๋งŽ์ง€ ์•Š์œผ๋‹ˆ ๋งฅ๋ฝ์„ ๋ถ€์—ฌํ•˜๋ผ๋Š” ๊ฒƒ.
  • state๋ผ๋Š” ๋ณ€์ˆ˜๋งŒ ์žˆ๋‹ค๋ฉด ์ฃผ์†Œ ์ผ๋ถ€๋ผ๋Š” ๊ฑธ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค. addrFirstName, addrLastName, addrState ์ด๋ ‡๊ฒŒ ๋งฅ๋ฝ์„ ์ถ”๊ฐ€. Address ํด๋ž˜์Šค ์ƒ์„ฑํ•˜๋ฉด ๋” ์ข‹์Œ. ์—ฌ๊ธฐ์— ์žˆ๋Š” ์˜ˆ์‹œ์ฝ”๋“œ ๋„ˆ๋ฌด ์ž˜ ๋˜์žˆ๋‹ค
  1. ๋ถˆํ•„์š”ํ•œ ๋งฅ๋ฝ์„ ์—†์• ๋ผ
  • ๊ณ ๊ธ‰ ํœ˜๋ฐœ์œ  ์ถฉ์ „์†Œ(Gas Station Deluxe) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง ๋‹ค๊ณ  ํด๋ž˜์Šค ์ด๋ฆ„ ์‹œ์ž‘์„ GSD๋กœ ๋งž์ถ”๋Š” ๊ฑด ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š๋‹ค.
  • ์˜๋ฏธ๊ฐ€ ๋ถ„๋ช…ํ•œ ๊ฒฝ์šฐ์— ํ•œํ•ด์„œ ์งง์€ ์ด๋ฆ„์ด ๊ธด ์ด๋ฆ„๋ณด๋‹ค ์ข‹๋‹ค.
  • accountAddress, customerAddress๋Š” Address ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค ๋ช…์œผ๋กœ ์ข‹์œผ๋‚˜ ํด๋ž˜์Šค๋ช…์œผ๋ก  ์ ํ•ฉํ•˜์ง€ ์•Š์Œ. Address๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์œผ๋กœ ์ข‹์Œ. ํฌํŠธ ์ฃผ์†Œ, MAC ์ฃผ์†Œ, ์›น ์ฃผ์†Œ๋ฅผ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•˜๋ฉด PostalAddress, MAC, URI ์ด๋ฆ„๋„ ์ข‹์Œ.

ํƒœ๊ทธ: , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ