SlideShare a Scribd company logo
Низкоуровневое
программирование сегодня:
новые стандарты С++,
программирование
контроллеров, тренды IoT
Антон Семенченко
Обо мне
Антон Семенченко
автоматизированное
тестирование, низкоуровневая
разработка, управление, продажи
Основатель DPI.Solutions
Менеджер в EPAM Systems
Тренер по автоматизации и
управлению
Примеры проектов 
1. Холодильник спамер
2. Безопасный фитнес браслет и стоимость безопасности
3. Умный дом симпатизирующий грабителям
4. ПО для Атомных Реакторов
5. Умный дом, Ардуино, и дети дошкольного возраста
6. Умные устройства: например, активные камеры
7. Камеры – «хакеры»
8. Google Translate и смерть Эсперанто
9. Готовь сани  лыжи летом
10.Эмуляция тяжелой техники и снежные истории страховых
агентов
11.Дополненая реальность: Магазин, Музей и Банк
12.Виртуальная реальность
13.Дубайские рассказы о самом умном роботе в мире из
сердца Сибири
C++: зарплаты в Минске
https://salaries.dev.by/
Разнообразие
Сокращается ли внутреннее разнообразие
систем в процессе эволюции?
Живая и неживая природа, язык, культура,
технологии
История С++
1983 – зарождение языка
1998 – стандарт С++ 98
2003 – стандарт С++ 03
2011 – С++ 11
2014 – С++ 14
2015 – C++ Core Guidelines
2017 – C++ 17 (ожидаемо)
C++ Core Guidelines
Бьерн Страуструп
Герб Саттер
● Опубликованы в сентябре 2015
● Open source (github)
● MIT-style (contributor) лицензия
● Открыты для дополнения
● Сейчас: около 250 страниц А4
https://github.com/isocpp/CppCoreGuidelines
Core Guidelines: идеология
"Within C++ is a smaller, simpler, safer language
struggling to get out." - Bjarne Stroustrup
● Современный С++ 11/14/17 (прицел на
будущее)
● Автоматизируемые правила, где возможно
● Безопасность и простота кода
● Фокус на высокоуровневых вещах:
○ типы и интерфейсы
○ управление ресурсами (в т.ч. памятью)
○ потокобезопасность
Core Guidelines: цели
● Использование накопленных годами знаний
● Унификация практик между организациями
● Получить качественный код:
○ статически типо-безопасный
○ без утечки ресурсов
○ с ранней диагностикой ошибок в логике
● Помочь новичкам в изучении С++
1. Непосредственно правила
2. Guideline Support Library (GSL, header-only) -
функции и типы, рекомендуемые Гайдланами
https://github.com/Microsoft/GSL
1. Checker Tool (Visual Studio Add-in) -
автоматическая проверка правил
https://blogs.msdn.microsoft.com/vcblog/2015/12/03/c-
core-guidelines-checkers-available-for-vs-2015-update-1/
Core Guidelines: компоненты
С++: полезные ссылки
https://isocpp.org/ – сайт, посвященный работе комитета
стандартизации С++ и сопутствующим вопросам
http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/n4606.pdf –
черновой вариант следующего стандарта С++17
https://google.github.io/styleguide/cppguide.html – Google C++ Style
Guide
http://www.codingstandard.com/section/index/ – High Integrity C++
Coding Standard
Литература по С++
1. Гради Буч «Объектно-ориентированный анализ и проектирование с
примерами приложений на С++»
На мой взгляд это одна из лучших книг для настоящего, а не шапочного,
знакомство с ООП.
2. Scott Meyers «Effective C++» / «More Effective C++», издание 1, 2 и 3
Книга состоит из набора атомарных советов – областей С++. Это одна из
настоятельно рекомендованных к прочтению книг в большинстве топовых IT
компаний, например Microsoft.
3. Scott Meyers «Effective STL»
Советую прочитать книгу хотя бы раз и в дальнейшем обращаться как к
справочнику.
4. Саттер Герб «Решение сложных задач на С++», часть 1 и 2.
Очень советую прочитать обе книги дважды от корки до корки, а потом
самостоятельно прорешать предложенные задачи.
5. Scott Meyers «Effective Modern C++»
Советую прочитать дважды. Книга состоит из набора атомарных советов –
областей С++. Это одна из настоятельно рекомендованных к прочтению книг
в большинстве топовых IT компаний, например Microsoft.
CoreHard C++ Community
https://corehard.by/ – сайт сообщества
http://conference.corehard.by/ – сайт конференций сообщества
Спасибо! Вопросы?
Антон Семенченко
skype: dpi.semenchenko
semenchenko@dpi.solutions

More Related Content

What's hot

Как отучить программиста колбасить (Прагматик 2012)
Как отучить программиста колбасить (Прагматик 2012)Как отучить программиста колбасить (Прагматик 2012)
Как отучить программиста колбасить (Прагматик 2012)
Mikhail Payson
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидахОмские ИТ-субботники
 
Как же научиться программировать, в конце концов?
Как же научиться программировать, в конце концов?Как же научиться программировать, в конце концов?
Как же научиться программировать, в конце концов?
SQALab
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ru
Roman Ivliev
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кода
Aleksandr Makhomet
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016
Roman Ivliev
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипированиеMaxim Gaponov
 
Как стать героем
Как стать героемКак стать героем
Как стать героем
Yakov Sirotkin
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
Kirill Kovalchuk
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
ScrumTrek
 
Модель обучения школы отраслевых переводчиков "Альянс ПРО" (для TFR-2014)
Модель обучения школы отраслевых переводчиков "Альянс ПРО" (для TFR-2014)Модель обучения школы отраслевых переводчиков "Альянс ПРО" (для TFR-2014)
Модель обучения школы отраслевых переводчиков "Альянс ПРО" (для TFR-2014)
Eugene Bartov
 
Всему своё время Highload Junior 2016
Всему своё время   Highload Junior  2016Всему своё время   Highload Junior  2016
Всему своё время Highload Junior 2016
Roman Ivliev
 
Освоение новых тематик в научно-технических переводах с привлечением специали...
Освоение новых тематик в научно-технических переводах с привлечением специали...Освоение новых тематик в научно-технических переводах с привлечением специали...
Освоение новых тематик в научно-технических переводах с привлечением специали...
Eugene Bartov
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?
PyNSK
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщику
Rina Uzhevko
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Ontico
 
Презентация для ЮТИ ТПУ "Путь отраслевого переводчика"
Презентация для ЮТИ ТПУ "Путь отраслевого переводчика"Презентация для ЮТИ ТПУ "Путь отраслевого переводчика"
Презентация для ЮТИ ТПУ "Путь отраслевого переводчика"
Eugene Bartov
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
ScrumTrek
 
Локализационное тестирование носителями языков
Локализационное тестирование носителями языковЛокализационное тестирование носителями языков
Локализационное тестирование носителями языков
SQALab
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU
 

What's hot (20)

Как отучить программиста колбасить (Прагматик 2012)
Как отучить программиста колбасить (Прагматик 2012)Как отучить программиста колбасить (Прагматик 2012)
Как отучить программиста колбасить (Прагматик 2012)
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
 
Как же научиться программировать, в конце концов?
Как же научиться программировать, в конце концов?Как же научиться программировать, в конце концов?
Как же научиться программировать, в конце концов?
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ru
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кода
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипирование
 
Как стать героем
Как стать героемКак стать героем
Как стать героем
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
 
Модель обучения школы отраслевых переводчиков "Альянс ПРО" (для TFR-2014)
Модель обучения школы отраслевых переводчиков "Альянс ПРО" (для TFR-2014)Модель обучения школы отраслевых переводчиков "Альянс ПРО" (для TFR-2014)
Модель обучения школы отраслевых переводчиков "Альянс ПРО" (для TFR-2014)
 
Всему своё время Highload Junior 2016
Всему своё время   Highload Junior  2016Всему своё время   Highload Junior  2016
Всему своё время Highload Junior 2016
 
