SlideShare a Scribd company logo
2 ДЕКАБРЯ, 2017
DEVELOPER'S SOFTWARE CONFERENCE
НА ПУТИ К
СОВЕРШЕННОМУ
ИНЖИНИРИНГУ
2
О СЕБЕ
Александр Радкевич
Software Engineer
3
О ЧЕМ Я РАССКАЖУ
• Качество кода
• Как повысить качество кода
• Как убедиться, что код качественный
• Инструменты и процессы
4
КАЧЕСТВО КОДА
• Функциональность
• Надежность
• Удобство использования
• Эффективность
• Затраты на поддержку
• Переносимость
5
СТАНДАРТЫ КОДА
CODE
• Правила именования
• Структура директорий/пакетов
• Форматирование кода
• Документация
• Такой же набор инструментов
• Логирование
6
TEST
CODE
АВТО ТЕСТЫ
Мануальные тесты
Системные тесты
Интеграционные тесты
Модульные тесты
7
TEST
BUILD
АВТОМАТИЗАЦИЯ СБОРКИ
8
BUILD
PRE
REVIEW
ПРОСМОТР КОДА ПЕРЕД КОММИТОМ
9
PRE
REVIEW
COMMIT
ВЕРСИОННОСТЬ КОДА
10
COMMIT
INTEGRATE
НЕПРЕРЫВНАЯ ИНТЕГРАЦИЯ
11
POST
REVIEW
ПРОСМОТР КОДА
INTEGRATE
12
CODE
TEST
ПОДВЕДЕМ ИТОГИ
BUILD
REVIEW
COMMIT
INTEGRATE
REVIEW
13
О СЕБЕ
Кирилл Миловидов
Senior Software Engineer
14
О ЧЕМ Я РАССКАЖУ
• Что происходит после написания кода
• Что можно сделать на последующих этапах
• Почему важно не останавливаться
15
ПРОСТОЙ ЦИКЛ РЕЛИЗА
БИЗНЕС
АНАЛИЗ
РАЗРАБОТКА ТЕСТИРОВАНИЕ ПРИЕМКА PRODUCTION
DEV QA STAGING PRODОКРУЖЕНИЯ
16
ПЕРЕХОД НА СЛЕДУЮЩУЮ ФАЗУ
• Код проревьюван
• Билд успешно собран
• Тесты пройдены
• Анализ пройден
• Пройдено UAT
• Пройдена регрессия
• Пройдено нагрузочное
тестирование
17
СТАДИИ СОЗДАНИЯ АРТЕФАКТА
CODE
VCS
INTEGRATION
SERVER
BUILD
REPOSITORY
DEV
QA
PRODUCTION
18
VCS – СТРАТЕГИИ БРАНЧЕВАНИЯ
• Код интегрируется только
когда фича полностью готова
• Ветка изолирована от
внешних изменений
• В релиз идут только готовые
фичи
• Необходимость интеграций
между ветками
• Сложность осуществления
рефакторинга
• Некоторые сложность с CI
FEATURE BRANCHES MAINLINE FLOW
• Код мержится в основную
ветку очень часто
• В ветке находятся
незаконченные фичи
• Feature toggles
• Небольшие, но частые
мержи
• Поддержка концепции CI
19
CONTINUOUS INTEGRATION
VCS PUBLISHBUILD TEST
CONTINUOUS INTEGRATION
20
CONTINUOUS DELIVERY
VCS PUBLISHBUILD TEST
CONTINUOUS INTEGRATION
DEPLOY VERIFY
CONTINUOUS DELIVERY
21
LOGGING & PRODUCTION MONITORING
• Правильное написание
• Нет избыточности
• Есть тестирование логов
• Централизованное логирование
ЛОГИРОВАНИЕ
МОНИТОРИНГ
• Health мониторинг
• Log мониторинг
22
О СЕБЕ
Сергей Ярковой
Software Engineering
Team Leader
23
О ЧЕМ Я РАССКАЖУ
• Agile-практики
• Преимущества Agile-практик
• Подводные камни
• Как их обходить
24
AGILE-МАНИФЕСТ
Люди и взаимодействие важнее процессов и
инструментов
1
Работающий продукт важнее исчерпывающей
документации
2
Сотрудничество с заказчиком важнее согласования
условий контракта
3
Готовность к изменениям важнее следования
первоначальному плану
4
То есть, не отрицая важности того, что
справа, мы всё-таки больше ценим то, что
слева.
25
ПОПУЛЯРНЫЕ AGILE-ПРАКТИКИ
• Extreme programming (XP)
• Kanban
• Scrum
• Feature-driven development
• Lean software development
26
ПРЕИМУЩЕСТВА AGILE-ПРАКТИК
• Ранняя поставка продукта
• Частые релизы
• Регулярная обратная связь
• Принятие требований даже в конце разработки
• Мотивированная команда
• Коллективное владение кодом
• Возможность оценки выполненных и оставшихся
работ
27
ПОДВОДНЫЕ КАМНИ
• Согласованность требований
• Согласованность решений
28
ВИДЫ ТРЕБОВАНИЙ
ФУНКЦИОНАЛЬНЫЕ
АРХИТЕКТУРНО-ВАЖНЫЕ
НЕФУНКЦИОНАЛЬНЫЕ
29
ЭТАПЫ РАБОТЫ С ТРЕБОВАНИЯМИ
Идентификация1
Анализ2
Отслеживание3
Приоритизация4
Согласование5
30
КАКИЕ ПРОБЛЕМЫ МОГУТ БЫТЬ?
— это метафора,
обозначающая проблему,
возникающую в наличии
факта незавершенной
работы.
ТЕХНИЧЕСКИЙ ДОЛГ
31
ТЕХНИЧЕСКИЙ ДОЛГ
Код, над которым вы работаете,
должен отображать ваше текущее
понимание того, как должна
работать ваша программа.
,,
32
РАБОТА С ТЕХНИЧЕСКИМ ДОЛГОМ
• Сделайте долг видимым.
• Закладывайте время на работу с ним.
• Анализируйте ваш долг.
• Устанавливайте соглашения в команде.
• Выделяйте время на образование.
• Учитывайте зависимости.
33
ЖДЕМ ВАШИХ
ВОПРОСОВ
34
ЗА ВНИМАНИЕ
СПАСИБО

