Привет!
Идея наклянчить кармы с треском провалилась, так что пошёл её зарабатывать опубликовав пост об агрегатах на хабре - ставьте лайки, пишите комменты, всё как обычно:)
Идея наклянчить кармы с треском провалилась, так что пошёл её зарабатывать опубликовав пост об агрегатах на хабре - ставьте лайки, пишите комменты, всё как обычно:)
Хабр
Агрегаты
Этот материал является кросс-постом из моего блога Следить за обновлениями блога можно в моём канале: Эргономичный код Введение Я считаю, что именно агрегаты из Domain-Driven Design лежат в основе...
👍1
Привет!
Мне вчера JPA на пару со Spring подложили очередную свинью.
Хотел показать студентам LazyInitializationException и не смог О_О
Забацал типовой пример - транзакционный сервис возвращает сущность с ленивым полем в контроллер, контроллер его достаёт для ДТО и должен был упасть, но, собака, уверено работал.
Полчаса позора спустя я откопал вот такой нежданчик. Который несёт свой собственный набор граблей. Специалисты по JPA, наверное, о нём в курсе, но вдруг тут есть кто-то ещё из танка, как и я.
#spring@ergonomic_code #jpa@ergonomic_code
Мне вчера JPA на пару со Spring подложили очередную свинью.
Хотел показать студентам LazyInitializationException и не смог О_О
Забацал типовой пример - транзакционный сервис возвращает сущность с ленивым полем в контроллер, контроллер его достаёт для ДТО и должен был упасть, но, собака, уверено работал.
Полчаса позора спустя я откопал вот такой нежданчик. Который несёт свой собственный набор граблей. Специалисты по JPA, наверное, о нём в курсе, но вдруг тут есть кто-то ещё из танка, как и я.
#spring@ergonomic_code #jpa@ergonomic_code
Хабр
Open Session In View в Spring Boot: Скрытая угроза
Все здесь правы, каждый по-своему, и, следовательно, все здесь не правы. "Сказка о Тройке" (А. и Б. Стругацкие)Если вы используете Spring Data JPA, то после обно...
🔥4
Привет!
Идея заработать кармы на посте об агрегатах имела оглушительный успех:)
Итоги:
1) +5 кармы
2) +17 подписчиков канала
3) +15 -1 рейтинг поста
Рад приветствовать новых подписчиков, спасибо что присоединились:)
А теперь к главному - я запулил пост на хабр об эргономичном подходе. Ставьте лайки, пишите коменты, делайте репосты, буду благодарен за любую поддержку.
#posts@ergonomic_code #ergo_approach@ergonomic_code
Идея заработать кармы на посте об агрегатах имела оглушительный успех:)
Итоги:
1) +5 кармы
2) +17 подписчиков канала
3) +15 -1 рейтинг поста
Рад приветствовать новых подписчиков, спасибо что присоединились:)
А теперь к главному - я запулил пост на хабр об эргономичном подходе. Ставьте лайки, пишите коменты, делайте репосты, буду благодарен за любую поддержку.
#posts@ergonomic_code #ergo_approach@ergonomic_code
Хабр
Эргономичный подход к разработке информационных систем v1.0M1
Этот материал является кросс-постом из моего блога Следить за обновлениями блога можно в моём канале: Эргономичный код Предисловие Работу над Эргономичным подходом я начал весной 2020 года. Причиной...
👍4🔥1
Привет!
Я пропустил, что неделю назад вышел Kotlin 1.6.20 с прототипом соблазнительных, но пугающих context receiver-ов.
#kotlin@ergonomic_code #tools@ergonomic_code
Я пропустил, что неделю назад вышел Kotlin 1.6.20 с прототипом соблазнительных, но пугающих context receiver-ов.
#kotlin@ergonomic_code #tools@ergonomic_code
Kotlin Help
What's new in Kotlin 1.6.20 | Kotlin
Привет!
Мне уже второй раз предлагают писать посты в блоги на хабре:)
Пользуясь случаем, хочу рассказать что большинство постов я пишу при помощи и поддержке Евгении Пельтек. При том Женя помогает мне не только с оформлением мыслей в виде текста, но и со структурированием, а иногда и генерацией мыслей.
Если решите завести блог или написать книгу - рекомендую:)
Мне уже второй раз предлагают писать посты в блоги на хабре:)
Пользуясь случаем, хочу рассказать что большинство постов я пишу при помощи и поддержке Евгении Пельтек. При том Женя помогает мне не только с оформлением мыслей в виде текста, но и со структурированием, а иногда и генерацией мыслей.
Если решите завести блог или написать книгу - рекомендую:)
image_2022-04-22_16-19-19.png
182.2 KB
Привет!
Ох и тяжко мне мне будет с собственной методикой разработки:)
Но надеюсь удастся выплыть на открытости всех материалов.
Источник
Ох и тяжко мне мне будет с собственной методикой разработки:)
Но надеюсь удастся выплыть на открытости всех материалов.
Источник
Привет!
Итоги поста на хабр об Эргономичном подходе. Неоднозначные.
С одной стороны:
1) рейтинг +1 (и то, подозреваю, от кого-то из друзей или подписчиков - спасибо)
2) карма +0
3) 0 комментариев
4) 12 закладок
Не густо.
С другой стороны:
1) 0 тухлых помидоров
2) 0 указаний на то, что диаграмму эффектов давно за меня придумали
3) +8 подписчиков
4) +1 одно предложение писать в корп. блог
5) +1 человек, написавший мне в личку с доп. вопросами
А вот это уже успех, на мой взгляд:)
Итоги поста на хабр об Эргономичном подходе. Неоднозначные.
С одной стороны:
1) рейтинг +1 (и то, подозреваю, от кого-то из друзей или подписчиков - спасибо)
2) карма +0
3) 0 комментариев
4) 12 закладок
Не густо.
С другой стороны:
1) 0 тухлых помидоров
2) 0 указаний на то, что диаграмму эффектов давно за меня придумали
3) +8 подписчиков
4) +1 одно предложение писать в корп. блог
5) +1 человек, написавший мне в личку с доп. вопросами
А вот это уже успех, на мой взгляд:)
👍2
Привет!
Если вдруг новость прошла мимо вас: вышла идея 2022.1 советую всем обновиться и ознакомиться с новшествами - есть прикольные
#tools@ergonomic_code
Если вдруг новость прошла мимо вас: вышла идея 2022.1 советую всем обновиться и ознакомиться с новшествами - есть прикольные
#tools@ergonomic_code
JetBrains
What's New in IntelliJ IDEA
Explore IntelliJ IDEA's latest features and updates to elevate your professional Java and Kotlin development experience.
О, откапал, что в спринге можно размеры данных указывать с суффиксами аля 2mb и прокидывать их в DataSize
#tools@ergonomic_code #spring@ergonomic_code
#tools@ergonomic_code #spring@ergonomic_code
Привет!
Я пошёл дописывать пост по диаграмме эффектов, думаю это займёт ещё недели две, так что пока перехожу в режим линко постинга.
И сегодня будет ещё пара линок о том, что микросервисы не должны быть выбором по умолчанию.
Микро правило распределённого проектирования Фаулера: My First Law of Distributed Object Design: Don't distribute your objects.
Пост DHH на ту же тему.
Для того чтобы идти взону боли и страданий распределённое программирование нужны веские причины.
#posts@ergonomic_code #why_no_microservices@ergonomic_code
Я пошёл дописывать пост по диаграмме эффектов, думаю это займёт ещё недели две, так что пока перехожу в режим линко постинга.
И сегодня будет ещё пара линок о том, что микросервисы не должны быть выбором по умолчанию.
Микро правило распределённого проектирования Фаулера: My First Law of Distributed Object Design: Don't distribute your objects.
Пост DHH на ту же тему.
Для того чтобы идти в
#posts@ergonomic_code #why_no_microservices@ergonomic_code
martinfowler.com
bliki: First Law
a bliki entry for First Law
Привет!
Пост с наикрутейшей подборкой принципов и техник написания хороших тестов. Представитель вида постов занесённых в красную книгу - посты которые я целиком рекомендую безо всяких но и оговорок:)
#posts@ergonomic_code #ergo_testing@ergonomic_code
Пост с наикрутейшей подборкой принципов и техник написания хороших тестов. Представитель вида постов занесённых в красную книгу - посты которые я целиком рекомендую безо всяких но и оговорок:)
#posts@ergonomic_code #ergo_testing@ergonomic_code
Philipp Hauer's Blog
Modern Best Practices for Testing in Java
Modern best practices for unit tests and integration tests in Java and in general
👍2
Привет!
Увидев единомышленника в авторе поста о модульном программировании на спринге решил прочитать и его книгу о Чистой архитектуре. С робкой надеждой найти там методику декомпозиции системы на модули.
Но мои надежды не оправдались - как и во всех других книгах эта тема осталась не раскрытой. Всю книгу автор рассматривал структуру реализации одного, спущенного свыше модуля - account. Откуда он взялся, как связан с другими модулями, какой у него интерфейс - это всё осталось за кадром.
На мой взгляд, именно проектирование модулей является самой сложной и самой важной частью создания эргономичных программ (пост о том, как это делаю я - читайте в мае на всех экранах страны). А уш как реализовать эти модули - в эргономичном стиле, по чистой архитектуре или божественным объектом - это детали реализации.
Вообще в книге есть здравые мысли касательно сокрытия реализации модулей - это стоит почитать. Там есть подробная инструкция как нагенерять гору абстракций и бойлерплейта по чистой архитектуре - это можно почитать, если задача требует жёсткой изоляции домена. И есть глава которую лучше пропустить целиком - 7. Testing Architecture Elements. В этой главе собрана подборка рецептов, как попасть в ад - пирамида тестирования, тестирование отдельных классов, активное использование моков.
Вердикт - рекомендую, при условии, что вы понимаете зачем вам нужна Чистая архитектура и это не карго культ. С другой стороны, если в это понимаете, то и книга вряд ли будет содержать что-то новое для вас.
#books@ergonomic_code
Увидев единомышленника в авторе поста о модульном программировании на спринге решил прочитать и его книгу о Чистой архитектуре. С робкой надеждой найти там методику декомпозиции системы на модули.
Но мои надежды не оправдались - как и во всех других книгах эта тема осталась не раскрытой. Всю книгу автор рассматривал структуру реализации одного, спущенного свыше модуля - account. Откуда он взялся, как связан с другими модулями, какой у него интерфейс - это всё осталось за кадром.
На мой взгляд, именно проектирование модулей является самой сложной и самой важной частью создания эргономичных программ (пост о том, как это делаю я - читайте в мае на всех экранах страны). А уш как реализовать эти модули - в эргономичном стиле, по чистой архитектуре или божественным объектом - это детали реализации.
Вообще в книге есть здравые мысли касательно сокрытия реализации модулей - это стоит почитать. Там есть подробная инструкция как нагенерять гору абстракций и бойлерплейта по чистой архитектуре - это можно почитать, если задача требует жёсткой изоляции домена. И есть глава которую лучше пропустить целиком - 7. Testing Architecture Elements. В этой главе собрана подборка рецептов, как попасть в ад - пирамида тестирования, тестирование отдельных классов, активное использование моков.
Вердикт - рекомендую, при условии, что вы понимаете зачем вам нужна Чистая архитектура и это не карго культ. С другой стороны, если в это понимаете, то и книга вряд ли будет содержать что-то новое для вас.
#books@ergonomic_code
reflectoring.io
Structuring and Testing Modules and Layers with Spring Boot
Slice your Spring Boot applications into vertical modules and make them testable in isolation using Spring Boot's testing features.
👍4
Привет!
Прочитал одну из самых крутых книг по разработке информационных систем в своей жизни - Unit Testing Principles, Practices, and Patterns.
Не дайте ввести себя в заблуждение скромному названию - эта книга представляет собой кладезь мудрости и принципов программирования и проектирования в целом. Плюс в ней представлено лучшее из известных мне на данный момент описание прагматичной (без монад) функциональной архитектуры.
В некоторых деталях я с автором не согласен, но в целом эта книга чуть менее, чем полностью раскрывает два из трёх столпов Эргономичного подхода - тестирование на соответствие требованиям и декларативный стиль.
Вердикт - маст рид вне очереди.
Апдейт статуса поста по диаграмме эффектов - первый драфт с подробным описанием примера построения готов. Но предстоит ещё как минимум несколько итераций ревью и вычитки, плюс у меня буквально сегодня ночью появились идеи изменения нотации, поэтому релиз будет недели через две минимум. Стей тюнед, вобщем:)
#books@ergonomic_code #ergo_testing@ergonomic_code #functional_architecture@ergonomic_code
Прочитал одну из самых крутых книг по разработке информационных систем в своей жизни - Unit Testing Principles, Practices, and Patterns.
Не дайте ввести себя в заблуждение скромному названию - эта книга представляет собой кладезь мудрости и принципов программирования и проектирования в целом. Плюс в ней представлено лучшее из известных мне на данный момент описание прагматичной (без монад) функциональной архитектуры.
В некоторых деталях я с автором не согласен, но в целом эта книга чуть менее, чем полностью раскрывает два из трёх столпов Эргономичного подхода - тестирование на соответствие требованиям и декларативный стиль.
Вердикт - маст рид вне очереди.
Апдейт статуса поста по диаграмме эффектов - первый драфт с подробным описанием примера построения готов. Но предстоит ещё как минимум несколько итераций ревью и вычитки, плюс у меня буквально сегодня ночью появились идеи изменения нотации, поэтому релиз будет недели через две минимум. Стей тюнед, вобщем:)
#books@ergonomic_code #ergo_testing@ergonomic_code #functional_architecture@ergonomic_code
👍7
Привет!
Тестирование свойств мне кажется очень крутой техникой, за освоение которой я сам ещё толком не брался.
Но при случае читаю посты посвящённые ей и сегодня наткнулся на хороший пост, который раскрывает ход мысли при написании тестов свойств - рекомендую почитать:)
#posts@ergonomic_code #ergo_testing@ergonomic_code
Тестирование свойств мне кажется очень крутой техникой, за освоение которой я сам ещё толком не брался.
Но при случае читаю посты посвящённые ей и сегодня наткнулся на хороший пост, который раскрывает ход мысли при написании тестов свойств - рекомендую почитать:)
#posts@ergonomic_code #ergo_testing@ergonomic_code
Fsharpforfunandprofit
The Enterprise Developer from Hell
Outwitting malicious compliance with property-based testing
Привет!
Во-первых, с радостью обращаю ваше внимание, что наc стало 150:)
Во-вторых, написал микропост о том, как фичи и идиомы Kotlin способствует локализации рассуждений о коде
В-третьих, апдейт статуса макропоста о диаграмме эффектов: я его перелопатил чуть более чем полностью. Для диаграммы ввёл две нотации - краткую и полную и сделал её совместимой с моделью С4. А сам пост разбил на два - спецификация и пример построения.
Процесс вроде начал сходиться, есть шанс, что сойдётся на следующей недели
#kotlin@ergonomic_code
Во-первых, с радостью обращаю ваше внимание, что наc стало 150:)
Во-вторых, написал микропост о том, как фичи и идиомы Kotlin способствует локализации рассуждений о коде
В-третьих, апдейт статуса макропоста о диаграмме эффектов: я его перелопатил чуть более чем полностью. Для диаграммы ввёл две нотации - краткую и полную и сделал её совместимой с моделью С4. А сам пост разбил на два - спецификация и пример построения.
Процесс вроде начал сходиться, есть шанс, что сойдётся на следующей недели
#kotlin@ergonomic_code
Telegraph
Kotlin и локальность рассуждений
Этот пост написан по мотивам другого поста о том, как F# способствует локальности рассуждений (reasoning locality). Код обладает свойством локальности рассуждений тогда, когда его можно понять только глядя на целевой код. И код написанный в императивном стиле…
👍2
image_2022-05-13_18-16-19.png
13.9 KB
Привет!
Ну скажите же, эта структура намного понятнее, чем свалки из controllers, services и т.д.
Возвращаюсь спустя полгода к проекту, сделанному по ЭП и нарадоваться не могу.
#case@ergonomic_code #why_ergo_approach@ergonomic_code #ergo_approach@ergonomic_code
Ну скажите же, эта структура намного понятнее, чем свалки из controllers, services и т.д.
Возвращаюсь спустя полгода к проекту, сделанному по ЭП и нарадоваться не могу.
#case@ergonomic_code #why_ergo_approach@ergonomic_code #ergo_approach@ergonomic_code
👍1
Привет!
У меня есть мечта. Я хочу, чтобы данные и код моих программ располагались на одной машине, лучше - в одном процессе. Когда я закончу Эргономичный подход, я вернусь к созданию технологии, которая позволит это сделать. Если кто-то другой не сделает её раньше:)
#tools@ergonomic_code #ergo_persistance@ergonomic_code #ergo_approach@ergonomic_code
У меня есть мечта. Я хочу, чтобы данные и код моих программ располагались на одной машине, лучше - в одном процессе. Когда я закончу Эргономичный подход, я вернусь к созданию технологии, которая позволит это сделать. Если кто-то другой не сделает её раньше:)
#tools@ergonomic_code #ergo_persistance@ergonomic_code #ergo_approach@ergonomic_code
🔥2
Привет!
С радостью представляю вам спецификацию диаграммы эффектов v0.0.2:)
#effects_diagram@ergonomic_code #posts@ergonomic_code
С радостью представляю вам спецификацию диаграммы эффектов v0.0.2:)
#effects_diagram@ergonomic_code #posts@ergonomic_code
Алексей Жидков
Диаграмма Эффектов: Спецификация v0.0.2 - Алексей Жидков
Душой информационной системы являются её эффекты. Именно на основании эффектов конечные пользователи выносят суждения о корректности работы системы. И при столь большой важности эффектов, в мире не существовало инструмента для их визуализации и проектирования.…
🔥3💩1
Привет!
Прекрасное подтверждение для тезиса "Сначала объектно-ориентированная декомпозиция, потом модульный монолит на этой базе, потом, если потребуется, микросервисы".
О том как использовать диаграмму эффектов для рациональной объектно-ориентированной декомпозиции я напишу третьим постом в текущей серии о диаграмме эффектов.
#posts@ergonomic_code #why_no_microservices@ergonomic_code
Прекрасное подтверждение для тезиса "Сначала объектно-ориентированная декомпозиция, потом модульный монолит на этой базе, потом, если потребуется, микросервисы".
О том как использовать диаграмму эффектов для рациональной объектно-ориентированной декомпозиции я напишу третьим постом в текущей серии о диаграмме эффектов.
#posts@ergonomic_code #why_no_microservices@ergonomic_code
Хабр
От микросервисов к монолиту — маршрут построен
Привет, Хабр! Меня зовут Артём Шубский, я техлид в компании AGIMA. Заметили, что на Хабре и на конференциях часто рассказывают, как перешли с монолита на микросервисы. Мы тоже всем сердцем любим...
👍7