Telegram Web
Forwarded from КБ плюс
This media is not supported in your browser
VIEW IN TELEGRAM
В Твиттере завирусился краб, который не унывает даже в самой патовой ситуации.

Это мы в окружении дедлайнов к концу года
😁9😢9👎4👍2
По поводу SRP. Может быть, кому-то это сообщение облегчит жизнь:

💬 Generally speaking it is better to split larger functions into well named smaller functions. This often leads to clarity. Sometimes, however, there are functions that are so internally cohesive that splitting them detracts from clarity. It’s a judgement call; but it is also a call worth judging by trial. Try it both ways and judge which is better.
-- Robert Martin

Если что, Eric Evans это говорил еще 20 лет тому назад.

💬 Yes, "chattiness" is one of the concerns and is caused by splitting functions for the sake of splitting functions. One of the goals of splitting functions is to separate higher level concepts from more detailed concepts, and giving them all good names. This often means that readers don't have to follow an implementation down into the details. It is polite to allow your readers an early exit from the code, rather then forcing them to dig through all the details to extract the high level intent.
-- Robert Martin
👍5🔥2💯2
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Отвечаю на частые вопросы Почему была куплена долевая квартира? Она была куплена для родственника-инвалида на деньги родственников исходя из привязки к нужной больнице. Она ехала туда чтоб обсудить с владелицей варианты дальнейшей судьбы оставшейся доли.…
В возбуждении уголовного дела отказывают. Есть информация, что у нападавшего отыскались какие-то связи. Мое неверие в объективность, беспристрастность и профессинализм российского правосудия на текущий момент, к сожалению, подтверждается реальностью. Нашел нового адвоката, очень крутого и дорогого. Прямо сейчас он пытается работать и добиться возбуждения уголовного дела. Все свободные деньги ушли на адвоката.
😱19😢10🙏2👎1
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
В возбуждении уголовного дела отказывают. Есть информация, что у нападавшего отыскались какие-то связи. Мое неверие в объективность, беспристрастность и профессинализм российского правосудия на текущий момент, к сожалению, подтверждается реальностью. Нашел…
Коллеги, прошу простить за затянувшийся уклон от профессиональной тематики, хотя поделиться есть чем: за пару недель запилил демонстрационный EventSourcing/CQRS микросервис на Python по всем канонам, включая тестирование и продвинутый фэйкер взаимосвязанных и полностью инкапсулированных агрегатов, не нарушая их инвариантов. Но, полагаю, что большинство присутствующих волнует вопрос не о том, как сделать микросервис, а о том, как сделать так, чтоб его вообще начать делать, т.е. как протолкнуть это изменение через внутрикорпоративный баланс бизнесовых и технических сил. Уж сколько копьев было сломлено в индустрии вокруг этой темы. На эту тему тоже накопилось материала на несколько статей/докладов, с глубоким теоретическим обоснованием, подкрепленного практикой. Так что повествовать есть о чем - это вопрос времени.
😱12
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Коллеги, прошу простить за затянувшийся уклон от профессиональной тематики, хотя поделиться есть чем: за пару недель запилил демонстрационный EventSourcing/CQRS микросервис на Python по всем канонам, включая тестирование и продвинутый фэйкер взаимосвязанных…
Коллеги, вы знали, что я вместе со своей девушкой, по мнению участкового ОПОП 70 Хорошевского ОВД, исполняющего функции дознавателя, являюсь черным риелтором, спекулирующим недвижимостью? Я вот пытаюсь понять, когда я это успеваю делать, если некоторые из вас не могут неделями дождаться от меня консультации по профессиональным вопросам.

А в возбуждении уголовного дела пытаются отказать потому, что после того, как нападавший её швырнул, она "случайно ударилась лицом о стену, независимо от действий нападавшего".

Объяснение было специально составлено таким образом, чтобы имелось основание для отказа, а человек с диагностированным сотрясением мозга его подписал.

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

