Upgrade to Pro — share decks privately, control downloads, hide ads and more …

학습하는 조직과 Python: 뱅크샐러드 사례를 중심으로

학습하는 조직과 Python: 뱅크샐러드 사례를 중심으로

[파이콘 한국 2018]에서 발표한 [학습하는 조직과 Python: 뱅크샐러드 사례를 중심으로] 발표 자료입니다. https://www.pycon.kr/2018/program/82

Sunghyun Hwang

August 18, 2018
Tweet

More Decks by Sunghyun Hwang

Other Decks in Technology

Transcript

  1. ઑ૒੸೟ण ࠂ੟ೠ ઑ૒੉ ߓ਍׮ח Ѫ਷ ޖ঺ਸ ੄޷ೞחо? ਋ܻо ൔ൤ ঌҊ

    ੓ח ೟ण਷ ѐੋ੉ ઱୓о غӝ ٸޙী زੌೠ ߑधਵ۽ ઑ૒੉ ೟ण җ੿ী ଵৈೡ ࣻח হ׮. ѱ׮о ѐੋ੉ ೟णೠ׮Ҋ ೧ࢲ ઁಿ੉ա ࢲ࠺झܳ Ҋёীѱ ੹׳ೞח ߑधীࢲ ߸ചо ੓ח Ѫب ইפ׮. [1]
  2. ੹ా੸ ઑ૒ ೟णೞח ઑ૒ ഛपࢿ/৘ஏࢿ ֫਺ ݾ಴ ׳ࢿ ߑউ ݺഛ

    ੌೞח ߑध ࠙স ഝز ҅ദ, ࣁࠗࢎ೦, ৉ೡ, ৘࢑, ੌ੿
  3. ੹ా੸ ઑ૒ ೟णೞח ઑ૒ ഛपࢿ/৘ஏࢿ ֫਺ ծ਺ ݾ಴ ׳ࢿ ߑউ

    ݺഛ ࠛైݺ ੌೞח ߑध ࠙স ഈস ഝز ҅ദ, ࣁࠗࢎ೦, ৉ೡ, ৘࢑, ੌ੿ प೷, ஏ੿, Ѩૐ, ߑೱ, ై੗
  4. ੋఠ࠭ Ѿҗ ઁಿ౱੉ ౵ঈೠ о҅ࠗ ਬ੷ח ҕా੸ਵ۽ ੗࢑ ૐधਸ ਤೠ

    ਬੌೠ ߑߨਵ۽ ੗न੄ ૑୹ਸ ాઁೞח Ѫਸ ఖ ೠ ࢎۈٜ੉ۄח Ѫੑפ׮. … ٸޙী, Ӓٜীѱ ૑୹ അട੉ ‘੿ഛೞѱ' ӝ۾غח Ѫ਷ ݒ਋ ઺ਃ೤פ׮. … ߛ௼࢟۞٘ח ਤ৬ э਷ ੋࢎ੉౟ܳ ష؀۽ о҅ࠗ చ੄ ಞ૘ ੽Ӕࢿ / ಞܻ ࢿ / ੗ਬبী ؀ೠ ࢎਊࢿ Ѩૐਸ ૓೯ೞ৓Ҋ, ࣻ ର۹੄ ೐۽ షఋ੉ೝҗ Ѩૐਸ Ѣ୛ അ੤৬ э਷ ݽण੉ غ঻णפ׮. [2]
  5. ""

  6. Simple is better than complex. … If the implementation is

    hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. [3]
  7. Simple is better than complex. … If the implementation is

    hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. [3]
  8. Simple is better than complex. … If the implementation is

    hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. [3]
  9. Simple is better than complex. … If the implementation is

    hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. [3]
  10. 1. ૑Ә੄ ஠٘ ؘ੉ఠ ҳઑ ഛ݀ ө૑ח 2֙੉ ֈח दр੉

    ೙ਃ ೮׮. (2014֙ - 2016֙ ݈) 2. ஠٘ ؘ੉ఠ ഋకח ੿݈ ݆੉ ߸҃ غ঻׮. 2015֙ ղղ ஠٘ࢎীࢲ न࢚ಿ յ ٸ ݃׮ ޖࢲਛ׮. 3. ੉ઁ ӏੋש(بݫੋ ੹ޙо)਷ Gitҗ Pythonਸ ੜ ׮ܖन׮...
  11. प೯ਸ ਤೠ Ѿ੿ ೟णਸ ਤೠ Ѿ੿ ޙઁ ੿੄ ࢿמ ޙઁ

    ੉೧ ӝࣿ Java Python ӝр 3׳ - 1֙ 2׳ - 6׳ ೟ण ࠺ਊ
  12. प೯ਸ ਤೠ Ѿ੿ ೟णਸ ਤೠ Ѿ੿ ޙઁ ੿੄ ࢿמ ޙઁ

    ੉೧ ӝࣿ Java Python ӝр 3׳ - 1֙ 2׳ - 6׳ ೟ण ࠺ਊ x10 -
  13. @staticmethod cdef int _get_largest_index(list spendings, datetime date): cdef: int lo

    = 0, hi = len(spendings) - 1, ans = 0, mid while lo <= hi: mid = (lo + hi) // 2 if spendings[mid].date <= date: ans = mid lo = mid + 1 else: hi = mid - 1 return ans  *0  .BJO#PUUMFOFDL %PNBJO   %BUB4USVDUVSF"MHPSJUIN
  14. @tailrec private def largestIndex( l: Int, h: Int, i: Int,

    sp: Vector[Spending], target: LocalDateTime ): Int = if (l <= h) { val m = (l + h) / 2 sp lift m match { case Some(s) if !s.datetime.isAfter(target) ⇒ largestIndex(m + 1, h, m, sp, target) case _ ⇒ largestIndex(l, m - 1, i, sp, target) } } else { i }  *0  .BJO#PUUMFOFDL %PNBJO   %BUB4USVDUVSF"MHPSJUIN
  15. प೯ೞח ઑ૒ ೟णೞח ઑ૒[6] ള۲ ߓ਋Ҋ աࢲ ೯زೞӝ ೯زೣਵ۽ॄ ߓ਑

    ૒ਗ ੤۝ ઱য૓ ২࣌ ઺ীࢲ ࢶఖ द೯଱য়ܳ ాೠ प೷ पಁ ׼न, ઁ؀۽ ೮য? ਋ܻ, ߓ਍ Ѫ੉ ੓ա?
  16. 3FGFSFODFT [1] ী੉޷ ী٘ݢ٘ट, <౭߁>; p.29 [2] “ߛ௼࢟۞٘о ઁউೞח Ҋё઺ब

    UX/UI”; https://brunch.co.kr/@banksalad/298 [3] “PEP 20: The Zen of Python”; https://www.python.org/dev/peps/pep-0020/ [4] Allyn J. Thompson, <Making Your Own Telescope> [5] “؊ ݆਷ ੌਸ ೞݶࢲ ؊ ࡈܻ ೞӝ”; http://agile.egloos.com/1762301 [6] ী੉޷ ী٘ݢ٘ट, <౭߁>; p.46