Освоение новых тематик в научно-технических переводах с привлечением специали...
Освоение новых тематик в научно-технических переводах с привлечением специали...Освоение новых тематик в научно-технических переводах с привлечением специали...
Освоение новых тематик в научно-технических переводах с привлечением специали...
 
Чем Python плох для стартапа?
Чем Python плох для стартапа?Чем Python плох для стартапа?
Чем Python плох для стартапа?
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщику
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
 
Презентация для ЮТИ ТПУ "Путь отраслевого переводчика"
Презентация для ЮТИ ТПУ "Путь отраслевого переводчика"Презентация для ЮТИ ТПУ "Путь отраслевого переводчика"
Презентация для ЮТИ ТПУ "Путь отраслевого переводчика"
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Локализационное тестирование носителями языков
Локализационное тестирование носителями языковЛокализационное тестирование носителями языков
Локализационное тестирование носителями языков
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 

Viewers also liked

Alternative ways of learning programming from scratch – first steps in automa...
Alternative ways of learning programming from scratch – first steps in automa...Alternative ways of learning programming from scratch – first steps in automa...
Alternative ways of learning programming from scratch – first steps in automa...
COMAQA.BY
 
Роман Сорока
Роман СорокаРоман Сорока
Роман Сорока
COMAQA.BY
 
Agile Testing & Agile Tester
Agile Testing & Agile TesterAgile Testing & Agile Tester
Agile Testing & Agile Tester
COMAQA.BY
 
Логические инструменты в арсенале тестировщика
Логические инструменты в арсенале тестировщикаЛогические инструменты в арсенале тестировщика
Логические инструменты в арсенале тестировщика
COMAQA.BY
 
Многогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерахМногогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерах
COMAQA.BY
 
В топку Postman - пишем API автотесты в привычном стеке
В топку Postman - пишем API автотесты в привычном стекеВ топку Postman - пишем API автотесты в привычном стеке
В топку Postman - пишем API автотесты в привычном стеке
COMAQA.BY
 
Автоматизация тестирования API для начинающих
Автоматизация тестирования API для начинающихАвтоматизация тестирования API для начинающих
Автоматизация тестирования API для начинающих
COMAQA.BY
 
тестовые стратегии
тестовые стратегиитестовые стратегии
тестовые стратегии
COMAQA.BY
 
Career boost: как джуниору случайно стать лидом и не получить от этого удовол...
Career boost: как джуниору случайно стать лидом и не получить от этого удовол...Career boost: как джуниору случайно стать лидом и не получить от этого удовол...
Career boost: как джуниору случайно стать лидом и не получить от этого удовол...
COMAQA.BY
 
ScreenPlay Design Patterns for QA Automation
ScreenPlay Design Patterns for QA AutomationScreenPlay Design Patterns for QA Automation
ScreenPlay Design Patterns for QA Automation
COMAQA.BY
 
Reverse engineering of binary programs for custom virtual machines
Reverse engineering of binary programs for custom virtual machinesReverse engineering of binary programs for custom virtual machines
Reverse engineering of binary programs for custom virtual machines
SmartDec
 
Лекция 11 Действие электрического тока на биологические ткани организма
Лекция 11 Действие электрического тока на биологические ткани организмаЛекция 11 Действие электрического тока на биологические ткани организма
Лекция 11 Действие электрического тока на биологические ткани организмаdrtanton
 
презентация савилова
презентация савиловапрезентация савилова
презентация савилова
davidovanat
 
доклад электромагнитное излучение
доклад электромагнитное излучениедоклад электромагнитное излучение
доклад электромагнитное излучение
davidovanat
 
Бинарный анализ с декомпиляцией и LLVM
Бинарный анализ с декомпиляцией и LLVMБинарный анализ с декомпиляцией и LLVM
Бинарный анализ с декомпиляцией и LLVM
SmartDec
 
электромагнитное излучение и его влияние на человека
электромагнитное излучение и его влияние на человекаэлектромагнитное излучение и его влияние на человека
электромагнитное излучение и его влияние на человека
Andrei V, Zhuravlev
 
