SlideShare una empresa de Scribd logo
1 de 66
Descargar para leer sin conexión
@theNeomatrix369
Are you pairing with tools to
improve code quality ?
Leaning on tools & techniques to improve code quality
@theNeomatrix369
About me
Mani (@theNeomatrix369)
● LJC Associate
● Adopt OpenJDK and JSR (JCP Member)
● blog: http://neomatrix369.wordpress.com
● github: http://github.com/neomatrix369
● bitbucket: https://bitbucket.org/neomatrix369
Avatar: courtesy of Recworks: Dan Smallman @dsrecworks
@theNeomatrix369
- I’m only sharing my learning experience - YMMV !
- Experimental yet practical methods
- Learning via validating and verifying
- A silver bullet to solve all problems
- One shirt fits all solution
- Not about any specific product
Disclaimer
@theNeomatrix369
Agenda
- How it all started for me...
- First steps to learning to use these tools...
- Inventions
- Observations
- Introspection
- Discoveries
- Conclusion
@theNeomatrix369
How it all started for me...
@theNeomatrix369
My first computer - 8088 processor
(8-bit processor)
My first game - Digger (not PacMan)
Mid-1990s
@theNeomatrix369
Between 2000-2010
Career started as a hobby - years later become
a profession
@theNeomatrix369
Early 2010
Desire…more
knowledge,
experience & skills
@theNeomatrix369
Communities
...met dev. communities in London and other parts of Europe!
LSCC
@theNeomatrix369
Sowing of seeds...
@theNeomatrix369Source: SonarQube (aka Sonar)
What does code quality mean to you ?
Is it the seven axes of quality ?
@theNeomatrix369
How do we improve quality ?
@theNeomatrix369
Pair programming is good...
@theNeomatrix369
...but not always available...
@theNeomatrix369
Then I had an idea...
@theNeomatrix369
Why not use tools...
@theNeomatrix369
First steps to learning to
use these tools...
@theNeomatrix369
Treemaps are awesome...
10,000 feet view !
@theNeomatrix369
Dashboard - my own Quality metrics
@theNeomatrix369
Issue violations & Duplications
Checkstyle, Findbugs, PMD rules
@theNeomatrix369
What is Cyclomatic
Complexity
or
Complexity ?
@theNeomatrix369
In simple words, it is the
number of pathways
due to decision logic in a software
program.
See Wikipedia definition
@theNeomatrix369
Complexity See Definitions glossary
@theNeomatrix369
Refactoring saves the day...
Higher complexity (CCI: 4)
void doSomethingBasedOnCurrentState( int state ) {
switch ( state ) {
case INACTIVE: //doSomethingForInActiveState(); break;
case ACTIVE: //doSomethingForActiveState(); break;
case UNKNOWN: //doSomethingForUnknownState(); break;
}
}
Lower complexity (CCI: 1)
public enum CurrentState {
INACTIVE { void doSomething() {} },
ACTIVE { void doSomething() {} },
UNKNOWN { void doSomething() {} };
abstract void doSomething();
}
CCI Source: SonarQube (Complexity scores)
@theNeomatrix369
Refactoring resources...
@theNeomatrix369
Test coverage -
unit & integration tests
Hint: EclEmma, JaCoCo and IntelliJ Code Coverage
@theNeomatrix369
Performance tuning tools(short and long feedback loops)
- Application behaviour
- GC behaviour (on the JVM)
- Early or late feedback (during
development, or post- development)
- Profiling
Some known tools: Java Mission Control, Java
Flight Recorder, jconsole, GC Viewer, VisualVM,
HeapAnalyzer, PerfAnal, JAMon, HPJMeter,
HonestProfiler, mjProf, Eclipse Memory Analyzer
(MAT)
@theNeomatrix369
Performance tuning tools(short feedback loop)
Profiling tools
- Honest profiler
- mjProf
- Eclipse Memory Analyzer (MAT)
- others
@theNeomatrix369
Performance tuning tools(short feedback loop)
Profiling tools
XRebel
(lightweight)
runtime java
profiler
@theNeomatrix369
Performance tuning tools(short feedback loop)
JITWatch* - @chriswhocodes
Understand...Java HotSpot Just-In-Time (JIT) compiler...
program execution.
Hot Method too big - among other JIT optimisation errors
Java 7 and Java 8 core methods above the default hot method inlining threshold
*an Adopt OpenJDK F/OSS project
@theNeomatrix369
Performance tuning tools(long feedback loop)
Censum - jclarity.com
- GC Analysis, similar to GC Viewer
- Additional metrics and graphs
- Built-in analytics,
recommendations & heuristics
@theNeomatrix369
The others...
Google CodePro
Coverity ThreadSafe
IntelliJ IDEA Squale
Veracode
@theNeomatrix369
Collaborate...
share, crowd-source, machine learning...
(Hippie completion)
@theNeomatrix369
Inventions...
@theNeomatrix369
Strategies (checklists)
[ ] Strategy (method in the madness)
[ ] Strategy (interesting, ear-marked)
Find the checklists in the Resources section at the bottom
@theNeomatrix369
Continuous Inspection
Individual
inspections
(local first)
@theNeomatrix369
Continuous Inspection
(local first)
Some more individual inspections
@theNeomatrix369
Rule of thumb
Metrics Rule Mitigating action
Method complexity >= 6 pathways Refactor: split method
Class complexity >= 60 pathways Refactor: split class
LCOM4 >=2 responsibilities Refactor: new class / subclass
RFC per class > 40 connections
(both ways - afferent &
efferent)
Refactor: reduce dependencies
and dependents, split class
Source: SonarSource resource, Book: SonarQube in Action
@theNeomatrix369
Observations...
@theNeomatrix369
Repetition...helps build
muscle memory
@theNeomatrix369
Kata (型) ?
きょうしつ (kyoushitsu)
@theNeomatrix369
Katas - individual parts
issues violations
duplications
code (test) coverage
mutation testing
quickcheck
immutability check
complexity check
performance check
@theNeomatrix369
Introspection...
@theNeomatrix369
Trust but verify
Trust your tool(s)…
…believe in your method(s)
Adopt advice from peers & experts…
...but also evaluate it yourself
@theNeomatrix369
Do these factors make up
quality ?
developer: knowledge and skills
x
tool: tunability, features & capabilities
x
(environment & team)
@theNeomatrix369
(when you take a plunge)
...its not just about tools, there is more….
Discovery…
@theNeomatrix369
Discovery…
...firstly a tool is only
a temporary scaffolding…
@theNeomatrix369
Discovery…
...its about methods and
techniques...
(because tools are only a
dumb conduit)
@theNeomatrix369
Discovery…
(...if you dive deeper…)
its about the practise
and developing good habits
"I'm not a great programmer; I'm just a good programmer with great
habits.” Kent Beck, http://en.wikiquote.org/wiki/Kent_Beck
@theNeomatrix369
Realisations...
Writing good quality code takes
practice, effort and time
@theNeomatrix369
Quality is a concerted effort of not just a single
developer but a team of developers !
Realisations...
@theNeomatrix369
- Repetition
- Measuring progress
- Early detection
- Short feedback loop
- Reliable pairing
- Filling the (missing) gap
- Powerful & effective ally
Conclusion
@theNeomatrix369
Summary
● Personal story
● Various methods & techniques: processes
● Strategies (checklists)
● Inventions & observations: continuous inspection (local first) & katas
● Discoveries and Realisations
● (My) conclusion
@theNeomatrix369
Gratitude - big thanks !
...to the dev communities of London and Europe!
LSCC
@theNeomatrix369
Q & A
Keep them coming !
@theNeomatrix369
Its time to share your methods and
help improve our craft !
Please tweet your feedback at
@theNeomatrix369
@theNeomatrix369
Devoxx UK -
TBA 2016
Socrates UK -
TBA 2016
Conferences
@theNeomatrix369
Let’s change the Java ecosystem, together!
Daniel Bryant @danielbryantuk
Mani Sarkar @theNeomatrix369
With support from the JCP, London Java Community and Java communities worldwide
@adoptajsr
@adoptopenjdk
members@adoptajsr.java.net
adopt-openjdk@googlegroups.com
adoption-discuss@openjdk.java.net
@theNeomatrix369
Resources
● SonarQube resources
● SonarQube Nemo project
● Discussions on Sonar on JavaRanche
● Installing SonarQube (formerly Sonar) on MacOsX Mountain Lion
● Using SonarQube on MacOsX Mountain Lion
● SonarGraph (http://www.hello2morrow.com/products/sonargraph)
● Jitwatch: http://github.com/AdoptOpenJDK/jitwatch
● QuickCheck (https://bitbucket.org/blob79/quickcheck)
● Mutation Testing (http://pitest.org/ or http://ortask.com/mutator/)
● Mutability Detector (https://github.com/MutabilityDetector/)
● AssertJ - fluent assertions for Java (plus other fluent libraries)
● Censum (@jclarity product - see http://www.jclarity.com/censum/)
● Profilers: HonestProfiler, mjProf, Eclipse Memory Analyzer (MAT)
● Books: Sonar in Action (http://www.manning.com/papapetrou/), Software
Craftsmanship by Sandro Mancuso, Uncle Bob’s Clean Code
@theNeomatrix369
Predecessor to this presentation...
http://bit.ly/1lk8NDW
to improve code quality !
SonarQubetm
@theNeomatrix369
Strategy (method in the madness)
[ ] Unit & Integration test coverage:
EclEmma, JaCoco, IntelliJ Code Coverage check
[ ] Most violated rules (Blockers, Critical, Major, Minor violations)
[ ] Duplication removal - DRY
[ ] Complexity (package-, file/class-, method-levels)
[ ] Performance: profiling (memory, cpu, hardware)
[ ] Performance: GC analysis*, JMH benchmarking*
* Java/JVM platforms only
@theNeomatrix369
Strategy (interesting, ear-marked)
[ ] Analyse & apply Squale reports
[ ] Apply SonarGraph
[ ] Apply Mutation testing (i.e. PITest, Mutator)
[ ] Apply generative tests (QuickCheck)
[ ] Apply Mutability Detector library
[ ] Analyse using JitWatch (improve JIT attempts)
[ ] Analyse using Censum (improve GC)
@theNeomatrix369
Quality of Music - truth table
Quality of instrument
(material)
How tuned the
instrument is?
Skills & experience of
the performer
Quality of music
(outcome)
Bad Not tuned Not skilled / Skilled Very Bad
Bad Tuned Not skilled / Skilled Bad
Medicore Not tuned Not skilled / Skilled Below Average
Good Tuned / Not tuned Not skilled / Skilled Average
Good Tuned Skilled Good
Very good Tuned Highly skilled Very good
@theNeomatrix369
Novice to expert...
In the beginning, learning from past experiences,
building up knowledge and experience with
repetitions, finally excelling with your own efforts...
@theNeomatrix369
Layers of quality
Continuous Deployment*
Continuous Integration*
Code quality
Tools & Methods
(Developing) Good Habits
@theNeomatrix369
Layers of quality (contd.)
Continuous Deployment*
Continuous Integration*
See what Dr. Daniel Bryant has to say about the above:
http://slidesha.re/1rKdOdU
http://slidesha.re/VwKDB0
(Devops the TDD approach)

Más contenido relacionado

La actualidad más candente

Automation is Easy! (python version)
Automation is Easy! (python version)Automation is Easy! (python version)
Automation is Easy! (python version)Iakiv Kramarenko
 
21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir
21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir
21o. RubyFloripa - Maintaining legacy Rails app and introducing ElixirWeverton Timoteo
 
Acceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkAcceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkSteve Zhang
 
Writing Tests with the Unity Test Framework
Writing Tests with the Unity Test FrameworkWriting Tests with the Unity Test Framework
Writing Tests with the Unity Test FrameworkPeter Kofler
 
Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)Masaki Nakagawa
 
Coding Dojo: Naming with Dices (2021)
Coding Dojo: Naming with Dices (2021)Coding Dojo: Naming with Dices (2021)
Coding Dojo: Naming with Dices (2021)Peter Kofler
 
Tech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa
Tech Talk #5 : Code Analysis SonarQube - Lương Trọng NghĩaTech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa
Tech Talk #5 : Code Analysis SonarQube - Lương Trọng NghĩaNexus FrontierTech
 
Testing for people who hate testing
Testing for people who hate testingTesting for people who hate testing
Testing for people who hate testingSam Bolgert
 
Managing code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu VunvuleaManaging code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu VunvuleaITSpark Community
 
Barcamp Bangkhen :: Robot Framework
Barcamp Bangkhen :: Robot FrameworkBarcamp Bangkhen :: Robot Framework
Barcamp Bangkhen :: Robot FrameworkSomkiat Puisungnoen
 
A journey with Target Platforms
A journey with Target PlatformsA journey with Target Platforms
A journey with Target PlatformsMickael Istria
 
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...Xebia Nederland BV
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 
Lighning Talk: PHP build process
Lighning Talk: PHP build processLighning Talk: PHP build process
Lighning Talk: PHP build processBryan Agee
 
Coding Dojo: Mars Rover (2014)
Coding Dojo: Mars Rover (2014)Coding Dojo: Mars Rover (2014)
Coding Dojo: Mars Rover (2014)Peter Kofler
 
Robot framework - Lord of the Rings
Robot framework - Lord of the RingsRobot framework - Lord of the Rings
Robot framework - Lord of the RingsAsheesh Mehdiratta
 
EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?Samsung Open Source Group
 

La actualidad más candente (20)

Sonar Metrics
Sonar MetricsSonar Metrics
Sonar Metrics
 
Automation is Easy! (python version)
Automation is Easy! (python version)Automation is Easy! (python version)
Automation is Easy! (python version)
 
Brownie
BrownieBrownie
Brownie
 
21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir
21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir
21o. RubyFloripa - Maintaining legacy Rails app and introducing Elixir
 
Sonar
SonarSonar
Sonar
 
Acceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot FrameworkAcceptance Test Driven Development and Robot Framework
Acceptance Test Driven Development and Robot Framework
 
Writing Tests with the Unity Test Framework
Writing Tests with the Unity Test FrameworkWriting Tests with the Unity Test Framework
Writing Tests with the Unity Test Framework
 
Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)Perl Testing Consideration (seen from other languages)
Perl Testing Consideration (seen from other languages)
 
Coding Dojo: Naming with Dices (2021)
Coding Dojo: Naming with Dices (2021)Coding Dojo: Naming with Dices (2021)
Coding Dojo: Naming with Dices (2021)
 
Tech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa
Tech Talk #5 : Code Analysis SonarQube - Lương Trọng NghĩaTech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa
Tech Talk #5 : Code Analysis SonarQube - Lương Trọng Nghĩa
 
Testing for people who hate testing
Testing for people who hate testingTesting for people who hate testing
Testing for people who hate testing
 
Managing code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu VunvuleaManaging code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu Vunvulea
 
Barcamp Bangkhen :: Robot Framework
Barcamp Bangkhen :: Robot FrameworkBarcamp Bangkhen :: Robot Framework
Barcamp Bangkhen :: Robot Framework
 
A journey with Target Platforms
A journey with Target PlatformsA journey with Target Platforms
A journey with Target Platforms
 
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Lighning Talk: PHP build process
Lighning Talk: PHP build processLighning Talk: PHP build process
Lighning Talk: PHP build process
 
Coding Dojo: Mars Rover (2014)
Coding Dojo: Mars Rover (2014)Coding Dojo: Mars Rover (2014)
Coding Dojo: Mars Rover (2014)
 
Robot framework - Lord of the Rings
Robot framework - Lord of the RingsRobot framework - Lord of the Rings
Robot framework - Lord of the Rings
 
EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?EFL QA: Where Are We and Where Should We Go?
EFL QA: Where Are We and Where Should We Go?
 

Similar a Leaning on the two Ts

TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)ssusercaf6c1
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)Nacho Cougil
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekNacho Cougil
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)Nacho Cougil
 
How to crack java script certification
How to crack java script certificationHow to crack java script certification
How to crack java script certificationKadharBashaJ
 
Monitoring Big Data Systems - "The Simple Way"
Monitoring Big Data Systems - "The Simple Way"Monitoring Big Data Systems - "The Simple Way"
Monitoring Big Data Systems - "The Simple Way"Demi Ben-Ari
 
Paving the road with Jakarta EE and Apache TomEE - JCON 2021
Paving the road with Jakarta EE  and Apache TomEE - JCON 2021Paving the road with Jakarta EE  and Apache TomEE - JCON 2021
Paving the road with Jakarta EE and Apache TomEE - JCON 2021César Hernández
 
Elasticsearch Performance Testing and Scaling @ Signal
Elasticsearch Performance Testing and Scaling @ SignalElasticsearch Performance Testing and Scaling @ Signal
Elasticsearch Performance Testing and Scaling @ SignalJoachim Draeger
 
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...Red Hat Developers
 
Evil testers guide to technical testing
Evil testers guide to technical testingEvil testers guide to technical testing
Evil testers guide to technical testingAlan Richardson
 
TDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeTDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeNacho Cougil
 
Behaviour Driven Development and Thinking About Testing
Behaviour Driven Development and Thinking About TestingBehaviour Driven Development and Thinking About Testing
Behaviour Driven Development and Thinking About Testingdn
 
Bdd and-testing
Bdd and-testingBdd and-testing
Bdd and-testingmalcolmt
 
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Codemotion
 
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Demi Ben-Ari
 
JDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsJDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsBaruch Sadogursky
 
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar Applitools
 
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...Chetan Khatri
 

Similar a Leaning on the two Ts (20)

TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech Week
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)
 
