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

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

https://azhidkov.pro
Download Telegram
А знаете ли вы, что джетбрейнс ещё и научным ресёчем занимается?:)
https://research.jetbrains.org/annual-report/2020

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

ну и заодно призываю всех, кто юзает в коммерческих целях кряканые идеи - таки купить её. это, возможно, лучшая инвестиция в 10-20 баксов в месяц, которую вы можете сделать:)
Рич Хикки

Привет!

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

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

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

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

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

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

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

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

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

#posts@ergonomic_code #clojure@ergonomic_code
Эргономичный код
Хорошие книги: Designing Data-Intensive Applications Привет! Четверговые посты начну с рубрики "хорошие книги". А рубрику "хорошие книги" начну с актуального - Designing Data-Intensive Applications. Эту книгу я читаю сейчас и прочитал пока только треть…
Привет!

Осилил наконец эту книгу. Крута книга:)
Особенно раздел "Doing the Right Thing". Очень советую прочитать хотя бы эти 10 страниц.
Там первый раздел о последствия хпередачи власти машинам (смотрю на тебя, Руслан:) ), а второй о последствиях установки шпинского ПО от гугла на какое-либо устройство в каждом доме плаенты:)

А как прочитаете - приходите делать кубит - вместе мы сделаем лучший мир для наших детей:)
Привет!

Сегодня подготовил вам лонгрид на 1.7К слов (обычно в районе 500) об эффектах. Если вы думаете, что его будет долго читать, то представьте, сколько его было писать:) девять часов, я замерял:)

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

#fp@ergonomic_code
The periodic table of data structures.pdf
998.8 KB
Привет!

Эта неделька чёт напряжённая, и предыдущий пост писать притомился, так что сёня чисто символический пост:)

года два у меня эта стьтя лежит, ни как добраться не могу.

Если правильно помню, там суть в том, что чуваки из Гарварда, построили некое пространство из свой структур данных, разложили по нему существующие структуры и нашли в нём дырки - читай места для новых структур.

Если вы всегда мечтали попасть в методичку для программирования, то вот шанс:)

P.s.

Чёт линкопосты у меня часто тоже получаются не маленькие, так что со следующей недели линкопосты перезжают на пятницу, чтобы мне было проще писать, а вам - читать:)

#papers@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
Ваш родной язык - русский
Родной язык всей команды - русский
Родной язык заказчика - русский Проект закрытый Продажа кода, выход в оперсор, привлечение иностранных контракторов не придвидится. На каком языке писать коммит мессаджы? И почему?
Anonymous Poll
41%
Русском
53%
Английском
6%
Без правил
Привет!

Тяжёлая неделька продолжается:(

Так что сёня опять побырому напишу об актуальном без редактуры.

Так вот актуальное - прочитал первую половину (про дизайн софта) этой книги.

У книги очень жирный посыл - если использовать "The Method", то софт можно гарантировать релизать в срок, бюджет и с нулём багов:) Прям как у меня с Эргономичным Подходом:)

И чёт этот посыл у меня вызывает определённый скепсис 🚎😂

Но есть там и пара интересных мыслей.

Декомпозиция по волатильности
Чувак пишет что, функциональная и доменная декомпозиция - надо декомпозировать по волатильности. Волатильность - это какой-то обособленный аспект системы, который может измениться в будущем и который надо изолировать в одном модуле.

Тут у меня сходу одно возражение - люди плохо предсказывают будущее. Но потом я малёха подумал и решил, что может не такая уж и плохая идея. Если подумать, что в софте может меняться? Алгоритм и формат данных хранящихся во внейшней системе (диск, бд, рест-сервис).

И в ЭП внешние системы уже инкапсулируются в модулях-компонентах, а про инкапсуляцию алгоритмов я думаю - как минимум она подразумевается принципом высокой связности/низкой связАнности, ну и я вообще думаю ввести второй тип компонент, которые собственно и инкапсулируют алгоритмы:)

В общем чувак поспешил и придумал переусложнённый ЭП:)

Архитектура должна НЕ соответствовать требованиям
Тут у меня сложности перевода: "should not be aligned with"
Мотивация - требования меняются, менять архитектуру дорого, если архитекутра будет отражать требования, то изменения требований будут дорогие.

