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
TDD applied Data Cleansing
Search
dproject21
September 08, 2018
Programming
0
1.8k
TDD applied Data Cleansing
XP祭り2018 LT祭り にて発表
TDDもせずに "AI" とは何事だ?
機械学習ではなく、機械学習で用いるデータのクレンジングにTDDを適用した話をしました。
dproject21
September 08, 2018
Tweet
Share
More Decks by dproject21
See All by dproject21
ISTQB/JSTQBシラバスから学ぶAgileTesting / A guide of agile testing based on ISTQB syllabus
dproject21
4
3.3k
JSTQB Advanced Level 模擬問題作成方法 / methodology to questions creation for JSTQB advanced level
dproject21
3
1.3k
試験に絶対出ないJSTQB AL TA,TM問題 / Questions that will never be given on the exam of JSTQB advanced level
dproject21
0
1.4k
The official zip code book is terrible. And what should I do with the address you wrote.
dproject21
0
160
Data preprocessing for MachineLearning/BI by Golang and MySQL UDF
dproject21
1
840
高精度名寄せシステムを支える テキスト処理 (の、ほんのさわり)
dproject21
3
2.4k
ゼロから作るDeepLearning 第7章前半ざっくりまとめ
dproject21
0
960
ゼロから作るDeepLearning 第5章 誤差逆伝播法による重み更新を追ってみる
dproject21
0
1.1k
ゼロから作るDeepLearning 第6章ざっくりまとめ
dproject21
2
1.3k
Other Decks in Programming
See All in Programming
Why Spring Matters to Jakarta EE - and Vice Versa
ivargrimstad
0
1.3k
Tuning GraphQL on Rails
pyama86
2
1.2k
Sidekiqで実現する 長時間非同期処理の中断と再開 / Pausing and Resuming Long-Running Asynchronous Jobs with Sidekiq
hypermkt
6
2.9k
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
3
1.1k
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
160
EventSourcingの理想と現実
wenas
6
2.1k
役立つログに取り組もう
irof
27
9k
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
410
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
160
gopls を改造したら開発生産性が高まった
satorunooshie
8
270
推し活としてのrails new/oshikatsu_ha_iizo
sakahukamaki
3
1.9k
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
330
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
810
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Designing the Hi-DPI Web
ddemaree
280
34k
Side Projects
sachag
452
42k
Typedesign – Prime Four
hannesfritz
39
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Scaling GitHub
holman
458
140k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
14
2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
328
21k
YesSQL, Process and Tooling at Scale
rocio
168
14k
Transcript
1 5%% ͠ͳ͍Ͱ z"*z ͱԿࣄͩ 91ࡇΓ Inspired by @iwaoRd
2 ϓϩϑΟʔϧ ాޱେथ %BJLJ5BOPHVDIJ !EQSPKFDU ϛʔΧϯύχʔגࣜձࣾ (PMBOH0VUTUBOEJOH%BUBFOHJOFFS (0% ྵࡉιϑτϋε 7#/&5
4*FS 8FCαʔϏεاۀ ྲྀ࿘ͷຽ $+BWB ػցֶश *P5τϥΠΞϧࢀը 1ZUIPO (PMBOH લॲཧϥΠϒϥϦ։ൃͳͲ "LJCBHP $PEFGPS+BQBO Ϧʔμʔक़ %FW-07& 1VC 50$G& #PPUDBNQ 8"$"5& ϛʔΧϯύχʔגࣜձࣾ ೖ͙ͬͯ͢ɺϦʔϚϯγϣοΫͰ ֎ʹग़Εͳ͔ͬͨ lड͚z 91ࡇΓॳࢀՃ
3 ϓϩϑΟʔϧ ాޱେथ %BJLJ5BOPHVDIJ !EQSPKFDU ϛʔΧϯύχʔגࣜձࣾ (PMBOH0VUTUBOEJOH%BUBFOHJOFFS (0% ྵࡉιϑτϋε 7#/&5
4*FS 8FCαʔϏεاۀ ྲྀ࿘ͷຽ $+BWB ػցֶश *P5τϥΠΞϧࢀը 1ZUIPO (PMBOH લॲཧϥΠϒϥϦ։ൃͳͲ "LJCBHP $PEFGPS+BQBO Ϧʔμʔक़ %FW-07& 1VC 50$G& #PPUDBNQ 8"$"5& ϛʔΧϯύχʔגࣜձࣾ ೖ͙ͬͯ͢ɺϦʔϚϯγϣοΫͰ ֎ʹग़Εͳ͔ͬͨ lड͚z 91ࡇΓॳࢀՃ ͯ͢ͷόουσʔλΛ ੜ·ΕΔલʹফ͠ڈΓ͍ͨ ͤΊͯ"*#*ʹ৯ΘͤΔલʹ ফ͠ڈΓ͍ͨ ࠷ۙͷϙϦγʔ
mecompany Inc. 4 8 C: % # G+K $/& /0B
-! 8 XVWV WX)Y( ,J'EZSYYSXQ XeQ 3 I ¡A>#¢ P* 9 ¡bci¢ WRVVV W_ 51N?D M6F ldg ean mjg "L@ B" VYS\Z[]S^[]_ VYS\\\]SZ_XX t||y`UUvrpxvyow~Tvr t||y`UU{p}ruTvr t||y`UU{p}ruqo|oTvr t||y`UU{p}ruZvzTvr L@ ?51 U7DU? =2H / / / fl / / ; / 4O?.< kbmdg kbmdgQsxzQhj 2018 9)8( ϓϩϑΟʔϧ
mecompany Inc. 5 ҩྍػؔɾༀہɾհޢࣄۀॴͷࢪઃɾ๏ਓσʔλϕʔε ϥΠηϯεͷൢചɾϝϯςφϯεΛߦ͍ͬͯ·͢ɻ 201898 ϓϩϑΟʔϧ
mecompany Inc. 6 5%% ͠ͳ͍Ͱ z"*z ͱԿࣄͩ 91ࡇΓ ػցֶशͷ ΄΅͠·ͤΜ
mecompany Inc. 7 5%% ͠ͳ͍Ͱ z"*z ͱԿࣄͩ 91ࡇΓ ςετۦಈ։ൃ ͖ͪΜͱಡΜͰ
ͳ͔ͬͨͰ͢ ͍͢·ͤΜ
<3S mecompany Inc. 8 7 > QP#? y!9/w (Az <[R'_Uw4KwF6_HX
Z^\Wkxg* Y^]r`xmoic_ \'_%X y!9/w (Az 'U Cefjt@ ;B.E@ ;3uxbx ;3S MJ O2( SCUEL Projectpxlnx VL $=Ndxqf I8G &G ;wMwOdxqdx wwA 1Dsvoah M0 WEB WEB WEB SCUEL Projectpxlnx kxg58 )+ :T] HP 2018"9-8, ϓϩϑΟʔϧ
2+H mecompany Inc. 9 - 4 FE5 t/'r !7u t/'r
!7u J 9`bem6 18&;6 1+ns\s 1+H B? D*! SCUEL Projectjsghs KA 3C_skb > .= = 1rBrD_sk_s rr7 ):lpi[d B( WEB WEB WEB SCUEL Projectjsghs fsc,. "# 0IW HP 20189%8$ G Z<NYOXV@TUPO fsc]oqaq^VQMRWASNL ϓϩϑΟʔϧ
mecompany Inc. 10 ެతͳެ։ใ͔Β z͑Δzσʔλʹ্ཱͯ͛ͨ ҩྍػؔɾༀہɾհޢࣄۀॴͷࢪઃɾ๏ਓσʔλϕʔε ϥΠηϯεͷൢചɾϝϯςφϯεΛߦ͍ͬͯ·͢ɻ 201898 ϓϩϑΟʔϧ
5-K ࠓͷʜ mecompany Inc. 11 0 7 IH8 r2)p #:s
r2)p #:s "M <abem9 4;(>9 4-nq_q 4-K EB G,# SCUEL Projectjqghq ND 6F`qkb A1@ !@ 4pEpG`qk`q pp: +=loi^d E* WEB WEB WEB SCUEL Projectjqghq fqc.1 $% 3LZ HP 20189'8& J"]?Q\R[Y CWXSR fqc /YTPUZDVQO #*͚ͷ σʔλ ΫϨϯδϯάͷ Ͱ͢
5-K ࠓͷʜ mecompany Inc. 12 0 7 IH8 r2)p #:s
r2)p #:s "M <abem9 4;(>9 4-nq_q 4-K EB G,# SCUEL Projectjqghq ND 6F`qkb A1@ !@ 4pEpG`qk`q pp: +=loi^d E* WEB WEB WEB SCUEL Projectjqghq fqc.1 $% 3LZ HP 20189'8& J"]?Q\R[Y CWXSR fqc /YTPUZDVQO ࣗવݴޠॲཧ دΓͷͰ͢
13 • σʔλͦͷͷͷ࣭Λ Ҿ্͖͛ΔͨΊʹ σʔλΫϨϯδϯάΛ͢Δ • σʔλΫϨϯδϯάΛ ͢ΔͨΊʹϓϩάϥϜΛॻ͘ • σʔλΫϨϯδϯάϓϩάϥϜͷ
࣭Λ୲อ͢ΔͨΊʹ ςετίʔυॻ͘ z͑ΔzσʔλΛཱͯΔͨΊʹ
14 EC UFDITIPXDBTF %ηογϣϯ https://www.db-tech-showcase.com/dbts/tokyo r
$PEF GPS +BQBO 4VNNJU ৽ׁ lόουΦʔϓϯσʔλڙཆࣉz ηογϣϯ https://summit2018.code4japan.org/session/210/ Ͱશ൛ΛΓ·͢
201898 15 σʔλ։ൃͷݱ
mecompany Inc. 16
2018 98 ެతػ͔ؔΒ։ࣔ͞Ε͍ͯΔσʔλ &YDFM $47ͷଞ 1%' 8FCαΠτ ࢴʢཧʣ͕͋Δ ࢴͱઓ͏ͨΊʹ0$3Λͬͨ͋ͱ ޡೝࣝσʔλͱઓΘͳ͚Ε͍͚ͳ͍ɻ σʔλ։ൃͷݱ
mecompany Inc. 17
2018 98 ެతػ͔ؔΒ։ࣔ͞Ε͍ͯΔσʔλ தʹ zόουσʔλz ଘࡏ͢Δ • ޡࣈࣈ • දهΏΕ • ҟମࣈ • ༣ศ൪߸ؒҧ͍ • ి൪߸ ͳ͔ͥ&ϝʔϧΞυϨε • ʙࢢʙ۠ ͷ͕۠ൈ͚͍ͯΔ σʔλ։ൃͷݱ
18 ྫ͑ʜ
201898 19 ॅॴ ۽ຊࢢձொYYY
201898 20 ۽ຊࢢձொ ʹ ྩࢦఆࢢҠߦ
201898 21 ۽ຊࢢձொ ۽ຊࢢೆ۠ձொ ˓ ✕
201898 22 5FMYYZZZ[[[[ʲNBJMYQKVH!FYBNQMFDPNʳ
201898 23 5FMYYZZZ[[[[ʲNBJMYQKVH!FYBNQMFDPNʳ ͳΜͰ ϝʔϧΞυϨε ೖ͍ͬͯΔΜͰ͢ʁ
201898 24 ͖Ε͍ͳσʔλʹ ͯ͋͛͠ͳ͍ͱ ੳਫ਼͕ ্͠ͳ͍
201898 25 ͦ͜Ͱ 5%%Ͱ͢Α
https://www.slideshare.net/t_wada/tdd-agile-samurai-base-camp
σʔλΫϨϯδϯάϓϩάϥϜ ͷ։ൃαΠΫϧ ϚτϞͳσʔλΛߟ͑Δ ϚτϞͳσʔλΛzҙਤͨ͠ܗࣜzʹมͨ͠ ݁ՌΛςετέʔεͱͯ͠Ճ͢Δ ͦͷςετΛ࣮ߦࣦͯ͠ഊͤ͞Δ 3FE lҙਤͨ͠ܗࣜzʹม͢ΔίʔυΛॻ͘ Ͱॻ͍ͨςετΛޭͤ͞Δ
(SFFO ςετ͕௨Δ··ͰϦϑΝΫλϦϯάΛߦ͏ 3FGBDUPS ߥΕͨσʔλΛՃͯ͠ʙΛ܁Γฦ͢
28 import ( "testing" "github.com/stretchr/testify/assert” ) func TestCleansingExample (t *testing.T)
{ var testCases := []struct { desc string in string want string }{ {“ϚτϞͳσʔλ”, “03-1234-5678”, “03-1234-5678”}, {“ϝΞυೖͬͯΔߥΕͨσʔλ”, “TEL:03-1234-9876 email:
[email protected]
”, “03-1234-9876”}, } for _, test := range testCases { assert.Equal(t, Cleansing(test.in), test.want, test.desc) } } ͜͜ʹ lߥΕͨσʔλzͱ l·͍͠σʔλzͷ ςετέʔεΛՃ͑ͯɺ 5%%ͷαΠΫϧΛճ͢
29 https://www.slideshare.net/hironoriwashizaki/ess2018-112258214 2017 σʔλ ΫϨϯδϯά ͜ͷαΠΫϧΛ ճ͢
͜ͷಓͷΓͰσʔλΫϨϯδϯά ϓϩάϥϜΛҭͯͯʜ
ੳͰ͖Δɺ͖Ε͍ͳσʔλ ͜ͷಓͷΓͰߴ͍ਫ਼ͷ σʔληοτΛ࡞Δ
! mecompany Inc. 32 / -0 / -0
" 201898 લॲཧରσʔλ ԯ߲ ʢेສϨίʔυ ºສ߲ʣ %'+.* +.*,.) ࠃ๏ਓ ສϨίʔυ ެతػ͔ؔΒ։ࣔ͞Ε͍ͯΔσʔλΛ౷߹͠ l͑Δzσʔλʹ͢ΔͨΊɺલॲཧ͕ඞཁ #( $& +.*,.) ଞ͔ࣾΒߪೖͨ͠σʔλϕʔε ԯϨίʔυ σʔλ։ൃͷݱ
33 େྔͷσʔλΫϨϯδϯάͰ ॲཧ݁ՌΛ֬ೝ͢ΔͨΊʹ • খ͍͞σʔληοτͰ ϑΟʔυόοΫαΠΫϧΛখ͘͞ճ͢ • ΑΓେ͖͍σʔληοτΛ૬खʹ ؒόονͰ$*Λճ͢ •
l໊دͤzՄࢹԽγεςϜ·ͰσʔλΛ σϦόϦͯ͠ϑΟʔυόοΫαΠΫϧΛ ճ͢
201898 34 σʔλΫϨϯδϯάΛ ͖ͬͪΓΔͱԿ͕ඒຯ͍͔͠ • දهΏΕΛഉআͯ͠NFDBCͰ ͔ͪॻ͖͍͢͠σʔλʹͳΔ • ༨ͳจࣈྻΛഉআͯ͠ɺଞͷ σʔληοτͱܨ͛ΒΕΔ
• ΧςΰϦ͚ϥϕϦϯά͕͖Ε͍ʹ Ͱ͖ͯɺσʔλੳਫ਼্͕͕Δ
201898 35 ػցֶशͰ ਫ਼େࣄ Ͱ͢ΑͶ
36 https://www.slideshare.net/hironoriwashizaki/ess2018-112258214 σʔλͷ࡞ΓࠐΈɺػցֶशͷΠϯϑϥ ैདྷͷΤϯδχΞϦϯά͕
37 https://www.slideshare.net/hironoriwashizaki/ess2018-112258214 ػցֶशϞσϧɺσʔλ ϑΟʔυόοΫΛճͯ͠ҭͯΔ
38 https://www.slideshare.net/hironoriwashizaki/ess2018-112258214 ͜ͷ͋ͨΓͷ lεϚʔτΤεΠʔzΛ ཤम͢Δͱ͍͍ͱࢥ͍·͢ ʢࢲ͕ཤम͍ͨ͠ʣ
mecompany Inc. 39 ެతͳެ։ใ͔Β z͑Δzσʔλʹ্ཱͯ͛ͨ ҩྍػؔɾༀہɾհޢࣄۀॴͷࢪઃɾ๏ਓσʔλϕʔε ϥΠηϯεͷൢചɾϝϯςφϯεΛߦ͍ͬͯ·͢ɻ 201898 σʔλ։ൃͷݱ
40 • σʔλͦͷͷͷ࣭Λ Ҿ্͖͛ΔͨΊʹ σʔλΫϨϯδϯάΛ͢Δ • σʔλΫϨϯδϯάΛ ͢ΔͨΊʹϓϩάϥϜΛॻ͘ • σʔλΫϨϯδϯάϓϩάϥϜͷ
࣭Λ୲อ͢ΔͨΊʹ ςετίʔυॻ͘ z͑ΔzσʔλΛཱͯΔͨΊʹ
41 ۩ମతͳऔΓΈ EC UFDITIPXDBTF %ηογϣϯ lຊൃʂ.Z42-6%'ͱ(PݴޠͰ ࡞ΔϏοάσʔλલॲཧج൫z Ͱ͓͠·͢
https://www.db-tech-showcase.com/dbts/tokyo
42 ۩ମతͳऔΓΈ r $PEF GPS +BQBO 4VNNJU ৽ׁ lόουΦʔϓϯσʔλڙཆࣉz
Ͱ͓͠·͢ https://summit2018.code4japan.org/session/210/ ։ࣔՄೳͳόουσʔλͷߘ ͓͓ͪͯ͠Γ·͢
201898 43 ݁ہͷͱ͜Ζ
201898 44 ػցֶश ΞδϟΠϧ։ൃ ͕zલఏz
45 5%% ͠ͳ͍Ͱ z"*z ͱԿࣄͩ 91ࡇΓ
201898 46 lΞδϟΠϧ։ൃ ·ͩͬͯͳ͍z
201898 47 ͋ͨͬͯ͠ ͍·͞ο
48 91ͱ ιʔγϟϧνΣϯδ Ͱ͋Δ UPCFDPOUJOVFˠ EC UFDITIPXDBTF