SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Низкоуровневое
программирование сегодня:
новые стандарты С++,
программирование
контроллеров, тренды 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

Weitere ähnliche Inhalte

Was ist angesagt?

Как отучить программиста колбасить (Прагматик 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.ruRoman Ivliev
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаAleksandr Makhomet
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016Roman 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 2016Roman 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
 

Was ist angesagt? (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-индустрии, или почему не вс...
 

Andere mochten auch

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 TesterCOMAQA.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 AutomationCOMAQA.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 machinesSmartDec
 
Лекция 11 Действие электрического тока на биологические ткани организма
Лекция 11 Действие электрического тока на биологические ткани организмаЛекция 11 Действие электрического тока на биологические ткани организма
Лекция 11 Действие электрического тока на биологические ткани организмаdrtanton
 
презентация савилова
презентация савиловапрезентация савилова
презентация савиловаdavidovanat
 
доклад электромагнитное излучение
доклад электромагнитное излучениедоклад электромагнитное излучение
доклад электромагнитное излучениеdavidovanat
 
Бинарный анализ с декомпиляцией и LLVM
Бинарный анализ с декомпиляцией и LLVMБинарный анализ с декомпиляцией и LLVM
Бинарный анализ с декомпиляцией и LLVMSmartDec
 
электромагнитное излучение и его влияние на человека
электромагнитное излучение и его влияние на человекаэлектромагнитное излучение и его влияние на человека
электромагнитное излучение и его влияние на человекаAndrei V, Zhuravlev
 
влияние электромагнитного излучения бытовых приборов и сото
влияние электромагнитного излучения бытовых приборов и сотовлияние электромагнитного излучения бытовых приборов и сото
влияние электромагнитного излучения бытовых приборов и сотоAndrei V, Zhuravlev
 
презентация
презентацияпрезентация
презентацияAndrey Fomenko
 
Некоторые физические законы в контексте автоматизации тестирования
Некоторые физические законы в контексте автоматизации тестированияНекоторые физические законы в контексте автоматизации тестирования
Некоторые физические законы в контексте автоматизации тестированияCOMAQA.BY
 

Andere mochten auch (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
 
презентация
презентацияпрезентация
презентация
 
Некоторые физические законы в контексте автоматизации тестирования
Некоторые физические законы в контексте автоматизации тестированияНекоторые физические законы в контексте автоматизации тестирования
Некоторые физические законы в контексте автоматизации тестирования
 

Ähnlich wie низкоуровневое программирование сегодня новые стандарты с++, программирование контроллеров, тренды 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 companiesAlex Turevski
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныCodeFest
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программистru_Parallels
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьGoIT
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрsportgid
 
Hakr 5 14-myjurnal.ru
Hakr 5 14-myjurnal.ruHakr 5 14-myjurnal.ru
Hakr 5 14-myjurnal.ruVasya Pupkin
 
5 нспк banki.ru v3
5 нспк   banki.ru v35 нспк   banki.ru v3
5 нспк banki.ru v3Bankir_Ru
 
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)
DevOps-трансформация Альфа-Банка / Антон Исанин (Альфа-Банк)Ontico
 
Автоматизация это модно
Автоматизация это модноАвтоматизация это модно
Автоматизация это модноAndrey Rebrov
 
Презентация акселератора "Сталь": Первый в России промышленный акселератор
Презентация акселератора "Сталь": Первый в России промышленный акселераторПрезентация акселератора "Сталь": Первый в России промышленный акселератор
Презентация акселератора "Сталь": Первый в России промышленный акселераторBusiness incubator HSE
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Ontico
 
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.Badoo Development
 
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 guidelinescorehard_by
 
закон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesзакон иерархических компенсаций седова и C++ core guidelines
закон иерархических компенсаций седова и C++ core guidelinesCOMAQA.BY
 

Ähnlich wie низкоуровневое программирование сегодня новые стандарты с++, программирование контроллеров, тренды 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)
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)
 
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в 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
 

Mehr von 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 OpenSourceCOMAQA.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 testingCOMAQA.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, javaCOMAQA.BY
 

Mehr von 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/ – сайт конференций сообщества