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

第2回メドレー非エンジニア向け勉強会 非エンジニアのためのプログラミング序論

D879794ea42768ea417f970914430d56?s=47 Medley Inc.
December 12, 2016

第2回メドレー非エンジニア向け勉強会 非エンジニアのためのプログラミング序論

株式会社メドレー( http://www.medley.jp/ )社内で行われた、非エンジニア向けのプログラミング勉強会で使った資料です。

自己紹介
名前:徐 聖博
担当プロダクト:介護のほんね → オンライン病気事典MEDLEY( https://www.kaigonohonne.com/https://medley.life/
その他経歴等:https://yamadagenki.github.io/xushengbo/

資料内リンク
Ruby入門(dotinstall):http://dotinstall.com/lessons/basic_ruby_v3
パーフェクトRuby:http://amzn.to/2gBRBlS
Ruby on Rails 4入門:http://dotinstall.com/lessons/basic_rails_v2

D879794ea42768ea417f970914430d56?s=128

Medley Inc.

December 12, 2016
Tweet

More Decks by Medley Inc.

Other Decks in Technology

Transcript

  1. ୈճඇΤϯδχΞ޲͚ษڧձ ඇΤϯδχΞͷͨΊͷϓϩάϥϛϯάং࿦ ҩྍϔϧεέΞ෼໺ͷ՝୊Λղܾ͢Δ ঃɹ੟ത גࣜձࣾϝυϨʔ

  2. հޢͷ΄ΜͶͬͯͲ͏΍ͬͯಈ͍ͯΔͷʁ հޢͷ΄ΜͶͬͯͲ͏΍ͬͯಈ͍ͯΔ͔͝ଘ஌Ͱ͔͢ʁ͜͜Ͱ͸հޢ ͷ΄ΜͶʹΞΫηε͢ΔͱɺͲͷ͏ͳॲཧ͞ΕΔ͔֓ཁΛઆ໌͠·͢ɻ

  3.  αʔόʔ ίϯϐϡʔλ ίϯϐϡʔλ հޢͷ΄ΜͶݟ͍ͨ σʔλͪΐ͏͍ͩ ͜ͷσʔλදࣔͯ͠ දࣔͰ͖·ͨ͠ հޢͷ΄ΜͶʹΞΫηε͢Δͱʜ දࣔ͞ΕΔ·Ͱʹɺ༷ʑͳॲཧ͕ಈ͍ͯ·͢ɻ

  4. αʔόʔ  ʰαʔόʔʱͱҰݴͰදݱ͍ͯ͠·͕͢ʜ αʔόʔγεςϜ ༷ʑͳٕज़Λ࢖͍ɺ೔ʑ։ൃऀ͕αʔϏεΛఏڙ͍ͯ͠·͢ɻ Τϥʔ؂ࢹπʔϧ ϝʔϧγεςϜ ࣗಈςετɾσϓϩΠπʔϧ ϝΠϯϑϨʔϜϫʔΫ ಈతϖʔδੜ੒ϑϨʔϜϫʔΫ

    ʜʜ
  5.  ຊ೔΍Δʰϓϩάϥϛϯάʱͱ͸ʜ αʔόʔ w ϩάΠϯͯ͠Δ͔ͳʁ w Ͳͷ஍ҬʹॅΜͰΔͷ͔ͳʁ w ৽ணͷޱίϛͲΕͩΖ͏ʁ w

    ݸ͘Β͍දࣔ͠ͳ͍ͱɻ w ಛूͯ͠Δࢪઃ͔͋ͬͨͳʁ w ಛू͸͔֬ͭ͘Β͍දࣔ͢ΔΜ͚ͩͬͳɻ ͱݴͬͨɺීஈ໨ʹ͢ΔҰ෦෼ʹ͍ͭͯͰ͢ɻ
  6.  ͪΐͬͱϓϩάϥϛϯάͬΆ͘දݱ͢Δͱʜ αʔόʔ w ϩάΠϯͯ͠Δ͔ͳʁˡϩάΠϯͯ͠Δ͔Ͳ͏͔Ͱ৚݅෼ذ w Ͳͷ஍ҬʹॅΜͰΔͷ͔ͳʁˡॅΜͰΔ஍ҬͰ৚݅෼ذ w ৽ணͷޱίϛͲΕͩΖ͏ʁ w

    ݸ͘Β͍දࣔ͠ͳ͍ͱɻˡޱίϛΛͭ܁Γฦ͠දࣔ w ಛूͯ͠Δࢪઃ͔͋ͬͨͳʁ w ಛूࢪઃ͸͔֬ͭදࣔ͢ΔΜ͚ͩͬɻˡಛूࢪઃΛͭ܁Γฦ͠දࣔ ͯ͞ɺ͔࣍Β͍Α͍Αϓϩάϥϛϯά͍͖ͯ͠·͢
  7. 3VCZͰ࢝ΊΔϓϩάϥϛϯάং࿦ ϝυϨʔͰओྲྀͳSVCZΛ࢖ͬͯ؆୯ͳϓϩάϥϛϯάͷษڧΛ͍ͯ͠ ͖·͠ΐ͏ɻࠓճ͸ຊ౰ʹجຊతͳ͜ͱ͚ͩ΍͍͖ͬͯ·͢ɻ

  8.  ࠓճͷֶश߲໨ cม਺ͱ୅ೖʹ͍ͭͯ ɹม਺ͱ୅ೖ͘Β͍͸೉͘͠ͳ͍ͷͰɺ͔ͬ͠Γ͍͖͍ͭͯͯͩ͘͞ɻ c؆୯ͳܭࢉΛߦͬͯΈΑ͏ Ћ ɹࣾձਓͳͷͰ࢛ଇԋࢉ͘Β͍༨༟Ͱ͢ΑͶʁ c৚݅෼ذΛͯ͠ΈΑ͏ ɹυΞ͕͍͋ͨΒΤϨϕʔλΛ߱ΓΔɺΑ͏ͳײ֮Ͱ͢ɻ c܁Γฦ͠ʹֶ͍ͭͯ΅͏

    ɹಉ͜͡ͱΛԿ౓΋ॻ͘ͷ͸ΊΜͲ͍͘͞Ͱ͢ΑͶɻ·ͱΊॻ͍ͯΈ·͠ΐ͏ɻ cؔ਺Λ࢖͍͜ͳͯ͠ΈΑ͏ ɹಉ͜͡ͱΛԿ౓΋΍ΔͷͬͯɺͩΜͩΜͩΔ͘ͳ͖ͬͯ·͢ΑͶɻ
  9.  SFQMJUΛ࢖ͬͯɺखΛಈ͔͠ͳ͕ΒֶΜͰ͖·͢ IUUQTSFQMJUMBOHVBHFTSVCZ

  10.  ม਺ͱ୅ೖʹ͍ͭͯ x = 1 ਺ֶͷม਺ͱಉ͡Ͱ͢ɻ YͰ΋BͰ΋ͳΜͰ΋ྑ͍Ͱ͢ɻ ӈଆ͕୅ೖ͞ΕΔ΋ͷɻ ਺ࣈɺจࣈɺ഑ྻɺϋογϡ ͳͲ༷ʑͳ΋ͷ͕୅ೖɻ

  11.  ؆୯ͳ࢛ଇԋࢉΛͯ͠ΈΑ͏ Ћ c଍͠ࢉɺҾ͖ࢉɺֻ͚ࢉɺׂΓࢉ ɹY Z YZ Y Z YZ

    cϓϩάϥϛϯάಠಛͷׂͬͨ͋·ΓʢNPEͬͯߴߍͰ΍Γ·ͨ͠ΑͶʁʣ  ɹYZ YΛZͰׂͬͨ͋·Γ  cਅِ஋ͱ͍͏֓೦͕͋ΔʢUSVFPSGBMTFͱݴͬͨΓ͢Δʣ  ɹYccZ Y·ͨ͸Z YZ Y͔ͭZ YZ YͱZ͕ಉ͔͡ YZ YͱZ͕ҧ͏͔  c̋৐ͱ͍͏ͷ΋؆୯ʹͰ͖ͨΓ ɹY Z YͷZ৐
  12.  ৚݅෼ذΛͯ͠ΈΑ͏ if x == 1 then puts x end

    Y͕ͩͬͨΒʜ ӳޠͬΆ͍ QVUT̋̋͸ɺ ̋̋Λදࣔͤ͞ΔϓϩάϥϜ
  13.  ܁Γฦ͠ʹֶ͍ͭͯ΅͏ 10.times do |x| puts x end lճ܁Γฦͤz ͱ͍͏ҙຯ

    ม਺ΛlczͰғ͏͜ͱͰ ͔Β·ͰΧ΢ϯτΞοϓ͢Δ
  14.  ؔ਺Λ࢖͍͜ͳͦ͏ def countup(n) n.times do |i| puts i end

    end EFGͱFOEͰ ғΜͰ͋͛Ε͹ Ͱ͖͕͋Γ ม਺ͱ͔ ౉ͤͨΓ͢Δ
  15.  ͜Ε͸ͳʹʁ def total(n) answer = 0 n.times do |i|

    answer = answer + i end puts answer end
  16.  ͜Ε͸ͳʹʁ def total(n) answer = 0 n.times do |i|

    answer = answer + i end puts answer end ͔ΒO·Ͱͷ߹ܭΛදࣔ͢Δؔ਺
  17. ͪΐͬͱͨ͠՝୊Λղ͍ͯΈ·͠ΐ͏ ϓϩάϥϛϯάͬͯࢥͬͨ΄Ͳ೉͘͠ͳ͍Ͱ͢ΑͶʁ͜͜·Ͱशͬͨ ஌ࣝͰɺ໰୊Λղ͍ͯΈ·͠ΐ͏ɻ

  18.  ໰୊ɿ   ʜ Λܭࢉͯ͠ΈΑ͏ ϊʔώϯτͰͲ͏ͧ

  19.  ໰୊ɿͷഒ਺͚ͩදࣔͤͯ͞ΈΑ͏ (1000).times do |i| ɹɹ͜͜ΛຒΊΔɺ͜͜Λ end

  20.  ໰୊ɿ   ʜ O ΛٻΊΔؔ਺Λ࡞Ζ͏ def square(n) ɹɹ͜͜ΛຒΊΔɺ͜͜Λ

    end
  21. ·ͱΊ

  22.  ·ͱΊ cͨͩͷʮϓϩάϥϛϯάʯ͚ͩͰऴΘΒͳ͍ͨΊʹ΋ ɹϓϩάϥϛϯά͸͜Ε͚ͩͰ͕͢ɺϓϩάϥϛϯά͚ͩͰऴΘΒͳ͍ͨΊʹ΋ɺ ࠓޙ΋ͬͱ೔ৗۀ຿Ͱ໾ཱͪͦ͏ͳϓϩάϥϛϯάʹ͍ͭͯͷߨ࠲Λ։͍ͯߦ͖· ͢ɻฃͬͯ͝ࢀՃ͍ͩ͘͞ɻ cʮϓϩάϥϛϯάʯ͚ͩͰݴ͏ͱ ɹ݁ہɺʮม਺ͷ୅ೖʯʮ࢛ଇԋࢉ Ћʯʮ৚݅෼ذʯʮ܁Γฦ͠ʯʮؔ਺Խʯ ͱ͍͏ͭͷ֓೦͚ͩ

    ΄΅ ɻհޢͷ΄ΜͶͷϓϩάϥϜ΋͜ͷ֓೦ͷ૊Έ߹Θͤ ͰͰ͖͍ͯ·͢ɻ೉͍͠ͱࢥΘͳ͍Ͱ͍ͩ͘͞ɻ clΊΜͲ͍͘͞zλεΫΛ೺ѲͰ͖ͨΓ ɹ࣮ࡍͷ։ൃ͸ϓϩάϥϛϯά͚ͩͰ͸ͳ͘ɺαʔόʔ੔උɾ6*ͷௐ੔ͳͲຊ౰ʹ ʮ૯߹֨ಆٕʯͷΑ͏ͳଟذʹΘͨΔ஌͕ࣝඞཁʹͳ͖ͬͯ·͢ɻ͔͠͠ɺϓϩά ϥϛϯάΛগֶ͠Ϳ͚ͩͰ΋ɺz܁Γฦ͠Λ࢖͏͔Β͜Ε͸؆୯ͳλεΫͩzͱ޻਺ ݟੵͷԹ౓ײΛ೺Ѳ͢Δ͜ͱ͕Ͱ͖ΔΑ͏ʹͳͬͨΓ͠·͢ɻ
  23. ෇࿥ɿ΋ͬͱษڧ͍ͨ͠ਓ΁ͷࢀߟࢿྉ

  24.  ߨ࠲͍Ζ͍Ζ c΋ͬͱ΋ͬͱ3VCZ஌Γ͍ͨਓ΁ ɹຊͰମܕతʹ3VCZษڧͰ͖·͢ɻ͜͜·ͰདྷΔͱɺ΋͸΍ΤϯδχΞʹస৬͠ ·͠ΐ͏ͬͯײ͡ʹͳΓ·͢ɻ ࢀߟɿύʔϑΣΫτ3VCZ c͜Μͳೖ໳ߨ࠲͡Ό଍Γͳ͍ํ΁ ɹੈͷதʹ͸͜Μͳࣗ෼͕ղઆ͢ΔΑΓΑͬΆͲϓϩ͕ղઆͨ͠ɺಈը෇͖ͷΦϯ ϥΠϯֶशαΠτ͕͋Γ·͢ɻ༗ޮ׆༻͠·͠ΐ͏ɻ ࢀߟɿ3VCZೖ໳

    EPUJOTUBMM c΋͏ී௨ʹ։ൃ͍ͨ͠ΜͰ͚͢Ͳ ɹհޢͷ΄ΜͶ͸ɺ3VCZPO3BJMTͱ͍͏ϑϨʔϜϫʔΫͰಈ͍͍ͯ·͢ɻ͜ΕΛ Ϛελʔ͢Ε͹ɺ͋ͳͨ΋ͦͷ೔͔Βհޢͷ΄ΜͶͰ๻ͱҰॹʹ։ൃͰ͖·͢ɻੋ ඇҰॹʹ։ൃ͠·͠ΐ͏ ࢀߟɿ3VCZPO3BJMTೖ໳
  25. ෇࿥ɿ໰୊ͷճ౴

  26.  ໰୊ɿ   ʜ Λܭࢉͯ͠ΈΑ͏ total = 0 (100).times

    do |i| # totalʹiͷ2৐Λ଍ͯ͠࠶୅ೖ͍ͯ͠Δ total = total + i ** 2 end puts total
  27.  ໰୊ɿͷഒ਺͚ͩදࣔͤͯ͞ΈΑ͏ (1000).times do |i| # 3ͰׂΓ੾ͬͯ0ʹͳΔͳΒ͹ if (i %

    3 == 0) then puts i # iΛදࣔ͢Δ end end
  28.  ໰୊ɿ   ʜ O ΛٻΊΔؔ਺Λ࡞Ζ͏ def square(n) total

    = 0 (100).times do |i| # totalʹiͷ2৐Λ଍ͯ͠࠶୅ೖ͍ͯ͠Δ total = total + i ** 2 end puts total end