🗊Презентация Функциональное программирование

Нажмите для полного просмотра!
Функциональное программирование, слайд №1Функциональное программирование, слайд №2Функциональное программирование, слайд №3Функциональное программирование, слайд №4Функциональное программирование, слайд №5Функциональное программирование, слайд №6Функциональное программирование, слайд №7Функциональное программирование, слайд №8Функциональное программирование, слайд №9Функциональное программирование, слайд №10Функциональное программирование, слайд №11Функциональное программирование, слайд №12Функциональное программирование, слайд №13Функциональное программирование, слайд №14Функциональное программирование, слайд №15Функциональное программирование, слайд №16Функциональное программирование, слайд №17Функциональное программирование, слайд №18Функциональное программирование, слайд №19Функциональное программирование, слайд №20Функциональное программирование, слайд №21Функциональное программирование, слайд №22Функциональное программирование, слайд №23Функциональное программирование, слайд №24Функциональное программирование, слайд №25Функциональное программирование, слайд №26Функциональное программирование, слайд №27Функциональное программирование, слайд №28Функциональное программирование, слайд №29Функциональное программирование, слайд №30Функциональное программирование, слайд №31Функциональное программирование, слайд №32Функциональное программирование, слайд №33Функциональное программирование, слайд №34Функциональное программирование, слайд №35Функциональное программирование, слайд №36Функциональное программирование, слайд №37Функциональное программирование, слайд №38Функциональное программирование, слайд №39Функциональное программирование, слайд №40Функциональное программирование, слайд №41Функциональное программирование, слайд №42Функциональное программирование, слайд №43Функциональное программирование, слайд №44Функциональное программирование, слайд №45Функциональное программирование, слайд №46Функциональное программирование, слайд №47Функциональное программирование, слайд №48Функциональное программирование, слайд №49Функциональное программирование, слайд №50Функциональное программирование, слайд №51Функциональное программирование, слайд №52Функциональное программирование, слайд №53

Содержание

Вы можете ознакомиться и скачать презентацию на тему Функциональное программирование. Доклад-сообщение содержит 53 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Комбинаторные парсеры для простых смертных
Комбинаторные парсеры для простых смертных
Описание слайда:
Комбинаторные парсеры для простых смертных Комбинаторные парсеры для простых смертных

Слайд 2





Распределенный API: по 22 сервера в 2-х датацентрах (Америка, Европа).
Распределенный API: по 22 сервера в 2-х датацентрах (Америка, Европа).
Разнообразные клиентские приложения: 40 desktop и web приложений.
Датацентр обрабатывает 12 000 запросов в минуту.
Ресурсоёмкие запросы и пакетные запросы.
Описание слайда:
Распределенный API: по 22 сервера в 2-х датацентрах (Америка, Европа). Распределенный API: по 22 сервера в 2-х датацентрах (Америка, Европа). Разнообразные клиентские приложения: 40 desktop и web приложений. Датацентр обрабатывает 12 000 запросов в минуту. Ресурсоёмкие запросы и пакетные запросы.

Слайд 3






Возникла необходимость добавить новый источник данных HBase.
Описание слайда:
Возникла необходимость добавить новый источник данных HBase.

Слайд 4





NoSql – <ключ значение>;
NoSql – <ключ значение>;
написана на Java;
аналог Google Big table;
не является заменой SQL;
интерфейсы взаимодействия: REST, Java API, Apache THRIFT.
Описание слайда:
NoSql – <ключ значение>; NoSql – <ключ значение>; написана на Java; аналог Google Big table; не является заменой SQL; интерфейсы взаимодействия: REST, Java API, Apache THRIFT.

Слайд 5





Apache Avro — система сериализации данных.
Apache Avro — система сериализации данных.
Система использует JSON для определения структуры данных (схемы), которые сериализуются в компактный бинарный формат.
Описание слайда:
Apache Avro — система сериализации данных. Apache Avro — система сериализации данных. Система использует JSON для определения структуры данных (схемы), которые сериализуются в компактный бинарный формат.

Слайд 6





	AVRO – схема
	AVRO – схема
Описание слайда:
AVRO – схема AVRO – схема

Слайд 7





	HBase + Thrift-AVRO + .NET = ?
	HBase + Thrift-AVRO + .NET = ?
Описание слайда:
HBase + Thrift-AVRO + .NET = ? HBase + Thrift-AVRO + .NET = ?

Слайд 8





	Workflow
	Workflow
Описание слайда:
Workflow Workflow

Слайд 9





META-DRIVEN;
META-DRIVEN;
результат – простая таблица;
возможность выполнять Map/Reduce;
сохранить отношения данных;
Описание слайда:
META-DRIVEN; META-DRIVEN; результат – простая таблица; возможность выполнять Map/Reduce; сохранить отношения данных;

