Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 2127 сообщений
Cообщения с меткой

функциональное программирование - Самое интересное в блогах

Следующие 30  »
rss_habr

[Перевод] Грокаем Traversable

Пятница, 03 Февраля 2023 г. 12:30 (ссылка)

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

Читать далее

https://habr.com/ru/post/714532/?utm_source=habrahabr&utm_medium=rss&utm_campaign=714532

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Грокаем Traversable

Пятница, 03 Февраля 2023 г. 12:30 (ссылка)

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

Читать далее

https://habr.com/ru/post/714532/?utm_source=habrahabr&utm_medium=rss&utm_campaign=714532

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

История одного соседа

Вторник, 31 Января 2023 г. 15:54 (ссылка)

Приветствую всяк смотрящий на моем первом посте на хабре. Очень долго я шел к тому чтоб решиться написать свой неинтересный рассказ и разместить его тут. И да. это очередной пост о том как кто-то написал скучного бота. Но я получил опыт, который возможно пригодится мне когда-то. Поэтому хотелось бы закрепить. Я расскажу об этапах создания некоторого функционала, идей и с чем я столкнулся и что я узнал не из интернета, а на своём опыте. Возможно кому-то будет полезно.

Однажды, зайдя в чат дома между катками доты, я увидел бота который дает возможность кикать пользователей путем голосования в чате. Нехитрое изобретение, я решил повторить и тогда я впервые познакомился с Telegram Bot API. В частности с библиотекой telebot. И тут первое что хотел бы отметить. На момент написания того самого первого бота, в данной библиотеке использовалась функция polling(), для поддержки бота в сети при простое. Однако она была не идеальной и через буквально 10 минут простоя бот всё же полностью терял соединение и не принимал запросы. На тот момент решением стало вот такая вещь...

Читать далее

https://habr.com/ru/post/713968/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713968

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Функциональное мышление

Понедельник, 23 Января 2023 г. 15:32 (ссылка)

imageTL;DR: Конструирование приложения с чистой функцией в основе может стать первым шагом к идеалу «функционально-центричной императивной оболочки», что может упростить тестирование приложения и снизить планку его сложности. Читать дальше →

https://habr.com/ru/post/711848/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711848

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Функциональное мышление

Понедельник, 23 Января 2023 г. 15:32 (ссылка)

imageTL;DR: Конструирование приложения с чистой функцией в основе может стать первым шагом к идеалу «функционально-центричной императивной оболочки», что может упростить тестирование приложения и снизить планку его сложности. Читать дальше →

https://habr.com/ru/post/711848/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711848

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Грокаем валидацию при помощи аппликативного функтора

Понедельник, 09 Января 2023 г. 12:00 (ссылка)

В предыдущем посте мы открыли Аппликативный функтор, а если точнее, изобрели функцию apply. С ее помощью мы решили проблему валидации полей кредитной карты. Функция apply позволила легко объединить результаты каждой функции, отдельно проверяющей одно поле - номер карты, срок действия и CVV - в объект типа Result, который представляет финальный результат проверки всех данных кредитной карты на корректность. Возможно, вы также помните, что в случае если у нас есть несколько ошибок валидации, мы решили пойти простым путем и просто возвращать первую из них.

Читать далее

https://habr.com/ru/post/709376/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709376

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Грокаем валидацию при помощи аппликативного функтора

Понедельник, 09 Января 2023 г. 12:00 (ссылка)

В предыдущем посте мы открыли Аппликативный функтор, а если точнее, изобрели функцию apply. С ее помощью мы решили проблему валидации полей кредитной карты. Функция apply позволила легко объединить результаты каждой функции, отдельно проверяющей одно поле - номер карты, срок действия и CVV - в объект типа Result, который представляет финальный результат проверки всех данных кредитной карты на корректность. Возможно, вы также помните, что в случае если у нас есть несколько ошибок валидации, мы решили пойти простым путем и просто возвращать первую из них.

Читать далее

https://habr.com/ru/post/709376/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709376

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Квазицитирование в Lisp

Среда, 04 Января 2023 г. 19:58 (ссылка)

Аннотация



Квазицитирование (quasiquotation) — это технология, обычно используемая в Lisp для создания программ, генерирующих другие программы. В статье объясняется механизм работы квазицитирования, поясняется почему он работает именно так и каковы его ограничения, а также даётся экскурс в историю квазицитирования.

Читать дальше →

https://habr.com/ru/post/709106/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709106

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Грокаем аппликативные функторы

Пятница, 23 Декабря 2022 г. 12:06 (ссылка)

Аппликативный функтор, возможно, наименее известный брат монады, но он столь же важен и решает похожую проблему. В этом посте мы постараемся разобраться, что он из себя представляет.

Читать далее

https://habr.com/ru/post/707294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=707294

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Грокаем аппликативные функторы

Пятница, 23 Декабря 2022 г. 12:06 (ссылка)

Аппликативный функтор, возможно, наименее известный брат монады, но он столь же важен и решает похожую проблему. В этом посте мы постараемся разобраться, что он из себя представляет.

Читать далее

https://habr.com/ru/post/707294/?utm_source=habrahabr&utm_medium=rss&utm_campaign=707294

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Полурешётки и законы Мерфи

Воскресенье, 18 Декабря 2022 г. 18:32 (ссылка)

Программист обязательно ставит на тумбочку у кровати два стакана: один полный, на случай, если он проснётся и захочет пить, а другой пустой — вдруг он не захочет. Так гласит известный анекдот. Но в реальной жизни часто работают законы Мерфи, и предусмотренные планы рушатся. Что же делать программисту на случай, если он проснётся и не поймёт, хочет он пить или нет

Читать далее

https://habr.com/ru/post/706162/?utm_source=habrahabr&utm_medium=rss&utm_campaign=706162

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Дженерики в Go: когда нужны и когда можно без них

Четверг, 27 Октября 2022 г. 11:27 (ссылка)

Много раз при обсуждении преимуществ и прелестей Go, как языка разработки, мне приходилось слышать что-то вроде «у вас даже нет дженериков» или «вот завезут дженерики, тогда и поговорим». Так вот, дженерики завезли, давайте посмотрим что из этого вышло.

Меня зовут Павел Грязнов. Я уже несколько лет пишу на Go в прод, хотя знакомство с языком начал с самых ранних версий. Видел как Garbage Collector мог сделать stop the world на пару секунд, страдал от отсутствия системы зависимостей и других проблем. В этой статье я расскажу о дженериках в Go. Начнём с самых основ, продолжим более продвинутыми примерами и закончим бенчмарками.

Чтобы лучше показать работу дженериков на контрасте, я сравню примеры их использования на двух языках — Python и Go. C Python последний раз работал слишком давно, поэтому вторую часть доклада мне помогли сделать коллеги из Evrone. Пойдем по порядку: разберем, для чего нужны дженерики и какие задачи они решают. Посмотрим, как выглядит мир без дженериков, на их синтаксис, ограничения, бенчмарки и немного затронем функциональное программирование.

Читать далее

https://habr.com/ru/post/695400/?utm_source=habrahabr&utm_medium=rss&utm_campaign=695400

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Можно ли считать DateTimeImmutable примитивным типом?

Четверг, 13 Октября 2022 г. 11:31 (ссылка)

В рамках последнего семинара мы обсуждали концепцию DTO (Data Transfer Object). Главная особенность DTO заключается в том, что они содержат значения исключительно примитивных типов (строки, целые числа, логические значения), списки или ассоциативные массивы с такими значениями, включая и «вложенные» DTO. Я не могу точно сказать, кто придумал эту идею, но я использую ее, потому что она делает DTO структурами данных, которые энфорсят только схему заключенных в них значений (имена полей, ожидаемые типы, обязательные и необязательные поля), оставляя их семантику в покое. Это позволяет нам создавать DTO из любого источника данных, например из значений, полученных из формы ввода двнных, аргументов командной строки, JSON, XML, Yaml и т. д.

Использование примитивных значений в DTO является наглядной демонстрацией того, что эти значения не валидируются. DTO просто используется для передачи или переноса данных с одного слоя в другой. И вот в этом контексте во время семинара у нас возник вопрос: можем ли мы считать DateTimeImmutable значением примитивного типа? Если да, то можем ли мы использовать этот тип внутри DTO?

Мне кажется, что это достаточно интересный вопрос для разбора. Хочется сразу ответить «нет», но почему?

Как нам понять, удовлетворяет ли что-либо наш предикат? Для начала мы должны определить сам предикат. Когда мы оперируем абстрактными формулировками, то этот первый шаг вполне очевиден, но при обсуждении конкретных вопросов часто неясно, что разговор должен начинаться с определений; нам так не терпится сразу же перейти к ответу! Итак, чтобы ответить на это вопрос, нам для начала нужно определить, что является значением примитивного типа.

Читать далее