More Related Content

What's hot

Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
CEE-SEC(R)
 
работа в крупной компании на примере Banki.ru
работа в крупной компании на примере Banki.ruработа в крупной компании на примере Banki.ru
работа в крупной компании на примере Banki.ru
Yuri Afanasiev
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
ScrumTrek
 
12 m kononov20161026
12 m kononov2016102612 m kononov20161026
12 m kononov20161026
Bankir_Ru
 
2 щербин projects-rbru final
2 щербин projects-rbru final2 щербин projects-rbru final
2 щербин projects-rbru final
Bankir_Ru
 
Переписать нельзя рефакторить
Переписать нельзя рефакторитьПереписать нельзя рефакторить
Переписать нельзя рефакторить
CEE-SEC(R)
 
Кодекс аналитика
Кодекс аналитикаКодекс аналитика
Кодекс аналитика
SQALab
 
Успешная карьера в современной разработки программного обеспечения
Успешная карьера в современной разработки программного обеспеченияУспешная карьера в современной разработки программного обеспечения
Успешная карьера в современной разработки программного обеспечения
Sergey Morgunov
 
11боровиков. 2016 копия
11боровиков. 2016 копия11боровиков. 2016 копия
11боровиков. 2016 копия
Bankir_Ru
 
6 открытие 3
6 открытие 36 открытие 3
6 открытие 3
Bankir_Ru
 
Пусть Канбан будет странным - Agile Piter
Пусть Канбан будет странным - Agile PiterПусть Канбан будет странным - Agile Piter
Пусть Канбан будет странным - Agile Piterazheglov
 
Сетевые снифферы в тестировании
Сетевые снифферы в тестированииСетевые снифферы в тестировании
Сетевые снифферы в тестировании
SQALab
 
Адаптация Jira стэка для 1с продуктов
Адаптация Jira стэка для 1с продуктовАдаптация Jira стэка для 1с продуктов
Адаптация Jira стэка для 1с продуктовAlexey Lustin
 
Как из хаоса рождается порядок
Как из хаоса рождается порядокКак из хаоса рождается порядок
Как из хаоса рождается порядок
SQALab
 
Измеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенцииИзмеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенции
CEE-SEC(R)
 
Петр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMПетр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRM
ScrumTrek
 
DevOps для Legacy-продуктов
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктов
ScrumTrek
 
