Содержание
- 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. Скачать презентацию



















































Программирование на языке Java
Обучающая программа “Основы HTML”
Табличные модели, диаграммы
Моделирование как метод познания. Знаковые модели. Моделирование и формализация
Решение 3D задач. Задача о растекании токов
Домашнее задание. Подготовка электронной презентации по одному из художников XIX века
Устройство компьютера
Вирусы и антивирусные программы
Линейные модели: введение
Пример графики
Правила охраны труда и гигиены работы на компьютере
Практика использования специального оборудования в обучении детей с тяжелыми двигательными нарушениями
istoria_operatsionnykh_sistem_i_programnogo_obespechenia
Структурно-топологическое описание сетей связи
Збереження персональних даних
3D моделирование
Лингвистическое обеспечение автоматизированных библиотечно-информационных систем: понятие, виды, функции
Тренды визуального контента 2020
Алгоритм Перевозчик
Представление чисел в компьютере. Двоичная система счисления. Двоичная арифметика
Народная программистская мудрость
Кодирование информации. 5 класс
Fateashion. Офферы
Использование программ в среде ГРИС Стрелочка
SVP. Программирование
Поиск информации в сети. Интернет
Инструкция по созданию заявок. Форма для работы с отчетом
Microsoft Azure