Эргономичный код
756 subscribers
75 photos
1 video
20 files
374 links
Канал о разработке поддерживаемых бакэндов - про классическую школу TDD, прагматичное функциональное программирование и архитектуру и немного DDD.

Группа: https://t.me/+QJRqaHI8YD

https://azhidkov.pro
Download Telegram
Рич Хикки

Привет!

Сегодняшний линкопост будет о хорошем человеке - Ричи Хикки.
На мой взгляд это один из самых крутых чуваков современного ИТ.

Я поленился искать пруфы, поэтому вот спекулятивная версия его биографии, на основе моих обрывочных воспоминаний:)

Когда-то закончил стендфорд. Потом писал какой-то софт на С++ для радиостанций. Потом плюсы его окончательно доканали и он в счёт своих пенсионных сбережений в 2005 взял отпуск, чтобы написать Кложуру - на мой взгляд очень интересный язык о котором я ещё напишу - которую зарелизал 2007.

Потом в 2012 на своей Кложуре запилил Datomic - на мой взгляд очень интересную СУБД, о которой я ещё напишу:) - которую невозможно было написать ни на каком другом языке,

Потом где-то в районе 2018 на своих Кложуре и Датомики запилил Datomic Ions - с этой штукой я не разбирался подробно, на кажись она тотально решает проблему персистанса в информационных системах. А персистанс, по моим ощущениям - это самя большая жопа в информационных системах, если не всём ИТ.

Так вот если он держал в голове Ions, когда уходил в отпуск в 2005 году - я просто снимаю шляпу, это дичайший респект и уважуха.

Ну и судя по ценам на Датомик (от $5K в год) пенсионные накопления ему не сильно пригодятся:)

Наконец, самый известный и популярный его доклад, который рекомендуют, все кто его видел - Simple Made Easy. Доклад о том, что лёгкое и прывычное != простое и что современная индустриях тяготеет к лёгкому, хотя простое даёт лучшие результаты.

Ну и ваще он прикольный докладчик и ему есть что сказать в целом об ИТ - его видосы можно смотреть все подряд

#posts@ergonomic_code #clojure@ergonomic_code
Привет!

Чёт эта неделька опять выдалась сложная я прокрастинирую пост о грязных функциях и сайд эффектах, потому что там кой-чего не схоидтся.

Поэтому сёня пост в бок с хейтом мейнстримного "ООП" - почитывал тут на досуге код на кложуре, и меня опять малёха бомбануло.

#posts@ergonomic_code #oop@ergonomic_code #clojure@ergonomic_code
Привет!

Сёня давно забытая рубриа хорошие книги:)

Прочитал тут Clojure Applied (чё думаете я про кложуру-то заговорил?:) ).

В целом хорошая книга, и ради 6ой главы (Creating Components) я бы порекомендовал её даже тем, кто кложурой не интересуется.

Там практически один в один расписаны компоненты ЭП. Даже называются так же:)

И казалось бы - я изобретаю велосипед и надо прекратить это делать. Но есть ряд причин, почему я продолжу изобретать свой велосипед:
1) все эти сходства говорят о том, что ЭП - это не записки сумашедшего идиалиста, а... как минимум записки толпы сумашедших идиалистов:) Ну либо вполне себе рабочая концепция:)
2) Я думаю у меня есть потенциал, придумать как минимум хорошую новую приблуду к этому велосипеду
3) это прикольно:)

Так что оставайтесь на нашей волне:) Вторничный пост пока не обещаю - неделька реально тяжёлая - но небольшой прогресс есть:)

#books@ergonomic_code #clojure@ergonomic_code #ergo_approach@ergonomic_code #ergo_arch@ergonomic_code #design
Привет!

Пересмотрел старый доклад моего любимого Рича Хикки.
Он там прямым текстом говорит, что доклад не про то, чтобы попинать ООП, но получается у него очень хорошо. При том на фундаментальном уровне.

