Мои выступления

Я люблю выступать с докладами на конференциях и митапах с темами, касающимися функционального программирования и разработки ПО. В особых случаях, таких как конференция C++ Russia, я делаю showcase проекты специально для докладов. Моя цель — показывать яркие идеи из мира ФП, популяризировать язык Haskell, и рассказывать о чем-то необычном.


Final Tagless vs Free Monads

FPure 2019, Казань

Доклад для ФП-конференции FPure в Казани. Рассказываю про разницу между подходами Final Tagless и Free Monad.

Слайды

Монадические парсеры

C++ Russia 2019, Moscow

Последний доклад из цикла «ФП в С++». На этот раз — про монадические парсеры и про такие концепции как Functor, Applicative Functor и Monad.

Слайды

Keynote: Настоящее и будущее функционального программирования в C++

C++ Siberia 2019, Новосибирск

Большой доклад о том, почему функциональное программирование в С++ важно, в чем его философия и куда движется язык. Рассказываю про подъязыки чистого ФП: template и constexpr, показываю, как появляется необходимость в монадах, рассказываю о том, какие бывают. Рассказываю о грядущих фичах в C++: ranges, Pattern Matching, expected<> и других.

Слайды
Материалы для подготовки доклада

Функциональный подход к Software Transactional Memory

C++ Russia 2018, Санкт-Петербург

Библиотека cpp_stm_free, которую я сделал для доклада, является самым сложным достижением в моей жизни. Она основана на продвинутых концепциях из ФП — Free-монадах, и имеет особенную имплементацию. Рассказываю, что такое STM, и как устроена библиотека.

Слайды
Библиотека cpp_stm_free
Туториал
Проект-пример cpp_philosophers_stm
Материалы для подготовки доклада

Функциональный микроскоп: линзы в С++

C++ Siberia 2015, Новосибирск

Специально для доклада я реализовал библиотеку простых линз на геттерах и сеттерах. Рассказываю, что это за концепция, как ее применять, и какие могут быть подходы к реализации.

Слайды
Библиотека cpp_lenses
Материалы для подготовки доклада

Функциональная жизнь: параллельные клеточные автоматы и комонады на С++

C++ Russia 2016, Санкт-Петербург

Хардкорный доклад про то, как в функциональном стиле сделать параллельные клеточные автоматы, положив в их основу концепцию из ФП — комонады.

Слайды
Проект-пример CMLife
Материалы для подготовки доклада

Функциональное программирование в С++ и конкурентные вычисления

LambdaNsk, Новосибирск, 2018

Доклад для митапа LambdaNsk, дополняющий тему, которую я рассказывал на C++ Russia 2018.

Слайды

Декларативный и функциональный дизайн на С++11

C++ User Group, Новосибирск, 2014

Доклад для митапа C++ User Group о том, как дизайнить приложения в функциональном и декларативном стиле на примере игры «Амбер».

Слайды

Отказываемся от Ruby on Rails в пользу Haskell

LambdaNsk, Highload Siberia++, 2018

В компании Restaumatic мы переводили кодобазу с Ruby on Rails на Haskell. Я рассказываю о том, как это у нас получалось и какие подходы мы использовали.

Слайды

Дизайн больших приложений в ФП

FPConf 2015, Москва

Рассказываю о возможных подходах и существующих проблемах дизайна больших приложений в ФП.

Слайды
Материалы для подготовки доклада

Линзы — комбинаторная манипуляция данными

Dev2Dev 2015, Красноярск

Доклад о линзах в Haskell.

Слайды
Материалы для подготовки доклада

eDSL для графа переходов на Free монадах и экзистенциальных типах

FProg Spb апрель 2018, Санкт-Петербург

Доклад о том, как можно сделать граф переходов (стейт-машину) на фри-монадах и экзистенциальных типах в Haskell.

Слайды
Материалы для подготовки доклада

Вы не понимаете ФП

DevDay@2GIS Декабрь 2017, Новосибирск

Мифы и заблуждения о ФП

Слайды
Материалы для подготовки доклада

Haskell

DevDay@2GIS Май 2013, Новосибирск

Язык программирования Haskell.

Слайды
Материалы для подготовки доклада

Back to the Future: Функциональное программирование вчера и сегодня

TechTalks@NSU, 2015

Рассказываю о том, какое значение приобрело функциональное программирование.

Слайды
Материалы для подготовки доклада


Прочие материалы

LambdaNsk

Идиоматичный функциональный код (слайды)
Линзы — комбинаторная манипуляция данными (слайды)
Дизайн крупных приложений на функциональных языках (слайды)

Лекции в 2ГИС

Лекция 1. Принципы и практики разработки ПО (слайды)
Лекция 2. Принцип подстановки Лисков (слайды)
Лекция 3. Закон Деметры (слайды)

Hinteractive Cast

Скринкаст работы над движком квестовых игр hinteractive в двух частях.

Hinteractive Cast 1
Hinteractive Cast 2

🠺 Проект hinterative

Innopolis HR Meetup

GitHub — зеркало разработчика (слайды)

ЧитГУ / ЗабГУ выступления, доклады, презентации

Профессиональная разработка в суровом enterprise (слайды)
О разработке десктопных приложений (слайды)