SlideShare a Scribd company logo
Devoxx 2014 summary
Artem Oboturov
April 24th 2014
Universit´e de la performance by OCTO
Tools :
benerator at http://databene.org/ is a tool for test data
generation
gatling at http://gatling-tool.org/ - stress tool for
HTTP
graphite at http://graphite.wikidot.com/ for scalable
realtime graphing (e.g. to vizualize performance results)
whisper is a fixed-size database of numeric data over time
carbon is a backend for graphite
metrics http://metrics.codahale.com/ library to
introduce points of performance measurement
collectd http://collectd.org/ is a daemon which
periodically collects system performance statistics
Microbenchmarking avec JMH by OCTO
JMH is a Java harness for building, running, and analysing
nano/micro/milli/macro benchmarks written in Java and
other languages targetting the JVM
Opensource and a part of OpenJDK project :
http://openjdk.java.net/projects/code-tools/jmh/
http://hg.openjdk.java.net/code-tools/jmh/
Start learning by using samples: http://hg.openjdk.java.
net/code-tools/jmh/file/tip/jmh-samples/src/main/
java/org/openjdk/jmh/samples/
Annotation-driven framework, generates code from the
annotated sources, and bench-marks the generated version
(which would better reflect a real execution)
Mesurer directement depuis le CPU: les compteurs de
performance by Ullink
Overseer is a Java framework that makes it possible on Linux
systems by simplifying access to real-time measurement of
low-level data such as Hardware Performance Counters
(HPCs), IPMI sensors, and Java VM internal events. Overseer
supports functionalities such as HPC-management,
process/thread affinity settings, hardware topology
identification, as well as power-consumption and temperature
monitoring.
OverHpc relies on libpfm41 for the management of HPCs.
Hardware topology information is gathered through the
libhwloc library.
More data are acquired from IPMI-compatible sensors with
the Intelligent Platform Management Interface3, a
standardized interface used by system administrators to
manage computer systems and monitor their operations.
Ansible in action - le provisionning au bon niveau
d’abstraction
Ansible is an IT automation tool. It can configure systems,
deploy software, and orchestrate more advanced IT tasks such
as continuous deployments or zero downtime rolling updates.
http://docs.ansible.com/
[Just another one] DevOps util
Reusable playbooks : Ansible Galaxy
https://galaxy.ansible.com/
Deux ann´ees de Continuous Delivery au pays des traders
by GLE:FP
Maven plugins for deployment and versioning management:
Deployit used to deploy a Deployment Package to an single
environment
http://tech.xebialabs.com/deployit-maven-plugin/
Build-number is designed to get a unique build number for
each time you build your project http:
//mojo.codehaus.org/buildnumber-maven-plugin/
Versions is used when you want to manage the versions of
artifacts in a project’s POM
http://mojo.codehaus.org/versions-maven-plugin/
Deployment MUST be automated
Test are better in ISO-production environment
Release should become a ”Non-event”
Am´elioration de build maven by Courtanet
Inifinitest : each time a change is made on the source code,
all the tests that might fail because of those changes, are run
be an IDE plugin http://infinitest.github.io/
Moreunit another unit test framework
http://moreunit.sourceforge.net/
Maven timeline plugin
https://github.com/dgageot/maven-timeline
Les Applications R´eactives : un nouveau paradigme pour
lever les d´efis de l’´economie num´erique by InTech
Reactive manifesto by Typesafe (Scala, Akka, etc)
http://www.reactivemanifesto.org/
Look into Scala Promise API and Java 8 CompletableFuture
API
IntelliJ IDEA tips and tricks by Jetbrains
Use keyboard only
To learn how to use only the keyboard, try to use the Key
promoter plugin which shows to user how one can easily
make the same action using only keyboard (menus and
toolbar button mouse clicks initiates shortcut display).
Print the IntelliJ keymap for your OS and use it
Use structural search
Multi-cursor edit
Building a Real-Time Risk Analysis System in Java by
GLE:FP (1)
Maven best practices proposed :
source: javaformatter + jrx https:
//code.google.com/p/maven-java-formatter-plugin/
https:
//maven.apache.org/plugins/maven-jxr-plugin/
packaging: appassembler + war + assembly
http://mojo.codehaus.org/appassembler/
appassembler-maven-plugin/
release: release + changes + buildnumber https:
//maven.apache.org/plugins/maven-changes-plugin/
http://maven.apache.org/maven-release/
maven-release-plugin/
Building a Real-Time Risk Analysis System in Java by
GLE:FP (2)
Maven best practices proposed :
documentation : site markdown + sample/snippet +
linkcheck + pdf + umlgraph
dependency: version + overview + enforcer-plugin +
dependency-tree
test : pitest + failsafe + jacoco + checker
Exception monitoring in logs (The Elasticsearch ELK Stack)
logstash is a tool for managing events and logs
http://logstash.net/
elastic search http://www.elasticsearch.org/
kibana - the RT data visualization dashboard
http://www.elasticsearch.org/overview/kibana/
BOF BrownBagLunch France
The concept (from Wikipedia): a brown bag seminar, session or
lunch is generally a training or information session during a lunch
break. The term ”brown bag” refers to the packed lunch meals
that are either brought along by the attendees or provided by the
host. In the USA, these are often packed in brown paper bags.
Brown bag seminars will normally run for one or two hours.
http://en.wikipedia.org/wiki/Brown_bag_seminar
The site: http://www.brownbaglunch.fr/
Specialists list: http://www.brownbaglunch.fr/baggers.html
Virtualization 2.0 et kernel linux by Xebia
No hypervisor : use linux control groups
Control hardware resource usage
Resources isolation via namespaces
lxc-{create | start | ls | stop }
33 things you want to do better by T. Bujok (1)
Libraries:
lombock annotations to be used to simplify Java POJOs
@Data @Builder @Log4j @Cleanup @Delegate
http://projectlombok.org/
lambdaj https://code.google.com/p/lambdaj/
slf4j TODO : remove .printStackTrace - it does not show the
source of error; TODO : remove Log4j loggin with no
formatting clause (idem)
spock is a testing and specification framework for Java and
Groovy applications. https://code.google.com/p/spock/
unitils is an open source library aimed at making unit and
integration testing easy and maintainable @InjectInto
@InjectIntoStatic http://www.unitils.org/
gauva : cache, optional, multivalue sets, etc
33 things you want to do better by T. Bujok (2)
Testing:
junitparams @Params, $() = new Object[]{};
https://code.google.com/p/junitparams/
awaitility await().atMost(5,
SECONDS).until(costumerStatusIsUpdated());
https://code.google.com/p/awaitility/
byteman byte code injection : could be used for tracing, etc
http://www.jboss.org/byteman
Try to use more Groovy for scripting and development