Слайд 10





	Проблемы
	Проблемы
Описание слайда:
Проблемы Проблемы

Слайд 11





	Что делать?
	Что делать?
Описание слайда:
Что делать? Что делать?

Слайд 12





	Разработка синтаксиса
	Разработка синтаксиса
Описание слайда:
Разработка синтаксиса Разработка синтаксиса

Слайд 13





	А давай еще Join’s
	А давай еще Join’s
Описание слайда:
А давай еще Join’s А давай еще Join’s

Слайд 14





	А как быстро написать парсер?
	А как быстро написать парсер?
Описание слайда:
А как быстро написать парсер? А как быстро написать парсер?

Слайд 15





	Парсинг(синтаксический анализ текста)
	Парсинг(синтаксический анализ текста)
Описание слайда:
Парсинг(синтаксический анализ текста) Парсинг(синтаксический анализ текста)

Слайд 16





Парсер генератор на основе формальных языков (ANTLR).
Парсер генератор на основе формальных языков (ANTLR).
Подключаемая библиотека комбинаторных парсеров (Sprache, SuperPower).
...
Описание слайда:
Парсер генератор на основе формальных языков (ANTLR). Парсер генератор на основе формальных языков (ANTLR). Подключаемая библиотека комбинаторных парсеров (Sprache, SuperPower). ...

Слайд 17


Функциональное программирование, слайд №17
Описание слайда:

Слайд 18





ANTLR (Another Tool for Language Recognition)
ANTLR (Another Tool for Language Recognition)
Расширенная форма Бэкуса — Наура
Описание слайда:
ANTLR (Another Tool for Language Recognition) ANTLR (Another Tool for Language Recognition) Расширенная форма Бэкуса — Наура

Слайд 19





декларативный синтаксис;
декларативный синтаксис;
строгое соблюдение грамматики;
не нужно думать о performance;
не нужно писать документацию.
Описание слайда:
декларативный синтаксис; декларативный синтаксис; строгое соблюдение грамматики; не нужно думать о performance; не нужно писать документацию.

Слайд 20





реализован как библиотека языка;
реализован как библиотека языка;
модульный и поддерживаемый;
полуавтоматическая генерация сообщений об ошибках;
backtracking и look ahead;
возможности в runtime;
не требует предварительной токенизации(лексера).
Описание слайда:
реализован как библиотека языка; реализован как библиотека языка; модульный и поддерживаемый; полуавтоматическая генерация сообщений об ошибках; backtracking и look ahead; возможности в runtime; не требует предварительной токенизации(лексера).

Слайд 21





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

Слайд 22





	Причем тут функциональное прог-ие?
	Причем тут функциональное прог-ие?
Описание слайда:
Причем тут функциональное прог-ие? Причем тут функциональное прог-ие?

Слайд 23





   Императивное      vs     Функциональное
   Императивное      vs     Функциональное
Описание слайда:
Императивное vs Функциональное Императивное vs Функциональное

Слайд 24





Написать примитивные парсеры(функции).
Написать примитивные парсеры(функции).
Написать функции для комбинирования.
Скомбинировать простые парсеры в более сложные.
PROFIT!
Описание слайда:
Написать примитивные парсеры(функции). Написать примитивные парсеры(функции). Написать функции для комбинирования. Скомбинировать простые парсеры в более сложные. PROFIT!

Слайд 25





type Parser = String -> Tree
type Parser = String -> Tree

type Parser = String -> (String, Tree)

type Parser<T> = String -> (String, T)

type Parser<TInput, T> = TInput -> (TInput, T)
Описание слайда:
type Parser = String -> Tree type Parser = String -> Tree type Parser = String -> (String, Tree) type Parser<T> = String -> (String, T) type Parser<TInput, T> = TInput -> (TInput, T)

Слайд 26





	Пишем простой комбинаторный парсер
	Пишем простой комбинаторный парсер
Описание слайда:
Пишем простой комбинаторный парсер Пишем простой комбинаторный парсер

Слайд 27


Функциональное программирование, слайд №27
Описание слайда:

Слайд 28





	Библиотеки с готовым набором комбинаторных 	парсеров для С#
	Библиотеки с готовым набором комбинаторных 	парсеров для С#
Описание слайда:
Библиотеки с готовым набором комбинаторных парсеров для С# Библиотеки с готовым набором комбинаторных парсеров для С#

Слайд 29





	Готовый код парсера для “42 + 5”
	Готовый код парсера для “42 + 5”
Описание слайда:
Готовый код парсера для “42 + 5” Готовый код парсера для “42 + 5”

Слайд 30





	Ну, а как же без TDD?
	Ну, а как же без TDD?
Описание слайда:
Ну, а как же без TDD? Ну, а как же без TDD?

Слайд 31


Функциональное программирование, слайд №31
Описание слайда:

Слайд 32





	Парсер на Sprache “42 + 5 - 7”
	Парсер на Sprache “42 + 5 - 7”
Описание слайда:
Парсер на Sprache “42 + 5 - 7” Парсер на Sprache “42 + 5 - 7”

Слайд 33





DSL (Domain-specific language) Пример: XPath, SQL;
DSL (Domain-specific language) Пример: XPath, SQL;
использование NoSQL;
не хватает всей “Мощи” XML;
разработка IDE или плагинов к ним; 
клиентские приложения, например, поиск;
анализ документов.
Описание слайда:
DSL (Domain-specific language) Пример: XPath, SQL; DSL (Domain-specific language) Пример: XPath, SQL; использование NoSQL; не хватает всей “Мощи” XML; разработка IDE или плагинов к ним; клиентские приложения, например, поиск; анализ документов.

Слайд 34





	Что внутри?
	Что внутри?
Описание слайда:
Что внутри? Что внутри?

Слайд 35





	Тип Result<T>
	Тип Result<T>
Описание слайда:
Тип Result<T> Тип Result<T>

Слайд 36





	Тип Input (обертка над string)
	Тип Input (обертка над string)
Описание слайда:
Тип Input (обертка над string) Тип Input (обертка над string)

Слайд 37





	Начнем с простых парсеров
	Начнем с простых парсеров
Описание слайда:
Начнем с простых парсеров Начнем с простых парсеров

Слайд 38





	Пишем первый комбинирующий парсер
	Пишем первый комбинирующий парсер
Описание слайда:
Пишем первый комбинирующий парсер Пишем первый комбинирующий парсер

Слайд 39





	Строим путь к LINQ’s query синтаксису
	Строим путь к LINQ’s query синтаксису
Описание слайда:
Строим путь к LINQ’s query синтаксису Строим путь к LINQ’s query синтаксису

Слайд 40





	Комбинируем
	Комбинируем
Описание слайда:
Комбинируем Комбинируем

Слайд 41





	Полный код на GitHub
	Полный код на GitHub
Описание слайда:
Полный код на GitHub Полный код на GitHub

Слайд 42





	HASL – HBase Avro Snapshot Language
	HASL – HBase Avro Snapshot Language
Описание слайда:
HASL – HBase Avro Snapshot Language HASL – HBase Avro Snapshot Language

Слайд 43





прототип был написан за 1 вечер на Sprache;
прототип был написан за 1 вечер на Sprache;
был переписан на Superpower;
в дальнейшем все изменения занимали 1-2 часа.
Описание слайда:
прототип был написан за 1 вечер на Sprache; прототип был написан за 1 вечер на Sprache; был переписан на Superpower; в дальнейшем все изменения занимали 1-2 часа.

Слайд 44





	Что получилось достичь за 1 день?
	Что получилось достичь за 1 день?
Описание слайда:
Что получилось достичь за 1 день? Что получилось достичь за 1 день?

Слайд 45





Транформирует объекты в таблицу.
Транформирует объекты в таблицу.
Ориентирован на AVRO-схему.
Селекторы для всех типов: object, type[], примитивы.
Фильтры для [].
API функций для сложных вычислений и фильтраций.
Поддержка Join’ов.
Описание слайда:
Транформирует объекты в таблицу. Транформирует объекты в таблицу. Ориентирован на AVRO-схему. Селекторы для всех типов: object, type[], примитивы. Фильтры для []. API функций для сложных вычислений и фильтраций. Поддержка Join’ов.

Слайд 46





	Перформанс HASL - Основа
	Перформанс HASL - Основа
Описание слайда:
Перформанс HASL - Основа Перформанс HASL - Основа

Слайд 47





 3 424 знаков.
 3 424 знаков.
 120 строк.
 3 Join’а.
 102 селектора. 
 25 с фильтрами.
 Полностью отформатирован.
Описание слайда:
3 424 знаков. 3 424 знаков. 120 строк. 3 Join’а. 102 селектора. 25 с фильтрами. Полностью отформатирован.

Слайд 48





	Перформанс HASL - Результаты
	Перформанс HASL - Результаты
Описание слайда:
Перформанс HASL - Результаты Перформанс HASL - Результаты

Слайд 49





	Схема
	Схема
Описание слайда:
Схема Схема

Слайд 50





	Пример запроса
	Пример запроса
Описание слайда:
Пример запроса Пример запроса

Слайд 51





	Результат
	Результат
Описание слайда:
Результат Результат

Слайд 52





	Спасибо за внимание!
	Спасибо за внимание!
Описание слайда:
Спасибо за внимание! Спасибо за внимание!

Слайд 53





	Вопросы?
	Вопросы?
Описание слайда:
Вопросы? Вопросы?



Похожие презентации
Mypresentation.ru
Загрузить презентацию