身近な技術的課題から始めるOSSプロジェクト

 身近な技術的課題から始めるOSSプロジェクト

6500a96a5f0786d7ff0c53429d691ae6?s=128

kazuhiro4949

November 12, 2019
Tweet

Transcript

  1. ਎ۙͳٕज़త՝୊͔Β ࢝ΊΔ044ϓϩδΣΫτ ,B[VIJSP)BZBTIJ !LB[VIJSP  Ϡϑʔ໊ݹ԰5FDI.FFUVQ

  2. ࣗݾ঺հ w ໊લ w ྛ࿨߂ !LB[VIJSP  w ࢓ࣄ w

    :BIPP+"1"/J04ΞϓϦ w J04ΞϓϦࠇଳ
  3. ࣾ֎޲͚ͷτʔΫ

  4. Ϡϑʔ͕044ͷจԽΛੵۃతʹ औΓೖΕ͍ͯΔΠϝʔδͬͯ͋Γ·͔͢ʁ

  5. IUUQTHJUIVCDPNZBIPPKBQBO

  6. J04ؔ࿈Ͱ͍͏ͱ IUUQTHJUIVCDPNZBIPPKBQBO

  7. ೔ʑͷۀ຿ʹ͓͍ͯ w ࢖͍ͬͯΔίʔυʹϥΠηϯεΛ͚ͭͯ ެ։ϝϯςφϯεɺ͍ͬͯ͏ͷΛҙ֎ͱ ΍͍ͬͯΔ w ྫ͑͹ΞϓϦͷЌςετπʔϧͳͲ IUUQTXXXTMJEFTIBSFOFUUFDICMPHZBIPPTT

  8. Ϡϑʔ͸044จԽʹରͯ͠ ͔ͳΓ׮༰

  9. ྫ͑͹ w ೔ʑͷ։ൃࣗମ(JUIVC্ͰϓϧϦΫΤετϕʔεͰߦ͏ w ੈͷதʹ͋Δ044͸͔ͳΓ࢖͍ͬͯΔ w ༗໊ͳ044ʹੵۃతʹίϛοτ͍ͯ͠Δ w ࣗ෼ͨͪͰ044Λ͔Β࡞ͬͯൃ৴͍ͯ͠Δ

  10. ྫ͑͹ w ೔ʑͷ։ൃࣗମ(JUIVC্ͰϓϧϦΫΤετϕʔεͰߦ͏ w ੈͷதʹ͋Δ044͸͔ͳΓ࢖͍ͬͯΔ w ༗໊ͳ044ʹੵۃతʹίϛοτ͍ͯ͠Δ w ࣗ෼ͨͪͰ044Λ͔Β࡞ͬͯൃ৴͍ͯ͠Δ

  11. ೔ʑͷαʔϏε։ൃ͔ΒͲ͏ 044Λ࡞͍ͬͯΔ͔

  12. ࣗ෼ͷ΍Γํ w ࢓ࣄͰൃݟٕͨ͠ज़త՝୊͔Β044ϓϩδΣΫτΛ࢝ΊΔ w ೔ʑͷ࣮຿ͷதͰ࣮ࡍʹ௚໘ͨ͠Ұൠతʹ௨͡Δ՝୊Λݟ͚ͭΔ

  13. ࣗ෼ͷ΍Γํ w ձࣾͷϓϩμΫτʹ࢖ΘΕ͍ͯΔ ίʔυͰੈͷதͷٕज़త՝୊Λղܾ ͢Δ΋ͷ͸ɺ044ͱͯ͠੾Γग़͢ طଘϓϩμΫτ ίʔυ 044ͱͯ͠੾Γग़͠

  14. ࣗ෼ͷ΍Γํ w ձࣾͷϓϩμΫτ͔Β޿͘ੈͷதʹ ௨͡Δٕज़త՝୊Λൃݟ͠ɺݸਓͰ 044ͱͯ͠࡞ͬͯϑΟʔυόοΫ͢ Δ طଘϓϩμΫτ ݸਓͰ࡞ͬͨίʔυ 044ͱͯ͠ಋೖ

  15. ࣗ෼ͷ΍Γํ w ࣾ಺ษڧձͷωλͱͯ͠࡞ͬͯɺ΢ έ͕ྑ͔ͬͨΒ044ͱͯ͠ެ։ ίʔυ 044ͱͯ͠ެ։ IUUQTXXXJSBTVUPZBDPN͔Β

  16. ࣗ෼ͷ΍Γํ w 044ͱͯ͠։ൃͨ͠ΒܦҢͳͲؚΊ ͯษڧձͳͲͰ࢓ࣄͱͯ͠ൃ৴

  17. ͍͔ͭ͘ͷࣄྫΛ௨ͯ͡ɺ۩ମతʹ ۀ຿ΛͲ͏044։ൃ΁ͭͳ͖͔͛ͯͨ ͝঺հͰ͖Ε͹ͱࢥ͍·͢

  18. ˞ࣄྫ͸͢΂ͯJ04ΞϓϦ ։ൃͷ࿩ʹͳΓ·͢

  19. ঺հ͢ΔϓϩμΫτ  4XJGU9.-1BSTFSελϯμʔυϥΠϒϥϦ͕࢖͍ʹ͍͘  1BHJOH,JUཁ݅ʹ߹͏ϥΠϒϥϦ͕ͳ͔ͬͨ  4XJGU6*$BUBMPHࣾ಺޲͚ͷڭҭ༻ࢿྉΛެ։

  20. 4XJGUZ9.-1BSTFS

  21. 4XJGUZ9.-1BSTFS w J04Ͱ9.-Λύʔε͢Δ৔߹ɺ9.-1BSTFSͱ͍͏૊Έࠐ ΈͷΫϥεΛ࢖͏ w 9.-1BSTFS͸4"9ܕͷύϑΥʔϚϯε͕ྑ͍ύʔαʔ

  22. IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTT ୯७ͳ9.-Ͱ͜ͷ͘Β͍ͷίʔυྔʹͳΔ ౰࣌4XJGU

  23. IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTT ͜ͷ9.-Λύʔε͢ΔͨΊʹ

  24. IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTT w ύʔε͢ΔͨΊͷΫϥεΛ࡞Δ w ୳ࡧΠϕϯτΛϝιουͱ࣮ͯ͠૷

  25. ՝୊ w ೥౰࣌ͷ:BIPPγϣοϐϯά͸9.-͕ ଟ༻͞Ε͍ͯͨ w ύʔεͷͨΊͷ๲େͳίʔυྔΛݮΒ͍ͨ͠ w 4XJGUݴޠͰඞཁे෼ͳϥΠϒϥϦ͕ͳ͔ͬͨ IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTTΑΓ IUUQTDPNNFSDFBQQZBIPPDPKQTIPQQJOHBQQMJ

  26. IUUQTHJUIVCDPNZBIPPKBQBO4XJGUZ9.-1BSTFS

  27. 4XJGUZ9.-1BSTFS w %0.ܕͷύʔαʔ w ੲ͔Β͋ΔϥΠϒϥϦ͕औΓࠐΊ͍ͯͳ͍ɺ৽͍͠ݴޠػೳΛੵۃతʹ ࠾༻ w ܰྔͰσόοά͕͠΍͍͢ͱ͍ͬͨɺ࣮຿Ͱͷ࢖͍উखʹൺॏΛஔ͘

  28. IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTT ίʔυྔ͕͜ͷ͘Β͍ʹݮΒͤΔ ౰࣌4XJGU

  29. IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBSTXJGU@PTT w ͖ͬ͞ͱಉ͡ύʔεॲཧ෦෼͸ ͜Μͳ΋Μ

  30. 044ͱͯ͠ެ։ w ಛఆͷΞϓϦ༻͕ͩͬͨҙ֎ͱ࢖͍উख͕ྑ͔ͬͨͨΊɺ ͠͹Β͘ӡ༻ͨ͠ޙʹ044ͱͯ͠ެ։ w ݴޠͷόʔδϣϯΞοϓରԠ΍NBD04ରԠͳͲ໘౗ͳϝϯ ςφϯε΋ϓϧϦΫͰ΋Β͑Δ

  31. 1BHJOH,JU

  32. ͋ΔϓϩμΫτͷ6* ΛطଘϥΠϒϥϦͰ։ൃ w 4NBSU/FXT΍NFSDBSJͳͲͰ࠾༻͞Ε ͍ͯΔɺϖʔδϯάͱԣεΫϩʔϧϝ χϡʔͷ૊Έ߹Θͤ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱ͸ҧ͍·͢

  33. ͦͷϥΠϒϥϦͰ͸ɺλΠτϧจࣈྻͱը໘ͷ഑ྻΛ ౉͢ͱɺܾ·ͬͨσβΠϯͷϖʔδϯά6*͕࡞ΒΕΔ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱ͸ҧ͍·͢ let ary = [ { title:

    “Page1", view: UIViewController() }, { title: “Page2", view: UIViewController() }, { title: “Page3”, view: UIViewController() }, ]
  34. ͦͷϥΠϒϥϦͰ͸ɺλΠτϧจࣈྻͱը໘ͷ഑ྻΛ ౉͢ͱɺܾ·ͬͨσβΠϯͷϖʔδϯά6*͕࡞ΒΕΔ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱ͸ҧ͍·͢ let ary = [ { title:

    “Page1", view: UIViewController() }, { title: “Page2", view: UIViewController() }, { title: “Page3”, view: UIViewController() }, ] ϝχϡʔ͕͋Δ
  35. ͦͷϥΠϒϥϦͰ͸ɺλΠτϧจࣈྻͱը໘ͷ഑ྻΛ ౉͢ͱɺܾ·ͬͨσβΠϯͷϖʔδϯά6*͕࡞ΒΕΔ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱ͸ҧ͍·͢ let ary = [ { title:

    “Page1", view: UIViewController() }, { title: “Page2", view: UIViewController() }, { title: “Page3”, view: UIViewController() }, ] ϖʔδϯάՄೳͳ ίϯςϯπྖҬ͕͋Δ
  36. ελΠϧ΋ύϥϝʔλͰ౉͢͜ͱ͕Մೳ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱ͸ҧ͍·͢

  37. ॳظϓϩμΫτͷ γϯϓϧͳཁ݅͸ຬ͍ͨͯͨ͠

  38. ͔͠͠ཁ͕݅গͣͭ͠ෳࡶԽ͍͖ͯ͠ɺ ࠾༻ͨ͠ϥΠϒϥϦͰ͸ରԠ͖͠Εͳ͘ͳΔ

  39. ϓϩμΫτͷ੒௕ʹ൐ͬͯ6*͕ࡉ෼Խ͞Εɺ ͜͏͍ͬͨ͜ͱΛٻΊΒΕΔΑ͏ʹͳ͖ͬͯͨ w ྫ͑͹ w ͋Δը໘Ͱ͸ϝχϡʔͷಛఆͷཁૉ ͷ্ʹαϒλΠτϧΛ෇͚͍ͨ w ͋Δը໘Ͱ͸ίϯςϯπͱϝχϡʔ ͷྖҬؒ΁ϘλϯΛฒ΂͍ͨ

    ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱ͸ҧ͍·͢
  40. ϓϩμΫτͷ੒௕ʹ൐ͬͯ6*͕ࡉ෼Խ͞Εɺ ͜͏͍ͬͨ͜ͱΛٻΊΒΕΔΑ͏ʹͳ͖ͬͯͨ ˞Πϝʔδ ࣮ࡍʹؔΘͬͨϓϩμΫτͱ͸ҧ͍·͢ w ྫ͑͹ w ͋Δը໘Ͱ͸ϝχϡʔͷಛఆͷཁૉ ͷ্ʹαϒλΠτϧΛ෇͚͍ͨ w

    ͋Δը໘Ͱ͸ίϯςϯπͱϝχϡʔ ͷྖҬؒ΁ϘλϯΛฒ΂͍ͨ
  41. 6*ϥΠϒϥϦʹ ͋Γ͕ͪͳ՝୊ w σβΠϯʹॊೈੑ͕ͳ͘ɺ6*ͷ࠷దԽ͕Ͱ͖ͳ͍ w ͜ͷ࠶ར༻ੑʹؔ͢Δ՝୊͸Α͋͘ΔҰൠతͳ΋ͷͱߟ͑Δ w ղܾ͢Ε͹ੈͷதతͳՁ஋͕ߴ͍ͨΊɺझຯͰ͜ͷ՝୊ʹऔΓ૊Ή

  42. IUUQTHJUIVCDPNLB[VIJSP1BHJOH,JU

  43. 1BHJOH,JU w ༷ʑͳελΠϧɾϨΠ Ξ΢τͷϖʔδϯά6* Λ࣮ݱՄೳ w ۀ຿Ϩϕϧͷෳࡶͳ6* ʹద༻Ͱ͖Δ IUUQTHJUIVCDPNLB[VIJSP1BHJOH,JU

  44. 044ͱͯ͠ެ։ w ݸਓͷϦϙδτϦͰެ։ w 044ʹͨ͋͠ͱɺۀ຿Ͱ։ൃ͍ͯ͠ΔϓϩμΫτ΁࠾༻ w ඞཁͳػೳͷ௥ՃͳͲۀ຿ͱͯ͠΋ϝϯςφϯε͍ͯ͠Δ

  45. w ެ։ޙʹ։ൃܦҢΛษڧձ Ͱ ࢓ࣄͱͯ͠ ൃද IUUQTTQFBLFSEFDLDPNLB[VIJSPVJSBJCVSBSJIBEPVTIFKJTBSFSVCFLJLB

  46. 4XJGU6*$BUBMPH

  47. 4XJGU6* w 88%$Ͱൃද͞Εͨ"QQMFϓ ϥοτϑΥʔϜ޲͚৽6*ϥΠϒϥϦ w 3FBDUKTΛॻ͘Α͏ʹΞϓϦ։ൃ͕Ͱ ͖Δ IUUQTEFWFMPQFSBQQMFDPNKQYDPEFTXJGUVJΑΓ

  48. 4XJGU6* w ൃදޙɺૣ଎ϲ݄ʹճࣾ಺ษڧձΛ։͘ w ڵຯΛ࣋ͬͯ͸΋Β͑Δ͕ɺखΛग़͢·Ͱͷෑډ͕ߴ͍͜ ͱΛײ͡Δ

  49. 4XJGU6*ͷ՝୊ w ެࣜυΩϡϝϯτʹ΋े෼ʹ࣮૷ํ๏͕ॻ͔Ε͍ͯͳ͍ w ެࣜαϯϓϧͷίʔυ͕͔ͳΓෳࡶͰɺॳ৺ऀʹ΍΍ෑډ͕ߴ͍

  50. IUUQTHJUIVCDPNLB[VIJSP4XJGU6*$BUBMPH

  51. 4XJGU6*$BUBMPH w ࣾ಺ͷJ04ΞϓϦΤϯδχΞ޲͚ڭҭࢿྉͱͯ͠։ൃ w ࣮ߦ͢Δ͚ͩͰ֤6*ίϯϙʔωϯτͷදࣔ΍ಈ͖ΛࢼͤΔ w ࠷খݶͷ࣮૷ͱ࣮ࡍͷ࣮ߦ݁ՌΛ໢ཏ

  52. 044ͱͯ͠ެ։ w ࣗࣾʹؔΘΒͣ໾ʹཱͭࢿྉͱͳΔͨΊɺ ࣾ಺ษڧձͰར༻ޙʹެ։ w Ϡϑʔ͕΍͍ͬͯΔࣾ֎޲͚ษڧձͷωλ ͷҰͭͱͯ͠׆༻͠ɺ޷ධΛ΋Β͏ IUUQTZKNFFUVQDPOOQBTTDPNFWFOU

  53. ࣗ෼ͷ΍Γํ࠶ܝ ձࣾͷϓϩμΫτʹ࢖ΘΕ͍ͯΔίʔυͰੈͷதͷٕज़త ՝୊Λղܾ͢Δ΋ͷ͸ɺ044ͱͯ͠੾Γग़͢ ձࣾͷϓϩμΫτ͔Β޿͘ੈͷதʹ௨͡Δٕज़త՝୊Λൃ ݟ͠ɺݸਓͰ044ͱͯ͠࡞ͬͯϑΟʔυόοΫ͢Δ ࣾ಺ษڧձͷωλͱͯ͠࡞ͬͯɺ޷ධͩͬͨΒެ։ 044ͱͯ͠։ൃͨ͠ΒܦҢͳͲؚΊͯษڧձͳͲͰൃ৴

  54. ࢓ࣄͷٕज़త՝୊͔Β044Խ͢Δ ϝϦοτ w ࢝Ί͔Β੾Γग़͢͜ͱΛҙࣝͯ͠Ϋϥεઃܭ͢Δͱɺػೳ ͕໌֬Խ͞Εͯૄ݁߹ͳίʔυ͕ॻ͚Δ w ීஈ͔Β൚༻తͳ՝୊͕ͳ͍͔ҙࣝ͢Δ͜ͱͰɺݸਓతʹ ϥΠϒϥϦΛ࡞Δ͖͔͚͕ͬಘΒΕΔ w ୀ৬ͨ͠ݩಉ྅͔ΒϓϧϦΫ͕΋Β͑Δ

    w ϓϩμΫτͷϥΠηϯεཝʹࣗ෼ͷ໊લ͕ࡌΔ
  55. Έͳ͞Μ΋࢓ࣄͰݟ͚ͭͨ ٕज़త՝୊͔Β044ϓϩδΣΫτ Λ࢝ΊͯΈ͍ͯͩ͘͞

  56. ࢀߟࢿྉ w ਎ۙͳٕज़త՝୊͔Β࢝ΊΔ044ϓϩδΣΫτ w IUUQTUFDICMPHZBIPPDPKQBEWFOUDBMFOEBS TXJGU@PTT w ϠϑʔͷΞϓϦʹ͓͚ΔձࣾશମͰͷۀ຿ޮ཰Խʹ͍ͭͯ EFWTVNJ$ w

    IUUQTXXXTMJEFTIBSFOFUUFDICMPHZBIPPTT w ZBIPPKBQBO(JUIVC w IUUQTHJUIVCDPNZBIPPKBQBO