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

クックパッドにおけるAndroidエンジニアの役割とその変遷

yagi
February 19, 2016

 クックパッドにおけるAndroidエンジニアの役割とその変遷

少人数1チーム体制時代から多事業部多人数体制時代までAndroidエンジニアの役割が変遷していくなかでチームが直面した課題とそれを解決する為に構築してきた開発プロセスや習慣、仕組みをお話します。すぐに導入できそうなものを中心に紹介します。

yagi

February 19, 2016
Tweet

More Decks by yagi

Other Decks in Technology

Transcript

  1. ΫοΫύουʹ͓͚Δ
    "OESPJEΤϯδχΞͷ໾ׂͱ
    ͦͷมભ
    %SPJE,BJHJ
    300."
    ϋογϡλάɿ%SPJELBJHJ"

    View full-size slide

  2. ର৅ऀ
    wϞόΠϧ։ൃνʔϜΛ཰͍͍ͯΔਓ
    wࢀՃ͍ͯ͠Δਓ
    w͜Ε͔Β࡞͍ͬͯ͜͏ͱࢥ͍ͬͯΔਓ

    View full-size slide

  3. ࿩͢͜ͱ
    wগਓ਺νʔϜମ੍࣌୅͔Βଟࣄۀ෦ଟਓ਺
    ମ੍࣌୅·Ͱ"OESPJEΤϯδχΞͷ໾ׂ͕
    มભ͍ͯ͘͠ͳ͔ͰνʔϜ͕௚໘ͨ͠՝୊ͱ
    ͦΕΛղܾ͢Δҝʹߏங͖ͯͨ͠։ൃϓϩη
    ε΍श׳ɺ࢓૊Έ
    w͙͢ʹಋೖͰ͖ͦ͏ͳ΋ͷΛத৺ʹ঺հ
    w˞ίʔυ͸ग़͖ͯ·ͤΜɻ

    View full-size slide

  4. ΫοΫύουʹ͓͚Δ
    "OESPJEΤϯδχΞͷ໾ׂͱ
    ͦͷมભ
    %SPJE,BJHJ
    300."
    ϋογϡλάɿESPJELBJHJ"
    Λࢧ͑ͨ։ൃϓϩηε

    View full-size slide

  5. ࣗݾ঺հ
    wീ໦ढ़޿ !TZTZBHJ

    ‣ "OESPJE&OHJOFFS
    ‣ ΫοΫύουגࣜձࣾങ෺৘ใࣄۀ෦ॴଐ
    ‣ ೥ೖࣾ
    w࠷ۙͷझຯ(JUIVCʹ૲Λੜ΍͠ଓ͚Δ

    View full-size slide

  6. ΫοΫύου"OESPJE
    NPCJMFBQQશମͷ
    ݄ؒར༻ऀ਺ ."6

    ˞೥݄࣌఺

    View full-size slide

  7. ΫοΫύου"OESPJE
    NPCJMFBQQશମͷ
    ݄ؒར༻ऀ਺ ."6

    ͷ͘Β͍͕"OESPJE
    ˞೥݄࣌఺

    View full-size slide

  8. w೥݄d
    wϋΠϒϦουΞϓϦOBUJWFΞϓϦԽ
    wϑϧεΫϥον
    w"OESPJEΤϯδχΞਓ
    গਓ਺ମ੍࣌୅

    View full-size slide

  9. DPPLQBEBQQ
    NPCJMFHSPVQ
    EFW
    গਓ਺ମ੍࣌୅

    View full-size slide

  10. w 8FCͰఏڙ͍ͯ͠ΔػೳΛOBUJWFʹҠ২͢Δ
    w ඞཁͳ"1*ͷચ͍ग़͠ɺ࢓༷࡞੒ɺௐ੔
    w "OESPJEಛ༗ͷσβΠϯͱମݧΛ࡞Δ
    w େྔͷJTTVFΛͻͨ͢ΒফԽ
    ΍͍ͬͯͨ͜ͱ

    View full-size slide

  11. w(JUIVC&OUFSQSJTFͰJTTVF؅ཧ
    w1VMM3FRVFTU3FWJFX
    w$* +FOLJOT
    ͰͷNBTUFSCSBODIϏϧυ
    w%FQMPZHBUF΁EFCVH൛Λ഑৴
    ਓͷ։ൃελΠϧ

    View full-size slide

  12. w"OESPJEBQQͷ։ൃྗΛൃش͢Δ
    "OESPJEΤϯδχΞͱͯ͠ͷ໾ׂ

    View full-size slide

  13. wແࣄϦϦʔε
    wେ͖ͳ໰୊͸ͳ͠
    w଺ࡏ࣌ؒVQ
    ೥݄ϦϦʔε

    View full-size slide

  14. ೥݄ϞόΠϧϑΝʔετࣨઃཱ

    View full-size slide

  15. DPPLQBEBQQ
    NPCJMFpSTUUFBN
    EJWJTJPO
    SFRVFTU
    EFW
    LOPXMBHF
    ରଟ෦ॺମ੍࣌୅

    View full-size slide

  16. ౰࣌ͷࢲͷߟ͑ํ
    ͨͿΜಈ͘ͱࢥ͏͔Β
    ϦϦʔε͠Α͏ͥ

    View full-size slide

  17. ͨͿΜಈ͘ͱࢥ͏͔Β
    ϦϦʔε͠Α͏ͥ
    wͲΜͲΜػೳΛ։ൃ͠
    wCVH͕ݟ͔ͭͬͨΒΨϯΨϯ௚͠
    wεϐʔσΟʹϦϦʔε͢Δ
    wͦΕ͕Ձ஋Λఏڙ͢Δࣄʹܨ͕Δ

    View full-size slide

  18. ͔͠͠਺ճΞοϓσʔτ͢Δͱʜ

    $SBTIMZUJDT

    View full-size slide

  19. ͔͠͠਺ճΞοϓσʔτ͢Δͱʜ
    DSBTIEBZ
    66ʹӨڹ
    ܰඍͳCVHͰ΋໋औΓʜ

    View full-size slide

  20. ԿΛ͍ͭมߋ͚ͨͬ͠ʁ

    View full-size slide

  21. ͍ͭͰ͖Δʁ
    ̋̋ػೳΛೖΕ͍ͨͷͰ༧ఆΛཱ͍ͯͨ
    ͚Ͳ࣍ͷόʔδϣϯ͸͍ͭͰ·͔͢ʁ
    Θ͔Γ·ͤΜʜ

    View full-size slide

  22. ՝୊
    w Ξοϓσʔτ͢Δͱ͙͢ʹ਺ेສਓ͕ར༻͠͸͡ΊΔɺܰඍͳCVH
    ͕େ͖ͳӨڹΛ༩͑ͯ͠·͏
    w NPCJMFBQQ͸8FCαʔϏεͱ͸ҟͳΓɺҰճϦϦʔε͢Δͱ
    औΓফͤͳ͍ɻ඼࣭ʹΑΓγϏΞʹͳΒͳ͚Ε͹ͳΒͳ͍ɻ
    w ඼࣭VQͷͨΊʹ࡞ۀʹ຅಄͕ͪ͠Ͱόʔδϣϯؒͷࠩ෼ʹ͍ͭͯ
    ҙ͕ࣝճΒͳ͍ɺࠂ஌΍υΩϡϝϯτ౳ͷίϛϡχέʔγϣϯΛ
    ͢ΔՋ͕ͳ͍
    w ϦϦʔεαΠΫϧ͕໌֬Ͱ͸ͳ͍ͷͰ֤෦ॺͰ༧ఆ͕ͨͨͳ͍
    w ͋;ΕΔJTTVF

    View full-size slide

  23. ͨͿΜಈ͘ͱࢥ͏͔Β
    ϦϦʔε͠Α͏ͥ

    View full-size slide

  24. w҆ఆతͳϦϦʔεΛߦ͏ΞϓϦέʔγϣ
    ϯ։ൃϓϩηεΛߏங͠ɺଟਓ਺Ͱͷ։
    ൃΛࢧ͑Δ
    w඼࣭޲্ͷ࢓૊Έ࡞ΓɺφϨοδͷ஝ੵ
    Λ͢Δ
    wͰ΋εϐʔυ͸Լ͛ͳ͍
    "OESPJEΤϯδχΞͱͯ͠ͷ໾ׂ

    View full-size slide

  25. ϦϦʔεຖʹ,15ʹΑΔ
    ৼΓฦΓΛ։࢝
    http://techlife.cookpad.com/entry/2014/10/31/093305

    View full-size slide

  26. ϦϦʔεຖʹ,15ʹΑΔ
    ৼΓฦΓΛ։࢝
    w ,FFQ
    w ؆୯ͳࣄͰ΋ग़དྷͨ͜ͱΛ
    ͲΜͲΜग़͢
    w 1SPCMFN
    w ղܾ͢΂͖՝୊Λચ͍ग़͢
    w 5SZ
    w 1SPCMFNΛղܾ͢Δ۩ମ
    తͳߦಈΛఆٛ͢Δ
    ܧଓతͳ
    վળ

    View full-size slide

  27. ແ๏஍ଳͩͬͨ։ൃϓϩηεΛίϯ
    τϩʔϧͰ͖ΔϧʔϧΛ࡞Δ

    View full-size slide

  28. ໨ࢦ͢ํ޲ੑ
    wΘ͔Γ΍͍͢
    w୯७Ͱ͋Δ
    wޮՌతͰ͋Δ

    View full-size slide

  29. ϦϦʔεεέδϡʔϧͷఆٛ
    w ։ൃظؒӦۀ೔
    w ςετӦۀ೔
    w ϦϦʔεӦۀ೔
    w ϦϦʔεӦۀ೔
    w ϦϦʔεӦۀ೔
    w ϦϦʔεӦۀ೔

    View full-size slide

  30. ϦϦʔεεέδϡʔϧͷఆٛ
    wϦϦʔεӦۀ೔
    wϦϦʔε͔Β࣍ͷ։ൃظ͕ؒ࢝·Δɻ
    ϦϦʔεͱϦϦʔεͷؒ͸िؒ
    wස౓͕ଟ͗ͣ͢গͳ͗͢ͳ͍όϥϯε
    wεέδϡʔϧʹԊͬͯมߋΛߟ͑Δ

    View full-size slide

  31. ։ൃऴྃ೔໰୊
    ։ൃ։࢝ $'
    ։ൃظؒӦۀ೔

    View full-size slide

  32. ։ൃऴྃ೔໰୊
    ։ൃ։࢝ $'
    ։ൃظؒӦۀ೔
    1VMM3FRVFTU ?R?

    View full-size slide

  33. ։ൃ։࢝ $'
    ։ൃظؒӦۀ೔
    1VMM3FRVFTU ?R?

    ίʔυϑϦʔζͱ͸
    ։ൃऴྃ೔໰୊

    View full-size slide

  34. w ϨϏϡʔ࣌ؒɺमਖ਼Λߟྀͯ͠13కΊ੾Γ೔
    Λ։ൃऴྃӦۀ೔લʹஔ͍ͨ
    ։ൃ։࢝ 13࠷ऴ೔ $'
    ։ൃظؒӦۀ೔
    13కΊ੾Γͷಋೖ

    View full-size slide

  35. ϦϦʔεΧϨϯμʔͷ࡞੒ͱڞ༗

    View full-size slide

  36. HJUͷϒϥϯνϯάͷํ਑Λఆٛ
    ։ൃ։࢝ 13࠷ऴ೔
    $'
    3$CSBODI
    NBTUFS
    2"

    View full-size slide

  37. HJUͷϒϥϯνϯάͷํ਑Λఆٛ
    ։ൃ։࢝ 13࠷ऴ೔
    $'
    3$CSBODI
    NBTUFS
    2"
    ࠩ෼͕͋Ε͹౎౓NFSHF

    View full-size slide

  38. HJUͷϒϥϯνϯάͷํ਑Λఆٛ
    ։ൃ։࢝ 13࠷ऴ೔
    $'
    3$CSBODI
    NBTUFS
    2"
    ࠩ෼͕͋Ε͹౎౓NFSHF
    جຊతʹৗʹNBTUFSΛ޲͍ͯ։ൃ͢Ε͹ྑ͍

    View full-size slide

  39. มߋͷશͯΛJTTVFʹ͢Δ
    w HJUIVCʹόʔδϣϯຖͷϚΠϧετʔϯΛ࡞Δ
    w ෦ॺϥϕϧΛ࡞੒
    w ֤όʔδϣϯʹೖΕ͍ͨมߋΛશͯJTTVFԽ͢Δ
    w 13కΊ੾ΓલͳͲʹਐḿΛ֬ೝ
    w ϚΠϧετʔϯʹೖ͍ͬͯΔJTTVFʹؔ͢Δมߋ
    Λશͯςετ

    View full-size slide

  40. ίϯτϩʔϥϒϧͳϦϦʔε
    w෦ॺؒͰͷεέδϡʔϧௐ੔͕جຊతʹෆ
    ཁʹͳΔ
    w௚લͷۦ͚ࠐΈ13౳ͷ๷ࢭɺ࣏҆ҡ࣋
    wมߋࠩ෼͕ϚΠϧετʔϯΛݟΕ͹Θ͔Δ
    w҆ఆͨ͠։ൃ͕Մೳʹͳͬͨ

    View full-size slide

  41. ඼࣭Λ্͛Δ
    ӡ༻ίετΛԼ͛Δ

    View full-size slide

  42. ϦϦʔεલ ϦϦʔεޙ
    w ϦϦʔεεέδϡʔϧʹ
    ΑΔࠩ෼ͷೖΔλΠϛϯ
    άͷ౷੍
    w ϨϏϡʔʹΑΔݕग़
    w ϚΠϧετʔϯʹΑΔશ
    ࠩ෼ͷՄࢹԽ
    w ϚΠϧετʔϯࠩ෼Λத
    ৺ʹ໢ཏతͳςετ
    ʁ

    View full-size slide

  43. ϦϦʔεޙͰ͖Δ͚ͩૣ͘ݟ͚͍ͭͨࣄ
    w ಛఆέʔεͰ͚ͩ࠶ݱ͢ΔΫϥογϡ
    w "1*ͷ༧ظͤ͵Τϥʔ
    ‣ σʔλग़޲Λϛεͬͯ
    ‣ มͳτʔΫϯͰϦΫΤετͯ͠ ϩάΞ΢τ

    wϦϦʔεͨ͠ػೳ΍ͳͨ͘͠ػೳʹର͢Δ੠

    View full-size slide

  44. ϦϦʔεޙ؂ࢹͱͯ͠·ͱΊͯ΍Δ
    ϦϦʔεͨ࣌ؒ͠ޙɺேɺ༦ํΛ೔ؒɺ
    ֤छνΣοΫ݁ՌΛه࿥͢Δ

    View full-size slide

  45. ༧ظͤ͵ΫϥογϡΛૉૣ͘ݕग़
    (PPHMF"OBMZUJDTͷϦΞϧλΠϜαϚϦͱ$SBTIMZUJDTͷঢ়گΛݟΔɻ

    View full-size slide

  46. ༧ظͤ͵ΫϥογϡΛૉૣ͘ݕग़
    ৽όʔδϣϯͷൺ཰ʹରͯ͠Ϋϥογϡ਺͕ଟ͘ͳ͍͔ʁ
    (PPHMF"OBMZUJDTͷϦΞϧλΠϜαϚϦͱ$SBTIMZUJDTͷঢ়گΛݟΔɻ

    View full-size slide

  47. ༧ظͤ͵ΤϥʔΛૉૣ͘ݕग़
    "1*ͷΤϥʔϩάΛ,JCBOBʹྲྀ͠άϥϑԽɻલόʔ
    δϣϯͱ͘Β΂ͯΤϥʔ͕௓Ͷ͍ͯͳ͍͔Λ؂ࢹ͢Δ
    https://www.elastic.co/downloads/kibana

    View full-size slide

  48. Ϣʔβͷ੠Λฉ͘
    ͝ҙݟϑΥʔϜʹૹΒΕͨಛఆόʔδϣϯͷ੠ΛνΣοΫ

    View full-size slide

  49. ϦϦʔεલ ϦϦʔεޙ
    w ϦϦʔεεέδϡʔϧʹ
    ΑΔࠩ෼ͷೖΔλΠϛϯ
    άͷ౷੍
    w ϨϏϡʔʹΑΔݕग़
    w ϚΠϧετʔϯʹΑΔશ
    ࠩ෼ͷՄࢹԽ
    w ϚΠϧετʔϯࠩ෼Λத
    ৺ʹ໢ཏతͳςετ
    w $SBTIMZUJDTͷνΣοΫ
    w ,JCBOBͰͷ"1*Τ
    ϥʔνΣοΫ
    w ͝ҙݟͷνΣοΫ

    View full-size slide

  50. ϦϦʔεલޙͰ΍Δࣄͷ୔ࢁ͋ΔΑͶ໰୊
    w ϚΠϧετʔϯʹೖΕΔ
    JTTVFͷ४උ
    w όʔδϣϯίʔυͷߋ৽
    w JTTVFͷਐḿ֬ೝ
    w ίʔυϑϦʔζͱ3$
    CSBODI࡞੒
    w ࠩ෼ͷϦετΞοϓͱς
    ετ
    w ϥΠηϯεͷνΣοΫ
    w ߋ৽จݴ
    w ϦϦʔεޙ؂ࢹ
    w ,15ͷεέδϡʔϧ֬อ
    w FUDʜ

    View full-size slide

  51. ϦϦʔεલޙͰ΍ΔࣄͷνΣοΫϦετ
    ΛJTTVFԽ͢Δ

    View full-size slide

  52. ϦϦʔεલޙͰ΍Δࣄ͍ͭͩΕ͕΍Δͷ໰୊
    ͋ɺ୭͔΍ͬͯΔͱࢥͬͯͨ
    ͋ʜ

    View full-size slide

  53. ϦϦʔεϚωʔδϟ
    ඞཁͳ߲໨Λ
    νΣοΫϦετԽ͠ɺ
    ϦϦʔεͷ͍͋ͩʹ
    ͦΕΛશͯ୲౰͢Δ
    ໾ׂΛ࡞Γɺ࣋ͪ·ΘΔ
    http://techlife.cookpad.com/entry/2015/02/25/093000

    View full-size slide

  54. ඼࣭Λ্͛Δ࢓૊Έ
    ӡ༻ίετΛԼ͛Δ࢓૊Έ
    wϦϦʔεલޙͰΤϥʔݕग़Λૉૣ͘ߦ͑ΔΑ
    ͏ʹͳͬͨ
    wϦϦʔεલޙʹ΍Δ΂͖ࣄΛνΣοΫϦετ
    Խ͢ΔࣄͰ࿙Ε͵͚͕ແ͘ͳͬͨ
    wͦΕΒΛϦϦʔεϚωʔδϟ͕ड͚࣋ͭࣄͰ
    ։ൃऀ͸։ൃʹूதͰ͖ΔΑ͏ʹͳͬͨ

    View full-size slide

  55. ೥຤
    wϦϦʔεαΠΫϧͷ҆ఆ ճϦϦʔε

    wDSBTIEBZ ݮ

    View full-size slide

  56. ೥݄ϞόΠϧϑΝʔετࣨղࢄ
    ϞόΠϧج൫νʔϜઃཱ
    ج൫ ج൫ 6'
    6'
    ւ֎
    ւ֎
    ւ֎
    ձһ
    ങ෺
    ങ෺

    View full-size slide

  57. wࣄۀ෦಺ͰαʔϏεͷ੒௕ʹ੹೚Λ
    ࣋ͭ ओʹ"OESPJE෦෼

    wࣄۀΛՃ଎ͤ͞Δ։ൃج൫ΛڧԽ͠
    ͍ͯ͘
    "OESPJEΤϯδχΞͱͯ͠ͷ໾ׂ

    View full-size slide

  58. DPPLQBEBQQ
    NPCJMFpSTUUFBN
    EJWJTJPO
    SFRVFTU
    EFW
    LOPXMBHF
    ରଟ෦ॺମ੍࣌୅
    EFW

    View full-size slide

  59. DPPLQBEBQQ
    EJWJTJPO
    EFW EFW
    NPCJMFGPVOEBUJPOUFBN
    EFW
    EFW
    EFW
    EFW
    ଟࣄۀ෦ଟਓ਺ମ੍࣌୅

    View full-size slide

  60. AD
    ݕࡧ݁Ռը໘

    View full-size slide

  61. AD
    ݕࡧ݁Ռը໘
    ձһࣄۀ෦
    ങ෺৘ใࣄۀ෦
    ݕࡧฤ੒෦
    ޿ࠂࣄۀ෦
    ౤ߘਪਐ෦

    View full-size slide

  62. w ίʔυ ߦ͘Β͍
    w Ϋϥε਺͘Β͍
    w ϝιου਺ ͘Β͍
    w ϥΠϒϥϦࠐΈ QSPHVBSEࡁ

    w ը໘਺͘Β͍
    w ίʔυมߋऀϦϦʔεͰਓ
    ݁ߏͰ͔͍

    View full-size slide

  63. wࣄۀ෦಺ͰαʔϏεͷ੒௕ʹ੹೚Λ
    ࣋ͭ ओʹ"OESPJE෦෼

    wࣄۀΛՃ଎ͤ͞Δ։ൃج൫ΛڧԽ͠
    ͍ͯ͘
    wଟࣄۀ෦ଟਓ਺Ͱ΋εϐʔυɺ඼࣭
    Λམͱ͞ͳ͍ମ੍࡞Γ
    "OESPJEΤϯδχΞͱͯ͠ͷ໾ׂ

    View full-size slide

  64. ,15 ,15 ,15
    http://techlife.cookpad.com/entry/2014/10/31/093305

    View full-size slide

  65. ՄࢹԽͱίϛϡχέʔγϣϯ

    View full-size slide

  66. "OESPJEேձ
    wͦͷόʔδϣϯʹؔΘΔ։ൃऀ͕ϞόΠ
    ϧج൫Λத৺ʹ෦ॺԣஅతʹू·Γ࿩͢ɻ
    ෼ఔ౓ɻ
    wεέδϡʔϧɺ૬ஊɺप஌ͳͲͳͲ

    View full-size slide

  67. νϟοτͰͷ௨஌ΛڧԽ
    w (JUIVC্ͷίϝϯτɺ13ɺ
    NFSHF౳ͷΠϕϯτ௨஌
    w ։ൃεέδϡʔϧΛຖ೔௨

    w $*4UBUVTΛ௨஌

    View full-size slide

  68. 1VMM3FRVFTUޮ཰Խ
    w 1VMM3FRVFTUग़͢ͱ$*ͰϏϧ
    υͯ͠%FQMPZHBUFʹ഑৴
    w σβΠϯ֬ೝ౳ḿΔ
    w %PLVNJ IUUQT
    HJUIVCDPNDPPLQBE
    EPLVNJ
    Λ࢖ͬͯࣗಈతʹࡉ
    ͔͍CVH౳Λࢦఠ
    w pOECVHT BOESPJEMJOU

    View full-size slide

  69. [BUTVϦϙδτϦ
    w ϞόΠϧ։ൃͷશൠతͳ՝୊΍ཁ
    ๬ɺ΍Γ͍ͨ͜ͱɺເͳͲΛࡶʹ
    ॻ͘ઐ༻ϦϙδτϦ
    w ϞόΠϧج൫νʔϜ͕Ҿ͖औΔ৔
    ߹΋͋Ε͹JTTVFΛॻ͍ͨਓ͕
    ΰϦοͱ΍Δ৔߹΋͋Δ
    w ࣾ಺ษڧձͷݕ౼JTTVF΍ҿΈ
    ʹߦ͘༧ఆΛ٧ΊΔJTTVFͳͲ
    ΋࡞ΒΕΔ
    ࡶͳൃ૝Λ׆͔͢νʔϜ࡞Γ:http://techlife.cookpad.com/entry/2015/03/25/202709

    View full-size slide

  70. ே-JOUʹΑΔมߋϋʔυϧ௿ݮ
    ேLint׆ಈͰࡉ͔ͳٕज़తෛ࠴Λฦࡁ͢Δ : http://techlife.cookpad.com/entry/2015/09/15/190000
    w UZQP΍ϝιουͷߏ଄ͷվળ΍
    ίϯύΠϥ͕ు͘ܯࠂͷमਖ਼ͳͲ
    ༏ઌ౓͕௿͍΋ͷͰ΋ͲΜͲΜम
    ਖ਼͢Δश׳
    w খ͞ͳ΋ͷΛͭͿ͍ͯͬͯ͠େ͖
    ͳ΋ͷʹͿ͔ͭͬͨ৔߹͸JTTVF
    Խ
    w ෦ॺԣஅతͳ׆ಈ
    w ࠓͰ͸ே-JOUͱ໏ଧͨͳͯ͘΋
    ΍ΔΑ͏ʹͳͬͨ

    View full-size slide

  71. ϥΠϒϥϦಋೖʹΑΔޮ཰Խ
    ΞʔΩςΫνϟͷվળ
    w3FUSPMBNCEB 3Y+BWB 3Y5" %BUB
    #JOEJOH-JCSBSZ &BTZ1BSDFMBCMF LWT
    TDIFNB GSBHNFOUDSFBUPS "OESPJE0SNB
    1FSNJTTJPOT%JTQBUDIFS 3PCPMFDUSJD
    wಋೖ࣌ʹ͸QSPTDPOTΛٞ࿦͢ΔJTTVFΛཱͯͨΓ
    ษڧձΛ։͍ͨΓ͢Δ
    wے೑ɺ2"ϑΣʔζʹపఈతʹςετΛ͢Δ
    Android։ൃͰRxJavaΛνʔϜʹಋೖͨ͠࿩ : http://techlife.cookpad.com/entry/2015/04/17/100000

    View full-size slide

  72. ಉ͡ધʹ৐Δ
    w ؔ܎ऀͷ೔ʑͷܧଓతͳձ࿩Ͱҙ͕ࣝζϨͳ͍
    w νϟοτͰͷΠϕϯτͷՄࢹԽʹΑΔٞ࿦ͷ׆ੑԽ
    w ΍Γ͍ͨࣄ΍ཁ๬Λ࿩ͤΔงғؾ
    w ຊ౰ʹ΍Δ΂͖͔Λਅ݋ʹٞ࿦͋͑͠Δงғؾ
    w ෦ॺԣஅతʹվળΛଓ͚Δงғؾ

    View full-size slide

  73. ೥຤
    wϦϦʔεαΠΫϧͷҡ࣋ ճͷϦϦʔε

    wεϐʔυͷҡ࣋ CVHpY ઃܭվળ ৽ػ
    ೳFUDʜ

    wDSBTIEBZ ߋʹ඼࣭Ξοϓ

    View full-size slide

  74. ೥ϕετΞϓϦ

    View full-size slide

  75. τοϓσϕϩούʔ

    View full-size slide

  76. ·ͩ·ͩ΍Δ͜ͱ͕୔ࢁ

    View full-size slide

  77. 6TFS'JSTU
    ͢΂ͯ͸ϢʔβͷͨΊʹ

    View full-size slide

  78. ຖ೔ͷྉཧΛָ͠Έʹ͢Δ͜
    ͱͰɺ৺͔ΒͷসإΛ૿΍͢

    View full-size slide

  79. 8F`SFIJSJOH
    -FUTFOKPZ"OESPJEUPHFUIFS

    View full-size slide