Содержание
- 2. Распределенный API: по 22 сервера в 2-х датацентрах (Америка, Европа). Разнообразные клиентские приложения: 40 desktop и
- 3. Возникла необходимость добавить новый источник данных HBase. С чего все началось?
- 4. NoSql – ; написана на Java; аналог Google Big table; не является заменой SQL; интерфейсы взаимодействия:
- 5. Apache Avro — система сериализации данных. Система использует JSON для определения структуры данных (схемы), которые сериализуются
- 6. AVRO – схема
- 7. HBase + Thrift-AVRO + .NET = ? AVRO AVRO TCP Socket TCP Socket
- 8. Workflow
- 9. META-DRIVEN; результат – простая таблица; возможность выполнять Map/Reduce; сохранить отношения данных; Требования
- 10. Проблемы большие вложенные AVRO схемы до 1 000 000 строк; AVRO не дружит с .NET; после
- 11. Что делать? А давайте напишем свой DSL!
- 12. Разработка синтаксиса
- 13. А давай еще Join’s
- 14. А как быстро написать парсер?
- 15. Парсинг(синтаксический анализ текста) ОБЩИЙ ПОДХОД
- 16. Парсер генератор на основе формальных языков (ANTLR). Подключаемая библиотека комбинаторных парсеров (Sprache, SuperPower). ... Выбор
- 17. Написать руками
- 18. ANTLR (Another Tool for Language Recognition) Расширенная форма Бэкуса — Наура Генератор на основе формальных языков
- 19. декларативный синтаксис; строгое соблюдение грамматики; не нужно думать о performance; не нужно писать документацию. Генератор на
- 20. реализован как библиотека языка; модульный и поддерживаемый; полуавтоматическая генерация сообщений об ошибках; backtracking и look ahead;
- 21. никакого внешнего кода; поддается к индивидуальным требованиям; потенциально быстр, как только это возможно. Рукописные парсеры все
- 22. Причем тут функциональное прог-ие? Основные концепции: неизменяемые структуры данных; чистые функции; функции высших порядков; рекурсия.
- 23. Императивное vs Функциональное
- 24. Написать примитивные парсеры(функции). Написать функции для комбинирования. Скомбинировать простые парсеры в более сложные. PROFIT! Don’t panic
- 25. type Parser = String -> Tree type Parser = String -> (String, Tree) type Parser =
- 26. Пишем простой комбинаторный парсер Выражение : “42 + 5” 42 + 5 expression + 42 5
- 27. Парсим простое выражение : “42 + 5” Railroad - диаграмма Грамматика в БНФ
- 28. Библиотеки с готовым набором комбинаторных парсеров для С# небольшая библиотека, совместима .NET Core; простой, но богатый
- 29. Готовый код парсера для “42 + 5”
- 30. Ну, а как же без TDD?
- 31. Давайте усложним : “42 + 5 - 7” Railroad - диаграмма Грамматика в БНФ
- 32. Парсер на Sprache “42 + 5 - 7”
- 33. DSL (Domain-specific language) Пример: XPath, SQL; использование NoSQL; не хватает всей “Мощи” XML; разработка IDE или
- 34. Что внутри?
- 35. Тип Result
- 36. Тип Input (обертка над string)
- 37. Начнем с простых парсеров
- 38. Пишем первый комбинирующий парсер Parser Parser Then
- 39. Строим путь к LINQ’s query синтаксису
- 40. Комбинируем
- 41. Полный код на GitHub
- 42. Фрагмент из клипа Thrift shop ☺ HASL – HBase Avro Snapshot Language
- 43. прототип был написан за 1 вечер на Sprache; был переписан на Superpower; в дальнейшем все изменения
- 44. Что получилось достичь за 1 день?
- 45. Транформирует объекты в таблицу. Ориентирован на AVRO-схему. Селекторы для всех типов: object, type[], примитивы. Фильтры для
- 46. Перформанс HASL - Основа Core-I7 6700 3.40 GHz. Windows server 2010. x64.
- 47. 3 424 знаков. 120 строк. 3 Join’а. 102 селектора. 25 с фильтрами. Полностью отформатирован. Перформанс HASL
- 48. Перформанс HASL - Результаты
- 49. Схема
- 50. Пример запроса
- 51. Результат
- 52. Спасибо за внимание!
- 54. Скачать презентацию



















































Презентация на тему Что такое информация
Структура информатики
Защита объекта от физического несанкционированного доступа
Маски и шаблоны
Классификация программного обеспечения
Эл.1
Разработка и реализация системы организации учебно-исследовательской деятельности учащихся в курсе информатики
Минимизация ДНФ методом Квайна
Редактирование текста
Switch Stage - stage обработки
Применение облачных технологий в современном образовательном процессе
Циклы и массивы. Тема 9. Программирование на языке Си#
ISP Call Center staff
МДК 02.02. Web-программирование. Язык РНР Работа с файловой системой
Передача информации
Анализ телеграм-канала Шум и я
Operational Systems and their Security: Course introduction
Telegram-канал Табуретка
Растровое кодирование изображения
Оператори умови
Ошибки операторов при работе с БД ОВЗ
Файлы и файловые системы
SVP. Программирование
Технологии обработки информации
Сравнительные характеристики антивирусных программ. Шаблон
Алгоритмизация и программирование С#. (Лекция 1.1)
Программирование линейных алгоритмов
Автопрограмма AutoPlus