FPConf 2016

3 декабря 2017
Москва, Россия
Functional Programming Conference
Купить видео
В избранное

Николай Кудасов

Технический директор и ко-фаундер в GetShop.TV

Алекс Петров

Software Engineer в DataStax

Алексей Пирогов

Software Engineer в Typeable.IO

Антон Холомьев

Автор в Книга "Учебник по Haskell"

Илья Беда

Технический директор и основатель в beda.software

О мероприятии

Функциональное программирование — тема на острие развития современной разработки ПО. Erlang, Scala, Clojure, F#, Haskell, функциональные подходы в хорошо знакомых Ruby и Java, монады и лямбды, несколько лет назад были делом ученых и экспериментаторов. Сегодня они входят в нашу повседневную жизнь и становятся новым трендом в разработке. 

Для кого

  • Техническим директорам
  • Тимлидам
  • Разработчикам
  • Программистам
  • Тестировщикам
Поделиться

Расписание

Развернуть все
03 декабря (воскресенье)
День 1
Показать
цену в
$
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Второй поток

Николай Кудасов

Технический директор и ко-фаундер в GetShop.TV

Типы пишут тесты

Типы защищают программиста от множества ошибок ещё на этапе компиляции. К сожалению, даже продвинутые системы типов, такие как в Haskell, не могут уберечь от всех бед. Поэтому следующей линией обороны являются тесты. Но и в этом случае типы могут сильно облегчить работу и даже написать тесты за программиста — от тестирования свойств до масштабного тестирования целых программ. Я рассчитываю на средний уровень подготовки аудитории — базовые знания Haskell, общие представления о базах данных и Web. Доклад знакомит слушателей с методом написания тестов при помощи типов. Продвинутым слушателям будет интересно узнать о глобальном тестировании проекта.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Первый поток

Алексей Фомкин

Фулстек-разработчик в Data Monsters

Жизнь без фронтэнда

Не так давно мы вошли в эпоху одностраничных веб-приложений (SPA). Очень часто сервер превращается в прослойку между DBMS и "толстым" клиентом в браузере. Разработчики вынуждены писать десятки тысяч строк бессмысленного кода. Возможными решениями проблемы являются веб-ориентрованные DBMS (Firebase), или новые языки запросов (GraphQL). 
Я предлагаю подойти с другой стороны и вернуться к идее тонкого клиента. В своем докладе я расскажу про свою разработку - библиотеку Korolev, которая дает возможность создавать современные одностраничные веб-приложения работающие целиком на стороне сервера, в функциональном стиле, на языке Scala.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Второй поток

Денис Шевченко

Haskell-энтузиаст и сооснователь в ruHaskell

LiquidHaskell: изящные типы

Все мы любим Haskell за его выразительную систему типов, избавляющую нас от множества проблем. Но нельзя ли сделать наши типы ещё более впечатляющими? LiquidHaskell, статический верификатор Haskell-кода, предлагает нам свой ответ на этот вопрос. 
В докладе будут рассмотрены основы работы с LiquidHaskell.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Первый поток

Алексей Романчук

Тимлид в 2ГИС

Практическое применение Akka Streams

В своем выступлении я расскажу об опыте использования Akka Streams. Мы поговорим о том как использовать встроенные в библиотеку комбинаторы и как написать собственные. Еще я расскажу как адаптировать существующий API для использования в Akka Streams на примере zeromq и reactive kafka.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Второй поток

Виталий Брагилевский

Старший преподаватель кафедры информатики и вычислительного эксперимента в Мехмат ЮФУ.

Haskell 2020: проблемы и перспективы процесса стандартизации

В апреле 2016 года был сформирован комитет по разработке нового стандарта языка Haskell 2020. Этот доклад посвящён стоящим перед комитетом задачам и проблемам, с которыми он уже столкнулся и которые ещё предстоят. Также будет обсуждаться необходимость стандартизации для языков с одним компилятором и отношение сообщества к этому процессу и его роль в нём.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Первый поток

Алекс Петров

Software Engineer в DataStax

Cyanite (Building Time-Series data store with Clojure)

Apache Cassandra - отличная база данных для многих вещей. Одна из них - это Time Series. Используя Cassandra и существующие Time Series инструменты (такие как Graphite), приводит к интересным результатам. Cyanite это Time Series аггрегатор, который использует Cassandra в качестве storage layer. Вы можете использовать Cyanite вместо Graphite, так как API идентичны. Cyanite написан на Clojure, вы узнаете больше о том как прототипировать интерфейсы, использовать Java библиотеки, делать pluggable части системы, как использовать новые Cassandra фичи для анализа Time Series и в общем о том чему мы научились пока разрабатывали Cyanite.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Второй поток

Денис Редозубов

Haskell-евангелист, CTO в Typeable.IO

Как победить функциональную кодобазу

Я расскажу о нескольких уроках, которые мы усвоили, и о нескольких решениях, которые мы приняли, для того чтобы сделать громадное количество рефакторингов и правок за несколько лет работы над Haskell кодобазой в typeable.io и не сойти с ума.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Второй поток

Никита Волков

Software engineer в IT

Web-routing в Haskell: очевидно и просто

В Haskell есть множество библиотек и фреймворков для создания сайтов. Однако подавляющее большинство из них страдает от спорных дизайн-решений и неповоротливости. Как отдельное явление существует и качественная библиотека Servant, которая, к сожалению, в то же время, способна отпугнуть и бывалых программистов из-за использования подходов, требующих довольно углублённых познаний для понимания. Ниша простой и элегантной библиотеки до сих пор остаётся пустой. В своём выступлении я презентую новую библиотеку, претендующую эту нишу оккупировать.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Первый поток

Андрей Неверов

Руководитель разработки в Trucker Path

Простые вещи

Поговорим про то, почему в наш век атомной тяги мы по прежнему называем переменные "q"; на красном глазу возвращаем из функции null, пишем циклы и иногда используем (о боже!) указатели на указатели на указатели; делаем все это и многое другое со вполне себе уверенным видом и крепко спим при всем этом по ночам; а так же о том, как это все связано с функциональным программированием и зачем вообще это все.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Второй поток

Антон Гуща

Software Engineer в IT

Фронтенд на Haskell с reflex-dom

Доклад охватит основы FRP в терминах библиотеки reflex-dom и создание простого веб приложения для расчёта хлебных единиц. На основе данного примера будут рассмотрены и объяснены типичные архитектурные решения для FRP приложений.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Первый поток

Никита Соболев

Сооснователь в Wemake.services

Пропаганда Elixir для новых адептов

Elixir шагает по миру разработки, стремительно набирая популярность. Обзорный доклад познакомит с возможностями и сферами применения языка, с высокой концентрацией WOW фич и метрик.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Первый поток

Илья Беда

Технический директор и основатель в beda.software

Воркшоп по ELM: пишем DRAG-AND-DROP

Язык програмирования Elm - одна из самых горячо обсуждаемых технологий во фронтенде. Кто-то уже использует его в домашних проектах, кто-то даже пишет на нем production код. Если вы хотели попробовать Elm для решения реальной задачи, то у вас есть прекрасная возможность. 
Приглашаю вас на воркшоп, в процессе которого мы напишем перемещение фигур на шахматной доске с помощью drag and drop. 
Поучавствовать смогут все желающие. Захватите с собой ноутбук и не забудьте установить Elm версии 0.18 https://www.npmjs.com/package/elm

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Первый поток

Алексей Пирогов

Software Engineer в Typeable.IO

The Elm Architecture: model, view & update your UI

The Elm Architecture (TEA) - подход к построению реактивного пользовательского интерфейса (UI), популяризируемый авторами языка Elm и уже позаимствованный авторами таких библиотек, как Redux и Choo для JavaScript и Pux (PureScript). Доклад призван дать представление о том, как TEA позволяет структурировать код Elm-приложений, а так же декомпозировать и масштабировать монолитный UI.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Второй поток

Михаил Бахтерев

Разработчик в ИММ УрО РАН

Распределённое программирование в системе RiDE

Несмотря на ощутимый прогресс в сетевых технологиях и технологиях построения распределённых вычислительных систем за последние 30 лет, методы программирования для таких систем остаются примерно в том состоянии, в котором они 30 лет назад оформились. Развиваются техники реализации тех или иных элементов API, но на уровне приложений, мы по-прежнему программируем обмены сообщениями, создаём пулы нитей с критическими секциями, «рисуем» различные вариации на тему сетей Петри. Всё это трудно кодировать, ещё тяжелее отлаживать и невозможно статически верифицировать. В последнее время эта проблема, в связи с развитием облачных платформ, стала особенно острой, и разработчики во всём мире активно взялись за её решение, в том числе и через разработку и исследование новых моделей программирования (можно взглянуть на список докладов ICFP-2016). Работа над системой RiDE ведётся в том же русле. Основная идея проекта заключается в том, чтобы дать программисту простой язык описания графа потока данных. Но не статичного с изменяемыми состояниями, как в традиционных системах, что ограничивает их выразительность и адаптируемость к условиям вычисления, а динамического с неизменными данными, потенциально бесконечного, рекурсивно генерируемого и открытого для взаимодействия с произвольными внешними системами. Такой DSL из 5 примитивов и 4 операций удалось придумать. Он позволяет описывать вычислительные процессы двукратно меньшим (в худшем из известных нам случае) объёмом кода.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Второй поток