Каждый раз, когда вы читаете в новостях о спасенных в авиапроишествиях жизнях, вы должны понимать, что в этом может быть и заслуга моей девушки - инструктора аварийно-спасательной подготовки летного состава. Каждый раз, когда вы садитесь в самолет, навыки экипажа вашего рейса в экстренной ситуации зависят, в т.ч. от работы моей девушки. Которая, по мнению отдельных представителей правоохранительных органов, является "черным риелтором", а человек, её избивший до сотрясения мозга, ни в чем не виноват. Это все, что мне нужно знать про российское правосудие, прошу простить за эмоциональность. Вы не представляете, что я сейчас испытываю. Я буду идти до конца. Огромное спасибо адвокату и всем вам за поддержку.
🤯36🙏224😢2😁1
Коллеги, с Новым Годом!
Ярких побед и высоких достижений в Новом Году!
👍24🎉1412
Почему низкоквалифицированный специалист получает зачастую больше, нежели высококвалифицированный? Почему на рынке аутсорса процветает шарлатанство? Почему рынок на самом деле не является самым справедливым судьей? Ответ на этот вопрос дает математика. Более доходчивого объяснения я пока еще не встречал:

💬 "Джордж Акерлоф в классической статье «Рынок лимонов» на примере рынка подержанных автомобилей показал, как асимметричность информации может привести к краху рынка [3].
Предположим, существует две категории подержанных автомобилей:
«лимоны» (автомобили плохого качества) и «персики» (автомобили хорошего качества). Предположим далее, что владелец каждого «лимона» готов продать его за 1000 долларов, тогда как каждый потенциальный покупатель готов заплатить за «лимон» 1500 долларов.
Допустим, владелец «персика» готов продать его за 3000 долларов, а потенциальный покупатель готов заплатить за него 4000 долларов.
Если бы качество автомобилей было с самого начала очевидным для каждой из сторон, тогда рынок работал бы должным образом. Все автомобили можно было бы продать: «лимоны» — по цене от 1000 до 1500 долларов, а «персики» — от 3000 до 4000 долларов.

Но что если каждый продавец знает о качестве своего автомобиля, а покупателям известно только то, что на вторичном рынке половина автомобилей — «лимоны», а другая половина — «персики»? Если бы автомобили этих двух категорий предлагались на продажу в равной пропорции, каждый покупатель был бы готов заплатить не более чем ½ × (1500 + 4000) = 2750 долларов.
Владелец, который знает, что его автомобиль относится к категории «персиков», не захочет продавать его по этой цене.
Следовательно, на рынке будут продаваться только «лимоны». Покупатели, зная об этом, будут предлагать максимум 1500 долларов.
Рынок «персиков» полностью прекратит свое существование, хотя покупатели и готовы платить за «персики», качество которых может быть доказано, вполне приемлемую для продавцов цену. Это полностью разрушает чрезмерно оптимистичную интерпретацию рынка, которая состоит в том, что рынок — это самый лучший и самый эффективный институт для ведения экономической деятельности."
-- "Теория игр. Искусство стратегического мышления в бизнесе и жизни" / Авинаш Диксит и Барри Нейлбафф ; пер. с англ. Н. Яцюк. — М. : Манн, Иванов и Фербер, 2015.
👍37👎83🤔1
Forwarded from IT Юмор
Сможете сейчас вспомнить какая методология у вас на проекте?
👍18😁5🔥32
📚 Подборка книг для развития системного аналитика

Новогодние праздники — прекрасное время, чтобы отдохнуть почитать профессиональную литературу, что постоянно откладывалось на потом.

Будет очень круто, если вы будете оставлять отзывы о книгах из этого списка, которые вы прочитали.

Требования
📖
Вигерс Карл, Битти Джой. Разработка требований к программному обеспечению
📖 Алистер Коберн. Современные методы описания функциональных требований к системам
📖 Дин Леффингуэлл. Принципы работы с требованиями к программному обеспечению
📖 Джефф Паттон. Пользовательские истории. Искусство гибкой разработки ПО
📖 Халл Элизабет. Инженерия требований
📖 Юрий Химонин. Сбор и анализ требований к программному продукту

