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.5k
JSTQB Advanced Level 模擬問題作成方法 / methodology to questions creation for JSTQB advanced level
dproject21
3
1.4k
試験に絶対出ない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
180
Data preprocessing for MachineLearning/BI by Golang and MySQL UDF
dproject21
1
890
高精度名寄せシステムを支える テキスト処理 (の、ほんのさわり)
dproject21
3
2.5k
ゼロから作るDeepLearning 第7章前半ざっくりまとめ
dproject21
0
1k
ゼロから作るDeepLearning 第5章 誤差逆伝播法による重み更新を追ってみる
dproject21
0
1.1k
ゼロから作るDeepLearning 第6章ざっくりまとめ
dproject21
2
1.3k
Other Decks in Programming
See All in Programming
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
3
980
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
2
570
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
580
Fluent UI Blazor 5 (alpha)の紹介
tomokusaba
0
140
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
JavaOne 2025: Advancing Java Profiling
jbachorik
1
310
複雑なフォームと複雑な状態管理にどう向き合うか / #newt_techtalk vol. 15
izumin5210
4
3k
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
500
PHPによる"非"構造化プログラミング入門 -本当に熱いスパゲティコードを求めて- #phperkaigi
o0h
PRO
0
1.1k
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
240
AIエージェントを活用したアプリ開発手法の模索
kumamotone
1
740
バックエンドNode.js × フロントエンドDeno で開発して得られた知見
ayame113
5
1.3k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Navigating Team Friction
lara
184
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Faster Mobile Websites
deanohume
306
31k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Producing Creativity
orderedlist
PRO
344
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
177
52k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Agile that works and the tools we love
rasmusluckow
328
21k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Designing for humans not robots
tammielis
250
25k
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