Публикации по теме 'clojure'
Протоколы и мультиметоды
Подобно Шаблону команд , знакомому нам по объектно-ориентированному программированию, Clojure предоставляет мультиметоды и протоколы, которые позволяют разработчикам реализовать такой полиморфизм времени выполнения при формировании абстракций в функциональном стиле и их реализациях. В этой статье блога я продемонстрирую пример, объясняющий, как использовать такой полиморфизм в Clojure.
Чтобы реализовать абстракцию, подобную интерфейсу, Clojure предоставляет defprotocol , функция..
Вопросы по теме 'clojure'
Окно Clojure inferior-lisp в Emacs отображается поверх кода при выполнении C-c C-l
Я установил свой Emacs для Clojure, используя инструкции на веб-сайте Clojure . Я использовал первый вариант при настройке переменной inferior-lisp-program , в основном "java clojure.main".
При такой настройке C-c C-z помогает мне перейти к...
08.05.2024
Как сохранить свойство Text с помощью Clojure и appengine-magic
Поле body формы может содержать длинный текст, поэтому свойство String по умолчанию не подойдет.
В поисках того, как заставить хранилище данных использовать текст (это не часть определения объекта, насколько я помню из версии Python), я нашел это...
13.03.2024
Разбор подписанного запроса Facebook в Clojure
Я пытаюсь создать веб-сайт с Luminus, чтобы немного изучить Clojure. У меня был многолетний опыт работы с императивом, но только сейчас я начал заниматься функциональным программированием. Прямо сейчас я пытаюсь обработать объект signed_request из...
29.04.2024
aws-ec2 — у вас нет прав на выполнение этой операции
Я меньше всего знаком с aws и т. д. Что я пытаюсь сделать, так это загрузить небольшой военный файл в корзину s3 , используя s3 -bash и PalletOps в данный момент. Для этого у меня есть файл конфигурации clojure, настроенный как
(defpallet...
29.03.2024
Могу ли я сделать полностью неблокирующее серверное приложение с http-kit и core.async?
Мне интересно, можно ли собрать полностью неблокирующее внутреннее веб-приложение Clojure с http-kit.
(На самом деле мне подойдет любой HTTP-сервер, совместимый с кольцом; я упоминаю http-kit, потому что он утверждает , что имеет управляемая...
09.04.2024
Настройте Leiningen для интеграционного тестирования
Интересно, как я могу сделать следующие вещи в Лейнингене (если это идиоматический способ решить эту проблему):
Я хочу переместить свои интеграционные тесты из модульных тестов, расположенных в папке test , в другую папку, скажем,...
02.04.2024
Почему будущее clojure блокирует основной поток?
У меня есть тривиальный лейн-проект, в котором -main содержит будущее:
(def f (future 42))
(defn -main [& args]
(println @f))
Когда я запускаю lein run , он печатает 42 , но не возвращается.
Я не понимаю, почему он не...
08.06.2024
ring.middleware.format_params.cjl выдает искаженный JSON
Я использую шаблон luminus с настройкой ring/compojure/swagger.
Когда я загружаю REST API, я создал искаженный JSON, я получаю 500 и:
java.lang.IllegalArgumentException: No value supplied for key: {:formats (:json-kw :yaml-kw :edn :transit-json...
28.03.2024
Несколько запросов Luminus в одном и том же соединении с базой данных
В моем приложении Luminus у меня есть это:
(defn page1 [id]
(layout/render "page1.html"
{:article (db/get-single-article {:id (Integer/parseInt id)}))
Я хочу выполнить несколько разных запросов к базе данных в рамках одного и того же...
18.03.2024
Отсортируйте элементы этого списка по частоте их длины в Clojure.
(defn lfsort [list](mapcat #(if (sequential? %) % [%])
(sort-by count (vals (group-by count list)))))
Сегодня на семинаре мы обсуждали приведенную выше функцию, которая, если задана, выводит (lfsort '((a b c) (d...
13.03.2024
Проблемы с установкой Leiningen в Windows 7 за брандмауэром
У меня возникли проблемы с установкой и настройкой Leiningen на рабочем компьютере с Windows 7. Я предполагаю, что брандмауэр моей компании предотвращает аутентификацию сертификата безопасности GitHub.
Я пытался использовать автономную банку, но у...
18.05.2024
Clojure: Имя переменных в списке
У меня есть что-то вроде этого:
(def a "text")
(def b "text")
(def c nil)
(def d 8)
(def e "")
(def testlist (list a b c d e ))
Теперь, есть ли способ получить строку имен переменных? Я предполагаю, что «нет» — наиболее вероятный ответ....
06.04.2024
Clojure меняет местами элементы во входной последовательности
Как поменять местами соседние элементы во входной последовательности с помощью clojure. [10 15 20 25] ---> [15 10 25 20] [:q :e :g :t :p] ---> [:e :q :t :g :p]
вот как я это сделал, но уверен, что есть лучшие способы сделать это!
(defn switch...
26.03.2024
Новые материалы
Я собираюсь научить вас Python шаг за шагом
Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..
Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
Познакомьтесь с двухэтапным сообщением
В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..
React on Rails
Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..
Что такое гибкие методологии разработки программного обеспечения
Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году
Agile-методологии разработки программного обеспечения заключаются в следующем:
И. Введение
A...
Ториго — революция в игре Го
Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го?
Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban —..
Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..
Математика и интуиция - Часть 1
У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..