Нужен ли QA, или чем он может помочь веб проекту? (Виктор Гожий)
Нужен ли QA, или чем он может помочь веб проекту? (Виктор Гожий) Нужен ли QA, или чем он может помочь веб проекту? (Виктор Гожий)
Нужен ли QA, или чем он может помочь веб проекту? (Виктор Гожий) IT Club Mykolayiv
 
5 нспк banki.ru v3
5 нспк   banki.ru v35 нспк   banki.ru v3
5 нспк banki.ru v3
Bankir_Ru
 
вольфсон построение собственного Agile-фреймворка (шаблон)
вольфсон   построение собственного Agile-фреймворка (шаблон)вольфсон   построение собственного Agile-фреймворка (шаблон)
вольфсон построение собственного Agile-фреймворка (шаблон)Magneta AI
 

What's hot (20)

Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
работа в крупной компании на примере Banki.ru
работа в крупной компании на примере Banki.ruработа в крупной компании на примере Banki.ru
работа в крупной компании на примере Banki.ru
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
12 m kononov20161026
12 m kononov2016102612 m kononov20161026
12 m kononov20161026
 
2 щербин projects-rbru final
2 щербин projects-rbru final2 щербин projects-rbru final
2 щербин projects-rbru final
 
Переписать нельзя рефакторить
Переписать нельзя рефакторитьПереписать нельзя рефакторить
Переписать нельзя рефакторить
 
Кодекс аналитика
Кодекс аналитикаКодекс аналитика
Кодекс аналитика
 
Успешная карьера в современной разработки программного обеспечения
Успешная карьера в современной разработки программного обеспеченияУспешная карьера в современной разработки программного обеспечения
Успешная карьера в современной разработки программного обеспечения
 
11боровиков. 2016 копия
11боровиков. 2016 копия11боровиков. 2016 копия
11боровиков. 2016 копия
 
6 открытие 3
6 открытие 36 открытие 3
6 открытие 3
 
Пусть Канбан будет странным - Agile Piter
Пусть Канбан будет странным - Agile PiterПусть Канбан будет странным - Agile Piter
Пусть Канбан будет странным - Agile Piter
 
Сетевые снифферы в тестировании
Сетевые снифферы в тестированииСетевые снифферы в тестировании
Сетевые снифферы в тестировании
 
Адаптация Jira стэка для 1с продуктов
Адаптация Jira стэка для 1с продуктовАдаптация Jira стэка для 1с продуктов
Адаптация Jira стэка для 1с продуктов
 
Как из хаоса рождается порядок
Как из хаоса рождается порядокКак из хаоса рождается порядок
Как из хаоса рождается порядок
 
Измеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенцииИзмеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенции
 
Петр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRMПетр Клименко. DevOps Трансформация для SIEBEL CRM
Петр Клименко. DevOps Трансформация для SIEBEL CRM
 
DevOps для Legacy-продуктов
DevOps для Legacy-продуктовDevOps для Legacy-продуктов
DevOps для Legacy-продуктов
 
Нужен ли QA, или чем он может помочь веб проекту? (Виктор Гожий)
Нужен ли QA, или чем он может помочь веб проекту? (Виктор Гожий) Нужен ли QA, или чем он может помочь веб проекту? (Виктор Гожий)
Нужен ли QA, или чем он может помочь веб проекту? (Виктор Гожий)
 
5 нспк banki.ru v3
5 нспк   banki.ru v35 нспк   banki.ru v3
5 нспк banki.ru v3
 
вольфсон построение собственного Agile-фреймворка (шаблон)
вольфсон   построение собственного Agile-фреймворка (шаблон)вольфсон   построение собственного Agile-фреймворка (шаблон)
вольфсон построение собственного Agile-фреймворка (шаблон)
 

Similar to На пути к совершенному инжинирингу

Процесс разработки Agile & Java
Процесс разработки Agile & JavaПроцесс разработки Agile & Java
Процесс разработки Agile & Javadevclub
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
GlobalLogic Ukraine
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Разработка качественного ПО
Разработка качественного ПОРазработка качественного ПО
Разработка качественного ПО
Anton Rusanov
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
SQALab
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
MoscowJS
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
DataArt
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
Denis Tuchin
 
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
RIF-Technology
 
Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"
Evgeniy Krivosheev
 
Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1Technopark
 
Team workflow
Team workflowTeam workflow
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
CEE-SEC(R)
 
