This media is not supported in your browser
VIEW IN TELEGRAM
У нас все серьезно. Качественный чистый код, понятные эффективные тесты.
Когда разработчики говорят все честно..
В моей голове именно такая биополярочка из мамы и папы играет.
«я обещал не сердится
Один раз я так расстроился из-за некрасивого кода на проекте после аудита кода в гите. Было как в кино: сидел в машине, погруженный в мысли: «нет только не такой код, и ещё и без тестов», сдавал назад и стисал бок машины о бетон.
«Но я обещал не сердится - и вот я не сержусь»
А потом сам над собой ржал. Видели бы вы это со стороны.
Профессор увидел лапшу из кода, которую накрутили на вилку его любимые разрабы
Так я почувствовал скрежетом машины, насколько мы все разные и нет смысла так близко к сердцу принимать «bloody mess» в кодовой базе. Тех долг все исправил
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Спасибо всем, кто пришел на митап.
И ребятам из X5, что пригласили.
Было интересно. Много интересных тем обсудили в перерывах и баре.
Уверен, мы ещё поговорим про лучшие практики💻
И ребятам из X5, что пригласили.
Было интересно. Много интересных тем обсудили в перерывах и баре.
Уверен, мы ещё поговорим про лучшие практики
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍3🤣3❤2💯1
Максим (@Max_S_T), 💬 спасибо за интересное видео.
Много интересного обсудили с тобой на митапе
https://youtu.be/MZytZW_k-9Y
А потом ещё с Вадимом(@vrvaganov).
Я, под впечатлением от тем, забыл утром свой рутовый пароль.😟
Но потом вспомнил😏
В моменте насторожился.
Много интересного обсудили с тобой на митапе
https://youtu.be/MZytZW_k-9Y
А потом ещё с Вадимом(@vrvaganov).
Я, под впечатлением от тем, забыл утром свой рутовый пароль.
Но потом вспомнил
В моменте насторожился.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
An Introduction to Residuality Theory - Barry O'Reilly - DDD Europe 2022
Domain-Driven Design Europe 2022
http://dddeurope.com - https://twitter.com/ddd_eu - https://newsletter.dddeurope.com/ https://linkedin.com/company/domain-driven-design-europe
Organised by Aardling (https://aardling.eu/)
Residuality theory is a revolutionary…
http://dddeurope.com - https://twitter.com/ddd_eu - https://newsletter.dddeurope.com/ https://linkedin.com/company/domain-driven-design-europe
Organised by Aardling (https://aardling.eu/)
Residuality theory is a revolutionary…
🔥4👍1
Базовая концепция в разработке, на мой взгляд .
Information Hiding
Сокрытие информации
Сокрытие информации — это концепция, разработанная Дэвидом Парнасом (1971) для поиска наиболее эффективного способа определения границ модуля. Сокрытие информации описывает желание скрыть как можно больше деталей за границей модуля (или, в нашем случае, микросервиса). Парнас рассмотрел преимущества, которые теоретически должны нам дать модули, а именно:
Улучшено время разработки
Позволяя разрабатывать модули независимо, мы можем позволить выполнять больше работы параллельно и уменьшить влияние добавления большего количества разработчиков в проект.
Понятность
Каждый модуль можно рассматривать изолированно и понимать изолированно. Это, в свою очередь, облегчает понимание того, что делает система в целом.
Гибкость
Модули можно изменять независимо друг от друга, что позволяет вносить изменения в функциональность системы без необходимости изменения других модулей. Кроме того, модули можно комбинировать по-разному для предоставления новых функций.
...
Из другой статьи Парнаса мы имеем вот эту жемчужину:
Связи между модулями — это предположения, которые модули делают друг о друге.
Нравится, что связи это assumptions и это сразу задаёт верный посыл для мышления при проектировании Объектов, Модулей, Сервисов.
Взаимно Заботливый подход потребитель - поставщик при изменениях. Это важно.
Information Hiding
Сокрытие информации
Сокрытие информации — это концепция, разработанная Дэвидом Парнасом (1971) для поиска наиболее эффективного способа определения границ модуля. Сокрытие информации описывает желание скрыть как можно больше деталей за границей модуля (или, в нашем случае, микросервиса). Парнас рассмотрел преимущества, которые теоретически должны нам дать модули, а именно:
Улучшено время разработки
Позволяя разрабатывать модули независимо, мы можем позволить выполнять больше работы параллельно и уменьшить влияние добавления большего количества разработчиков в проект.
Понятность
Каждый модуль можно рассматривать изолированно и понимать изолированно. Это, в свою очередь, облегчает понимание того, что делает система в целом.
Гибкость
Модули можно изменять независимо друг от друга, что позволяет вносить изменения в функциональность системы без необходимости изменения других модулей. Кроме того, модули можно комбинировать по-разному для предоставления новых функций.
...
Из другой статьи Парнаса мы имеем вот эту жемчужину:
Связи между модулями — это предположения, которые модули делают друг о друге.
Нравится, что связи это assumptions и это сразу задаёт верный посыл для мышления при проектировании Объектов, Модулей, Сервисов.
Взаимно Заботливый подход потребитель - поставщик при изменениях. Это важно.
🔥7
Хороший обзор СУБД.
Distributed systems are hard… really hard.https://blog.teamtreehouse.com/should-you-go-beyond-relational-databases?amp=1
#statefull
Please open Telegram to view this post
VIEW IN TELEGRAM
Treehouse Blog
Should You Go Beyond Relational Databases?
Is it time to move beyond relational databases? Explore the signs that your current database model might be holding you back and learn how to evaluate alternative technologies.
🔥2
Главное не говорить про DDD 😟
Рассказал про базовые принципы,
основной кирпичик ООП Объект-Значение
Зацепил подход R.O.P. Railway Oriented Programming
#video #codemonsterslog
https://youtu.be/-Y39J5UuAGE?si=VWPqe7GpAWtBtuij
Рассказал про базовые принципы,
основной кирпичик ООП Объект-Значение
Зацепил подход R.O.P. Railway Oriented Programming
#video #codemonsterslog
https://youtu.be/-Y39J5UuAGE?si=VWPqe7GpAWtBtuij
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Объект-значение, Railway Oriented Programming: основа реализации кукбука — Максим Морев, Газпромбанк
Максим рассказал, как кукбук помогает:
- Погружать разработчиков в культуру разработки;
- Гарантировать качество кода, деливери;
- Вскрыть амплитуду тем от DDD до R.O.P.
Подробнее остановились на всегда валидной доменной модели и базовом тактическом кирпичике…
- Погружать разработчиков в культуру разработки;
- Гарантировать качество кода, деливери;
- Вскрыть амплитуду тем от DDD до R.O.P.
Подробнее остановились на всегда валидной доменной модели и базовом тактическом кирпичике…
🔥10👍7
Forwarded from Диджитал Лекторий Газпромбанк.Тех
Совсем скоро состоится вебинар о важных скиллах для разработчиков, а значит пора познакомиться с нашими спикерами — Максимом Моревым и Вадимом Вагановым 🧑💻👨💻
Максим — старший технический директор Газпромбанка. Он много экспериментирует с Linux даже вне работы и может сам собрать компьютер. А еще Максим увлекается арт-фотографией, собирает настоящую библиотеку с бумажными книгами и коллекционирует уточек.
Вадим — Head of Profession Backend-разработки. Он знает все о бэке, но впервые в своей карьере положил ПРОД, сделав доработку на фронте. Предпочитает прагматичный подход к разработке и изучает функциональные языки программирования (F#, Clojure и пр.), чтобы научиться мыслить по-другому.
Максим и Вадим поделятся своим опытом уже в среду на вебинаре «Дорожная карта разработчика».
Ждем тебя на лекции 29 ноября в 17:00 по МСК! Включай уведомления и готовь вопросы спикерам 💡
Максим — старший технический директор Газпромбанка. Он много экспериментирует с Linux даже вне работы и может сам собрать компьютер. А еще Максим увлекается арт-фотографией, собирает настоящую библиотеку с бумажными книгами и коллекционирует уточек.
Вадим — Head of Profession Backend-разработки. Он знает все о бэке, но впервые в своей карьере положил ПРОД, сделав доработку на фронте. Предпочитает прагматичный подход к разработке и изучает функциональные языки программирования (F#, Clojure и пр.), чтобы научиться мыслить по-другому.
Максим и Вадим поделятся своим опытом уже в среду на вебинаре «Дорожная карта разработчика».
Ждем тебя на лекции 29 ноября в 17:00 по МСК! Включай уведомления и готовь вопросы спикерам 💡
🔥6
Никто не может двигаться постоянно на максималках.
К концу года я начал чувствовать усталость.
При этом объем интересного превышает желание потупить, как следствие:
Интересная подборка докладов.
https://youtu.be/fi1FsDW1QeY?si=4paCMJsSqROiL1Cp
https://youtu.be/KtRLIzG5c54?si=C4EodV-D6Mk3OTjH
Напишите в комментах: Как у вас с производительностью в декабре?
#codemonsterslog
YouTube
Designing with Capabilities - Scott Wlaschin
Domain-Driven Design Europe 2017
http://dddeurope.com - https://twitter.com/ddd_eu
Organised by Aardling (https://aardling.eu/)
In this talk I'll look at a unusual approach to designing internal interfaces and external APIs -- a "capability-based" approach…
http://dddeurope.com - https://twitter.com/ddd_eu
Organised by Aardling (https://aardling.eu/)
In this talk I'll look at a unusual approach to designing internal interfaces and external APIs -- a "capability-based" approach…
👍2🔥1
Нельзя недооценивать важность встреч 1:1
В моменте не нашел строк про то, как 1:1 положительно влияют на Вовлеченность в Apple, Google.
Классная книга.
Ким Скотт
«Радикальная поямота»
#codemonsterslog #vibe
В моменте не нашел строк про то, как 1:1 положительно влияют на Вовлеченность в Apple, Google.
Классная книга.
Ким Скотт
«Радикальная поямота»
Взаимоотношения с подотчетными
вам специалистами ядро вашей работы. Именно они определяют, сможете ли вы исполнить три основные обязанности менеджера:
• внедрить культуру помощи (похвала и критика), позволяющую двигаться в нужном направлении;
• понять, что мотивирует каждого отдельного человека в вашей команде на уровне достаточном, чтобы избежать скуки и выгорания, а также поддерживать сплоченность коллектива;
• совместно управлять результатами.
#codemonsterslog #vibe
🔥5🤔1
В ИТ много всего интересного, и сфокусироваться на релевантных практиках бывает сложно. Порой не совсем понятно, как выделить основу из стремительного инфопотока, на которой можно выстроить не только успешную карьеру, но и стать мастером своего дела.
16 декабря старший технический директор Газпромбанка Максим Морев расскажет про базовые принципы разработчика и лучшие инженерные практики, на которые стоит обратить внимание прямо сейчас.
Регистрируйся на наш офлайн-митап, чтобы узнать больше о разработке, а также кибербезопасности, аналитике и других ИТ-сферах, и приходи 16 декабря в Цифровое деловое пространство 👾
https://elka-tech.fut.ru/
16 декабря старший технический директор Газпромбанка Максим Морев расскажет про базовые принципы разработчика и лучшие инженерные практики, на которые стоит обратить внимание прямо сейчас.
Регистрируйся на наш офлайн-митап, чтобы узнать больше о разработке, а также кибербезопасности, аналитике и других ИТ-сферах, и приходи 16 декабря в Цифровое деловое пространство 👾
https://elka-tech.fut.ru/
❤2
Побил рекорд личный
В Пятницу на митапе в ГПБ расскажу про DDD.
В субботу на митапе расскажу про Базовые принципы разработчика.
Есть наработки, но каждый раз хочу:
— получить удовольствие от подготовки и инфы
— подать просто и понятно важные идеи
Посмотрим как получится в этот раз.
#продуктивность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Гайд по чистому коду: учимся писать тесты
📞
Вышла третья статья из серии
про юзабельный код с тестами и рефакторинг по кукбуку в соавторстве с Вадимом Вагановым.
Замысел:
Начать с основы создания работоспособного приложения - с тестов.
С чего стоит начать перед рефакторингом.
Какие тесты написать и как.
Раскрыть прагматичный метод, который работает.
Запрос:
Оставь, пожалуйста, обратную связь если есть.🍽
Это ценнее, чем ты думаешь.
#codemonsterslog #insanedeliverymachine
Вышла третья статья из серии
про юзабельный код с тестами и рефакторинг по кукбуку в соавторстве с Вадимом Вагановым.
Замысел:
Начать с основы создания работоспособного приложения - с тестов.
С чего стоит начать перед рефакторингом.
Какие тесты написать и как.
Раскрыть прагматичный метод, который работает.
Запрос:
Оставь, пожалуйста, обратную связь если есть.
Это ценнее, чем ты думаешь.
#codemonsterslog #insanedeliverymachine
Please open Telegram to view this post
VIEW IN TELEGRAM
Tproger
Учимся проводить тестирование своего кода
Покрываем интеграционным тестом небольшой сервис: объясняем, как сделать это локально и с помощью тест-контейнеров.
👍5🔥2
Личная история про эффективность + 5 правил
🎙
Вопросы на митапе и не только, прекрасный пост Вадима
меня вдохновили написать про некоторые мои правила.
Сообщество инженеров, друганов с кем интересно работать и общаться не всегда сразу можно обрести.
Возможно его нужно заслужить?
Личная история.
Однажды я осознал, что теперь один со своей экспертизой, интересами и исследованиями.
Писал код, думал про Data Flow, слушал Synth Wave.
Важно отметить, что незадолго до этого осознания, был стопор.
Стопор.
Хотелось все, сразу и чем больше я узнавал, тем собственное невежество меня больше пугало. Тысячи вкладок и записок.
Бывает такое?
Не ясно в какую вселенную нырять : мобильна разработка для Android или бэкенд разработка сложных систем, а как стать экспертом?
А ещё есть страх:
вдруг не получится?
вдруг я облажаюсь?
На фотке картинка, которая лет 5 со мной на работе и дома. Я прожил каждое предложение своим опытом.
Авторы:
Brian Buirge and Jason Bacher, co-founders of Good Fucking Design Advice
Правила в комментах.
Вопросы на митапе и не только, прекрасный пост Вадима
меня вдохновили написать про некоторые мои правила.
Сообщество инженеров, друганов с кем интересно работать и общаться не всегда сразу можно обрести.
Возможно его нужно заслужить?
Личная история.
Однажды я осознал, что теперь один со своей экспертизой, интересами и исследованиями.
Писал код, думал про Data Flow, слушал Synth Wave.
Важно отметить, что незадолго до этого осознания, был стопор.
Стопор.
Хотелось все, сразу и чем больше я узнавал, тем собственное невежество меня больше пугало. Тысячи вкладок и записок.
Бывает такое?
Не ясно в какую вселенную нырять : мобильна разработка для Android или бэкенд разработка сложных систем, а как стать экспертом?
А ещё есть страх:
вдруг не получится?
вдруг я облажаюсь?
На фотке картинка, которая лет 5 со мной на работе и дома. Я прожил каждое предложение своим опытом.
Авторы:
Brian Buirge and Jason Bacher, co-founders of Good Fucking Design Advice
Правила в комментах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥4
Привет, друзья! 💻
Меня так захватил ИТ Реорг в нашей прекрасной компании, что я временно потерял дар писать в канал.
Рекомендую вам классный доклад моего друга по DDD Ахтяма Сакаева
https://youtu.be/WTu7EgYFYGU?si=t0tkbqO0aUR2FqwK
О концепции Aggregate. На мой взгляд он хорошо показал творческий подход к реализации тактического паттерна.
Что нас ждет в ближайшее время:
- Я почти закончил первый этап DevOps испытания
В течении двух недель покажу вам лаконичный пример песочницы разработчика, которую можно развернуть в домашней сетке.
Придумал проект ДредНоут - напишу.
А далее нас ждут статьи, эксперименты.
Оставайтесь на связи и передавайте привет Ахтяму.
#codemonsterslog #video
Меня так захватил ИТ Реорг в нашей прекрасной компании, что я временно потерял дар писать в канал.
Рекомендую вам классный доклад моего друга по DDD Ахтяма Сакаева
https://youtu.be/WTu7EgYFYGU?si=t0tkbqO0aUR2FqwK
О концепции Aggregate. На мой взгляд он хорошо показал творческий подход к реализации тактического паттерна.
Что нас ждет в ближайшее время:
- Я почти закончил первый этап DevOps испытания
В течении двух недель покажу вам лаконичный пример песочницы разработчика, которую можно развернуть в домашней сетке.
Придумал проект ДредНоут - напишу.
А далее нас ждут статьи, эксперименты.
Оставайтесь на связи и передавайте привет Ахтяму.
#codemonsterslog #video
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
F [Scala] 2023 — DDD Aggregate
Расскажем, что такое DDD Aggregate и зачем это нужно.
Доклад охватывает:
1. Идея DDD Aggregate
2. Обнаружение границ транзакционной
консистентности
3. Практическое применение на PostgreSQL и MongoDB
Разработчики узнают, как надёжно реализовать сценарии…
Доклад охватывает:
1. Идея DDD Aggregate
2. Обнаружение границ транзакционной
консистентности
3. Практическое применение на PostgreSQL и MongoDB
Разработчики узнают, как надёжно реализовать сценарии…
❤11🔥8
Forwarded from Базированный разработчик
Всем доброе утро! Сегодня выступаю на митапе X5 Backend meetup #3.
Если есть возможность приехать и зарегистрировались на оффлайн — приходите поболтать! А если просто хотите меня послушать, то будет онлайн-трансляция — начало в 19:00, моё выступление в 20:30 😎
ТРАНСЛЯЦИЯ
Если есть возможность приехать и зарегистрировались на оффлайн — приходите поболтать! А если просто хотите меня послушать, то будет онлайн-трансляция — начало в 19:00, моё выступление в 20:30 😎
ТРАНСЛЯЦИЯ
🔥10
Песочница разработчика в МиниПэкашке
Для экспериментов мне нужна песочница разработчика.🔥
Инфраструктура как код.
Хочу быстро переносить эту песочницу.
Чтобы обеспечить себе свободу экспериментов.
Я экспериментирую, затем применяю на работе.
Минимальный набор разработчика:
- Гитлаб,
- Сервис авторизации и аутентификации (keycloak),
- СУБД, Очереди, и т.д.
- k8s в котором я буду разворачивать:
- Сервисы с состоянием (Stateful) сервисы,
- Сервисы без состояния (Stateless),
Описание состояния первого этапа в комментах
#devops
Для экспериментов мне нужна песочница разработчика.
Инфраструктура как код.
Хочу быстро переносить эту песочницу.
Чтобы обеспечить себе свободу экспериментов.
Я экспериментирую, затем применяю на работе.
Минимальный набор разработчика:
- Гитлаб,
- Сервис авторизации и аутентификации (keycloak),
- СУБД, Очереди, и т.д.
- k8s в котором я буду разворачивать:
- Сервисы с состоянием (Stateful) сервисы,
- Сервисы без состояния (Stateless),
Описание состояния первого этапа в комментах
#devops
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11
Просматривал темы лекций в нашу бэкенд академию и понял.
Я не дебажу код в работе (стараюсь вообще не дебажить), почти все научился выявлять тестами.
Помню как лютый легаси дебажил. Кровавый монстр Легаси был… и не один…
Тут могла бы быть байка от деда, Макса. Но нет. Не сейчас.
В итоге я пришел к методу:
Я разбирался с монстриком не путем яростного дебага, а пытался понять как он работает. Анализировал код и точки входа в нужный мне флоу (бизнес-процесс).
И все. Я просто разбирался как это работает.
Работает правило:
Разберись как это укулеле работает в целом и что происходит по данному бизнес-процессу.
Возведи понимание в приоритет.
Понимание поможет обнаружить ошибку.
Понимание поможет упростить.
Почему это важно?
Потому как я встречал разработчиков, которые для поиска ошибки сразу стартовали процесс дебага, при этом общего понимания функционала не было.
И не было тестов.
Не делай так!
Пиши тесты.
А ты как ищешь баги в коде?
#codemonsterslog #кодопись
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8💯3
Ушел на 2 недели в отпуск, чтобы собрать дела по бэкенд Академии, статьям, докладам.
- Уделил внимание здоровью: увеличел количество тренировок
- Появилось время для хобби геймс
- Выгреб много мусора из головы
- разгреб дела бэкенд академии
- Приступил к работе над статьей и докладами
Мне очень в этом помогает спорт
Был момент, когда я сделал перерыв. Было фигово. Я ослаб.
Больше года, как я вернулся в ДзюДо и downhill. И меня это сильно заряжает. Прям помогает выжить и креативить.
Единоборства очень многому учат меня и я тащу это в жизнь.
- Гибкость сознания и тела
- Эффективность
- Сила и постоянство
- Убирай лишнее из головы и движения
Прям кайф.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6🔥3
Пока я подготавливал базу для домашнего облака, статьи и кукбук про DDD покрылись пыльцой, а вместе с этим фактом в душе завибрировало беспокойство.
Пора продолжать писать и освежить в памяти, что мы уже сделали и к чему все это приведет.
Я так и сделал. Перерыв пошел на пользу. Забыл и посмотрел свежим взглядом.
1. Как написать чистый код и сделать жизнь проще
2. Как не стоит писать код: разбираем ошибки
3. Гайд по чистому коду: учимся писать тесты
В итоге получаем гайд с полезными ссылками, рекомендациями по темам:
чистый код и DDD,
пайплайн ориентированный подход,
юнит-тесты на бизнес-логику,
контрактные тесты и как прагматично использовать тест-контейнеры.
Эссенция опыта, экспериментов и исследований работ инженеров. Выходит норм пайп :)
- Да вы Пишите, Максим, пишите
- уже начал
#code #кодопись #article
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
codemonsters.log
Песочница разработчика в МиниПэкашке
Для экспериментов мне нужна песочница разработчика. 🔥
Инфраструктура как код.
Хочу быстро переносить эту песочницу.
Чтобы обеспечить себе свободу экспериментов.
Я экспериментирую, затем применяю на работе.
Минимальный…
Для экспериментов мне нужна песочница разработчика. 🔥
Инфраструктура как код.
Хочу быстро переносить эту песочницу.
Чтобы обеспечить себе свободу экспериментов.
Я экспериментирую, затем применяю на работе.
Минимальный…
👍8🔥7
Поеду в Петербург писать продолжение DDD-шнутое.
Там сейчас идеально - промозгло и ддд-шнуто-драйвово🎂
Там сейчас идеально - промозгло и ддд-шнуто-драйвово
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8💯3
Мы разрабатываем крутой командой Бэкенд Академию для подготовки инженеров-джунов в ГПБ.
Концепция мне очень нравится.
Самое ценное - состав экспертов, которые зарядят на победу, расскажут и покажут как нужно разрабатывать.
Старт промо с 26-28 февраля.
Еду в машине и размышляю: еще вчера мне хотелось создать нечто подобное и вот мы это делаем. Класс.
Топовый Состав преподавателей.
Крутейший разнообразный поток тем. Будет не скучно.
Если отмотать назад таймлайн жизни:
- Услышал звук перемотки?
- Да.
- Класс.
Как передать концепцию эффективной работы?
Не просто про код или инструменты.
Про полный цикл разработки. Про то как мы делаем, как стоит подходить к разработке и достигать качества в нашем ремесле.
Академия про это.
#codemonsterslog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3🔥3