C++ CoreHard Autumn 2017 Conference

C++ CoreHard Autumn 2017 – очередная конференция для C++ разработчиков.

Организаторами выступает сообщество CoreHard.by, объединяющее не только С++ разработчиков, но и тех, кто интересуется С, ассемблером, промышленными контроллерами и высоконагруженными серверными решениями.

Stream 1 online:

Stream 2 online:

#CoreHardBy

Выступают

Программа

  • 11:00 - 11:10

    Открытие

  • 11:10 - 12:00

    Поиск уязвимостей с использованием статического анализа кода

    Андрей Карпов и Евгений Рыжков

    В последнее время мы все слышим о новых и новых уязвимостях, обнаруженных в программном обеспечении. Уже стало очевидно, что писать код без уязвимостей человечество не может. Но могут ли современные инструменты разработки помочь обнаружить хотя бы некоторые ошибки? В докладе НЕ будет фраз типа «купите такой-то инструмент, чтобы не допускать уязвимостей в своем и чужом коде». На реальных примерах мы попробуем показать какие типы уязвимостей или по-другому программных дефектов могут быть найдены с помощью технологий анализа кода, а какие – пока нет. Ну и конечно как писать код так, чтобы снизить вероятность появления уязвимостей в своем коде.

  • 12:10 - 13:00

    C++ in kernel mode

    Роман Белешев

    Вы когда-нибудь писали драйвера для Windows? А на С++? Пора развенчать миф о том, что драйверописательство - это только С и только хардкор. О различиях между Kernel mode и User mode, о технических моментах реализации некоторых возможностей С++, и о том, что писать драйвера на С++ можно, нужно и очень приятно и увлекательно.

  • 13:10 - 14:00

    Субъекторная модель

    Григорий Демченко

    Правда ли, что в С++ присутствует ООП? Сколько существует различных способов асинхронной синхронизации на сопрограммах в пользовательском пространстве? И, наконец, что такое "субъекторная модель" и чем она отличается от акторной модели? Обо всем этом и пойдет речь в данном докладе.

  • 14:10 - 15:00

    Блиц-доклады

    Блиц-докладчики

    Александр Зайцев. (Не)чёткий поиск в Boost.Algorithm
    Николай Гродзицкий. Restinio - header-only http and websocket server
    Евгений Охотников. MxxRu::externals - Repositoryless Dependency Manager
    Игорь Садченко. Темы уточняются

  • 15:00 - 15:30

    Кофе-пауза

  • 15:30 - 16:20

    Анализ и интерпретация данных мониторинга

    Юрий Ефимочев

    Вам часто доводилось узнавать, что на практике что-то работает совершенно не так как вы планировали? В жизни реальность очень часто превосходит наши самые смелые ожидания. Поэтому хорошая обратная связь (мониторинг) является необходимым условием успеха любого крупного проекта. В своем докладе я расскажу какие практики мониторинга применяем мы на проекте SolarWinds Backup. А также поделюсь рядом интересных открытий и наблюдений сделанных в ходе анализа данных мониторинга.

  • 16:30 - 17:20

    Обработка потока данных на примере deep packet inspection: внутренняя архитектура и решения

    Максим Хижинский

    Мы в компании VasExperts занимаемся задачами анализа сетевого трафика (DPI). Задача довольно нетривиальна, учитывая как объемы трафика у среднего провайдера (40 - 80Gb/s и выше), так и сложность распознания и обработки трафика - фильтрации, обеспечения требуемого QoS, терминации, управления локальными соединениями и пр. Очевидно, что обработка таких объемов должна быть параллельной, - следует загрузить все ядра по максимуму. Но неизбежно возникают разделяемые (shared) данные, доступ к которым из разных потоков при использовании традиционных инструментов - мьютексов и т.п. - фатальным образом влияет на производительность. Да что там shared data, - даже использование системного аллокатора - уже проблема. В докладе я расскажу о внутренней архитектуре нашего продукта - анализатора сетевого трафика: совсем немного о сетевых вещах и более подробно - о модели взаимодействия потоков и распределении их ролей, об аллокации памяти в такой модели, о спасительных интрузивных контейнерах, об ограничениях схем типа Hazard Pointer или user-space RCU поддержки конкурентных структур данных, и о том, почему мы не любим многопроцессорные сервера.

  • 17:30 - 18:20

    The beast is becoming functional

    Ivan Cukic

    C++ has been stagnant for a long time, and while using many functional programming idioms with C++ was always possible, it was never easy. With each new version of the C++ standard, we have been getting better and better tools for writing functional and generic code. C++11 started by introducing lambdas, C++14 made lambdas much nicer to use, while C++17 went a few steps further by introducing algebraic data types like std::optional and std::variant. With C++20, the situation will become even better - ranges, concepts and coroutines will allow us to do even more. In this talk, we will explain how exactly these features fit into the FP style of programming.

  • 11:00 - 11:10

    Открытие

  • 11:10 - 12:00

    Поиск уязвимостей с использованием статического анализа кода (в потоке 1)

    Андрей Карпов и Евгений Рыжков

    В последнее время мы все слышим о новых и новых уязвимостях, обнаруженных в программном обеспечении. Уже стало очевидно, что писать код без уязвимостей человечество не может. Но могут ли современные инструменты разработки помочь обнаружить хотя бы некоторые ошибки? В докладе НЕ будет фраз типа «купите такой-то инструмент, чтобы не допускать уязвимостей в своем и чужом коде». На реальных примерах мы попробуем показать какие типы уязвимостей или по-другому программных дефектов могут быть найдены с помощью технологий анализа кода, а какие – пока нет. Ну и конечно как писать код так, чтобы снизить вероятность появления уязвимостей в своем коде.

  • 12:10 - 13:00

    Actors for fun and profit

    Евгений Охотников

    На предыдущих конференциях C++ CoreHard автор уже рассказывал о Модели Акторов вообще и ее применимости в C++ в частности, а так же об уроках, которые довелось выучить за 15 лет использования Модели Акторов в C++. В этот раз речь зайдет о том, как же определить, стоит ли использовать Модель Акторов для решения конкретной задачи. И если стоит, то как это можно сделать. С поправкой на то, что C++ -- это небезопасный язык и приемы из намного более безопасных Erlang и Akka в C++ не очень-то и работают.

  • 13:10 - 14:00

    C++Now trip report: новости из мира С++

    Александр Зайцев

    C++ активно развивается. И на конференциях по С++ представляют всё больше и больше интересных идей, куда может двигаться язык. На этом докладе вы услышите про самые интересные из них, которые были озвучены на конференции C++Now 2017.

  • 14:10 - 15:00

    Ускоряем сборку C++ проектов. Практика использования Unity-сборок

    Артем Лапицкий

    Сборка крупных С++ проектов может занимать чрезвычайно много времени, что напрямую отражается на скорости разработки, эффективности тестирования и процесса непрерывной интеграции. В своем выступлении я расскажу об ускорении сборки с использованием техники "Unity Build" (Single Compilation Unit), а также об опыте и осбенностях применения этой техники на реальном проекте.

  • 15:00 - 15:30

    Кофе-пауза

  • 15:30 - 16:20
  • 16:30 - 17:20

    C++ и assembler: отладка и reverse engineering

    Михаил Гельфанд

    Мы привыкли рассматривать язык ассемблера как низкоуровневый. Пишем мы на нём сравнительно редко: для описания логики, невыразимой или трудновыразимой языками типа С++, или же для реализации критических ветвей исполнения, для которых компиляторы генерируют недостаточно оптимальный код. В своём докладе я расскажу о пользе базовых умений чтения и анализа ассемблерного кода и ситуациях, в которых желание время от времени опускаться на этот нижний уровень помогает решать проблемы и делать мир лучше.

  • 17:30 - 18:20

    C++ в играх, больших и не очень

    Игорь Лобанчиков

    С++, являясь прямым потомком C - одновременно гибкий и эффективный с точки зрения производительности язык. За счет оптимизирующего компилятора любой красиво и правильно написанный код будет быстрым, стабильным и безопасным. Ну, или нам бы этого очень хотелось. На простых примерах из жизни мы рассмотрим благие намерения, куда они нас заводят и почему так получается.

Организаторы

  • Corehard.by

Партнеры

  • DPI Solutions
  • Awem Games
  • SolarWinds
  • JetBrains
  • C++ User Group Russia
  • PVS-Studio

Инфопартнеры

  • Job tut.by
  • Аргументы и Факты
  • Kaspersky Lab
  • IT-academy
  • Dot Net Summit
  • dev.by
  • Imaguru
  • IBA Institute
  • comaqa.by
  • EPAM
  • itstep.by
  • gamedev.by
  • javaday.by
  • conf.cocoaheads.by/
  • ITVDN
  • HotWork
  • trud.com
  • avradays.com
  • vse-kursy.by