Гибкие методологии при создании ИТ продукта.
Гибкие методологии при создании ИТ продукта.Гибкие методологии при создании ИТ продукта.
Гибкие методологии при создании ИТ продукта.
Project Management Institute (PMI) in Ufa
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Technopark
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
IT61
 
QA MeetUp - Алексей Чумагин: "Тестирование в Big Data"
QA MeetUp - Алексей Чумагин: "Тестирование в Big Data"QA MeetUp - Алексей Чумагин: "Тестирование в Big Data"
QA MeetUp - Алексей Чумагин: "Тестирование в Big Data"
Provectus
 

Similar to На пути к совершенному инжинирингу (20)

Процесс разработки Agile & Java
Процесс разработки Agile & JavaПроцесс разработки Agile & Java
Процесс разработки Agile & Java
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Разработка качественного ПО
Разработка качественного ПОРазработка качественного ПО
Разработка качественного ПО
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Quality assurance
Quality assuranceQuality assurance
Quality assurance
 
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
 
Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"
 
Gozhyi_WebCamp_2013
Gozhyi_WebCamp_2013Gozhyi_WebCamp_2013
Gozhyi_WebCamp_2013
 
Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
Гибкие методологии при создании ИТ продукта.
Гибкие методологии при создании ИТ продукта.Гибкие методологии при создании ИТ продукта.
Гибкие методологии при создании ИТ продукта.
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
 
QA MeetUp - Алексей Чумагин: "Тестирование в Big Data"
QA MeetUp - Алексей Чумагин: "Тестирование в Big Data"QA MeetUp - Алексей Чумагин: "Тестирование в Big Data"
QA MeetUp - Алексей Чумагин: "Тестирование в Big Data"
 

More from Vitebsk DSC

Community-Z
Community-ZCommunity-Z
Community-Z
Vitebsk DSC
 
How to exceed Customer's expectations by delivery complicated ML+RPA project
How to exceed Customer's expectations by delivery complicated ML+RPA projectHow to exceed Customer's expectations by delivery complicated ML+RPA project
How to exceed Customer's expectations by delivery complicated ML+RPA project
Vitebsk DSC
 
Аджайл майндсет. Что разрушает вашу команду?
Аджайл майндсет. Что разрушает вашу команду?Аджайл майндсет. Что разрушает вашу команду?
Аджайл майндсет. Что разрушает вашу команду?
Vitebsk DSC
 
Микросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring CloudМикросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring Cloud
Vitebsk DSC
 
Тестирование больших данных
Тестирование больших данныхТестирование больших данных
Тестирование больших данных
Vitebsk DSC
 
Amazon SQS или не все костыли одинаково бесполезны
Amazon SQS или не все костыли одинаково бесполезныAmazon SQS или не все костыли одинаково бесполезны
Amazon SQS или не все костыли одинаково бесполезны
Vitebsk DSC
 
Amazon Athena overview
Amazon Athena overviewAmazon Athena overview
Amazon Athena overview
Vitebsk DSC
 
Typical BA Mistakes ​in documentation
Typical BA Mistakes ​in documentationTypical BA Mistakes ​in documentation
Typical BA Mistakes ​in documentation
Vitebsk DSC
 
Boring is Fun!
Boring is Fun!Boring is Fun!
Boring is Fun!
Vitebsk DSC
 
Чего же ты хочешь, человек?
Чего же ты хочешь, человек?Чего же ты хочешь, человек?
Чего же ты хочешь, человек?
Vitebsk DSC
 
Растем вместе с eKIDS
Растем вместе с eKIDSРастем вместе с eKIDS
Растем вместе с eKIDS
Vitebsk DSC
 
Технологии беспилотных автомобилей
Технологии беспилотных автомобилейТехнологии беспилотных автомобилей
Технологии беспилотных автомобилей
Vitebsk DSC
 
Оптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильноОптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильно
Vitebsk DSC
 
Управляем эволюцией на лету
Управляем эволюцией на летуУправляем эволюцией на лету
Управляем эволюцией на лету
Vitebsk DSC
 
Жизнь после promises
Жизнь после promisesЖизнь после promises
Жизнь после promises
Vitebsk DSC
 
Выбираем стратегию создания бранчей
Выбираем стратегию создания бранчейВыбираем стратегию создания бранчей
Выбираем стратегию создания бранчей
Vitebsk DSC
 