Даниил Соболь

Архитектор и один из разработчиков в fearlesslittle.com

Почему в вашем следующем проекте вам нужно писать велосипеды на эрланге

На примере нашего проекта fearlesslittle.com рассмотрим то, как Эрланг может помочь вам меньше думать о реализации и больше о сути того, что вы делаете. Расскажу о том, почему не страшно и не плохо писать велосипеды и как это может сократить время разработки. Поговорим про очереди сообщений и о том, что не так с RabbitMQ и компанией. Какой формат сериализации выбрать и как реализовать протокол которого еще нет. Как быстро набросать базу данных для специфических задач. Почему публичный АПИ уж точно нужно писать на Эрланге. Поделюсь decision tree для определения того как вы можете использовать Эрланг в вашем проекте.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Второй поток

Антон Холомьев

Автор в Книга "Учебник по Haskell"

Сочиняем электронную музыку на Haskell

Участники семинара смогут научиться создавать электронную музыку на языке Haskell. Мы будем сочинять музыку прямо в интерпретаторе! Всего несколько строк кода достаточно для того чтобы порадовать ваших слушателей интересным звучанием. Мы научимся запускать MIDI-синтезаторы, писать барабанные партии в стиле IDM и glitch, записывать нашу музыку и создадим небольшой трек. 

Неужели это возможно? 

Конечно да, ведь мы будем делать это в Haskell! 

Для активного участия в семинаре желательно взять с собой ноутбук и наушники (чтобы иметь возможность слушать примеры локально, что-то менять, не мешая соседям, запускающим свои примеры :) Также нам понадобится установить одну программу и несколько хаскельных библиотек. Лучше сделать это заранее, до семинара. 

Мы будем делать музыку в библиотеке csound-expression (https://github.com/spell-music/csound-expression). Эта библиотека переводит хаскельный код в код языка Csound и потом сам Csound превращает код в музыку! Нам понадобятся три состовляющих: 

* среда Haskell: ghc (версии 7.10 и выше), cabal-install для установки хаскельных библиотек. Если вы новичок в Haskell, но хотите поучаствовать в семинаре, не беда всё это можно установить вместе с Haskell Platform (https://www.haskell.org/platform/). Пожалуй, это самый простой для новичка способ быстрой установки среды Haskell. После установки у вас должны быть доступными в командной строке две новые команды: ghci (интерпретатор Haskell) и cabal (утилита установки библиотек). 

* язык Csound. Ведь музыку мы будем получать именно из него. Язык Csound можно легко установить из официального сайта (http://csound.github.io/download.html). Там он доступен для всех платформ и установка не должна вызвать затруднений. После установки команда `csound` должна стать доступной в командной строке. Если этого не случилось, то необходимо добавить в список путей для программ (PATH) директорию с бинарником csound. * набор библиотек csound-expression. Это основная библиотека csound-expression, библиотека для создания музыки из сэмплов csound-sampler, набор готовых красивых синтов и драм-машин csound-catalog. Все они доступны на Hackage. И могоут быть установлены с помощью cabal. Проще всего набрать в командной строке 

> cabal install csound-catalog 

Все остальные библиотеки подтянутся по зависимостям. После установки можно проверить всё ли работает: 

Запустим интерпретатор: 

> ghci 

Импортируем библиотеку: 

> :m +Csound.Base 

Послушаем чистый сигнал на частоте 440 герц: 

> dac (osc 440) 

Если всё хорошо работает и установилось, мы сможем услышать звук. Для остановки программы нажмите Ctrl+C. 

Послушаем более интересный тестовый звук: 

> dac (testDrone3 220) 

Если что-то не получилось установить, то можете написать мне на почту и я подскажу. Найти почту можно здесь - http://hackage.haskell.org/package/csound-expression в строке maintainer. 

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Билеты

Показать
цену в
$
Видеозапись
Доступ к записям всех докладов
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Организатор

Evrone.com
https://evrone.com

Организационный комитет: Evrone.com, mail@evrone.com, 14152994883

Похожие мероприятия

18 ноября 2017
Докладов 22
Просмотров 4
Код, ПО, Программирование, Разработка, Софт, Тестирование
2-3 июня 2017
Докладов 27
Просмотров 6
Java, Javascript, Код, ПО, Программирование, Разработка, Скрипт, Софт, Тестирование
5 июня 2016
Докладов 25
Просмотров 3
Java, Javascript, QA, Код, ПО, Программирование, Разработка, Софт, Тестирование
показать еще