SlideShare a Scribd company logo
1 of 79
Gradle 2.
Write once, build everywhere.
Sergey Morenets, morenets@mail.ru
June, 6 2015
About author
• Works in IT since 2000
• 11 year of Java SE/EE experience
• Regular speaker at Java conferences
• Author of “Development of Java applications” and
“Main errors in Java programming ”books
• Founder of http://it-simulator.com
• 3 years of Gradle usage
Agenda
Agenda
Agenda
Apache Ant
• Offers extreme flexibility
• Imposes no convention or project standards
• Maintenance headache
• Support Ruby, Groovy, JavaScript, Judoscript,
Jython scripting
Apache Ivy
• Agile dependency manager
• Transitive dependencies
• Ant & Maven integration
• Enhanced support of repositories
Apache Maven
• Support for dependency management
• Standard project layout
• Archetypes
• Hard customization
• Declarative approach
• Plugin execution framework
Build systems
Apache Maven
Ant plugin
Groovy plugin
Echo plugin
Gradle
Issue #1. XML
• Large and complex files are hard to understand
• Hierarchical structure limits the expressiveness
of the format
• Good format for the data and complex for the flow
Hans Dockter
• Founder of Gradle and Gradleware
• 13 years of experience as a software developer,
team leader, architect, trainer, and mentor
• Previously worked at Jboss and founded Jboss-IDE
• Holds a Diploma in Physics with a minor in Computer
Science
• Admirer of domain-driven-design
Slogan
• Make the impossible possible
• Make the possible easy
• Make the easy elegant
Solution #1. Groovy
• An agile and dynamic language for the Java
Virtual Machine
• Makes modern programming features available to
Java developers with almost-zero learning curve
• Provides the ability to statically type
check and statically compile your code for
robustness and performance
• Share base syntax, type system, packages
hierarchy with Java
• Every Gradle build file is Groovy script
Gradle
Gradle
• Development started in Apr 2008
• Current version 2.4 released in May 2015
• Default build tool for Android OS
Gradle overview
• A flexible general purpose build tool
• Programming tool
• Declarative builds and build-by-convention
• Multi-project support
• Powerful dependency management
Development
Version Release date
Maven 1.0 2004
Maven 2.0 2005
Maven 3.0 2010
Maven 3.1 2013
Maven 3.3 2015
Development
Version Release date
Gradle 0.7 2009
Gradle 1.0 2012
Gradle 1.5 2013
Gradle 2.0 2014
Gradle 2.4 2015
Build structure
Hello world
$ gradle helloWorld
build.gradle
Maven pom
Sample project
Sample project
Custom task
• Writes audit information at the end of the build
• Audit information includes project name and build
timestamp
• Audit files are located in the separate folder
Custom task
Custom task
Cache everything
• Remote metadata and artifacts
• Transitive dependency resolution
• Build execution plan
• Plugin inputs and outputs
• Test results
Daemon
• Improves startup and execution time of Gradle
• Initial Gradle command forks daemon process
• Subsequent Gradle commands reuse the build
daemon
• If daemon is currently busy then new daemon
process is started on-demand
• Useful for small tasks execution
• Expires after 3 hours of idle time
gradle.properties
• org.gradle.daemon=true
• org.gradle.configureondemand=true
• org.gradle.parallel=true
• org.gradle.java.home=C:Program
FilesJavajdk1.8.0_45
• org.gradle.jvmargs=-Xmx100m
Test execution
# of threads H2 – time(sec) MySQL – time(sec)
1 24,4 27,5
2 31,1 36,9
4 46,2 51,1
8 71,1 80,5
Plugin
• Reusable pieces of build logic
• Can be used in different projects/builds
Plugin
• Add tasks to the project
• Pre-configure added tasks with useful defaults
• Add dependency configurations to the project
• Add new properties and methods to existing type
via extensions
Plugin import
Plugin portal
Custom plugin
gradle helloWorld
Maven
Gradle
Integrates with everything
Gradle and Maven
Properties
Properties
Comparison
• Maven 3.3.3
• Gradle 2.4
• JDK 1.8.0.45
• Intel Core i7, 4 cores, 16 GB
• Optimized and default modes
Comparison
Operation Gradle
(opt)
Gradle
(daemon)
Gradle(no
daemon)
Maven Maven
(parall)
Build(sec) 8,03 10,73 13,68 12,40 13,02
Inc build(sec) 1,92 2,16 4,74 4,62 4,64
Clean(sec) 1,03 1,20 2,77 1,71 1,70
Gradle
Optimized Not optimized
Maven
Optimized Not optimized
Maven converter
• maven2Gradle is obsolete now
• Build init plugin converts:
o POM settings
o Dependencies
o Properties
o Java compiler settings
o Single- and multi-project settings
o Packaging of sources and tests
Repositories
Maven Scope
Maven Scope
Scopes:
• compile
• provided
• runtime
• test
• system
• import
Dependencies
Scope flexibility
Version management
Profiles
• build.gradle
• dev-profile.gradle
• test-profile.gradle
• $ gradle –Pprofile=dev build
Skip tasks
• $ gradle -PskipTests
Caching
• Gradle caches all compiles scripts by default
• Compiled scripts are put into .gradle folder
• Gradle uses compiled version if the script hasn’t
changed
• --recompile-scripts option discards cache
Wrapper
• Preferred way of starting a Gradle build
• Gradle will be automatically downloaded via
wrapper
• Includes shell script
• Useful for CI tasks
Practical tasks
• Multiple projects
• Liquibase
• Deployment
Multiple projects
• Huge project
• Multiple sub-projects/pom.xml files
• Complicated maintenance
Liquibase
• Plugins for 2 and 3 versions
• Lightweight front-end for Liquibase command-line
• Gradle task for each Liquibase command
Deployment
• Separate plugins for Jetty/Tomcat
• General plugin for multiple containers
Cargo plugin
Cargo plugin
Pros
• Native Java/Scala/Groovy support
• Ant/Maven/Ivy integration
• Full IDE support
• Flexible DSL
• Multiple third-party plugins(70+)
• Declarative & imperative approaches
• Rapid development
• Performance
Cons
• Compilation & run-time issues
• Larger learning curve
• Less community & industry support
Future
Practice
• https://github.com/hibernate/hibernate-orm
• https://github.com/SpringSource/spring-framework
• https://github.com/gradle/gradle
Q&A
• Sergey Morenets, morenets@mail.ru

More Related Content

What's hot

There's more to Ratpack than non-blocking
There's more to Ratpack than non-blockingThere's more to Ratpack than non-blocking
There's more to Ratpack than non-blockingMarcin Erdmann
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
 
Cucumber jvm best practices v3
Cucumber jvm best practices v3Cucumber jvm best practices v3
Cucumber jvm best practices v3Ahmed Misbah
 
MyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMatanGoren
 
Blazing Fast Feedback Loops in the Java Universe
Blazing Fast Feedback Loops in the Java UniverseBlazing Fast Feedback Loops in the Java Universe
Blazing Fast Feedback Loops in the Java UniverseMichał Kordas
 
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVMPolygot Java EE on the GraalVM
Polygot Java EE on the GraalVMRyan Cuprak
 
Gwt overview & getting started
Gwt overview & getting startedGwt overview & getting started
Gwt overview & getting startedBinh Bui
 
Common blind spots on the journey to production vijay raghavan aravamudhan
Common blind spots on the journey to production  vijay raghavan aravamudhanCommon blind spots on the journey to production  vijay raghavan aravamudhan
Common blind spots on the journey to production vijay raghavan aravamudhanXP Conference India
 
Ratpack Web Framework
Ratpack Web FrameworkRatpack Web Framework
Ratpack Web FrameworkDaniel Woods
 
Gradle - Build system evolved
Gradle - Build system evolvedGradle - Build system evolved
Gradle - Build system evolvedBhagwat Kumar
 
Atagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using dockerAtagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using dockerAgile Testing Alliance
 

What's hot (20)

Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
 
There's more to Ratpack than non-blocking
There's more to Ratpack than non-blockingThere's more to Ratpack than non-blocking
There's more to Ratpack than non-blocking
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...
 
Cucumber jvm best practices v3
Cucumber jvm best practices v3Cucumber jvm best practices v3
Cucumber jvm best practices v3
 
MyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing Infra
 
Javantura v4 - Test-driven documentation with Spring REST Docs - Danijel Mitar
Javantura v4 - Test-driven documentation with Spring REST Docs - Danijel MitarJavantura v4 - Test-driven documentation with Spring REST Docs - Danijel Mitar
Javantura v4 - Test-driven documentation with Spring REST Docs - Danijel Mitar
 
Geb Best Practices
Geb Best PracticesGeb Best Practices
Geb Best Practices
 
Blazing Fast Feedback Loops in the Java Universe
Blazing Fast Feedback Loops in the Java UniverseBlazing Fast Feedback Loops in the Java Universe
Blazing Fast Feedback Loops in the Java Universe
 
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVMPolygot Java EE on the GraalVM
Polygot Java EE on the GraalVM
 
Gwt overview & getting started
Gwt overview & getting startedGwt overview & getting started
Gwt overview & getting started
 
Jenkins
JenkinsJenkins
Jenkins
 
Javantura v4 - Angular2 - Ionic2 - from birth to stable versions - Hrvoje Pek...
Javantura v4 - Angular2 - Ionic2 - from birth to stable versions - Hrvoje Pek...Javantura v4 - Angular2 - Ionic2 - from birth to stable versions - Hrvoje Pek...
Javantura v4 - Angular2 - Ionic2 - from birth to stable versions - Hrvoje Pek...
 
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
Javantura v4 - What’s NOT new in modular Java - Milen DyankovJavantura v4 - What’s NOT new in modular Java - Milen Dyankov
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
 
Common blind spots on the journey to production vijay raghavan aravamudhan
Common blind spots on the journey to production  vijay raghavan aravamudhanCommon blind spots on the journey to production  vijay raghavan aravamudhan
Common blind spots on the journey to production vijay raghavan aravamudhan
 
Javantura v4 - Android App Development in 2017 - Matej Vidaković
Javantura v4 - Android App Development in 2017 - Matej VidakovićJavantura v4 - Android App Development in 2017 - Matej Vidaković
Javantura v4 - Android App Development in 2017 - Matej Vidaković
 
Ratpack Web Framework
Ratpack Web FrameworkRatpack Web Framework
Ratpack Web Framework
 
Gradle - Build system evolved
Gradle - Build system evolvedGradle - Build system evolved
Gradle - Build system evolved
 
Javantura v4 - The power of cloud in professional services company - Ivan Krn...
Javantura v4 - The power of cloud in professional services company - Ivan Krn...Javantura v4 - The power of cloud in professional services company - Ivan Krn...
Javantura v4 - The power of cloud in professional services company - Ivan Krn...
 
Atagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using dockerAtagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using docker
 

Similar to Сергей Моренец: "Gradle. Write once, build everywhere"

Gradle,the new build system for android
Gradle,the new build system for androidGradle,the new build system for android
Gradle,the new build system for androidzhang ghui
 
Scala and Play with Gradle
Scala and Play with GradleScala and Play with Gradle
Scala and Play with GradleWei Chen
 
Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]Ryan Cuprak
 
Comparison of Java Web Application Frameworks
Comparison of Java Web Application FrameworksComparison of Java Web Application Frameworks
Comparison of Java Web Application FrameworksAngelin R
 
OUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th JanuaryOUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th JanuaryBrendan Tierney
 
Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondKaushal Dhruw
 
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsFrom GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsBruno Borges
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0Eric Wendelin
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production Tal Maayani
 
Using Grunt with Drupal
Using Grunt with DrupalUsing Grunt with Drupal
Using Grunt with Drupalarithmetric
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overviewJesse Warden
 
Swagger - Making REST APIs friendlier
Swagger - Making REST APIs friendlierSwagger - Making REST APIs friendlier
Swagger - Making REST APIs friendlierMiroslav Resetar
 

Similar to Сергей Моренец: "Gradle. Write once, build everywhere" (20)

Gradle - Build System
Gradle - Build SystemGradle - Build System
Gradle - Build System
 
Hands on Gradle
Hands on GradleHands on Gradle
Hands on Gradle
 
Building with Gradle
Building with GradleBuilding with Gradle
Building with Gradle
 
Building with Gradle
Building with GradleBuilding with Gradle
Building with Gradle
 
Gradle,the new build system for android
Gradle,the new build system for androidGradle,the new build system for android
Gradle,the new build system for android
 
Scala and Play with Gradle
Scala and Play with GradleScala and Play with Gradle
Scala and Play with Gradle
 
Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]
 
Gradle
GradleGradle
Gradle
 
Comparison of Java Web Application Frameworks
Comparison of Java Web Application FrameworksComparison of Java Web Application Frameworks
Comparison of Java Web Application Frameworks
 
OUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th JanuaryOUG Ireland Meet-up 12th January
OUG Ireland Meet-up 12th January
 
Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & Beyond
 
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsFrom GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production
 
Using Grunt with Drupal
Using Grunt with DrupalUsing Grunt with Drupal
Using Grunt with Drupal
 
Gradle
GradleGradle
Gradle
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overview
 
Swagger - Making REST APIs friendlier
Swagger - Making REST APIs friendlierSwagger - Making REST APIs friendlier
Swagger - Making REST APIs friendlier
 

More from Provectus

Василий Захарченко: "Взгляд на queryDsl-sql фреймворк как альтернатива Hiber...
Василий Захарченко: "Взгляд на  queryDsl-sql фреймворк как альтернатива Hiber...Василий Захарченко: "Взгляд на  queryDsl-sql фреймворк как альтернатива Hiber...
Василий Захарченко: "Взгляд на queryDsl-sql фреймворк как альтернатива Hiber...Provectus
 
Get to know provectus
Get to know provectusGet to know provectus
Get to know provectusProvectus
 
Why I want to Kazan
Why I want to KazanWhy I want to Kazan
Why I want to KazanProvectus
 
Артем Тритяк, Lead Front-End developer в Electric Cloud
 Артем Тритяк, Lead Front-End developer в Electric Cloud Артем Тритяк, Lead Front-End developer в Electric Cloud
Артем Тритяк, Lead Front-End developer в Electric CloudProvectus
 
Максим Мазурок “Material Design in Web Applications.”
Максим Мазурок “Material Design in Web Applications.”Максим Мазурок “Material Design in Web Applications.”
Максим Мазурок “Material Design in Web Applications.”Provectus
 
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...Provectus
 
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...Provectus
 
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...Provectus
 
Виталий Чмыхун (Provectus) “Как мы автоматизировали мобайл деплоймент.”
Виталий Чмыхун (Provectus) “Как мы автоматизировали мобайл деплоймент.”Виталий Чмыхун (Provectus) “Как мы автоматизировали мобайл деплоймент.”
Виталий Чмыхун (Provectus) “Как мы автоматизировали мобайл деплоймент.”Provectus
 
Артем Крикун (AT Production) “Промо-видео для приложений.”
Артем Крикун (AT Production) “Промо-видео для приложений.”Артем Крикун (AT Production) “Промо-видео для приложений.”
Артем Крикун (AT Production) “Промо-видео для приложений.”Provectus
 
Роман Колос (ComboApp) “Методология использования инструментов аналитики в ма...
Роман Колос (ComboApp) “Методология использования инструментов аналитики в ма...Роман Колос (ComboApp) “Методология использования инструментов аналитики в ма...
Роман Колос (ComboApp) “Методология использования инструментов аналитики в ма...Provectus
 
Галина Дивакова (Clickky) “Вывод мобильных приложений в ТОП.”
Галина Дивакова (Clickky) “Вывод мобильных приложений в ТОП.”Галина Дивакова (Clickky) “Вывод мобильных приложений в ТОП.”
Галина Дивакова (Clickky) “Вывод мобильных приложений в ТОП.”Provectus
 
Евгений Плохой (CapableBits) “Продвижение приложений до и после выхода на рын...
Евгений Плохой (CapableBits) “Продвижение приложений до и после выхода на рын...Евгений Плохой (CapableBits) “Продвижение приложений до и после выхода на рын...
Евгений Плохой (CapableBits) “Продвижение приложений до и после выхода на рын...Provectus
 
Сергей Укустов (Provectus IT): "Несоциалочка на Рельсах"
Сергей Укустов (Provectus IT): "Несоциалочка на Рельсах"Сергей Укустов (Provectus IT): "Несоциалочка на Рельсах"
Сергей Укустов (Provectus IT): "Несоциалочка на Рельсах"Provectus
 
Василевский Илья (Fun-box): "автоматизация браузера при помощи PhantomJS"
Василевский Илья (Fun-box): "автоматизация браузера при помощи PhantomJS"Василевский Илья (Fun-box): "автоматизация браузера при помощи PhantomJS"
Василевский Илья (Fun-box): "автоматизация браузера при помощи PhantomJS"Provectus
 
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...Provectus
 
Логотип — Бизнес или творчество
Логотип — Бизнес или творчествоЛоготип — Бизнес или творчество
Логотип — Бизнес или творчествоProvectus
 
ЕСЛИ БЫ УОЛТ ДИСНЕЙ ДЕЛАЛ ИНТЕРФЕЙСЫ. MOTION DESIGN. ПРАКТИКА
ЕСЛИ БЫ УОЛТ ДИСНЕЙ ДЕЛАЛ ИНТЕРФЕЙСЫ. MOTION DESIGN. ПРАКТИКАЕСЛИ БЫ УОЛТ ДИСНЕЙ ДЕЛАЛ ИНТЕРФЕЙСЫ. MOTION DESIGN. ПРАКТИКА
ЕСЛИ БЫ УОЛТ ДИСНЕЙ ДЕЛАЛ ИНТЕРФЕЙСЫ. MOTION DESIGN. ПРАКТИКАProvectus
 
Требования к заказчику. Роль QA в процессе постановки тех. задания
Требования к заказчику. Роль QA в процессе постановки тех. заданияТребования к заказчику. Роль QA в процессе постановки тех. задания
Требования к заказчику. Роль QA в процессе постановки тех. заданияProvectus
 

More from Provectus (20)

Василий Захарченко: "Взгляд на queryDsl-sql фреймворк как альтернатива Hiber...
Василий Захарченко: "Взгляд на  queryDsl-sql фреймворк как альтернатива Hiber...Василий Захарченко: "Взгляд на  queryDsl-sql фреймворк как альтернатива Hiber...
Василий Захарченко: "Взгляд на queryDsl-sql фреймворк как альтернатива Hiber...
 
Get to know provectus
Get to know provectusGet to know provectus
Get to know provectus
 
Why I want to Kazan
Why I want to KazanWhy I want to Kazan
Why I want to Kazan
 
Артем Тритяк, Lead Front-End developer в Electric Cloud
 Артем Тритяк, Lead Front-End developer в Electric Cloud Артем Тритяк, Lead Front-End developer в Electric Cloud
Артем Тритяк, Lead Front-End developer в Electric Cloud
 
Hackathon
HackathonHackathon
Hackathon
 
Максим Мазурок “Material Design in Web Applications.”
Максим Мазурок “Material Design in Web Applications.”Максим Мазурок “Material Design in Web Applications.”
Максим Мазурок “Material Design in Web Applications.”
 
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
Дима Гадомский (Юскутум) “Можно ли позаимствовать дизайн и функционал так, чт...
 
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...
Михаил Лебединский (Termopal) “Особенности разработки веб и мобильных приложе...
 
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...
Федор Поляков (Looksery) “Face Tracking на мобильных устройствах в режиме реа...
 
Виталий Чмыхун (Provectus) “Как мы автоматизировали мобайл деплоймент.”
Виталий Чмыхун (Provectus) “Как мы автоматизировали мобайл деплоймент.”Виталий Чмыхун (Provectus) “Как мы автоматизировали мобайл деплоймент.”
Виталий Чмыхун (Provectus) “Как мы автоматизировали мобайл деплоймент.”
 
Артем Крикун (AT Production) “Промо-видео для приложений.”
Артем Крикун (AT Production) “Промо-видео для приложений.”Артем Крикун (AT Production) “Промо-видео для приложений.”
Артем Крикун (AT Production) “Промо-видео для приложений.”
 
Роман Колос (ComboApp) “Методология использования инструментов аналитики в ма...
Роман Колос (ComboApp) “Методология использования инструментов аналитики в ма...Роман Колос (ComboApp) “Методология использования инструментов аналитики в ма...
Роман Колос (ComboApp) “Методология использования инструментов аналитики в ма...
 
Галина Дивакова (Clickky) “Вывод мобильных приложений в ТОП.”
Галина Дивакова (Clickky) “Вывод мобильных приложений в ТОП.”Галина Дивакова (Clickky) “Вывод мобильных приложений в ТОП.”
Галина Дивакова (Clickky) “Вывод мобильных приложений в ТОП.”
 
Евгений Плохой (CapableBits) “Продвижение приложений до и после выхода на рын...
Евгений Плохой (CapableBits) “Продвижение приложений до и после выхода на рын...Евгений Плохой (CapableBits) “Продвижение приложений до и после выхода на рын...
Евгений Плохой (CapableBits) “Продвижение приложений до и после выхода на рын...
 
Сергей Укустов (Provectus IT): "Несоциалочка на Рельсах"
Сергей Укустов (Provectus IT): "Несоциалочка на Рельсах"Сергей Укустов (Provectus IT): "Несоциалочка на Рельсах"
Сергей Укустов (Provectus IT): "Несоциалочка на Рельсах"
 
Василевский Илья (Fun-box): "автоматизация браузера при помощи PhantomJS"
Василевский Илья (Fun-box): "автоматизация браузера при помощи PhantomJS"Василевский Илья (Fun-box): "автоматизация браузера при помощи PhantomJS"
Василевский Илья (Fun-box): "автоматизация браузера при помощи PhantomJS"
 
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
 
Логотип — Бизнес или творчество
Логотип — Бизнес или творчествоЛоготип — Бизнес или творчество
Логотип — Бизнес или творчество
 
ЕСЛИ БЫ УОЛТ ДИСНЕЙ ДЕЛАЛ ИНТЕРФЕЙСЫ. MOTION DESIGN. ПРАКТИКА
ЕСЛИ БЫ УОЛТ ДИСНЕЙ ДЕЛАЛ ИНТЕРФЕЙСЫ. MOTION DESIGN. ПРАКТИКАЕСЛИ БЫ УОЛТ ДИСНЕЙ ДЕЛАЛ ИНТЕРФЕЙСЫ. MOTION DESIGN. ПРАКТИКА
ЕСЛИ БЫ УОЛТ ДИСНЕЙ ДЕЛАЛ ИНТЕРФЕЙСЫ. MOTION DESIGN. ПРАКТИКА
 
Требования к заказчику. Роль QA в процессе постановки тех. задания
Требования к заказчику. Роль QA в процессе постановки тех. заданияТребования к заказчику. Роль QA в процессе постановки тех. задания
Требования к заказчику. Роль QA в процессе постановки тех. задания
 

Recently uploaded

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

Сергей Моренец: "Gradle. Write once, build everywhere"