2017-09-16 (Sat)

XP 2017

presented by @yuzutas0
Sho Yokoyama @yuzutas0




●
●
●


↓






↓


19 
 10 

4 120 2.8


1 1 x
●
●
→
1.
2.
3.
4.
5.
1.
2.
3.
4.
5.


↓
↓
PDS
AP
AP
AP
WebAPI
19
WebAPI
50+ 3500+ tables

100,000+ columns
‘00 SEO 





→ WebAPI → Solr
1 
 1 



6 / 27
Blocker
❌
1.
2.
3.
4.
5.
●


●
● Excel 

●
● Excel 

●
● TODO 

“ ” “ ” 

●
→ KISS →
“.txt” for Lean
×

=
×

=
WIP
TODO
TODO
TODOTODOTODO
● 19
● 1
●
●
● 1 1-2
●
● 1
●




Go
Yes
No
● → 

● 1 “ ” “ ”
0.5 1 2 …
● 1
0.5 1 2 3 5 8
●
● 1
1 2 4
2 → 3 6 1
●
“ ” 1 / 4
● - “ ” “ ”
● TODO - 1 20
“ ” 2 / 4
● → “ ”
●
●
=
“ ” 3 / 4

 

API


→
- Done
“ ” 4 / 4
API 1
● 1
● → 1
2 / 120
-
●
Before
After 1
60min → 5min
●
● 

→

 



↓
“ ” 

↓
” ”
●


●
PullPull
1
19
WEB
→
+α →

19 
 10 

4 120 2.8


1 1 x
●
●
→
1.
2.
3.
4.
5.
WebAPI 

1
1
● 3
3 

●
TDD
-
PullRED GREEN
TDD
-
PullRED GREEN


No 



No 

→ 30
● Solr 

● Apache
● 

●
● 1 

●
● 

●
- …… ……
● 

● →
TDD
-
PullRED GREEN
→ No
→
→ No
→
→ No
→
……
→ No
→
1 →
●
●
1 →


● 

●
→


● JMeter 

●


● HTTP 

●
TDD
-
PullRED GREEN
●
●
● →
●
1on1
●
● 30 1on1
→
Q1. by
Q2. by
→ 1 by
→
Q3. by


→ by
→
TDD
-
PullRED GREEN
● 3
3 

●


“ ” “ ”
↓
↓
↓

19 
 10 

4 120 2.8


1 1 x
●
●
→
1.
2.
3.
4.
5.
50+ 3500+ tables

100,000+ columns
“ ” “ ”
-
Git / Gitlab 



SonarQube 



📚
🚜
🎨
📚 API
● 

●
●
● JSON Swagger 

● 

●
📚
● Excel
if return
● Excel
●
●
if …
if …
if …
return;
else if …
if …
return;
# validation
if …
return;
# main logic
……
……
No
Docs
📚
📚
🚜
🎨
🚜
→ API OK
WEB
🚜 NG


WEB
↓ 

🚜
● 

●
View
View
View
Controller
Controller
Controller
Model
🚜
AB
private xxx testAB(Hoge hoge) {
……
}
public String mainController() {
……
testAB(hoge);
……
}
🚜


📚
🚜
🎨
🎨 “ ”
↓
Better
↓
🎨 “ ”
→ → →


🎨


→ 

→ XX 

→
🎨
CommonClass →


“ ” “ ”
“ ”


→



19 
 10 

4 120 2.8


1 1 x
●
●
→
1.
2.
3.
4.
5.
6 / 27
Blocker
❌
43 / 43
x 7.16
6
43
19 120 / 4
2.8

 19 
 10 

4 120 2.8


1 1 x
1/ 2
1. 

2. 

3.
1 1
2 / 2


↓

●
●
→
presented by @yuzutas0

新米エンジニアがレガシーシステムを死に物狂いでグロースハックした話 #xpjug