How to crack java script certification
How to crack java script certificationHow to crack java script certification
How to crack java script certification
 
Monitoring Big Data Systems - "The Simple Way"
Monitoring Big Data Systems - "The Simple Way"Monitoring Big Data Systems - "The Simple Way"
Monitoring Big Data Systems - "The Simple Way"
 
Paving the road with Jakarta EE and Apache TomEE - JCON 2021
Paving the road with Jakarta EE  and Apache TomEE - JCON 2021Paving the road with Jakarta EE  and Apache TomEE - JCON 2021
Paving the road with Jakarta EE and Apache TomEE - JCON 2021
 
Elasticsearch Performance Testing and Scaling @ Signal
Elasticsearch Performance Testing and Scaling @ SignalElasticsearch Performance Testing and Scaling @ Signal
Elasticsearch Performance Testing and Scaling @ Signal
 
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...
How To Get The Most Out Of Your Hibernate, JBoss EAP 7 Application (Ståle Ped...
 
Evil testers guide to technical testing
Evil testers guide to technical testingEvil testers guide to technical testing
Evil testers guide to technical testing
 
Pycon 2012 Scikit-Learn
Pycon 2012 Scikit-LearnPycon 2012 Scikit-Learn
Pycon 2012 Scikit-Learn
 
TDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeTDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - Opensouthcode
 
Behaviour Driven Development and Thinking About Testing
Behaviour Driven Development and Thinking About TestingBehaviour Driven Development and Thinking About Testing
Behaviour Driven Development and Thinking About Testing
 
Bdd and-testing
Bdd and-testingBdd and-testing
Bdd and-testing
 
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
 
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
 
JDK Tools For Performance Diagnostics
JDK Tools For Performance DiagnosticsJDK Tools For Performance Diagnostics
JDK Tools For Performance Diagnostics
 
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
 
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
TransmogrifAI - Automate Machine Learning Workflow with the power of Scala an...
 
Greach 2015 Spock workshop
Greach 2015 Spock workshopGreach 2015 Spock workshop
Greach 2015 Spock workshop
 

Más de Mani Sarkar

How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?Mani Sarkar
 
Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG sessionMani Sarkar
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Mani Sarkar
 
Cli in the browser
Cli in the browserCli in the browser
Cli in the browserMani Sarkar
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraintsMani Sarkar
 
Refactoring developer habits
Refactoring developer habitsRefactoring developer habits
Refactoring developer habitsMani Sarkar
 
Essential technical skills
Essential technical skillsEssential technical skills
Essential technical skillsMani Sarkar
 
How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...Mani Sarkar
 
How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !Mani Sarkar
 
Adopt OpenJDK the past, the present & the future
Adopt OpenJDK  the past, the present & the futureAdopt OpenJDK  the past, the present & the future
Adopt OpenJDK the past, the present & the futureMani Sarkar
 
Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)Mani Sarkar
 
Adopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentationAdopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentationMani Sarkar
 
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02Mani Sarkar
 
Java2 days 2013-lambda
Java2 days 2013-lambdaJava2 days 2013-lambda
Java2 days 2013-lambdaMani Sarkar
 
Ljc conf open jdk betterrev bof
Ljc conf open jdk betterrev bofLjc conf open jdk betterrev bof
Ljc conf open jdk betterrev bofMani Sarkar
 
Java2 days 2013-j-treg
Java2 days 2013-j-tregJava2 days 2013-j-treg
Java2 days 2013-j-tregMani Sarkar
 

Más de Mani Sarkar (18)

How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?How to contribute to Adopt OpenJDK?
How to contribute to Adopt OpenJDK?
 
Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG session
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
 
Cli in the browser
Cli in the browserCli in the browser
Cli in the browser
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraints
 
Kanban kata
Kanban kataKanban kata
Kanban kata
 
Refactoring developer habits
Refactoring developer habitsRefactoring developer habits
Refactoring developer habits
 
Essential technical skills
Essential technical skillsEssential technical skills
Essential technical skills
 
How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...
 
How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !How is Java / JVM built ? Adopt OpenJDK is your answer !
How is Java / JVM built ? Adopt OpenJDK is your answer !
 
Adopt OpenJDK the past, the present & the future
Adopt OpenJDK  the past, the present & the futureAdopt OpenJDK  the past, the present & the future
Adopt OpenJDK the past, the present & the future
 
Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)Adopt OpenJDK presentation (slide deck)
Adopt OpenJDK presentation (slide deck)
 
Adopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentationAdopt OpenJDK, Betterrev blind ignite presentation
Adopt OpenJDK, Betterrev blind ignite presentation
 
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
Fosdem2014 fromwebrevtobetterrevbryantsarkar-140203131215-phpapp02
 
Java2 days 2013-lambda
Java2 days 2013-lambdaJava2 days 2013-lambda
Java2 days 2013-lambda
 
Ljc conf open jdk betterrev bof
Ljc conf open jdk betterrev bofLjc conf open jdk betterrev bof
Ljc conf open jdk betterrev bof
 
Java2 days 2013-j-treg
Java2 days 2013-j-tregJava2 days 2013-j-treg
Java2 days 2013-j-treg
 
History of java
History of javaHistory of java
History of java
 

Último

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 

Último (20)

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

Leaning on the two Ts