Никита Волков: postgresql, hasql, haskell – 2015.10.14 postgresqlrussia.org meetup in...
TRANSCRIPT
PostgreSQL, Hasql, Haskellи жонглирование
Никита Волков
Эта функция простая?
Эта функция простая?
1
Эта функция простая?
11
Эта функция простая?
11
1
Эта функция простая?
11
1 1
Эта функция простая?
11
1 1 1
Эта функция простая?
11
1 1 1 1
Эта функция простая?
11n*4
Эта функция простая?
11n*41
Эта функция простая?
11n*41
+ exceptions 1
Эта функция простая?
11n*41
+ exceptions
+ time
11
Эта функция простая?
5 + 4n
Эта функция простая?Дополнительная проблема: выбор
Эта функция простая?
При этом, пока так и осталась нерешённой проблема разбора результата.
Её решение – это отдельная песня.
t
Exceptions,Time,Resourcemanagement
Parameters,Decisions
Вывод
Нужно меньше мячиков
Вывод
Нужно меньше мячикови желательно без пил
HasqlАбстракция Statement
Что мы получаем?
● “Чистая” функция без сторонних эффектов
● Прозрачный, декларативный код
● Нет проблемы времени
● Нет проблемы исключений
● Нет проблемы управления ресурсами
Что мы получаем?Завершённая абстракция
Что мы получаем?Завершённая абстракция
Решения 4 проблем SQL, сериализации, десериализации и кеширования объединяются в единую, в дальнейшем, неделимую сущность, о деталях которой её пользователям уже задумываться не придётся.
Что мы получаем?Стимул модулировать код
● В одном модуле находится модель приложения
● В другом – её сериализаторы● В третьем – десериализаторы
● В четвёртом – стейтменты, которые комбинируют типы и функции из предыдущих трёх
● В пятом модуле – транзакции, комбинируемые из стейтментов
Исполнение стейтментов
Производительностьв сравнении с конкурентами
Ссылки
● Репозиторий Hasql:https://github.com/nikita-volkov/hasql
● Мой блог с моими контактами:http://nikita-volkov.github.io/
● Отличное место для начала изучения Haskell:http://learnyouahaskell.com/chapters