Узнай как приблизить производи­тельность кода на Clojure к уровню Java!
Как ускорить код на Clojure?
// HS Tech Meetups
ФЕВРАЛЬ, 2024
ЧЕТВЕРГ, 19:00 (МСК)
22
ОНЛАЙН
Таймлайн митапа (от 1,5 до 2 ч)
1
Самурайские методы тестирования UI
Автор: Иван Багров (15 минут + до 15 минут на обсуждение)
2
Динамические Groovy скрипты на Clojure
Автор: Михаил Кузьмин (15 минут + до 15 минут на обсуждение)
3
Тулкит интроспекции состояния программы
Автор: Юрий Махоткин (15 минут + до 15 минут на обсуждение)
4
Автор: Александр Ушанов (15 минут + до 15 минут на обсуждение)
Самурайские методы тестирования UI
Знакомо?
  • Тесты на front-end писать сложнее, чем на back-end
  • E2E тесты нестабильные и часто ломаются
  • Трудность отладки багов на UI
  • Сложность разработки UI по методологии TDD

Я расскажу как мы тестируем UI и поделюсь инструментом, с которым ты сможешь:
  • Правильно тестировать front-end на стороне back-end
  • Писать unit тесты на компоненты
  • Удобно заниматься отладкой front-end логики
  • Взаимодействовать с виртуальным домом Reagent приложения в Java
Инженер в Health Samurai
Иван Багров

Динамические Groovy скрипты из Clojure
Представь, что у тебя задача — переписать запутанный императивный алгоритм, например, с JS на Clojure. Даже с Java мапами это будет тяжело сделать, различие в подходах expression vs statement сильно усложняет задачу. Я покажу способ решить эту задачу, не ломая голову над преобразованием, чтобы было один к одному. На митапе мы:

  • Увидим крутость Clojure Var
  • Немного покапаемся в "кишках" Clojure и посмотрим на ClassLoader
  • Разберемся как вызывать Clojure из других JVM языков
  • Научимся использовать Groovy из Clojure, чтобы это было Clojure way с динамической перезагрузкой и тд.

Доклад не столько про Groovy, сколько про то как внести в Clojure императивные скрипты. А если ты хорошо знаешь Kotlin — подключайся и расскажи как это повторить на Kotlin.
Инженер-основатель gmonit.ru
Михаил Кузьмин

Тулкит интроспекции состояния программы
Дебаг – неотъемлемая часть разработки, а мощный репл Clojure существенно ускоряет этот процесс. println – хоть это и самый универсальный способ исследования состояния программы, но этот процесс можно развить.

Я собрал свой дебаг тулкит для репл дривен разработки, который продемонстрирую на митапе. Его главная особенность — он записывает все промежуточные значения и предоставляет удобные инструменты интроспекции состояния программы на всех записанных итерациях.

Этот тулкит целиком живет в REPL и таким образом не зависит от конкретной IDE и не требует отдельного окна с программой, как у Cider debugger и FlowStorm соответственно.
Clojure Engineer
Юрий Махоткин

...
При сборе данных с агентов необходимо настроить детектор, чтобы контролировать их состояние. Как бы ты реализовал эту задачу? Наверняка с помощью сторонних наблюдателей и планировщиков.

Я написал watch dog, который пнет тебя, если ты его не пнешь сам. Когда агент присылает данные на сервер, то заводит таймер 10 секунд. Если за это время не пришел ответ от агента, то сервер меняет его стейт и отправляет пользователю сообщение, что он застрял.

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

В своем докладе расскажу как не переусложнять.
Clojure Engineer
Александр Ушанов
Хочешь получать уведомления о предстоящих митапах?
US / Montenegro / Portugal / Finland / Russia
Локации
Контакты
hr@health-samurai.io
Made on
Tilda