SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
2016Volodymyr Tsukur @ JEEConf
hot and spicy Java
with Lombok. live ▶︎
REST
Volodymyr Tsukur partner @
software
engineering
manager @
flushdia vtsukur
program
committee @
boilerplate -
code included in
many places with
little or no changes
whiskey
party!
SHOW TIME !
what is
Lombok?
it is an island
Lombok = chili
Red Hot Chilli JAVA!
.java .class
javac
.java .class
javac
magic?
.java
.class
javac
AST
.java
.class
javac
@
@
-cp
AST
@
@
@
.java
.class
javac
@
@
-cp
AST
@
@
@
.java
.class
javac
AST
build tool
does NOT matter,
compilation does!
LET’S DRINK
CODE IT !
@Cleanup
@Synchronized
@SneakyThrows
less boilerplate
easy to use
extensible
min debug impact
refactoring
WYSIWYG
extensions’ support
easy to misuse
use delombok
design goes first
too much magic is bad
Google Auto
https://github.com/google/auto
alternatives?
drinking time!
References
• https://github.com/rzwitserloot/lombok
• https://groups.google.com/forum/#!forum/project-lombok
• https://www.parleys.com/tutorial/project-lombok-boilerplate-busters
• http://www.ibm.com/developerworks/library/j-lombok/
• http://jnb.ociweb.com/jnb/jnbJan2010.html
• http://royvanrijn.com/blog/2016/03/adding-var-val-to-java/
• http://blog.dripstat.com/type-inference-in-java-jep-286-can-be-disastrous/
https://github.com/vtsukur/lombok-whiskey-demo
Images
1. Project Lombok logo: https://github.com/rzwitserloot/lombok/blob/master/src/installer/lombok/installer/lombok.png
2. Java logo: http://www.cloudkafka.com/images/java.svg
3. Twitter icon: https://g.twimg.com/dev/documentation/image/Twitter_logo_blue_48.png
4. GitHub icon: https://github.com/favicon.ico
5. GitHub icon: https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark.png
6. Ciklum logo: https://www.ciklum.com/wp-content/themes/theme/img/logo.png
7. Zoomdata logo: https://www.ciklum.com/wp-content/uploads/2015/07/zPVBqQWY8m0i2jXDCG0v7A-Logo_-_Zoomdata.png
8. Easyhunt logo: http://easyhunt.com/static/images/easyhunt_logo.png
9. Frost Digital logo: http://digitalagencynetwork.com/wp-content/uploads/2015/09/frost-digital-mobile-agency-stockholm-sweden.png
10. JEEConf logo: http://jeeconf.com/wp-content/themes/jeeconf/images/jee-logo.png
11. Code wallpaper: http://www.joshmatthews.net/cusec16/pictures/shutterstock_124758646-copy.jpg
12. Wikipedia logo: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Wikipedia-word.svg/174px-Wikipedia-word.svg.png
13. Whiskey party: http://sdcrawl.com/wp-content/uploads/2015/09/0Y2A9753_2-1024x512.jpg
14. College party: http://www.slate.com/content/dam/slate/articles/business/adreportcard/111007_brandbox_americanpie.jpg.CROP.rectangle3-large.jpg
15. Whiskey collection: http://blog.lesroches.edu/wp-content/uploads/Whiskey.jpg
16. Lombok Island wallpaper: https://baiqrosmala.files.wordpress.com/2015/05/lombok-beach-21-hd-images-wallpapers.jpg
17. Chili: https://sophieholic.files.wordpress.com/2011/08/img_7584.jpg
18. Binary tree icon: http://icons.iconarchive.com/icons/custom-icon-design/flatastic-5/512/Binary-tree-icon.png
19. Processor icon: http://www.free-icons-download.net/images/processor-icon-61552.png
20. Right arrow arc icon: http://www.iconarchive.com/download/i95473/iconsmind/outline/Arrow-To.ico
21. File icon: https://cdn2.iconfinder.com/data/icons/windows-8-metro-style/512/document.png
22. Binary file icon: http://icons.iconarchive.com/icons/mart/glaze/128/binary-icon.png
23. Ant logo: https://ant.apache.org/manual/images/ant_logo_large.gif
24. SBT logo: https://raw.githubusercontent.com/1science/docker-sbt/latest/logo.png
25. Ivy logo: http://ant.apache.org/ivy/images/ivy-lierre.png
26. Gradle logo: http://gradle.wpengine.netdna-cdn.com/wp-content/uploads/2015/10/gradle-logo-horizontal2.svg
27. Maven logo: https://maven.apache.org/images/maven-logo-black-on-white.png
28. Eclipse logo: https://eclipse.org/artwork/images/v2/logo-800x188.png
29. IntelliJ IDEA logo: based on the screenshot of IntelliJ IDEA 15 application icon in Finder
30. Netbeans logo: https://upload.wikimedia.org/wikipedia/en/thumb/0/01/NetBeans.svg/1280px-NetBeans.svg.png
31. Springbank wallpaper: http://www.whiskyintelligence.com/wp-content/uploads/2013/10/Royal_SpecialLabelWhisky_SpringbankCaskRoom_MR.jpg
32. Jack Daniel's: https://s-media-cache-ak0.pinimg.com/736x/ae/a5/c7/aea5c7a814222e11f383f8f44424b527.jpg