Но самая крутая на мой взгляд штука - это Эпохальная Модель Времени, кратко описная здесь.

Очень рекомендую к вдумчивому просмотру

#talks@ergonomic_code #fp@ergonomic_code #clojure@ergonomic_code #immutable_domain_model@ergonomic_code
Привет!

Наткунлся на обновлённую версию доклада Simple Made Ease с русскими субтитрами.
Доклад очень крутой, советую посмотреть, тем кто ещё не смотрел

#talks@ergonomic_code #fp@ergonomic_code #clojure@ergonomic_code
🔥1
image_2022-11-19_14-21-52.png
439.5 KB
Привет!

Тизер моей текущей активности.

Года два-три назад я как-то рассказывал коллеге насколько плохО пакетирование по слоям. В ответ он задал мне невинный вопрос без задней мысли - "А как по другому"?
И тут я сдулся - вменяемого ответа на тот момент у меня не было.

Тот случай, я думаю, вполне можно назвать днём рождения Эргономичного Подхода (ну или зачатия, хотя как-то так себе звучит:) ) и большую часть сил, посвящённых ЭП к текущему моменту я посвятил поиску, а точнее созданию ответа на этот вопрос.

И самую сложную часть этого ответа - как декомпозировать ядро системы на подсистемы - я сделал. Во-первых это Диаграмма Эффектов, а во-вторых это методика декомпозиции на её базе (расписанная пока что верхне-уровнево). Для того чтобы зафиналить эту часть и закрыть гештальт, осталось буквально три чисто технических шага - подробно расписать методику декомпозиции, привести пример декомпозции ДЭ проекта TSP, привести пример перевода ДЭ и модулей в код. Однако я отвлёкся.

Дело в том, что я делаю ЭП в первую очередь для себя и своей команды. А у нас случился Проект Э. В контексте декомпозиции у этого проекта две особенности - верхне-уровневая декомпозиция дана свыше и на первой итерации мы её сохраним; сами по себе модули довольно развесистые, неоднородные сильно-сцепленные между собой и код их реализации надо как-то организовать и постараться минимизировать урон от высокой сцепленности. Это проблема особенно актуальна в силу того, что львиную долю кода пишут молодые разработчики.

Поэтому сейчас я переключился на последний кусочек паззла "Стратегия декомпозиции бакэндов информационных систем по Эргономичному Подходу".

В целом у меня есть готовый вариант который совершенно случайно (я серьёзно :) ), очень похож на структуру модулей из доклада, который я недавно рекламировалпост на ту же тему) и сейчас я хочу пытаться структурировать модули Проэкта Э и других своих последний проектов в соответствии с этой схемой и посмотреть, что получится.

И напоследок: ещё один любопытный подход к декомпозиции систем

#ergo_approach@ergonomic_code #project_e@ergonomic_code #guideline@ergonomic_code #posts@ergonomic_code #clojure@ergonomic_code
🔥3
Привет!

Пара ссылок, где анкл Боб рассказывает про ООП на чисто функциональном языке (Clojure).

https://blog.cleancoder.com/uncle-bob/2023/01/18/functional-classes.html
https://blog.cleancoder.com/uncle-bob/2023/01/19/functional-classes-clojure.html

Советую почитать, даже если вы не интересуетесь ФП. Но интересоваться хотя бы ООП - надо:)

А после прочтения этих статей я наткнулся на ещё более огненный пост - https://habr.com/ru/companies/domclick/articles/732876/
Который так же упоминает посты анкл Боба.

Совпадение? Не думаю 🤯🤔

#posts@ergonomic_code #clojure@ergonomic_code #oop@ergonomic_code
🔥5
Привет!

Эх. А вот взять бы Clojure, ClojureScript, Datomic, htmx и hiccup - и тогда ВООБЩЕ ВЕСЬ проект можно сделать на ОДНОМ ЯЗЫКЕ. Фактически в одном процессе. Как будто десктопное приложение пишешь...

#clojure@ergonomic_code
👍4🤯2🥴2