влияние электромагнитного излучения бытовых приборов и сото
влияние электромагнитного излучения бытовых приборов и сотовлияние электромагнитного излучения бытовых приборов и сото
влияние электромагнитного излучения бытовых приборов и сотоAndrei V, Zhuravlev
 
презентация
презентацияпрезентация
презентацияAndrey Fomenko
 
Некоторые физические законы в контексте автоматизации тестирования
Некоторые физические законы в контексте автоматизации тестированияНекоторые физические законы в контексте автоматизации тестирования
Некоторые физические законы в контексте автоматизации тестирования
COMAQA.BY
 

Viewers also liked (20)

Alternative ways of learning programming from scratch – first steps in automa...
Alternative ways of learning programming from scratch – first steps in automa...Alternative ways of learning programming from scratch – first steps in automa...
Alternative ways of learning programming from scratch – first steps in automa...
 
Роман Сорока
Роман СорокаРоман Сорока
Роман Сорока
 
Agile Testing & Agile Tester
Agile Testing & Agile TesterAgile Testing & Agile Tester
Agile Testing & Agile Tester
 
Логические инструменты в арсенале тестировщика
Логические инструменты в арсенале тестировщикаЛогические инструменты в арсенале тестировщика
Логические инструменты в арсенале тестировщика
 
Многогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерахМногогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерах
 
В топку Postman - пишем API автотесты в привычном стеке
В топку Postman - пишем API автотесты в привычном стекеВ топку Postman - пишем API автотесты в привычном стеке
В топку Postman - пишем API автотесты в привычном стеке
 
Автоматизация тестирования API для начинающих
Автоматизация тестирования API для начинающихАвтоматизация тестирования API для начинающих
Автоматизация тестирования API для начинающих
 
тестовые стратегии
тестовые стратегиитестовые стратегии
тестовые стратегии
 
Career boost: как джуниору случайно стать лидом и не получить от этого удовол...
Career boost: как джуниору случайно стать лидом и не получить от этого удовол...Career boost: как джуниору случайно стать лидом и не получить от этого удовол...
Career boost: как джуниору случайно стать лидом и не получить от этого удовол...
 
ScreenPlay Design Patterns for QA Automation
ScreenPlay Design Patterns for QA AutomationScreenPlay Design Patterns for QA Automation
ScreenPlay Design Patterns for QA Automation
 
Reverse engineering of binary programs for custom virtual machines
Reverse engineering of binary programs for custom virtual machinesReverse engineering of binary programs for custom virtual machines
Reverse engineering of binary programs for custom virtual machines
 
Лекция 11 Действие электрического тока на биологические ткани организма
Лекция 11 Действие электрического тока на биологические ткани организмаЛекция 11 Действие электрического тока на биологические ткани организма
Лекция 11 Действие электрического тока на биологические ткани организма
 
презентация савилова
презентация савиловапрезентация савилова
презентация савилова
 
доклад электромагнитное излучение
доклад электромагнитное излучениедоклад электромагнитное излучение
доклад электромагнитное излучение
 
Бинарный анализ с декомпиляцией и LLVM
Бинарный анализ с декомпиляцией и LLVMБинарный анализ с декомпиляцией и LLVM
Бинарный анализ с декомпиляцией и LLVM
 
электромагнитное излучение и его влияние на человека
электромагнитное излучение и его влияние на человекаэлектромагнитное излучение и его влияние на человека
электромагнитное излучение и его влияние на человека
 
влияние электромагнитного излучения бытовых приборов и сото
влияние электромагнитного излучения бытовых приборов и сотовлияние электромагнитного излучения бытовых приборов и сото
влияние электромагнитного излучения бытовых приборов и сото
 
Java Memory Model
Java Memory ModelJava Memory Model
Java Memory Model
 
презентация
презентацияпрезентация
презентация
 
Некоторые физические законы в контексте автоматизации тестирования
Некоторые физические законы в контексте автоматизации тестированияНекоторые физические законы в контексте автоматизации тестирования
Некоторые физические законы в контексте автоматизации тестирования
 

Similar to низкоуровневое программирование сегодня новые стандарты с++, программирование контроллеров, тренды Io t

Methodologies and technologies used in Ukrainian IT companies
Methodologies and technologies used in Ukrainian IT companiesMethodologies and technologies used in Ukrainian IT companies
Methodologies and technologies used in Ukrainian IT companies
Alex Turevski
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
Alexey Lustin
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важны
CodeFest
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программист
ru_Parallels
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
GoIT
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрsportgid
 
Типичные ошибки при разработке интернет-магазинов на 1С-Битрикс
Типичные ошибки при разработке интернет-магазинов на 1С-БитриксТипичные ошибки при разработке интернет-магазинов на 1С-Битрикс
Типичные ошибки при разработке интернет-магазинов на 1С-Битрикс
Интернет-агентство "Инфоспайс"/Infospice
 
Hakr 5 14-myjurnal.ru
Hakr 5 14-myjurnal.ruHakr 5 14-myjurnal.ru
Hakr 5 14-myjurnal.ru
Vasya Pupkin
 
5 нспк banki.ru v3
5 нспк   banki.ru v35 нспк   banki.ru v3
5 нспк banki.ru v3
Bankir_Ru
 
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
Ontico
 
Автоматизация это модно
Автоматизация это модноАвтоматизация это модно
Автоматизация это модно
Andrey Rebrov
 
855493.pptx
855493.pptx855493.pptx
855493.pptx
ssuseraf5995
 
Презентация акселератора "Сталь": Первый в России промышленный акселератор
Презентация акселератора "Сталь": Первый в России промышленный акселераторПрезентация акселератора "Сталь": Первый в России промышленный акселератор
Презентация акселератора "Сталь": Первый в России промышленный акселератор
Business incubator HSE
 
IT basics for non technical CEO (Rus)
IT basics for non technical CEO (Rus)IT basics for non technical CEO (Rus)
IT basics for non technical CEO (Rus)
Anton Karpenko (KARPOLAN)
 
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Badoo Development
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)
Ontico
 
C++ Core Guidelines
C++ Core Guidelines C++ Core Guidelines
C++ Core Guidelines
Sergey Zubkov
 
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Fwdays
 
закон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesзакон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelines
corehard_by
 
закон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesзакон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelines
COMAQA.BY
 

Similar to низкоуровневое программирование сегодня новые стандарты с++, программирование контроллеров, тренды Io t (20)

Methodologies and technologies used in Ukrainian IT companies
Methodologies and technologies used in Ukrainian IT companiesMethodologies and technologies used in Ukrainian IT companies
Methodologies and technologies used in Ukrainian IT companies
 
DevOps для 1С
DevOps для 1СDevOps для 1С
DevOps для 1С
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важны
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программист
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
 
Типичные ошибки при разработке интернет-магазинов на 1С-Битрикс
Типичные ошибки при разработке интернет-магазинов на 1С-БитриксТипичные ошибки при разработке интернет-магазинов на 1С-Битрикс
Типичные ошибки при разработке интернет-магазинов на 1С-Битрикс
 
Hakr 5 14-myjurnal.ru
Hakr 5 14-myjurnal.ruHakr 5 14-myjurnal.ru
Hakr 5 14-myjurnal.ru
 
5 нспк banki.ru v3
5 нспк   banki.ru v35 нспк   banki.ru v3
5 нспк banki.ru v3
 
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
 
Автоматизация это модно
Автоматизация это модноАвтоматизация это модно
Автоматизация это модно
 
855493.pptx
855493.pptx855493.pptx
855493.pptx
 
Презентация акселератора "Сталь": Первый в России промышленный акселератор
Презентация акселератора "Сталь": Первый в России промышленный акселераторПрезентация акселератора "Сталь": Первый в России промышленный акселератор
Презентация акселератора "Сталь": Первый в России промышленный акселератор
 
IT basics for non technical CEO (Rus)
IT basics for non technical CEO (Rus)IT basics for non technical CEO (Rus)
IT basics for non technical CEO (Rus)
 
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)
 
C++ Core Guidelines
C++ Core Guidelines C++ Core Guidelines
C++ Core Guidelines
 
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
 
закон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesзакон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelines
 
