Size: a a a

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

2020 October 10

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Maxim Penzin
Не уверен, что в подобных случаях скорость создания эксепшен обьекта на что-то сильно влияет
Там кавычки стоят =)
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Это ты о том откуда экзепшн брошен, а не там где пойман
В том то и смысл, что когда бросается исключение не так важно знать где именно его ловят - где надо, там и ловят
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Maxim Penzin
В том то и смысл, что когда бросается исключение не так важно знать где именно его ловят - где надо, там и ловят
Отлично. А как код читать? grep catch?
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Напомню, мы говорим про экзепшены для бизнес ошибок, типо валидаций введенных пользователем данных
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Отлично. А как код читать? grep catch?
Глазами.
Берём, например reitit и смотрим как там сделана мидлварь по ловле исключений - по сути одно место, где делается всё что надо
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Т.е. вот у меня проект с сотней форм, а потом раз у меня все их валидации в "одно место"?
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Напомню, мы говорим про экзепшены для бизнес ошибок, типо валидаций введенных пользователем данных
Вот как раз про них - отвалидировали, собрали в (ex-info) все что надо и кинули
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Не убедился, но капитулирую. Не могу дальше беседовать
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Т.е. вот у меня проект с сотней форм, а потом раз у меня все их валидации в "одно место"?
Смотря что делается с валилацией, если там типичное апи, то для всей сотни форм надо отдать статус 400, и прислать в боди информацию по тому где и что сломалось, список полей, ошибки и тп
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Не убедился, но капитулирую. Не могу дальше беседовать
Посмотри как у Томми - он грамотный чувак, есть на что взглянуть
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Спасибо
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Блин, я устал за айпадиком исправлять - оно вместо моих слов ставит свои :)
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Отключи автозамену
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Она в обычных текстах нормально делает :)
А вот жаргончики не всасывает
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Гугловая свайп кейворда
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Я вот подумал о таком скрипте на бабашке для емакса, который в выделенном коде видит повторяющиеся паттерны и выносит их в функцию

Типа
(* 0.5
  (+ (* x x)
     (* y y)))
Даст
(defn fn17687 [x17692]
(* x17692 x17692))

(* 0.5
  (+ (fn17687 x)
     (fn17687 y)))
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Только у меня нет идей как анализировать похожие паттерны. Т.е. оно должно видеть повторяющиеся структуры векторов, хешмап итд, например

« [[1 [2 1]]
  [2 [1 2]]]
» (defn fn17689 [x17693 x17699]
   [x17693 [x17699 x17693]])
 [(fn17689 1 2)
  (fn17689 2 1)]
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
И полезной будет возможность ограничивать минимальный размер тела сгенериррованной функции, чтобы она не создавала свои identity функции, например


Вместо defn лучше letfn, но думаю, это можно сделать настраваемым, чтобы на разные хоткеи повесить это
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Если знает кто какую-нибудь крутую математику для этого, накидайте баззвордов чтобы мне погуглить
источник

ИФ

Иван Федоров... in Clojure — русскоговорящее сообщество
alex
можно копать в сторону разных ClassLoaders
а есть любимая лопата? чем смотрят класслоадер и класспасс?
источник