xpjug2019 A-4: チケットシステムの設計と実装、『あのチーム』の運用

xpjug2019 A-4: チケットシステムの設計と実装、『あのチーム』の運用

チケットシステムの設計と実装、『あのチーム』の運用

40f4d1f2e77078955bd01e9fb4a503ba?s=128

seki at druby.org

September 21, 2019
Tweet

Transcript

  1. dRuby20प೥ seki@ruby-lang.org

  2. ࠓ೔ͷ࿩ 20 RWiki 800 ௕ੜ͖͸݁Ռʢ໨ඪͰ͸ͳ͍ʣɻࠓ೔ͷ࿩͸௕ੜ͖ͷൿ݃Ͱ͸ͳ͍Αʂ ௕ੜ͖Ͱ͖ͨͷ͸ྑ͍ͱ͜Ζ͕͔͋ͬͨΒͩͱࢥ͏ͷͰ঺հ͠·͢ɻ

  3. ࠓ೔ͷΦν XP ͋ͷνʔϜ΋͍͢͝ʂ

  4. ࢲʹ͍ͭͯ - Ruby - XP !N@TFLJ

  5. Rubyͷίϛολ ERB, dRuby, Rinda RubyKaigi &3#͸࢖Θ͞Εͨਓ΋͍Δ͔΋͠Εͳ͍ɻ 3VCZ,BJHJ͸ຖ೥ొஃʂϥοΩʔʂ ֏

  6. RWiki ERB dRuby WikiWikiWeb RD Ruby OODB 3%͸3VCZͷจॻͷͨΊͷॻࣜɻ1MBJOΛݟͳ͕ΒNBU[͕ߟ͑ͨʂʁ ֏

  7. eXtreme Programming 2004 XP RWiki StoryCard ݱࡏ໿ΠςϨʔγϣϯ 91ࡇΓͰ͸Կ౓͔ࣄྫΛ঺հ͍ͯ͠Δ

  8. ͋ͷνʔϜͷಛ௃ ૊ΈࠐΈɾࣗࣾ੡඼ɾϛογϣϯΫϦςΟΧϧɾେن໛ɾฒߦෳ਺όʔδϣϯ 8JLJͷن໛͸໿ສϖʔδɻຖ೔ϖʔδ͕ฤू͞Ε͍ͯΔɻ

  9. RWiki StoryCard֦ு RWiki ࠓ೔঺հ͢ΔγεςϜɻ νέοτΛϖʔδͰදݱ͢ΔνέοτγεςϜɻ લ਎ʹ#VH5SBDLJOH4ZTUFN֦ு΋͋ͬͨɻ :"31$Ͱ࿩ͨ͠Α͏ͳؾ΋͢Δ

  10. ೥ද ੈل຤͔Βੈل΁ ERb, dRuby 1999 RWiki 2000 2001 BTS YARPC19101

    StoryCard Keynote 2004 (JaSST, XP ) 2008 ( ) 2014 XP / XP (XP ) 2017 , ruby-1.8.7 2.6 2019
  11. ໨࣍ ͜ͷॱͰ঺հ͠·͢

  12. νέοτฤ

  13. νέοτ൪߸ prefix + 3 4 prefix 5 4

  14. ਖ਼نԽ͞Εͯͳ໊͍લͷૢ࡞ String#succ ్தͰ໋໊نଇΛ֦ு͢Δ͜ͱʹͳͬͯগ͠য͕ͬͨ4USJOHTVDDΛࢥ͍ग़ͯ͠ηʔϑ ͩͬͨ ֏

  15. νέοτͷstatus ͳΜ͍ͯ͏ͷʁ

  16. छྨ story bug task UBTL͸91తͳUBTLͰ͸ͳ͍ɻ͜ͷνʔϜͰ͸ೖΕࢠͷTUPSZ͸ӡ༻্ېࢭɻඞͣ୯ಠ Ͱ׬͔݁֬͠ΊΒΕΔ୯Ґʹ͢Δɻ

  17. ΠςϨʔγϣϯ 999 ͩΜͩΜλΠϜϘοΫεͱͯ͠ͷͩ͜ΘΓ͕ͳ͘ͳͬͯɺͨͩͷ൪஍ʹͳͬͨ

  18. ঢ়ଶ open close done ཱ৔΍ࢹ఺ʹΑͬͯ஌Γ͍ͨঢ়ଶ͸มΘͬͯ͘Δ͠ɺΑΓࡉ͔͍ঢ়ଶΛൃݟ͢Δέʔε ΋͋ΔɻͰ΋ຖ೔νέοτΛಡΜͰΕ͹Θ͔ΔͷͰɺ݁ہ͸ऴΘͬͯΔ͔Ͳ͏͔͚ͩ ໌ࣔ͢Ε͹ॆ෼ͳ͜ͱ͕Θ͔ͬͨɻ

  19. ݟੵ 1 1.0 ॱௐͳͷ͔ɺࠔ͍ͬͯΔͷ͔ɺ͍ͭࢼͤΔͷ͔ɺͦ͏͍͏͜ͱʹڵຯ͕͋Δɻ࣮੷͸ Ͳͷ͘Β͍ۤ࿑͔ͨ͠Θ͔Δ͚ͲɺࠓͰ͸΄ͱΜͲ࢖͍ಓ͕ͳ͍ɻ

  20. ݟੵ ೲظΛ໿ଋͤͨ͞Γ଎౓ΛڝͬͨΓɺͦ͏͍͏͜ͱ͸Ͳ͏Ͱ΋͍͍ɻ ʢ΋ͦ͠͏͍͏͜ͱٻΊΔͱݟੵΓ͸͓͔͘͠ͳΔྫ/಺͞ΜϕϩγςΟࣄ݅ʣ

  21. status͸มΘΓଓ͚ͯͨ ઐ༻ͷϑΥʔϜͷํ͕ϓϩάϥϚతʹ͸࡞Γ΍͍͢ σʔλͷ੍໿ɺਖ਼نԽͳͲϓϩάϥϚͷ౎߹Λԡ͠෇͚ͯͳ͍

  22. WikiϖʔδΛͦͷ··࢖͏ ࢴͷෆ۩߹ථ͸ཝ֎ʹϝϞॻ͍ͨΓɺෆ׬શͩͬͨΓࣗ༝͕ͩ ཧղͰ͖Δɻ8JLJʹॻ͍ͨ൒ఆܕʗ൒ࣗ༝ͳهड़Λղऍ͢Δ࢓૊ΈΛ༻ҙͨ͠ɻ

  23. จॻ͔ΒσʔλΛநग़ RD : status 3%EBUBͱ͍͏:".-Ҏલʹ3%ͷߏ଄Λσʔλදݱʹ࢖͏ࢼΈ͕ ͨͿΜ͋ͬͨɻ38JLJ͸௨ৗͷจॻʹ3%EBUBΛࠞͥͯ࢖͏Α͏ͳײ͡ʂ ֏

  24. จॻ͔ΒσʔλΛநग़ JSC͔ΒE3VCZͰ38JLJͷ಺༰ΛݟΔͱ͜Μͳͷ ֏

  25. ೜ऀࣜςετ Story/Bug +B445ΑΓ

  26. ೜ऀࣜ͸TDDͷࣗવͳ֦ு TDD νέοτ͸ސ٬͕৮ͬͯΘ͔ΔΑ͏ͳʮγεςϜʹର͢ΔมߋʯͰ͋Δͱ͍͏͜ͱɻ ϥΠϒϥϦͳͲ෦඼͚ͩ࡞ͬͯ΋৮Εͳ͍΋ͷ͸νέοτͷ୯Ґʹ͠ͳ͍ɻ

  27. ςετͱཤྺ ݱࡏ͸ཤྺͱ઱౓ɺϦεΫɺ։ൃͷςʔϚ͔Βܭࢉ͓ͨ͢͢͠ΊςετεΠʔτநग़Ξ ϧΰϦζϜʹΑΓɺςετͷස౓Λௐ੔͍ͯ͠Δʢ਺೔͔Β਺ϲ݄ʹҰ౓ʣ

  28. நग़͞Εͨςετͷར༻ (('test:νέοτ໊')) ֏

  29. ཤྺͷ͍͢͝΍ͭ 2003 NG ৽͍͠࢓༷͸աڈͷ࢓༷Λ্ॻ͖͢ΔͷͰ͠͹͠͹ໃ६ͪ͠Ό͏ ·࣮ͨ૷͕มԽͨ͜͠ͱͰςετ͢Δҙຯ͕ͳ͘ͳͬͨ΋ͷ΋͋Δ ࠷ۙɺ೥ͷνέοτͷςετ͕ෆཁʹͳ͍ͬͯΔͷʹؾ͍ͮͨ

  30. ΠϯσοΫεฤ ͍ͭ΋ͱͲΜͳ෩ʹҧ͏͔ͻͱ໨ͰΘ͔Δɻ

  31. ΠϯσοΫεͷ࣮૷ Iteration, , શͯͷνέοτ͕DMPTFʹͳͬͨΠςϨʔγϣϯΛӅ͢ ΞΫςΟϒͳΠςϨʔγϣϯ͚͕ͩදࣔ͞ΕΔ ֏

  32. νέοτͷछྨͰ෼ྨ story bug

  33. αΠϯͷ౰ॳͷҙਤ

  34. ࠓ͸੡඼ɾόʔδϣϯɾ୲౰ऀ

  35. ேձฤ 9:15-10:00

  36. ேձϏϡʔ Story

  37. ேձϏϡʔ yonezawa

  38. yonezawaேձϏϡʔ

  39. ேձϏϡʔ

  40. ேձϏϡʔ

  41. ேձϏϡʔ

  42. yonezawaேձϏϡʔ PC visited close

  43. yonezawaேձϏϡʔ 45 45 bug story

  44. 45෼ؒ 45 91͔ΒֶΜͩ΋ͷͷͻͱͭʼλΠϜϘοΫε

  45. ෇ᝦࢴͱน ΞΫςΟϒͳνέοτʢ͍·΍ͬͯΔνέοτʣʹ͍ͭͯ͸෇ᝦࢴ΍ෆ۩߹ථͳͲͷ ෺ཧతνέοτʹࣅ͍ͤͯΔ

  46. ࢴͰ͸೉͍͜͠ͱ ߋ৽͠ͳ͍ͳΒࣺͯͨ΄͏͕͍͍ɻ ຖ೔νέοτಡΈฦͯ͠ߋ৽ͯ͠ΔͱυϦϧֶशͷΑ͏ͳޮՌ͕͋ͬͯɺϝϯόʔͷ೴ ಺഑ઢ͕ڧԽ͞ΕΔɻਓଆ͕ϓϥΠϚϦͷσʔλϕʔεʹͳΔɻ

  47. ͓·͚/͋͑ͯল͍ͨ΋ͷ ྲྀߦΓͷγεςϜʹ͍͍ͨͯ͋Δ΍ͭɻͦΕͧΕཧ༝͕͋ͬͯল͍ͨɻ

  48. ͓·͚/͋͑ͯল͍ͨ΋ͷ ࡞͔ͬͯΒফ͞Εͨ΋ͷ΋ଟ͍ɻͨͱ͑͹௨஌ܥ͸༻ҙ͕ͯ͋ͬͨ͠௚઀͋ͬͯ࿩͠ ͨํ͕଎͍࣮֬͠ͳͷͰӅ͞Εͨɻʢπʔϧ࡞Δํ͸ָ͍͠ʣ

  49. ࠓ೔ͷΦν XP ͋ͷνʔϜ΋͍͢͝ʂ