Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
xpjug2019 A-4: チケットシステムの設計と実装、『あのチーム』の運用
Search
seki at druby.org
September 21, 2019
Programming
6
6.5k
xpjug2019 A-4: チケットシステムの設計と実装、『あのチーム』の運用
チケットシステムの設計と実装、『あのチーム』の運用
seki at druby.org
September 21, 2019
Tweet
Share
More Decks by seki at druby.org
See All by seki at druby.org
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
320
ERB, ancient and future
m_seki
3
830
ERB Hacks
m_seki
1
1.4k
わりこまれるはなし
m_seki
0
750
ぼくのかんがえたさいきょうのけいやくによるプログラミング
m_seki
1
1.1k
Learn Ractor
m_seki
1
2.5k
How many copies did you buy the first print?
m_seki
1
690
Create my own search engine.
m_seki
1
5.2k
Rinda in the real-world embedded systems.
m_seki
0
410
Other Decks in Programming
See All in Programming
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
110
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
130
sappoRo.R #12 初心者セッション
kosugitti
0
250
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
150
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
Honoとフロントエンドの 型安全性について
yodaka
7
1.2k
Amazon Bedrock Multi Agentsを試してきた
tm2
1
290
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
170
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
2
440
SpringBoot3.4の構造化ログ #kanjava
irof
2
990
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
160
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
140
Featured
See All Featured
Optimizing for Happiness
mojombo
376
70k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Adopting Sorbet at Scale
ufuk
74
9.2k
Writing Fast Ruby
sferik
628
61k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Pragmatic Product Professional
lauravandoore
32
6.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Transcript
dRuby20प
[email protected]
ࠓͷ 20 RWiki 800 ੜ͖݁ՌʢඪͰͳ͍ʣɻࠓͷੜ͖ͷൿ݃Ͱͳ͍Αʂ ੜ͖Ͱ͖ͨͷྑ͍ͱ͜Ζ͕͔͋ͬͨΒͩͱࢥ͏ͷͰհ͠·͢ɻ
ࠓͷΦν XP ͋ͷνʔϜ͍͢͝ʂ
ࢲʹ͍ͭͯ - Ruby - XP !N@TFLJ
Rubyͷίϛολ ERB, dRuby, Rinda RubyKaigi &3#Θ͞Εͨਓ͍Δ͔͠Εͳ͍ɻ 3VCZ,BJHJຖొஃʂϥοΩʔʂ ֏
RWiki ERB dRuby WikiWikiWeb RD Ruby OODB 3%3VCZͷจॻͷͨΊͷॻࣜɻ1MBJOΛݟͳ͕ΒNBU[͕ߟ͑ͨʂʁ ֏
eXtreme Programming 2004 XP RWiki StoryCard ݱࡏΠςϨʔγϣϯ 91ࡇΓͰԿ͔ࣄྫΛհ͍ͯ͠Δ
͋ͷνʔϜͷಛ ΈࠐΈɾࣗࣾɾϛογϣϯΫϦςΟΧϧɾେنɾฒߦෳόʔδϣϯ 8JLJͷنສϖʔδɻຖϖʔδ͕ฤू͞Ε͍ͯΔɻ
RWiki StoryCard֦ு RWiki ࠓհ͢ΔγεςϜɻ νέοτΛϖʔδͰදݱ͢ΔνέοτγεςϜɻ લʹ#VH5SBDLJOH4ZTUFN֦ு͋ͬͨɻ :"31$Ͱͨ͠Α͏ͳؾ͢Δ
ද ੈل͔Βੈل 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
࣍ ͜ͷॱͰհ͠·͢
νέοτฤ
νέοτ൪߸ prefix + 3 4 prefix 5 4
ਖ਼نԽ͞Εͯͳ໊͍લͷૢ࡞ String#succ ్தͰ໋໊نଇΛ֦ு͢Δ͜ͱʹͳͬͯগ͠য͕ͬͨ4USJOHTVDDΛࢥ͍ग़ͯ͠ηʔϑ ͩͬͨ ֏
νέοτͷstatus ͳΜ͍ͯ͏ͷʁ
छྨ story bug task UBTL91తͳUBTLͰͳ͍ɻ͜ͷνʔϜͰೖΕࢠͷTUPSZӡ༻্ېࢭɻඞͣ୯ಠ Ͱ͔݁֬͠ΊΒΕΔ୯Ґʹ͢Δɻ
ΠςϨʔγϣϯ 999 ͩΜͩΜλΠϜϘοΫεͱͯ͠ͷͩ͜ΘΓ͕ͳ͘ͳͬͯɺͨͩͷ൪ʹͳͬͨ
ঢ়ଶ open close done ཱࢹʹΑͬͯΓ͍ͨঢ়ଶมΘͬͯ͘Δ͠ɺΑΓࡉ͔͍ঢ়ଶΛൃݟ͢Δέʔε ͋ΔɻͰຖνέοτΛಡΜͰΕΘ͔ΔͷͰɺ݁ہऴΘͬͯΔ͔Ͳ͏͔͚ͩ ໌ࣔ͢Εॆͳ͜ͱ͕Θ͔ͬͨɻ
ݟੵ 1 1.0 ॱௐͳͷ͔ɺࠔ͍ͬͯΔͷ͔ɺ͍ͭࢼͤΔͷ͔ɺͦ͏͍͏͜ͱʹڵຯ͕͋Δɻ࣮ Ͳͷ͘Β͍ۤ࿑͔ͨ͠Θ͔Δ͚ͲɺࠓͰ΄ͱΜͲ͍ಓ͕ͳ͍ɻ
ݟੵ ೲظΛଋͤͨ͞ΓΛڝͬͨΓɺͦ͏͍͏͜ͱͲ͏Ͱ͍͍ɻ ʢͦ͠͏͍͏͜ͱٻΊΔͱݟੵΓ͓͔͘͠ͳΔྫ/͞ΜϕϩγςΟࣄ݅ʣ
statusมΘΓଓ͚ͯͨ ઐ༻ͷϑΥʔϜͷํ͕ϓϩάϥϚతʹ࡞Γ͍͢ σʔλͷ੍ɺਖ਼نԽͳͲϓϩάϥϚͷ߹Λԡ͚ͯ͠ͳ͍
WikiϖʔδΛͦͷ··͏ ࢴͷෆ۩߹ථཝ֎ʹϝϞॻ͍ͨΓɺෆશͩͬͨΓࣗ༝͕ͩ ཧղͰ͖Δɻ8JLJʹॻ͍ͨఆܕʗࣗ༝ͳهड़Λղऍ͢ΔΈΛ༻ҙͨ͠ɻ
จॻ͔ΒσʔλΛநग़ RD : status 3%EBUBͱ͍͏:".-Ҏલʹ3%ͷߏΛσʔλදݱʹ͏ࢼΈ͕ ͨͿΜ͋ͬͨɻ38JLJ௨ৗͷจॻʹ3%EBUBΛࠞͥͯ͏Α͏ͳײ͡ʂ ֏
จॻ͔ΒσʔλΛநग़ JSC͔ΒE3VCZͰ38JLJͷ༰ΛݟΔͱ͜Μͳͷ ֏
ऀࣜςετ Story/Bug +B445ΑΓ
ऀࣜTDDͷࣗવͳ֦ு TDD νέοτސ٬͕৮ͬͯΘ͔ΔΑ͏ͳʮγεςϜʹର͢ΔมߋʯͰ͋Δͱ͍͏͜ͱɻ ϥΠϒϥϦͳͲ෦͚ͩ࡞ͬͯ৮Εͳ͍ͷνέοτͷ୯Ґʹ͠ͳ͍ɻ
ςετͱཤྺ ݱࡏཤྺͱɺϦεΫɺ։ൃͷςʔϚ͔Βܭࢉ͓ͨ͢͢͠ΊςετεΠʔτநग़Ξ ϧΰϦζϜʹΑΓɺςετͷසΛௐ͍ͯ͠Δʢ͔Βϲ݄ʹҰʣ
நग़͞Εͨςετͷར༻ (('test:νέοτ໊')) ֏
ཤྺͷ͍ͭ͢͝ 2003 NG ৽͍༷͠աڈͷ༷Λ্ॻ͖͢ΔͷͰ͠͠ໃ६ͪ͠Ό͏ ·࣮͕ͨมԽͨ͜͠ͱͰςετ͢Δҙຯ͕ͳ͘ͳͬͨͷ͋Δ ࠷ۙɺͷνέοτͷςετ͕ෆཁʹͳ͍ͬͯΔͷʹؾ͍ͮͨ
ΠϯσοΫεฤ ͍ͭͱͲΜͳ෩ʹҧ͏͔ͻͱͰΘ͔Δɻ
ΠϯσοΫεͷ࣮ Iteration, , શͯͷνέοτ͕DMPTFʹͳͬͨΠςϨʔγϣϯΛӅ͢ ΞΫςΟϒͳΠςϨʔγϣϯ͚͕ͩදࣔ͞ΕΔ ֏
νέοτͷछྨͰྨ story bug
αΠϯͷॳͷҙਤ
ࠓɾόʔδϣϯɾ୲ऀ
ேձฤ 9:15-10:00
ேձϏϡʔ Story
ேձϏϡʔ yonezawa
yonezawaேձϏϡʔ
ேձϏϡʔ
ேձϏϡʔ
ேձϏϡʔ
yonezawaேձϏϡʔ PC visited close
yonezawaேձϏϡʔ 45 45 bug story
45ؒ 45 91͔ΒֶΜͩͷͷͻͱͭʼλΠϜϘοΫε
ᝦࢴͱน ΞΫςΟϒͳνέοτʢ͍·ͬͯΔνέοτʣʹ͍ͭͯᝦࢴෆ۩߹ථͳͲͷ ཧతνέοτʹࣅ͍ͤͯΔ
ࢴͰ͍͜͠ͱ ߋ৽͠ͳ͍ͳΒࣺͯͨ΄͏͕͍͍ɻ ຖνέοτಡΈฦͯ͠ߋ৽ͯ͠ΔͱυϦϧֶशͷΑ͏ͳޮՌ͕͋ͬͯɺϝϯόʔͷ ઢ͕ڧԽ͞ΕΔɻਓଆ͕ϓϥΠϚϦͷσʔλϕʔεʹͳΔɻ
͓·͚/͋͑ͯল͍ͨͷ ྲྀߦΓͷγεςϜʹ͍͍ͨͯ͋ΔͭɻͦΕͧΕཧ༝͕͋ͬͯল͍ͨɻ
͓·͚/͋͑ͯল͍ͨͷ ࡞͔ͬͯΒফ͞Εͨͷଟ͍ɻͨͱ͑௨ܥ༻ҙ͕ͯ͋ͬͨ͋ͬͯ͠͠ ͨํ͕͍࣮֬͠ͳͷͰӅ͞Εͨɻʢπʔϧ࡞Δํָ͍͠ʣ
ࠓͷΦν XP ͋ͷνʔϜ͍͢͝ʂ