закон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesзакон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelines
 

More from COMAQA.BY

Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
COMAQA.BY
 
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
COMAQA.BY
 
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
COMAQA.BY
 
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важностьRoman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
COMAQA.BY
 
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
COMAQA.BY
 
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
COMAQA.BY
 
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
COMAQA.BY
 
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
COMAQA.BY
 
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
COMAQA.BY
 
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
COMAQA.BY
 
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
COMAQA.BY
 
Моя роль в конфликте
Моя роль в конфликтеМоя роль в конфликте
Моя роль в конфликте
COMAQA.BY
 
Организация приемочного тестирования силами матерых тестировщиков
Организация приемочного тестирования силами матерых тестировщиковОрганизация приемочного тестирования силами матерых тестировщиков
Организация приемочного тестирования силами матерых тестировщиков
COMAQA.BY
 
Развитие или смерть
Развитие или смертьРазвитие или смерть
Развитие или смерть
COMAQA.BY
 
Системный взгляд на параллельный запуск Selenium тестов
Системный взгляд на параллельный запуск Selenium тестовСистемный взгляд на параллельный запуск Selenium тестов
Системный взгляд на параллельный запуск Selenium тестов
COMAQA.BY
 
Эффективная работа с рутинными задачами
Эффективная работа с рутинными задачамиЭффективная работа с рутинными задачами
Эффективная работа с рутинными задачами
COMAQA.BY
 
Как стать синьором
Как стать синьоромКак стать синьором
Как стать синьором
COMAQA.BY
 
Open your mind for OpenSource
Open your mind for OpenSourceOpen your mind for OpenSource
Open your mind for OpenSource
COMAQA.BY
 
JDI 2.0. Not only UI testing
JDI 2.0. Not only UI testingJDI 2.0. Not only UI testing
JDI 2.0. Not only UI testing
COMAQA.BY
 
Out of box page object design pattern, java
Out of box page object design pattern, javaOut of box page object design pattern, java
Out of box page object design pattern, java
COMAQA.BY
 

More from COMAQA.BY (20)

Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
 
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
 
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
 
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важностьRoman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
 
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
 
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
 
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
 
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
 
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
 
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
 
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
 
Моя роль в конфликте
Моя роль в конфликтеМоя роль в конфликте
Моя роль в конфликте
 
Организация приемочного тестирования силами матерых тестировщиков
Организация приемочного тестирования силами матерых тестировщиковОрганизация приемочного тестирования силами матерых тестировщиков
Организация приемочного тестирования силами матерых тестировщиков
 
Развитие или смерть
Развитие или смертьРазвитие или смерть
Развитие или смерть
 
Системный взгляд на параллельный запуск Selenium тестов
Системный взгляд на параллельный запуск Selenium тестовСистемный взгляд на параллельный запуск Selenium тестов
Системный взгляд на параллельный запуск Selenium тестов
 
Эффективная работа с рутинными задачами
Эффективная работа с рутинными задачамиЭффективная работа с рутинными задачами
Эффективная работа с рутинными задачами
 
Как стать синьором
Как стать синьоромКак стать синьором
Как стать синьором
 
Open your mind for OpenSource
Open your mind for OpenSourceOpen your mind for OpenSource
Open your mind for OpenSource
 
JDI 2.0. Not only UI testing
JDI 2.0. Not only UI testingJDI 2.0. Not only UI testing
JDI 2.0. Not only UI testing
 
Out of box page object design pattern, java
Out of box page object design pattern, javaOut of box page object design pattern, java
Out of box page object design pattern, java
 