Weitere ähnliche Inhalte

Was ist angesagt?

Django On Jython (for Portland and Boulder Python user groups presentations)
Django On Jython (for Portland and Boulder Python user groups presentations)Django On Jython (for Portland and Boulder Python user groups presentations)
Django On Jython (for Portland and Boulder Python user groups presentations)
Leonardo Soto
 
Use Ruby to Write (and Test) Your Next Android App
Use Ruby to Write (and Test) Your Next Android AppUse Ruby to Write (and Test) Your Next Android App
Use Ruby to Write (and Test) Your Next Android App
Joel Byler
 
Presentación rs232 java
Presentación rs232 javaPresentación rs232 java
Presentación rs232 java
John Rojas
 

Was ist angesagt? (20)

Internal workshop react-js-mruiz
Internal workshop react-js-mruizInternal workshop react-js-mruiz
Internal workshop react-js-mruiz
 
Django On Jython (for Portland and Boulder Python user groups presentations)
Django On Jython (for Portland and Boulder Python user groups presentations)Django On Jython (for Portland and Boulder Python user groups presentations)
Django On Jython (for Portland and Boulder Python user groups presentations)
 
Jsp
JspJsp
Jsp
 
Why don't you Groovy?
Why don't you Groovy?Why don't you Groovy?
Why don't you Groovy?
 
Python for blackbox testers
Python for blackbox testersPython for blackbox testers
Python for blackbox testers
 
Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016Experiences building apps with React Native @DomCode 2016
Experiences building apps with React Native @DomCode 2016
 
Towards component based web UI with ReactJS
Towards component based web UI with ReactJSTowards component based web UI with ReactJS
Towards component based web UI with ReactJS
 
Use Ruby to Write (and Test) Your Next Android App
Use Ruby to Write (and Test) Your Next Android AppUse Ruby to Write (and Test) Your Next Android App
Use Ruby to Write (and Test) Your Next Android App
 
Introduction to holmium
Introduction to holmiumIntroduction to holmium
Introduction to holmium
 
Presentación rs232 java
Presentación rs232 javaPresentación rs232 java
Presentación rs232 java
 
Softshake 2013 - Let's take this offline
Softshake 2013 - Let's take this offlineSoftshake 2013 - Let's take this offline
Softshake 2013 - Let's take this offline
 
Daniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého SchizmaDaniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého Schizma
 
Using Ruby in Android Development
Using Ruby in Android DevelopmentUsing Ruby in Android Development
Using Ruby in Android Development
 
Real World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVCReal World AngularJS recipes: beyond TodoMVC
Real World AngularJS recipes: beyond TodoMVC
 
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
Daniel Steigerwald: EsteJS - javascriptové aplikace robusně, modulárně a komf...
 
Puppeteer: Getting Started
Puppeteer: Getting StartedPuppeteer: Getting Started
Puppeteer: Getting Started
 
