image_2024-04-04_08-27-40.png
817.8 KB
Привет!
"Золотые слова, Юрий Венедиктович!"
Доклад: https://www.youtube.com/watch?v=9Q7GANXn02k
#talks@ergonomic_code #why_no_microservices@ergonomic_code
"Золотые слова, Юрий Венедиктович!"
Доклад: https://www.youtube.com/watch?v=9Q7GANXn02k
#talks@ergonomic_code #why_no_microservices@ergonomic_code
💯5❤1
Привет!
Дочитал Code That Fits in Your Head.
И хотя там есть нюансики (использование фейков БД, складирование всего кода в одной директории 🤯🤦♂️), автор топит за outside in tdd и функциональную архитектуру - рекомендую. Особенно молодым разработчиком.
Плюс практически одновременно досмотрел доклад Влашина Moving IO to the edges of your app: Functional Core, Imperative Shell - в целом, наверное, ничего прорывного в докладе нет, но если вы (как и я) ещё не уверены, что знаете на 100% как её применять - можно посмотреть. Там примеры на C# и никаких монад.
#books@ergonomic_code #talks@ergonomic_code #functional_architecture@ergonomic_code
Дочитал Code That Fits in Your Head.
И хотя там есть нюансики (использование фейков БД, складирование всего кода в одной директории 🤯🤦♂️), автор топит за outside in tdd и функциональную архитектуру - рекомендую. Особенно молодым разработчиком.
Плюс практически одновременно досмотрел доклад Влашина Moving IO to the edges of your app: Functional Core, Imperative Shell - в целом, наверное, ничего прорывного в докладе нет, но если вы (как и я) ещё не уверены, что знаете на 100% как её применять - можно посмотреть. Там примеры на C# и никаких монад.
#books@ergonomic_code #talks@ergonomic_code #functional_architecture@ergonomic_code
YouTube
Moving IO to the edges of your app: Functional Core, Imperative Shell - Scott Wlaschin
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper
Attend the next NDC conference near you:
https://ndcconferences.com
https://ndclondon.com/
Subscribe to our YouTube channel and learn…
Attend the next NDC conference near you:
https://ndcconferences.com
https://ndclondon.com/
Subscribe to our YouTube channel and learn…
❤5👍5
Привет!
Посмотрел Build Abstractions Not Illusions.
Любопытная мысль оттуда:
> лёгкий тест на то, является ли абстракцией то, что вы сделали:
Абстракция должна вводить новую терминологию.
Перекликается с моей идеей, что в сигнатурах методов интерфейсов-абстракций не должны упоминаться типы из реализации.
#talks@ergonomic_code #design@ergonomic_code
Посмотрел Build Abstractions Not Illusions.
Любопытная мысль оттуда:
> лёгкий тест на то, является ли абстракцией то, что вы сделали:
Абстракция должна вводить новую терминологию.
Перекликается с моей идеей, что в сигнатурах методов интерфейсов-абстракций не должны упоминаться типы из реализации.
#talks@ergonomic_code #design@ergonomic_code
YouTube
Build Abstractions Not Illusions • Gregor Hohpe • YOW! 2023
This presentation was recorded at YOW! Australia 2023. #GOTOcon #YOW
https://yowcon.com
Gregor Hohpe - AWS Senior Principal Evangelist
RESOURCES
https://twitter.com/ghohpe
https://www.linkedin.com/in/ghohpe
http://eaipatterns.com
https://architectelevator.com…
https://yowcon.com
Gregor Hohpe - AWS Senior Principal Evangelist
RESOURCES
https://twitter.com/ghohpe
https://www.linkedin.com/in/ghohpe
http://eaipatterns.com
https://architectelevator.com…
❤🔥3❤1
Привет!
Второй или третий раз смотрю де-факто один и тот же доклад про ТДД и не устаю его рекомендовать - в этот раз по мотивам доклада у меня снова родилась пачка мыслей.
Мысль №1
В докладе мужик привёл пару определений:
> Падение юнит-теста подразумевает сбой ровно в одном юните (методе, классе, модуле, пакете)
> Падение девелоперского теста подразумевает ошибку в последнем изменении кода
И мысль ещё из Бековской TDD by Example - кол-во кода, которое вы пишите между запусками тестов зависит от вашей уверенности в умении писать такой код.
И аналогия с вождением машины - чем увереннее вы себя чувствуете, тем быстрее вы едете.
И это прям хорошо легло на мой свежий опыт:
1. В Trainer Advisor у меня примерно 3-4 теста на HTTP-эндпоинт. И ~95% - работают либо через хттп, либо через конторллер
2. А недавно я написал один хттп эндпоинт, с 22 тестами из которых <50% работают через http.
В чём разница? В TA львиная доля эндпоинтов - примитивный КРУД - перегнать ДТО в сущность, сохранить сущность; вычитать ДТО из БД, вернуть - я это пишу спинным мозгом и там граничных случаев ноль целых хрен десятых.
А в методе из п.2 был не совсем тривиальный алгоритм с пачкой граничных условий и я не был уверен, что сходу напишу всё правильно.
В этом и разница.
—
Мысль №2
Что переход на более низкий уровень абстракции, что использование мока - снижают устойчивость тестов к рефакторингу и, как следствие, увеличивают стоимость разработки (читай: вашу нервотрёпку). Но, при этом снижают стоимость разработки самих тестов. И надо стараться искать оптимальное соотношение разных типов тестов, которое обеспечит минимальную стоимость разработки (читай: вашей нервотрёпки). Пока могу предложить это только в качестве лозунга - как конкретно искать этот баланс я не знаю.
—
Мысль №3
Возможно молодые подписчики ещё не сталкивались с http://wiki.c2.com/. Это самая первая вики в мире из 1995 года. От чувака, который придумал гексагональную архитектуру. И в которой в старые добрые времена тусила вся старая гвардия - начиная с самого Кокберна и продолжая анкл Бобом, Фаулером, Беком, Коплейном. Можно выделить вечерок и пошататься по ней впитывая мудрость древних.
—
Мысль №4
Чёт то ли я туплю, то ли у мужика не стыковка - он сначала пинает тесты с моками, за то что они мешают рефакторингу. А в конце доклада предлагает писать тесты на код интеграций с моками. Чтобы их потом не рефакторить?
—
Мысль №5
Мужик топит, за то, что код с вводом-выводом надо тестировать как-то по другому, потому что он медленный и хрупкий. И, видимо, раз я решил проблемы скорости и хрупкости такого кода, то мне можно и для него писать нормальные тесты. Можно же?
—
Мысль №6
У мужика в докладе ни строчки кода нет. А у меня есть ~150 "developer tests", которые "tests behaviour, not functions" и для которых процентов на 30 готово описание идей и техник как, такие тесты писать
#talks@ergonomic_code #ergo_testing@ergonomic_code #tdd@ergonomic_code #whynomocks@ergonomic_code
Второй или третий раз смотрю де-факто один и тот же доклад про ТДД и не устаю его рекомендовать - в этот раз по мотивам доклада у меня снова родилась пачка мыслей.
Мысль №1
В докладе мужик привёл пару определений:
> Падение юнит-теста подразумевает сбой ровно в одном юните (методе, классе, модуле, пакете)
> Падение девелоперского теста подразумевает ошибку в последнем изменении кода
И мысль ещё из Бековской TDD by Example - кол-во кода, которое вы пишите между запусками тестов зависит от вашей уверенности в умении писать такой код.
И аналогия с вождением машины - чем увереннее вы себя чувствуете, тем быстрее вы едете.
И это прям хорошо легло на мой свежий опыт:
1. В Trainer Advisor у меня примерно 3-4 теста на HTTP-эндпоинт. И ~95% - работают либо через хттп, либо через конторллер
2. А недавно я написал один хттп эндпоинт, с 22 тестами из которых <50% работают через http.
В чём разница? В TA львиная доля эндпоинтов - примитивный КРУД - перегнать ДТО в сущность, сохранить сущность; вычитать ДТО из БД, вернуть - я это пишу спинным мозгом и там граничных случаев ноль целых хрен десятых.
А в методе из п.2 был не совсем тривиальный алгоритм с пачкой граничных условий и я не был уверен, что сходу напишу всё правильно.
В этом и разница.
—
Мысль №2
Что переход на более низкий уровень абстракции, что использование мока - снижают устойчивость тестов к рефакторингу и, как следствие, увеличивают стоимость разработки (читай: вашу нервотрёпку). Но, при этом снижают стоимость разработки самих тестов. И надо стараться искать оптимальное соотношение разных типов тестов, которое обеспечит минимальную стоимость разработки (читай: вашей нервотрёпки). Пока могу предложить это только в качестве лозунга - как конкретно искать этот баланс я не знаю.
—
Мысль №3
Возможно молодые подписчики ещё не сталкивались с http://wiki.c2.com/. Это самая первая вики в мире из 1995 года. От чувака, который придумал гексагональную архитектуру. И в которой в старые добрые времена тусила вся старая гвардия - начиная с самого Кокберна и продолжая анкл Бобом, Фаулером, Беком, Коплейном. Можно выделить вечерок и пошататься по ней впитывая мудрость древних.
—
Мысль №4
Чёт то ли я туплю, то ли у мужика не стыковка - он сначала пинает тесты с моками, за то что они мешают рефакторингу. А в конце доклада предлагает писать тесты на код интеграций с моками. Чтобы их потом не рефакторить?
—
Мысль №5
Мужик топит, за то, что код с вводом-выводом надо тестировать как-то по другому, потому что он медленный и хрупкий. И, видимо, раз я решил проблемы скорости и хрупкости такого кода, то мне можно и для него писать нормальные тесты. Можно же?
—
Мысль №6
У мужика в докладе ни строчки кода нет. А у меня есть ~150 "developer tests", которые "tests behaviour, not functions" и для которых процентов на 30 готово описание идей и техник как, такие тесты писать
#talks@ergonomic_code #ergo_testing@ergonomic_code #tdd@ergonomic_code #whynomocks@ergonomic_code
YouTube
TDD Revisited - Ian Cooper - NDC Porto 2023
This talk was recorded at NDC Porto in Porto, Portugal. #ndcporto #ndcconferences #testing #tdd #softwaredeveloper
Attend the next NDC conference near you:
https://ndcconferences.com
https://ndcporto.com/
Subscribe to our YouTube channel and learn…
Attend the next NDC conference near you:
https://ndcconferences.com
https://ndcporto.com/
Subscribe to our YouTube channel and learn…
👍5❤1
Привет!
Посмотрел интервью с Кокбёрном (мужиком, который придумал Гексагональную архитектуру).
И там на 27ой минуте есть интересный момент - кажется, по Кокбёрну порты не обязательно оформлять в виде
Но я не уверен, что правильно понял - там зубодробительная смесь не родного для меня языка, неоднозначной терминологии, разговорной речи и паршивых иллюстраций.
И ещё в этом же видосе он порекомендовал сайт о ГА - https://jmgarridopaz.github.io/
#talks@ergonomic_code #guideline@ergonomic_code
Посмотрел интервью с Кокбёрном (мужиком, который придумал Гексагональную архитектуру).
И там на 27ой минуте есть интересный момент - кажется, по Кокбёрну порты не обязательно оформлять в виде
public interface ISomethingGateway - для него любая функция является интерфейсом. А важна лишь семантика этой функции - чтобы она была определена в терминах домена, а не низлежащей технологии.Но я не уверен, что правильно понял - там зубодробительная смесь не родного для меня языка, неоднозначной терминологии, разговорной речи и паршивых иллюстраций.
И ещё в этом же видосе он порекомендовал сайт о ГА - https://jmgarridopaz.github.io/
#talks@ergonomic_code #guideline@ergonomic_code
YouTube
Hexagonal Architecture (Ports and Adapters) with Alistair Cockburn // Live #98
In this live we are going to talk with Alistair Cockburn, an American computer scientist, one of the initiators of the agile movement and the creator of Hexagonal Architecture (also known as Ports and Adapters)
Acompanhe nossas redes sociais:
➡️Instagram:…
Acompanhe nossas redes sociais:
➡️Instagram:…
❤3👍2
Привет!
Недавно в комментах спрашивали про аргументы для бизнеса в пользу перехода на Котлин - они есть в этом докладе.
На мой взгляд их можно свести к паре слайдов
#talks@ergonomic_code #whykotlin@ergonomic_code
Недавно в комментах спрашивали про аргументы для бизнеса в пользу перехода на Котлин - они есть в этом докладе.
На мой взгляд их можно свести к паре слайдов
#talks@ergonomic_code #whykotlin@ergonomic_code
👍6👎1
Привет!
Вечная битва добра и зла продолжается. Ведущий разработчик Spring Data Relational пинает JPA за сложность предсказания его поведения
Подача/запись доклада паршивые, но сам доклад хорош тем, что:
1. Подсвечивает пачку граблей JPA, для тех кто его юзает
2. Чуть подробнее раскрывает мою мысль из предпредыдущего поста, почему сложно реализовать хранение императивной ОО-модели
#talks@ergonomic_code #whynotjpa@ergonomic_code
Вечная битва добра и зла продолжается. Ведущий разработчик Spring Data Relational пинает JPA за сложность предсказания его поведения
Подача/запись доклада паршивые, но сам доклад хорош тем, что:
1. Подсвечивает пачку граблей JPA, для тех кто его юзает
2. Чуть подробнее раскрывает мою мысль из предпредыдущего поста, почему сложно реализовать хранение императивной ОО-модели
#talks@ergonomic_code #whynotjpa@ergonomic_code
Привет!
У меня две новости. Обе хорошие и обе объясняют затишье в канале:)
Новость первая - в июле у меня родился второй ребёнок.
Поэтому времени на ЭП стало меньше. Минимум на ближайший год, а то и два.
Новость вторая - мой доклад "Spring Data JDBC. Четыре года в проде, полет отличный" взяли в программу Joker 2024.
Поэтому сейчас всё ЭП-время уходит на подготовку доклада и до октября в канале я буду постить только ссылки на видосы, которые смотрю, пока гуляю с ребёнком:)
Если собираетесь на Joker и ещё не купили билеты - не торопитесь, в прошлый раз мне чуть меньше чем за месяц до конфы дали промокод на скидку 20%
#talks@ergonomic_code
У меня две новости. Обе хорошие и обе объясняют затишье в канале:)
Новость первая - в июле у меня родился второй ребёнок.
Поэтому времени на ЭП стало меньше. Минимум на ближайший год, а то и два.
Новость вторая - мой доклад "Spring Data JDBC. Четыре года в проде, полет отличный" взяли в программу Joker 2024.
Поэтому сейчас всё ЭП-время уходит на подготовку доклада и до октября в канале я буду постить только ссылки на видосы, которые смотрю, пока гуляю с ребёнком:)
Если собираетесь на Joker и ещё не купили билеты - не торопитесь, в прошлый раз мне чуть меньше чем за месяц до конфы дали промокод на скидку 20%
#talks@ergonomic_code
Joker 2024. Java-конференция для опытных разработчиков
Структурный дизайн. Древний секрет простого и быстрого кода | Доклад на Joker 2024
Дам краткий экскурс в структурный дизайн и, в частности, в понятие сбалансированных систем.
На примере трех реальных кейсов размером от 50 до 40 000 строк кода покажу, как выглядят несбалансированные системы и к каким проблемам ведет дисбаланс.
Затем покажу…
На примере трех реальных кейсов размером от 50 до 40 000 строк кода покажу, как выглядят несбалансированные системы и к каким проблемам ведет дисбаланс.
Затем покажу…
🔥17❤2👍2
Ну и собственно очередной досмотренный видос - Test automation without a headache: Five key patterns.
Мне понравился, рекомендую.
Паттерны:
1. разделяйте ожидания, workflows и взаимодействия - эту штуку я с наскоку не понял, но кажется в ней что-то есть, буду разбираться.
2. Симулируйте только те штуки, которые вы полностью понимаете. Это классика из Growing Object-Oriented Software, что мокать можно только собственные классы.
3. Делайте очевидной связь входов с выходами. Я с этим тезисом согласен и у себя тоже стараюсь делать это, но как это делать системно пока не придумал.
4. Оптимизируйте для решения проблем, не для скорости написания тестов. Тут докладчик говорит об оптимизизации времени поиска причин падения теста, а я бы ещё добавил и оптимизацию времени поддержки тестов при рефакторинге - в идеале оно должно равняться нулю
5. Реорганизуйте тесты для discovery. Посыл вроде как "организуйте тесты не воркуг юзер стори/итераций, а вокруг функциональности". Но лично я ни разу не видел первый вариант.
Есть ещё версия на ютубе с субтитрами и короче на 25 минут
#talks@ergonomic_code #tdd@ergonomic_code
Мне понравился, рекомендую.
Паттерны:
1. разделяйте ожидания, workflows и взаимодействия - эту штуку я с наскоку не понял, но кажется в ней что-то есть, буду разбираться.
2. Симулируйте только те штуки, которые вы полностью понимаете. Это классика из Growing Object-Oriented Software, что мокать можно только собственные классы.
3. Делайте очевидной связь входов с выходами. Я с этим тезисом согласен и у себя тоже стараюсь делать это, но как это делать системно пока не придумал.
4. Оптимизируйте для решения проблем, не для скорости написания тестов. Тут докладчик говорит об оптимизизации времени поиска причин падения теста, а я бы ещё добавил и оптимизацию времени поддержки тестов при рефакторинге - в идеале оно должно равняться нулю
5. Реорганизуйте тесты для discovery. Посыл вроде как "организуйте тесты не воркуг юзер стори/итераций, а вокруг функциональности". Но лично я ни разу не видел первый вариант.
Есть ещё версия на ютубе с субтитрами и короче на 25 минут
#talks@ergonomic_code #tdd@ergonomic_code
Vimeo
Test automation without a headache: Five key patterns - Gojko Adzic
Writing maintainable test automation code is today as important as being able to design good customer-facing systems, yet very few teams do it well. If you think…
Привет!
Ну чтош, ютуб решил всё за нас - без подтверждения загрузить видео более чем на 15 минут не даёт и подтвердить акк на мой номер телефона тоже не даёт.
Так что представляю вам свой канал на Рутубе и первый видос на нём - РЕПЕТИЦИЯ доклада "Функциональная архитектура и Spring Data JDBC. 4 года в проде, полёт отличный"
#talks@ergonomic_code #ergo_approach@ergonomic_code #functional_architecture@ergonomic_code #ergo_persistance@ergonomic_code #spring_data_jdbc@ergonomic_code
Ну чтош, ютуб решил всё за нас - без подтверждения загрузить видео более чем на 15 минут не даёт и подтвердить акк на мой номер телефона тоже не даёт.
Так что представляю вам свой канал на Рутубе и первый видос на нём - РЕПЕТИЦИЯ доклада "Функциональная архитектура и Spring Data JDBC. 4 года в проде, полёт отличный"
#talks@ergonomic_code #ergo_approach@ergonomic_code #functional_architecture@ergonomic_code #ergo_persistance@ergonomic_code #spring_data_jdbc@ergonomic_code
RUTUBE
Эргономичный код — полная коллекция видео на RUTUBE
Канал о разработе поддерживаемых бакэндов - модульных монолитов с неизменяемой моделью данных и функциональной архитектурой, написанных в стиле data-oriented programming и покрытых тестами без моков.
https://t.me/ergonomic_code
https://azhidkov.pro
https://t.me/ergonomic_code
https://azhidkov.pro
❤16👍6🤡4
Привет!
Залил на рутуб тестовый прогон своего выступления на конференции Joker'24 от JUG Ru Group.
Официальная запись самого выступления с нормальным звуком будет доступна бесплатно до следующей весны - напишу в канале, как её опубликуют.
#talks@ergonomic_code #ergo_approach@ergonomic_code #structured_design@ergonomic_code
Залил на рутуб тестовый прогон своего выступления на конференции Joker'24 от JUG Ru Group.
Официальная запись самого выступления с нормальным звуком будет доступна бесплатно до следующей весны - напишу в канале, как её опубликуют.
#talks@ergonomic_code #ergo_approach@ergonomic_code #structured_design@ergonomic_code
RUTUBE
РЕПЕТИЦИЯ 241007 - Структурный дизайн. Древний секрет простого и быстрого кода.
Запись последней репетиции моего доклада на Joker 24 от JUG Ru Group (https://jugru.org/).
Страница доклада на сайте конференции: https://jokerconf.com/talks/f9b11eab0fc14bc2b2dc7c3ad62834d0/?referer=%2Fschedule%2Fdays%2F
Страница доклада на сайте конференции: https://jokerconf.com/talks/f9b11eab0fc14bc2b2dc7c3ad62834d0/?referer=%2Fschedule%2Fdays%2F
👍7🤡3
Что ещё почитать на тему тестирования
Принципы юнит тестирования - самая крутая книга на эту тему
TDD Revisited - Ian Cooper - NDC Porto 2023 - суть здорового тестирования за час пятнадцать
Пачка постов у меня про тестирование Trainer Advisor
Подборки постов у меня в канале - #tdd #nomocks
#ergo_testing@ergonomic_code #books@ergonomic_code #talks@ergonomic_code #posts@ergonomic_code
Принципы юнит тестирования - самая крутая книга на эту тему
TDD Revisited - Ian Cooper - NDC Porto 2023 - суть здорового тестирования за час пятнадцать
Пачка постов у меня про тестирование Trainer Advisor
Подборки постов у меня в канале - #tdd #nomocks
#ergo_testing@ergonomic_code #books@ergonomic_code #talks@ergonomic_code #posts@ergonomic_code
👍9
Привет!
Теперь меня не только почитать, посмотреть (а некоторым даже и пощупать) можно, но и послушать:)
#talks@ergonomic_code #ergo_approach@ergonomic_code
Теперь меня не только почитать, посмотреть (а некоторым даже и пощупать) можно, но и послушать:)
#talks@ergonomic_code #ergo_approach@ergonomic_code
😁4
Привет!
Опубликовал пост по мотивам доклада на Joker.
#structured_design@ergonomic_code #ergo_approach@ergonomic_code #talks@ergonomic_code #posts@ergonomic_code
Опубликовал пост по мотивам доклада на Joker.
#structured_design@ergonomic_code #ergo_approach@ergonomic_code #talks@ergonomic_code #posts@ergonomic_code
Алексей Жидков
Структурный дизайн. Древний секрет простого и быстрого кода - Алексей Жидков
https://azhidkov.pro/
👍6❤4🔥4🥰2
Карта канала (Так же в Max)
Добро пожаловать на канал "Эргономичный код" — канал о разработке поддерживаемых кодовых баз в общем и моём подходе к этой задаче — Эргономичном подходе.
Что такое Эргономичный подход?
По большому счёту это небольшой набор принципов, взятых в основном из классической школы TDD, функциональной архитектуры и DDD, и большой набор рецептов — моделей, методик и шаблонов —, которые позволяют команде быстро создавать кодовые базы, соответствующие этим принципам и, как следствие, лёгкие в поддержке.
Подробности на сайте Эргономичного подхода
В Эргономичном подходе есть что-то уникальное?
Да. Идея представления системы как модели её эффектов в виде диаграммы эффектов и методика проектирования на базе этой модели.
"Слова дёшевы, покажи мне код!"
Trainer Advisor — некоммерческий, но реальный (~20K строк Котлин кода, 21 таблица, 2 настоящих пользователя, горки костылей, "компромиссных решений" и исторических наслоений) проект с открытым исходным кодом, разрабатываемый по Эргономичному подходу. В этот проект можно поконтрибьютить и на своём опыте прочувствовать работу с эргономичной кодовой базой.
Project Mariotte — минимальный демонстрационный пример кодовой базы, написанной по Эргономичному подходу, на примере операции бронирования номера в отеле
Есть что посмотреть или послушать?
Да, все мои публичные выступления собраны на одной странице
А почитать, кроме канала?
Да, в блоге
В блоге и канале есть подборки:
- Кейсы (в блоге, в канале #case@ergonomic_code)
- Примеры кода (в блоге)
- Эргономичный подход (в блоге, в канале #ergo_approach@ergonomic_code)
- Эргономичное тестирование (в блоге, в канале #ergo_testing@ergonomic_code)
- Функциональная архитектура (в блоге, в канале #functional_architecture@ergonomic_code)
- Эргономиный персистанс (в блоге, в канале #ergo_persistance@ergonomic_code)
- Что ещё почитать (в блоге, в канале #books@ergonomic_code, #posts@ergonomic_code, #papers@ergonomic_code)
- Что ещё посмотреть (в блоге, в канале #talks@ergonomic_code)
Какие ваши доказательства?
Исследование "Характеристики поддерживаемых кодовых баз backend-приложений"
А у меня вопрос!
Приходите в группу - там целому сообществу (более 100 крутых инженеров) можно задать любой вопрос по тематике канала - Эргономичный подход, классическая школа ТДД, ФА, ФП, в целом дизайн модели и системный дизайн
Как мне научить ИИ агента писать код по Эргономичному подходу?
Попробуйте раннюю версию моего фреймворка для ИИ-агентов.
Добро пожаловать на канал "Эргономичный код" — канал о разработке поддерживаемых кодовых баз в общем и моём подходе к этой задаче — Эргономичном подходе.
Что такое Эргономичный подход?
По большому счёту это небольшой набор принципов, взятых в основном из классической школы TDD, функциональной архитектуры и DDD, и большой набор рецептов — моделей, методик и шаблонов —, которые позволяют команде быстро создавать кодовые базы, соответствующие этим принципам и, как следствие, лёгкие в поддержке.
Подробности на сайте Эргономичного подхода
В Эргономичном подходе есть что-то уникальное?
Да. Идея представления системы как модели её эффектов в виде диаграммы эффектов и методика проектирования на базе этой модели.
"Слова дёшевы, покажи мне код!"
Trainer Advisor — некоммерческий, но реальный (~20K строк Котлин кода, 21 таблица, 2 настоящих пользователя, горки костылей, "компромиссных решений" и исторических наслоений) проект с открытым исходным кодом, разрабатываемый по Эргономичному подходу. В этот проект можно поконтрибьютить и на своём опыте прочувствовать работу с эргономичной кодовой базой.
Project Mariotte — минимальный демонстрационный пример кодовой базы, написанной по Эргономичному подходу, на примере операции бронирования номера в отеле
Есть что посмотреть или послушать?
Да, все мои публичные выступления собраны на одной странице
А почитать, кроме канала?
Да, в блоге
В блоге и канале есть подборки:
- Кейсы (в блоге, в канале #case@ergonomic_code)
- Примеры кода (в блоге)
- Эргономичный подход (в блоге, в канале #ergo_approach@ergonomic_code)
- Эргономичное тестирование (в блоге, в канале #ergo_testing@ergonomic_code)
- Функциональная архитектура (в блоге, в канале #functional_architecture@ergonomic_code)
- Эргономиный персистанс (в блоге, в канале #ergo_persistance@ergonomic_code)
- Что ещё почитать (в блоге, в канале #books@ergonomic_code, #posts@ergonomic_code, #papers@ergonomic_code)
- Что ещё посмотреть (в блоге, в канале #talks@ergonomic_code)
Какие ваши доказательства?
Исследование "Характеристики поддерживаемых кодовых баз backend-приложений"
А у меня вопрос!
Приходите в группу - там целому сообществу (более 100 крутых инженеров) можно задать любой вопрос по тематике канала - Эргономичный подход, классическая школа ТДД, ФА, ФП, в целом дизайн модели и системный дизайн
Как мне научить ИИ агента писать код по Эргономичному подходу?
Попробуйте раннюю версию моего фреймворка для ИИ-агентов.
Эргономичный подход
Редирект на индексную страницу
🔥6❤4👍3
Привет!
Наконец-то опубликовали официальную запись моего доклада "Структурный дизайн. Древний секрет простого и быстрого кода" с Joker '24 ! 🎉🎉🎉
#talks@ergonomic_code #ergo_approach@ergonomic_code #functional_architecture@ergonomic_code #structured_design@ergonomic_code
Наконец-то опубликовали официальную запись моего доклада "Структурный дизайн. Древний секрет простого и быстрого кода" с Joker '24 ! 🎉🎉🎉
#talks@ergonomic_code #ergo_approach@ergonomic_code #functional_architecture@ergonomic_code #structured_design@ergonomic_code
YouTube
Алексей Жидков — Структурный дизайн. Древний секрет простого и быстрого кода
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Скачать презентацию с сайта Joker — https://jrg.su/TWOpZS
В докладе — краткий экскурс в структурный дизайн и, в частности, в понятие сбалансированных…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Скачать презентацию с сайта Joker — https://jrg.su/TWOpZS
В докладе — краткий экскурс в структурный дизайн и, в частности, в понятие сбалансированных…
👍21🎉13🔥3
Привет!
#why_kotlin@ergonomic_code #talks@ergonomic_code
Тогда я решил посмотреть на Котлин. И больше не оглядывался [на Java]
— Род Джонсонс, создатель Spring Framework, Kotlin Conf 2025
#why_kotlin@ergonomic_code #talks@ergonomic_code
😱5👍2
Привет!
Вы уже запомнили как расшифровывается IODA-архитектура?:)
Вот вам ещё акроним, чтобы блеснуть на собесе эрудицией - self-contained systems (SCS) architecture.
Судя по слайду из картинки - это просто нормальная (микро) сервисная архитектура, сделанная квалифицированными инженерами для того чтобы самим её саппорить. Но... Больше архитектур богу архитектур:)
#talks@ergonomic_code
Вы уже запомнили как расшифровывается IODA-архитектура?:)
Вот вам ещё акроним, чтобы блеснуть на собесе эрудицией - self-contained systems (SCS) architecture.
Судя по слайду из картинки - это просто нормальная (микро) сервисная архитектура, сделанная квалифицированными инженерами для того чтобы самим её саппорить. Но... Больше архитектур богу архитектур:)
#talks@ergonomic_code
😱1
Привет!
Посмотрел кейнот КотлинКонф 26
Из любопытного (для меня):
1. Kotlin LSP перешёл в альфу
2. Гугл переписал "web serving stack" страницы поиска на Котлин (с корутинами). Любопытно, почему слезли (или не залезли на) с Go?
3. И в гугле сейчас на Котлине пишут больше бакендеры, чем андроидщики
4. Гуглодоки на Web/iOS переписали на Kotlin Multiplatform
5. Гопатыч лучше клода в андроид (Kotlin?) разработке
6. А вот чувак из антрофика говорит, что клод пишет на Kotlin лучше "неуказанного соперника"
7. ~10 лет спустя Exposed вышел в 1.0
8. Без пруфов - использование Котлин ускоряет разработку до 15-20%
9. У JB есть некий плагин для Lambok-а и он недавно вышел в Альфу
10. Только 5% ИИ продуктов дошли до прода
11. По какому-то бенчу MCP Java 30 раз быстрее Python-а, в 10 раз быстрее NodeJs и практически 1 в 1 как Go. Хз в чём, Лонг супер быстро и супер кратко говорит.
12. Compose на web-е пошёл в бету
#kotlin@ergonomic_code #talks@ergonomic_code
Посмотрел кейнот КотлинКонф 26
Из любопытного (для меня):
1. Kotlin LSP перешёл в альфу
2. Гугл переписал "web serving stack" страницы поиска на Котлин (с корутинами). Любопытно, почему слезли (или не залезли на) с Go?
3. И в гугле сейчас на Котлине пишут больше бакендеры, чем андроидщики
4. Гуглодоки на Web/iOS переписали на Kotlin Multiplatform
5. Гопатыч лучше клода в андроид (Kotlin?) разработке
6. А вот чувак из антрофика говорит, что клод пишет на Kotlin лучше "неуказанного соперника"
7. ~10 лет спустя Exposed вышел в 1.0
8. Без пруфов - использование Котлин ускоряет разработку до 15-20%
9. У JB есть некий плагин для Lambok-а и он недавно вышел в Альфу
10. Только 5% ИИ продуктов дошли до прода
11. По какому-то бенчу MCP Java 30 раз быстрее Python-а, в 10 раз быстрее NodeJs и практически 1 в 1 как Go. Хз в чём, Лонг супер быстро и супер кратко говорит.
12. Compose на web-е пошёл в бету
#kotlin@ergonomic_code #talks@ergonomic_code
YouTube
Keynote | KotlinConf ’26
KotlinConf is the premier event connecting professional developers and companies shaping the future with cutting-edge technologies.
#kotlin #kotlinconf2026
#kotlin #kotlinconf2026
1❤3🔥2💯2
Привет!
Не спрашивайте как я нашёл на это время, но я тут посмотрел новую документалку про Рича Хикки и создание Clojure.
Если вы уже фанат Рича - посмотрите обязательно.
Если вы ещё не фанат Рича - надо им срочно становиться. На мой вкус это самый крутой визионер и инженер современности.
Для этого сначала посмотрите Simple Made Easy
Потом - Are We There Yet
Потом - Database as a Value
Потом все остальные его видосы в хронологическом порядке от корки до корки.
Ну и в конце - документалку из начала поста:)
#talks@ergonomic_code
Не спрашивайте как я нашёл на это время, но я тут посмотрел новую документалку про Рича Хикки и создание Clojure.
Если вы уже фанат Рича - посмотрите обязательно.
Если вы ещё не фанат Рича - надо им срочно становиться. На мой вкус это самый крутой визионер и инженер современности.
Для этого сначала посмотрите Simple Made Easy
Потом - Are We There Yet
Потом - Database as a Value
Потом все остальные его видосы в хронологическом порядке от корки до корки.
Ну и в конце - документалку из начала поста:)
#talks@ergonomic_code
YouTube
How One Programmer's Pet Project Changed the Way We Think About Software
This is the story of how one programmer's obsession with simplicity quietly reshaped how the software world thinks about time, immutability, and what it means to write code that lasts. From a sabbatical pet-project to the backbone of one of the world's largest…
❤5👍1