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.2k
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
150
Data preprocessing for MachineLearning/BI by Golang and MySQL UDF
dproject21
1
810
高精度名寄せシステムを支える テキスト処理 (の、ほんのさわり)
dproject21
3
2.3k
ゼロから作るDeepLearning 第7章前半ざっくりまとめ
dproject21
0
940
ゼロから作るDeepLearning 第5章 誤差逆伝播法による重み更新を追ってみる
dproject21
0
1k
ゼロから作るDeepLearning 第6章ざっくりまとめ
dproject21
2
1.3k
Other Decks in Programming
See All in Programming
Scala アプリケーションのビルドを改善してデプロイ時間を 1/4 にした話 | How I improved the build of my Scala application and reduced deployment time by 4x
nomadblacky
1
180
Prolog入門
qnighy
4
1k
Shinjuku.rb#95:心の技術書紹介
free_world21
1
110
Google Sign-inの移行から始めるCredential Manager活用
clockvoid
0
220
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
1
910
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
540
Ebitengineの1vs1ゲーム WebRTCの活用
ponyo877
0
380
Developer Joy == Developer Productivity (really!)
hollycummins
1
180
Method Swizzlingを行うライブラリにおけるマルチモジュール設計
yoshikma
0
120
connect-go で面倒くささと戦う / 2024-08-27 #newmo_layerx_go
izumin5210
2
640
Amazon Neptuneで始める初めてのグラフDB ー グラフDBを使う意味を考える ー
satoshi256kbyte
2
260
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
270
Featured
See All Featured
Building Your Own Lightsaber
phodgson
101
6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
326
21k
Optimizing for Happiness
mojombo
375
69k
How to train your dragon (web standard)
notwaldorf
85
5.6k
Debugging Ruby Performance
tmm1
72
12k
The Language of Interfaces
destraynor
153
23k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Become a Pro
speakerdeck
PRO
22
4.9k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.5k
For a Future-Friendly Web
brad_frost
174
9.3k
Teambox: Starting and Learning
jrom
131
8.7k
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