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

プログラミングの勉強について考えてみる/Think of programming learning

プログラミングの勉強について考えてみる/Think of programming learning

Masatoshi Moritsuka

April 02, 2019
Tweet

More Decks by Masatoshi Moritsuka

Other Decks in Programming

Transcript

  1. 4-3. લʑ৬ɾલ৬࣌୅(2013/9ʙ2016/8)ᶄ ➤ 2014/5/17ʹϦʔμϒϧίʔυߪೖɺίʔυΛॻ͘ັྗʹؾͮ͘ ➤ 2014೥ʹʰʮೲ඼ʯΛͳͤ͘͹͏·͍͘͘ʱ΍@jnchito͞ΜͷϒϩάΛಡ ΈRubyʹؔ৺Λ࣋ͪɺಠֶͰֶशΛ։࢝ ➤ 2014/9/23ʹRubyͷຊΛॳΊͯߪೖʢʰ࡞Γͳ͕ΒֶͿRubyೖ໳ ୈ2

    ൛ʱʣ ➤ 2015/3/29͔ΒυοτΠϯετʔϧͰRuby΍RailsΛֶश ➤ 2015/7/20ʹ@jnchito͞Μʹϓϩάϥϛϯάͷֶͼํʹ͍࣭ͭͯ໰͢Δ ➤ 2015/8/29ʹ੢࿬.rb ˍ ਆށ.rbʹॳࢀՃ ➤ 2015/12/24͔Β2ϲ݄ʢ΋͔ͨ͠͠Β3ϲ݄ʣؒɺTECH::CAMPʹࢀՃʢಉ ࣌ʹMacBook Proߪೖʣ
  2. 4-4. ແ৬ɾݸਓࣄۀओ࣌୅(2016/9ʙݱࡏ) ➤ 2016/11/2ʹKobe.rbʹॳࢀՃ ➤ 2017/5͔ΒRailsͰडୗ։ൃΛ͍ͯ͠ΔSࣾͷ࠾༻ϓϩάϥϜʹࢀՃ ➤ 2017/10/25ʹSࣾͷ࠾༻ϓϩάϥϜͰ࠷ॳͷ໘ஊɺෆ߹֨ ➤ Sࣾͷࣾ௕͔ΒϑΟϤϧυϒʔτΩϟϯϓΛ঺հ͞ΕΔ

    ➤ 2017/10/30͔ΒϑΟϤϧυϒʔτΩϟϯϓʹࢀՃ ➤ 2018/1/27ͷCoderDojoຕํͰCoderDojoͷॳϝϯλʔ ➤ 2018/3͔ΒKobe.rbͰ঺հ͞ΕͨRailsҊ݅ʹࢀՃ ➤ 2018/6/16ͷRails Girls OsakaͰRails Girlsͷॳίʔν
  3. 5. ΍ͬͨ͜ͱͷ͋Δษڧ๏ ➤ ࣸܦ ➤ ٕज़ॻΛಡΉ ➤ ϒϩάɾQiita౳Web্ͷهࣄΛಡΉ ➤ ϓϩάϥϛϯάεΫʔϧʹ௨͏

    ➤ ίʔυϦʔσΟϯά ➤ ࣗ෼Ͱಈ͘΋ͷΛ࡞ͬͯΈΔ ➤ ษڧձʹࢀՃ͢Δ(࠲ֶܥ) ➤ ษڧձʹࢀՃ͢Δ(΋͘΋͘ձܥ) ➤ eϥʔχϯά(ಈը)
  4. 5-1-1. ؤுͬͯશ෦खೖྗ͢Δ ➤ ໰୊఺ ➤ λΠϙ͢ΔՄೳੑ͕͋Δ ➤ λΠϐϯάͷεϐʔυ͕஗͍ͱ͕͔͔࣌ؒΔ ➤ Ͳ͏͢Ε͹͍͍͔

    ➤ λΠϐϯάͷ࿅शͰ͸ͳ͍ͷͰՄೳͳΒίϐϖͰOK ➤ ࣸܦͷ໨త͸Ͳ͏ಈ͔͘Λମݧ͢Δ͜ͱ
  5. 5-2-1. 1पͰશ෦਎ʹ͚ͭΑ͏ͱ͢Δ ➤ ໰୊఺ ➤ ಡྃ·Ͱ͔ͳΓ͕͔͔࣌ؒͬͯ͠·͏ ➤ ಡΜͩ಺༰Λ๨Εͯ͠·͏ ➤ ్தͰ࠳ં͠΍͍͢

    ➤ Ͳ͏͢Ε͹͍͍͔ ➤ ෳ਺पಡΉ ➤ पճʹΑͬͯ໨తΛܾΊ͓ͯ͘ ➤ 1प͚ͩβʔοͱಡΜͰ֓ཁ͚ͩ௫Έɺ͋ͱ͸ඞཁʹͳͬͨ ࡍʹಡΈฦ͢ͱ͍͏ख΋
  6. 5-3-1. هࣄͷ಺༰͕ਖ਼͍͠΋ͷͱࢥ͍ࠐΉ ➤ ໰୊఺ ➤ هࣄͷ಺༰͕ݹ͍৔߹ɺ࠷৽ͷ΍Γํͱҧ͏৔߹͕͋Δ ➤ هࣄͷ಺༰ʹλΠϙؚ͕·Ε͍ͯΔ৔߹͕͋Δ ➤ هࣄͷ಺༰͕ಈ࡞֬ೝ͞Ε͍ͯͳ͍৔߹͕͋Δ

    ➤ هࣄͷ಺༰͕όουϓϥΫςΟεͷ৔߹͕͋Δ ➤ Ͳ͏͢Ε͹͍͍͔ ➤ هࣄͷ࡞੒೔ɾߋ৽೔΍ಈ࡞؀ڥΛඞͣ֬ೝ͢Δ ➤ ৴པͰ͖ΔஶऀͷهࣄΛબ୒͢Δ ➤ ࣝऀʹهࣄͷ಺༰Λ֬ೝͯ͠΋Β͏ ➤ ެࣜυΩϡϝϯτΛಡΉ ➤ ެࣜυΩϡϝϯτʹެࣜͷϦϑΝϨϯεɺGitHubͷREADME
  7. 5-4-1. ΧϦΩϡϥϜΛͻͨ͢ΒਐΊΔ ➤ ໰୊఺ ➤ ΧϦΩϡϥϜΛऴΘΒͤΔ͜ͱ͕໨తʹͳΓεΩϧ͕਎ʹͭ ͔ͳ͍ ➤ ΧϦΩϡϥϜͷྔ͕ଟ͔ͬͨΓɺԿ౓΋ϋϚͬͯࢥ͏Α͏ʹ ਐΊΒΕͳ͔ͬͨΓͨ͠৔߹ɺ࠳ંͯ͠͠·͏ࣄ͕͋Δ

    ➤ Ͳ͏͢Ε͹͍͍ͷ͔ ➤ ΧϦΩϡϥϜͷ୯ҐΛখ͘͞෼ׂ͠ɺߋʹ໨తผʹ͍͔ͭ͘ ͷϑΣʔζʹ෼͚ͯ܁Γฦ͠ͳ͕ΒΧϦΩϡϥϜΛਐΊΔ ➤ ྫɿୈ1ϑΣʔζˠ֓ཁͱ࠷ऴతʹͲ͏ಈ࡞͢Δ͔ͷ֬ೝ
 ɹɹୈ2ϑΣʔζˠΧϦΩϡϥϜͷৄࡉͱؔ࿈஌ࣝͷशಘ
  8. 5-4-2. ࣭໰ͯ͠΋త͸ͣΕͳճ౴͕ฦͬͯ͘Δ ➤ ໰୊఺ ➤ ϝϯλʔͷ࣭ʹ͹Β͖͕ͭ͋Δ ➤ ͦ΋ͦ΋ϝϯλʔ΋ϓϩάϥϛϯάֶशதͱ͍͏ύλʔϯ΋ ➤ ೖͬͯΈͯεΫʔϧ͕֎Εͩͬͨ৔߹ɺεΫʔϧͷֹֹ͕͚ͩʹఘΊͮΒ͍

    ➤ Ͳ͏͢Ε͹͍͍ͷ͔ ➤ (ࣄલʹ͕ͩ)·ͣ͸ίϛϡχςΟ౳ͰεΫʔϧͷ৘ใΛऩू͢Δ͜ͱ͕Φεεϝ ➤ એ఻΍ब৬཰ʹ௼ΒΕͯ҆қʹબͿͱ͔ͳΓ௧͍໨ΛΈΔ(ओʹۚમ໘) ➤ εΫʔϧΛఘΊͯଞͷ࣭໰͠ͳ͕ΒֶशͰ͖Δ؀ڥΛ੔͑Δͱ͍͏ख΋ ➤ ଞͷϝϯλʔΛ୳͢खஈͱͯ͠͸MENTA΍ίϛϡχςΟ ➤ ௕͍໨ͰΈΔͱૣΊʹεΫʔϧʹݟ੾ΓΛ͚ͭͯ࣍ͷΞΫγϣϯʹҠͬͨ΄͏ ͕ಘͱ͍͏৔߹΋͋Δ(ؾ͕͢Δ)
  9. 5-5-2. Ͳ͔͜ΒಡΊ͹͍͍͔Θ͔Βͳ͍ ➤ ໰୊఺ ➤ ίʔυ͕๲େɺ·ͨ͸ϑΝΠϧ͕ଟ͗ͯ͢΍Γ࢝ΊΒΕͳ ͍ ➤ Ͳ͏͢Ε͹͍͍ͷ͔ ➤

    ࣝऀ͔Βڭ͑ͯ΋Β͏ ➤ ࣗ෼͕࢖͍ͬͯΔػೳ͔Β࢝ΊΔ ➤ ؾʹͳΔissueɾPRΛ୳͔ͯͦ͜͠ΒಡΈ࢝ΊΔ
  10. 5-6. ࣗ෼Ͱಈ͘΋ͷΛ࡞ͬͯΈΔ ➤ ಛ௃ ➤ ࣗ෼͕޷͖ͳ΋ͷΛ࡞ΕΔͷͰϞνϕʔγϣϯΛอͪ΍͢ ͍ ➤ ͋Γ͕ͪͳύλʔϯ ➤

    ॻ͍ͯಈ͍ͨΒऴΘΓ ➤ ΍Γ͍ͨػೳͷ࣮૷ํ๏͕Θ͔ΒͣԆʑϋϚΔ ➤ ࡞Γ͍ͨ΋ͷͷΞΠσΞ͕ͳ͍ ➤ ࡞Δ΋ͷͷن໛͕େ͖͗͢Δ(ػೳ͕ଟ͗͢Δ)
  11. 5-6-1. ॻ͍ͯಈ͍ͨΒऴΘΓ ➤ ໰୊఺ ➤ զྲྀͰͷ࣮૷ͳͷͰίʔυ͕Ԛ͔ͬͨΓόουϓϥΫςΟεͩͬ ͨΓ͢Δ ➤ ཧղ͠ͳ͍··ίϐϖͰ࣮૷ͯͦ͠ͷ··ͷ৔߹ɺޙʑ௧͍໨ ΛݟΔ

    ➤ Ͳ͏͢Ε͹͍͍ͷ͔ ➤ ՄೳͳݶΓɺୈ3ऀʹݟͯ΋ΒͬͯɺίʔυϨϏϡʔͯ͠΋Β͏ ➤ ͦͷϩδοΫʹͨ͠ཧ༝ɺίʔυͷҙਤΛཧղ͠ɺઆ໌Ͱ͖Δ ঢ়ଶͰ࣮૷͢Δ ➤ Ͳ͏ͯ͠΋Θ͔Βͳ͍৔߹͸ࣝऀʹฉ͚͹OK
  12. 5-6-2. ΍Γ͍ͨػೳͷ࣮૷ํ๏͕Θ͔ΒͣԆʑϋϚΔ ➤ ໰୊఺ ➤ ͚͕࣌ؒͩͲΜͲΜա͍͗ͯ͘ ➤ ͕࣌ܦͭʹ࿈ΕͯϞνϕʔγϣϯ͕ͲΜͲΜԼ͕Δ ➤ Ͳ͏͢Ε͹͍͍ͷ͔

    ➤ ࣝऀʹฉ͍ͯ΍ΓํΛਅࣅΔ ➤ ͍͖ͳΓࣗ෼͚ͩͷྗͰ΍Ζ͏ͱ͢ΔͱେมͰɺ࣌ؒ΋࿑ ྗ΋͔͔Δ ➤ ·ͣ͸ࣝऀͷ΍ΓํΛ౪Έɺࣗ෼ͷҾ͖ग़͠ʹՃ͑Δ ➤ Ͱ͖Ε͹ϖΞϓϩ΍ϞϒϓϩΛͯ͠΋Β͏
  13. 5-6-3. ࡞Γ͍ͨ΋ͷͷΞΠσΞ͕ͳ͍ ➤ ໰୊఺ ➤ ֶश͕ࢭ·Δ ➤ ࣌ؒͱͱ΋ʹϞνϕʔγϣϯ͕Լ͕Δ ➤ Ͳ͏͢Ε͹͍͍ͷ͔

    ➤ ޷͖ɾ΋͘͠͸Α͘࢖͏طଘαʔϏεͷΫϩʔϯΛ࡞੒͠ ͯΈΔ ➤ ৭ΜͳαʔϏε΍ϥΠϒϥϦΛ৮ͬͯΈΔ ➤ ਎ۙͳ͜ͱ΍࢓ࣄ౳Ͱࠔ͍ͬͯΔ͜ͱΛ୳ͯ͠ΈΔ
  14. 5-6-4. ࡞Δ΋ͷͷن໛͕େ͖͗͢Δ(ػೳ͕ଟ͗͢Δ) ➤ ໰୊఺ ➤ ͍ͭ·Ͱͨͬͯ΋ಈ͘΋ͷ͕Ͱ͖ͳ͍ ➤ ΍Γ͍ͨ͜ͱ͹͔Γ͕๲ΒΈ࡞੒ʹணखͰ͖ͳ͍ ➤ Ͳ͏͢Ε͹͍͍ͷ͔

    ➤ શ෦Λ࡞Ζ͏ͱ͢ΔͷͰ͸ͳ͘ɺ·ͣ࠷௿ݶͷ΋ͷ(ྫɿ୯ ७ͳCRUDػೳͷΈ)ʹߜͬͯ࡞੒͢Δ ➤ ·ͣ͸࣮ࡍʹಈ͔ͤΔ΋ͷΛܗʹ͢Δ͜ͱ͕ॏཁ ➤ ·ͣ࡞ͬͯΈͯɺͦΕʹػೳΛগͣͭ͠Ճ͑Δ͜ͱΛ܁Γ ฦ͢
  15. 5-7-1. ൃදͷ಺༰ʹ͍͍͚ͭͯͳ͍ ➤ ໰୊఺ ➤ ཧղͰ͖Δࣗ৴͕ͳ͍ͷͰษڧձʹࢀՃͰ͖ͳ͍ ➤ Ͳ͏͢Ε͹͍͍ͷ͔ ➤ ࢝Ί͸શ͘Θ͔Βͳͯ͘΋OK

    ➤ ஌͕ࣝͳ͍͏ͪͷ໨త͸ൃදʹग़ͯ͘Δݴ༿ʢҙຯ΍಺༰ Ͱ͸ͳ͍ʣΛ஌Δ͜ͱ ➤ ݴ༿Λ஌Δ͜ͱͰࠓޙͲ͏͍͏͜ͱΛֶ΂͹͍͍͔͕ݟ͑ ͯ͘Δ
  16. 5-7-2. ฉ͍͚ͨͩͰԿ΋਎ʹ͍͍ͭͯͳ͍ ➤ ໰୊఺ ➤ ൃදΛฉ͘ͷʹඅ΍͕ͨ࣌ؒ͠ແବʹͳΔ ➤ Ͳ͏͢Ε͹͍͍ͷ͔ ➤ ͋ͱͰৼΓସ͑ΒΕΔΑ͏ʹϝϞΛͱΔ

    ➤ ଞਓͱൃදͷ಺༰ʹ͍ͭͯ࿩ͯ͠ΈΔ ➤ ࣗ෼͚ͩͰ͸ؾ͚ͮͳ͔ͬͨ͜ͱΛݟ͚ͭΒΕͨΓؒҧͬ ͯཧղ͍ͯͨ͜͠ͱʹؾ͚ͮͨΓ͢Δ
  17. 5-9. eϥʔχϯά(ಈը) ➤ ಛ௃ ➤ ༷ʑͳαʔϏε͕͋Δ ➤ ςΩετͷΈͷ৔߹ΑΓཧղ͠΍͍͢ ➤ ֶशͨ͠ཤྺ౳͕ՄࢹԽ͞ΕΔ

    ➤ औΓ૊Έ΍͍͢ ➤ ͋Γ͕ͪͳύλʔϯ ➤ ֶशΛਐΊͯ΋ϓϩάϥϜ͕ॻ͚ΔΑ͏ʹͳΒͳ͍ ➤ ՄࢹԽ͞ΕΔ৘ใʹͱΒΘΕΔ
  18. 5-9-1. ֶशΛਐΊͯ΋ϓϩάϥϜ͕ॻ͚ΔΑ͏ʹͳΒͳ͍ ➤ ໰୊఺ ➤ ੒Ռ͕ग़ͳ͍ͷͰஈʑϞνϕʔγϣϯ͕Լ͕͍ͬͯ͘ ➤ Ͳ͏͢Ε͹͍͍ͷ͔ ➤ ಈըίϯςϯπ͸͋͘·Ͱಋೖ

    ➤ ಈըࢹௌ͚ͩͰ͸εΩϧ͸޲্͠ͳ͍ ➤ ࣗ෼ͳΓͰ͍͍ͷͰ࣮ࡍʹॻ͘͜ͱ͕ඞਢ ➤ ͓୊͸খ͞ͳϓϩάϥϜͰ͍͍(ྫɿFizzBuzz) ➤ ϓϩάϥϛϯάͷ͓୊ྫ1ɿpaiza ➤ ϓϩάϥϛϯάͷ͓୊ྫ2ɿݱ໾ϓϩάϥϚʔʹ໰୊Λग़ͯ͠΋Β͏
  19. 5-9-2. ՄࢹԽ͞ΕΔ৘ใʹͱΒΘΕΔ ➤ ໰୊఺ ➤ શͯͷίϯςϯπΛ໢ཏ͢Δ͜ͱɺείΞΛ্͛Δ͜ͱࣗମ͕໨ తԽͯ͠͠·͏ ➤ εΩϧͷ޲্͕ఀ଺ͯ͠͠·͏ ➤

    Ͳ͏͢Ε͹͍͍ͷ͔ ➤ ಈըΛݟͨ਺΍είΞ͸͋͘·ͰֶशΛ͢Δࡍͷಈػ෇͚ͷͨΊ ͷ࢓૊Έ ➤ ࣮ࡍʹࣗ෼ͳΓʹϓϩάϥϜΛॻ͍ͯΈͯɺࣗ෼ͷݱࡏͷεΩϧ Λ֬ೝ͢ΔϑΣʔζΛઃ͚Δ ➤ ͋Δఔ౓ͷϨϕϧʹ౸ୡͨ͠Βࣗ෼ͰαʔϏεΛ࡞ͬͨΓϓϩδΣ ΫτʹࢀՃͨ͠Γͨ͠ํֶ͕शޮ཰͕͍͍
  20. 6-2. ϞνϕʔγϣϯΛ͏·͘࡞Δɾอͭ ➤ ࣗ෼ͷҙࢤͷྗ͚ͩͰ͸ͳ͔ͳ͔ߦಈɾ࣋ଓͰ͖ͳ͍ ➤ ಈػ͕ڧ͚Ε͹ڧ͍΄ͲߦಈʹҠ͠΍͍͢ ➤ ʮ͍͔ͭ΍Βͳ͍ͱ͍͚ͳ͍ʯϨϕϧͩͱߦಈ͢Δͷ͕ޙճ͠ʹ ͳͬͯ͠·͍͕ͪ ➤

    ίϛϡχςΟ΍ͦ͜ʹଐ͢ΔਓͨͪͷྗΛआΓΔ ➤ ؀ڥΛม͑ͯΈΔ ➤ ࣗ୐͸༠࿭͕ଟ͍ ➤ ίϫʔΩϯάεϖʔε΍ΧϑΣ౳ɺूதͰ͖Δ؀ڥΛ੔͑Δ ➤ ࢥཱ͍ͬͨΒ͙͢ߦಈ͢Δ ➤ ߦಈ͠ͳ͚Ε͹Ϟνϕʔγϣϯ͸ͲΜͲΜԼ͕͍ͬͯ͘
  21. 6-4. ޙͰৼΓฦΕΔΑ͏ʹ͓ͯ͘͠ ➤ ϊʔτΞϓϦ΍ϒϩάɺQiitaʹॻ͘ ➤ ͓ؾʹೖΓ΍webΫϦοϓͰޙ͔Β৘ใʹ࠶Ϧʔν͠΍ͯ͘͢͠ ͓͘ ➤ ͲΜͳ࡞ۀΛͨ͠ͷ͔ɺٴͼͦͷ݁ՌΛ࢒͓ͯ͘͠ ➤

    gitɾGitHub ➤ ϩά ➤ ͲΕ͘Β͍ͷ࣌ؒɾྔΛ΍ͬͨͷ͔ه࿥͓ͯ͘͠ ➤ Ϟνϕʔγϣϯʹ΋ͭͳ͕Δ ➤ Ͱ͖Ε͹άϥϑΟΧϧʹ֬ೝͰ͖ΔΑ͏ʹ͓ͯ͘͠
  22. 6-5-1. ͲΜͲΜ࣭໰͢Δ ➤ ࢝Ί͸ʮͦΕ͘Β͍ௐ΂ΖʯͱݴΘΕͯ΋͍͍ ➤ ํ๏΍ࢹ఺Λ஌Βͳ͍ͱௐ΂Α͏ʹ΋ௐ΂ΒΕͳ͍ ➤ Ͳ͏͍͏ͱ͜ΖʹͲ͏͍͏৘ใ͕͋Δͷ͔Λ஌Δ ➤ άάΓํͷίπΛ஌Δ

    ➤ ࢝Ί͸ԼखͰ΋͍͍ͷͰͲΜͲΜ࣭໰͢Δ ➤ ࣭໰͢Δ͏ͪʹίπ͕͔ͭΊͯ͘Δ ➤ ίπ͸΍Γ͍ͨ͜ͱ(ΰʔϧ)ɾ΍͖ͬͯͨ͜ͱ(ܦա)ɾίϯ ςΩετ(എܠ)Λڞ༗͢Δ͜ͱ
  23. 6-5-2. ਓʹ࣭໰Ͱ͖Δ؀ڥͰֶश͢Δ ➤ Ұ൪͸ϑΣΠεɾτΡɾϑΣΠε ➤ ςΩετ্ͩͱ఻͑Δͷ͕೉͍͠(Ͱ΋Ͱ͖Ε͹΍ͬͯΈͨ ํ͕͍͍) ➤ ͳΔ΂͘ίʔυΛڞ༗͢Δ ➤

    ϝϯλʔʹͳͬͯ͘ΕΔਓΛݟ͚ͭΔ ➤ ՄೳͳΒίʔυϨϏϡʔ΍ϖΞϓϩɺϞϒϓϩΛͯ͠΋Β͏ ➤ Ͱ͖Δਓͷ΍Γํɺߟ͑ํɺ஌ࣝΛ౪Ή
  24. 6-6. ීஈ͔ΒӳޠΛֶश͢Δ ➤ ͍͖ͳΓͰ͖ΔΑ͏ʹͳΔ΋ͷͰ͸ͳ͍ ➤ ·ͣ͸ࣗ෼ͷ࣮ྗ͕Ͳͷ͘Β͍ͳͷ͔ΛೝࣝͰ͖ΔͱϞνϕʔγϣϯʹܨ͕Δ ➤ ීஈ͔Β΍͓ͬͯ͘ͱޙʑϓϩάϥϛϯάֶशʹ΋͍͍Өڹ͕ग़Δ ➤ ӳޠͷυΩϡϝϯτʹର͢Δڪා৺͕ͳ͘ͳΔ

    ➤ ւ֎ͷٕज़ॻ΍υΩϡϝϯτ͕ಡΊΔ ➤ ޙʑͷબ୒ࢶ͕޿͕Δ ➤ ֎ࠃਓΤϯδχΞͱͷަྲྀ ➤ OSS΁ͷࢀՃ ➤ ࢖͍ͬͯΔϥΠϒϥϦʹόάΛൃݟͨ͠ࡍʹPRΛૹΔ ➤ ւ֎اۀ΁ͷస৬