Jupyter(Python)とBigQueryによるデータ分析基盤のDevOps #pyconjp / 20170909

56ae61a2631362f985e4c1fa4548a7ac?s=47 yuzutas0
September 09, 2017

Jupyter(Python)とBigQueryによるデータ分析基盤のDevOps #pyconjp / 20170909

PyCon JP 2017 の発表資料です。ジャンルは「業務利用事例」となります。

追記1. PyCon JP 2017 ベストトークアワード優秀賞を受賞しました!
追記2. http://yuzutas0.hatenablog.com/entry/2017/09/12/203000 に補足を掲載しています!

56ae61a2631362f985e4c1fa4548a7ac?s=128

yuzutas0

September 09, 2017
Tweet

Transcript

  1. Jupyter + BigQuery ʹΑΔ
 σʔλ෼ੳج൫ ͷ DevˍOps 2017-09-09 (Sat)
 4:15

    p.m. – 4:45 p.m. in Room 201
 PyCon JP 2017
 presented by @yuzutas0
 https://www.pexels.com/photo/close-up-of-computer-keyboard-257949/ɹhttps://www.pexels.com/photo/technology-computer-lines-board-50711/ɹhttps://www.pexels.com/photo/black-and-white-business-chart-computer-241544/ 
  2. ຊ೔ͷࢿྉ͸WEBʹެ։͠·͢
 #pyconjp #pyconjp_201
  ࡱӨɾه࿥ͷඞཁ͸͋Γ·ͤΜ
 ͭ͘Ζ͍Ͱௌ͍͍͚ͯͨͩΕ͹ͱࢥ͍·͢

  3. εϥΠυ 150+ / 30min
 ʢ஌ݟΛ͕ͬͭΓڞ༗͠·͢ʣ 
 ͕Μ͕Μߦ͖·͢ʂ 

  4. ɹSho Yokoyamaɹ@yuzutas0 ɹɹ 
 
  • Recruit Technologies Co.,

    Ltd. 
 ɹɹάϧʔϓͷITࢪࡦશൠΛ୲͏ byʰϦΫϧʔτɺਐԽΛࢭΊͳ͍ITݱ৔ྗʱ • Site Reliability Engineering
 ɹɹج൫γεςϜͷӡ༻ɾվળ • Finance & Econometrics (Before)
 ɹɹRʹΑΔ౷ܭॲཧ - ͋ͷͱ͖Jupyter͕͋Ε͹Α͔ͬͨͷʹʂ
  5. https://github.com/yuzutas0  ෼ੳج൫ ɹޱ΋ख΋ಈ͔͢೿

  6. ϓϩμΫτ։ൃ ʹ͓͚Δ
 σʔλ׆༻ ͷ ࢀߟࣄྫ ͷڞ༗  ɹຊ೔ͷΰʔϧ

  7. Python Λ׆༻ͯ͠
 ։ൃݱ৔ ʹ σʔλจԽ Λਁಁ͍ͤͨ͞
 ιϑτ΢ΣΞΤϯδχΞ  ɹ૝ఆ͢Δର৅

  8. ɹɹɹ ɹPythonͷ࿩ ɹɹɹ "ɹPythonΛۀ຿Ͱ࢖͏࿩  ɹPythonͷConferenceͰ͕͢ த൫·Ͱग़͖ͯ·ͤΜʢ׼ʣ

  9. 1. ϓϩμΫτ / νʔϜ 
 2. ෼ੳج൫ͷDev&Ops ɹɹϢʔεέʔεɹߏஙͷഎܠɹઃܭϙϦγʔɹσʔλϑϩʔɹ։ൃϓϩηε 
 3.

    σʔλจԽΛ૊৫ʹ૷ண͢Δ  ɹΞδΣϯμ
  10. 1. ϓϩμΫτ / νʔϜ 
 2. ෼ੳج൫ͷDev&Ops ɹɹϢʔεέʔεɹߏஙͷഎܠɹઃܭϙϦγʔɹσʔλϑϩʔɹ։ൃϓϩηε 
 3.

    σʔλจԽΛ૊৫ʹ૷ண͢Δ  ɹΞδΣϯμ
  11.  ࠗ׆ ࿀׆

  12. ֹ݄՝ۚϞσϧ
 ※࿀݁ͼঁੑϢʔβʔ͸ຊਓ֬ೝྉͷΈ  ɹ͝ར༻ͷྲྀΕ

  13. ※αϒγεςϜͷٕज़ཁૉ: Golang, Groovy, Python, Ruby, AWS, GCP ɹɹɹɹɹɹɹɹɹɹɹɹΦϯϓϨ  ɹ֤छσόΠεରԠ

    - γεςϜུ֓ (AP)
  14. ※ถࠃͰ͸݁ࠗͨ͠Χοϓϧͷ1/3͕ΦϯϥΠϯͰͷग़ձ͍  ɹσʔςΟϯάࢢ৔ͷ֦େ

  15.  ɹࣄۀ੒௕ → εςʔΫϗϧμʔͷଟ༷Խ σβΠϯ ηΩϡϦςΟ ๏຿ Πϯϑϥ SRE ΞϓϦج൫

    ू٬ ΧελϚʔ
 αϙʔτ σʔλ
 αΠΤϯε ػցֶश
 ΤϯδχΞ ։ൃӡ༻
 νʔϜA ։ൃӡ༻
 νʔϜB ։ൃӡ༻
 νʔϜC PO PO PO σΟϨΫγϣϯ ޿ใ
  16. 1. ϓϩμΫτ / νʔϜ 
 2. ෼ੳج൫ͷDev&Ops ɹɹϢʔεέʔεɹߏஙͷഎܠɹઃܭϙϦγʔɹσʔλϑϩʔɹ։ൃϓϩηε 
 3.

    σʔλจԽΛ૊৫ʹ૷ண͢Δ  ɹΞδΣϯμ
  17.  ɹ֤෦ॺ΁ͷσʔλఏڙ σʔλج൫

  18. 1. ϓϩμΫτ / νʔϜ 
 2. ෼ੳج൫ͷDev&Ops ɹɹϢʔεέʔεɹߏஙͷഎܠɹઃܭϙϦγʔɹσʔλϑϩʔɹ։ൃϓϩηε 
 3.

    σʔλจԽΛ૊৫ʹ૷ண͢Δ  ɹΞδΣϯμ
  19.  ɹͲͷΑ͏ʹ׆༻͍ͯ͠Δ͔ σʔλج൫

  20.  ɹσʔλ׆༻ࣄྫ ɹ1. KPIϞχλϦϯάɹɹ
 ɹ2. ϢʔβʔߦಈͷՄࢹԽ
 ɹ3. ࢪࡦޮՌͷ༧ଌɾܭଌ Ϗδωε 4.

    ػցֶशʹΑΔϨίϝϯυ
 5. ۀऀɾεύϜͷࣗಈ൑ఆ ϓϩμΫτ ɹ6. ໰͍߹Θͤͷ܏޲෼ੳ
 ɹ7. ޿ࠂ഑৴ͷࣗಈ࠷దԽ
 ɹ8. ϓϨεϦϦʔε ΧελϚʔνϟωϧ ɹ9. γεςϜϞχλϦϯά
 ɹ10. ো֐ൃੜ࣌ͷӨڹௐࠪ γεςϜ ɹ11. νʔϜͷΩϟύγςΟ νʔϜ
  21. Ϗδωεࢦඪʢച্΍DAUʣͷਪҠ
 
 ຖேͷSlack௨஌ɹɹɹɹSpreadsheetɹɹɹɹμογϡϘʔυ  ɹɹɹKPIϞχλϦϯά 1

  22. ओཁಋઢʢձһొ࿥ˠϝοηʔδʣͷར༻ɾ཭୤ ߦಈϑΝϯωϧɹɹɹɹɹɹδϟʔχʔϚοϓ  ɹɹɹϢʔβʔߦಈͷՄࢹԽ 2

  23. Split (AB) ςετ݁Ռɹɹ৽ػೳͷར༻౓߹͍  ɹɹɹࢪࡦͷޮՌ༧ଌˍܭଌ 3

  24.  ɹɹɹػցֶशʹΑΔϨίϝϯυ 4

  25.  ɹɹɹۀऀɾεύϜͷࣗಈ൑ఆ 5

  26.  ɹɹɹ໰͍߹Θͤͷ܏޲෼ੳ 6

  27.  ɹɹɹ޿ࠂ഑৴ͷࣗಈ࠷దԽ 7

  28. σʔλ෼ੳ݁Ռͷެ։ → ࢢ৔ͷ׆ੑԽʹߩݙ  ɹɹɹϓϨεϦϦʔε 8 IUUQXXXSFDSVJUNQDPKQOFXTSFMFBTF@IUNM

  29. Ϋϥογϡ཰΍ϨεϙϯελΠϜ  ɹɹɹγεςϜϞχλϦϯά 9 IUUQZV[VUBTIBUFOBCMPHDPNFOUSZ

  30.  ɹɹɹো֐ൃੜ࣌ͷӨڹௐࠪ 10

  31. εΫϥϜνʔϜͷϕϩγςΟ ΍ νέοτফԽͷϝτϦΫε  ɹɹɹνʔϜͷΩϟύγςΟ 11

  32. σβΠϯ ηΩϡϦςΟ ๏຿ Πϯϑϥ SRE ΞϓϦج൫ ू٬ ΧελϚʔ
 αϙʔτ σʔλ


    αΠΤϯε ػցֶश
 ΤϯδχΞ ։ൃӡ༻
 νʔϜA ։ൃӡ༻
 νʔϜB ։ൃӡ༻
 νʔϜC PO PO PO σΟϨΫγϣϯ ޿ใ ։ൃӡ༻
 νʔϜB PO  ɹ͜ΕΒͷࢪࡦ : ֤෦ॺ͕ϘτϜΞοϓͰਪਐ
  33. σʔλ׆༻Ͱ࣮ݱͰ͖Δ͜ͱ  ɹސ٬Ձ஋ͷ௥ٻ → σʔλ׆༻͸ඞવ 1. ࣗಈԽ 2. ՄࢹԽ ސ٬Ձ஋ͷఏڙ

  34. “ΑΓૣ͘ɾ҆ఆͨ͠” αʔϏεͷఏڙ  ɹ1. ࣗಈԽ ػցֶशͰީิऀϦετΛࣄલநग़ ໨ࢹ͚ͩͰۀऀɾεύϜΛ൑ఆ IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM

  35. “ΑΓޮՌతͳ” ΤϯδχΞϦϯάͷ࣮ݱ  ɹ2. ՄࢹԽ ͜ͷσβΠϯ͸Ϣʔβʔͷ
 ຊԻʹ౴͍͑ͯΔͷ͔ʁ ͜ͷػೳ௥Ճ͸ޮՌ͕͋Δͷ͔ʁ
 ࣮ࡍʹޮՌ͸͋ͬͨͷ͔ʁ IUUQHBUBHOFUGSFFJMMVTUSBJUJPO

    IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM
  36. σβΠϯ ηΩϡϦςΟ ๏຿ Πϯϑϥ SRE ΞϓϦج൫ ू٬ ΧελϚʔ
 αϙʔτ σʔλ


    αΠΤϯε ػցֶश
 ΤϯδχΞ ։ൃӡ༻
 νʔϜA ։ൃӡ༻
 νʔϜB ։ൃӡ༻
 νʔϜC PO PO PO σΟϨΫγϣϯ ޿ใ ։ൃӡ༻
 νʔϜB PO  ɹ֤෦ॺʹΑΔੵۃతͳσʔλ׆༻
  37. 1. ϓϩμΫτ / νʔϜ 
 2. ෼ੳج൫ͷDev&Ops ɹɹϢʔεέʔεɹߏஙͷഎܠɹઃܭϙϦγʔɹσʔλϑϩʔɹ։ൃϓϩηε 
 3.

    σʔλจԽΛ૊৫ʹ૷ண͢Δ  ɹΞδΣϯμ
  38.  ɹͳͥج൫͕ඞཁʹͳ͔ͬͨ σʔλج൫

  39. DBσʔλΛ࢖͍͍ͨͷͰ
 ೔࣍ͰS3ʹCSVग़ྗ͍ͯͩ͘͠͞
  ɹ࠷ॳ͸খ͞ͳσʔλૄ௨ґཔ ෦ॺA

  40.  ɹεέʔϧ → ֤෦ॺ͔Βґཔ ෦ॺB ෦ॺC ෦ॺD

  41. ͬͪ͜Ͱαʔόͱૄ௨πʔϧΛ༻ҙ͠·͢
 ϨϏϡʔˍຊ൪؀ڥʹஔ͍ͯ΋Β͑·͔͢  ɹͪΐͬͱֻ͕͔࣌ؒΓͦ͏ ੜσʔλΛ౉ͯ͠΋Β͑Ε͹
 ͬͪ͜Ͱ࢖͑ΔΑ͏ʹՃ޻͢ΔͷͰ ෦ॺE

  42.  ɹ֤෦ॺ͝ͱʹσʔλૄ௨ ෦ॺA
 πʔϧ ෦ॺB
 πʔϧ ෦ॺA
 αʔό ෦ॺB
 αʔό

  43.  ɹ֤෦ॺ͝ͱʹσʔλՃ޻ ෦ॺA
 நग़σʔλ ෦ॺB
 நग़σʔλ ෦ॺA
 Ճ޻ϩδοΫ ෦ॺB
 Ճ޻ϩδοΫ

  44.  ɹମ੍ͷ··ʹγεςϜෳࡶԽ - ίϯ΢ΣΠͷ๏ଇ ݩσʔλ ֤෦ॺ޲͚ʹσʔλࢀরγεςϜΛܧ͗଍͠

  45. 
 http://jp.techcrunch.com/2017/06/25/20170623five-building-blocks-of-a-data-driven-culture/ ελοϑ͕ͨͪҟͳΔγεςϜ͔ΒࣅͨΑ͏ͳϝτϦοΫΛ
 Ҿ͖ग़͢͜ͱ͕Ͱ͖ͯ͠·͏ͳΒɺඞવతʹͦΕΒͷγεςϜ͔Β͸
 ҟͳΔ਺ࣈ͕ੜ੒͞ΕΔɻ…ΑΓ·͠ͳ৘ใݯΛ࢖͑Δഺͩͬͨͷʹɺ
 ݹͯ͘඼࣭ͷ௿͍ɺ͋Δ͍͸ؒҧͬͨσʔλ΍ࢦඪΛ஌Βͣʹ
 ࢖ͬͯ͠·͍ɺѱ͍ܾఆΛԼ͢νʔϜ΋ग़ͯ͠·͏͔΋஌Εͳ͍ɻ  ɹ෦ॺ͝ͱʹʮച্ʯ͕ζϨΔ໰୊

  46.  ɹΤϯδχΞʹௐࠪґཔᶃ - σʔλ࢓༷͸೔ʑมΘΔ ͜ͷϨίʔυ͕
 ௥Ճ͞ΕΔλΠϛϯάɺ
 ࠷ۙมߋ͞Ε·ͨ͠ʁ ͪΐͬͱมߋཤྺΛ
 ௥ͬͯΈ·͢Ͷ ෦ॺF

    ΤϯδχΞ
  47.  ɹΤϯδχΞʹௐࠪґཔᶄ - Өڹൣғ͸೔ʑ޿͕Δ Re:dashͷ਺ࣈ͕
 ζϨΔΜͰ͚͢Ͳ ଞ෦ॺ͕࡞ͬͨγεςϜΛ
 ௐ΂Δͱ͜Ζ͔Β…… ෦ॺG ΤϯδχΞ

  48.  ɹݸผରԠͷѱ॥؀ ಠࣗσʔλૄ௨ͷґཔ
 ʢ͜ΕͳΒ͙͢Ͱ͖·͢ΑͶʣ ΤϯδχΞνʔϜͷෛՙˢ γεςϜෳࡶԽˢ ௐࠪґཔ

  49.  ɹ୭͔ͷ൑அ͕ѱ͔ͬͨΘ͚Ͱ͸ͳ͍ εέʔϧ΍ຊ֨Քಇ࣌ʹ
 ໰୊͕ݦࡏԽ ɹɹ·ͣ͸খ͘͞ࢼ͢
 ɹ • ࠷খݶͷσʔλૄ௨
 ɹ •

    ࣗલͰσʔλՃ޻ ෦ॺ͝ͱʹ
 ৽πʔϧಋೖ΍ࢪࡦணख IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM
  50. 
 http://jp.techcrunch.com/2017/06/25/20170623five-building-blocks-of-a-data-driven-culture/  ɹମ੍֦େ → σʔλ΢ΣΞϋ΢εͷඞཁੑ ࣄ࣮ͷ୯Ұ৘ใݯΛ͍࣋ͬͯΔ৔߹ʹ͸ɺΞφϦετ΍
 ଞͷҙࢥܾఆऀͱ͍ͬͨΤϯυϢʔβʔͨͪʹɺ༏ΕͨՁ஋Λ
 ఏڙ͢Δ͜ͱ͕Ͱ͖Δɻ൴Β͸૊৫಺ͰσʔλΛ୳͕࣌ؒ͢
 গͳͯ͘ࡁΉΑ͏ʹͳΓɺσʔλͷར༻ʹΑΓଟ͘ͷ࣌ؒΛ


    ׂ͘͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔ͔Βͩɻ
  51. 1. ϓϩμΫτ / νʔϜ 
 2. ෼ੳج൫ͷDev&Ops ɹɹϢʔεέʔεɹߏஙͷഎܠɹઃܭϙϦγʔɹσʔλϑϩʔɹ։ൃϓϩηε 
 3.

    σʔλจԽΛ૊৫ʹ૷ண͢Δ  ɹΞδΣϯμ
  52.  ɹͲͷΑ͏ͳγεςϜΛߏங͔ͨ͠ σʔλج൫

  53. 1. ModelͱViewΛ෼͚Δ΂͠
 2. ͳΔ΂͘ϥΫͯ͠࡞Δ΂͠  ɹઃܭϙϦγʔ

  54. 1. ModelͱViewΛ෼͚Δ΂͠
 2. ͳΔ΂͘ϥΫͯ͠࡞Δ΂͠  ɹઃܭϙϦγʔ

  55.  ɹModelͱViewΛ෼͚Δ΂͠ ɹɹɹɹɹɹɹɹɹɹɹɹɹDWH ੹຿ʹԠͨ͡γεςϜͷ෼཭ɾ݁߹
 Model (஝ੵ/Ճ޻) ͱView (ࢀর)

  56.  ɹ஫ҙɿ෦ॺ͝ͱʹ࠷దͳView͸ҟͳΔ Excel ؾܰʹ਺ࣈΛม͑ͯ
 γϛϡϨʔγϣϯ Ϗδωε෦໳ Tableau ߴՁ֨ɾߴػೳ
 ෼ੳཁٻʹରԠ Re:dash

    SQL͕ॻ͚Δͻͱ
 ͓खܰར༻ σΟϨΫλʔ Jupyter
 GitͰίʔυ؅ཧ
 ϓϩάϥϜͷԸܙ ΤϯδχΞ ෼ੳ෦໳
  57. 1. ModelͱViewΛ෼͚Δ΂͠
 2. ͳΔ΂͘ϥΫͯ͠࡞Δ΂͠  ɹઃܭϙϦγʔ

  58.  ɹจ໌ͷརث σʔλૢ࡞ͳΒPythonҰ୒ ΤίγεςϜʹ৐Δ σʔλอଘͳΒBigQueryҰ୒
 GoogleʹཔΔ ΞϓϦ૚ Πϯϑϥ

  59.  ɹจ໌ͷརث σʔλૢ࡞ͳΒPythonҰ୒ ΤίγεςϜʹ৐Δ σʔλอଘͳΒBigQueryҰ୒
 GoogleʹཔΔ ΞϓϦ૚ Πϯϑϥ

  60. ɹɹɹ• ʢRͱൺ΂ͯʣॻ͖΍͘͢ಡΈ΍࣮͘͢ߦ͠΍͍͢
 ɹɹɹ• ൚༻తͳϓϩάϥϜॲཧΛॻ͚ΔεΫϦϓτݴޠ  ɹPythonͷ࠾୒ཧ༝ - ൚༻LL

  61. 
 ɹɹɹɹ• ʢଞͷ൚༻ݴޠʹൺ΂ͯʣσʔλͷՃ޻΍ඳը͕ಘҙ
 ɹɹɹɹ• DB㱻Dataframeม׵ͳͲଞγεςϜ࿈ܞ΋༰қ  ɹPythonͷ࠾୒ཧ༝ - σʔλૢ࡞޲͚ϥΠϒϥϦ

  62. 
 ɹɹɹ• σόοά΍σʔλͷՄࢹԽ͕ίϚϯυ1ͭͰՄೳ
 ɹɹɹ• ಺෦తʹ͸json → GitͰࠩ෼؅ཧ → ࠶ݱՄೳͳه࿥Λ࢒ͤΔ 

    ɹPythonͷ࠾୒ཧ༝ - ࠷ڧͷ࣮ߦ؀ڥ
  63. ػցֶशࢪࡦεΫϦϓτ 
 Ҡ২Մೳ → γεςϜͷ෼཭ɾ݁߹͕༰қ → རศੑɾอकੑ  ɹPythonͷ࠾୒ཧ༝ -

    طଘεΫϦϓτͱͷ૬ੑ
  64.  ɹจ໌ͷརث σʔλૢ࡞ͳΒPythonҰ୒ ΤίγεςϜʹ৐Δ σʔλอଘͳΒBigQueryҰ୒
 GoogleʹཔΔ Πϯϑϥ ΞϓϦ૚

  65.  ɹBQͷ࠾୒ཧ༝ɿ͍҆ IUUQZBQDBTJBPSHUBMLTIPXDFBGBDFDBCEDB • Googleͷσʔληϯλʔ
 ɹεέʔϧϝϦοτʹΑΔ
 ɹίετ༏Ґ • ϢʔβʔͷҙݟΛ΋ͱʹ
 ɹྉۚϓϥϯΛݟ௚ͨ͠ܦҢ

  66.  ɹBQͷ࠾୒ཧ༝ɿૣ͍ IUUQZBQDBTJBPSHUBMLTIPXDFBGBDFDBCEDB • ΧϥϜϕʔεઃܭʹΑΔ
 ɹΞΫηεߴ଎Խ • େن໛σʔλ׆༻࣌ʹ
 ɹϘτϧωοΫͱͳΔ
 ɹDisk

    I/Oͷฒྻॲཧ
  67.  ɹBQͷ࠾୒ཧ༝ɿ҆৺ GCPɾGsuiteͰݖݶ؅ཧ - ΈΜͳ͕࢖͑Δ SQLΠϯλʔϑΣʔε - ಺෦ॲཧɾอकӡ༻Λؾʹͤͣʹ࢖͑Δ ඪ४SQL
 ΫΤϦͷҠ২ੑ͕ߴ͍


    ֶशίετ͕খ͍͞
 ςετ͠΍͍͢ पลπʔϧ
 ओཁBIπʔϧͳΒେ఍ܨ͕Δ
 pandas.io.gbq → Jupyterσόοά͕༰қ
  68.  ɹจ໌ͷརث σʔλૢ࡞ͳΒPythonҰ୒ ΤίγεςϜʹ৐Δ σʔλอଘͳΒBigQueryҰ୒
 GoogleʹཔΔ Πϯϑϥ ΞϓϦ૚

  69. 1. ModelͱViewΛ෼͚Δ΂͠
 2. ͳΔ΂͘ϥΫͯ͠࡞Δ΂͠  ɹઃܭϙϦγʔ

  70. 1. ϓϩμΫτ / νʔϜ 
 2. ෼ੳج൫ͷDev&Ops ɹɹϢʔεέʔεɹߏஙͷഎܠɹઃܭϙϦγʔɹσʔλϑϩʔɹ։ൃϓϩηε 
 3.

    σʔλจԽΛ૊৫ʹ૷ண͢Δ  ɹΞδΣϯμ
  71.  ɹσʔλϑϩʔͷߏங ऩू Ճ޻ ׆༻ ஝ੵ ύΠϓϥΠϯ؅ཧ Model View

  72.  ɹσʔλϑϩʔͷߏங ऩू Ճ޻ ׆༻ ஝ੵ Model View ऩू ύΠϓϥΠϯ؅ཧ

  73.  ɹσʔλऩू ݸਓ৘ใ
 ϚεΫࡁΈView Recruit Ads Console Recruit Clash
 Report

    όον ετϦʔϛϯά WebAPI εΫϨΠϐϯά requests + beautiful soup
  74. ओཁͳDBɾϩά͔Βͷసૹ → ࠷খઃఆͰ࣮ݱՄೳ  ɹσʔλసૹΛࢧ͑Δٕज़

  75. Python (requests + beautiful soup) ʹΑΔ
 WebAPIίʔϧɾը໘εΫϨΠϐϯά  ɹJupyterͰૉૣ͘ࢼ͢ ·ͣ͸ϩʔΧϧ؀ڥͰࡁ·ͤΔ

    ܁Γฦ͠࢖͏ͳΒεΫϦϓτԽ IUUQTXXXTIBSFJDPOOFUEPDVNFOUpMFQZ
  76. ΤϯδχΞ͕෼ੳʹܞΘ͍ͬͯͳ͍ͱEventσʔλ͕ϩάཁ͔݅Βൈ͚࿙Ε͕ͪ
 ෆཁσʔλͷա৒஝ੵʹΑΔετϨʔδѹഭΛݒ೦ʢͦ͜ͰBQͰ͢Αʣ  ɹσʔλੑ࣭ʹԠͨ͡ऩूํ๏ 4UBUFঢ়ଶσʔλ &WFOUཤྺσʔλ ྫ Ϣʔβʔͷ࠷ऴϩάΠϯ೔࣌ʢ্ॻ͖͞ΕΔʣ աڈͷϩάΠϯཤྺʢ஝ੵ͞ΕΔʣ ओͳ༻్

    ը໘දࣔ 
 ʮ͜ͷਓ͸೔લʹϩάΠϯ͠·ͨ͠Αʯ ෼ੳ 
 Ͳͷ͘Β͍ͷස౓ͰϩάΠϯ͢Δ͔ ڧΈɾಛ௃ ϓϩμΫτຊମͷύϑΥʔϚϯε޲্
 ͍͍ͪͪཤྺςʔϒϧͱ+PJOͯ͠
 ࠷৽ϨίʔυΛ୳͢ͷ͸%#ෛՙ σʔλ෼ੳͷ࠶ݱੑΛ୲อ
 
 ຖճϩάΠϯ೔࣌Λ্ॻ͖͞ΕͨΒ
 ෼ੳͰ͖ͳ͘ͳͬͯ͠·͏ ෼ੳج൫Ͱͷ
 σʔλऩू ೔࣍ͰҰׅஔ͖׵͑ 
 %#ϩάˠࠩ෼ه࿥ˠ׆༻͸ͻͱ޻෉ඞཁ ࠩ෼൓ө 
 લճҎ߱ͷϨίʔυ͚ͩΛநग़
  77.  ɹσʔλϑϩʔͷߏங ऩू Ճ޻ ׆༻ ஝ੵ Model View ஝ੵ ύΠϓϥΠϯ؅ཧ

  78. 3૚ߏ଄
 ࢀߟʰ10೥ઓ͑Δσʔλ෼ੳೖ໳ - SQLΛ෢ثʹσʔλ׆༻࣌୅Λੜ͖ൈ͘ʱ  ɹσʔλ஝ੵ ɹɹɹɹɹɹBigQuery - Google Cloud

    Platform Source
 ݩσʔλͷίϐʔ Warehouse
 ओཁࢦඪɾසग़σʔλ
 தؒςʔϒϧ App
 ֤πʔϧ͔Β௚઀ࢀর
 ඇٕज़ऀ޲͚IF ஝ੵ
  79. ྫɿ enmusubi__source__db ΞϯμʔείΞ2ͭͰཁૉΛ۠੾Δ
 BEMʢCSSͷઃܭख๏ʣϥΠΫͳنଇ  ɹσʔληοτͷ໋໊نଇ ϓϩμΫτ໊ source warehouse app

    ϝΠϯDB αʔόϩά ΞΫηεղੳπʔϧ
  80.  ɹσʔλࣙॻ IUUQKQUFDIDSVODIDPNpWFCVJMEJOHCMPDLTPGBEBUBESJWFODVMUVSF ར༻ऀ͸σʔλϑΟʔϧυͱͦͷ஋ʢϝτϦΫεʣͷҙຯΛ஌Δඞཁ͕͋Δɻ* ݩσʔλ৘ใ΁ͷϦϯΫूͷΈఏڙ
 γεςϜʢʹσʔλ࢓༷ʣ͸೔ʑมԽ͢ΔͨΊ
 refs. ϩθολετʔϯ ֤σʔλιʔεଆͰ࢓༷؅ཧ
 e.g.

    ຊମDB → MySQL Workbench
 ɹERߏ੒/ίϝϯτ͸DDLͰৗʹ࠷৽Խ
  81. ൃల్্ͷϓϩμΫτɹ → ɹػೳ௥ՃͰසൟͳERมߋɹ → ɹBQ΋௥ਵ͍ͨ͠  ɹ஝ੵσʔλʹϚΠάϨʔγϣϯ͕ඞཁ

  82.  ɹJupyter for Migration 1. ϩʔΧϧͷJupyterͰ
 ɹϚΠάϨʔγϣϯεΫϦϓτΛॻ͘ 2. ͦͷ··JupyterͰ
 ɹ1೔෼ͷσʔλΛର৅ʹಈ࡞֬ೝ

    3. PythonϑΝΠϧΛग़ྗ
 ɹ → αʔό্ͰશσʔλΛҠߦ IUUQTXXXTIBSFJDPOOFUEPDVNFOUpMFQZ
  83. ※ͨͩ͠Python2.7੍໿͕͋ΔͷͰҰ෦ॻ͖௚͕͠ඞཁ → ύλʔϯ͕ݟ͖͑ͯͨΒม׵εΫϦϓτ • Φʔτεέʔϧ → Dataflow
 ɹGKE͸෼ࢄ޲͚ͷઃܭ͕ඞཁ
 • σʔλྔ͕গͳ͚Ε͹Datalab


    ɹJupyterͷίʔυ͕··࢖͑Δ ɹGCPͷαʔόΛར༻ ɹ • Googleઐ༻ઢͰBQΞΫηε
 ɹ • ಉ͡ถࠃϦʔδϣϯʹཱͯΔ  ɹBQͰ100ԯϨίʔυΛҠߦ͢Δ ϘτϧωοΫᶃ N/W ϘτϧωοΫᶄ ϝϞϦ
  84.  ɹσʔλϑϩʔͷߏங ऩू Ճ޻ ׆༻ ஝ੵ Model View Ճ޻ ύΠϓϥΠϯ؅ཧ

  85. 3૚ߏ଄
 ࢀߟʰ10೥ઓ͑Δσʔλ෼ੳೖ໳ - SQLΛ෢ثʹσʔλ׆༻࣌୅Λੜ͖ൈ͘ʱ  ɹσʔλՃ޻ ɹɹɹɹɹɹBigQuery - Google Cloud

    Platform Source
 ݩσʔλͷίϐʔ Warehouse
 ओཁࢦඪɾසग़σʔλ
 தؒςʔϒϧ App
 ֤πʔϧ͔Β௚઀ࢀর
 ඇٕज़ऀ޲͚IF Ճ޻ Ճ޻
  86.  IUUQTHSPXUIIBDLKPVSOBMDPNLQJUSFFGPSBQQ ɹओཁࢦඪΛதؒςʔϒϧͰ؅ཧ

  87.  ɹPythonεΫϦϓτʹΑΔՃ޻

  88.  ɹsh → exec.py • γΣϧҾ਺Λ΋ͱʹॲཧΛಈతৼΓ෼͚
 • ݸʑͷΤϯυϙΠϯτ͸ࡉ෼Խ
 ɹˠ ΦʔτεέʔϧɺϦτϥΠɺಈ࡞֬ೝ͠΍͘͢

  89.  ɹController • ॲཧͷશମ૾Λهड़
 • Facadeͱͯ͠ଞॲཧΛݺͼग़͢

  90.  ɹModel • Ϗδωεࢦඪͱ1ର1ͰରԠ͢ΔΫϥε
 • Create/ReadॲཧͷΈ → ஋͸BQ؅ཧ
 ɹ →

    ϓϩάϥϜ্͸εςʔτϨεʹอͭ
  91.  ɹQuery • BigQueryͱͷR/WΛѻ͏SQL
 • ςΩετॲཧͷࢧԉػೳΛ׆༻
 ɹ → f-strings (3.6~)΍TypeHints

    (3.5~)
 • ϝιουͱͯ͠੾Γग़͠
 ɹ → ஋ͷҾ͖౉͠ʹΑΔείʔϓ੍ޚ
  92.  ɹEnum • Enum(3.4~)Ͱσʔλݻ༗ͷίʔυ஋Λ؅ཧ
 • ੡඼ຊମ (Java) ͷEnumΛҠ২ → Dictܕʹม׵


    • ܧঝݩͷbaseEnumΛ༻ҙ → ڞ௨ͷσʔλऔಘॲཧΛ࡞੒
  93.  ɹResource • ֎෦γεςϜͱͷ࿈ܞॲཧ
 • retryॲཧͷҰݩԽ → σʔλྔ͕૿͑ΔͱBQ͸Αࣦ͘ഊ͢ΔͷͰ
 • dotenvͰ؀ڥม਺ΛಡΈࠐΉ

    → ຊ൪ɾ։ൃͰSlackνϟϯωϧΛ෼͚Δ
  94.  ɹσʔλϑϩʔͷߏங ऩू Ճ޻ ׆༻ ஝ੵ Model View ׆༻ ύΠϓϥΠϯ؅ཧ

  95.  ɹσʔλ׆༻ - Pushܕ IUUQGSFFJMMVTUSBUJPOTHBUBHOFUIUNM ػցֶशࢪࡦ

  96. ΞυϗοΫ ࣗಈԽ  ɹσʔλ׆༻ - Pullܕ

  97.  ɹ୭ʹεΫϦϓτΛ༻ҙ͢Δ͔ Yes No ͦͷ࡞ۀ͸
 ܁Γฦ͢ʁ ϞχλϦϯά
 ఆظతͳॲཧ
 ʲPushܕʳʢҰ෦ྫ֎͋Γʣ εφοϓγϣοτ


    ΞυϗοΫͳ෼ੳɾௐࠪ
 ʲPullܕʳ SQLΘ͔Δ
 ͻͱɾ෦ॺʁ ELTɿૄ௨ˠՃ޻
 ʢྫʣػցֶशΤϯδχΞ
 ʲPullܕʳ ETLɿՃ޻ˠૄ௨
 SpreadsheetͰI/F
 ʲPushܕʳ ※Ճ޻ࡁΈσʔλʹରͯ͠γϯϓϧͳSELECTจΛൃߦ͢Δ͚ͩͰࡁΉέʔε͸ଟ͍
  98.  ɹDecorator • ֤View޲͚ͷσʔλՃ޻ʢग़ྗઌʹԠͨ͡ม׵ॲཧʹಛԽʣ
 • ྫɿຖேSlackʹ౤͛ΔάϥϑΛ matplotlib Ͱඳը

  99.  ɹσʔλϑϩʔͷߏங ऩू Ճ޻ ׆༻ ஝ੵ Model View ύΠϓϥΠϯ؅ཧ

  100. ؅ཧπʔϧʹظ଴͢Δཁ݅ʢཧ૝ʣ 
 
  ɹσʔλύΠϓϥΠϯͷ؅ཧ 1. ίʔυͰόʔδϣϯ؅ཧ
 2. εέδϡʔϧࣗಈىಈ
 3.

    ηοτΞοϓ΍ϝϯςφϯεͷָ͞(DB಺แͳͲ)
 4. GUI/CUI྆ํͰϩάɾύϑΥʔϚϯεͷ؅ཧ
 5. GUI/CUI྆ํͰม਺ࢦఆͷ࠶࣮ߦ 6. ࣗಈϦτϥΠॲཧɾεΩοϓػೳ
 7. εΫϦϓτͷฒྻ࣮ߦ
 8. αʔόͷΦʔτεέʔϧ
 9. ༗޲ඇ८ճάϥϑͷࣗಈ࡞੒
 10. Python3.6~ରԠʢςΩετॲཧ͕֨ஈʹָʣ
  101. ࿩୊ͷπʔϧΛܰ͘৮ͬͯࢼͯ͠ΈͨΓ
 ɹɹɹɹɹɹ 
 ɹɹɹɹɹͲΕ΋ັྗత͚ͩͲҰேҰ୹ → ͔Ώ͍ͱ͜Ζʹख͕ಧ͔ͳ͍
 ɹɹɹɹɹɹ • ίϯτϦϏϡʔτͷνϟϯε͔΋ʁ
 ɹɹɹɹɹɹ

    • ೔ਐ݄าͰັྗతͳͷͰ͍ͣΕҠ২͍ͨ͠ؾ࣋ͪ͸͋Δ  ɹWorkflow Engine
  102. ͳΜ͔ͩΜͩͰ࠷ॳʹ͓खܰߏஙͨ͠ jenkins Λ࢖͍ଓ͚͍ͯΔ
 
 ɹɹɹɹɹɹ• 2ܥ + BlueOcean + Pipeline

    of jenkinsfiles
 ɹɹɹɹɹɹ• ϦτϥΠػߏɾॲཧ࠷దԽ͸ଞʹྼΔ
 ɹɹɹɹɹɹ• jenkinsδϣϒ͔ΒγΣϧܦ༝Ͱ֤छॲཧΛίʔϧ  ɹ҆ఆͷJenkins
  103.  ɹσʔλϑϩʔͷߏஙʢ׬ʣ ऩू Ճ޻ ׆༻ ஝ੵ Model View ύΠϓϥΠϯ؅ཧ

  104. 1. ϓϩμΫτ / νʔϜ 
 2. ෼ੳج൫ͷDev&Ops ɹɹϢʔεέʔεɹߏஙͷഎܠɹઃܭϙϦγʔɹσʔλϑϩʔɹ։ൃϓϩηε 
 3.

    σʔλจԽΛ૊৫ʹ૷ண͢Δ  ɹΞδΣϯμ
  105.  ɹͲͷΑ͏ͳϓϩηεΛ࠾༻͔ͨ͠ σʔλج൫

  106. ʮσʔλج൫Λ࡞Δͧʯܭը͸ ࣦഊ͔Β࢝·ͬͨ 

  107.  μογϡϘʔυΛ
 ෦԰ͷϞχλʔʹө͢ ɹ࠷ॳͷҰา

  108.  1. ຖ೔ͷKPIΛ͢Β͢Βݴ͑ΔΑ͏ʹͳΔ͔΋
 
 ɹ2. ҟৗ஋ʹؾ͍ͮͯਝ଎ʹಈ͚ΔΑ͏ʹͳΔ͔΋ ɹߴ·Δظ଴

  109.  1िؒͰ୭΋ݟͳ͘ͳͬͨ ɹݱ࣮͸ඇ৘Ͱ͋Δ

  110. 

  111. ɹɹɹ׬ᘳͳاըॻʁ ɹɹɹѹ౗తͳ༧ࢉʁ ɹɹɹ1೥ؒͷ։ൃϓϩδΣΫτʁ  ɹʮ࠷ڧͷσʔλج൫ʯΛࢧ͑Δϓϩηεʁ

  112. ɹɹɹ׬ᘳͳاըॻʁ ɹɹɹѹ౗తͳ༧ࢉʁ ɹɹɹ1೥ؒͷ։ൃϓϩδΣΫτʁ  ɹʮ࠷ڧͷσʔλج൫ʯΛࢧ͑Δϓϩηεʁ ❌

  113. ɹɹ• ࢥ͍ͬͯͨͷͱҧͬͨ ɹɹ• ྑͦ͞͏͚ͩͲ݁ہ࢖Θͳ͔ͬͨ  ɹ1೥ޙʹ଴ͭ΋ͷ

  114.  ɹʮԶͷߟ͑ͨ࠷ڧͷσʔλج൫ʯ͸࢖ΘΕͳ͍ IUUQXXXQSPKFDUDBSUPPODPN

  115. → ͜ΕͳΒ࣮֬ʹ࢖ͬͯ΋Β͑Δ  ɹগͣͭ͠ஔ͖׵͑Α͏ 
 ࣮͸͏ͪͷ෦ॺͰຖேSlackʹάϥϑΛ
 खಈͰྲྀ͍ͯ͠ΔΜ͚ͩͲʂ 
 ͜ͷػʹࣗಈԽ͠·͔͢ʂ

  116. ɹɹɹQ.ɹ࠷ॳʹཁ݅Λશ෦ચ͍ग़ͤ͹OKʁ
 
 ɹɹɹA.ɹNGʂʮ΍Γ͍ͨ͜ͱʯ͸มΘΔʂ
 ɹɹɹɹɹɹɹ • ଞࣾϒϩάΛݟͯʮ͏ͪ΋΍Γ͍ͨʂʯ
 ɹɹɹɹɹɹɹ • ৽͍͠BIπʔϧͷఏҊʹʮ͜Ε͍͍ʂʯ
 ɹɹɹɹɹɹɹ

    • ࣮ࡍʹը໘Λ࡞ͬͨΒʮͳΜ͔ҧ͏ʂʯ 
 ɹɹ ɹɹ → มԽʹॊೈʹରԠ͢Δʂ  ɹΠςϨʔγϣϯΛճ͢͜ͱ͕େࣄ
  117. TodoΛνέοτ؅ཧ → ॊೈʹ༏ઌॱҐΛೖΕସ͑Δ  ɹνέοτۦಈ։ൃ

  118.  ɹλεΫͷ༏ઌॱҐ 1 σʔλ͕·͕͍ͪͬͯΔ
 ٙ࿭ͷௐࠪ ɹ1ͭؒҧ͍ͬͯΔͱશ෦৴༻Ͱ͖ͳ͘ͳΔͷͰ࠷༏ઌରԠɻ
 ɹ͙͢ௐࠪ͢Ε͹ؔ܎ऀͷ৴༻࢒ߴΛ૿΍ͤΔɻ 2 Modelվम ɹσʔλ߲໨௥ՃͳͲɻ


    ɹଟগݟʹͯ͘͘΋࢖͑Δঢ়ଶʹ͢Δ͜ͱ͕༏ઌɻ
 ɹ࠷ѱͷ৔߹Ͱ΋Ͳ͏ʹ͔࢖͏ଆͰ޻෉Ͱ͖ΔͷͰɻ 3 Viewվम ɹάϥϑͷݟӫ͑ͳͲɻ
 ɹҰ൪ʮมԽ͍ͯ͠ΔʯΠϯύΫτ → ؔ܎ߏஙʹ͸د༩ɻ
 ɹ࢖͍खʹͱͬͯ͸ॏཁͳͷͰՄೳͳൣғͰαϙʔτɻ 4 γεςϜͷอकੑͱ
 ύϑΥʔϚϯε ɹϘτϧωοΫʹͳͬͨΒରॲ͢Δɻ
 ɹ࠷ॳ͔ΒڽΔͱʮૣ͗͢Δ࠷దԽʯʹؕΓ͕ͪɻ
 ɹ࡞ۀνέοτʹ͢Δ·Ͱ΋ͳ͍ͭ͘Ͱʹ௚͢श׳Λ͚ͭΔɻ
  119.  ɹTest • unittest ʹΑΔࣗಈςετΛ׆༻
 • Excel಺༰Λظ଴஋ʹ൓ө → GreenʹͳΕ͹࠶ݱ׬ྃ -

    ·͞ʹ “TDD”
 • SQLνϡʔχϯά΍ϦϑΝΫλ࣌ʹσάϨΛଈ࣌ݕ஌Ͱ͖ΔͷͰ૬ੑྑ͍
  120. ɹॏް௕େͳExcelΛ࠶ݱ͢Δˠ·ͣղಡ ϚΠϯυϚοϓʹΑΔ੔ཧ
 εϥΠυʹೖΔΑ͏ʹʢೖΓ͖ͬͯͳ͍͚ͲʣॖΊͨΒը૾͕௵Εͯ͠΋͏ͨ…… 

  121. ɹɹ1. Jupyter Notebook Ͱௐࠪ಺༰ͱ
 ɹɹɹσʔλΛ࠶ݱՄೳͳܗͰอଘ͢Δ 
 
 ɹɹ2. Github Preview

    Λͦͷ··
 ɹɹɹઆ໌ࢿྉͱͯ͠ར༻͢Δ  ɹطଘͷܭࢉϛε΍σʔλෆ੔߹Λൃݟ
  122.  ɹχʔζ։୓ͷ޷॥؀ ֤෦ॺͷϢʔεέʔεΛ
 ώΞϦϯά͠΍͘͢ͳΔ ʮσʔλͷ͜ͱ͸͍ͭ͜ʹฉ͚ʯ
 ʹ ࣭໰΍૬ஊ͕དྷΔΑ͏ʹͳΔ طଘσʔλͷϛε΍໰୊ɺ
 ͞ΒͳΔհࡏ༨஍ʹؾ෇͚Δ খ͞ͳ࣮੷


    طଘσʔλͷܭࢉϛε΍ෆ੔߹Λൃݟ
 → ใࠂͯ͠௚͢
  123. ͱʹ͔͘਺ࣈ͕߹Θͳ͍  ɹ޷॥؀Λࢧ͑Δ೜଱ γεςϜ࿈ܞͷ్தͰ࢛ࣺޒೖ͕ੵΈॏͳΔ Excel͕طʹ 4 x 1990 = 7959

    ͱͳ͍ͬͯΔ ࣮ߦλΠϛϯάͰूܭ݁Ռ͕มΘΔ
 → طଘͷ਺஋͸୭΋࠶ݱͰ͖ͳ͍
  124. ࣮ࡍʹඅ΍ͨ࣌ؒ͠ͷ80% ʹ ͻͨ͢Β஍ಓͳ࡞ۀ 
 ·͊ɺେมͰͨ͠ɻ  ɹ׼ͱྦͷτϥϒϧγϡʔςΟϯά

  125.  ɹ֤෦ॺ΁ͷσʔλఏڙΛ࣮ݱ σʔλج൫

  126. 1. ϓϩμΫτ / νʔϜ 
 2. ෼ੳج൫ͷDev&Ops ɹɹϢʔεέʔεɹߏஙͷഎܠɹઃܭϙϦγʔɹσʔλϑϩʔɹ։ൃϓϩηε 
 3.

    σʔλจԽΛ૊৫ʹ૷ண͢Δ  ɹΞδΣϯμ
  127.  ɹ͜Ε·ͰɿϏδωε෦໳ͷϝΠϯExcel • σʔλͷ஝ੵ → ॏ͍ϑΝΠϧ
 
 • ؔ਺/ηϧͷଟॏࢀর →

    ௐࠪ/ղऍ͕ࠔ೉
 
 • macOSͰ։͘ͱͳΜ͔յΕΔ ։͘ͷʹ3෼ɻಈ͔ͦ͏ͱ͢Δͱ·ͨࢭ·Δɻ ΤϯδχΞ͕ؾܰʹݟΒΕͳ͍ঢ়گ
  128. ɹɹɹɹɹ ʴ ɹ͜Ε͔ΒɿTech + Culture = Value  ςΫϊϩδʔ
 จԽɾϓϩηε

    σʔλΛ׆༻ͨ͠
 ੡඼։ൃ ੈͷதʹ ސ٬Ձ஋Λఏڙ Done
  129. ɹɹɹɹɹ ʴ ɹ͜Ε͔ΒɿTech + Culture = Value  ςΫϊϩδʔ
 จԽɾϓϩηε

    σʔλΛ׆༻ͨ͠
 ੡඼։ൃ ੈͷதʹ ސ٬Ձ஋Λఏڙ Done Todo
  130.  ɹϓϩμΫτ։ൃͱԾઆݕূ Build Measure Learn

  131.  ɹϓϩμΫτ։ൃͱԾઆݕূ Build Measure Learn Ͱ͖͍ͯΔ ΍ͬͯΈΔ

  132. ɹɹͲΜͳϢʔβʔ͕৽ػೳΛ࢖ͬͨͷ͔
 ɹɹϓϩμΫτʹͲΜͳظ଴Λ΋͍ͬͯΔͷ͔ ɹɹϏδωεKPI͸Ͳͷఔ౓޲্ͨ͠ͷ͔
 ɹɹ෭࡞༻͸͔͋ͬͨʢ͋ΔػೳΛԡ͠ग़͢ → ผͷػೳ͕࢖ΘΕͳ͘ͳΔՄೳੑʣ  ɹ࣮ࢪͨ͠ࢪࡦͷ݁ՌΛ෼ੳ IUUQHBUBHOFUGSFFJMMVTUSBJUJPO

  133.  ɹ͜Μͳײ͡Ͱ΍Γ·ͨ͠ 1. ϗϫΠτϘʔυʹ෼ੳཁ݅
 ɹɹΧελϚʔߦಈભҠΛϕʔεͱͨ͠ࢦඪπϦʔ
 ɹɹϩάΠϯ཰͕޲্ → ΞΫγϣϯ͕… → ച্׵ࢉ

    
 ɹɹɹɹ2. JupyterͰ෼ੳ
 ɹɹɹɹɹίʔυ͸શͯίϛοτཤྺͰ؅ཧ
 
 ɹɹɹɹɹɹɹɹ3. ෼ੳ݁ՌΛؔ܎ऀʹڞ༗
 ɹɹɹɹɹɹɹɹɹGithubͷϓϨϏϡʔը໘Λ׆༻
  134. ɹKeepɹϏδωεࢹ఺Ͱ։ൃΛݟΔ ࣗ෼ͷ੒ՌΛࣗ෼Ͱݴ͑ΔΑ͏ʹͳͬͨ
 ʢྫɿ1ϲֻ݄͚ͨҊ݅Ͱച্xxԁ/೥ʣ
 

  135. ɹProblemɹνʔϜͷվળ༨஍͕ݦࡏԽ ɹɹϝϯόʔ͕ࣗ෼ͷཧղෆ଍ʹڻ͘
 
 ɹɹɹ • ੡඼࢓༷ - ͜ͷέʔεͩͱσʔλͷத਎͸Ͳ͏ͳΔʁ
 ɹɹɹ •

    ϑϩϯτدΓϝϯόʔ͕ෳࡶͳSQLʹखؒऔΔ
 ɹɹɹ • ͦ΋ͦ΋ϏδωεKPIΛ೺Ѳ͍ͯ͠Δ͔
 ɹɹɹ • ͖ͪΜͱ෼ੳ͢ΔͨΊʹຊ౰͸ඞཁͩͬͨϩάཁ݅ͷ࿙Ε
 
  136. ɹTryɹϓϩμΫτࢤ޲νʔϜ΁ͷୈҰา ݴΘΕͨ΋ͷΛ࡞Δ͚ͩʢBuildॏࢹʣࢥߟ͔Βͷ୤٫  ʮ͞Βʹ਺ࣈΛ৳͹͢ʹ͸Ͳ͏͢Δʁʯ ࢪࡦΛىҊ͢ΔΤϯδχΞ͕ग़࢝ΊΔ Ϗδωε෦໳ͱนଧͪ 㲗 ࢼߦࡨޡ 
 αϯϓϧ࣮૷ɹษڧձͰڝ߹ͷΤϯδχΞΛั·͑ͯ࿩Λฉ͘


    ࣾ಺ؔ܎ऀʹ໰୊ҙࣝΛώΞϦϯάɹ਺ࣈΛ΋ͱʹޮՌݟཱͯ νʔϑϓϩσϡʔαʔ͔ΒGoαΠϯ
  137.  ɹϓϩμΫτ։ൃͱԾઆݕূ Build Measure Learn Ͱ͖͍ͯΔ ΍ͬͯΈΔ

  138.  ɹ͍͔ʹਁಁͤ͞Δ͔ Build Measure Learn Ͱ͖͍ͯΔ ΍ͬͯΈΔ ਁಁͤ͞Δ

  139. ͋ͷख͜ͷखͰʮσʔλ෼ੳ΍Ζ͏ʯͷۭؾΛৢ੒ ɹ • σʔλ෼ੳϋοΧιϯͷ։࠵ ɹ • ே׆ x ࣗ༝ݚڀʢϏοτίΠϯͷ஋্͕ΓཁҼΛ౷ܭղੳ͢Δۚͷ๢ऀ͕େྔൃੜʣ ɹ

    • JupyterHubΛ֦ுͨ͠PythonֶशαΠτ΍
 ɹɹ֎ʹஔ͚ͳ͍σʔλ޲͚ͷnbviewerΛࣾ಺ఏڙ  ɹϝοηʔδϯά
  140. 1ͭͷϞχλʔΛғΜͰશһͰ࡞ۀ͢Δ ɹɹ • पғ͕ௐ΂ͨΓΞυόΠε͠ͳ͕ΒਐΊΔ
 ɹɹɹ → ϋϚΒͳ͍ / ࠳ંΛ๷͙ɺTips΍ίπΛڞ༗͋͠͏
 ɹɹ

    • օ͕΍ΔͳΒࣗ෼΋΍Δ͔ʂͷޙԡ͠
 ɹɹɹ → ʮ΍ͬͯΈͨΒࢥͬͨҎ্ʹྑ͔ͬͨʯͷମݧ  ɹϞϒ ϓϩάϥϛϯά σʔλ෼ੳ
  141. 
 σʔλ࢓༷ʹৄ͍͠ʢগͳ͘ͱ΋ௐࠪ͢ΔεΩϧ͸΋͍ͬͯΔʣΤϯδχΞ͕
 ୲౰ྖҬΛ޿͛Δ͜ͱͰલޙ޻ఔͷϦʔυλΠϜΛ୹ॖ
  ɹϓϩηε૷ண - ։ൃ޻ఔʹ૊ΈࠐΉ ੡଄ ઃܭ ࢼݧ

    ϦϦʔε ޮՌ
 ଌఆ ཁ݅
 ఆٛ ཁٻ
 ੔ཧ ੡଄ ઃܭ ࢼݧ ϦϦʔε ޮՌ
 ଌఆ ཁ݅
 ఆٛ ཁٻ
 ੔ཧ طʹ΍͍ͬͯΔ ෼ੳཁٻ ϩάཁ݅ ܭଌ ΞΠσΞ
  142. ΤϯδχΞ ʹ ͦͷ৔Ͱσʔλ࢓༷Λௐ΂Δ͜ͱ͕Ͱ͖Δ 
 σʔλαΠΤϯε෦໳͕࢓༷ώΞϦϯάΛॏͶͯ
 1ि͔͚͍ؒͯͨ෼ੳ͕1࣌ؒͰ׬ྃʢϑϩʔޮ཰Խʣ  ɹ࣮੷ɿΞδϦςΟͷ޲্ ϝΠϯϞχλʔ͸
 Jupyter

    Notebook αΠυϞχλʔ͸
 ϓϩμΫτͷιʔείʔυ ʴ
  143.  ɹϓϩμΫτ։ൃͱԾઆݕূ Build Measure Learn Ͱ͖͍ͯΔ ΍ͬͯΈΔ Ͱ͖͍ͯΔ

  144. ɹLearn ࠓޙͷ՝୊
 ·ͩࢼߦࡨޡதͰ͢ 

  145.  ɹؾ෇͖ - “Ծઆ” Λ஌Βͳ͍ͱ “ݕূ” Ͱ͖ͳ͍ IUUQXXXOJLLFJCQDPKQBUDMQVCNLUCPPL1 Ϗδϣϯ ઓུ

    ઓज़
  146. “Ծઆ” Λνʔϑϓϩσϡʔαʔʹ࣭໰ ↓
 
 ߟ͑Λฉ͍ͨΤϯδχΞʮ͍΍ɺԶ͸͜͏ࢥ͏ʂʯ ↓
 ϒϥϯυ࠶ݕ౼ϫʔΫγϣοϓͷ։࠵
 ͲΜͳސ٬ʹͲΜͳՁ஋Λఏڙ͢Δͷ͔
 ෦ॺΛԣஅ͓ͯ͠ޓ͍ͷߟ͑ΛͿ͚ͭ߹͏ 

    ɹର࿩ͷ׆ੑԽ
  147. ֤ࣗͷҙݟ͕ʮ͋ͳͨͷײ૝Ͱ͢ΑͶʯʮͳΜ͔σʔλͱ͔͋ΔΜͰ͔͢ʯঢ়ଶ  ɹҙݟͷͿ͚ͭ߹͍ → ݟ͖͑ͯͨ՝୊ ࣗ෼ͨͪ͸ސ٬ͷ͜ͱΛ
 ຊ౰ʹཧղ͍ͯ͠Δͷ͔ʁ উखͳࢥ͍ࠐΈͰ
 ϓϩμΫτΛ
 ։ൃ͍ͯ͠ͳ͍͔ʁ

  148.  ɹϦΫϧʔτͷྺ࢙ Ӧۀ͕௚઀ళฮʹग़޲͍ͯ
 σʔλΛऩू͍ͯͨ͠ σʔλʢࣄ࣮ʣΛ࣋ͪدͬͯ
 ෦ॺؒͰҙݟΛͿ͚ͭ߹͏ ࢢ৔ͷ࠶ఆٛ
 ৽͍͠ϏδωεՁ஋ͷߏங
 ྫɿঁੑ޲͚ब৬ϝσΟΞ →

    ࣾձਐग़ͷࢧԉ
 ྫɿΫʔϙϯࡶࢽ → ༧໿αΠτ ΁ͷస׵ IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM IUUQXXXJSBTVUPZBDPNOFXQPQIUNM
  149. 4&$*Ϟσϧ  ɹσʔλ͕ࢧ͑Δ஌ࣝ૑଄ ސ٬Ձ஋ উͪےɾUVP ΤϯδχΞ ू٬ σβΠϯ ηΩϡϦςΟ ๏຿

    ΧελϚʔαϙʔτ ޿ใ ࢧԉऀɾ։୓ऀͱͯ͠ͷ
 σʔλαΠΤϯςΟετ σʔλ
  150. શͯ͸ ސ٬ཧղ ͔Β࢝·Δ σʔλ͸ͦͷͨΊͷ൑அࡐྉ 

  151. Ӧۀ͕଍Λ࢖ͬͯσʔλΛूΊΔ
 ΫϥΠΞϯτͱపఈతʹ޲͖߹͍ʮউͪےʯΛݟ͚ͭΔ
 ͦ͏΍ͬͯϦΫϧʔτͷ
 ͜Ε·Ͱͷ50೥Λ࡞͖ͬͯͨ
 ϝσΟΞΛ௨ͯ͠ੈքΛ࡞͖ͬͯͨ 

  152. ΤϯδχΞ͕खΛ࢖ͬͯσʔλΛूΊΔ
 ΧελϚʔͱపఈతʹ޲͖߹͍ʮUVPʯΛݟ͚ͭΔ
 
 ͦ͏͢Δ͜ͱ͕ϦΫϧʔτͷ
 ͜Ε͔Βͷ50೥Λ࡞Δ͸ͣ
 ϓϩμΫτΛ௨ͯ͠ੈքΛ࡞Δ͸ͣ 

  153.  ϦΫϧʔτʹݶͬͨ࿩Ͱ͸ͳ͍
 
 ͜Ε͔ΒͷੈքΛ࡞Δͷ͸ɺ
 ୭ΑΓ΋ ੡඼ ͱ ސ٬ ʹਫ਼௨ͨ͠
 ΤϯδχΞͷ໾ׂ

    Ͱ͢
 ͍·͜ͷ৔ʹ͍Δ ࢲͨͪࣗ਎ Ͱ͢ 
 σʔλ׆༻͸ɺͦͷୈҰาͩͱࢥ͍ͬͯ·͢
  154. σʔλΛ׆༻͢ΔͨΊʹ৐Γӽ͑Δน • େن໛૊৫ͰͲͷΑ͏ͳγεςϜɾϓϩηεΛ࠾༻͢Δ͔ʁ
 • Buildॏࢹݱ৔ʹͲ͏΍ͬͯMeasureɾLearnΛ૷ண͢Δ͔ʁ 1ͭͷϓϩμΫτʹ͓͚ΔࣄྫΛڞ༗͠·ͨ͠  ɹຊ೔ͷৼΓฦΓ

  155. σʔλ׆༻ͷਪਐʢ୅දͱͯ͠ൃද͠·͕࣮ͨ͠ࡍʹ͸൴Βͷޭ੷ʹΑΔͱ͜Ζ͕େ͖͍Ͱ͢ʣ ɹNaoya OsugiɹLee HeesungɹTatsuya IshibeɹTakuya BeppuɹTakahiro Kato
 ɹKohei AotaɹRyo InoueɹHiroki

    SakamotoɹShinryo UchidaɹShinsaku Kouno
 ɹShin KanouchiɹGeeWook KimɹKoh Fujiwara
 ٕज़ΞυόΠεɾ૊৫ࢧԉ ɹSho ItoɹShinya NishinakaɹNaoki Ainoya
 ɹKeisuke SoneɹSatoshi UejimaɹNorihisa Miyakawa ൃදαϙʔτ ɹShun OnoɹYusaku TokunagaɹKazutaka SakuraiɹSaki Kato ※ࢿྉɾ಺༰ʹޡΓ΍ෆద੾ͳදݱ͕͋Ε͹ൃදऀͷϛεͰ͢ɻ@yuzutas0 ʹ͝࿈བྷ͍͚ͨͩΔͱ޾͍Ͱ͢ɻ  ɹSpecial Thanks - ج൫ͷಓ͸1ਓʹͯ͠੒Βͣ
  156. গ͠Ͱ΋ଟ͘ͷ ։ൃݱ৔ ͕
 ੈͷதʹ ྑ͍ϓϩμΫτ Λఏڙ͢Δ
 ώϯτ ʹͳΕͨΒͱࢥ͍ͬͯ·͢  ɹ఻͍͑ͨ͜ͱ

  157. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ presented by @yuzutas0
 https://www.pexels.com/photo/close-up-of-computer-keyboard-257949/ɹhttps://www.pexels.com/photo/technology-computer-lines-board-50711/ɹhttps://www.pexels.com/photo/black-and-white-business-chart-computer-241544/