Архитектура и проектирование
📕 Роберт Мартин. Чистая архитектура. Искусство разработки программного обеспечения
📕 Эрик Эванс. Предметно-ориентированное проектирование (DDD)
📕 Вон Вернон. Реализация методов предметно ориентированного проектирования (DDD)
📕 Крис Ричардсон. Микросервисы. Паттерны разработки и рефакторинга
📕 Сэм Ньюмен. Создание микросервисов
📕 Беллемар Адам. Создание событийно-управляемых микросервисов
📕 C. Cомасегар. Руководство Microsoft по проектированию архитектуры приложений

Проектирование

📒 Александр Швец. Погружение в Паттерны Проектирования
📒 System Design. Подготовка к сложному интервью
📒 Мартин Фаулер. P of EAA: Шаблоны корпоративных приложений

Интеграции
📗 Грегор Хоп и Бобби Вульф. Шаблоны интеграции корпоративных приложений
📗 Джей Гивакс. Паттерны проектирования API
📗 Арно Лоре. Проектирование веб-API
📗 Сергей Константинов. API
📗 Дилан Скотт. Kafka в действии
📗 Ian Robinson. REST in Practice: Hypermedia and Systems Architecture
📗 Emil Koutanov. Effective Kafka

Своды знаний
📔 SEBoK — Systems Engineering Body of Knowledge
📔 BABOK — Business Analysis Body Of Knowledge
📔 INCOSE Guide for Writing Requirements
📔 DAMA-DMBOK — Data Management Body of Knowledge

Навыки
📓 Ф.П. Тарасенко. Прикладной системный анализ
📓 Impact Mapping. Как повысить эффективность программных продуктов и проектов по их разработке
📓 Алан Купер. Психбольница в руках пациентов
📓 Карл Андерсон. Аналитическая культура
📓 Вера Иванова. Путь аналитика. Практическое руководство
📓 Максим Ильяхов и Людмила Сарычева. Пиши, сокращай: Как создавать сильный текст
📓 Роберт Фитцпатрик. Спроси маму: Как общаться с клиентами и подтвердить правоту своей бизнес-идеи, если все кругом врут?
📓 Фредерик Брукс. Мифический человеко-месяц или как создаются программные системы

UML
💣 Мартин Фаулер. UML. Основы
💣 Буч Грэди. Язык UML. Руководство пользователя
💣 Дж. Шмуллер. Освой самостоятельно UML за 24 часа
💣 Крэг Ларман. Применение UML и шаблонов проектирования
💣 Джим Арлоу. UML 2 и Унифицированный процесс
💣 М. Блаха. UML 2.0 Объектно-ориентированное моделирование и разработка
💣 Александр Леоненков. Самоучитель UML

Python
🐍 Эрик Мэтиз. Изучаем Python: программирование игр, визуализация данных, веб-приложения
🐍 Пол Бэрри. Изучаем программирование на Python
🐍 Эл Свейгарт. Автоматизация рутинных задач с помощью Python
🐍 Марк Лутц. Python. Карманный справочник
🐍 Аллен Б. Дауни. Основы Python. Научитесь думать как программист

Эта навигация будет дополняться в Библиотеке Системного Аналитика

#подборка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥52
Forwarded from Ivan
Сложный вопрос. Постараюсь.

Существует модель ментальная предметной области, грубо говоря, это представление (знания) стейкхолдеров о тех процессах, которые можно автоматизировать информационной системой. Это модель области проблемы, и существует она независимо от того, автоматизирована ли она системой или нет (например, правила рассчета процентной ставки банка, которую высчитывает клерк на калькуляторе). Она является причиной появления автоматизированной системы.

Существует модель решения, т.е. упрощенная интерпретация реальности с целью решения некой проблемы. Это модель области решения, которая подлежит реализации.

Эти две модели могут отличаться. Основная идея DDD заключается в том, чтобы они не отличались, т.е. чтобы эти две модели совместить в одну. А поскольку натуральный язык - это тоже модель, то для достижения этого используется Ubiquitous Language, т.е. использование единых терминов как специалистами области решения (разработчиками), так и специалистами области проблемы (экспертами предметной области). В этом заключается основная суть DDD.

Но т.к. количество терминов ограничено, а количество явлений предметной области безгранично, то языковые конфликты (разные явления под одним термином и, наоборот, разные термины одного явления) являются маркерами границ модели, которые называются Bounded Context.

