Size: a a a

Clojure — русскоговорящее сообщество

2020 September 04

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Да, читаю уже, спасибо.
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
йо, у меня тоже вопрос.

я хочу сравнивать 10 html страниц посимвольно, причем автоматизировать

нашел вот такую java библиотеку https://github.com/google/diff-match-patch/blob/master/java/src/name/fraser/neil/plaintext/diff_match_patch.java

судя по всему вот она на мавене https://mvnrepository.com/artifact/diff_match_patch

как ее в Leinigen проект заюзать? 🙂
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
о, кажись кложавская есть оболочка https://mvnrepository.com/artifact/org.clojars.brenton/google-diff-match-patch
источник

VL

Vladimir Legkunets in Clojure — русскоговорящее сообщество
Так по-моему любой майвеновский артифакт можно втащить указав пеккейдж и название артифакта, разве нет?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Vlad Lisovsky
йо, у меня тоже вопрос.

я хочу сравнивать 10 html страниц посимвольно, причем автоматизировать

нашел вот такую java библиотеку https://github.com/google/diff-match-patch/blob/master/java/src/name/fraser/neil/plaintext/diff_match_patch.java

судя по всему вот она на мавене https://mvnrepository.com/artifact/diff_match_patch

как ее в Leinigen проект заюзать? 🙂
Так же как и кложную
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Anton Chikin
Так же как и кложную
оке!
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
воть! https://clojars.org/google-diff-match-patch нашел, должно быть легко, спасибочки!
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Кложарс это по сути просто мавен репа которая раздаёт джарки
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
да у меня нету джава опыта и для меня это такое
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
блин, а как теперь ее подключить...

(ns tutorial1.core
 (:require [clojure.data :as d]
           [google-diff-match-patch :as diff])
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
а, репл же надо перезапустить
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Vlad Lisovsky
да у меня нету джава опыта и для меня это такое
Ну там в джаве все ходы известны и хорошо описаны в интернетах:)
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Возможно этот вопрос тут уже поднимался.

Я недавно в Clojure. И мне нравится спека, это мощный и гибкий инструмент. Еще есть record'ы (defrecord), на которые можно класть протоколы и интерфейсы. Это тоже круто. Но меня бесит, что я не могу прописать спеку внутри рекорда.

(defrecord Person [name age occupation])

(spec/def ::person
   (s/keys
       [:req [::name ::age ::occupation]])

Происходит во-первых дупликация кода, во-вторых имен мапы. Отвратительно негибко. Я вижу вариант:  написать свой макрос (правда я ни раз не сталкивался с ними):

(defspecord specord-name 
   [arg1 spec-for-arg1 ...])

Чтобы defspecord возвращал рекорд, к которому можно так-же внутри specord'а писать интрефейсы/протоколы, но сначала каждое поле валидировалось своей анонимной спекой (которая без spec/def ::spec-name существует). Есть ли какие-то очевидные возражения/технические проблемы использования такой структуры? Может кто-то из участников чата уже приходил к такому решению?

[Я скорее всего буду недоступен примерно следующий час, и не смогу ответить оперативно]
источник

k

k0rs4r in Clojure — русскоговорящее сообщество
Посмотри на https://github.com/metosin/malli#records, там есть. Хотя на практике понятия не имею зачем это может быть нужно..
источник

Г

Григорий in Clojure — русскоговорящее сообщество
@k0rsar  Загенерить, например, с помощью spec/gen для тестовых данных и демонстраций кучу рекордов, которые далее по флоу приложения передаются.  Придется дважды описывать одну и ту же структуру, грубо говоря.
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Для демонстриций всяких например.
Или, если ты работаешь с парсингом данных из каких-то источников, например, Excel, и сам лист сломан, и данные там не так расположены, спека с рекордом даст информативную ошибку.
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Можно, конечно, на стадии чтения данных из этого сурса их спекать. Но я при посторении рекорда это делал.
источник

АА

Алксан Аресир... in Clojure — русскоговорящее сообщество
Здесь есть люди, хорошо умеющие обрабатывать строки?
Или может лингвисты?

У меня задача превратить строку со словом во что-то осмысленное. Минимум разделить на все возможные варианты морфем.
При этом ваще не знаю как описать сами морфемы возможные. Правила их связывания... Особенно без хардкода

Та же спека вроде могла бы подойти. Но она вроде же не даёт всех возможных вариантов
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
как раз один персонаж пытался что-то осмысленное.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Если по делу, то лучше прикрутить либы на джаве для этого, их много
источник