Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

10

Share

Download to read offline

파이콘 한국 2017 키노트 : Back to the Basic

Download to read offline

파이콘 한국 2017에서 Back to the Basic 을 주제로 발표하였습니다.

파이콘 한국 2017 키노트 : Back to the Basic

  1. 1. / lqez
  2. 2. Ladies and Gentlemen
  3. 3. Dear Python travelers Ladies and Gentlemen
  4. 4. , 2014 2014 2015 APAC 2016 2017
  5. 5. , 2014 2014 2015 APAC 2016 2017
  6. 6. , 2014 2014 2015 APAC 2016 2017
  7. 7. , 2014 2014 2015 APAC 2016 2017
  8. 8. , 2014 2014 2015 APAC 2016 2017
  9. 9. ,
  10. 10. .
  11. 11. , , .
  12. 12. .
  13. 13. .
  14. 14. , ,
  15. 15. ,
  16. 16. .
  17. 17. .
  18. 18. .
  19. 19. 2014 , ‘ ’ https://www.pycon.kr/2014/program/26
  20. 20. APAC 2016, ‘ ’ https://www.pycon.kr/2016apac/program/42
  21. 21. : ‘ ’
  22. 22. # built-in wave module import wave wr = wave.open('pep373.wav', ‘rb') frames = wr.readframes(-1) https://docs.python.org/3/library/wave.html
  23. 23. $ python waveread.py 2014.wav Frqj?G#??6?< O?Cu???oF??WM?;E?????1*??????????p?6?? ? ^???7H????m?G?????g?^?7? ??2?U?c?F????z?:???????????????k???1?0???????"?*?1? m???????U???6?????~?????W?H??????n,5y?p???F?6 ?j?q?B?q???.?d???7?????????i0????9?k????Z?????????)? >6???? B??75Q?J?Q?????????????{???V?????k??????G????? 2'@G??;???<??????????????????????????(?.?e???D????? %?????p?9???=???,?5?{????????C?{????@?8????(??????? p????xp[?x???|,????????0?K?Q?MVDE???[4?sy????_??"?? g?"?????????j?6???c?N?=?%?1?(??d????*?X?d?B?!?$?/? ???y?a????????????????K?C???????????????z?0? ?????8???? f?????????d???A??@pspfC(?pfn/1?l?????????8Y????7??'?
  24. 24. # convert string into integer list import numpy values = numpy.fromstring(frames, 'Int16') https://docs.scipy.org/doc/numpy/reference/generated/ numpy.fromstring.html
  25. 25. $ python waveread.py 2014.wav 95 78 53 31 -2 -38 -28 5 -7 -42 -46 -50 -74 -72 -45 -36
  26. 26. $ python waveread.py 2014.wav 95 78 53 31 -2 -38 -28 5 -7 -42 -46 -50 -74 -72 -45 -36
  27. 27. $ spark 0 30 55 80 33 150 ▁▂▃▅▂▇ https://github.com/holman/spark
  28. 28. # print peak as sparkline import sparkline print( sparkline.sparkify(values).encode('utf-8') ) https://github.com/RedKrieg/pysparklines
  29. 29. $ python waveform.py applause.wav ▂▁▅▄▄████▇▆▆█▇▇▇▇▆▇▇▇█▇▇▇▅▅▇▆▅▄▂▂▂▁▁▁▁▁ $ python waveform.py 2014-part1.wav ▁▃▆▆▅▅▄▆▂▁▁▁▁▁▁███▆█▆█▇█▇▅▆▄▄▃▃▁▁▁▁▇█▄▃▆▇▅▇▆▅▄▄▄▃▁▁▁▆▆ ▆▅▆▄▄▃▃▄▁▁▁▅▆▆▅▅▄▆▅▅▄▂▂▁▆▇█▅▆▄▆▄▄▄▃▃▁▁▃▆▅▅▃▇▆▆▅▅▇▆▅▃▁▄ ▆▇▆▅▄▆▅▆▅▄▅▁▁▆██▅▅▅▇▆▅▆▆▄▅▄▁▅▅▄▅▆▅▄▄▅▃▃▅▄▁▄▆▄▆▆▆▆▅▅▂▁▃ ▆▅▆▅▅▂▂▁▁▁▁
  30. 30. $ python waveform.py applause.wav ▂▁▅▄▄████▇▆▆█▇▇▇▇▆▇▇▇█▇▇▇▅▅▇▆▅▄▂▂▂▁▁▁▁▁ $ python waveform.py 2014-part1.wav ▁▃▆▆▅▅▄▆▂▁▁▁▁▁▁███▆█▆█▇█▇▅▆▄▄▃▃▁▁▁▁▇█▄▃▆▇▅▇▆▅▄▄▄▃▁▁▁▆▆ ▆▅▆▄▄▃▃▄▁▁▁▅▆▆▅▅▄▆▅▅▄▂▂▁▆▇█▅▆▄▆▄▄▄▃▃▁▁▃▆▅▅▃▇▆▆▅▅▇▆▅▃▁▄ ▆▇▆▅▄▆▅▆▅▄▅▁▁▆██▅▅▅▇▆▅▆▆▄▅▄▁▅▅▄▅▆▅▄▄▅▃▃▅▄▁▄▆▄▆▆▆▆▅▅▂▁▃ ▆▅▆▅▅▂▂▁▁▁▁ ?
  31. 31. ▅▃▆▂▄▅▅▃▅▆▃▄▂▄▄▄▆▅▄▃▃▃▅▄▅▃▂▃▁▁▁▁▁▇▇▅▆▅▅▆▅▆▅▄▃▄▄▄▂▁▁▁▁▁▁▆▆▆▄▇█▇▄▄▄▄▆▅▃▃▄▄▄▆▃▄▆▆▅▄▃▂▃▃▂▂ ▂▁▁▁▁▁▁▂█▆▇▄▃▃▂▆▃▃▃▂▅▆▄▄▄▃▃▂▄▂▆▄▃▄▃▁▁▄▄▇█▅▆▅▄▄▄▃▄▃▄▄▃▅▄▃▃▃▅▆▂▆▃▁▁▁▁▁▂▂▁▂▆▇▅█▆▅▃▃▂▂▅▄▄▄ █▆▆▃▁▁▁▅▅▄▄▂▅▅▅▃▃▃▃▆▆▄▄▅▅▅▂▅▃▁▁▁█▇▅▇▅▆▆▇▅▅▄▄▃▁▁▁▁▂█▆██▅▃██▇▂▆▃▃▃▃▄▃▅▃▃▄▃▁▄▅▃▄▃▃▂▄▅▃▃▃▃ ▁▁▁▅▇▆▇▆▃▃▄▄▄▄▄▁▁▁▇▇▅▆▇▅▄▄▅▅▆▃▅▃▄▆▃▅▆▅▄▁▁▁▆▆▅▃▇▄▄▆▃▃▃▂▅▂▇▃▆▄▄▅▃▃▂▄▄▅▂▁▁▄▅▅▄▄▆▂▆▅▄▆▄▄▄▅ ▄▅▅▅▅▆▅▅▃▃▆▆▆▄▅▄▅▄▁▁▁▆▅▅▅▅▅▇▅▆▅▃▅▃▃▃▁▁▁▁▁▁▆▅▄█▇▆▅▅▅▆▆▅▁▁▆▅▆▆▆▄▄▄▃▂▁▁▁▅▄▅▄▅▄▄▆▅▄▄▅▅▄▆▅▃ ▁▁▁▆▃▆▄▅▄▄▄▅▄▄▆▄▄▃▃▃▂▄▅▅▆▇▄▅▅▄▄▂▄▄▄▄▂▁▁▁▁▁▆▇▆▅▇▄▅▄▄▄▄▆▄▄▇▇▄▄▄▆▅▅▃▄▃▃▃▂▃▁▁▁▁▁▂▆▇▇▄▄▅▅▂▅ ▄▅▅▆▅▃▃▃▂▁▁▁▁▁▆▆▅▃▂▆▅▆▇▄▃▃▃▆▇▆▄▄▅▃▃▃▄▂▁▁▃▆▄▆▄▃▃▃▄▂▄▃▂▄▁▁▁▆▇▆▆▃▁▁▁▁▁▁▆▇█▅▆▃▆▄▄▃▆▄▂▅▃▂▂▃ ▅▃▁▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▆▇▅▅▄▃▇▅▇▅▅▆▆▅▅▅▅▃▅▅▄▇▇▃▃▆▅▂▂▃▆▃▄▁▁▁▅▅▄▃▅▂▂▄▁▁▁▁▁▄█▆▄▄▅▆▅▅▅▆▃▃▅▅▃▃ ▅▄▃▃▃▂▂▁▁▁▁▁▁▂▂▂▂▂▂▂▂▂▂▂▁▁▂▁▁▁▁▁▁▁▂██▇▇▅▇█▇▇▃▁▆▇▆▅▆▁▄▅▄▃▇▅▄▆▄▄▄▃▅▂▃▃▂▁▁▁▁▁▁▃█▇▇▆▅▅▂▁▁▁ ▁▁▁▁▁▁▇▅▆▇█▃▁▂▁▁▁▁▁▁▁▁▁▁▄▃▄▇▆▂▁▁▂▄▅▅▃▁▁▁▁▁▁▁▁▁▁▁▂███▆█▇▇▇▇▄▄▂▂▁▁▁▁▁▁▂██▇████▆▅▆▆▇▇▄▆▇▆ ▆▄▁▁▁▆██▂▆▄▄▅▆▅▅▅▅▃▆▅▅▆▇▆▅▃▄▅▃▁▂▁▁▁▁▁█▆▅▆▄▃▃▂▆▆▅▄▃▃▄▄▂▃▁▁▁▁▁▂▃▂▄▆▄▄▄▅▂▁▁▁▁▁▆▇▂▆▃▂▂▂▁▁▁ ▁▁▁▁▁▁▁▆▅▆▆▆▄▆▄▄▅▅▂▄▄▆▅▄▃▂▁▁▁▁▁▄▃▄▄▅▃▅▄▆▇▄▄▄▃▁▃▂▁▁▁▁▁▆▅▅▄▅▆▄▄▆▆▇▄▃▆▅▆▄▃▄▃▄▂▁▁▁▁▆▆▅▂▅▅▃ ▃▄▃▄▄▅▄▄▇▇▄▄▃▃▂▁▁▁▃▅▂▇▅▄▄▇▇▅▂▄▅▆▅▇▂▃▄▂▂▁▁▁▁▁▂█▇██▅▅▄▅▃▆▆▆▃▃▂▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆▆▇█▇▅▄▄▆▆ ▆▃▂▁▁▁▇▇█▄▇▂▃▅▆▃▅▇▆▅▄▇▆▃▂▁▁▁▁▁▆▄▇▇▅▄▄▄▄▃▁▂▁▁▁▁▁▁▁▁▇▇▆▆▅▆▅▆▅▃▃▁▁▁▁▁▁▁▁▁▁█▆▇▆█▆▇▄▄▄▃▃▁▁▃ ▂▁▁▁▁▁▁▁▁▁▁▁▁▂▅█▇▅▇▆▆▃▂▃▃▂▃▂▅▄▂▃▁▄▄▅▄▆▃▄▂▁▁▁▃▄▅▆▅▃▃▅▂▇▆█▄▄▅▆▇▆▇▅▅▅▆▅▄▅▂▂▂▅▁▁▁▃▄▆▄▂▁▁▁▁ ▁▇██▇▇▄▄▂▁▁▁▁▆▅▆▆▅▄▄▇▂▆▂▆▅▁▁▁▁▁▁▁▅▄▄▆▄▄▄▄▃▄▃▄▃▅▅▄▅▄▄▁▁▁▁▁▁▁▁▁▁▁▁▁█▇▅▄▃▃▆▅▅▃▃▃▅▃▁▄▄▂▆▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃█▅▆▅▄▃▁█▅▄▃▆▅▄▄▅▅▆▅▃▃▄▄▄▄▄▅▅▃▁▁▄▇█▆▇▆▃▅▅▄▄▂▃▅▄▆▅▇▄▃▃▃▂▁▁▁▄▆▃▆▄▁▁▁▂▅▅▆▇ ▂▄▄▅▂▁▁▁▁▁▆▆▆▆▃▆▆▃▄▄▄▂▃▃▅▅▅▄▄▄▄▄▅▅▄▄▃▃▄▁▁▂▆▂▆▄▄▄▃▂▁▃▃▃▅▄▄▃▃▁▁▇██▅▆▆▂▄▂▄▃▄▃▃▃▂▁▁▁▁▁▁▃▇▄ ▆▆▅▇▆▆▃▆▆█▆▆▆▅▆▅▇▃▂▅▄▄▃▄▆▂▁▁▄▇▅█▄▅▇▅▃▃▃▃▂▁▃▄▃▂▂▃▁▁▁▁▁▁▁▃▄▃▄▄▄▁▁▁▁▁▁▁█▅▇▅▆▅▅▅▅▂▅▆▅▅▄▄▃▅ ▅▆▇▅▃▃▄▄▅▄▄▄▄▄▄▁▁▁▁▁▁▁▁▅▂▁▁▁▁▂▇▇▇▆█▅▄▆▄▄▅▄▁▁▁▂▆▆▃▅▄▅▃▄▂▃▁▅▄▄▁▁▁▁▁▁▆▂▃▆▅▅▃▅▅▆▅▅▃▁▁▁▁▁▁▁ ▁▁▅▆▄▄▅▃▇▇▄▂▄▅▄▄▃▃▅▅▅▃▃▄▃▄▁▁▁▁▁▁▁▁▁▁▃▂▁▁▁▁▁▅██▅█▃█▇▆█▄█▆█▇▇██▄▃▄▂▄▇▃▄▄▂▃▅▂▄▁▁▁█▅▄▃▅▄▃▅ ▅▁▁▁▁▁▁▁▁▇▆▆█▅▅▅▅▅▄▅▅▅▅▄▆▃▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆█▆▅▂▁▄▇▃▂▂▇▃▆▆▅▇█▅▃▆▇▅▂▅▆▅▅▃▃▂▆▂▄▂▁▁▁▁▁▁▁▇▇▆ ▆▄▅▄▄▆▅▄▅▅▅▂▄▂▆▆▃▃▃▃▃▄▄▄▅▃▁▁▁▁▆▄▃▅▆▅▅▆▆▆▄▄▄▇▆▆▄▃▄▄▃▆▃▄▃▅▃▃▁▅▃▁▁▁▁▁▁▁▁▄▆▆▃▁▇▆▆▆▅▄▆▄▄▄▄▃ ▄▄▄▃▁▁▁▆█▄▆▅▄▆▆▃▃▃▁▅▅▅▄▁▄▅▄▄▄▅▅▃▁▁▁▁▁▁▁▁▁▁▁█▆██▄▅▅▅▅▅▅▄▅▅▄▅▅▅▄▄▅▄▆▄▄▅▃▁▁▁▁▇▇▄█▆▄▅▆▄▆▅▅ ▂▃▁▁▁▁▄▆▅▃▆▄▇▅▄▅▅▄▄▄▂▁▃▇▅▇▃▄▆▆▄▅▃▃▄▄▄▃▃▃▄▅▃▄▁▁▁▁▂▅▇▆▄▃▃▃▅▂▄▄▄▃▃▃▆▅▄▄▃▆▃▃▃▂▁▁▂▅▆▅▅▆▅▄▃▄ ▄▅▄▅▆▄▃▂▂▁▁▁▁▁▁▁▁▁▂█▃▆▇█▅▆▃▆▅▄▅▆▅▁▁▁▁▆▅▆▇▄▅▃█▆▄▄▃▂▄▃▃▆▃▄▄▄▃▅▃▃▄▅▄▄▄▄▅▆▂▁▁▁▆▆▅█▅▆▄▃▄▄▆▆ ▃▄▃▃▄▅▃▄▃▆▅▄▃▅▅▃▃▄▂▁▁▁▁▁▁▁▁▂▆▅▅▆█▇▃▅▄▅▇▄▅▃▃▁▁▁▁▆▇▇▆▅▆▆▄▅▃▆▆▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▄▇██▇▄▅▆▅▅▄ ▆▄▆▂▁▁▂▇▇▃▅▅▆▆▄▃▃▅▄▃▅▆▄▃▄▂▁▁▁▄▄▇▄▂▅▇▃▄▃▄▄▃▃▂▄▂▁▁▁▁▆▆▅▄▂▁▁▁▁▁▁▄▇▆▇▄▂▁▁▃▂▄▃▄▃▃▃▃▄▄▃▂▁▁▁▁ ▂▆▄▆▄▄▅▅▄▃▄▃▃▃▁▁▁▁▁▁▁█▇█▅▁▁▁▁▁▁▁▁▁▁▅▁▁▁█▇▆▆▆▅█▇▃█▅▆▆▆▆▆▄▆▆▅▆▅▄▄▄▃▄▃▁▁▁▁▂█▅▅▂▄▅▅▃▃▂▃▄▆▆ ▃▁▅▃▃▂▅▅▄▄▁▁▁▆▂▆▃▄▃▃▄▄▃▃▅▄▃▄▂▅▇▅▄▄▃▆▃▃▄▃▃▄▃▁▁▁▅▃▄▃▅▅▆▆▆▄▄▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁███▆█▃▇▆██▂▅▆▆ ▄█▆▆▆▆▂▁▁▁▁██▆▂▃█▇▇▆▄▅▄▁▅▃▂▁▁▁▁▁▁▇▃▆▄▄▅▇▆▅▁▃▃▅▃▃▄▄▄▃▁▁▁▂▇▃▄▅▄▅▅▄▄▄▄▃▇▂▄▅▆▆▇▇▇▂▆█▄▃▃▂▁▁ ▁▁▃▅▄▄▃▆▄▄▂▄▃▄▅▄▅▄▄▅▅▅▄▃▁▁▁▁▁█▇▆▇▄▆▅▄▄▄▅▅▄▅▆▅▁▁▆▅▂▆▄▄▆▃▅▇▄▅▇▃▂▁▁▁▁▁█▅▆▆▆▆▄▆▂▄▂▅▃▁▁▁▁▁▁ ▁▁▁▆▅▅▄▄▃▁▁▆██▆▇▄▆▃▅▄▆▃▃▃▃▁▅▅▄▅▅▆▇▃▃▃▃▄▃▄▆▆▆▅▅▃▄▂▁▁▅▇▆▆▅▄▃▃▄▄▂▃▂▂▁▁▁▁▁▁▁▁▅▄▅██▄▄▄▆▇▇▆▅
  32. 32. ▅▃▆▂▄▅▅▃▅▆▃▄▂▄▄▄▆▅▄▃▃▃▅▄▅▃▂▃▁▁▁▁▁▇▇▅▆▅▅▆▅▆▅▄▃▄▄▄▂▁▁▁▁▁▁▆▆▆▄▇█▇▄▄▄▄▆▅▃▃▄▄▄▆▃▄▆▆▅▄▃▂▃▃▂▂ ▂▁▁▁▁▁▁▂█▆▇▄▃▃▂▆▃▃▃▂▅▆▄▄▄▃▃▂▄▂▆▄▃▄▃▁▁▄▄▇█▅▆▅▄▄▄▃▄▃▄▄▃▅▄▃▃▃▅▆▂▆▃▁▁▁▁▁▂▂▁▂▆▇▅█▆▅▃▃▂▂▅▄▄▄ █▆▆▃▁▁▁▅▅▄▄▂▅▅▅▃▃▃▃▆▆▄▄▅▅▅▂▅▃▁▁▁█▇▅▇▅▆▆▇▅▅▄▄▃▁▁▁▁▂█▆██▅▃██▇▂▆▃▃▃▃▄▃▅▃▃▄▃▁▄▅▃▄▃▃▂▄▅▃▃▃▃ ▁▁▁▅▇▆▇▆▃▃▄▄▄▄▄▁▁▁▇▇▅▆▇▅▄▄▅▅▆▃▅▃▄▆▃▅▆▅▄▁▁▁▆▆▅▃▇▄▄▆▃▃▃▂▅▂▇▃▆▄▄▅▃▃▂▄▄▅▂▁▁▄▅▅▄▄▆▂▆▅▄▆▄▄▄▅ ▄▅▅▅▅▆▅▅▃▃▆▆▆▄▅▄▅▄▁▁▁▆▅▅▅▅▅▇▅▆▅▃▅▃▃▃▁▁▁▁▁▁▆▅▄█▇▆▅▅▅▆▆▅▁▁▆▅▆▆▆▄▄▄▃▂▁▁▁▅▄▅▄▅▄▄▆▅▄▄▅▅▄▆▅▃ ▁▁▁▆▃▆▄▅▄▄▄▅▄▄▆▄▄▃▃▃▂▄▅▅▆▇▄▅▅▄▄▂▄▄▄▄▂▁▁▁▁▁▆▇▆▅▇▄▅▄▄▄▄▆▄▄▇▇▄▄▄▆▅▅▃▄▃▃▃▂▃▁▁▁▁▁▂▆▇▇▄▄▅▅▂▅ ▄▅▅▆▅▃▃▃▂▁▁▁▁▁▆▆▅▃▂▆▅▆▇▄▃▃▃▆▇▆▄▄▅▃▃▃▄▂▁▁▃▆▄▆▄▃▃▃▄▂▄▃▂▄▁▁▁▆▇▆▆▃▁▁▁▁▁▁▆▇█▅▆▃▆▄▄▃▆▄▂▅▃▂▂▃ ▅▃▁▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▆▇▅▅▄▃▇▅▇▅▅▆▆▅▅▅▅▃▅▅▄▇▇▃▃▆▅▂▂▃▆▃▄▁▁▁▅▅▄▃▅▂▂▄▁▁▁▁▁▄█▆▄▄▅▆▅▅▅▆▃▃▅▅▃▃ ▅▄▃▃▃▂▂▁▁▁▁▁▁▂▂▂▂▂▂▂▂▂▂▂▁▁▂▁▁▁▁▁▁▁▂██▇▇▅▇█▇▇▃▁▆▇▆▅▆▁▄▅▄▃▇▅▄▆▄▄▄▃▅▂▃▃▂▁▁▁▁▁▁▃█▇▇▆▅▅▂▁▁▁ ▁▁▁▁▁▁▇▅▆▇█▃▁▂▁▁▁▁▁▁▁▁▁▁▄▃▄▇▆▂▁▁▂▄▅▅▃▁▁▁▁▁▁▁▁▁▁▁▂███▆█▇▇▇▇▄▄▂▂▁▁▁▁▁▁▂██▇████▆▅▆▆▇▇▄▆▇▆ ▆▄▁▁▁▆██▂▆▄▄▅▆▅▅▅▅▃▆▅▅▆▇▆▅▃▄▅▃▁▂▁▁▁▁▁█▆▅▆▄▃▃▂▆▆▅▄▃▃▄▄▂▃▁▁▁▁▁▂▃▂▄▆▄▄▄▅▂▁▁▁▁▁▆▇▂▆▃▂▂▂▁▁▁ ▁▁▁▁▁▁▁▆▅▆▆▆▄▆▄▄▅▅▂▄▄▆▅▄▃▂▁▁▁▁▁▄▃▄▄▅▃▅▄▆▇▄▄▄▃▁▃▂▁▁▁▁▁▆▅▅▄▅▆▄▄▆▆▇▄▃▆▅▆▄▃▄▃▄▂▁▁▁▁▆▆▅▂▅▅▃ ▃▄▃▄▄▅▄▄▇▇▄▄▃▃▂▁▁▁▃▅▂▇▅▄▄▇▇▅▂▄▅▆▅▇▂▃▄▂▂▁▁▁▁▁▂█▇██▅▅▄▅▃▆▆▆▃▃▂▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆▆▇█▇▅▄▄▆▆ ▆▃▂▁▁▁▇▇█▄▇▂▃▅▆▃▅▇▆▅▄▇▆▃▂▁▁▁▁▁▆▄▇▇▅▄▄▄▄▃▁▂▁▁▁▁▁▁▁▁▇▇▆▆▅▆▅▆▅▃▃▁▁▁▁▁▁▁▁▁▁█▆▇▆█▆▇▄▄▄▃▃▁▁▃ ▂▁▁▁▁▁▁▁▁▁▁▁▁▂▅█▇▅▇▆▆▃▂▃▃▂▃▂▅▄▂▃▁▄▄▅▄▆▃▄▂▁▁▁▃▄▅▆▅▃▃▅▂▇▆█▄▄▅▆▇▆▇▅▅▅▆▅▄▅▂▂▂▅▁▁▁▃▄▆▄▂▁▁▁▁ ▁▇██▇▇▄▄▂▁▁▁▁▆▅▆▆▅▄▄▇▂▆▂▆▅▁▁▁▁▁▁▁▅▄▄▆▄▄▄▄▃▄▃▄▃▅▅▄▅▄▄▁▁▁▁▁▁▁▁▁▁▁▁▁█▇▅▄▃▃▆▅▅▃▃▃▅▃▁▄▄▂▆▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃█▅▆▅▄▃▁█▅▄▃▆▅▄▄▅▅▆▅▃▃▄▄▄▄▄▅▅▃▁▁▄▇█▆▇▆▃▅▅▄▄▂▃▅▄▆▅▇▄▃▃▃▂▁▁▁▄▆▃▆▄▁▁▁▂▅▅▆▇ ▂▄▄▅▂▁▁▁▁▁▆▆▆▆▃▆▆▃▄▄▄▂▃▃▅▅▅▄▄▄▄▄▅▅▄▄▃▃▄▁▁▂▆▂▆▄▄▄▃▂▁▃▃▃▅▄▄▃▃▁▁▇██▅▆▆▂▄▂▄▃▄▃▃▃▂▁▁▁▁▁▁▃▇▄ ▆▆▅▇▆▆▃▆▆█▆▆▆▅▆▅▇▃▂▅▄▄▃▄▆▂▁▁▄▇▅█▄▅▇▅▃▃▃▃▂▁▃▄▃▂▂▃▁▁▁▁▁▁▁▃▄▃▄▄▄▁▁▁▁▁▁▁█▅▇▅▆▅▅▅▅▂▅▆▅▅▄▄▃▅ ▅▆▇▅▃▃▄▄▅▄▄▄▄▄▄▁▁▁▁▁▁▁▁▅▂▁▁▁▁▂▇▇▇▆█▅▄▆▄▄▅▄▁▁▁▂▆▆▃▅▄▅▃▄▂▃▁▅▄▄▁▁▁▁▁▁▆▂▃▆▅▅▃▅▅▆▅▅▃▁▁▁▁▁▁▁ ▁▁▅▆▄▄▅▃▇▇▄▂▄▅▄▄▃▃▅▅▅▃▃▄▃▄▁▁▁▁▁▁▁▁▁▁▃▂▁▁▁▁▁▅██▅█▃█▇▆█▄█▆█▇▇██▄▃▄▂▄▇▃▄▄▂▃▅▂▄▁▁▁█▅▄▃▅▄▃▅ ▅▁▁▁▁▁▁▁▁▇▆▆█▅▅▅▅▅▄▅▅▅▅▄▆▃▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆█▆▅▂▁▄▇▃▂▂▇▃▆▆▅▇█▅▃▆▇▅▂▅▆▅▅▃▃▂▆▂▄▂▁▁▁▁▁▁▁▇▇▆ ▆▄▅▄▄▆▅▄▅▅▅▂▄▂▆▆▃▃▃▃▃▄▄▄▅▃▁▁▁▁▆▄▃▅▆▅▅▆▆▆▄▄▄▇▆▆▄▃▄▄▃▆▃▄▃▅▃▃▁▅▃▁▁▁▁▁▁▁▁▄▆▆▃▁▇▆▆▆▅▄▆▄▄▄▄▃ ▄▄▄▃▁▁▁▆█▄▆▅▄▆▆▃▃▃▁▅▅▅▄▁▄▅▄▄▄▅▅▃▁▁▁▁▁▁▁▁▁▁▁█▆██▄▅▅▅▅▅▅▄▅▅▄▅▅▅▄▄▅▄▆▄▄▅▃▁▁▁▁▇▇▄█▆▄▅▆▄▆▅▅ ▂▃▁▁▁▁▄▆▅▃▆▄▇▅▄▅▅▄▄▄▂▁▃▇▅▇▃▄▆▆▄▅▃▃▄▄▄▃▃▃▄▅▃▄▁▁▁▁▂▅▇▆▄▃▃▃▅▂▄▄▄▃▃▃▆▅▄▄▃▆▃▃▃▂▁▁▂▅▆▅▅▆▅▄▃▄ ▄▅▄▅▆▄▃▂▂▁▁▁▁▁▁▁▁▁▂█▃▆▇█▅▆▃▆▅▄▅▆▅▁▁▁▁▆▅▆▇▄▅▃█▆▄▄▃▂▄▃▃▆▃▄▄▄▃▅▃▃▄▅▄▄▄▄▅▆▂▁▁▁▆▆▅█▅▆▄▃▄▄▆▆ ▃▄▃▃▄▅▃▄▃▆▅▄▃▅▅▃▃▄▂▁▁▁▁▁▁▁▁▂▆▅▅▆█▇▃▅▄▅▇▄▅▃▃▁▁▁▁▆▇▇▆▅▆▆▄▅▃▆▆▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▄▇██▇▄▅▆▅▅▄ ▆▄▆▂▁▁▂▇▇▃▅▅▆▆▄▃▃▅▄▃▅▆▄▃▄▂▁▁▁▄▄▇▄▂▅▇▃▄▃▄▄▃▃▂▄▂▁▁▁▁▆▆▅▄▂▁▁▁▁▁▁▄▇▆▇▄▂▁▁▃▂▄▃▄▃▃▃▃▄▄▃▂▁▁▁▁ ▂▆▄▆▄▄▅▅▄▃▄▃▃▃▁▁▁▁▁▁▁█▇█▅▁▁▁▁▁▁▁▁▁▁▅▁▁▁█▇▆▆▆▅█▇▃█▅▆▆▆▆▆▄▆▆▅▆▅▄▄▄▃▄▃▁▁▁▁▂█▅▅▂▄▅▅▃▃▂▃▄▆▆ ▃▁▅▃▃▂▅▅▄▄▁▁▁▆▂▆▃▄▃▃▄▄▃▃▅▄▃▄▂▅▇▅▄▄▃▆▃▃▄▃▃▄▃▁▁▁▅▃▄▃▅▅▆▆▆▄▄▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁███▆█▃▇▆██▂▅▆▆ ▄█▆▆▆▆▂▁▁▁▁██▆▂▃█▇▇▆▄▅▄▁▅▃▂▁▁▁▁▁▁▇▃▆▄▄▅▇▆▅▁▃▃▅▃▃▄▄▄▃▁▁▁▂▇▃▄▅▄▅▅▄▄▄▄▃▇▂▄▅▆▆▇▇▇▂▆█▄▃▃▂▁▁ ▁▁▃▅▄▄▃▆▄▄▂▄▃▄▅▄▅▄▄▅▅▅▄▃▁▁▁▁▁█▇▆▇▄▆▅▄▄▄▅▅▄▅▆▅▁▁▆▅▂▆▄▄▆▃▅▇▄▅▇▃▂▁▁▁▁▁█▅▆▆▆▆▄▆▂▄▂▅▃▁▁▁▁▁▁ ▁▁▁▆▅▅▄▄▃▁▁▆██▆▇▄▆▃▅▄▆▃▃▃▃▁▅▅▄▅▅▆▇▃▃▃▃▄▃▄▆▆▆▅▅▃▄▂▁▁▅▇▆▆▅▄▃▃▄▄▂▃▂▂▁▁▁▁▁▁▁▁▅▄▅██▄▄▄▆▇▇▆▅
  33. 33. ▅▃▆▂▄▅▅▃▅▆▃▄▂▄▄▄▆▅▄▃▃▃▅▄▅▃▂▃▁▁▁▁▁▇▇▅▆▅▅▆▅▆▅▄▃▄▄▄▂▁▁▁▁▁▁▆▆▆▄▇█▇▄▄▄▄▆▅▃▃▄▄▄▆▃▄▆▆▅▄▃▂▃▃▂▂ ▂▁▁▁▁▁▁▂█▆▇▄▃▃▂▆▃▃▃▂▅▆▄▄▄▃▃▂▄▂▆▄▃▄▃▁▁▄▄▇█▅▆▅▄▄▄▃▄▃▄▄▃▅▄▃▃▃▅▆▂▆▃▁▁▁▁▁▂▂▁▂▆▇▅█▆▅▃▃▂▂▅▄▄▄ █▆▆▃▁▁▁▅▅▄▄▂▅▅▅▃▃▃▃▆▆▄▄▅▅▅▂▅▃▁▁▁█▇▅▇▅▆▆▇▅▅▄▄▃▁▁▁▁▂█▆██▅▃██▇▂▆▃▃▃▃▄▃▅▃▃▄▃▁▄▅▃▄▃▃▂▄▅▃▃▃▃ ▁▁▁▅▇▆▇▆▃▃▄▄▄▄▄▁▁▁▇▇▅▆▇▅▄▄▅▅▆▃▅▃▄▆▃▅▆▅▄▁▁▁▆▆▅▃▇▄▄▆▃▃▃▂▅▂▇▃▆▄▄▅▃▃▂▄▄▅▂▁▁▄▅▅▄▄▆▂▆▅▄▆▄▄▄▅ ▄▅▅▅▅▆▅▅▃▃▆▆▆▄▅▄▅▄▁▁▁▆▅▅▅▅▅▇▅▆▅▃▅▃▃▃▁▁▁▁▁▁▆▅▄█▇▆▅▅▅▆▆▅▁▁▆▅▆▆▆▄▄▄▃▂▁▁▁▅▄▅▄▅▄▄▆▅▄▄▅▅▄▆▅▃ ▁▁▁▆▃▆▄▅▄▄▄▅▄▄▆▄▄▃▃▃▂▄▅▅▆▇▄▅▅▄▄▂▄▄▄▄▂▁▁▁▁▁▆▇▆▅▇▄▅▄▄▄▄▆▄▄▇▇▄▄▄▆▅▅▃▄▃▃▃▂▃▁▁▁▁▁▂▆▇▇▄▄▅▅▂▅ ▄▅▅▆▅▃▃▃▂▁▁▁▁▁▆▆▅▃▂▆▅▆▇▄▃▃▃▆▇▆▄▄▅▃▃▃▄▂▁▁▃▆▄▆▄▃▃▃▄▂▄▃▂▄▁▁▁▆▇▆▆▃▁▁▁▁▁▁▆▇█▅▆▃▆▄▄▃▆▄▂▅▃▂▂▃ ▅▃▁▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▆▇▅▅▄▃▇▅▇▅▅▆▆▅▅▅▅▃▅▅▄▇▇▃▃▆▅▂▂▃▆▃▄▁▁▁▅▅▄▃▅▂▂▄▁▁▁▁▁▄█▆▄▄▅▆▅▅▅▆▃▃▅▅▃▃ ▅▄▃▃▃▂▂▁▁▁▁▁▁▂▂▂▂▂▂▂▂▂▂▂▁▁▂▁▁▁▁▁▁▁▂██▇▇▅▇█▇▇▃▁▆▇▆▅▆▁▄▅▄▃▇▅▄▆▄▄▄▃▅▂▃▃▂▁▁▁▁▁▁▃█▇▇▆▅▅▂▁▁▁ ▁▁▁▁▁▁▇▅▆▇█▃▁▂▁▁▁▁▁▁▁▁▁▁▄▃▄▇▆▂▁▁▂▄▅▅▃▁▁▁▁▁▁▁▁▁▁▁▂███▆█▇▇▇▇▄▄▂▂▁▁▁▁▁▁▂██▇████▆▅▆▆▇▇▄▆▇▆ ▆▄▁▁▁▆██▂▆▄▄▅▆▅▅▅▅▃▆▅▅▆▇▆▅▃▄▅▃▁▂▁▁▁▁▁█▆▅▆▄▃▃▂▆▆▅▄▃▃▄▄▂▃▁▁▁▁▁▂▃▂▄▆▄▄▄▅▂▁▁▁▁▁▆▇▂▆▃▂▂▂▁▁▁ ▁▁▁▁▁▁▁▆▅▆▆▆▄▆▄▄▅▅▂▄▄▆▅▄▃▂▁▁▁▁▁▄▃▄▄▅▃▅▄▆▇▄▄▄▃▁▃▂▁▁▁▁▁▆▅▅▄▅▆▄▄▆▆▇▄▃▆▅▆▄▃▄▃▄▂▁▁▁▁▆▆▅▂▅▅▃ ▃▄▃▄▄▅▄▄▇▇▄▄▃▃▂▁▁▁▃▅▂▇▅▄▄▇▇▅▂▄▅▆▅▇▂▃▄▂▂▁▁▁▁▁▂█▇██▅▅▄▅▃▆▆▆▃▃▂▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆▆▇█▇▅▄▄▆▆ ▆▃▂▁▁▁▇▇█▄▇▂▃▅▆▃▅▇▆▅▄▇▆▃▂▁▁▁▁▁▆▄▇▇▅▄▄▄▄▃▁▂▁▁▁▁▁▁▁▁▇▇▆▆▅▆▅▆▅▃▃▁▁▁▁▁▁▁▁▁▁█▆▇▆█▆▇▄▄▄▃▃▁▁▃ ▂▁▁▁▁▁▁▁▁▁▁▁▁▂▅█▇▅▇▆▆▃▂▃▃▂▃▂▅▄▂▃▁▄▄▅▄▆▃▄▂▁▁▁▃▄▅▆▅▃▃▅▂▇▆█▄▄▅▆▇▆▇▅▅▅▆▅▄▅▂▂▂▅▁▁▁▃▄▆▄▂▁▁▁▁ ▁▇██▇▇▄▄▂▁▁▁▁▆▅▆▆▅▄▄▇▂▆▂▆▅▁▁▁▁▁▁▁▅▄▄▆▄▄▄▄▃▄▃▄▃▅▅▄▅▄▄▁▁▁▁▁▁▁▁▁▁▁▁▁█▇▅▄▃▃▆▅▅▃▃▃▅▃▁▄▄▂▆▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃█▅▆▅▄▃▁█▅▄▃▆▅▄▄▅▅▆▅▃▃▄▄▄▄▄▅▅▃▁▁▄▇█▆▇▆▃▅▅▄▄▂▃▅▄▆▅▇▄▃▃▃▂▁▁▁▄▆▃▆▄▁▁▁▂▅▅▆▇ ▂▄▄▅▂▁▁▁▁▁▆▆▆▆▃▆▆▃▄▄▄▂▃▃▅▅▅▄▄▄▄▄▅▅▄▄▃▃▄▁▁▂▆▂▆▄▄▄▃▂▁▃▃▃▅▄▄▃▃▁▁▇██▅▆▆▂▄▂▄▃▄▃▃▃▂▁▁▁▁▁▁▃▇▄ ▆▆▅▇▆▆▃▆▆█▆▆▆▅▆▅▇▃▂▅▄▄▃▄▆▂▁▁▄▇▅█▄▅▇▅▃▃▃▃▂▁▃▄▃▂▂▃▁▁▁▁▁▁▁▃▄▃▄▄▄▁▁▁▁▁▁▁█▅▇▅▆▅▅▅▅▂▅▆▅▅▄▄▃▅ ▅▆▇▅▃▃▄▄▅▄▄▄▄▄▄▁▁▁▁▁▁▁▁▅▂▁▁▁▁▂▇▇▇▆█▅▄▆▄▄▅▄▁▁▁▂▆▆▃▅▄▅▃▄▂▃▁▅▄▄▁▁▁▁▁▁▆▂▃▆▅▅▃▅▅▆▅▅▃▁▁▁▁▁▁▁ ▁▁▅▆▄▄▅▃▇▇▄▂▄▅▄▄▃▃▅▅▅▃▃▄▃▄▁▁▁▁▁▁▁▁▁▁▃▂▁▁▁▁▁▅██▅█▃█▇▆█▄█▆█▇▇██▄▃▄▂▄▇▃▄▄▂▃▅▂▄▁▁▁█▅▄▃▅▄▃▅ ▅▁▁▁▁▁▁▁▁▇▆▆█▅▅▅▅▅▄▅▅▅▅▄▆▃▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆█▆▅▂▁▄▇▃▂▂▇▃▆▆▅▇█▅▃▆▇▅▂▅▆▅▅▃▃▂▆▂▄▂▁▁▁▁▁▁▁▇▇▆ ▆▄▅▄▄▆▅▄▅▅▅▂▄▂▆▆▃▃▃▃▃▄▄▄▅▃▁▁▁▁▆▄▃▅▆▅▅▆▆▆▄▄▄▇▆▆▄▃▄▄▃▆▃▄▃▅▃▃▁▅▃▁▁▁▁▁▁▁▁▄▆▆▃▁▇▆▆▆▅▄▆▄▄▄▄▃ ▄▄▄▃▁▁▁▆█▄▆▅▄▆▆▃▃▃▁▅▅▅▄▁▄▅▄▄▄▅▅▃▁▁▁▁▁▁▁▁▁▁▁█▆██▄▅▅▅▅▅▅▄▅▅▄▅▅▅▄▄▅▄▆▄▄▅▃▁▁▁▁▇▇▄█▆▄▅▆▄▆▅▅ ▂▃▁▁▁▁▄▆▅▃▆▄▇▅▄▅▅▄▄▄▂▁▃▇▅▇▃▄▆▆▄▅▃▃▄▄▄▃▃▃▄▅▃▄▁▁▁▁▂▅▇▆▄▃▃▃▅▂▄▄▄▃▃▃▆▅▄▄▃▆▃▃▃▂▁▁▂▅▆▅▅▆▅▄▃▄ ▄▅▄▅▆▄▃▂▂▁▁▁▁▁▁▁▁▁▂█▃▆▇█▅▆▃▆▅▄▅▆▅▁▁▁▁▆▅▆▇▄▅▃█▆▄▄▃▂▄▃▃▆▃▄▄▄▃▅▃▃▄▅▄▄▄▄▅▆▂▁▁▁▆▆▅█▅▆▄▃▄▄▆▆ ▃▄▃▃▄▅▃▄▃▆▅▄▃▅▅▃▃▄▂▁▁▁▁▁▁▁▁▂▆▅▅▆█▇▃▅▄▅▇▄▅▃▃▁▁▁▁▆▇▇▆▅▆▆▄▅▃▆▆▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▄▇██▇▄▅▆▅▅▄ ▆▄▆▂▁▁▂▇▇▃▅▅▆▆▄▃▃▅▄▃▅▆▄▃▄▂▁▁▁▄▄▇▄▂▅▇▃▄▃▄▄▃▃▂▄▂▁▁▁▁▆▆▅▄▂▁▁▁▁▁▁▄▇▆▇▄▂▁▁▃▂▄▃▄▃▃▃▃▄▄▃▂▁▁▁▁ ▂▆▄▆▄▄▅▅▄▃▄▃▃▃▁▁▁▁▁▁▁█▇█▅▁▁▁▁▁▁▁▁▁▁▅▁▁▁█▇▆▆▆▅█▇▃█▅▆▆▆▆▆▄▆▆▅▆▅▄▄▄▃▄▃▁▁▁▁▂█▅▅▂▄▅▅▃▃▂▃▄▆▆ ▃▁▅▃▃▂▅▅▄▄▁▁▁▆▂▆▃▄▃▃▄▄▃▃▅▄▃▄▂▅▇▅▄▄▃▆▃▃▄▃▃▄▃▁▁▁▅▃▄▃▅▅▆▆▆▄▄▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁███▆█▃▇▆██▂▅▆▆ ▄█▆▆▆▆▂▁▁▁▁██▆▂▃█▇▇▆▄▅▄▁▅▃▂▁▁▁▁▁▁▇▃▆▄▄▅▇▆▅▁▃▃▅▃▃▄▄▄▃▁▁▁▂▇▃▄▅▄▅▅▄▄▄▄▃▇▂▄▅▆▆▇▇▇▂▆█▄▃▃▂▁▁ ▁▁▃▅▄▄▃▆▄▄▂▄▃▄▅▄▅▄▄▅▅▅▄▃▁▁▁▁▁█▇▆▇▄▆▅▄▄▄▅▅▄▅▆▅▁▁▆▅▂▆▄▄▆▃▅▇▄▅▇▃▂▁▁▁▁▁█▅▆▆▆▆▄▆▂▄▂▅▃▁▁▁▁▁▁ ▁▁▁▆▅▅▄▄▃▁▁▆██▆▇▄▆▃▅▄▆▃▃▃▃▁▅▅▄▅▅▆▇▃▃▃▃▄▃▄▆▆▆▅▅▃▄▂▁▁▅▇▆▆▅▄▃▃▄▄▂▃▂▂▁▁▁▁▁▁▁▁▅▄▅██▄▄▄▆▇▇▆▅ 8 24
  34. 34. ▅▃▆▂▄▅▅▃▅▆▃▄▂▄▄▄▆▅▄▃▃▃▅▄▅▃▂▃▁▁▁▁▁▇▇▅▆▅▅▆▅▆▅▄▃▄▄▄▂▁▁▁▁▁▁▆▆▆▄▇█▇▄▄▄▄▆▅▃▃▄▄▄▆▃▄▆▆▅▄▃▂▃▃▂▂ ▂▁▁▁▁▁▁▂█▆▇▄▃▃▂▆▃▃▃▂▅▆▄▄▄▃▃▂▄▂▆▄▃▄▃▁▁▄▄▇█▅▆▅▄▄▄▃▄▃▄▄▃▅▄▃▃▃▅▆▂▆▃▁▁▁▁▁▂▂▁▂▆▇▅█▆▅▃▃▂▂▅▄▄▄ █▆▆▃▁▁▁▅▅▄▄▂▅▅▅▃▃▃▃▆▆▄▄▅▅▅▂▅▃▁▁▁█▇▅▇▅▆▆▇▅▅▄▄▃▁▁▁▁▂█▆██▅▃██▇▂▆▃▃▃▃▄▃▅▃▃▄▃▁▄▅▃▄▃▃▂▄▅▃▃▃▃ ▁▁▁▅▇▆▇▆▃▃▄▄▄▄▄▁▁▁▇▇▅▆▇▅▄▄▅▅▆▃▅▃▄▆▃▅▆▅▄▁▁▁▆▆▅▃▇▄▄▆▃▃▃▂▅▂▇▃▆▄▄▅▃▃▂▄▄▅▂▁▁▄▅▅▄▄▆▂▆▅▄▆▄▄▄▅ ▄▅▅▅▅▆▅▅▃▃▆▆▆▄▅▄▅▄▁▁▁▆▅▅▅▅▅▇▅▆▅▃▅▃▃▃▁▁▁▁▁▁▆▅▄█▇▆▅▅▅▆▆▅▁▁▆▅▆▆▆▄▄▄▃▂▁▁▁▅▄▅▄▅▄▄▆▅▄▄▅▅▄▆▅▃ ▁▁▁▆▃▆▄▅▄▄▄▅▄▄▆▄▄▃▃▃▂▄▅▅▆▇▄▅▅▄▄▂▄▄▄▄▂▁▁▁▁▁▆▇▆▅▇▄▅▄▄▄▄▆▄▄▇▇▄▄▄▆▅▅▃▄▃▃▃▂▃▁▁▁▁▁▂▆▇▇▄▄▅▅▂▅ ▄▅▅▆▅▃▃▃▂▁▁▁▁▁▆▆▅▃▂▆▅▆▇▄▃▃▃▆▇▆▄▄▅▃▃▃▄▂▁▁▃▆▄▆▄▃▃▃▄▂▄▃▂▄▁▁▁▆▇▆▆▃▁▁▁▁▁▁▆▇█▅▆▃▆▄▄▃▆▄▂▅▃▂▂▃ ▅▃▁▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▆▇▅▅▄▃▇▅▇▅▅▆▆▅▅▅▅▃▅▅▄▇▇▃▃▆▅▂▂▃▆▃▄▁▁▁▅▅▄▃▅▂▂▄▁▁▁▁▁▄█▆▄▄▅▆▅▅▅▆▃▃▅▅▃▃ ▅▄▃▃▃▂▂▁▁▁▁▁▁▂▂▂▂▂▂▂▂▂▂▂▁▁▂▁▁▁▁▁▁▁▂██▇▇▅▇█▇▇▃▁▆▇▆▅▆▁▄▅▄▃▇▅▄▆▄▄▄▃▅▂▃▃▂▁▁▁▁▁▁▃█▇▇▆▅▅▂▁▁▁ ▁▁▁▁▁▁▇▅▆▇█▃▁▂▁▁▁▁▁▁▁▁▁▁▄▃▄▇▆▂▁▁▂▄▅▅▃▁▁▁▁▁▁▁▁▁▁▁▂███▆█▇▇▇▇▄▄▂▂▁▁▁▁▁▁▂██▇████▆▅▆▆▇▇▄▆▇▆ ▆▄▁▁▁▆██▂▆▄▄▅▆▅▅▅▅▃▆▅▅▆▇▆▅▃▄▅▃▁▂▁▁▁▁▁█▆▅▆▄▃▃▂▆▆▅▄▃▃▄▄▂▃▁▁▁▁▁▂▃▂▄▆▄▄▄▅▂▁▁▁▁▁▆▇▂▆▃▂▂▂▁▁▁ ▁▁▁▁▁▁▁▆▅▆▆▆▄▆▄▄▅▅▂▄▄▆▅▄▃▂▁▁▁▁▁▄▃▄▄▅▃▅▄▆▇▄▄▄▃▁▃▂▁▁▁▁▁▆▅▅▄▅▆▄▄▆▆▇▄▃▆▅▆▄▃▄▃▄▂▁▁▁▁▆▆▅▂▅▅▃ ▃▄▃▄▄▅▄▄▇▇▄▄▃▃▂▁▁▁▃▅▂▇▅▄▄▇▇▅▂▄▅▆▅▇▂▃▄▂▂▁▁▁▁▁▂█▇██▅▅▄▅▃▆▆▆▃▃▂▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆▆▇█▇▅▄▄▆▆ ▆▃▂▁▁▁▇▇█▄▇▂▃▅▆▃▅▇▆▅▄▇▆▃▂▁▁▁▁▁▆▄▇▇▅▄▄▄▄▃▁▂▁▁▁▁▁▁▁▁▇▇▆▆▅▆▅▆▅▃▃▁▁▁▁▁▁▁▁▁▁█▆▇▆█▆▇▄▄▄▃▃▁▁▃ ▂▁▁▁▁▁▁▁▁▁▁▁▁▂▅█▇▅▇▆▆▃▂▃▃▂▃▂▅▄▂▃▁▄▄▅▄▆▃▄▂▁▁▁▃▄▅▆▅▃▃▅▂▇▆█▄▄▅▆▇▆▇▅▅▅▆▅▄▅▂▂▂▅▁▁▁▃▄▆▄▂▁▁▁▁ ▁▇██▇▇▄▄▂▁▁▁▁▆▅▆▆▅▄▄▇▂▆▂▆▅▁▁▁▁▁▁▁▅▄▄▆▄▄▄▄▃▄▃▄▃▅▅▄▅▄▄▁▁▁▁▁▁▁▁▁▁▁▁▁█▇▅▄▃▃▆▅▅▃▃▃▅▃▁▄▄▂▆▁▁ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃█▅▆▅▄▃▁█▅▄▃▆▅▄▄▅▅▆▅▃▃▄▄▄▄▄▅▅▃▁▁▄▇█▆▇▆▃▅▅▄▄▂▃▅▄▆▅▇▄▃▃▃▂▁▁▁▄▆▃▆▄▁▁▁▂▅▅▆▇ ▂▄▄▅▂▁▁▁▁▁▆▆▆▆▃▆▆▃▄▄▄▂▃▃▅▅▅▄▄▄▄▄▅▅▄▄▃▃▄▁▁▂▆▂▆▄▄▄▃▂▁▃▃▃▅▄▄▃▃▁▁▇██▅▆▆▂▄▂▄▃▄▃▃▃▂▁▁▁▁▁▁▃▇▄ ▆▆▅▇▆▆▃▆▆█▆▆▆▅▆▅▇▃▂▅▄▄▃▄▆▂▁▁▄▇▅█▄▅▇▅▃▃▃▃▂▁▃▄▃▂▂▃▁▁▁▁▁▁▁▃▄▃▄▄▄▁▁▁▁▁▁▁█▅▇▅▆▅▅▅▅▂▅▆▅▅▄▄▃▅ ▅▆▇▅▃▃▄▄▅▄▄▄▄▄▄▁▁▁▁▁▁▁▁▅▂▁▁▁▁▂▇▇▇▆█▅▄▆▄▄▅▄▁▁▁▂▆▆▃▅▄▅▃▄▂▃▁▅▄▄▁▁▁▁▁▁▆▂▃▆▅▅▃▅▅▆▅▅▃▁▁▁▁▁▁▁ ▁▁▅▆▄▄▅▃▇▇▄▂▄▅▄▄▃▃▅▅▅▃▃▄▃▄▁▁▁▁▁▁▁▁▁▁▃▂▁▁▁▁▁▅██▅█▃█▇▆█▄█▆█▇▇██▄▃▄▂▄▇▃▄▄▂▃▅▂▄▁▁▁█▅▄▃▅▄▃▅ ▅▁▁▁▁▁▁▁▁▇▆▆█▅▅▅▅▅▄▅▅▅▅▄▆▃▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▆█▆▅▂▁▄▇▃▂▂▇▃▆▆▅▇█▅▃▆▇▅▂▅▆▅▅▃▃▂▆▂▄▂▁▁▁▁▁▁▁▇▇▆ ▆▄▅▄▄▆▅▄▅▅▅▂▄▂▆▆▃▃▃▃▃▄▄▄▅▃▁▁▁▁▆▄▃▅▆▅▅▆▆▆▄▄▄▇▆▆▄▃▄▄▃▆▃▄▃▅▃▃▁▅▃▁▁▁▁▁▁▁▁▄▆▆▃▁▇▆▆▆▅▄▆▄▄▄▄▃ ▄▄▄▃▁▁▁▆█▄▆▅▄▆▆▃▃▃▁▅▅▅▄▁▄▅▄▄▄▅▅▃▁▁▁▁▁▁▁▁▁▁▁█▆██▄▅▅▅▅▅▅▄▅▅▄▅▅▅▄▄▅▄▆▄▄▅▃▁▁▁▁▇▇▄█▆▄▅▆▄▆▅▅ ▂▃▁▁▁▁▄▆▅▃▆▄▇▅▄▅▅▄▄▄▂▁▃▇▅▇▃▄▆▆▄▅▃▃▄▄▄▃▃▃▄▅▃▄▁▁▁▁▂▅▇▆▄▃▃▃▅▂▄▄▄▃▃▃▆▅▄▄▃▆▃▃▃▂▁▁▂▅▆▅▅▆▅▄▃▄ ▄▅▄▅▆▄▃▂▂▁▁▁▁▁▁▁▁▁▂█▃▆▇█▅▆▃▆▅▄▅▆▅▁▁▁▁▆▅▆▇▄▅▃█▆▄▄▃▂▄▃▃▆▃▄▄▄▃▅▃▃▄▅▄▄▄▄▅▆▂▁▁▁▆▆▅█▅▆▄▃▄▄▆▆ ▃▄▃▃▄▅▃▄▃▆▅▄▃▅▅▃▃▄▂▁▁▁▁▁▁▁▁▂▆▅▅▆█▇▃▅▄▅▇▄▅▃▃▁▁▁▁▆▇▇▆▅▆▆▄▅▃▆▆▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▄▇██▇▄▅▆▅▅▄ ▆▄▆▂▁▁▂▇▇▃▅▅▆▆▄▃▃▅▄▃▅▆▄▃▄▂▁▁▁▄▄▇▄▂▅▇▃▄▃▄▄▃▃▂▄▂▁▁▁▁▆▆▅▄▂▁▁▁▁▁▁▄▇▆▇▄▂▁▁▃▂▄▃▄▃▃▃▃▄▄▃▂▁▁▁▁ ▂▆▄▆▄▄▅▅▄▃▄▃▃▃▁▁▁▁▁▁▁█▇█▅▁▁▁▁▁▁▁▁▁▁▅▁▁▁█▇▆▆▆▅█▇▃█▅▆▆▆▆▆▄▆▆▅▆▅▄▄▄▃▄▃▁▁▁▁▂█▅▅▂▄▅▅▃▃▂▃▄▆▆ ▃▁▅▃▃▂▅▅▄▄▁▁▁▆▂▆▃▄▃▃▄▄▃▃▅▄▃▄▂▅▇▅▄▄▃▆▃▃▄▃▃▄▃▁▁▁▅▃▄▃▅▅▆▆▆▄▄▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁███▆█▃▇▆██▂▅▆▆ ▄█▆▆▆▆▂▁▁▁▁██▆▂▃█▇▇▆▄▅▄▁▅▃▂▁▁▁▁▁▁▇▃▆▄▄▅▇▆▅▁▃▃▅▃▃▄▄▄▃▁▁▁▂▇▃▄▅▄▅▅▄▄▄▄▃▇▂▄▅▆▆▇▇▇▂▆█▄▃▃▂▁▁ ▁▁▃▅▄▄▃▆▄▄▂▄▃▄▅▄▅▄▄▅▅▅▄▃▁▁▁▁▁█▇▆▇▄▆▅▄▄▄▅▅▄▅▆▅▁▁▆▅▂▆▄▄▆▃▅▇▄▅▇▃▂▁▁▁▁▁█▅▆▆▆▆▄▆▂▄▂▅▃▁▁▁▁▁▁ ▁▁▁▆▅▅▄▄▃▁▁▆██▆▇▄▆▃▅▄▆▃▃▃▃▁▅▅▄▅▅▆▇▃▃▃▃▄▃▄▆▆▆▅▅▃▄▂▁▁▅▇▆▆▅▄▃▃▄▄▂▃▂▂▁▁▁▁▁▁▁▁▅▄▅██▄▄▄▆▇▇▆▅ ???
  35. 35. https://cloud.google.com/speech/
  36. 36. def transcribe_file(speech_file): from google.cloud import speech from google.cloud.speech import enums from google.cloud.speech import types client = speech.SpeechClient() with io.open(speech_file, 'rb') as audio_file: content = audio_file.read() audio = types.RecognitionAudio(content=content) config = types.RecognitionConfig( encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16, sample_rate_hertz=44100, language_code='ko-KR') response = client.recognize(config, audio) for result in response.results: for alternative in result.alternatives: print(u'Transcript: {}'.format(alternative.transcript))
  37. 37. $ python transcribe.py 2016-part1.wav Transcript: Transcript: 3
  38. 38. 3 “ “
  39. 39. $ python waveform.py applause.wav ▂▁▅▄▄████▇▆▆█▇▇▇▇▆▇▇▇█▇▇▇▅▅▇▆▅▄▂▂▂▁▁▁▁▁ $ python transcribe.py applause.wav $
  40. 40. $ python transcribe.py 2014-part1.wav $ $ python waveform.py 2014-part1.wav ▁▃▆▆▅▅▄▆▂▁▁▁▁▁▁███▆█▆█▇█▇▅▆▄▄▃▃▁▁▁▁▇█▄▃▆▇▅▇▆▅▄▄▄▃▁▁▁▆▆ ▆▅▆▄▄▃▃▄▁▁▁▅▆▆▅▅▄▆▅▅▄▂▂▁▆▇█▅▆▄▆▄▄▄▃▃▁▁▃▆▅▅▃▇▆▆▅▅▇▆▅▃▁▄ ▆▇▆▅▄▆▅▆▅▄▅▁▁▆██▅▅▅▇▆▅▆▆▄▅▄▁▅▅▄▅▆▅▄▄▅▃▃▅▄▁▄▆▄▆▆▆▆▅▅▂▁▃ ▆▅▆▅▅▂▂▁▁▁▁
  41. 41.
  42. 42. https://goo.gl/pgEVyq
  43. 43. 25 4
  44. 44. 10 25
  45. 45. 2.5 / 0.16 /
  46. 46. 16
  47. 47. .
  48. 48. .
  49. 49. .
  50. 50. Code of Conduct
  51. 51. ,
  52. 52. 파이썬 3 얘기 지겹다 데이터 분석 ㄴㄴ 요즘 웹 프레임워크 누가 팜? 작년에 했던거 또 하네
  53. 53. , .
  54. 54.
  55. 55. ?
  56. 56. ?
  57. 57. ?
  58. 58. .
  59. 59. .
  60. 60. .
  61. 61. .
  62. 62. The Basic
  63. 63. Let’s Back to the Basic
  64. 64. Computer
  65. 65. Compute
  66. 66. https://en.wikipedia.org/wiki/Charles_Babbage
  67. 67. ?
  68. 68. Image courtesy of Apple Inc.
  69. 69. Image courtesy of Verge
  70. 70. https://blog.naver.com/infinity71/100173053822
  71. 71. Image courtesy of Apple Inc.
  72. 72. 계산하는 사람 Computer
  73. 73. 1868-1921 https://en.wikipedia.org/wiki/Henrietta_Swan_Leavitt
  74. 74. Human Computer
  75. 75. Calculator
  76. 76. Calculist
  77. 77. http://speller.cs.pusan.ac.kr/
  78. 78. ? http://speller.cs.pusan.ac.kr/
  79. 79. https://www.wordnik.com/
  80. 80. Kernel Programmer
  81. 81. Network Engineer
  82. 82. Data Analyst
  83. 83. Data Analyzer
  84. 84. .
  85. 85. Subversion Git
  86. 86. RESTFul GraphQL
  87. 87. jQuery 2016 react
  88. 88. Python Rust
  89. 89. ?
  90. 90. ?
  91. 91. Programming isn’t a “passion” or a “talent” but a collection of acquired skills.
  92. 92. Programming isn’t a “passion” or a “talent” but a collection of acquired skills. Jacob Kaplan-Moss, PyCon 2015 https://www.youtube.com/watch?v=hIJdFxYlEKE
  93. 93. ?
  94. 94. . https://opensource.googleblog.com/2014/03/teaching-next-generation-to-code-young.html
  95. 95. “ What happens when you type google.com into your browser and press enter? ”
  96. 96. • The "g" key is pressed • The "enter" key bottoms out • Interrupt fires [NOT for USB keyboards] • (On Windows) A WM_KEYDOWN message is sent to the app • (On OS X) A KeyDown NSEvent is sent to the app • (On GNU/Linux) the Xorg server listens for keycodes • Parse URL • Is it a URL or a search term? • Convert non-ASCII Unicode characters in hostname • Check HSTS list • DNS lookup • ARP process • Opening of a socket • … https://github.com/alex/what-happens-when
  97. 97. Image courtesy of MOTORTREND http://www.motortrend.com/cars/bmw/m5/2013/2013-bmw-m5-test/
  98. 98. Image courtesy of Reuters http://www.cbsnews.com/news/teslas-autopilot-lets-cars-drive-change-lanes-themselves/
  99. 99. Image courtesy of OTTO
  100. 100. ?
  101. 101. Batteries Included https://docs.python.org/3/tutorial/ stdlib.html#batteries-included
  102. 102. .
  103. 103. ( )
  104. 104. Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
  105. 105. / lqez
  • frhyme

    Sep. 5, 2018
  • SoonGilChoi

    Nov. 6, 2017
  • guya00

    Aug. 17, 2017
  • wonchurizoo

    Aug. 16, 2017
  • DavidPark1208

    Aug. 16, 2017
  • kernel0

    Aug. 16, 2017
  • shadowl_lee

    Aug. 14, 2017
  • hyuntaeklee399

    Aug. 12, 2017
  • haibane84

    Aug. 12, 2017
  • unlimitedfocus

    Aug. 12, 2017

파이콘 한국 2017에서 Back to the Basic 을 주제로 발표하였습니다.

Views

Total views

3,538

On Slideshare

0

From embeds

0

Number of embeds

80

Actions

Downloads

53

Shares

0

Comments

0

Likes

10

×