tgoop.com »
Singapore »
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc. » Telegram Web
Forwarded from Alexey Neznanov
Всё так. Но опять огрызками системной инженерии пробуем объяснять, а народ не понимает, так как этот огрызок не стыкуется с другими 😀
По ходу, если реально с нуля хочется понять, о чём речь (причём в основе, а не на маленьком птичьем языке), придётся прочитать минимум Рождественскую системноинженерную сказку “Волшебный карандаш и V-модель” (https://sdu2020.blogspot.com/2018/12/v.html).
А потом уже огрызком пользоваться, понимая область применимости...
По ходу, если реально с нуля хочется понять, о чём речь (причём в основе, а не на маленьком птичьем языке), придётся прочитать минимум Рождественскую системноинженерную сказку “Волшебный карандаш и V-модель” (https://sdu2020.blogspot.com/2018/12/v.html).
А потом уже огрызком пользоваться, понимая область применимости...
Blogspot
Рождественская системноинженерная сказка “Волшебный карандаш и V-модель”. Релиз 1.0 от 03 февраля 2019.
Объяснение системной инженерии простым языком на сквозном примере
🔥5👍2❤1
Наверное, именно поэтому, я симпатизирую тем компаниям бигтеха, в которых должность архитектора отсутствует. Выделяться нужно знанием и умением, а не тайтлом.
Telegram
Системный сдвиг
На любой конференции важны не только доклады, но и кулуары. На Flow для этого есть специальный формат — дискуссионная зона, где можно ещё долго обсуждать доклад и связанные темы, иногда это обсуждение длится дольше, чем сам доклад, и даже превращается в мастер…
🔥7👍1👏1💯1
Forwarded from Alexey Neznanov
Дык прям на слайде - IEEE. Top Programming Languages 2025 (http://spectrum.ieee.org/top-programming-languages-2025)
IEEE Spectrum
The Top Programming Languages 2025
Python reigns supreme again, but is AI changing the game for programming languages? Find out how coding is transforming.
🔥1
Сри гёрлицы под виндомВы против англицизмов?
Пряли поздно ивнингом.
Кабы я была квиница,
Фёст промолвила гёрлица,
Я б для фазэра кинга
супер сейшн собрала...
Покопался в этимологических словарях и понял, что я перевёл бы
Coupling как соединенность/присоединенность,
Cohesion - как объединенность.
Но вместе с этим понял, почему медики используют латинскую терминологию, в химии есть июпак, а в физике — СИ.
[UPDARE]: еще хороший вариант перевода - обвязанность (гидравлике обычно используется термин "обвязка") / привязанность ("привязка" тоже широко используется) и связанность/увязанность.
👍4❤2🔥1
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Сри гёрлицы под виндом Пряли поздно ивнингом. Кабы я была квиница, Фёст промолвила гёрлица, Я б для фазэра кинга супер сейшн собрала... Вы против англицизмов? Покопался в этимологических словарях и понял, что я перевёл бы Coupling как соединенность/присоединенность…
@jadrovski нашёл смысловой перевод, руководствуясь соображениям первоисточника.
Cohesion однозначно переводится как "сплоченность".
Coupling пока не совсем ясно, но, наиболее подходящие кандидаты - это "сочленение" или "сопряжение".
Cohesion однозначно переводится как "сплоченность".
Coupling пока не совсем ясно, но, наиболее подходящие кандидаты - это "сочленение" или "сопряжение".
Telegram
Roma Jadrovski in emacsway-chat
Нет никаких проблем в cohesion, вот причина выбора именно этого термина, Larry Constantine:
"lntramodular functional relatedness" is a clumsy term. What we are considering is the cohesion of each module in isolation - how tightly bound or related its internal…
"lntramodular functional relatedness" is a clumsy term. What we are considering is the cohesion of each module in isolation - how tightly bound or related its internal…
👍6🔥1🤔1
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Управление сложностью (главный императив разработки ПО) на примере шахмат: "Дейкстра пишет, что ни один человек не обладает интеллектом, способным вместить все детали современной компьютерной программы (Dijkstra, 1972), поэтому нам - разработчикам ПО — не…
И снова шахматы:
https://habr.com/ru/articles/755336/
https://habr.com/ru/articles/755336/
Хабр
Wardley Maps: карта вашего бизнеса | Глава 1. Потерянный
Что это такое? Wardley Maps — это стратегический инструмент и методология, созданные Саймоном Уордли. Они помогают компаниям понять и визуализировать развитие и изменения их бизнес-среды. Карта...
👍2❤1🔥1
Forwarded from Ivan
Здесь фундаментальное непонимание того, что такое DDD.
Главную цель DDD Evans позаимствовал из MODEL-DRIVEN DESIGN:
В DDD нет "программной модели" в вакууме. Есть единая, вездесущая модель, которая одинакова и для Problem Space (предметка) и для Solution Space (модель, воплощенная системой).
Единство и вездесущность модели обеспечивается посредством Ubiquitous Language, на котором общаются и эксперты предметной области, и разработчики.
В Event Storming это достигается тем, что этап моделирования системы может делаться прямо на тех же стикерах, которые получились в результате исследования предметной области.
Это главный постулат DDD.
Стремясь его достигнуть, Evans столкнулся с проблемой, что различные эксперты предметки, имеющие различные интересы и обязанности, один и тот же оригинал моделирования называют разными терминами. Был "покупатель", стал "плательщик", и станет "получателем".
Тогда он понял, что выбор термина зависит от того, какую проблему решает модель. А граница согласованности языка определяет границу модели. Так он открыл Bounded Context.
Потом он понял, что модель - это то, что позволяет гранулировать знание о системе. Это знание нельзя разорвать между командами разработки, т.к. резко подскочит коммуникативная нагрузка между командами. И нельзя смешивать несколько знаний воедино, т.к. нарушится главный посулат модели - упрощение, и возрастет паразитная когнитивная нагрузка. Так он открыл границы автономности команды разработки.
Главную цель DDD Evans позаимствовал из MODEL-DRIVEN DESIGN:
💬 MODEL-DRIVEN DESIGN discards the dichotomy of analysis model and design to search out a single model that serves both purposes.
-- "Domain-Driven Design: Tackling Complexity in the Heart of Software" by Eric Evans
В DDD нет "программной модели" в вакууме. Есть единая, вездесущая модель, которая одинакова и для Problem Space (предметка) и для Solution Space (модель, воплощенная системой).
Единство и вездесущность модели обеспечивается посредством Ubiquitous Language, на котором общаются и эксперты предметной области, и разработчики.
В Event Storming это достигается тем, что этап моделирования системы может делаться прямо на тех же стикерах, которые получились в результате исследования предметной области.
Это главный постулат DDD.
Стремясь его достигнуть, Evans столкнулся с проблемой, что различные эксперты предметки, имеющие различные интересы и обязанности, один и тот же оригинал моделирования называют разными терминами. Был "покупатель", стал "плательщик", и станет "получателем".
Тогда он понял, что выбор термина зависит от того, какую проблему решает модель. А граница согласованности языка определяет границу модели. Так он открыл Bounded Context.
Потом он понял, что модель - это то, что позволяет гранулировать знание о системе. Это знание нельзя разорвать между командами разработки, т.к. резко подскочит коммуникативная нагрузка между командами. И нельзя смешивать несколько знаний воедино, т.к. нарушится главный посулат модели - упрощение, и возрастет паразитная когнитивная нагрузка. Так он открыл границы автономности команды разработки.
❤15👍9🔥3😁2
Forwarded from Системный сдвиг
Какие вы знаете методы приоритизации? Например, функций продукта или пользовательских историй?
MoSCoW, RICE, модель Кано, value/effort, buy a feature, USM, Weighted Shortest Job First, что ещё бывает?
В целом, это, конечно, многофакторный анализ — то, чему учат на предмете "Системный анализ" в институтах. Чтобы не учитывать много факторов — их схлопывают до 2-4.
Но мне, честно говоря, и этого всегда было много и как-то сложно. Хочется чего-то более легковесного.
Например, просто попарное сравнение функций. Из пары десятков сложно выбрать, но уже из двух-то можно сказать, какая выглядит более важной? И, может быть, даже без строгого анализа, чисто интуитивно. Ну или поставить на групповое обсуждение, тоже интересно.
Вопрос — как перейти от попарного сравнению к упорядоченному списку. И такой метод есть — это рейтинговая система Эло (Elo rating system), которую используют в шахматах для оценки силы игроков.
Идея довольно простая — все начинают с одинакового значения рейтинга, а после каждой "игры" (в нашем случае — выбора из двух) победитель получает прирост рейтинга с учетом рейтинга того, кого он победил.
Почему-то не вижу статей про применение рейтингов Эло для приоритизации, зато есть инструмент, куда можно забить свой бэклог и прогнать приоритизацию https://elo.bytes.zone/ (кстати, там можно всё, что угодно, сравнивать, не только элементы бэклога).
Я попробовал один список загнать, с которым мы группой часа два работали и чуть не переругались — получился ровно тот же результат, причем минут за 5-7.
Попробуйте, очень интересно, что у вас получится?
MoSCoW, RICE, модель Кано, value/effort, buy a feature, USM, Weighted Shortest Job First, что ещё бывает?
В целом, это, конечно, многофакторный анализ — то, чему учат на предмете "Системный анализ" в институтах. Чтобы не учитывать много факторов — их схлопывают до 2-4.
Но мне, честно говоря, и этого всегда было много и как-то сложно. Хочется чего-то более легковесного.
Например, просто попарное сравнение функций. Из пары десятков сложно выбрать, но уже из двух-то можно сказать, какая выглядит более важной? И, может быть, даже без строгого анализа, чисто интуитивно. Ну или поставить на групповое обсуждение, тоже интересно.
Вопрос — как перейти от попарного сравнению к упорядоченному списку. И такой метод есть — это рейтинговая система Эло (Elo rating system), которую используют в шахматах для оценки силы игроков.
Идея довольно простая — все начинают с одинакового значения рейтинга, а после каждой "игры" (в нашем случае — выбора из двух) победитель получает прирост рейтинга с учетом рейтинга того, кого он победил.
Почему-то не вижу статей про применение рейтингов Эло для приоритизации, зато есть инструмент, куда можно забить свой бэклог и прогнать приоритизацию https://elo.bytes.zone/ (кстати, там можно всё, что угодно, сравнивать, не только элементы бэклога).
Я попробовал один список загнать, с которым мы группой часа два работали и чуть не переругались — получился ровно тот же результат, причем минут за 5-7.
Попробуйте, очень интересно, что у вас получится?
👍9🤯4❤1
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Уже не надо подсчитывать. Добавил поддержку Left Standard Deviation, который подсчитывает значение только для незавершенных задач. Исходники там же. Таким образом, в любой момент времени можно сделать сверку фактического срока с запланированным, и проверить…
Говорят, у TaskJuggler есть недостаток в виде высокого порога вхождения, и это уменьшает его популярность.
Я думаю, что это не недостаток, а преимущество, т.к. он автоматически препятствует вмешательству бескомпетентных лиц, что его качественно отличает от Jira.
Я думаю, что это не недостаток, а преимущество, т.к. он автоматически препятствует вмешательству бескомпетентных лиц, что его качественно отличает от Jira.
👍5❤2💯2🔥1
Forwarded from Конференция ArchDays
Ведущий: Сергей Баранов.
Гостем был Влад Хононов, архитектор и автор книг «Learning Domain-Driven Design» и «Balancing Coupling in Software Design». Вебинар посвящён идеям из второй книги.
Это была живая беседа: обсуждали, как найти баланс между связанностью и модульностью, почему связанность не всегда плохо, а иногда помогает сделать систему крепче.
Смотрите видео:
Please open Telegram to view this post
VIEW IN TELEGRAM
VK Видео
Модульность без фанатизма: о чем на самом деле книга Balancing Coupling
Официальный канал ArchDays в Telegram: https://www.tgoop.com/archdays Встречаемся с Владом Хононовым — архитектором и автором книг «Learning Domain-Driven Design» и «Balancing Coupling in Software Design». Именно об идеях из второй книги мы и поговорим. Этот вебинар…
❤4🔥3👍2
Конференция ArchDays
This media is not supported in your browser
VIEW IN TELEGRAM
Когда проигнорировал книгу "Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems" by Vlad Khononov
👍6🔥6😁5
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Когда проигнорировал книгу "Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems" by Vlad Khononov
This media is not supported in your browser
VIEW IN TELEGRAM
Когда прочитал "Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems" by Vlad Khononov
😁23🔥8👍2
cs-boit-06172016-agile-development.pdf
610 KB
How Cisco IT Uses Agile Development with Distributed Teams and Complex Projects Continuous delivery improves quality, developer productivity, and the employee experience.
Источник:
https://www.tgoop.com/nikitapinchuk/470
Источник:
https://www.tgoop.com/nikitapinchuk/470
👍5🔥1🤔1
Forwarded from 401 Unauthorized: аутентификация и не только (Andrey Kuznetsov)
Доклад "Строим единую платформу аутентификации на основе Keycloak" с Saint HighLoad++ 2025 от Виктора Попова
Пост, который хотел написать еще летом, но ведь лучше поздно, чем никогда...
В одном из предыдущих постов про книгу “Cloud Native Data Security with OAuth" я написал, что глава 11 Managing a Cloud Native Authorization Server в ней получилась не самой полезной. Так вот, для улучшения эффекта можно посмотреть доклад с летнего Highload от @ivanovivanivanovich1.
В докладе это явно не проговаривается, но речь будет идти об аутентификации именно внутренних пользователей.
Говорит автор о том, что понимает под платформой и какие ключевые особенности ей характерны:
1️⃣ One size fits most - платформа подходит под большинство ваших задач
2️⃣ Golden path - платформа дает "дорогу из золотого кирпича", по которой должно быть легко и удобно идти
3️⃣ Compliance - пользуясь платформой, вы удовлетворяете требованиям: техническим, информационной безопасности и др.
Рассматриваются следующие варианты реализации платформы аутентификации:
🔵 Пишем свое решение
🔵 SaaS (Auth0, Okta, etc)
🔵 "Экзотический" on-prem: Ory Hydra, ZITADEL, Casdoor
🔵 Keycloak
К какому выбору дальше приходит автор, думаю, пояснять не надо :)
Кстати, Виктор отмечает, что уже полтора года ищет, кто может на митапе рассказать про свой опыт использования Ory Hydra, отмечая малую популярность решения. Я тут частично соглашусь: хоть и есть несколько компаний в РФ, кто использует у себя стек от Ory, ни выступить, ни написать про это почему-то никто не хочет. А жаль.
Далее автор делится своими принципами в использовании Keycloak:
1️⃣ Keycloak использовать только для аутентификации
Кстати, ругает здесь подходы, когда возможность "входа" в то или иное приложение задается на стороне IdP, говоря, что это плохой UX. Интересно, что я сам долгое время был сторонником схожей школы мысли. Однако не так давно переубедил себя: отдельные приложения могут не поддерживать или не хотеть поддерживать гибкие политики аутентификации, и настраивать возможность и правила для входа в приложения можно и в одном месте - на стороне IdP. Так что здесь все не так однозначно.
2️⃣ Пользователи хранятся в AD-каталоге, а не в Keycloak. AD - источник правды
3️⃣ Не используют регистрацию пользователей в Keycloak
4️⃣ Не используют SAML
Здесь также говорится о том, что SAML - "небезопасный протокол", с чем не могу согласиться, это не так.
5️⃣ Конфигурация управляется 100% as a code
Рассказывает о том, как для себя подошли к решению задачи high availability (HA): размещают поды с KK в 3 AZ, при этом для базы используют растянутый кластер Patroni + PostgreSQL, где мастер находится только в одной из AZ. Но отмечает применимость такого подхода только при близкорасположенных ДЦ, чтобы не было больших задержек при репликации. Ну и логично, что воспринимается такая инсталляция как локальная, а не гео-распределенная. То есть фокус, полагаю, на отказоустойчивости внутри одного региона.
Деплоят в K8s, для реализации IaC используют Pulumi, чего докладчик и всем советует.
Еще понравилась мысль про стандартизацию использования: описание стандартных архитектур для потребителей, включая ограничения платформы, чтобы было понятно, как надежно и безопасно вас использовать.
#video #iam_general
Пост, который хотел написать еще летом, но ведь лучше поздно, чем никогда...
В одном из предыдущих постов про книгу “Cloud Native Data Security with OAuth" я написал, что глава 11 Managing a Cloud Native Authorization Server в ней получилась не самой полезной. Так вот, для улучшения эффекта можно посмотреть доклад с летнего Highload от @ivanovivanivanovich1.
В докладе это явно не проговаривается, но речь будет идти об аутентификации именно внутренних пользователей.
Говорит автор о том, что понимает под платформой и какие ключевые особенности ей характерны:
Рассматриваются следующие варианты реализации платформы аутентификации:
К какому выбору дальше приходит автор, думаю, пояснять не надо :)
Кстати, Виктор отмечает, что уже полтора года ищет, кто может на митапе рассказать про свой опыт использования Ory Hydra, отмечая малую популярность решения. Я тут частично соглашусь: хоть и есть несколько компаний в РФ, кто использует у себя стек от Ory, ни выступить, ни написать про это почему-то никто не хочет. А жаль.
Далее автор делится своими принципами в использовании Keycloak:
Кстати, ругает здесь подходы, когда возможность "входа" в то или иное приложение задается на стороне IdP, говоря, что это плохой UX. Интересно, что я сам долгое время был сторонником схожей школы мысли. Однако не так давно переубедил себя: отдельные приложения могут не поддерживать или не хотеть поддерживать гибкие политики аутентификации, и настраивать возможность и правила для входа в приложения можно и в одном месте - на стороне IdP. Так что здесь все не так однозначно.
Здесь также говорится о том, что SAML - "небезопасный протокол", с чем не могу согласиться, это не так.
Рассказывает о том, как для себя подошли к решению задачи high availability (HA): размещают поды с KK в 3 AZ, при этом для базы используют растянутый кластер Patroni + PostgreSQL, где мастер находится только в одной из AZ. Но отмечает применимость такого подхода только при близкорасположенных ДЦ, чтобы не было больших задержек при репликации. Ну и логично, что воспринимается такая инсталляция как локальная, а не гео-распределенная. То есть фокус, полагаю, на отказоустойчивости внутри одного региона.
Деплоят в K8s, для реализации IaC используют Pulumi, чего докладчик и всем советует.
Еще понравилась мысль про стандартизацию использования: описание стандартных архитектур для потребителей, включая ограничения платформы, чтобы было понятно, как надежно и безопасно вас использовать.
#video #iam_general
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Строим единую платформу аутентификации на основе Keycloak / Виктор Попов
Профессиональная конференция разработчиков высоконагруженных систем Saint HighLoad++ 2025
Презентация и тезисы:
https://highload.ru/spb/2025/abstracts/15402
В этом докладе я расскажу, как мы построили единую платформу аутентификации для группы компаний.…
Презентация и тезисы:
https://highload.ru/spb/2025/abstracts/15402
В этом докладе я расскажу, как мы построили единую платформу аутентификации для группы компаний.…
❤1👍1
Forwarded from 401 Unauthorized: аутентификация и не только (Andrey Kuznetsov)
Про термины authorization request/response и token request/response
Вы, вероятно, уже встречали упоминание подобных терминов в контексте OAuth/OIDC, по крайней мере автор данного канала активно их использует. Здесь как раз разберемся, зачем они нужны и что подразумевают.
Начнем с того, что RFC 6749 вводит понятия Authorization Endpoint и Token Endpoint.
Обычно выглядит как что-то вроде
Соответственно, запросы к этим эндпоинтам и называют Authorization Request и Token Request.
Authorization Request - это HTTP-запрос к Authorization Endpoint, являющийся первым шагом в основных grant flows. То есть это запрос, с помощью которого resource owner предоставляет авторизацию (разрешение) OAuth client для доступа к ресурсам от его лица.
Token Request - это HTTP-запрос к Token Endpoint, который служит для получения токенов, таких как access token, refresh token, ID token.
А ответы на данные запросы в соответствие так и называются: Authorization Response и Token Response.
И все было хорошо, поканарод огня не развязал войну ребята из OpenID Foundation не написали спецификацию OIDC. Где ввели ещё и понятие Authentication Request... Вот формальное определение оттуда:
Стало понятнее, да ведь? То есть предлагается выделить Authorization Request обладающий рядом параметров, в отдельный термин. Увы, это только внесло большую путаницу. Вы можете сами поискать по тексту спецификации эти два понятия и попробовать понять, почему в каждом месте использовано именно такое.
Поэтому я лично вообще стараюсь отдельно этот термин не использовать и ограничиваюсь везде понятием Authorization request.
С понятийной частью, вроде, разобрались, осталось выяснить, зачем вообще уделять такое внимание этим определениям. Может, это буквоедство и лишнее усложнение?
На самом деле, смысл в их использовании есть. Когда мы описываем какое-либо поведение, нам часто так или иначе нужно упоминать эти запросы и ответы на них. Внутри команд, работающих с аутентификацией, часто можно встретить подход, где оперируют названиями конкретных эндпоинтов. Правда это не всегда может быть удобно в устной речи.
Куда более интересно становится, когда мы хотим описать некоторую общую логику, не привязываясь при этом к использованию конкретного IAM-решения. И желательно, чтобы нас поняли люди, работающие хоть с Keycloak, хоть с ZITADEL, хоть с самописными реализациями. И у всех этих конкретных решений названия данных эндпоинтов могут отличаться.
Таким образом, используя подобные универсальные термины, мы можем говорить без привязки к конкретной технологии, но при этом оставляя возможность быть понятыми верно и однозначно.
Так что пост написан с целью пропаганды использования таких терминов, что, надеюсь, поможет всем нам лучше понимать друг друга и проще вести дискуссии на профессиональные темы⛔️
#oauth
Вы, вероятно, уже встречали упоминание подобных терминов в контексте OAuth/OIDC, по крайней мере автор данного канала активно их использует. Здесь как раз разберемся, зачем они нужны и что подразумевают.
Начнем с того, что RFC 6749 вводит понятия Authorization Endpoint и Token Endpoint.
Authorization endpoint - used by the client to obtain authorization from the resource owner via user-agent redirection.
Обычно выглядит как что-то вроде
.../auth или .../authorize.Token endpoint - used by the client to exchange an authorization grant for an access token, typically with client authentication.На самом деле, возвращаться может не только access token, но об этом далее. Представляет собой нечто вроде
.../token.Соответственно, запросы к этим эндпоинтам и называют Authorization Request и Token Request.
Authorization Request - это HTTP-запрос к Authorization Endpoint, являющийся первым шагом в основных grant flows. То есть это запрос, с помощью которого resource owner предоставляет авторизацию (разрешение) OAuth client для доступа к ресурсам от его лица.
Token Request - это HTTP-запрос к Token Endpoint, который служит для получения токенов, таких как access token, refresh token, ID token.
А ответы на данные запросы в соответствие так и называются: Authorization Response и Token Response.
И все было хорошо, пока
Authentication Request - OAuth 2.0 Authorization Request using extension parameters and scopes defined by OpenID Connect to request that the End-User be authenticated by the Authorization Server, which is an OpenID Connect Provider, to the Client, which is an OpenID Connect Relying Party.
Стало понятнее, да ведь? То есть предлагается выделить Authorization Request обладающий рядом параметров, в отдельный термин. Увы, это только внесло большую путаницу. Вы можете сами поискать по тексту спецификации эти два понятия и попробовать понять, почему в каждом месте использовано именно такое.
Поэтому я лично вообще стараюсь отдельно этот термин не использовать и ограничиваюсь везде понятием Authorization request.
С понятийной частью, вроде, разобрались, осталось выяснить, зачем вообще уделять такое внимание этим определениям. Может, это буквоедство и лишнее усложнение?
На самом деле, смысл в их использовании есть. Когда мы описываем какое-либо поведение, нам часто так или иначе нужно упоминать эти запросы и ответы на них. Внутри команд, работающих с аутентификацией, часто можно встретить подход, где оперируют названиями конкретных эндпоинтов. Правда это не всегда может быть удобно в устной речи.
Куда более интересно становится, когда мы хотим описать некоторую общую логику, не привязываясь при этом к использованию конкретного IAM-решения. И желательно, чтобы нас поняли люди, работающие хоть с Keycloak, хоть с ZITADEL, хоть с самописными реализациями. И у всех этих конкретных решений названия данных эндпоинтов могут отличаться.
Таким образом, используя подобные универсальные термины, мы можем говорить без привязки к конкретной технологии, но при этом оставляя возможность быть понятыми верно и однозначно.
Так что пост написан с целью пропаганды использования таких терминов, что, надеюсь, поможет всем нам лучше понимать друг друга и проще вести дискуссии на профессиональные темы
#oauth
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 401 Unauthorized: аутентификация и не только (Andrey Kuznetsov)
Гора родила мышь, а я наконец родил статью на основе материала, про который рассказывал весной на PHDays 2025 и CodeFest 15.
https://habr.com/ru/articles/872918/
#api #oauth #my_publication
https://habr.com/ru/articles/872918/
#api #oauth #my_publication
Хабр
Токены доступа и API Gateway: как обеспечить безопасность запросов
Распределенные системы (aka микросервисы) набрали популярность и применяются все шире в современных реалиях. Сервисов становится больше, привычные задачи для них решаются сложнее, усложнились и...
👍4❤1
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Умеет человек быть на гребне волны. Думаю, что эта репа будет пользоваться популярностью (сегодня там смотреть пока что нечего, но подписаться стоит): https://github.com/ddd-crew/ai-ddd-prompts-and-rules
Я же говорил, что Nick Tune не упустит эту тему.
"Composable Claude Code System Prompts"
Stories by Nick Tune on MediumNovember 19, 2025
Копия:
https://telegra.ph/Composable-Claude-Code-System-Prompts-11-19
Skills by Nick Tune for Claude:
https://github.com/NTCoding/claude-skillz
#DDD #LLM #AI
"Composable Claude Code System Prompts"
Stories by Nick Tune on MediumNovember 19, 2025
Копия:
https://telegra.ph/Composable-Claude-Code-System-Prompts-11-19
Skills by Nick Tune for Claude:
https://github.com/NTCoding/claude-skillz
#DDD #LLM #AI
Medium
Composable Claude Code System Prompts
Each time I improve my workflow with Claude Code I hit the next source of friction which needs improving. At the moment, I’m starting to…
👍4❤1🔥1
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Я же говорил, что Nick Tune не упустит эту тему. "Composable Claude Code System Prompts" Stories by Nick Tune on MediumNovember 19, 2025 Копия: https://telegra.ph/Composable-Claude-Code-System-Prompts-11-19 Skills by Nick Tune for Claude: https://githu…
Узнал благодаря RSS-bot в чате @ru_arc_chat. Кстати, это единственный (за редким исключением) чат, в котором я обычно общаюсь на профессиональные темы. Добавляйтесь.
Telegram
RSS to Telegram Bot in RASA Chat
Composable Claude Code System Prompts
via Stories by Nick Tune on Medium
via Stories by Nick Tune on Medium
👍1🙏1😐1
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Каким бы грамотным не был специалист, он ограничен собственными ресурсами времени. Чтобы снять это ограничение на ресурсы, он ему нужно учиться влиять на других, а для этого нужно взрастить в себе лидерские амбиции. Технический специалист борется со сложностью.…
О микроменеджменте. У сильного руководителя дела идут хорошо, бизнес растёт, штат растёт. Его орбита постоянно повышается, и ему постоянно нужны люди, на которых можно опереться при росте. Он не может себе позволить стать незаменимым "узким горлышком". Ему нужно, чтоб его люди учились самоорганизации, реализовывались, пробовали, тренировались, ошибались, быстрее проходили ошибки и набирались опыта. Ничто так не мотивирует персонал, как возможность самореализации.
Другое дело у слабых руководителей. Они не ожидают роста, боятся сокращения бизнеса и штата, боятся личной конкуренции, зубами вцепляются в свое кресло, замыкают все процессы на себя, делают себя незаменимым, и распускают свои щупальца микроменеджмена везде. Это обычное проявление психологической защиты, причина которой - страх.
А хороший лидер, как мы знаем, должен внушать спокойствие своим подчиненным.
Другое дело у слабых руководителей. Они не ожидают роста, боятся сокращения бизнеса и штата, боятся личной конкуренции, зубами вцепляются в свое кресло, замыкают все процессы на себя, делают себя незаменимым, и распускают свои щупальца микроменеджмена везде. Это обычное проявление психологической защиты, причина которой - страх.
А хороший лидер, как мы знаем, должен внушать спокойствие своим подчиненным.
🔥9💯5👍3❤1