Reactive programming для успеха вашего стартапа
Reactive programming для успеха вашего стартапаReactive programming для успеха вашего стартапа
Reactive programming для успеха вашего стартапа
Vitebsk DSC
 
Экстремальная оптимизация производительности на примере MongoDB Java Driver
Экстремальная оптимизация производительности на примере MongoDB Java DriverЭкстремальная оптимизация производительности на примере MongoDB Java Driver
Экстремальная оптимизация производительности на примере MongoDB Java Driver
Vitebsk DSC
 
Проблемы с производительностью приложений на AngularJS и способы их решения
Проблемы с производительностью приложений на AngularJS и способы их решенияПроблемы с производительностью приложений на AngularJS и способы их решения
Проблемы с производительностью приложений на AngularJS и способы их решения
Vitebsk DSC
 
Микросервисы на практике
Микросервисы на практикеМикросервисы на практике
Микросервисы на практике
Vitebsk DSC
 

More from Vitebsk DSC (20)

Community-Z
Community-ZCommunity-Z
Community-Z
 
How to exceed Customer's expectations by delivery complicated ML+RPA project
How to exceed Customer's expectations by delivery complicated ML+RPA projectHow to exceed Customer's expectations by delivery complicated ML+RPA project
How to exceed Customer's expectations by delivery complicated ML+RPA project
 
Аджайл майндсет. Что разрушает вашу команду?
Аджайл майндсет. Что разрушает вашу команду?Аджайл майндсет. Что разрушает вашу команду?
Аджайл майндсет. Что разрушает вашу команду?
 
Микросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring CloudМикросервисы со Spring Boot & Spring Cloud
Микросервисы со Spring Boot & Spring Cloud
 
Тестирование больших данных
Тестирование больших данныхТестирование больших данных
Тестирование больших данных
 
Amazon SQS или не все костыли одинаково бесполезны
Amazon SQS или не все костыли одинаково бесполезныAmazon SQS или не все костыли одинаково бесполезны
Amazon SQS или не все костыли одинаково бесполезны
 
Amazon Athena overview
Amazon Athena overviewAmazon Athena overview
Amazon Athena overview
 
Typical BA Mistakes ​in documentation
Typical BA Mistakes ​in documentationTypical BA Mistakes ​in documentation
Typical BA Mistakes ​in documentation
 
Boring is Fun!
Boring is Fun!Boring is Fun!
Boring is Fun!
 
Чего же ты хочешь, человек?
Чего же ты хочешь, человек?Чего же ты хочешь, человек?
Чего же ты хочешь, человек?
 
Растем вместе с eKIDS
Растем вместе с eKIDSРастем вместе с eKIDS
Растем вместе с eKIDS
 
Технологии беспилотных автомобилей
Технологии беспилотных автомобилейТехнологии беспилотных автомобилей
Технологии беспилотных автомобилей
 
Оптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильноОптимизация потребления памяти в Java - делаем уборку правильно
Оптимизация потребления памяти в Java - делаем уборку правильно
 
Управляем эволюцией на лету
Управляем эволюцией на летуУправляем эволюцией на лету
Управляем эволюцией на лету
 
Жизнь после promises
Жизнь после promisesЖизнь после promises
Жизнь после promises
 
Выбираем стратегию создания бранчей
Выбираем стратегию создания бранчейВыбираем стратегию создания бранчей
Выбираем стратегию создания бранчей
 
Reactive programming для успеха вашего стартапа
Reactive programming для успеха вашего стартапаReactive programming для успеха вашего стартапа
Reactive programming для успеха вашего стартапа
 
Экстремальная оптимизация производительности на примере MongoDB Java Driver
Экстремальная оптимизация производительности на примере MongoDB Java DriverЭкстремальная оптимизация производительности на примере MongoDB Java Driver
Экстремальная оптимизация производительности на примере MongoDB Java Driver
 
Проблемы с производительностью приложений на AngularJS и способы их решения
Проблемы с производительностью приложений на AngularJS и способы их решенияПроблемы с производительностью приложений на AngularJS и способы их решения
Проблемы с производительностью приложений на AngularJS и способы их решения
 
Микросервисы на практике
Микросервисы на практикеМикросервисы на практике
Микросервисы на практике
 

На пути к совершенному инжинирингу