Разработка ждёт балета
1.62K subscribers
578 photos
15 videos
15 files
1.75K links
What I cannot create, I do not understand.

DM: @alexey_mileev
PeerLab: https://xn--r1a.website/+e2ND1tAa0lU2ZTli
Download Telegram
Кратко и ёмко такое мне описать сложно, но я попробую: доклад с размышлениями создателя Clojure на тему всех этих Optional<String> и String?. И, собственно, к чему он пришёл для кложи: в разных местах нам нужно требовать разного от данных (где-то нужен User с firstName и lastName, а где-то - с id и address, и это всё ещё тот же User c optional полями), но делать это хочется как-то удобно и элегантно чтоли.

#talk #clojure #optional
Смотрите какой прикольный визуальный REPL для Clojure. Не представляю, зачем конкретно мне что-то такое могло бы сейчас понадобиться, но выглядит прямо внушительно.

#talk #tool #clojure
Все мы знаем и любим Никиту tonsky. Есть у него такой проект: Humble UI.

Humble UI is a desktop UI framework for Clojure. No Electron. No JavaScript. Only JVM and native code.

Собственно, вот пост, в котором много мыслей по поводу сигналов (так он называет что-то похожее на observable) для управления состоянием UI.

#clojure #declarative #ui
🔥6🥴2
Tonsky с демо и докладом про Humble UI. Это такой десктопный UI фреймворк на Clojure. Очень прикольно!

#talk #clojure #ui
Тонский рассказывает и показывает, как они делали clj-reload - библиотеку для более умного релоада кложа кода.

#clojure #repl
💯1
А тут они же описывают, как именно они хотят построить что-то лучше, чем Firebase, Supabase и т.п. Стараются выдать не маркетинговый буллшит, как часто бывает, а пояснить проблему и их способ эту проблему решить. Графовые БД, Datalog и т.п. К слову, астрологи подсказывают, что Никита наш Прокопов к ним пошёл всячески улучшать это дело. Бог у дапамогу, так бы мовіць.

#db #firebase #clojure
Попал под руку доклад tonsky, где он показывает свой Clojure workflow в Sublime Text. Многое из этого он сам и пилил. Поэтому там есть и подсветка синтаксиса с хорошим пониманием языка, и всякие удобства вокруг репла, и разные библиотечки, улучшающие жизнь в целом и исправляющие некоторые косяки кложи.

#talk #clojure #editor
Доклад про историю асинхронности / мультипоточности в Clojure. От стандартных future и подобного, к core.async с каналами а-ля Go, к новой идее flow. Кажется, пытаются переизобрести микс Erlang и Redux, и это круто!

#talk #clojure #async
Разработка ждёт балета
Доклад про историю асинхронности / мультипоточности в Clojure. От стандартных future и подобного, к core.async с каналами а-ля Go, к новой идее flow. Кажется, пытаются переизобрести микс Erlang и Redux, и это круто! #talk #clojure #async
Тут выше всплывал Clojure core.async.flow. Они добили это дело до первой альфы. В докладе (достаточно короткий, ~20 мин) можно чуть подробнее посмотреть, что это, как работает, какой тулинг вокруг этого уже успели накрутить. Выглядит одновременно и интересно, и пугающе: как будто очень уж много уровней indirection привносит в систему, и чтобы лучше понимать, что там вообще происходит, пришлось строить тул с визуализацией.

#talk #clojure
👏1😁1
Прикольный доклад про всю мощь полноценного REPL на примере Clojure. Показывают, чем это отличается от shell в python / js / java / … и какие возможности открывает. Я бы сказал, что хоть всё там и крутится вокруг Clojure, оно всё ещё достаточно общее, просто показывают, как может быть прикольно.

#talk #repl #clojure
🔥2
Понемногу развивается jank - это такая нативная кложа с C++ интеропом. Потихоньку поглядываю, что там у них происходит, тут вот пишут, как над тем самым интеропом идёт работа и как оно выглядит в коде.

#jank #clojure #cpp
👍1👀1
Первая часть разбора устройства persistent Clojure vector. Как так получается, что любая манипуляция создаёт новый immutable вектор, но проблем с памятью / производительностью на деле это не создаёт. Разбирается устройство базовых операций: добавить, удалить, поменять элемент по индексу.

#clojure #cs #datastructure
👍2🔥2
И сразу вдогонку вторая часть: как на таких векторах-деревьях достаточно эффективно делать лукапы.

#clojure #cs #datastructure
В какой-то Clojure книжке читал про transducers и так и не понял, зачем оно нужно, ещё и так сложно. А тут подвернулся пост, где более доходчиво объясняют. Упрощая: чтобы все привычные filter, map, reduce и т.п. применять к чему-то более абстрактному, чем простые коллекции.

#clojure #fp
❤1
Документалка про историю появления Clojure с Ричем Хикки и прочими причастными! Класс!

#talk #clojure #history
🔥2❤1
Тут чел долго писал на Clojure, а потом перешёл в мир TypeScript + Go. И рассказывает, почему "как же мне не хватало статической типизации" - not really the case. Я сам какое-то время назад задавался тем же вопросом, мол "как вы так вообще живёте без типов", и тут вполне разумный взгляд на проблему. Единственный минус - пост как будто полирнули LLM, тошнит от некоторых оборотов, но мысль человека всё же пробивается :)

#type #clojure #language
👍2💯1
Архитектурные астронавты здесь?
Читал что-то недавно, там жирно намазывали про Polylith - очередной архитектурный подход. Пошёл посмотреть детальнее (1. основная дока; 2. запись с митапа, как его применяют на деле), а там просто разумная идея разбивки на модули, совсем немножко правил по организации этих самых модулей, и тулинг для Clojure/Python, чтобы удобнее со всем этим работать - перезапускать тесты только в тех кусках, где действительно что-то изменилось и т.п.
Сразу вспоминается вся эта многомодульность в Android аппах. "Как в прошлое дверца".
Кто что думает?

#clojure #tool #architecture
😁4