Эргономичный код
Хорошие книги: Designing Data-Intensive Applications Привет! Четверговые посты начну с рубрики "хорошие книги". А рубрику "хорошие книги" начну с актуального - Designing Data-Intensive Applications. Эту книгу я читаю сейчас и прочитал пока только треть…
Привет!
Осилил наконец эту книгу. Крута книга:)
Особенно раздел "Doing the Right Thing". Очень советую прочитать хотя бы эти 10 страниц.
Там первый раздел о последствия хпередачи власти машинам (смотрю на тебя, Руслан:) ), а второй о последствиях установки шпинского ПО от гугла на какое-либо устройство в каждом доме плаенты:)
А как прочитаете - приходите делать кубит - вместе мы сделаем лучший мир для наших детей:)
Осилил наконец эту книгу. Крута книга:)
Особенно раздел "Doing the Right Thing". Очень советую прочитать хотя бы эти 10 страниц.
Там первый раздел о последствия хпередачи власти машинам (смотрю на тебя, Руслан:) ), а второй о последствиях установки шпинского ПО от гугла на какое-либо устройство в каждом доме плаенты:)
А как прочитаете - приходите делать кубит - вместе мы сделаем лучший мир для наших детей:)
GitHub
GitHub - d-r-q/qbit: qbit is a kotlin-multiplatform embeddable decentralized DBMS with object-relational information model
qbit is a kotlin-multiplatform embeddable decentralized DBMS with object-relational information model - d-r-q/qbit
Привет!
Сегодня подготовил вам лонгрид на 1.7К слов (обычно в районе 500) об эффектах. Если вы думаете, что его будет долго читать, то представьте, сколько его было писать:) девять часов, я замерял:)
Пока не уверен, но возможно это потому, что в этом посте изложен Самый Главный Принцип Эргономичного Подхода. Поэтому в этот раз отдельно прошу вас написать что думаете по этой теме, можно в личку, если в комменты стрёмно.
#fp@ergonomic_code
Сегодня подготовил вам лонгрид на 1.7К слов (обычно в районе 500) об эффектах. Если вы думаете, что его будет долго читать, то представьте, сколько его было писать:) девять часов, я замерял:)
Пока не уверен, но возможно это потому, что в этом посте изложен Самый Главный Принцип Эргономичного Подхода. Поэтому в этот раз отдельно прошу вас написать что думаете по этой теме, можно в личку, если в комменты стрёмно.
#fp@ergonomic_code
Telegraph
Чистые функции, эффекты, грязные функции и сайдэффекты: эффекты
Блог переехал на мой сайт Aleksey Начало темы здесь и здесь. Сегодня расскажу о том, что я понимаю под эффектами и обработкой сигналов. Что я понимаю под эффектами и сигналами Обработка сигнала - акт чтения глобальной изменяемой памяти. Отправка сигнала …
The periodic table of data structures.pdf
998.8 KB
Привет!
Эта неделька чёт напряжённая, и предыдущий пост писать притомился, так что сёня чисто символический пост:)
года два у меня эта стьтя лежит, ни как добраться не могу.
Если правильно помню, там суть в том, что чуваки из Гарварда, построили некое пространство из свой структур данных, разложили по нему существующие структуры и нашли в нём дырки - читай места для новых структур.
Если вы всегда мечтали попасть в методичку для программирования, то вот шанс:)
P.s.
Чёт линкопосты у меня часто тоже получаются не маленькие, так что со следующей недели линкопосты перезжают на пятницу, чтобы мне было проще писать, а вам - читать:)
#papers@ergonomic_code
Эта неделька чёт напряжённая, и предыдущий пост писать притомился, так что сёня чисто символический пост:)
года два у меня эта стьтя лежит, ни как добраться не могу.
Если правильно помню, там суть в том, что чуваки из Гарварда, построили некое пространство из свой структур данных, разложили по нему существующие структуры и нашли в нём дырки - читай места для новых структур.
Если вы всегда мечтали попасть в методичку для программирования, то вот шанс:)
P.s.
Чёт линкопосты у меня часто тоже получаются не маленькие, так что со следующей недели линкопосты перезжают на пятницу, чтобы мне было проще писать, а вам - читать:)
#papers@ergonomic_code
Привет!
Чётэта неделька опять выдалась сложная я прокрастинирую пост о грязных функциях и сайд эффектах, потому что там кой-чего не схоидтся.
Поэтому сёня пост в бок с хейтом мейнстримного "ООП" - почитывал тут на досуге код на кложуре, и меня опять малёха бомбануло.
#posts@ergonomic_code #oop@ergonomic_code #clojure@ergonomic_code
Чёт
Поэтому сёня пост в бок с хейтом мейнстримного "ООП" - почитывал тут на досуге код на кложуре, и меня опять малёха бомбануло.
#posts@ergonomic_code #oop@ergonomic_code #clojure@ergonomic_code
Telegraph
Красная или синяя?
Пост для канала "Эргономичный код" Меня тут осенило.Возьмём вот такой кусочек кода на кложуре (чисто функциональном языке):
Привет!
Сёня давно забытая рубриа хорошие книги:)
Прочитал тут Clojure Applied (чё думаете я про кложуру-то заговорил?:) ).
В целом хорошая книга, и ради 6ой главы (Creating Components) я бы порекомендовал её даже тем, кто кложурой не интересуется.
Там практически один в один расписаны компоненты ЭП. Даже называются так же:)
И казалось бы - я изобретаю велосипед и надо прекратить это делать. Но есть ряд причин, почему я продолжу изобретать свой велосипед:
1) все эти сходства говорят о том, что ЭП - это не записки сумашедшего идиалиста, а... как минимум записки толпы сумашедших идиалистов:) Ну либо вполне себе рабочая концепция:)
2) Я думаю у меня есть потенциал, придумать как минимум хорошую новую приблуду к этому велосипеду
3) это прикольно:)
Так что оставайтесь на нашей волне:) Вторничный пост пока не обещаю - неделька реально тяжёлая - но небольшой прогресс есть:)
#books@ergonomic_code #clojure@ergonomic_code #ergo_approach@ergonomic_code #ergo_arch@ergonomic_code #design
Сёня давно забытая рубриа хорошие книги:)
Прочитал тут Clojure Applied (чё думаете я про кложуру-то заговорил?:) ).
В целом хорошая книга, и ради 6ой главы (Creating Components) я бы порекомендовал её даже тем, кто кложурой не интересуется.
Там практически один в один расписаны компоненты ЭП. Даже называются так же:)
И казалось бы - я изобретаю велосипед и надо прекратить это делать. Но есть ряд причин, почему я продолжу изобретать свой велосипед:
1) все эти сходства говорят о том, что ЭП - это не записки сумашедшего идиалиста, а... как минимум записки толпы сумашедших идиалистов:) Ну либо вполне себе рабочая концепция:)
2) Я думаю у меня есть потенциал, придумать как минимум хорошую новую приблуду к этому велосипеду
3) это прикольно:)
Так что оставайтесь на нашей волне:) Вторничный пост пока не обещаю - неделька реально тяжёлая - но небольшой прогресс есть:)
#books@ergonomic_code #clojure@ergonomic_code #ergo_approach@ergonomic_code #ergo_arch@ergonomic_code #design
Pragprog
Clojure Applied
Take the next step in Clojure, with extended lessons on the best practices and most critical decisions you’ll need to make.
Ваш родной язык - русский
Родной язык всей команды - русский
Родной язык заказчика - русский Проект закрытый Продажа кода, выход в оперсор, привлечение иностранных контракторов не придвидится. На каком языке писать коммит мессаджы? И почему?
Родной язык всей команды - русский
Родной язык заказчика - русский Проект закрытый Продажа кода, выход в оперсор, привлечение иностранных контракторов не придвидится. На каком языке писать коммит мессаджы? И почему?
Anonymous Poll
41%
Русском
53%
Английском
6%
Без правил
Привет!
Тяжёлая неделька продолжается:(
Так что сёня опять побырому напишу об актуальном без редактуры.
Так вот актуальное - прочитал первую половину (про дизайн софта) этой книги.
У книги очень жирный посыл - если использовать "The Method", то софт можно гарантировать релизать в срок, бюджет и с нулём багов:) Прям как у меня с Эргономичным Подходом:)
И чёт этот посыл у меня вызывает определённый скепсис 🚎😂
Но есть там и пара интересных мыслей.
Декомпозиция по волатильности
Чувак пишет что, функциональная и доменная декомпозиция - надо декомпозировать по волатильности. Волатильность - это какой-то обособленный аспект системы, который может измениться в будущем и который надо изолировать в одном модуле.
Тут у меня сходу одно возражение - люди плохо предсказывают будущее. Но потом я малёха подумал и решил, что может не такая уж и плохая идея. Если подумать, что в софте может меняться? Алгоритм и формат данных хранящихся во внейшней системе (диск, бд, рест-сервис).
И в ЭП внешние системы уже инкапсулируются в модулях-компонентах, а про инкапсуляцию алгоритмов я думаю - как минимум она подразумевается принципом высокой связности/низкой связАнности, ну и я вообще думаю ввести второй тип компонент, которые собственно и инкапсулируют алгоритмы:)
В общем чувак поспешил и придумал переусложнённый ЭП:)
Архитектура должна НЕ соответствовать требованиям
Тут у меня сложности перевода: "should not be aligned with"
Мотивация - требования меняются, менять архитектуру дорого, если архитекутра будет отражать требования, то изменения требований будут дорогие.
Вот тут прям даж не могу поязвить - на первый взгляд дичь какая-то, но логика железобетонная.
#books@ergonomic_code #ergo_approach@ergonomic_code
Тяжёлая неделька продолжается:(
Так что сёня опять побырому напишу об актуальном без редактуры.
Так вот актуальное - прочитал первую половину (про дизайн софта) этой книги.
У книги очень жирный посыл - если использовать "The Method", то софт можно гарантировать релизать в срок, бюджет и с нулём багов:) Прям как у меня с Эргономичным Подходом:)
И чёт этот посыл у меня вызывает определённый скепсис 🚎😂
Но есть там и пара интересных мыслей.
Декомпозиция по волатильности
Чувак пишет что, функциональная и доменная декомпозиция - надо декомпозировать по волатильности. Волатильность - это какой-то обособленный аспект системы, который может измениться в будущем и который надо изолировать в одном модуле.
Тут у меня сходу одно возражение - люди плохо предсказывают будущее. Но потом я малёха подумал и решил, что может не такая уж и плохая идея. Если подумать, что в софте может меняться? Алгоритм и формат данных хранящихся во внейшней системе (диск, бд, рест-сервис).
И в ЭП внешние системы уже инкапсулируются в модулях-компонентах, а про инкапсуляцию алгоритмов я думаю - как минимум она подразумевается принципом высокой связности/низкой связАнности, ну и я вообще думаю ввести второй тип компонент, которые собственно и инкапсулируют алгоритмы:)
В общем чувак поспешил и придумал переусложнённый ЭП:)
Архитектура должна НЕ соответствовать требованиям
Тут у меня сложности перевода: "should not be aligned with"
Мотивация - требования меняются, менять архитектуру дорого, если архитекутра будет отражать требования, то изменения требований будут дорогие.
Вот тут прям даж не могу поязвить - на первый взгляд дичь какая-то, но логика железобетонная.
#books@ergonomic_code #ergo_approach@ergonomic_code
GitHub
developing-ergonomic-code/book-rus/developing-ergonomic-code.adoc at master · d-r-q/developing-ergonomic-code
Book about practices and techniques to develop code that is simple to comprehend and maintain - d-r-q/developing-ergonomic-code
Привет!
Сёня у нас рубрика хорошие люди:)
Этотяросный викинг 90-летний дедушка из Норвегии - автор того самого MVC.
Он ещё жив и лет 10 назад ещё точно был в здравом уме и пилил DCI - парадигма программирования, его "пенсионный проект [1]. Тоже хочу в 70-80 лет заводить свои пенсионные исследовательские проекты:)
https://en.wikipedia.org/wiki/Trygve_Reenskaug
#posts@ergonomic_code
Сёня у нас рубрика хорошие люди:)
Этот
Он ещё жив и лет 10 назад ещё точно был в здравом уме и пилил DCI - парадигма программирования, его "пенсионный проект [1]. Тоже хочу в 70-80 лет заводить свои пенсионные исследовательские проекты:)
https://en.wikipedia.org/wiki/Trygve_Reenskaug
#posts@ergonomic_code
Привет!
Очередной пост всё ещё в процессе.
Но кажись дело с сдвинулось с мёртвой точки и к следующей неделе я его допишу.
Придумал хорошую метафору к грязным функциям и функциям с побочками - функции-мошенники:)
По крайней мере я, когда меня очередная функция бьёт скрытым эффектом по хребтине, чувствую себя как раз обманутым и униженным:)
Очередной пост всё ещё в процессе.
Но кажись дело с сдвинулось с мёртвой точки и к следующей неделе я его допишу.
Придумал хорошую метафору к грязным функциям и функциям с побочками - функции-мошенники:)
По крайней мере я, когда меня очередная функция бьёт скрытым эффектом по хребтине, чувствую себя как раз обманутым и униженным:)
А вот что бывает, когда даришь право собственности на свои данных корпроациям добра: https://twitter.com/Demilogic/status/1358661841220730882
Twitter
Andrew Spinks
My phone has lost access to thousands of dollars of apps on @GooglePlay. I had just bought LOTR 4K and can't finish it. My @googledrive data is completely gone. I can't access my @YouTube channel. The worst of all is losing access to my @gmail address of…
Привет!
Сегодня пост в рубрику "Актуальное":)
О том как нарушение принципов эргономичного подхода повышает wtf/s :)
#posts@ergonomic_code #ergo_approach@ergonomic_code #fp@ergonomic_code
Сегодня пост в рубрику "Актуальное":)
О том как нарушение принципов эргономичного подхода повышает wtf/s :)
#posts@ergonomic_code #ergo_approach@ergonomic_code #fp@ergonomic_code
Telegraph
Неэргономичный Jackson
В последнее вермя несколько раз писал примерно такой код для сериализации объекта в json Jackson-ом:
Привет!
По времени опубликовал пост о функциях-мошенниках. Сейчас мне эта терминология уже совсем не нравится, но я сильно долго мурыжу этот пост так что пока пусть будет так. Ну и надеюсь суть мне удалось описать.
И в эрго-постах сейчас будет некоторый перерыв. Во-первых, что-то мне стало совсем стыдно за "лого" этого канала - попробую хотя бы в векторе его перерисовать, во-вторых мне надо руками переделывать форматирование в телеграфе - поищу блог-платформу поддерживающую asciidoc, в-третьих, следующий пост будет заключительный в этом цикле и там надо будет уже утрясти терминологию наконец
#posts@ergonomic_code #fp@ergonomic_code #why_no_side_effects@ergonomic_code
По времени опубликовал пост о функциях-мошенниках. Сейчас мне эта терминология уже совсем не нравится, но я сильно долго мурыжу этот пост так что пока пусть будет так. Ну и надеюсь суть мне удалось описать.
И в эрго-постах сейчас будет некоторый перерыв. Во-первых, что-то мне стало совсем стыдно за "лого" этого канала - попробую хотя бы в векторе его перерисовать, во-вторых мне надо руками переделывать форматирование в телеграфе - поищу блог-платформу поддерживающую asciidoc, в-третьих, следующий пост будет заключительный в этом цикле и там надо будет уже утрясти терминологию наконец
#posts@ergonomic_code #fp@ergonomic_code #why_no_side_effects@ergonomic_code
Telegraph
Типы функций: функции-мошенники
Блог переехал на мой сайт Пост для канала "эргономичный код"Начало здесь, здесь и здесь.С второго взгляда терминология оказалась не такой уж чудесной, как показалась на первый взгляд, но я на этом посте засиделся, так что публикую как есть. В посте с итогами…
Привет!
Надеюсь вам не прилетали нотификации в процессе моих экспериментов с лого канала:)
Но да, сегодня у нас новое лого:) Надеюсь оно повысит узнаваемость канала в списке:)
Надеюсь вам не прилетали нотификации в процессе моих экспериментов с лого канала:)
Но да, сегодня у нас новое лого:) Надеюсь оно повысит узнаваемость канала в списке:)
Насколько формальный язык вы бы хотели видеть в постах канала? Где 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
Нового контента я не скреативил, так что сегодня ток тизер и линки:)
Во-первых, что-то я увлёкся новой блог-платформой и у меня 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. никогда не запускайте неизвестные бинарники скачанные из интернета:)
Если вкратце - одни маленький (200кб) исполняемый бинарник, который может выдавать ответы по хттп.
Сейчас детально в читываться некогда, поэтому отправил на кладбище ссылок. Но имхо штука прикольная, так что решил написать:)
P.S. никогда не запускайте неизвестные бинарники скачанные из интернета:)
Чуваки, которые придумал CRDT запилили платформу для local-first приложений: https://concordant.io/
Да ещё и на Kotlin MPP - кажись они стырили идею моего кубита:)
#tools@ergonomic_code
Да ещё и на Kotlin MPP - кажись они стырили идею моего кубита:)
#tools@ergonomic_code
Привет!
Занят тушинем пожара, в виде смены требований в последний момент, так что пока ток линко-посты. И на этот раз даже боян скорее всего, но меня заинтерсовало:)
Джетбрейнс запили тул для локального дева: https://blog.jetbrains.com/blog/2021/03/11/projector-is-out/
Надо потестить, и если реально не сильно тормозит, то можно не менять ноут на 15шку:) Надо ток решить вопрос, кто будет включать комп, после выключения электричества, если я при этом буду где-нить за бугром:)
#tools@ergonomic_code
Занят тушинем пожара, в виде смены требований в последний момент, так что пока ток линко-посты. И на этот раз даже боян скорее всего, но меня заинтерсовало:)
Джетбрейнс запили тул для локального дева: https://blog.jetbrains.com/blog/2021/03/11/projector-is-out/
Надо потестить, и если реально не сильно тормозит, то можно не менять ноут на 15шку:) Надо ток решить вопрос, кто будет включать комп, после выключения электричества, если я при этом буду где-нить за бугром:)
#tools@ergonomic_code
The JetBrains Blog
Access Your IDE Remotely With Projector | The JetBrains Blog
Today we're announcing the initial release of Projector – a tool and framework for running JetBrains IDEs and Swing apps remotely over your network. As you may know, Swing is a graphical widget too
Привет!
Тихой сапой осилил эту книгу: https://www.amazon.com/Design-Programmer-Architect-Pragmatic-Programmers/dp/1680502093
Не то чтобы прям маст рид, но несколько интересных мыслей и техник там есть. И размер вполне гуманный - 300 страниц по сути:)
#books@ergonomic_code
Тихой сапой осилил эту книгу: https://www.amazon.com/Design-Programmer-Architect-Pragmatic-Programmers/dp/1680502093
Не то чтобы прям маст рид, но несколько интересных мыслей и техник там есть. И размер вполне гуманный - 300 страниц по сути:)
#books@ergonomic_code