Вот тут прям даж не могу поязвить - на первый взгляд дичь какая-то, но логика железобетонная.

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

Сёня у нас рубрика хорошие люди:)

Этот яросный викинг 90-летний дедушка из Норвегии - автор того самого MVC.

Он ещё жив и лет 10 назад ещё точно был в здравом уме и пилил DCI - парадигма программирования, его "пенсионный проект [1]. Тоже хочу в 70-80 лет заводить свои пенсионные исследовательские проекты:)

https://en.wikipedia.org/wiki/Trygve_Reenskaug

#posts@ergonomic_code
Привет!

Очередной пост всё ещё в процессе.

Но кажись дело с сдвинулось с мёртвой точки и к следующей неделе я его допишу.

Придумал хорошую метафору к грязным функциям и функциям с побочками - функции-мошенники:)

По крайней мере я, когда меня очередная функция бьёт скрытым эффектом по хребтине, чувствую себя как раз обманутым и униженным:)
Привет!

По времени опубликовал пост о функциях-мошенниках. Сейчас мне эта терминология уже совсем не нравится, но я сильно долго мурыжу этот пост так что пока пусть будет так. Ну и надеюсь суть мне удалось описать.

И в эрго-постах сейчас будет некоторый перерыв. Во-первых, что-то мне стало совсем стыдно за "лого" этого канала - попробую хотя бы в векторе его перерисовать, во-вторых мне надо руками переделывать форматирование в телеграфе - поищу блог-платформу поддерживающую asciidoc, в-третьих, следующий пост будет заключительный в этом цикле и там надо будет уже утрясти терминологию наконец

#posts@ergonomic_code #fp@ergonomic_code #why_no_side_effects@ergonomic_code
Channel photo updated
Привет!

Надеюсь вам не прилетали нотификации в процессе моих экспериментов с лого канала:)

Но да, сегодня у нас новое лого:) Надеюсь оно повысит узнаваемость канала в списке:)
Насколько формальный язык вы бы хотели видеть в постах канала? Где 1 - текущий стиль личного чата, 5 - формальный стиль, с которым можно в рецензируемый журнал идти
Anonymous Poll
33%
1 - оставить текущий вид
39%
2 - убрать сокращения типа щяс и сеня
17%
3 - добавить прогон через какую-нибудь тул
11%
4 - убрать англицизмы: тул -> инструмент
0%
5 - убрать шутки/сарказм/мысли в слух
0%
? - свой вариант, напишу в комментах
image_2021-02-26_09-27-44.png
28.7 KB
Привет!

Нового контента я не скреативил, так что сегодня ток тизер и линки:)

Во-первых, что-то я увлёкся новой блог-платформой и у меня 4 года спустя наконец появился персональный сайт:) Почти - надо туда ещё посты перетащить, параллельно подправив линки и содержание:) Ну и в целом тексты ещё раз проревьювить:)

Во-вторых, посмотрел пару хороших видосов о том почему слоёная архитектура плоха и что делать вместо неё.

https://www.youtube.com/watch?v=5OjqD-ow8GE - тут докладчик довольно известный мужик и я о нём как-нибудь напишу пост в рубрику "хорошие люди". Доклад более верхнеуровневый, о принципах дизайна.

https://www.youtube.com/watch?v=BOvxJaklcr0 - а вот тут как раз уже больше техник реализации модульных приложений. Докладчика я не знаю, но в целом доклад вполне достойный:)

#talks@ergonomic_code
Непроверенная линка - https://justine.lol/redbean/index.html
Если вкратце - одни маленький (200кб) исполняемый бинарник, который может выдавать ответы по хттп.

Сейчас детально в читываться некогда, поэтому отправил на кладбище ссылок. Но имхо штука прикольная, так что решил написать:)

P.S. никогда не запускайте неизвестные бинарники скачанные из интернета:)
Чуваки, которые придумал CRDT запилили платформу для local-first приложений: https://concordant.io/
Да ещё и на Kotlin MPP - кажись они стырили идею моего кубита:)

#tools@ergonomic_code