https://habr.com/ru/post/693012/?utm_source=habrahabr&utm_medium=rss&utm_campaign=693012

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Как работать из PyCharm community c CSS

Четверг, 06 Октября 2022 г. 16:05 (ссылка)

Я только начинаю свой путь, как в веб-разработке, так и в программировании в принципе, с ответом на этот вопрос мучился 2 дня и казалось бы перепробовал все, НО как это обычно бывает, решение лежало на поверхности.

P.S. Могу путаться в терминах в силу своей неопытности, прошу строго не судить. Всегда рад конструктивной обратной связи, спасибо за понимание! Да, я знаю о существовании Django, просто начинать как мне кажется лучше с голого кода и дальше с базовыми знаниями переходить к изучению этого прекрасного фреймворка.

Читать далее

https://habr.com/ru/post/691892/?utm_source=habrahabr&utm_medium=rss&utm_campaign=691892

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Обработка исключений в Java в функциональном стиле. Часть 2

Вторник, 13 Сентября 2022 г. 11:35 (ссылка)

Обработка исключений в Java в функциональном стиле. Часть 2.



В предыдущей статье была рассмотрена функциональная обработка исключений с помощью интерфейса Try. Статья вызвала определенный интерес читателей и была отмечена в "Сезоне Java".



В данной статье автор продолжит тему и рассмотрит простую и "грамотную" (literate) обработку исключений при помощи функций высшего порядка без использования каких либо внешних зависимостей и сторонних библиотек.

Читать дальше →

https://habr.com/ru/post/687954/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687954

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Обработка исключений в Java в функциональном стиле. Часть 2

Вторник, 13 Сентября 2022 г. 11:35 (ссылка)

Обработка исключений в Java в функциональном стиле. Часть 2.



В предыдущей статье была рассмотрена функциональная обработка исключений с помощью интерфейса Try. Статья вызвала определенный интерес читателей и была отмечена в "Сезоне Java".



В данной статье автор продолжит тему и рассмотрит простую и "грамотную" (literate) обработку исключений при помощи функций высшего порядка без использования каких либо внешних зависимостей и сторонних библиотек.

Читать дальше →

https://habr.com/ru/post/687954/?utm_source=habrahabr&utm_medium=rss&utm_campaign=687954

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Грокаем функторы

Вторник, 06 Сентября 2022 г. 19:14 (ссылка)

Это перевод статьи из целого цикла постов "Грокаем функциональное программирование" Мэта Торнтона. Я позволил себе немного поменять порядок постов. В оригинале, функторы идут после монад, что мне показалось неверным. Всякая монада - это функтор, но не всякий функтор - это монада. Также я убрал дублирование из поста про монады и добавил необходимые пояснения. Мне нравится практическая направленность материала. Он довольно подробно останавливается на базовых вещах, так что скорее предназначен для тех, кто только знакомится с функциональным программированием.

В этом посте мы постараемся разобраться, что такое функтор собственноручно переизобретая его на рабочем примере.

Читать далее

https://habr.com/ru/post/686768/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686768

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Грокаем функторы

Вторник, 06 Сентября 2022 г. 19:14 (ссылка)

Это перевод статьи из целого цикла постов "Грокаем функциональное программирование" Мэта Торнтона. Я позволил себе немного поменять порядок постов. В оригинале, функторы идут после монад, что мне показалось неверным. Всякая монада - это функтор, но не всякий функтор - это монада. Также я убрал дублирование из поста про монады и добавил необходимые пояснения. Мне нравится практическая направленность материала. Он довольно подробно останавливается на базовых вещах, так что скорее предназначен для тех, кто только знакомится с функциональным программированием.

В этом посте мы постараемся разобраться, что такое функтор собственноручно переизобретая его на рабочем примере.

Читать далее

https://habr.com/ru/post/686768/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686768

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Грокаем монады императивно

Пятница, 26 Августа 2022 г. 14:48 (ссылка)

В предыдущем посте мы переизобрели Монаду на рабочем примере. У нас получился базовый механизм в виде функции andThen для типа option, но мы еще не достигли нашей конечной цели. Мы надеялись, что получится написать код, так же как если бы нам не нужно было обрабатывать значения option. Мы хотели писать в более "императивном" стиле. В этой части мы увидим как достичь этого при помощи технологии computation expressions языка F#, а также углубим наше понимание Монад.

Читать далее

https://habr.com/ru/post/684820/?utm_source=habrahabr&utm_medium=rss&utm_campaign=684820

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<функциональное программирование - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda