REST vs gRPC vs GraphQL в проектировании систем
(продолжение предыдущего поста)
REST (Representational State Transfer — передача репрезентативного состояния)
* Определение: Архитектурный стиль, использующий методы HTTP (GET, POST, PUT, DELETE) для коммуникации
* Формат данных: Обычно JSON
* Преимущества: Простота, широкое распространение, лёгкая отладка с помощью инструментов браузера
* Недостатки: Необходимость множества запросов для связанных данных, проблемы с избыточным или недостаточным получением данных
* Области применения: Веб- и мобильные API, приложения CRUD, публичные API
gRPC (Google Remote Procedure Call — удалённый вызов процедур Google)
* Определение: Высокопроизводительная платформа, использующая HTTP/2 и Protocol Buffers (бинарный формат)
* Преимущества: Быстрая коммуникация, поддержка потоковой передачи, строго типизированные контракты через .proto файлы
* Недостатки: Сложность отладки, необходимость генерации клиентского кода, меньшая совместимость с браузером
* Области применения: Коммуникация между микросервисами, системы реального времени, внутренние API
GraphQL
* Определение: Язык запросов, позволяющий клиентам запрашивать именно те данные, которые им нужны
* Преимущества: Избежание избыточного получения данных, единая точка входа для всех запросов, гибкость для фронтенд-разработчиков
* Недостатки: Сложная реализация на стороне сервера, усложнение кэширования, возможное снижение производительности для больших запросов
* Области применения: Приложения с интенсивным фронтендом, динамические пользовательские интерфейсы, системы, требующие гибкого получения данных
### Ключевые различия
* REST = основанный на ресурсах | gRPC = основанный на процедурах | GraphQL = основанный на запросах
* REST использует JSON через HTTP/1.1 | gRPC использует Protocol Buffers через HTTP/2 | GraphQL использует единую точку входа через HTTP
* REST = простой и универсальный | gRPC = высокопроизводительный | GraphQL = гибкий и ориентированный на клиента
* REST лучше подходит для публичных API | gRPC лучше для внутренних микросервисов | GraphQL лучше для сложных фронтендов
### Реальные примеры использования
* REST: API Twitter и GitHub следуют принципам REST для стандартных веб-интеграций
* gRPC: Google и Netflix используют gRPC для внутренней коммуникации между микросервисами благодаря скорости и эффективности
* GraphQL: Shopify и GitHub используют GraphQL, чтобы предоставить клиентам контроль над получением данных
(продолжение предыдущего поста)
REST (Representational State Transfer — передача репрезентативного состояния)
* Определение: Архитектурный стиль, использующий методы HTTP (GET, POST, PUT, DELETE) для коммуникации
* Формат данных: Обычно JSON
* Преимущества: Простота, широкое распространение, лёгкая отладка с помощью инструментов браузера
* Недостатки: Необходимость множества запросов для связанных данных, проблемы с избыточным или недостаточным получением данных
* Области применения: Веб- и мобильные API, приложения CRUD, публичные API
gRPC (Google Remote Procedure Call — удалённый вызов процедур Google)
* Определение: Высокопроизводительная платформа, использующая HTTP/2 и Protocol Buffers (бинарный формат)
* Преимущества: Быстрая коммуникация, поддержка потоковой передачи, строго типизированные контракты через .proto файлы
* Недостатки: Сложность отладки, необходимость генерации клиентского кода, меньшая совместимость с браузером
* Области применения: Коммуникация между микросервисами, системы реального времени, внутренние API
GraphQL
* Определение: Язык запросов, позволяющий клиентам запрашивать именно те данные, которые им нужны
* Преимущества: Избежание избыточного получения данных, единая точка входа для всех запросов, гибкость для фронтенд-разработчиков
* Недостатки: Сложная реализация на стороне сервера, усложнение кэширования, возможное снижение производительности для больших запросов
* Области применения: Приложения с интенсивным фронтендом, динамические пользовательские интерфейсы, системы, требующие гибкого получения данных
### Ключевые различия
* REST = основанный на ресурсах | gRPC = основанный на процедурах | GraphQL = основанный на запросах
* REST использует JSON через HTTP/1.1 | gRPC использует Protocol Buffers через HTTP/2 | GraphQL использует единую точку входа через HTTP
* REST = простой и универсальный | gRPC = высокопроизводительный | GraphQL = гибкий и ориентированный на клиента
* REST лучше подходит для публичных API | gRPC лучше для внутренних микросервисов | GraphQL лучше для сложных фронтендов
### Реальные примеры использования
* REST: API Twitter и GitHub следуют принципам REST для стандартных веб-интеграций
* gRPC: Google и Netflix используют gRPC для внутренней коммуникации между микросервисами благодаря скорости и эффективности
* GraphQL: Shopify и GitHub используют GraphQL, чтобы предоставить клиентам контроль над получением данных
Telegram
METANIT.COM
REST vs gRPC vs GraphQL в проектировании систем
(продолжение в следующем посте)
(продолжение в следующем посте)
🔥7❤6👏1
Крик души про корпоративную разработку на .NET:
(перевод картинки из предыдущего поста)
(перевод картинки из предыдущего поста)
Скрытые издержки корпоративной архитектуры .NET:
Ад отладки.
Я провёл более 13 лет, работая с кодовыми базами .NET, и постоянно наблюдаю одну и ту же картину:
Команды создают абстракции уровня крепости для проблем, которых у них нет.
IUserService вызывает IUserRepository.
IUserRepository оборачивает IUserDataAccess.
IUserDataAccess вызывает IUserQueryBuilder.
IUserQueryBuilder наконец-то обращается к базе данных.
Чтобы изменить одно правило валидации, вам нужно пройти через 5 уровней.
Чтобы исправить баг, вам нужно открыть 7 файлов.
Оправдания всегда одни и те же:
«А что, если нам нужно будет заменить Entity Framework?»
«А что, если мы сменим базу данных?»
«А что, если нам понадобятся несколько реализаций?»
Что если то, что если это.
Реальность:
Эти «что если» не сбываются в 99% случаев.
Я не видел ни одного проекта, который сменил бы свой ORM.
Но я видел десятки разработчиков, которые тратили часы на навигацию по лабиринтам абстракций.
Новые разработчики не понимают, куда поместить новый фрагмент функциональности.
Старшие разработчики отлаживают код, который имеет больше уровней, чем свадебный торт.
Конечный результат?
Вы тратите больше времени на навигацию, чем на создание.
Послушайте, хорошие абстракции скрывают сложность.
Плохие абстракции создают её.
Большинство корпоративных приложений .NET имеют слишком много второго типа.
Telegram
METANIT.COM
Крик души про корпоративную разработку на .NET
(перевод в следующем посте)
(перевод в следующем посте)
🔥50😱9😢6👍4❤1👎1💯1
В журнале Spectator вышла большая статья про влияние ИИ на занятость и вообще на общество под названием "The AI Employment Apocalypse Is Only a Few Years Away"
("Апокалипсис в сфере занятости, вызванный искусственным интеллектом, наступит уже через несколько лет")
Ссылка на статью: https://spectator.org/the-ai-employment-apocalypse-is-only-a-few-years-away/
Некоторые моменты:
"одна опасность ИИ нависает над всеми остальными, и мы к ней совершенно не готовы: грядущая волна безработицы, вызванная ИИ, которая, вероятно, обрушится в ближайшие несколько лет."
"ИИ упростил сложную работу...Проверка документов стала бесконечно менее трудоёмкой благодаря ИИ...исследования, которые раньше отнимали много часов, тратя много времени на тупиковые пути, теперь часто занимают лишь малую часть этого времени...Благодаря всем этим возможностям ИИ многие задачи, которые раньше занимали пять часов, теперь выполняются за один или два. Темпы прогресса с 2022 года были невероятными."
"Возьмите любую отрасль, связанную с «белыми воротничками»: бухгалтерский учёт, журналистику, финансы, программную инженерию, маркетинг, образование, научные исследования, обслуживание клиентов, коммуникации и так далее. Нас ждёт такой же хаос на рынке труда во всех этих областях. Те, кто только начинает свою карьеру и не может предложить практически ничего, пострадают сильнее всего, но даже те, кто занимает более высокие должности, не застрахованы."
"аккредитованные специалисты в области знаний, те, кто ранее считал себя наименее подверженными экономическим потрясениям, первыми пострадают от набирающей обороты волны ИИ. Но это лишь вопрос времени для других отраслей, где преобладает квалифицированный или неквалифицированный ручной труд."
"ИИ уже превосходит многих врачей...увольнение большинства врачей не за горами"
"Какие профессии останутся после того, как грянет апокалипсис занятости? Возможно, очень престижные, те, кто находится на вершине нашей иерархии. Работы, связанные с изготовлением ручных, ремесленных, эклектичных диковинок. Работы, в которых присутствует существенная творческая составляющая. Но качественный скачок в этой области, вероятно, вопрос (не слишком большого) времени."
"В любом случае, всего через несколько лет наше разнообразное современное рабочее место будет уничтожено, и лишь горстка высококвалифицированных экспертов или руководителей ИИ будет делать то, что сейчас делает большая часть нашего взрослого населения"
Почему новые технологии, подобно прошлым промышленным революциям, не откроют новые рабочие места:
"мы достигли предела наших образовательных возможностей. С падением оценок по математике, снижением способности читать сложные тексты и даже снижением IQ мы, похоже, не способны усваивать больше знаний, не говоря уже об абсурдности необходимости тратить ещё больше лет, влезая в долги, прежде чем наконец выйти на рынок труда в возрасте около 30 лет."
О трендах:
"Недавнее исследование Стэнфордского университета отметило 13-процентное снижение занятости среди молодых специалистов в технологическом секторе, причём наиболее резкое снижение — как и следовало ожидать, если бы причиной был ИИ — наблюдалось среди сотрудников начального уровня."
"Goldman Sachs подсчитал, что премия за высшее образование снижается… Bank of America Global Research отмечает, что с 2022 года уровень безработицы среди недавних выпускников впервые за последнее время начал превышать общий уровень безработицы."
О соц последствиях:
"Помимо сурового факта массовой безработицы, первым последствием станет колоссальное неравенство. Неравенство доходов уже резко возросло с 1970-х годов, но после того, как ИИ лишит большинство из нас работы, лишь немногие высокооплачиваемые владельцы и элитные работники смогут получать огромную прибыль от компаний, которым, по сути, больше не нужно платить зарплату."
("Апокалипсис в сфере занятости, вызванный искусственным интеллектом, наступит уже через несколько лет")
Ссылка на статью: https://spectator.org/the-ai-employment-apocalypse-is-only-a-few-years-away/
Некоторые моменты:
"одна опасность ИИ нависает над всеми остальными, и мы к ней совершенно не готовы: грядущая волна безработицы, вызванная ИИ, которая, вероятно, обрушится в ближайшие несколько лет."
"ИИ упростил сложную работу...Проверка документов стала бесконечно менее трудоёмкой благодаря ИИ...исследования, которые раньше отнимали много часов, тратя много времени на тупиковые пути, теперь часто занимают лишь малую часть этого времени...Благодаря всем этим возможностям ИИ многие задачи, которые раньше занимали пять часов, теперь выполняются за один или два. Темпы прогресса с 2022 года были невероятными."
"Возьмите любую отрасль, связанную с «белыми воротничками»: бухгалтерский учёт, журналистику, финансы, программную инженерию, маркетинг, образование, научные исследования, обслуживание клиентов, коммуникации и так далее. Нас ждёт такой же хаос на рынке труда во всех этих областях. Те, кто только начинает свою карьеру и не может предложить практически ничего, пострадают сильнее всего, но даже те, кто занимает более высокие должности, не застрахованы."
"аккредитованные специалисты в области знаний, те, кто ранее считал себя наименее подверженными экономическим потрясениям, первыми пострадают от набирающей обороты волны ИИ. Но это лишь вопрос времени для других отраслей, где преобладает квалифицированный или неквалифицированный ручной труд."
"ИИ уже превосходит многих врачей...увольнение большинства врачей не за горами"
"Какие профессии останутся после того, как грянет апокалипсис занятости? Возможно, очень престижные, те, кто находится на вершине нашей иерархии. Работы, связанные с изготовлением ручных, ремесленных, эклектичных диковинок. Работы, в которых присутствует существенная творческая составляющая. Но качественный скачок в этой области, вероятно, вопрос (не слишком большого) времени."
"В любом случае, всего через несколько лет наше разнообразное современное рабочее место будет уничтожено, и лишь горстка высококвалифицированных экспертов или руководителей ИИ будет делать то, что сейчас делает большая часть нашего взрослого населения"
Почему новые технологии, подобно прошлым промышленным революциям, не откроют новые рабочие места:
"мы достигли предела наших образовательных возможностей. С падением оценок по математике, снижением способности читать сложные тексты и даже снижением IQ мы, похоже, не способны усваивать больше знаний, не говоря уже об абсурдности необходимости тратить ещё больше лет, влезая в долги, прежде чем наконец выйти на рынок труда в возрасте около 30 лет."
О трендах:
"Недавнее исследование Стэнфордского университета отметило 13-процентное снижение занятости среди молодых специалистов в технологическом секторе, причём наиболее резкое снижение — как и следовало ожидать, если бы причиной был ИИ — наблюдалось среди сотрудников начального уровня."
"Goldman Sachs подсчитал, что премия за высшее образование снижается… Bank of America Global Research отмечает, что с 2022 года уровень безработицы среди недавних выпускников впервые за последнее время начал превышать общий уровень безработицы."
О соц последствиях:
"Помимо сурового факта массовой безработицы, первым последствием станет колоссальное неравенство. Неравенство доходов уже резко возросло с 1970-х годов, но после того, как ИИ лишит большинство из нас работы, лишь немногие высокооплачиваемые владельцы и элитные работники смогут получать огромную прибыль от компаний, которым, по сути, больше не нужно платить зарплату."
The American Spectator
The AI Employment Apocalypse Is Only a Few Years Away
Since ChatGPT’s paradigm-shifting debut in November 2022, writers and thinkers of all stripes have touted the virtues and lamented the dangers of A.I. Such dangers include A.I.’s disastrous effect on education and on creativity, its potential to enable ordinary…
🤔11😁7🤡6🤯4😢4🤬3🥴2👎1😱1🤣1
Как работает SSO (единый вход в систему)
(продолжение предыдущего поста)
SSO можно представить как главный ключ, открывающий все разные замки. Эта технология позволяет пользователю входить в различные системы, используя единый набор учётных данных.
Чтобы полностью понять процесс SSO, рассмотрим, как пользователь входит в LinkedIn с помощью Google в качестве поставщика удостоверений:
1. Запрос на доступ
Сначала пользователь пытается получить доступ к поставщику услуг (LinkedIn). На этом этапе ему предлагаются варианты входа в систему, и в нашем примере он выбирает «Войти через Google».
2. Запрос на аутентификацию
Поставщик услуг (LinkedIn) перенаправляет пользователя к поставщику удостоверений (Google) с запросом на аутентификацию.
3. Проверка активной сессии
Получив запрос, поставщик удостоверений (Google) проверяет наличие активной сессии. Если она не найдена, запрашивается аутентификация.
4. Пользователь отправляет учётные данные
На этом этапе пользователь отправляет свои учётные данные (имя пользователя и пароль) поставщику удостоверений (IdP).
5. Проверка учётных данных
Поставщик удостоверений сверяет предоставленные учётные данные со своим каталогом пользователей (базой данных). Если учётные данные верны, IdP создаёт токен аутентификации или подтверждение.
6. Поставщик удостоверений отправляет токен поставщику услуг
После создания токена или подтверждения IdP отправляет его обратно поставщику услуг, подтверждая личность пользователя. Теперь пользователь аутентифицирован и может получить доступ к поставщику услуг (LinkedIn).
7. Доступ предоставлен с использованием существующей сессии
Поскольку поставщик удостоверений установил сессию, когда пользователь обращается к другому поставщику услуг (например, GitHub), ему не нужно повторно вводить свои учётные данные. Будущие поставщики услуг будут запрашивать аутентификацию у поставщика удостоверений, распознавать существующую сессию и предоставлять пользователю доступ на основе ранее подтверждённой сессии.
Рабочие процессы SSO, подобные описанному выше, работают на протоколах SSO — наборе правил, которые регулируют взаимодействие и доверие между IdP и SP. Распространённые протоколы включают язык разметки утверждений безопасности (SAML), OpenID Connect и OAuth.
(продолжение предыдущего поста)
SSO можно представить как главный ключ, открывающий все разные замки. Эта технология позволяет пользователю входить в различные системы, используя единый набор учётных данных.
Чтобы полностью понять процесс SSO, рассмотрим, как пользователь входит в LinkedIn с помощью Google в качестве поставщика удостоверений:
1. Запрос на доступ
Сначала пользователь пытается получить доступ к поставщику услуг (LinkedIn). На этом этапе ему предлагаются варианты входа в систему, и в нашем примере он выбирает «Войти через Google».
2. Запрос на аутентификацию
Поставщик услуг (LinkedIn) перенаправляет пользователя к поставщику удостоверений (Google) с запросом на аутентификацию.
3. Проверка активной сессии
Получив запрос, поставщик удостоверений (Google) проверяет наличие активной сессии. Если она не найдена, запрашивается аутентификация.
4. Пользователь отправляет учётные данные
На этом этапе пользователь отправляет свои учётные данные (имя пользователя и пароль) поставщику удостоверений (IdP).
5. Проверка учётных данных
Поставщик удостоверений сверяет предоставленные учётные данные со своим каталогом пользователей (базой данных). Если учётные данные верны, IdP создаёт токен аутентификации или подтверждение.
6. Поставщик удостоверений отправляет токен поставщику услуг
После создания токена или подтверждения IdP отправляет его обратно поставщику услуг, подтверждая личность пользователя. Теперь пользователь аутентифицирован и может получить доступ к поставщику услуг (LinkedIn).
7. Доступ предоставлен с использованием существующей сессии
Поскольку поставщик удостоверений установил сессию, когда пользователь обращается к другому поставщику услуг (например, GitHub), ему не нужно повторно вводить свои учётные данные. Будущие поставщики услуг будут запрашивать аутентификацию у поставщика удостоверений, распознавать существующую сессию и предоставлять пользователю доступ на основе ранее подтверждённой сессии.
Рабочие процессы SSO, подобные описанному выше, работают на протоколах SSO — наборе правил, которые регулируют взаимодействие и доверие между IdP и SP. Распространённые протоколы включают язык разметки утверждений безопасности (SAML), OpenID Connect и OAuth.
Telegram
METANIT.COM
Как работает SSO (единый вход в систему)
(продолжение в следующем посте)
(продолжение в следующем посте)
❤6👍4👏1
Краткий совет по Linux:
Команда diff — полезный инструмент для поиска различий между файлами в терминале Linux. Однако icdiff предлагает ещё более удобное сравнение с цветным выводом.
На выходе оба файла будут отображены рядом, а все различия будут выделены красным и зеленым цветом, что позволит легко обнаружить разницу.
Команда diff — полезный инструмент для поиска различий между файлами в терминале Linux. Однако icdiff предлагает ещё более удобное сравнение с цветным выводом.
$ icdiff config-dev.ini config-prod.ini
На выходе оба файла будут отображены рядом, а все различия будут выделены красным и зеленым цветом, что позволит легко обнаружить разницу.
👍20❤🔥5🤩2❤1👏1🖕1
This media is not supported in your browser
VIEW IN TELEGRAM
Умножение матриц для чайников
👍43👀10❤🔥5🤣3❤2🤮1💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Задача трёх тел предполагает прогнозирование движения трёх объектов (например, планет), взаимодействующих посредством гравитации. В отличие от решаемой задачи двух тел, она, как правило, хаотична.
В 1890 году Анри Пуанкаре доказал, что не существует общего замкнутого решения («равномерный первый интеграл») и что результаты крайне чувствительны к начальным условиям: малейшие изменения приводят к большим различиям, лежащим в основе теории хаоса.
Однако существуют определённые устойчивые периодические орбиты, например, траектории в форме восьмёрки. Видео демонстрирует различные подобные симметричные повторяющиеся траектории, обнаруженные с помощью моделирования.
В 1890 году Анри Пуанкаре доказал, что не существует общего замкнутого решения («равномерный первый интеграл») и что результаты крайне чувствительны к начальным условиям: малейшие изменения приводят к большим различиям, лежащим в основе теории хаоса.
Однако существуют определённые устойчивые периодические орбиты, например, траектории в форме восьмёрки. Видео демонстрирует различные подобные симметричные повторяющиеся траектории, обнаруженные с помощью моделирования.
🤔27🔥17✍11👀5❤1👍1🤣1🤓1
Microsoft с 14 октября прекращает поддержку Windows 10 - системы, которая в 2015 году преподносилась Майкрософтом как последняя ОС. Пользователям Майкрософт рекомендует обновить операционную систему до Windows 11, говорится в сообщении компании.
Это означает, что со вторника обновления программного обеспечения и системы безопасности, как и техническая поддержка, больше не будут предоставляться. Хотя Windows 10 не перестанет работать, но компьютеры с этой версией ОС без дальнейших обновлений ПО и системы безопасности стану более уязвимы к заражению вирусами и вредоносными программами.
https://support.microsoft.com/en-us/windows/windows-10-support-ends-on-october-14-2025-2ca8b313-1946-43d3-b55c-2b95b107f281
Тем временем согласно опросу, проведенному в канале группы, большинство выразили желанение остаться на Windows 10
Это означает, что со вторника обновления программного обеспечения и системы безопасности, как и техническая поддержка, больше не будут предоставляться. Хотя Windows 10 не перестанет работать, но компьютеры с этой версией ОС без дальнейших обновлений ПО и системы безопасности стану более уязвимы к заражению вирусами и вредоносными программами.
https://support.microsoft.com/en-us/windows/windows-10-support-ends-on-october-14-2025-2ca8b313-1946-43d3-b55c-2b95b107f281
Тем временем согласно опросу, проведенному в канале группы, большинство выразили желанение остаться на Windows 10
🕊16😁9🔥8😢3❤2
Чем больше учёные работают с ИИ, тем меньше они ему доверяют
В отчёте за 2025 год о влиянии технологий на науку издатель Wiley обнародовал первые данные об отношении к ИИ: отчёт показал, что в 2025 году, несмотря на все развитие ИИ, учёные меньше доверяют ИИ, чем в 2024 году.
Так, в опросе 2024 года 51% опрошенных учёных беспокоились о потенциальных «галлюцинациях» — широко распространённой проблеме, когда большие языковые модели выдают полностью сфабрикованную информацию за правду. В 2025 году это число выросло до внушительных 64%, даже несмотря на то, что использование ИИ среди исследователей подскочило с 45% до 62%.
Беспокойство по поводу безопасности и конфиденциальности выросло на 11% по сравнению с прошлым годом, а опасения, связанные с этичностью ИИ и прозрачностью, также увеличились.
Кроме того, в 2024 году учёные заявляли, что верят в то, что ИИ уже превосходит человеческие способности более чем в половине всех случаев использования. В 2025 году эта вера рухнула, упав до менее чем трети опрошенных.
https://www.wiley.com/content/wiley-com/na/us/en/about-us/ai-resources/ai-study.html
В отчёте за 2025 год о влиянии технологий на науку издатель Wiley обнародовал первые данные об отношении к ИИ: отчёт показал, что в 2025 году, несмотря на все развитие ИИ, учёные меньше доверяют ИИ, чем в 2024 году.
Так, в опросе 2024 года 51% опрошенных учёных беспокоились о потенциальных «галлюцинациях» — широко распространённой проблеме, когда большие языковые модели выдают полностью сфабрикованную информацию за правду. В 2025 году это число выросло до внушительных 64%, даже несмотря на то, что использование ИИ среди исследователей подскочило с 45% до 62%.
Беспокойство по поводу безопасности и конфиденциальности выросло на 11% по сравнению с прошлым годом, а опасения, связанные с этичностью ИИ и прозрачностью, также увеличились.
Кроме того, в 2024 году учёные заявляли, что верят в то, что ИИ уже превосходит человеческие способности более чем в половине всех случаев использования. В 2025 году эта вера рухнула, упав до менее чем трети опрошенных.
https://www.wiley.com/content/wiley-com/na/us/en/about-us/ai-resources/ai-study.html
Wiley
ExplanAItions: an artificial intelligence study by Wiley
Discover ExplanAItions, Wiley's groundbreaking study on artificial intelligence, exploring its impact, applications, and future trends in technology.
😁18👍7🤔6❤1
Как работает Apache Kafka
Apache Kafka появилась как решение проблемы. Инженеры LinkedIn столкнулись с трудностями при отслеживании метрик веб-сайта, потоков активности и других операционных данных.
Команда инженеров под руководством Джея Крепса (Jay Kreps), Нехи Наркхеде (Neha Narkhede) и Джун Рао (Jun Rao) начала разработку распределённой системы обмена сообщениями по принципу «публикация-подписка», способной обрабатывать потоки данных с высокой пропускной способностью и низкой задержкой.
Эта система в итоге стала Apache Kafka.
Проект был открыт для общественности в начале 2011 года. Название «Kafka» выбрал Джей Крепс. Он назвал систему в честь известного писателя Франца Кафки. 😊
Крепс был поклонником творчества Франца Кафки и посчитал это имя подходящим для системы, работающей с потоками информации.
Система написана на Java и Scala.
Позже они основали компанию Confluent в 2014 году для предоставления коммерческой поддержки и дополнительных инструментов пользователям Kafka.
📌 Давайте разберём базовый принцип работы.
[1] Отправитель отправляет сообщение
* Приложение выступает в роли отправителя, создавая сообщение с данными (полезной нагрузкой) и необязательным ключом.
* Отправитель подключается к брокеру в кластере Kafka и определяет целевую тему.
* Kafka использует партиционер для определения того, в какую партицию темы должно быть доставлено сообщение. Это обеспечивает балансировку нагрузки и параллельную обработку.
* Сообщение доставляется в ведущую реплику выбранной партиции.
[2] Хранение сообщений и репликация
* Ведущая реплика добавляет сообщение в сегмент журнала.
* Сообщение получает уникальный идентификатор (смещение), который определяет его позицию в журнале.
* Ведущая реплика копирует сообщение в последующие реплики для обеспечения отказоустойчивости.
[3] Приёмщик получает сообщения
* Приложение выступает в роли приёмщика, присоединяясь к группе приёмщиков.
* Приёмщики в одной группе совместно используют смещения и координируют потребление.
* Каждый приёмщик получает сообщения из назначенных ему партиций на основе зафиксированного смещения.
* Приёмщик получает пакеты сообщений и обрабатывает их.
[4] Подтверждение потребления
* После завершения обработки приёмщик фиксирует новое смещение.
* Это сообщает Kafka, какие сообщения были успешно потреблены.
* Kafka отслеживает зафиксированные смещения для каждого приёмщика в группе.
[*] Процесс продолжается
* Отправители продолжают отправлять сообщения, а приёмщики продолжают получать и обрабатывать их на основе последних смещений.
* Этот цикл обеспечивает упорядоченную доставку и надёжное потребление даже при сбоях или перезапусках.
Замечания:
👉 Поток сообщений является асинхронным. Отправители не ждут, пока приёмщики обработают сообщения.
👉 Приёмщики могут отставать от отправителей, если обработка идёт медленно.
👉 Kafka предлагает механизмы для обработки сбоев и обеспечения доставки сообщений как минимум один раз или ровно один раз.
Apache Kafka появилась как решение проблемы. Инженеры LinkedIn столкнулись с трудностями при отслеживании метрик веб-сайта, потоков активности и других операционных данных.
Команда инженеров под руководством Джея Крепса (Jay Kreps), Нехи Наркхеде (Neha Narkhede) и Джун Рао (Jun Rao) начала разработку распределённой системы обмена сообщениями по принципу «публикация-подписка», способной обрабатывать потоки данных с высокой пропускной способностью и низкой задержкой.
Эта система в итоге стала Apache Kafka.
Проект был открыт для общественности в начале 2011 года. Название «Kafka» выбрал Джей Крепс. Он назвал систему в честь известного писателя Франца Кафки. 😊
Крепс был поклонником творчества Франца Кафки и посчитал это имя подходящим для системы, работающей с потоками информации.
Система написана на Java и Scala.
Позже они основали компанию Confluent в 2014 году для предоставления коммерческой поддержки и дополнительных инструментов пользователям Kafka.
📌 Давайте разберём базовый принцип работы.
[1] Отправитель отправляет сообщение
* Приложение выступает в роли отправителя, создавая сообщение с данными (полезной нагрузкой) и необязательным ключом.
* Отправитель подключается к брокеру в кластере Kafka и определяет целевую тему.
* Kafka использует партиционер для определения того, в какую партицию темы должно быть доставлено сообщение. Это обеспечивает балансировку нагрузки и параллельную обработку.
* Сообщение доставляется в ведущую реплику выбранной партиции.
[2] Хранение сообщений и репликация
* Ведущая реплика добавляет сообщение в сегмент журнала.
* Сообщение получает уникальный идентификатор (смещение), который определяет его позицию в журнале.
* Ведущая реплика копирует сообщение в последующие реплики для обеспечения отказоустойчивости.
[3] Приёмщик получает сообщения
* Приложение выступает в роли приёмщика, присоединяясь к группе приёмщиков.
* Приёмщики в одной группе совместно используют смещения и координируют потребление.
* Каждый приёмщик получает сообщения из назначенных ему партиций на основе зафиксированного смещения.
* Приёмщик получает пакеты сообщений и обрабатывает их.
[4] Подтверждение потребления
* После завершения обработки приёмщик фиксирует новое смещение.
* Это сообщает Kafka, какие сообщения были успешно потреблены.
* Kafka отслеживает зафиксированные смещения для каждого приёмщика в группе.
[*] Процесс продолжается
* Отправители продолжают отправлять сообщения, а приёмщики продолжают получать и обрабатывать их на основе последних смещений.
* Этот цикл обеспечивает упорядоченную доставку и надёжное потребление даже при сбоях или перезапусках.
Замечания:
👉 Поток сообщений является асинхронным. Отправители не ждут, пока приёмщики обработают сообщения.
👉 Приёмщики могут отставать от отправителей, если обработка идёт медленно.
👉 Kafka предлагает механизмы для обработки сбоев и обеспечения доставки сообщений как минимум один раз или ровно один раз.
❤8👍6👏4❤🔥1
«Лаборатория Касперского» планирует адаптировать свою операционную систему KasperskyOS для ПК, ноутбуков и серверов. Об этом сообщил Дмитрий Лукиян, руководитель отдела по развитию KasperskyOS.
Конкретные сроки и вложения в компании не раскрывают. Однако называют этот этап следующей вехой развития своей ОС.
KasperskyOS — это микроядерная операционная система, разработанная «Лабораторией Касперского». Она предназначена для создания программно-аппаратных систем, «защищенных от любых, даже от еще неизвестных угроз, и для нее не требуются наложенные средства защиты, такие как антивирусы», утверждают в компании-разработчике.
Микроядро KasperskyOS написано полностью с нуля и не использует код ядра Linuх. На базе KasperskyOS разработаны линейка кибериммунных IoT-шлюзов, кибериммунные тонкие клиенты, защищенные автомобильные шлюзы, SDK для IoT-контроллеров, ведутся исследования по применению KasperskyOS для профессиональных мобильных устройств. ОС прошла сертификацию Федеральной службы по техническому и экспортному контролю (ФСТЭК).
https://www.cnews.ru/news/top/2025-10-14_kasperskyos_na_pksmartfonah_i
Конкретные сроки и вложения в компании не раскрывают. Однако называют этот этап следующей вехой развития своей ОС.
KasperskyOS — это микроядерная операционная система, разработанная «Лабораторией Касперского». Она предназначена для создания программно-аппаратных систем, «защищенных от любых, даже от еще неизвестных угроз, и для нее не требуются наложенные средства защиты, такие как антивирусы», утверждают в компании-разработчике.
Микроядро KasperskyOS написано полностью с нуля и не использует код ядра Linuх. На базе KasperskyOS разработаны линейка кибериммунных IoT-шлюзов, кибериммунные тонкие клиенты, защищенные автомобильные шлюзы, SDK для IoT-контроллеров, ведутся исследования по применению KasperskyOS для профессиональных мобильных устройств. ОС прошла сертификацию Федеральной службы по техническому и экспортному контролю (ФСТЭК).
https://www.cnews.ru/news/top/2025-10-14_kasperskyos_na_pksmartfonah_i
CNews.ru
KasperskyOS на ПК, смартфонах и серверах. Компания думает о возможностях установки ОС на самые разные устройства - CNews
Российская ИБ-компания «Лаборатория Касперского» исследует возможности применения своей операционной системы (ОС) для устройств различных форм-факторов, таких как мобильные устройства ПК, ноутбуки и...
👍23🔥10🤮6😁2👏1🤡1
Майкрософт выпустил второй и последний релиз-кандидат .NET 10, который поставляется с лицензией go-live и поэтому уже может использоваться в production. Этот выпуск .NET 10 добавляет главным образом улучшения ии исправления уже имеющегося функционала и поддерживается в новом выпуске Visual Studio 2026 Insiders, а также в Visual Studio Code с C# Dev Kit.
Окончательный релиз .NET 10 с C# 14 состоится 11 ноября.
https://devblogs.microsoft.com/dotnet/dotnet-10-rc-2/
Окончательный релиз .NET 10 с C# 14 состоится 11 ноября.
https://devblogs.microsoft.com/dotnet/dotnet-10-rc-2/
Microsoft News
Announcing .NET 10 Release Candidate 2
.NET 10 Release Candidate 2 focuses on final quality, reliability, and stabilization across the runtime, SDK, libraries, ASP.NET Core, Blazor, .NET MAUI, and more.
🔥12❤1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Начиная с версии 3.14 Python позволяет отключить GIL! Почему это важно? Поскольку раньше, даже если вы писали многопоточный код, Python мог выполнять только один поток за раз, не давая никакого выигрыша в производительности. Но теперь Python может выполнять многопоточный код параллельно.
👍23🔥14❤🔥3🤮3
В Visual Studio 2026 Community добавлен анализ кода на покрытие текстами. В VS 2022 такая возможность была доступна в платном выпуске Enterprise
По умолчанию код, покрытый тестами, выделяется светло-голубым цветом.
По умолчанию код, покрытый тестами, выделяется светло-голубым цветом.
❤25👍10🔥5💩4😱3