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
Refactoring
Search
Eko Kurniawan Khannedy
June 26, 2019
Technology
0
330
Refactoring
Refactoring - JVM Meetup 19 at DOKU
Eko Kurniawan Khannedy
June 26, 2019
Tweet
Share
More Decks by Eko Kurniawan Khannedy
See All by Eko Kurniawan Khannedy
Monolith to Event-Driven Microservices
khannedy
1
260
Multi-Datacenter Kafka at Blibli.com
khannedy
2
1.5k
QA Tools - Research and Development
khannedy
0
280
Reactive Puzzle
khannedy
0
200
Event-Driven Architecture
khannedy
1
1.9k
Resilience Engineering with Hystrix and Spring
khannedy
1
560
Mocking for Unit Test using Mockito
khannedy
1
340
Centralized Configuration using Consul and Spring Cloud
khannedy
2
700
Validation Best Practice
khannedy
2
1.3k
Other Decks in Technology
See All in Technology
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
認知戦の理解と、市民としての対抗策
hogehuga
0
390
コスト削減の基本の「キ」~ コスト消費3大リソースへの対策 ~
smt7174
2
230
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
6
660
Browser
recruitengineers
PRO
5
1.2k
広島銀行におけるAWS活用の取り組みについて
masakimori
0
150
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
25
7.9k
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
670
Webアクセシビリティ入門
recruitengineers
PRO
2
830
Product Management Conference -AI時代に進化するPdM-
kojima111
0
240
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
1
300
Goでマークダウンの独自記法を実装する
lag129
0
230
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
Music & Morning Musume
bryan
46
6.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
GraphQLとの向き合い方2022年版
quramy
49
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Being A Developer After 40
akosma
90
590k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
It's Worth the Effort
3n
187
28k
The Invisible Side of Design
smashingmag
301
51k
Code Reviewing Like a Champion
maltzj
525
40k
GitHub's CSS Performance
jonrohan
1031
460k
Transcript
Refactoring Eko Kurniawan Khannedy
Tentang Pemateri • Eko Kurniawan Khannedy • Senior Principal RnD
Engineer di Blibli.com • 10 Tahun Pengalaman Kerja dan Tetap Coding
Materi yang akan dibahas • Apa itu Refactoring? • Code
Refactoring • Java Project Refactoring • Software Architecture Refactoring
Apa itu Refactoring?
Clean Code vs Refactoring?
Clean Code vs Refactoring vs Rewrite?
Clean Code vs Refactoring vs Rewrite vs Revamp?
Code Refactoring Eko Kurniawan Khannedy
Udah baca buku Refactoring? Karya Om Martin
https://refactoring.guru
Kenapa butuh Refactoring?
Broken Window Theory - Pragmatic Programmer
Cara Mengotomatisasi Refactoring?
Static Code Analysis
None
None
Java Project Refactoring Eko Kurniawan Khannedy
Struktur Project versi Males • /pom.xml • /src/main/... • /src/test/...
Struktur Project versi Mainstream • /pom.xml • /module-entity/… • /module-repository/…
• /module-service/… • /module-controller/…
Struktur Project versi Agak Mainstream • /pom.xml • /module-entity/… •
/module-repository/… • /module-service/… • /module-service-impl/… • /module-outbond/… • /module-outbond-impl/… • /module-controller/… • /module-web-model/... • /module-sdk-client/…
Struktur Project versi Anti Mainstream
Software Architecture Refactoring Eko Kurniawan Khannedy
Monolith vs Microservices?
Mono Repo vs Multiple Repo?
API Driven vs Message Driven?
Blocking vs Reactive?
Mengerti kan maksudnya?
None
Dimulai dengan Monolith, Blocking, dan Mono Repo
Tahapan Architecture Refactoring MONOLITH CQRS MICROSERVICE API DRIVEN MESSAGE DRIVEN
https://martinfowler.com/bliki/CQRS.html
Bagaimana jika mendapat Legacy Project?
Integrasi dengan Legacy Project LEGACY APP LEGACY DATABASE https://martinfowler.com/bliki/StranglerFigApplication.html STRANGLER
APP
Sekian dan Terima Kasih