Intro to React
Intro to ReactIntro to React
Intro to React
 
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)Selenium & PHPUnit made easy with Steward (Berlin, April 2017)
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)
 
Presentation on java (8)
Presentation on java (8)Presentation on java (8)
Presentation on java (8)
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 

Andere mochten auch

Andere mochten auch (13)

Reactive Thinking in Java
Reactive Thinking in JavaReactive Thinking in Java
Reactive Thinking in Java
 
Code generation with javac plugin
Code generation with javac pluginCode generation with javac plugin
Code generation with javac plugin
 
Get along with JHipster
Get along with JHipsterGet along with JHipster
Get along with JHipster
 
Implement your own profiler with blackjack and fun
Implement your own profiler with blackjack and funImplement your own profiler with blackjack and fun
Implement your own profiler with blackjack and fun
 
What Mr. Spock would possibly say about modern unit testing: pragmatic and em...
What Mr. Spock would possibly say about modern unit testing: pragmatic and em...What Mr. Spock would possibly say about modern unit testing: pragmatic and em...
What Mr. Spock would possibly say about modern unit testing: pragmatic and em...
 
CompletableFuture уже здесь
CompletableFuture уже здесьCompletableFuture уже здесь
CompletableFuture уже здесь
 
мифы о спарке
мифы о спарке мифы о спарке
мифы о спарке
 
Hibernate, how the magic is really done
Hibernate, how the magic is really doneHibernate, how the magic is really done
Hibernate, how the magic is really done
 
Spring Boot. Boot up your development. JEEConf 2015
Spring Boot. Boot up your development. JEEConf 2015Spring Boot. Boot up your development. JEEConf 2015
Spring Boot. Boot up your development. JEEConf 2015
 
WILD microSERVICES v2 (JEEConf Edition)
WILD microSERVICES v2 (JEEConf Edition)WILD microSERVICES v2 (JEEConf Edition)
WILD microSERVICES v2 (JEEConf Edition)
 
Java EE 8: What Servlet 4.0 and HTTP/2 mean to you
Java EE 8: What Servlet 4.0 and HTTP/2 mean to youJava EE 8: What Servlet 4.0 and HTTP/2 mean to you
Java EE 8: What Servlet 4.0 and HTTP/2 mean to you
 
Do we need JMS in 21st century?
Do we need JMS in 21st century?Do we need JMS in 21st century?
Do we need JMS in 21st century?
 
Introduction to Akka-Streams
Introduction to Akka-StreamsIntroduction to Akka-Streams
Introduction to Akka-Streams
 

Ähnlich wie Hot and spicy Java with Lombok. Live!

Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015
Christian Heilmann
 

Ähnlich wie Hot and spicy Java with Lombok. Live! (20)

Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015Innovation vs. Impatience - keynote at JSOpenDay London 2015
Innovation vs. Impatience - keynote at JSOpenDay London 2015
 
Flask
FlaskFlask
Flask
 
Let’s be productive with spring boot
Let’s be productive with spring bootLet’s be productive with spring boot
Let’s be productive with spring boot
 
Play Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level OverviewPlay Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level Overview
 
From React to React Native
From React to React NativeFrom React to React Native
From React to React Native
 
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...Building a private CI/CD pipeline with Java and Docker in the cloud as presen...
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...
 
Integrating react in django while staying sane and happy
Integrating react in django while staying sane and happyIntegrating react in django while staying sane and happy
Integrating react in django while staying sane and happy
 
JavaScript - The Universal Platform?
JavaScript - The Universal Platform?JavaScript - The Universal Platform?
JavaScript - The Universal Platform?
 
Jquery react angular
Jquery react angularJquery react angular
Jquery react angular
 
Front-end for Java developers Devoxx France 2018
Front-end for Java developers Devoxx France 2018Front-end for Java developers Devoxx France 2018
Front-end for Java developers Devoxx France 2018
 
Startup and Rapid web development
Startup and Rapid web developmentStartup and Rapid web development
Startup and Rapid web development
 
Letter to a Junior Developer: The Engineering Side of Programming
Letter to a Junior Developer: The Engineering Side of ProgrammingLetter to a Junior Developer: The Engineering Side of Programming
Letter to a Junior Developer: The Engineering Side of Programming
 
