METANIT.COM – Telegram
METANIT.COM
5.79K subscribers
1.64K photos
79 videos
9 files
985 links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Сравнение трех архитектурных подходов: Monolith, Modular Monolith и Microservices.

1. Монолит:
- Это единая архитектура, где все компоненты приложения тесно связаны и зависят друг от друга.
- Все функции и данные находятся в одной базе данных.
- Пример: система с модулями «Платежи», «Продукты», «Заказы», «Доставка» и «Корзина».

2. Модульный монолит:
- Представляет собой модульный подход к монолитной архитектуре, где приложение разделено на независимые модули.
- Каждый модуль имеет свою логику и API, но все модули работают в рамках одного приложения.
- Пример: модули «Платежи», «Продукты», «Заказы», «Доставка» и «Корзина» с отдельными API.

3. Микросервисы:
- Это архитектура, где приложение состоит из множества независимых сервисов, каждый из которых выполняет свою функцию.
- Сервисы могут быть написаны на разных языках и технологиях, и каждый имеет свою базу данных.
- Пример: отдельные сервисы для «Платежей», «Продуктов», «Заказов», «Доставки» и «Корзины».
9🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Визуальное объяснение интеграла
32👍16🤔13
Event Sourcing и CQRS
(продолжение в следующем посте)
👍11🔥1👏1
Event Sourcing и CQRS
(продолжение предыдущего поста)

* Event Sourcing и CQRS — архитектурные шаблоны, которые часто применяют совместно в системах, управляемых событиями.
* Event Sourcing фиксирует каждое изменение в системе в виде последовательности событий, а не просто сохраняет текущее состояние.
* CQRS разделяет операции записи (команды) и чтения (запросы) в системе для лучшей масштабируемости и наглядности.

Как работает Event Sourcing

* Вместо сохранения только конечного состояния (например, «баланс = 200 $») система записывает каждое событие («Добавлено 100 $», «Снято 50 $» и т. д.).
* Текущее состояние вычисляется путём воспроизведения прошлых событий.
* Система работает как хронологическая книга учёта — прозрачная, поддающаяся аудиту и воспроизводимая.

Компоненты

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

Поток данных

Команда → Создание события → Сохранение события → Обновление проекций → Перестроение состояния по требованию

Преимущества

* Полный аудит и возможность «путешествовать во времени» среди данных.
* Простота отладки и воспроизведения истории системы.
* Естественная совместимость с распределёнными и управляемыми событиями системами.
* Поддержка реактивных и асинхронных рабочих процессов.

Недостатки

* Объём хранилища может быстро расти.
* Сложная логика версионирования событий и их воспроизведения.
* Требуется тщательное управление проекциями и согласованностью.

Как работает CQRS

* Расшифровывается как *разделение ответственности команд и запросов* (Command Query Responsibility Segregation).
* Разделяет систему на две части:
* Сторона команд — обрабатывает операции записи (создание, обновление, удаление).
* Сторона запросов — обрабатывает операции чтения (эффективное получение данных).
* Каждая часть может масштабироваться, моделироваться и оптимизироваться независимо.

Преимущества

* Оптимизированная производительность для операций чтения и записи.
* Лучшее разделение ответственности и более чистый дизайн.
* Проще развивать модели чтения, не затрагивая операции записи.
* Хорошо сочетается с Event Sourcing для создания проекций.

Недостатки

* Больше компонентов — повышается сложность архитектуры.
* Согласованность между сторонами чтения и записи достигается не сразу (eventual consistency).
* Требуются надёжные механизмы обмена сообщениями и синхронизации.

Совместный поток (Event Sourcing + CQRS)

Команда → Генерация события → Сохранение события → Обновление проекции → Чтение запроса из проекции

Когда применять

* Системы, требующие аудита, возможности воспроизведения или управляемые событиями рабочие процессы.
* Приложения, где операций чтения значительно больше, чем операций записи (например, аналитические панели).
* Финансовые системы, бухгалтерские книги, CRM, системы отслеживания логистики и платформы IoT.
👍63👏1
Кто-нибудь пробовал так программировать? (из фильма про создание/развитие языка Python)
😁45🥴15🤯8👍5🤮4👎2💯1
Красота математики
35👍16🤓10🖕5🤨4❤‍🔥3🔥3😍3🌚1🍓1
Мало известные, но тем не менее полезные возможности SQL: WHERE vs HAVING, WINDOW FUNCTIONS vs AGGREGATION и PARTITIONED-Таблицы
(описание в следующем посте)
Мало известные, но тем не менее полезные возможности SQL: WHERE vs HAVING, WINDOW FUNCTIONS vs AGGREGATION и PARTITIONED-Таблицы
(описание к изображению из предыдущего поста)

### WHERE vs HAVING
- WHERE: Используется для фильтрации строк перед группировкой. Например, в таблице с данными о продажах магазинов, WHERE позволяет выбрать только те строки, которые соответствуют определённым условиям (например, WHERE Store IN ('store1', 'store2')).
- HAVING: Применяется для фильтрации после группировки. Например, HAVING SUM(Sales) > 4000 отбирает группы, где сумма продаж превышает 4000.

### WINDOW FUNCTIONS vs AGGREGATION
- WINDOW FUNCTIONS: Позволяют выполнять вычисления по набору строк, связанных с текущей строкой. Они сохраняют все строки и добавляют вычисленные значения. Например, можно рассчитать сумму продаж для каждого магазина, сохраняя все строки.
- AGGREGATION: Использует функции, такие как SUM, COUNT, AVG, для объединения данных в одну строку. Например, SUM(Sales) GROUP BY Store суммирует продажи по каждому магазину.

### PARTITIONED Tables
- PARTITIONING: Это метод разделения таблицы на более мелкие части (разделы) для улучшения производительности и управления данными. На изображении показано создание четырёх разделов:
- Раздел 1: Данные до 2022-12-31.
- Раздел 2: Данные за 2023 год.
- Раздел 3: Данные за 2024 год.
- Раздел 4: Данные после 2025 года.

Пример кода для создания раздела:
CREATE PARTITION FUNCTION PF_OrderDate (DATE) 
AS RANGE RIGHT FOR VALUES ('2022-12-31', '2023-12-31', '2024-12-31');
4
Минцифры опровергло сообщения об утечке данных пользователей Max

Минцифры РФ после проверки опровергло информацию о том, что данные пользователей портала Госуслуг якобы утекли из национального мессенджера Max.

"Данные пользователей Госуслуг надёжно защищены. Специалисты Минцифры проверили информацию о якобы случившейся утечке из мессенджера Max, размещённую в анонимных каналах", - говорится в сообщении.

По данным Минцифры, "автором информации об утечке был выложен сэмпл, содержащий 15 записей, в которых были указаны якобы ID пользователей Госуслуг".

"Проверка показала, что ни по одной из опубликованных записей ID Госуслуг не совпадает с ФИО реальных пользователей. Из чего можно сделать вывод, что публикации о взломе сфабрикованы", - говорится в сообщении.

Также опровергли о взломе мессенджера в пресс-службе самого разработчика Max.


Ранее стало известно, что в даркнете выставили на продажу якобы базу данных пользователей Max. Продавец утверждает, что в его распоряжении находится более 46,2 млн записей.

https://www.interfax.ru/russia/1053484
https://tass.ru/ekonomika/25390039
🤡22😁13👍31🤔1
Средняя зарплата профильных технических сотрудников софтверных компаний в 2024 году увеличилась на 13,5% по сравнению с 2023 г. и достигла примерно ₽200 тыс., что более чем в 2 раза больше, чем по всей экономике (около ₽88 тыс.). В то же время, разрыв в уровне зарплат по отношению с другими отраслями медленно, но всё же сокращается: прирост по всем отраслям, включая госсектор, составил 18,3%, что почти на 5 процентных пунктов больше, чем в софтверной индустрии.

В отдаленные времена средняя зарплата в софтверной индустрии росла намного быстрее аналогичного показателя для всей экономики России. В 2017 г. впервые очевидного преимущества разработчиков программного обеспечения по темпам роста зарплат выявлено не было. В 2018-2019 гг. рост средней зарплаты разработчиков ПО и увеличение номинальной начисленной заработной платы работников в целом по экономике РФ и вовсе сравнялись. В последующие годы, вплоть до 2024 года, у софтверной индустрии не было преимущества по темпам роста относительно всех отраслей (за исключением пандемийного 2020 года, за который разработчики ПО прибавили в своих доходах в среднем 11%, а по всем видам занятости прирост составил только 6%).

https://russoft.org/news/razrabotchiki-po-poteryali-lidiruyushhie-pozitsii-po-tempam-rosta-srednej-zarplaty-no-po-prezhnemu-uverenno-sohranyayut-ih-po-absolyutnoj-velichine/
🤔2
Динамика зарплат программистов по годам
😭18👌4🤨3🤬21
😐47🗿14🤡8👍6🤔4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядно как работает Null Pointer (нулевой указатель)
👍18
Microsoft предупредила пользователей USB-мыши и клавиатуры о проблемах с обновлением KB5066835 для Windows 11
На прошлой неделе Microsoft выпустила первое обновление KB5066835 для Windows 11 25H2. Теперь компания подтвердила, что после его установки USB-клавиатура и мышь могут не регистрироваться в среде восстановления Windows (WinRE): «После установки обновления безопасности Windows, выпущенного 14 октября 2025 года (KB5066835), USB-устройства, такие как клавиатура и мышь, не работают в среде восстановления Windows (WinRE). Эта проблема препятствует навигации по любым параметрам восстановления в WinRE. Обратите внимание, что USB-клавиатура и мышь продолжают нормально работать в операционной системе Windows».

https://learn.microsoft.com/en-us/windows/release-health/status-windows-11-25H2#3696msgdesc

PS. Обновления Windows 11 - это какая-то катастрофа....
😁22🤡16💯2
Microsoft начала массовое развёртывание обновления Windows 11 версии 25H2 для всех совместимых устройств, включая ПК на Windows 10.

В 25H2 активируются функции, которые уже были включены в версии 24H2. Его главная цель — обновить срок поддержки системы. После установки 25H2 пользователи получат поддержку на 24 месяца, пользователи корпоративных версий — на 36 месяцев, что обеспечит регулярные обновления и защиту до 2028 года.

Кроме того, обновление включает улучшения для работы ПК Copilot+ AI и элементов интерфейса, таких как панель задач.

Владельцы ПК на Windows 10 или Windows 11 могут проверить наличие обновления через «Параметры» > «Центр обновления Windows» > «Проверить наличие обновлений». Если устройство готово к обновлению, появится опция «Загрузить и установить Windows 11 версии 25H2».

Полный список нововведений доступен на сайте Microsoft: https://support.microsoft.com/en-us/windows/inside-this-update-93c5c27c-f96e-43c2-a08e-5812d92f220d
😁4🤮42👍1🔥1
Формула жизни:
Осмысленная жизнь — это интеграл маленьких радостей каждого мгновения.
👍35🔥5🤡42👏2🍌1
Шпаргалка по алгоритмам машинного обучения
👍6🔥1👏1🤮1😨1
В руководство по языку Java добавлены новые статьи:

Асинхронные задачи FutureTask. Callable и Future
https://metanit.com/java/tutorial/8.13.php

Executor - исполнитель задач
https://metanit.com/java/tutorial/8.14.php

Координация выполнения асинхронных задач
https://metanit.com/java/tutorial/8.15.php

#java
❤‍🔥13👍4🔥2
НИУ ВШЭ представила исследование, где оценила ущерб авторов от использования ИИ в 1 трлн рублей

Расчёты проводились для профессий, наиболее подверженных рискам из-за использования ИИ. Всего выделено 12 таких групп. Наибольшие риски отмечены у переводчиков и лингвистов: к 2030 году доля генеративных произведений в этой сфере может достичь трети всего контента. На втором месте — писатели, поэты, литераторы и композиторы (28%), на третьем — программисты и разработчики приложений (26%). Далее следуют журналисты (24%) и специалисты по рекламе и маркетингу (22%).

Председатель Российского центра оборота прав на результаты творческой деятельности Андрей Кричевский заявил, что такие потери создают риск деградации творческих профессий, так как авторы теряют мотивацию и стимулы. Поскольку речь идёт не только о финансовом ущербе, но и о снижении значимости авторства из-за распространения безличного ИИ-контента.

Наибольшие потери от замещения труда ИИ понесут программисты и разработчики приложений — 542,3 млрд рублей. Далее следуют специалисты по рекламе и маркетингу — 169,9 млрд рублей, переводчики и лингвисты — 48,8 млрд рублей. Также с большим ущербом от распространения генеративного контента столкнутся писатели, поэты и литераторы — 42 млрд рублей,а ещё музыканты, певцы и композиторы — 25,25 млрд рублей.

https://www.vedomosti.ru/media/articles/2025/10/15/1146990-uscherb-dlya-avtorov
🤯16😱75🤬4🫡2🤷‍♂1👍1👎1😁1
Совет по Linux:

Нужно повторять команду каждые несколько секунд?

Используйте:
$ watch -n 2 df -h


Эта команда запустит команду "df -h" каждые 2 секунды.
Отлично подходит для отслеживания использования диска, нагрузки или изменения размера журнала.

Для завершения нажмите q.

#linux
🔥239👍5
В Общественной палате РФ предложили ввести идентификацию по паспорту для доступа к контенту 18+ в интернете
Член комиссии Общественной палаты РФ по общественной экспертизе законопроектов и иных нормативных актов Евгений Машаров сообщил, что значительная часть российских подростков имеет неограниченный доступ к контенту 18+, включая видеоролики блогеров с ненормативной лексикой, сценами насилия и пропагандой асоциального поведения, что приводит к формированию у молодёжи искажённых моделей поведения и утрате культурных ориентиров.

«Что можно этому противопоставить, чтобы исправить ситуацию, выровнять психологическое состояние ещё неокрепших умов — это определить, что контент с маркировкой 18+ может быть доступен для российских пользователей лишь после идентификации через паспорт, водительские права, банковские данные», — пояснил представитель Общественной палаты РФ.

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

https://ria.ru/20251021/internet-2049496070.html
🤡32💩8👎5👍3😁31🤔1