Как стать автором
Обновить

Элегантный вопросительный знак

Время на прочтение 20 мин
Количество просмотров 5.3K
Занимательные задачки Haskell *Математика *Функциональное программирование *

В этой заметке я хочу поделиться элегантным решением одной задачи с сайта-хрестоматии RosettaCode. Речь пойдёт о программе, вычисляющей функцию Минковского — одного из инструментов теории чисел и динамических систем. Несмотря на то, что реализовать эту функцию относительно несложно (её код даже приводится в Википедии), имеет смысл подняться на достаточно высокий уровень абстракции, для того, чтобы увидеть предельно простое решение этой задачи. Ну, и получить удовольствие от красоты математики и языка Haskell.

Этот рассказ может быть интересным тому читателю, кто подобно мне, радуется обнаруживая "автомагические" решения, в которых точно подобранные структуры и абстракции, при помощи содержащейся в них математической основы, решают задачу как бы сами собой, гарантируя корректность этого решения.

Сначала мы обсудим саму функцию Минковского, потом разглядим в её действии изоморфизм между двумя алгебраическими структурами и уже с этих позиций напишем короткую программу на Haskell, и, конечно, обсудим что нам с этого всего будет.

Читать далее
Всего голосов 24: ↑24 и ↓0 +24
Комментарии 15

Абстрактная алгебра в действии

Время на прочтение 6 мин
Количество просмотров 21K
Программирование *.NET *C# *Математика *Функциональное программирование *

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

Читать далее
Всего голосов 43: ↑43 и ↓0 +43
Комментарии 31

Властелин структур

Время на прочтение 15 мин
Количество просмотров 8.4K
Программирование *.NET *C# *Математика *Функциональное программирование *
✏️ Технотекст 2021

Ранее, в материале "Абстрактная алгебра в действии" я привёл некоторые примеры алгебраического подхода в программировании. Публикацию восприняли относительно хорошо, поэтому в этой заметке продолжится развитие мысли о том, что некоторые задачи, хоть так и не кажется на первый взгляд, на самом деле, могут быть решены алгебраическим способом. Сегодня мы продвинемся дальше в вопросе знакомства с абстрактной алгеброй и посмотрим на новые примеры кода с её применением.

Читать далее
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 42

Методы обфускации трафика. Гомоморфное шифрование

Время на прочтение 3 мин
Количество просмотров 5.2K
Блог компании GlobalSign Информационная безопасность *Разработка веб-сайтов *Криптография *IT-стандарты *

Схема гомоморфного шифрования (HE)

В последнее время на Хабре всё чаще поднимается тема обфускации/маскировки трафика. Для этих целей разработаны различные инструменты и методы, такие как Pluggable Transports и Project V. Но особый интерес привлекают схемы с использованием FHE (полностью гомоморфного шифрования), поскольку это самый передовой рубеж развития криптографической науки.

Если в двух словах, FHE позволяют производить вычисления над зашифрованными данными без их расшифровки. Это открывает совершенно новые возможности. Например, можно обрабатывать на сервере конфиденциальные данные пользователей без их раскрытия серверу.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 5