More Related Content

What's hot

Debugging of (C)Python applications
Debugging of (C)Python applicationsDebugging of (C)Python applications
Debugging of (C)Python applicationsRoman Podoliaka
 
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityModeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityFlorian Lier
 
Getting Started with EasyBuild - Tutorial Part 2
Getting Started with EasyBuild - Tutorial Part 2Getting Started with EasyBuild - Tutorial Part 2
Getting Started with EasyBuild - Tutorial Part 2inside-BigData.com
 
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit, Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit, Farshid Pirahansiah
 
LibreOffice oss-fuzz, crashtesting, coverity
LibreOffice oss-fuzz, crashtesting, coverityLibreOffice oss-fuzz, crashtesting, coverity
LibreOffice oss-fuzz, crashtesting, coverityCaolán McNamara
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSTulipp. Eu
 
The Scientific Filesystem
The Scientific FilesystemThe Scientific Filesystem
The Scientific FilesystemVanessa S
 
Continuous Delivery di una WebApp - by example
Continuous Delivery di una WebApp - by exampleContinuous Delivery di una WebApp - by example
Continuous Delivery di una WebApp - by exampleFabio Mora
 
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T Puppet
 
Don't Fear the Autotools
Don't Fear the AutotoolsDon't Fear the Autotools
Don't Fear the AutotoolsScott Garman
 
"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from IntelEdge AI and Vision Alliance
 
Conan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for DevelopersConan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for DevelopersUilian Ries
 
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryDigital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryMassimo Menichinelli
 
Git, CMake, Conan - How to ship and reuse our C++ projects?
Git, CMake, Conan - How to ship and reuse our C++ projects?Git, CMake, Conan - How to ship and reuse our C++ projects?
Git, CMake, Conan - How to ship and reuse our C++ projects?Mateusz Pusz
 
Golang Project Layout and Practice
Golang Project Layout and PracticeGolang Project Layout and Practice
Golang Project Layout and PracticeBo-Yi Wu
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily usearun.arwachin
 
Cross Platform Objective C Development Using Gn Ustep
Cross Platform Objective C Development Using Gn UstepCross Platform Objective C Development Using Gn Ustep
Cross Platform Objective C Development Using Gn Ustepwangii
 

What's hot (20)

Debugging of (C)Python applications
Debugging of (C)Python applicationsDebugging of (C)Python applications
Debugging of (C)Python applications
 
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved ReproducibilityModeling Software Systems in Experimental Robotics for Improved Reproducibility
Modeling Software Systems in Experimental Robotics for Improved Reproducibility
 
Getting Started with EasyBuild - Tutorial Part 2
Getting Started with EasyBuild - Tutorial Part 2Getting Started with EasyBuild - Tutorial Part 2
Getting Started with EasyBuild - Tutorial Part 2
 
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit, Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
Install, Compile, Setup, Setting OpenCV 3.2, Visual C++ 2015, Win 64bit,
 
How to setup MateriApps LIVE!
How to setup MateriApps LIVE!How to setup MateriApps LIVE!
How to setup MateriApps LIVE!
 
LibreOffice oss-fuzz, crashtesting, coverity
LibreOffice oss-fuzz, crashtesting, coverityLibreOffice oss-fuzz, crashtesting, coverity
LibreOffice oss-fuzz, crashtesting, coverity
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
 
The Scientific Filesystem
The Scientific FilesystemThe Scientific Filesystem
The Scientific Filesystem
 
Continuous Delivery di una WebApp - by example
Continuous Delivery di una WebApp - by exampleContinuous Delivery di una WebApp - by example
Continuous Delivery di una WebApp - by example
 
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
 
Don't Fear the Autotools
Don't Fear the AutotoolsDon't Fear the Autotools
Don't Fear the Autotools
 
"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel
 
Intro to-venv-py3
Intro to-venv-py3Intro to-venv-py3
Intro to-venv-py3
 
Conan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for DevelopersConan.io - The C/C++ package manager for Developers
Conan.io - The C/C++ package manager for Developers
 
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryDigital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
 
Git, CMake, Conan - How to ship and reuse our C++ projects?
Git, CMake, Conan - How to ship and reuse our C++ projects?Git, CMake, Conan - How to ship and reuse our C++ projects?
Git, CMake, Conan - How to ship and reuse our C++ projects?
 
Droidcon Summary 2021
Droidcon Summary 2021Droidcon Summary 2021
Droidcon Summary 2021
 
Golang Project Layout and Practice
Golang Project Layout and PracticeGolang Project Layout and Practice
Golang Project Layout and Practice
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily use
 
Cross Platform Objective C Development Using Gn Ustep
Cross Platform Objective C Development Using Gn UstepCross Platform Objective C Development Using Gn Ustep
Cross Platform Objective C Development Using Gn Ustep
 

Viewers also liked

How to Upgrade Your Peanut Butter & Jelly Sandwich
How to Upgrade Your Peanut Butter & Jelly SandwichHow to Upgrade Your Peanut Butter & Jelly Sandwich
How to Upgrade Your Peanut Butter & Jelly SandwichScullivan
 
110621 Brown Bag Lunch - iPhone & Android Apps for Business
110621 Brown Bag Lunch - iPhone & Android Apps for Business110621 Brown Bag Lunch - iPhone & Android Apps for Business
110621 Brown Bag Lunch - iPhone & Android Apps for Businesscrassi
 
BrownBag Lunch 24Nov09 - Monetization 2.0
BrownBag Lunch 24Nov09 - Monetization 2.0BrownBag Lunch 24Nov09 - Monetization 2.0
BrownBag Lunch 24Nov09 - Monetization 2.0zanox
 
Effective Communication & Where do good ideas come from_Kavita and Seema
Effective Communication & Where do good ideas come from_Kavita and SeemaEffective Communication & Where do good ideas come from_Kavita and Seema
Effective Communication & Where do good ideas come from_Kavita and SeemaTimeless Learning Technologies Pvt Ltd
 
Brown bag lunch series
Brown bag lunch seriesBrown bag lunch series
Brown bag lunch seriesrnewbury_unr
 
Sharing resources
Sharing resourcesSharing resources
Sharing resourcesUNU-ViE
 
Brown Bag Lunch Strategy
Brown Bag Lunch StrategyBrown Bag Lunch Strategy
Brown Bag Lunch StrategyLoggy
 
2013 Edelman Global Entertainment Survey
2013 Edelman Global Entertainment Survey2013 Edelman Global Entertainment Survey
2013 Edelman Global Entertainment SurveyEdelman
 

Viewers also liked (8)

How to Upgrade Your Peanut Butter & Jelly Sandwich
How to Upgrade Your Peanut Butter & Jelly SandwichHow to Upgrade Your Peanut Butter & Jelly Sandwich
How to Upgrade Your Peanut Butter & Jelly Sandwich
 
110621 Brown Bag Lunch - iPhone & Android Apps for Business
110621 Brown Bag Lunch - iPhone & Android Apps for Business110621 Brown Bag Lunch - iPhone & Android Apps for Business
110621 Brown Bag Lunch - iPhone & Android Apps for Business
 
BrownBag Lunch 24Nov09 - Monetization 2.0
BrownBag Lunch 24Nov09 - Monetization 2.0BrownBag Lunch 24Nov09 - Monetization 2.0
BrownBag Lunch 24Nov09 - Monetization 2.0
 
Effective Communication & Where do good ideas come from_Kavita and Seema
Effective Communication & Where do good ideas come from_Kavita and SeemaEffective Communication & Where do good ideas come from_Kavita and Seema
Effective Communication & Where do good ideas come from_Kavita and Seema
 
Brown bag lunch series
Brown bag lunch seriesBrown bag lunch series
Brown bag lunch series
 
Sharing resources
Sharing resourcesSharing resources
Sharing resources
 
Brown Bag Lunch Strategy
Brown Bag Lunch StrategyBrown Bag Lunch Strategy
Brown Bag Lunch Strategy
 
2013 Edelman Global Entertainment Survey
2013 Edelman Global Entertainment Survey2013 Edelman Global Entertainment Survey
2013 Edelman Global Entertainment Survey
 

Similar to Devoxx 2014 [incomplete] summary

Digital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: InformationDigital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: InformationMassimo Menichinelli
 
Improving the Accumulo User Experience
 Improving the Accumulo User Experience Improving the Accumulo User Experience
Improving the Accumulo User ExperienceAccumulo Summit
 
Introduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud RunIntroduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud RunSaiyam Pathak
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio Fumarola
 
Digital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 InformationDigital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 InformationMassimo Menichinelli
 
Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3kognate
 
Kubernetes laravel and kubernetes
Kubernetes   laravel and kubernetesKubernetes   laravel and kubernetes
Kubernetes laravel and kubernetesWilliam Stewart
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1Rubens Dos Santos Filho
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld PresentationDan Hinojosa
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN ControllerSumit Arora
 
Where's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind PloneWhere's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind PloneVincenzo Barone
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
Deploying to DigitalOcean With GitHub Actions
Deploying to DigitalOcean With GitHub ActionsDeploying to DigitalOcean With GitHub Actions
Deploying to DigitalOcean With GitHub ActionsDigitalOcean
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
 
PHP Dependency Management with Composer
PHP Dependency Management with ComposerPHP Dependency Management with Composer
PHP Dependency Management with ComposerAdam Englander
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Controlelliando dias
 
Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1inside-BigData.com
 
Maven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternsMaven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternselliando dias
 
Maven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension toolMaven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension toolelliando dias
 

Similar to Devoxx 2014 [incomplete] summary (20)

Digital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: InformationDigital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: Information
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
Improving the Accumulo User Experience
 Improving the Accumulo User Experience Improving the Accumulo User Experience
Improving the Accumulo User Experience
 
Introduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud RunIntroduction to JIB and Google Cloud Run
Introduction to JIB and Google Cloud Run
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Digital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 InformationDigital Fabrication Studio 0.3 Information
Digital Fabrication Studio 0.3 Information
 
Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3
 
Kubernetes laravel and kubernetes
Kubernetes   laravel and kubernetesKubernetes   laravel and kubernetes
Kubernetes laravel and kubernetes
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN Controller
 
Where's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind PloneWhere's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind Plone
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Deploying to DigitalOcean With GitHub Actions
Deploying to DigitalOcean With GitHub ActionsDeploying to DigitalOcean With GitHub Actions
Deploying to DigitalOcean With GitHub Actions
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
 
PHP Dependency Management with Composer
PHP Dependency Management with ComposerPHP Dependency Management with Composer
PHP Dependency Management with Composer
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
 
Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1Introduction to EasyBuild: Tutorial Part 1
Introduction to EasyBuild: Tutorial Part 1
 
Maven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternsMaven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patterns
 
Maven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension toolMaven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension tool
 

Recently uploaded

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...Alluxio, Inc.
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageGlobus
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisNeo4j
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessWSO2
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfkalichargn70th171
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsGlobus
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareinfo611746
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfOrtus Solutions, Corp
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfMeon Technology
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...rajkumar669520
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
 

Recently uploaded (20)

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 

Devoxx 2014 [incomplete] summary

  • 1. Devoxx 2014 summary Artem Oboturov April 24th 2014
  • 2. Universit´e de la performance by OCTO Tools : benerator at http://databene.org/ is a tool for test data generation gatling at http://gatling-tool.org/ - stress tool for HTTP graphite at http://graphite.wikidot.com/ for scalable realtime graphing (e.g. to vizualize performance results) whisper is a fixed-size database of numeric data over time carbon is a backend for graphite metrics http://metrics.codahale.com/ library to introduce points of performance measurement collectd http://collectd.org/ is a daemon which periodically collects system performance statistics
  • 3. Microbenchmarking avec JMH by OCTO JMH is a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targetting the JVM Opensource and a part of OpenJDK project : http://openjdk.java.net/projects/code-tools/jmh/ http://hg.openjdk.java.net/code-tools/jmh/ Start learning by using samples: http://hg.openjdk.java. net/code-tools/jmh/file/tip/jmh-samples/src/main/ java/org/openjdk/jmh/samples/ Annotation-driven framework, generates code from the annotated sources, and bench-marks the generated version (which would better reflect a real execution)
  • 4. Mesurer directement depuis le CPU: les compteurs de performance by Ullink Overseer is a Java framework that makes it possible on Linux systems by simplifying access to real-time measurement of low-level data such as Hardware Performance Counters (HPCs), IPMI sensors, and Java VM internal events. Overseer supports functionalities such as HPC-management, process/thread affinity settings, hardware topology identification, as well as power-consumption and temperature monitoring. OverHpc relies on libpfm41 for the management of HPCs. Hardware topology information is gathered through the libhwloc library. More data are acquired from IPMI-compatible sensors with the Intelligent Platform Management Interface3, a standardized interface used by system administrators to manage computer systems and monitor their operations.
  • 5. Ansible in action - le provisionning au bon niveau d’abstraction Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. http://docs.ansible.com/ [Just another one] DevOps util Reusable playbooks : Ansible Galaxy https://galaxy.ansible.com/
  • 6. Deux ann´ees de Continuous Delivery au pays des traders by GLE:FP Maven plugins for deployment and versioning management: Deployit used to deploy a Deployment Package to an single environment http://tech.xebialabs.com/deployit-maven-plugin/ Build-number is designed to get a unique build number for each time you build your project http: //mojo.codehaus.org/buildnumber-maven-plugin/ Versions is used when you want to manage the versions of artifacts in a project’s POM http://mojo.codehaus.org/versions-maven-plugin/ Deployment MUST be automated Test are better in ISO-production environment Release should become a ”Non-event”
  • 7. Am´elioration de build maven by Courtanet Inifinitest : each time a change is made on the source code, all the tests that might fail because of those changes, are run be an IDE plugin http://infinitest.github.io/ Moreunit another unit test framework http://moreunit.sourceforge.net/ Maven timeline plugin https://github.com/dgageot/maven-timeline
  • 8. Les Applications R´eactives : un nouveau paradigme pour lever les d´efis de l’´economie num´erique by InTech Reactive manifesto by Typesafe (Scala, Akka, etc) http://www.reactivemanifesto.org/ Look into Scala Promise API and Java 8 CompletableFuture API
  • 9. IntelliJ IDEA tips and tricks by Jetbrains Use keyboard only To learn how to use only the keyboard, try to use the Key promoter plugin which shows to user how one can easily make the same action using only keyboard (menus and toolbar button mouse clicks initiates shortcut display). Print the IntelliJ keymap for your OS and use it Use structural search Multi-cursor edit
  • 10. Building a Real-Time Risk Analysis System in Java by GLE:FP (1) Maven best practices proposed : source: javaformatter + jrx https: //code.google.com/p/maven-java-formatter-plugin/ https: //maven.apache.org/plugins/maven-jxr-plugin/ packaging: appassembler + war + assembly http://mojo.codehaus.org/appassembler/ appassembler-maven-plugin/ release: release + changes + buildnumber https: //maven.apache.org/plugins/maven-changes-plugin/ http://maven.apache.org/maven-release/ maven-release-plugin/
  • 11. Building a Real-Time Risk Analysis System in Java by GLE:FP (2) Maven best practices proposed : documentation : site markdown + sample/snippet + linkcheck + pdf + umlgraph dependency: version + overview + enforcer-plugin + dependency-tree test : pitest + failsafe + jacoco + checker Exception monitoring in logs (The Elasticsearch ELK Stack) logstash is a tool for managing events and logs http://logstash.net/ elastic search http://www.elasticsearch.org/ kibana - the RT data visualization dashboard http://www.elasticsearch.org/overview/kibana/
  • 12. BOF BrownBagLunch France The concept (from Wikipedia): a brown bag seminar, session or lunch is generally a training or information session during a lunch break. The term ”brown bag” refers to the packed lunch meals that are either brought along by the attendees or provided by the host. In the USA, these are often packed in brown paper bags. Brown bag seminars will normally run for one or two hours. http://en.wikipedia.org/wiki/Brown_bag_seminar The site: http://www.brownbaglunch.fr/ Specialists list: http://www.brownbaglunch.fr/baggers.html
  • 13. Virtualization 2.0 et kernel linux by Xebia No hypervisor : use linux control groups Control hardware resource usage Resources isolation via namespaces lxc-{create | start | ls | stop }
  • 14. 33 things you want to do better by T. Bujok (1) Libraries: lombock annotations to be used to simplify Java POJOs @Data @Builder @Log4j @Cleanup @Delegate http://projectlombok.org/ lambdaj https://code.google.com/p/lambdaj/ slf4j TODO : remove .printStackTrace - it does not show the source of error; TODO : remove Log4j loggin with no formatting clause (idem) spock is a testing and specification framework for Java and Groovy applications. https://code.google.com/p/spock/ unitils is an open source library aimed at making unit and integration testing easy and maintainable @InjectInto @InjectIntoStatic http://www.unitils.org/ gauva : cache, optional, multivalue sets, etc
  • 15. 33 things you want to do better by T. Bujok (2) Testing: junitparams @Params, $() = new Object[]{}; https://code.google.com/p/junitparams/ awaitility await().atMost(5, SECONDS).until(costumerStatusIsUpdated()); https://code.google.com/p/awaitility/ byteman byte code injection : could be used for tracing, etc http://www.jboss.org/byteman Try to use more Groovy for scripting and development