A Beginner's Guide to How to Code in Java
A Beginner's Guide to How to Code in JavaA Beginner's Guide to How to Code in Java
A Beginner's Guide to How to Code in Java
 
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
 
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
 
JavaScript Crash Course | Edureka
JavaScript Crash Course | EdurekaJavaScript Crash Course | Edureka
JavaScript Crash Course | Edureka
 
Ionic intro + tips
Ionic intro + tipsIonic intro + tips
Ionic intro + tips
 
The Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureThe Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from Clojure
 

Mehr von Vladimir Tsukur

Abstraction Classes in Software Design
Abstraction Classes in Software DesignAbstraction Classes in Software Design
Abstraction Classes in Software Design
Vladimir Tsukur
 
Acceptance Testing of Web UI
Acceptance Testing of Web UIAcceptance Testing of Web UI
Acceptance Testing of Web UI
Vladimir Tsukur
 
REpresentational State Transfer
REpresentational State TransferREpresentational State Transfer
REpresentational State Transfer
Vladimir Tsukur
 

Mehr von Vladimir Tsukur (12)

GraphQL APIs in Scala with Sangria
GraphQL APIs in Scala with SangriaGraphQL APIs in Scala with Sangria
GraphQL APIs in Scala with Sangria
 
GraphQL - APIs The New Way
GraphQL - APIs The New WayGraphQL - APIs The New Way
GraphQL - APIs The New Way
 
Hypermedia APIs and HATEOAS / Wix Engineering
Hypermedia APIs and HATEOAS / Wix EngineeringHypermedia APIs and HATEOAS / Wix Engineering
Hypermedia APIs and HATEOAS / Wix Engineering
 
Hypermedia APIs and HATEOAS
Hypermedia APIs and HATEOASHypermedia APIs and HATEOAS
Hypermedia APIs and HATEOAS
 
Building Awesome API with Spring
Building Awesome API with SpringBuilding Awesome API with Spring
Building Awesome API with Spring
 
From CRUD to Hypermedia APIs with Spring
From CRUD to Hypermedia APIs with SpringFrom CRUD to Hypermedia APIs with Spring
From CRUD to Hypermedia APIs with Spring
 
Together Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with HypermediaTogether Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with Hypermedia
 
Take a REST!
Take a REST!Take a REST!
Take a REST!
 
Law of Demeter & Objective Sense of Style
Law of Demeter & Objective Sense of StyleLaw of Demeter & Objective Sense of Style
Law of Demeter & Objective Sense of Style
 
Abstraction Classes in Software Design
Abstraction Classes in Software DesignAbstraction Classes in Software Design
Abstraction Classes in Software Design
 
Acceptance Testing of Web UI
Acceptance Testing of Web UIAcceptance Testing of Web UI
Acceptance Testing of Web UI
 
REpresentational State Transfer
REpresentational State TransferREpresentational State Transfer
REpresentational State Transfer
 

Kürzlich hochgeladen

Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 

Kürzlich hochgeladen (20)

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Introduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdfIntroduction to Data Visualization,Matplotlib.pdf
Introduction to Data Visualization,Matplotlib.pdf
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 

