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.4k
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
ERB, ancient and future
m_seki
3
750
ERB Hacks
m_seki
1
1.3k
わりこまれるはなし
m_seki
0
680
ぼくのかんがえたさいきょうのけいやくによるプログラミング
m_seki
1
980
Learn Ractor
m_seki
1
2.4k
How many copies did you buy the first print?
m_seki
1
650
Create my own search engine.
m_seki
1
5.2k
Rinda in the real-world embedded systems.
m_seki
0
390
Tochigi Ruby Kaigi 08 Keynote
m_seki
0
410
Other Decks in Programming
See All in Programming
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
660
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
310
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
170
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
330
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
Realtime API 入門
riofujimon
0
150
Jakarta EE meets AI
ivargrimstad
0
120
現場で役立つモデリング 超入門
masuda220
PRO
15
3.2k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Docker and Python
trallard
40
3.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Building Your Own Lightsaber
phodgson
103
6.1k
Faster Mobile Websites
deanohume
305
30k
Six Lessons from altMBA
skipperchong
27
3.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
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 ͋ͷνʔϜ͍͢͝ʂ