C++ CoreHard Autumn 2017 Conference

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

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

#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:00 - 14:30

    Кофе-пауза

  • 14:30 - 15:20

    C++ patterns and antipatterns

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

    Язык C++ предоставляет широчайший инструментарий как для написания быстрого и качественного кода, так и для "выстрела себе в ногу". В докладе будут разобранны типичные паттерны (проверенные способы писать качестевнный код) и антипаттерны (конструкции к которым стоит относиться с осторожностью) применимые при разработке на С++. Список паттернов сформирован на основнии опыта работы на проектах с использование C++ а также код-ревью.

  • 15:30 - 16:20

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

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

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

  • 16:30 - 17: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
  • 12:10 - 13:00

    Actors for fun and profit

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

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

  • 13:10 - 14:00
  • 14:00 - 14:30

    Кофе-пауза

  • 14:30 - 15:20

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

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

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

  • 15:30 - 16:20
  • 16:30 - 17: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.

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

  • Corehard.by

Партнеры

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

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

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