низкоуровневое программирование сегодня новые стандарты с++, программирование контроллеров, тренды Io t

  • 1. Низкоуровневое программирование сегодня: новые стандарты С++, программирование контроллеров, тренды IoT Антон Семенченко
  • 2. Обо мне Антон Семенченко автоматизированное тестирование, низкоуровневая разработка, управление, продажи Основатель DPI.Solutions Менеджер в EPAM Systems Тренер по автоматизации и управлению
  • 3. Примеры проектов  1. Холодильник спамер 2. Безопасный фитнес браслет и стоимость безопасности 3. Умный дом симпатизирующий грабителям 4. ПО для Атомных Реакторов 5. Умный дом, Ардуино, и дети дошкольного возраста 6. Умные устройства: например, активные камеры 7. Камеры – «хакеры» 8. Google Translate и смерть Эсперанто 9. Готовь сани лыжи летом 10.Эмуляция тяжелой техники и снежные истории страховых агентов 11.Дополненая реальность: Магазин, Музей и Банк 12.Виртуальная реальность 13.Дубайские рассказы о самом умном роботе в мире из сердца Сибири
  • 4. C++: зарплаты в Минске https://salaries.dev.by/
  • 5. Разнообразие Сокращается ли внутреннее разнообразие систем в процессе эволюции? Живая и неживая природа, язык, культура, технологии
  • 6. История С++ 1983 – зарождение языка 1998 – стандарт С++ 98 2003 – стандарт С++ 03 2011 – С++ 11 2014 – С++ 14 2015 – C++ Core Guidelines 2017 – C++ 17 (ожидаемо)
  • 7. C++ Core Guidelines Бьерн Страуструп Герб Саттер ● Опубликованы в сентябре 2015 ● Open source (github) ● MIT-style (contributor) лицензия ● Открыты для дополнения ● Сейчас: около 250 страниц А4 https://github.com/isocpp/CppCoreGuidelines
  • 8. Core Guidelines: идеология "Within C++ is a smaller, simpler, safer language struggling to get out." - Bjarne Stroustrup ● Современный С++ 11/14/17 (прицел на будущее) ● Автоматизируемые правила, где возможно ● Безопасность и простота кода ● Фокус на высокоуровневых вещах: ○ типы и интерфейсы ○ управление ресурсами (в т.ч. памятью) ○ потокобезопасность
  • 9. Core Guidelines: цели ● Использование накопленных годами знаний ● Унификация практик между организациями ● Получить качественный код: ○ статически типо-безопасный ○ без утечки ресурсов ○ с ранней диагностикой ошибок в логике ● Помочь новичкам в изучении С++
  • 10. 1. Непосредственно правила 2. Guideline Support Library (GSL, header-only) - функции и типы, рекомендуемые Гайдланами https://github.com/Microsoft/GSL 1. Checker Tool (Visual Studio Add-in) - автоматическая проверка правил https://blogs.msdn.microsoft.com/vcblog/2015/12/03/c- core-guidelines-checkers-available-for-vs-2015-update-1/ Core Guidelines: компоненты
  • 11. С++: полезные ссылки https://isocpp.org/ – сайт, посвященный работе комитета стандартизации С++ и сопутствующим вопросам http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/n4606.pdf – черновой вариант следующего стандарта С++17 https://google.github.io/styleguide/cppguide.html – Google C++ Style Guide http://www.codingstandard.com/section/index/ – High Integrity C++ Coding Standard
  • 12. Литература по С++ 1. Гради Буч «Объектно-ориентированный анализ и проектирование с примерами приложений на С++» На мой взгляд это одна из лучших книг для настоящего, а не шапочного, знакомство с ООП. 2. Scott Meyers «Effective C++» / «More Effective C++», издание 1, 2 и 3 Книга состоит из набора атомарных советов – областей С++. Это одна из настоятельно рекомендованных к прочтению книг в большинстве топовых IT компаний, например Microsoft. 3. Scott Meyers «Effective STL» Советую прочитать книгу хотя бы раз и в дальнейшем обращаться как к справочнику. 4. Саттер Герб «Решение сложных задач на С++», часть 1 и 2. Очень советую прочитать обе книги дважды от корки до корки, а потом самостоятельно прорешать предложенные задачи. 5. Scott Meyers «Effective Modern C++» Советую прочитать дважды. Книга состоит из набора атомарных советов – областей С++. Это одна из настоятельно рекомендованных к прочтению книг в большинстве топовых IT компаний, например Microsoft.
  • 13. CoreHard C++ Community https://corehard.by/ – сайт сообщества http://conference.corehard.by/ – сайт конференций сообщества