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
420
ERB, ancient and future
m_seki
3
870
ERB Hacks
m_seki
1
1.5k
わりこまれるはなし
m_seki
0
810
ぼくのかんがえたさいきょうのけいやくによるプログラミング
m_seki
2
1.2k
Learn Ractor
m_seki
1
2.6k
How many copies did you buy the first print?
m_seki
1
730
Create my own search engine.
m_seki
1
5.3k
Rinda in the real-world embedded systems.
m_seki
0
430
Other Decks in Programming
See All in Programming
私のRubyKaigi 2025 Kaigi Effect / My RubyKaigi 2025 Kaigi Effect
chobishiba
1
200
CursorとDevinが仲間!?AI駆動で新規プロダクト開発に挑んだ3ヶ月を振り返る / A Story of New Product Development with Cursor and Devin
rkaga
5
1.8k
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
2
110
バランスを見極めよう!実装の意味を明示するための型定義 TSKaigi 2025 Day2 (5/24)
whatasoda
2
700
人には人それぞれのサービス層がある
shimabox
2
250
鯛変だったRubyKaigi 2025 ── それでも楽しかった!
pndcat
0
130
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
230
Reactive Thinking with Signals, Resource API, and httpResource @Devm.io Angular 20 Launch Party
manfredsteyer
PRO
0
110
External SecretsのさくらProvider初期実装を担当しています
logica0419
0
190
AWS診断200件の分析から見る頻出指摘と対策
shoodagiri
0
100
Doma で目指す ORM 最適解
nakamura_to
1
160
Agent Rules as Domain Parser
yodakeisuke
1
170
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Optimizing for Happiness
mojombo
378
70k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
14
880
We Have a Design System, Now What?
morganepeng
52
7.6k
Gamification - CAS2011
davidbonilla
81
5.3k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
122
52k
Building Applications with DynamoDB
mza
95
6.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
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 ͋ͷνʔϜ͍͢͝ʂ