Основных целей у BC две:
1. Снизить когнитивную нагрузку, т.е. модель не должна содержать ничего неревантного решаемой ею проблемы, чтобы не создавать паразитную когнитивную нагрузку.
2. Снизить коммуникативную нагрузку, т.е. модель не должна быть разделена между разными командами, которые не смогут и шагу ступить без коммуникаций, не сломав при этом инвариантов модели.

Основная суть EventStorming заключается именно в том, что он позволяет моделировать решение прямо поверх ментальной модели стейкхолдеров, прямо на тех же стикерах. Результатом ES является модель решения, которая в точности отражает структуру будущего кода. Настолько точно, что по этой диаграмме можно делать автоматизированную сверку кода, или даже генерировать сам код, с помощью инструментов, которые я упоминал ранее (на Java это можно сделать используя сервис от Vaughn Vernon domorobo.to + xoom-designer).
🔥24👍62
Forwarded from Евгений Козлов пишет про IT (Eugene Kozlov)
🗺 Карта канала

Перед тем как делать новый цикл постов я решил собрать всё что уже рассказывал ранее. Здесь ссылки на посты, статьи и Github репозитории созданные и найденные мной за 2 года ведения канала.

🟢 Backend
🔹Цикл постов о ресурсах по прокачке в Backend #0 #1 #2 #3
🔹Как я изучал язык Go
🔹Как практиковаться начинающему разработчику?
🔹Подборка ресурсов по Git
🔹 Хорошие практики разработки типичных back-end приложений

Мои первые статьи на Хабр:
🔹 Практический гайд по процессам и потокам (и не только) в Python
🔹 Многопоточность в Python: очевидное и невероятное

🟢 Big Tech Interview
🔹Мой план ресурсов по покорению Big Tech в 2022м
🔹 Всё, что нужно знать о System Design для прохождения интервью и не только
🔹 Мой личный план изучения алгоритмов (протестирован на учениках, работает)
🔹 Бесплатная книга для любитетей хардкорных алгоритмических задач

🟢 Базы данных, брокеры сообщений

🔹 Подборка книг по СУБД. От новичка до эксперта.
🔹 Простым языком об Apache Kafka, как, зачем и почему
🔹 Подборка классных и бесплатных ресурсов по PostgreSQL
🔹 Партиционирование в PostgreSQL

🟢 Docker, K8s, Microservices
🔹Цикл постов о виртуализации и контейнерах #1 #2 #3 #4
🔹TOP 3 ресурса по погружению в Docker, Kubernetes, Microservices, Cloud Native.
🔹Подборка для изучения и практики Kubernetes

🟢 Soft Skills, Mindset
🔹1-to-1
🔹Какие вопросы стоит задать перед тем как принять оффер? #1 #2
🔹Зарплатные переговоры
🔹Как правильно задавать вопросы, если ты начинающий айтишник
🔹Наглядный жизненный урок

🟢 Microservices
🔹Монолитная архитектура
🔹Прагматичный взгляд на Микросервисную архитектуру.


🟢 Linux, DevOps, SRE
🔹Подборка бесплатных ресурсов по изучению командной строки и утилит Linux #1 #2 #3
🔹Изучение DevOps
🔹Бесплатный видеокурс по основам SRE от инженеров Google Cloud
🔹SRE Interview Preparation Guide
👍17🔥65
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Рекомендую: https://www.tgoop.com/pragma_tist https://www.tgoop.com/denis_beskov
Тг-канал Дениса Бескова сменил свой адрес на https://www.tgoop.com/denis_beskov

Думаю, что в представлении он не нуждается. Один из самых грамотных специалистов, которого я только встречал за всю свою практику. Именно он организовал нашумевшее недавно интервью в Владиком Хононовым.

Автор профстандарта системного аналитика, основатель школы системного анализа и проектирования, организатор и спикер конференций, в свое время построил отдел системных аналитиков в Лаборатории Касперского.

Подписывайтесь)
🔥6❤‍🔥2👍1👌1
Forwarded from IT Юмор
Отправьте знакомым руководителям
😁39👍3🤯2
2025/07/10 08:44:56
Back to Top
HTML Embed Code: