🗊Презентация Быть в 10 раз эффективнее благодаря Groovy

Нажмите для полного просмотра!
Быть в 10 раз эффективнее благодаря Groovy, слайд №1Быть в 10 раз эффективнее благодаря Groovy, слайд №2Быть в 10 раз эффективнее благодаря Groovy, слайд №3Быть в 10 раз эффективнее благодаря Groovy, слайд №4Быть в 10 раз эффективнее благодаря Groovy, слайд №5Быть в 10 раз эффективнее благодаря Groovy, слайд №6Быть в 10 раз эффективнее благодаря Groovy, слайд №7Быть в 10 раз эффективнее благодаря Groovy, слайд №8Быть в 10 раз эффективнее благодаря Groovy, слайд №9Быть в 10 раз эффективнее благодаря Groovy, слайд №10Быть в 10 раз эффективнее благодаря Groovy, слайд №11Быть в 10 раз эффективнее благодаря Groovy, слайд №12Быть в 10 раз эффективнее благодаря Groovy, слайд №13Быть в 10 раз эффективнее благодаря Groovy, слайд №14Быть в 10 раз эффективнее благодаря Groovy, слайд №15Быть в 10 раз эффективнее благодаря Groovy, слайд №16Быть в 10 раз эффективнее благодаря Groovy, слайд №17Быть в 10 раз эффективнее благодаря Groovy, слайд №18Быть в 10 раз эффективнее благодаря Groovy, слайд №19Быть в 10 раз эффективнее благодаря Groovy, слайд №20Быть в 10 раз эффективнее благодаря Groovy, слайд №21Быть в 10 раз эффективнее благодаря Groovy, слайд №22Быть в 10 раз эффективнее благодаря Groovy, слайд №23Быть в 10 раз эффективнее благодаря Groovy, слайд №24Быть в 10 раз эффективнее благодаря Groovy, слайд №25Быть в 10 раз эффективнее благодаря Groovy, слайд №26Быть в 10 раз эффективнее благодаря Groovy, слайд №27Быть в 10 раз эффективнее благодаря Groovy, слайд №28Быть в 10 раз эффективнее благодаря Groovy, слайд №29Быть в 10 раз эффективнее благодаря Groovy, слайд №30Быть в 10 раз эффективнее благодаря Groovy, слайд №31Быть в 10 раз эффективнее благодаря Groovy, слайд №32Быть в 10 раз эффективнее благодаря Groovy, слайд №33Быть в 10 раз эффективнее благодаря Groovy, слайд №34Быть в 10 раз эффективнее благодаря Groovy, слайд №35Быть в 10 раз эффективнее благодаря Groovy, слайд №36Быть в 10 раз эффективнее благодаря Groovy, слайд №37Быть в 10 раз эффективнее благодаря Groovy, слайд №38Быть в 10 раз эффективнее благодаря Groovy, слайд №39Быть в 10 раз эффективнее благодаря Groovy, слайд №40Быть в 10 раз эффективнее благодаря Groovy, слайд №41Быть в 10 раз эффективнее благодаря Groovy, слайд №42Быть в 10 раз эффективнее благодаря Groovy, слайд №43

Содержание

Вы можете ознакомиться и скачать презентацию на тему Быть в 10 раз эффективнее благодаря Groovy. Доклад-сообщение содержит 43 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Быть в 10 раз эффективнее благодаря Groovy
Описание слайда:
Быть в 10 раз эффективнее благодаря Groovy

Слайд 2





Smart1: система бронирования ТВ-рекламы
Вся реклама на телеканалах 1+1, 2+2, ТЕТ, CITI продается через Smart1
Месячный оборот 00 000 000 гр.
Информация о 1 300 000 размещениях рекламы
Сложная модель продаж - аукцион 
Отчеты 
Интеграция с внешними системами: 
GFK Mark Data Media Workstation, 1C
2 разработчика; 1,5 года; внедрено на втором месяце разработки
Описание слайда:
Smart1: система бронирования ТВ-рекламы Вся реклама на телеканалах 1+1, 2+2, ТЕТ, CITI продается через Smart1 Месячный оборот 00 000 000 гр. Информация о 1 300 000 размещениях рекламы Сложная модель продаж - аукцион  Отчеты  Интеграция с внешними системами: GFK Mark Data Media Workstation, 1C 2 разработчика; 1,5 года; внедрено на втором месяце разработки

Слайд 3


Быть в 10 раз эффективнее благодаря Groovy, слайд №3
Описание слайда:

Слайд 4





Архитектура
Описание слайда:
Архитектура

Слайд 5





Разработка
Описание слайда:
Разработка

Слайд 6





Производительность
Денормализация структуры БД
Тяжелые отчеты обновляются по расписанию
Ряд задач выполняется только ночью  
Описание слайда:
Производительность Денормализация структуры БД Тяжелые отчеты обновляются по расписанию Ряд задач выполняется только ночью  

Слайд 7





Строки кода
Описание слайда:
Строки кода

Слайд 8





От Java к Groovy
Smart1 - наш второй groovy проект
До перехода сомнения:
что такого принципиального может дать groovy?
зачем терять часть возможностей IDE?
огромный тормоз
После перехода:
сожаление, что gwt не позволяет использовать groovy, чтобы полностью отказаться от java
Описание слайда:
От Java к Groovy Smart1 - наш второй groovy проект До перехода сомнения: что такого принципиального может дать groovy? зачем терять часть возможностей IDE? огромный тормоз После перехода: сожаление, что gwt не позволяет использовать groovy, чтобы полностью отказаться от java

Слайд 9





Опрос: Насколько Groovy эффективнее Java?
4-6 раз, коллеги
Я бы сказал 2-3 раза, Алекс Ткачман
Я обычно продуктивнее в 2 с лишним. Иногда groovy действительно упрощает проблему и я становлюсь в 3-5 раз продуктивнее. Давид Кларк
Моя продуктивность легко достигает 10 раз. Jochen Theodorou  
Описание слайда:
Опрос: Насколько Groovy эффективнее Java? 4-6 раз, коллеги Я бы сказал 2-3 раза, Алекс Ткачман Я обычно продуктивнее в 2 с лишним. Иногда groovy действительно упрощает проблему и я становлюсь в 3-5 раз продуктивнее. Давид Кларк Моя продуктивность легко достигает 10 раз. Jochen Theodorou  

Слайд 10





Groovy - это гораздо больше, чем убрать из Java ; и типы!
значительно меньше кода
код значительно читабельнее
значительно выше повторное использование
легко создаются DSL
не нужен псевдокод
Описание слайда:
Groovy - это гораздо больше, чем убрать из Java ; и типы! значительно меньше кода код значительно читабельнее значительно выше повторное использование легко создаются DSL не нужен псевдокод

Слайд 11





Коротко и выразительно!
Взять все проходящие размещения и отсортировать сначала по цене, потом по дате создания
Описание слайда:
Коротко и выразительно! Взять все проходящие размещения и отсортировать сначала по цене, потом по дате создания

Слайд 12


Быть в 10 раз эффективнее благодаря Groovy, слайд №12
Описание слайда:

Слайд 13





Коротко и выразительно!
Вернуть короткие названия бюджетных месяцев
Описание слайда:
Коротко и выразительно! Вернуть короткие названия бюджетных месяцев

Слайд 14





Коротко и выразительно!
Эфирное время конца программы – это время начала первого из послепрограмных блоков, либо время конца программы
Описание слайда:
Коротко и выразительно! Эфирное время конца программы – это время начала первого из послепрограмных блоков, либо время конца программы

Слайд 15


Быть в 10 раз эффективнее благодаря Groovy, слайд №15
Описание слайда:

Слайд 16





Коротко и выразительно!
Если плательщик задан, то вернуть его, иначе взять плательщика из прошлого периода. Если в прошлом периоде нет плательщиков, то взять любого из агентства.
Описание слайда:
Коротко и выразительно! Если плательщик задан, то вернуть его, иначе взять плательщика из прошлого периода. Если в прошлом периоде нет плательщиков, то взять любого из агентства.

Слайд 17


Быть в 10 раз эффективнее благодаря Groovy, слайд №17
Описание слайда:

Слайд 18





Немного сложнее?
Взять размещения из самой популярной категории
Описание слайда:
Немного сложнее? Взять размещения из самой популярной категории

Слайд 19





Java, с использованием «библиотечных» groupBy и last:
Java, с использованием «библиотечных» groupBy и last:
Описание слайда:
Java, с использованием «библиотечных» groupBy и last: Java, с использованием «библиотечных» groupBy и last:

Слайд 20





Java, прямая реализация:
Java, прямая реализация:
Описание слайда:
Java, прямая реализация: Java, прямая реализация:

Слайд 21





Сила Closure
Настоящие возможности открываются, когда мы понимаем что такое Closure
sort, findAll, groupBy и т.п – все навсего методы принимающие Closure и мы можем делать такие свои
Описание слайда:
Сила Closure Настоящие возможности открываются, когда мы понимаем что такое Closure sort, findAll, groupBy и т.п – все навсего методы принимающие Closure и мы можем делать такие свои

Слайд 22





Сила Closure
Получить Map время, на название (названия уникальны для времени)
Описание слайда:
Сила Closure Получить Map время, на название (названия уникальны для времени)

Слайд 23





Расширение существующих классов
Мы можем добавлять методы и поля к уже написанным классам без наследования.
Наш mapUnique можно вызывать на любой коллекции
robot.grp = 22.centi
scheduleMonth.month = 2009.jan
block.startTime = /17:59/.time
Описание слайда:
Расширение существующих классов Мы можем добавлять методы и поля к уже написанным классам без наследования. Наш mapUnique можно вызывать на любой коллекции robot.grp = 22.centi scheduleMonth.month = 2009.jan block.startTime = /17:59/.time

Слайд 24





Расширение существующих классов
Методы у Object дают нам следующий синтаксис:
Описание слайда:
Расширение существующих классов Методы у Object дают нам следующий синтаксис:

Слайд 25





Расширение существующих классов
Сделаем немного удобнее Hibernate Criteria API:
Описание слайда:
Расширение существующих классов Сделаем немного удобнее Hibernate Criteria API:

Слайд 26





DSL делается легко
Описание слайда:
DSL делается легко

Слайд 27


Быть в 10 раз эффективнее благодаря Groovy, слайд №27
Описание слайда:

Слайд 28





DSL делается легко
Описание слайда:
DSL делается легко

Слайд 29





Selenium junit тест
Описание слайда:
Selenium junit тест

Слайд 30





Динамика
Динамическое программирование позволяет нам понять что такое повторное использование по настоящему!
Например давайте перестанем каждый раз делать одно и тоже для Bidirectional Association и Lazy Initialization:
Описание слайда:
Динамика Динамическое программирование позволяет нам понять что такое повторное использование по настоящему! Например давайте перестанем каждый раз делать одно и тоже для Bidirectional Association и Lazy Initialization:

Слайд 31





Bidirectional Association
Описание слайда:
Bidirectional Association

Слайд 32





Bidirectional Association
И теперь мы сразу можем работать:
Описание слайда:
Bidirectional Association И теперь мы сразу можем работать:

Слайд 33





Bidirectional Association
Этого писать не нужно:
Описание слайда:
Bidirectional Association Этого писать не нужно:

Слайд 34





Lazy initialization
Описание слайда:
Lazy initialization

Слайд 35





Но не все так хорошо
Скорость?
IDE?
Описание слайда:
Но не все так хорошо Скорость? IDE?

Слайд 36





Реально тормоз!
Groovy работает в 10 раз медленнее Java
Описание слайда:
Реально тормоз! Groovy работает в 10 раз медленнее Java

Слайд 37





Benchmark Groovy, Grovy++, Java
Описание слайда:
Benchmark Groovy, Grovy++, Java

Слайд 38





Но на этом можно работать
Groovy работает также как Python, Ruby, PHP и т.п.
Описание слайда:
Но на этом можно работать Groovy работает также как Python, Ruby, PHP и т.п.

Слайд 39





Benchmark Java, Python, Ruby
Описание слайда:
Benchmark Java, Python, Ruby

Слайд 40





Скорость Groovy
не забываем, что часто узкое место база данных
любой фрагмент можно переписать на java
любой фрагмент можно переписать сделать Groovy++
Описание слайда:
Скорость Groovy не забываем, что часто узкое место база данных любой фрагмент можно переписать на java любой фрагмент можно переписать сделать Groovy++

Слайд 41





Groovy++
Статически типизированное расширение Groovy
По скорости выполнения почти не уступает Java
Может рассматриваться как альтернатива Scala
Пишется небольшой группой энтузиастов (один хакер?), мало используется
Описание слайда:
Groovy++ Статически типизированное расширение Groovy По скорости выполнения почти не уступает Java Может рассматриваться как альтернатива Scala Пишется небольшой группой энтузиастов (один хакер?), мало используется

Слайд 42





IDEA
IDEA в целом очень хорошо поддерживает groovy:
Для работы с динамическими методами и полями в IDEA есть Dynamic properties
Работает выведение типов, в основном 
Тем не менее:
Для динамики мы теряем автоматический рефакторинг и высокоуровневый поиск (findUsages)
В отладчике иногда сильно тормозит Step Into
Описание слайда:
IDEA IDEA в целом очень хорошо поддерживает groovy: Для работы с динамическими методами и полями в IDEA есть Dynamic properties Работает выведение типов, в основном  Тем не менее: Для динамики мы теряем автоматический рефакторинг и высокоуровневый поиск (findUsages) В отладчике иногда сильно тормозит Step Into

Слайд 43





Спасибо
Описание слайда:
Спасибо



Похожие презентации
Mypresentation.ru
Загрузить презентацию