Hot and spicy Java with Lombok. Live!

  • 1. 2016Volodymyr Tsukur @ JEEConf hot and spicy Java with Lombok. live ▶︎
  • 2. REST Volodymyr Tsukur partner @ software engineering manager @ flushdia vtsukur program committee @
  • 3. boilerplate - code included in many places with little or no changes
  • 5.
  • 8. it is an island
  • 10. Red Hot Chilli JAVA!
  • 17. build tool does NOT matter, compilation does!
  • 18.
  • 21. less boilerplate easy to use extensible min debug impact
  • 23. use delombok design goes first too much magic is bad
  • 26. References • https://github.com/rzwitserloot/lombok • https://groups.google.com/forum/#!forum/project-lombok • https://www.parleys.com/tutorial/project-lombok-boilerplate-busters • http://www.ibm.com/developerworks/library/j-lombok/ • http://jnb.ociweb.com/jnb/jnbJan2010.html • http://royvanrijn.com/blog/2016/03/adding-var-val-to-java/ • http://blog.dripstat.com/type-inference-in-java-jep-286-can-be-disastrous/ https://github.com/vtsukur/lombok-whiskey-demo
  • 27. Images 1. Project Lombok logo: https://github.com/rzwitserloot/lombok/blob/master/src/installer/lombok/installer/lombok.png 2. Java logo: http://www.cloudkafka.com/images/java.svg 3. Twitter icon: https://g.twimg.com/dev/documentation/image/Twitter_logo_blue_48.png 4. GitHub icon: https://github.com/favicon.ico 5. GitHub icon: https://assets-cdn.github.com/images/modules/logos_page/GitHub-Mark.png 6. Ciklum logo: https://www.ciklum.com/wp-content/themes/theme/img/logo.png 7. Zoomdata logo: https://www.ciklum.com/wp-content/uploads/2015/07/zPVBqQWY8m0i2jXDCG0v7A-Logo_-_Zoomdata.png 8. Easyhunt logo: http://easyhunt.com/static/images/easyhunt_logo.png 9. Frost Digital logo: http://digitalagencynetwork.com/wp-content/uploads/2015/09/frost-digital-mobile-agency-stockholm-sweden.png 10. JEEConf logo: http://jeeconf.com/wp-content/themes/jeeconf/images/jee-logo.png 11. Code wallpaper: http://www.joshmatthews.net/cusec16/pictures/shutterstock_124758646-copy.jpg 12. Wikipedia logo: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Wikipedia-word.svg/174px-Wikipedia-word.svg.png 13. Whiskey party: http://sdcrawl.com/wp-content/uploads/2015/09/0Y2A9753_2-1024x512.jpg 14. College party: http://www.slate.com/content/dam/slate/articles/business/adreportcard/111007_brandbox_americanpie.jpg.CROP.rectangle3-large.jpg 15. Whiskey collection: http://blog.lesroches.edu/wp-content/uploads/Whiskey.jpg 16. Lombok Island wallpaper: https://baiqrosmala.files.wordpress.com/2015/05/lombok-beach-21-hd-images-wallpapers.jpg 17. Chili: https://sophieholic.files.wordpress.com/2011/08/img_7584.jpg 18. Binary tree icon: http://icons.iconarchive.com/icons/custom-icon-design/flatastic-5/512/Binary-tree-icon.png 19. Processor icon: http://www.free-icons-download.net/images/processor-icon-61552.png 20. Right arrow arc icon: http://www.iconarchive.com/download/i95473/iconsmind/outline/Arrow-To.ico 21. File icon: https://cdn2.iconfinder.com/data/icons/windows-8-metro-style/512/document.png 22. Binary file icon: http://icons.iconarchive.com/icons/mart/glaze/128/binary-icon.png 23. Ant logo: https://ant.apache.org/manual/images/ant_logo_large.gif 24. SBT logo: https://raw.githubusercontent.com/1science/docker-sbt/latest/logo.png 25. Ivy logo: http://ant.apache.org/ivy/images/ivy-lierre.png 26. Gradle logo: http://gradle.wpengine.netdna-cdn.com/wp-content/uploads/2015/10/gradle-logo-horizontal2.svg 27. Maven logo: https://maven.apache.org/images/maven-logo-black-on-white.png 28. Eclipse logo: https://eclipse.org/artwork/images/v2/logo-800x188.png 29. IntelliJ IDEA logo: based on the screenshot of IntelliJ IDEA 15 application icon in Finder 30. Netbeans logo: https://upload.wikimedia.org/wikipedia/en/thumb/0/01/NetBeans.svg/1280px-NetBeans.svg.png 31. Springbank wallpaper: http://www.whiskyintelligence.com/wp-content/uploads/2013/10/Royal_SpecialLabelWhisky_SpringbankCaskRoom_MR.jpg 32. Jack Daniel's: https://s-media-cache-ak0.pinimg.com/736x/ae/a5/c7/aea5c7a814222e11f383f8f44424b527.jpg