4 типа виртуализации
(продолжение предыдущего поста)
1. Традиционная (Bare Metal) :
* Приложения используют одну операционную систему без изоляции процессов друг от друга.
* На рисунке показаны 3 приложения (APP 1, APP 2, APP 3), работающие в рамках одной ОС.
* Архитектура включает:
- Операционная система (Operating System);
- Физический сервер (Physical Server);
- Сетевая инфраструктура (Networking).
* Ключевая особенность: отсутствие изоляции между приложениями.
2. Виртуализированная(VM-based / на основе виртуальных машин):
* Используется аппаратная виртуализация: для каждой виртуальной машины (VM) запускается полноценная ОС.
* Пример: VM 1 с приложениями APP 1 и APP 2, VM 2 с приложением APP 3 и ОС Fedora.
* Архитектура включает:
- Гипервизор (Hypervisor) — эмулирует аппаратное обеспечение для каждой гостевой ОС (Guest OS);
- Гостевые ОС (Guest OS) в каждой VM;
- Физический сервер (Physical Server);
- Сетевая инфраструктура (Networking).
* Ключевая особенность: полная изоляция ОС в каждой VM благодаря гипервизору.
3. Containerized — Контейнеризация:
* Виртуализация на уровне ОС: изоляция процессов, а не полноценных ОС.
* На рисунке показаны контейнеры с приложениями (APP 1, APP 2) и базой данных (MySQL).
* Архитектура включает:
- Контейнеры (Container) с приложениями;
- Контейнерный движок (Container Engine) — управляет жизненным циклом контейнеров, сетевым взаимодействием и изоляцией;
- Хост-операционная система (Host Operating System) с общим ядром (shared kernel);
- Физический сервер (Physical Server);
- Сетевая инфраструктура (Networking).
* Ключевая особенность: лёгкость и быстрота запуска за счёт использования общего ядра ОС.
4. Контейнеры на виртуальных машинах:
* Комбинация виртуализации и контейнеризации, часто используется в облачных решениях.
* Пример: VM 1 с контейнерами APP 1 и APP 2, VM 2 с контейнером APP 3.
* Архитектура включает:
- Виртуальные машины (VM 1, VM 2) с гостевыми ОС (Guest OS, например, Fedora);
- Контейнерные движки (Container Engine) внутри каждой VM;
- Контейнеры с приложениями;
- Гипервизор (Hypervisor) для эмуляции аппаратного обеспечения гостевых ОС;
- Физический сервер (Physical Server);
- Сетевая инфраструктура (Networking).
* Ключевая особенность: сочетание изоляции VM и лёгкости контейнеров — баланс между безопасностью и производительностью.
(продолжение предыдущего поста)
1. Традиционная (Bare Metal) :
* Приложения используют одну операционную систему без изоляции процессов друг от друга.
* На рисунке показаны 3 приложения (APP 1, APP 2, APP 3), работающие в рамках одной ОС.
* Архитектура включает:
- Операционная система (Operating System);
- Физический сервер (Physical Server);
- Сетевая инфраструктура (Networking).
* Ключевая особенность: отсутствие изоляции между приложениями.
2. Виртуализированная(VM-based / на основе виртуальных машин):
* Используется аппаратная виртуализация: для каждой виртуальной машины (VM) запускается полноценная ОС.
* Пример: VM 1 с приложениями APP 1 и APP 2, VM 2 с приложением APP 3 и ОС Fedora.
* Архитектура включает:
- Гипервизор (Hypervisor) — эмулирует аппаратное обеспечение для каждой гостевой ОС (Guest OS);
- Гостевые ОС (Guest OS) в каждой VM;
- Физический сервер (Physical Server);
- Сетевая инфраструктура (Networking).
* Ключевая особенность: полная изоляция ОС в каждой VM благодаря гипервизору.
3. Containerized — Контейнеризация:
* Виртуализация на уровне ОС: изоляция процессов, а не полноценных ОС.
* На рисунке показаны контейнеры с приложениями (APP 1, APP 2) и базой данных (MySQL).
* Архитектура включает:
- Контейнеры (Container) с приложениями;
- Контейнерный движок (Container Engine) — управляет жизненным циклом контейнеров, сетевым взаимодействием и изоляцией;
- Хост-операционная система (Host Operating System) с общим ядром (shared kernel);
- Физический сервер (Physical Server);
- Сетевая инфраструктура (Networking).
* Ключевая особенность: лёгкость и быстрота запуска за счёт использования общего ядра ОС.
4. Контейнеры на виртуальных машинах:
* Комбинация виртуализации и контейнеризации, часто используется в облачных решениях.
* Пример: VM 1 с контейнерами APP 1 и APP 2, VM 2 с контейнером APP 3.
* Архитектура включает:
- Виртуальные машины (VM 1, VM 2) с гостевыми ОС (Guest OS, например, Fedora);
- Контейнерные движки (Container Engine) внутри каждой VM;
- Контейнеры с приложениями;
- Гипервизор (Hypervisor) для эмуляции аппаратного обеспечения гостевых ОС;
- Физический сервер (Physical Server);
- Сетевая инфраструктура (Networking).
* Ключевая особенность: сочетание изоляции VM и лёгкости контейнеров — баланс между безопасностью и производительностью.
Telegram
METANIT.COM
4 типа виртуализации
(описание в следующем посте)
(описание в следующем посте)
❤7👍3🔥1
Крупные IT-компании обяжут к 1 июня 2026 года заключить с вузами и колледжами соглашения о мерах поддержки, сообщил замминистра цифрового развития Сергей Кучушев. Речь идет как о финансовой поддержке, так и помощи в подготовке кадров. Если же IT-компании не сделают это, их лишат льгот и брони для сотрудников от военной службы.
Представитель Минцифры сообщил, что нововведение коснется только IT-компаний с выручкой более 1 млрд руб. в год и с численностью сотрудников не менее 100 человек. Они должны будут выделять на поддержку высших учебных заведений до 5% от средств, сэкономленных благодаря налоговым льготам.
Помимо финансовой поддержки, IT-компании смогут помочь вузам в обновлении образовательной программы по профильным специальностям и дисциплинам. Их сотрудники смогут проводить в вузах занятия, устраивать студентов на стажировки.
https://www.vedomosti.ru/technology/articles/2025/11/17/1155350-krupnie-it-kompanii-dolzhni-dogovoritsya-s-vuzami
Представитель Минцифры сообщил, что нововведение коснется только IT-компаний с выручкой более 1 млрд руб. в год и с численностью сотрудников не менее 100 человек. Они должны будут выделять на поддержку высших учебных заведений до 5% от средств, сэкономленных благодаря налоговым льготам.
Помимо финансовой поддержки, IT-компании смогут помочь вузам в обновлении образовательной программы по профильным специальностям и дисциплинам. Их сотрудники смогут проводить в вузах занятия, устраивать студентов на стажировки.
https://www.vedomosti.ru/technology/articles/2025/11/17/1155350-krupnie-it-kompanii-dolzhni-dogovoritsya-s-vuzami
Ведомости
Крупные IT-компании должны договориться с вузами о мерах поддержки
Им нужно будет выделить до 5% от сэкономленных от налогов средств и нефинансово помогать в подготовке кадров
🤡19👍6😁5❤1👎1🔥1
В новой статье Института Брукингса предполагается, что революция искусственного интеллекта может развиваться по классической схеме «подъём-спад» — хотя и не на рынках, а в заработной плате.
Поначалу автоматизация может привести к росту заработной платы, поскольку работники становятся более производительными благодаря использованию более интеллектуальных инструментов.
Однако по мере того, как системы ИИ осваивают всё больше задач, спрос на работников в этих областях может снижаться, что потенциально вынуждает людей переходить на менее ценные или менее перспективные должности и сводит на нет эти первоначальные достижения.
Производство продолжает расти, даже несмотря на рост заработной платы, что показывает, как выгоды всё больше перетекают в капитал, а не в рабочую силу.
По мере автоматизации когнитивных процессов люди переходят на более медленно растущие физические виды деятельности — от строительства до ухода за больными, — что приводит к снижению заработной платы.
В результате получается горбообразная кривая: кратковременный рост заработной платы, за которым следует коррекция, поскольку цифровая экономика опережает физический мир.
«Даже если автоматизация сначала повышает заработную плату, в конечном итоге она может привести к её значительному снижению», — отмечают авторы.
Чтобы предотвратить негативный эффект от этой кривой, авторы предлагают замедлить темпы автоматизации и инвестировать в физический капитал — машины, оборудование и инструменты — чтобы человеческий труд оставался продуктивным даже в условиях исчезновения цифровых задач.
Они также предлагают обложить налогом виртуальные заменители личных услуг, чтобы предотвратить опустошение целых отраслей искусственным интеллектом.
https://www.businessinsider.com/ai-impact-on-wages-boom-bust-academic-analysis-2025-11
Поначалу автоматизация может привести к росту заработной платы, поскольку работники становятся более производительными благодаря использованию более интеллектуальных инструментов.
Однако по мере того, как системы ИИ осваивают всё больше задач, спрос на работников в этих областях может снижаться, что потенциально вынуждает людей переходить на менее ценные или менее перспективные должности и сводит на нет эти первоначальные достижения.
Производство продолжает расти, даже несмотря на рост заработной платы, что показывает, как выгоды всё больше перетекают в капитал, а не в рабочую силу.
По мере автоматизации когнитивных процессов люди переходят на более медленно растущие физические виды деятельности — от строительства до ухода за больными, — что приводит к снижению заработной платы.
В результате получается горбообразная кривая: кратковременный рост заработной платы, за которым следует коррекция, поскольку цифровая экономика опережает физический мир.
«Даже если автоматизация сначала повышает заработную плату, в конечном итоге она может привести к её значительному снижению», — отмечают авторы.
Чтобы предотвратить негативный эффект от этой кривой, авторы предлагают замедлить темпы автоматизации и инвестировать в физический капитал — машины, оборудование и инструменты — чтобы человеческий труд оставался продуктивным даже в условиях исчезновения цифровых задач.
Они также предлагают обложить налогом виртуальные заменители личных услуг, чтобы предотвратить опустошение целых отраслей искусственным интеллектом.
https://www.businessinsider.com/ai-impact-on-wages-boom-bust-academic-analysis-2025-11
Business Insider
AI may lift wages — then crush them, professors say
A new Brookings study shows how rapid AI automation could boost productivity but leave workers behind as the tech drives down wages.
❤10👍5🤔2🤡2
Вышла новая версия Spring - распространенного фрейморка для создания корпоративных приложений на Java/Kotlin - Spring Framework 7.0
В сообщении о релизе отмечается, что Spring Framework 7.0 — это начало нового поколения фреймворка. Его ключевые ориентиры — Java 25 и новейшая экосистема с открытым исходным кодом. Фреймворк станет основой для Spring Boot 4.0.
Это поколение Spring включает обновление базовых компонентов и зависимостей:
* поддержка Java 25 (последняя версия с долгосрочной поддержкой) при сохранении базовой версии Java 17;
* уровень API Jakarta EE 11: Servlet 6.1, JPA 3.2, Bean Validation 3.1;
* комплексная защита от null‑значений с помощью JSpecify;
* поддержка Jackson 3.0 (при этом сохраняется устаревшая поддержка Jackson 2.x);
* Kotlin 2.2;
* JUnit 6.0.
Первый релиз Spring Framework 7.0 содержит широкий набор новых функций, в том числе:
* программную регистрацию бинов;
* базовые функции обеспечения отказоустойчивости;
* JmsClient;
* версионирование API;
* настройку клиента HTTP‑интерфейса;
* RestTestClient.
https://spring.io/blog/2025/11/13/spring-framework-7-0-general-availability/
#spring #java #kotlin
В сообщении о релизе отмечается, что Spring Framework 7.0 — это начало нового поколения фреймворка. Его ключевые ориентиры — Java 25 и новейшая экосистема с открытым исходным кодом. Фреймворк станет основой для Spring Boot 4.0.
Это поколение Spring включает обновление базовых компонентов и зависимостей:
* поддержка Java 25 (последняя версия с долгосрочной поддержкой) при сохранении базовой версии Java 17;
* уровень API Jakarta EE 11: Servlet 6.1, JPA 3.2, Bean Validation 3.1;
* комплексная защита от null‑значений с помощью JSpecify;
* поддержка Jackson 3.0 (при этом сохраняется устаревшая поддержка Jackson 2.x);
* Kotlin 2.2;
* JUnit 6.0.
Первый релиз Spring Framework 7.0 содержит широкий набор новых функций, в том числе:
* программную регистрацию бинов;
* базовые функции обеспечения отказоустойчивости;
* JmsClient;
* версионирование API;
* настройку клиента HTTP‑интерфейса;
* RestTestClient.
https://spring.io/blog/2025/11/13/spring-framework-7-0-general-availability/
#spring #java #kotlin
Spring Framework 7.0 General Availability
Level up your Java code and explore what Spring can do for you.
❤6👍5🤔2😁1👀1
В каждой системе есть наиболее нагруженный участок. Это первое, что нужно понять перед масштабированием. Масштабируется то, что нагружено, а не вся система целиком. Рекомендации:
1. Начните с паттерна доступа. Если операций чтения значительно больше, чем операций записи, не масштабируйте их вместе.
Пример: приложение электронной коммерции
* 99% трафика — поиск и просмотр товаров
* 1% трафика — обновление информации о товарах
Разделите их. Позвольте сервисам с высокой нагрузкой на чтение масштабироваться независимо. Оставьте потоки записи лаконичными и безопасными
2. Оптимизируйте хранилище под реальное узкое место. Одна основная БД для записи, несколько реплик для чтения
* Записи остаются консистентными
* Чтение остаётся быстрым
* Пиковые нагрузки не затрагивают источник достоверных данных
3. Добавьте кэш, где это действительно нужно. Кэшируйте:
* страницы товаров
* результаты поиска
* списки "Топ N"
* всё, что запрашивается многократно
Память быстрее диска. Микросекунды быстрее миллисекунд.
1. Начните с паттерна доступа. Если операций чтения значительно больше, чем операций записи, не масштабируйте их вместе.
Пример: приложение электронной коммерции
* 99% трафика — поиск и просмотр товаров
* 1% трафика — обновление информации о товарах
Разделите их. Позвольте сервисам с высокой нагрузкой на чтение масштабироваться независимо. Оставьте потоки записи лаконичными и безопасными
2. Оптимизируйте хранилище под реальное узкое место. Одна основная БД для записи, несколько реплик для чтения
* Записи остаются консистентными
* Чтение остаётся быстрым
* Пиковые нагрузки не затрагивают источник достоверных данных
3. Добавьте кэш, где это действительно нужно. Кэшируйте:
* страницы товаров
* результаты поиска
* списки "Топ N"
* всё, что запрашивается многократно
Память быстрее диска. Микросекунды быстрее миллисекунд.
👍9✍4💯3❤🔥1❤1🔥1
Пользователи смартфонов Samsung заметили подозрительное приложение AppCloud от израильской компании ironSource. Оно обладает расширенными системными правами и его нельзя удалить без потери гарантии.
Пользователи обеспокоены объемом собираемых данных без их согласия. Приложение имеет доступ к биометрическим данным, IP-адресу и геолокации. Также сообщается, что AppCloud может скрытно устанавливать ПО.
При этом полностью удалить AppCloud невозможно — оно восстанавливается с обновлениями One UI, а отключение в настройках не останавливает его процессы.
Эксперты предполагают, что это лишь маркетинговая платформа, однако пользователи Samsung уже направили компании запросы с требованиями предоставить официальные разъяснения, передает портал.
https://www.phonearena.com/news/concern-over-unremovable-spyware-some-galaxy-phones_id175777
Пользователи обеспокоены объемом собираемых данных без их согласия. Приложение имеет доступ к биометрическим данным, IP-адресу и геолокации. Также сообщается, что AppCloud может скрытно устанавливать ПО.
При этом полностью удалить AppCloud невозможно — оно восстанавливается с обновлениями One UI, а отключение в настройках не останавливает его процессы.
Эксперты предполагают, что это лишь маркетинговая платформа, однако пользователи Samsung уже направили компании запросы с требованиями предоставить официальные разъяснения, передает портал.
https://www.phonearena.com/news/concern-over-unremovable-spyware-some-galaxy-phones_id175777
PhoneArena
Bad optics on Samsung's part is causing concern over unremovable app on some Galaxy phones
Is it spyware or is it bloatware? Samsung needs to be more transparent.
🤡27🤬7🤔6
Краткий совет по Linux:
Нужно посмотреть, какие файлы были недавно изменены?
Используйте команду
Эта команда выводит список всех файлов в текущей директории, которые были изменены за последние 10 минут.
Полезно при отслеживании недавних изменений или отладке активности файлов.
#linux
Нужно посмотреть, какие файлы были недавно изменены?
Используйте команду
find с опцией -mmin, чтобы проверить файлы, изменённые в определённом временном промежутке:find . -type f -mmin -10
Эта команда выводит список всех файлов в текущей директории, которые были изменены за последние 10 минут.
Полезно при отслеживании недавних изменений или отладке активности файлов.
#linux
👍16🔥4❤1🥰1
В руководство по языку C# и .NET добавлены новые статьи:
Приложения на основе файлов
https://metanit.com/sharp/tutorial/24.2.php
Нововведения в C# 14
https://metanit.com/sharp/tutorial/23.4.php
#csharp #dotnet
Приложения на основе файлов
https://metanit.com/sharp/tutorial/24.2.php
Нововведения в C# 14
https://metanit.com/sharp/tutorial/23.4.php
#csharp #dotnet
❤14👍13🔥5🤝1
Cloudflare раскрыла причину масштабного сбоя, из-за которого вчера часть инфраструктуры компании (и с ней многие сайты) не работала более 3 часов.
Сбой произошёл после изменения в структуре БД, после чего файл с параметрами для противодействия ботам увеличился в два раза. В БД образовались дублирующиеся таблицы, при том, что SQL-запрос для формирования файла просто выводил все данные из всех таблиц по ключу, без отсеивания дубликатов.
Созданный файл стал применяться для обработки входных запросов. В обработчике, использующем данный файл для проверки на боты, указанные в файле параметры сохранялись в оперативной памяти. Для защиты от излишнего расхода памяти в коде был предусмотрен лимит на размер файла. Обычно фактический размер файла был значительно меньше выставленного органичения, но после дублирования таблиц превысил лимит. В итоге в обработчике срабатывало аварийное завершение, которое блокировало дальнейший проброс трафика. Ошибка была вызвана использованием в коде на языке Rust метода unwrap() с типом Result:
Когда значение Result имеет состояние "Ok", метод unwrap() возвращает связанный с этим состоянием объект, но если результат не является успешным - вызов приводит к аварийному завершению (вызывается макрос "panic!").
https://blog.cloudflare.com/18-november-2025-outage/
Сбой произошёл после изменения в структуре БД, после чего файл с параметрами для противодействия ботам увеличился в два раза. В БД образовались дублирующиеся таблицы, при том, что SQL-запрос для формирования файла просто выводил все данные из всех таблиц по ключу, без отсеивания дубликатов.
SELECT
name,
type
FROM system.columns
WHERE
table = 'http_requests_features'
order by name;
Созданный файл стал применяться для обработки входных запросов. В обработчике, использующем данный файл для проверки на боты, указанные в файле параметры сохранялись в оперативной памяти. Для защиты от излишнего расхода памяти в коде был предусмотрен лимит на размер файла. Обычно фактический размер файла был значительно меньше выставленного органичения, но после дублирования таблиц превысил лимит. В итоге в обработчике срабатывало аварийное завершение, которое блокировало дальнейший проброс трафика. Ошибка была вызвана использованием в коде на языке Rust метода unwrap() с типом Result:
// Fetch edge feature based on 'input' struct into ['Features'] buffer.
pub fn fetch_features(
&self,
input: &dyn BotsInput,
features: &mut Features,
) -> Result<(), (ErrorFlags, i32)> {
// update feature checksum (lower 32 bits) and copy edge feature names
features.checksum &= 0xFFFFFFFF00000000;
features.checksum |= u64::from(self.config.checksum);
let (feature_values, _) = features
.append_with_names(self.config.feature_names)
.unwrap(); // Здесь возникла ошибка
Ok(())
}
Когда значение Result имеет состояние "Ok", метод unwrap() возвращает связанный с этим состоянием объект, но если результат не является успешным - вызов приводит к аварийному завершению (вызывается макрос "panic!").
https://blog.cloudflare.com/18-november-2025-outage/
The Cloudflare Blog
Cloudflare outage on November 18, 2025
Cloudflare suffered a service outage on November 18, 2025. The outage was triggered by a bug in generation logic for a Bot Management feature file causing many Cloudflare services to be affected.
😁28❤12👍11🔥2🤯2
Microsoft выпустил новое поколение свой СУБД - SQL Server 2025.
Основные изменения:
- Интеграция ИИ непосредственно в ядро SQL Server, что обеспечивает расширенный семантический поиск для более глубокого анализа и понимания естественного языка в корпоративных данных.
Управление моделями встроено в T-SQL, поддерживая бесшовную интеграцию с Microsoft Foundry, Azure OpenAI Service, OpenAI, Ollama и другими системами, что позволяет безопасно разворачивать их где угодно, как локально, так и в облаке. Разработчики могут легко переключаться между моделями, не изменяя код, а такие важные элементы ИИ, как векторное встраивание, фрагментация текста и индексация DiskANN, поддерживаются нативно.
- Большие возможности для разработчиков SQL за последнее десятилетие, оптимизируя разработку и повышая производительность. Встроенная поддержка JSON, REST API, регулярных выражений и нечеткого соответствия строк обеспечивает более эффективное обогащение и проверку данных. Потоковая передача событий изменений позволяет создавать приложения, управляемые событиями в режиме реального времени.
- Инструменты SQL. SQL Server 2025 предлагает важные обновления для всей платформы данных. SQL Server Management Studio (SSMS 22) уже доступна для всех пользователей и предлагает официальную поддержку SQL Server 2025, улучшенную поддержку ИИ и поддержку ARM64. SSMS 22 также включает поддержку ИИ при установке рабочей нагрузки GitHub Copilot, которая использует ту же подписку GitHub, что и GitHub Copilot в Visual Studio или VS Code.
- SQL Server 2025 продолжает развивать безопасность СУБД. Оптимизированная блокировка снижает потребление памяти для блокировки, минимизирует блокировку и повышает параллелизм.
Управление ресурсами пространства Tempdb повышает надежность сервера. Дополнительная оптимизация плана параметров делает производительность запросов более стабильной. SQL Server 2025 продолжает укреплять свои критически важные возможности, улучшая группы доступности Always On (AG) и возможности аварийного восстановления. Основное внимание уделяется более быстрому отказоустойчивому режиму, улучшенной диагностике и гибридной гибкости.
- SQL Server 2025 на Linux представляет несколько важных улучшений. Безопасность усилена поддержкой TLS 1.3, настраиваемыми политиками паролей и подписанными образами контейнеров. Поддержка платформ расширена и теперь включает RHEL 10 и Ubuntu 24.04, а производительность повышена благодаря поддержке tmpfs для tempdb и контейнерных развертываний. Расширенная аналитика доступна благодаря поддержке универсальных источников данных ODBC через PolyBase. Процесс разработки оптимизирован благодаря интеграции с Visual Studio Code для локального развертывания контейнеров с использованием расширения mssql и проверенных шаблонов развертывания в сотрудничестве с Red Hat, что обеспечивает поддержку современных рабочих нагрузок и сценариев ИИ в гибридных средах.
По словам Microsoft, предварительные тесты показывают, что SQL Server 2025, работающий на процессорах AMD EPYC с оборудованием HPE, обеспечивает ощутимый прирост производительности и ценности. Рабочая нагрузка объёмом 10 ТБ устанавливает новый рекорд производительности для SQL Server. По соотношению цена/производительность SQL Server 2025 демонстрирует улучшение на 4% в категории 3 ТБ по сравнению с предыдущими результатами.
https://techcommunity.microsoft.com/blog/sqlserver/sql-server-2025-is-now-generally-available/4470570
#sql #sqlserver #database
Основные изменения:
- Интеграция ИИ непосредственно в ядро SQL Server, что обеспечивает расширенный семантический поиск для более глубокого анализа и понимания естественного языка в корпоративных данных.
Управление моделями встроено в T-SQL, поддерживая бесшовную интеграцию с Microsoft Foundry, Azure OpenAI Service, OpenAI, Ollama и другими системами, что позволяет безопасно разворачивать их где угодно, как локально, так и в облаке. Разработчики могут легко переключаться между моделями, не изменяя код, а такие важные элементы ИИ, как векторное встраивание, фрагментация текста и индексация DiskANN, поддерживаются нативно.
- Большие возможности для разработчиков SQL за последнее десятилетие, оптимизируя разработку и повышая производительность. Встроенная поддержка JSON, REST API, регулярных выражений и нечеткого соответствия строк обеспечивает более эффективное обогащение и проверку данных. Потоковая передача событий изменений позволяет создавать приложения, управляемые событиями в режиме реального времени.
- Инструменты SQL. SQL Server 2025 предлагает важные обновления для всей платформы данных. SQL Server Management Studio (SSMS 22) уже доступна для всех пользователей и предлагает официальную поддержку SQL Server 2025, улучшенную поддержку ИИ и поддержку ARM64. SSMS 22 также включает поддержку ИИ при установке рабочей нагрузки GitHub Copilot, которая использует ту же подписку GitHub, что и GitHub Copilot в Visual Studio или VS Code.
- SQL Server 2025 продолжает развивать безопасность СУБД. Оптимизированная блокировка снижает потребление памяти для блокировки, минимизирует блокировку и повышает параллелизм.
Управление ресурсами пространства Tempdb повышает надежность сервера. Дополнительная оптимизация плана параметров делает производительность запросов более стабильной. SQL Server 2025 продолжает укреплять свои критически важные возможности, улучшая группы доступности Always On (AG) и возможности аварийного восстановления. Основное внимание уделяется более быстрому отказоустойчивому режиму, улучшенной диагностике и гибридной гибкости.
- SQL Server 2025 на Linux представляет несколько важных улучшений. Безопасность усилена поддержкой TLS 1.3, настраиваемыми политиками паролей и подписанными образами контейнеров. Поддержка платформ расширена и теперь включает RHEL 10 и Ubuntu 24.04, а производительность повышена благодаря поддержке tmpfs для tempdb и контейнерных развертываний. Расширенная аналитика доступна благодаря поддержке универсальных источников данных ODBC через PolyBase. Процесс разработки оптимизирован благодаря интеграции с Visual Studio Code для локального развертывания контейнеров с использованием расширения mssql и проверенных шаблонов развертывания в сотрудничестве с Red Hat, что обеспечивает поддержку современных рабочих нагрузок и сценариев ИИ в гибридных средах.
По словам Microsoft, предварительные тесты показывают, что SQL Server 2025, работающий на процессорах AMD EPYC с оборудованием HPE, обеспечивает ощутимый прирост производительности и ценности. Рабочая нагрузка объёмом 10 ТБ устанавливает новый рекорд производительности для SQL Server. По соотношению цена/производительность SQL Server 2025 демонстрирует улучшение на 4% в категории 3 ТБ по сравнению с предыдущими результатами.
https://techcommunity.microsoft.com/blog/sqlserver/sql-server-2025-is-now-generally-available/4470570
#sql #sqlserver #database
TECHCOMMUNITY.MICROSOFT.COM
SQL Server 2025 is Now Generally Available | Microsoft Community Hub
Today at Ignite, we announce the general availability of SQL Server 2025. This marks the latest milestone in the more than 30-year history of SQL Server. It...
🤡13👍6🔥3😁2🤝2🌚1
Линус Торвальдс не возражает против кодирования с использованием Vibe, если оно не используется для чего-то действительно важного.
Создатель Linux и Git Линус Торвальдс раскрыл свое отношение к применению ИИ в разработке программного обеспечения в интервью, назвав себя «довольно позитивно» настроенным к Vibe-кодингу, но только как к способу проникновения в компьютерные вычисления, а не для разработки программного обеспечения в продакшене, где его, вероятно, будет сложно поддерживать, и особенно не для разработки ядра.
ПРи этом, по словам самого Торвальдса, он не использует и даже не экспериментирует с кодированием с помощью ИИ, хотя и заявил: «Уверен, люди рассматривают его даже в качестве кода ядра».
По его мнению, «ИИ — это всего лишь ещё один инструмент, подобно тому, как компиляторы освобождают людей от необходимости писать код на ассемблере вручную и значительно повышают производительность, но не заставляют программистов исчезать».
Торвальдс с нетерпением ждёт времени, когда ИИ «будет менее рекламируемым и больше будет похож на повседневную реальность, о которой никто постоянно не говорит».
https://www.theregister.com/2025/11/18/linus_torvalds_vibe_coding/?td=rt-3a
Создатель Linux и Git Линус Торвальдс раскрыл свое отношение к применению ИИ в разработке программного обеспечения в интервью, назвав себя «довольно позитивно» настроенным к Vibe-кодингу, но только как к способу проникновения в компьютерные вычисления, а не для разработки программного обеспечения в продакшене, где его, вероятно, будет сложно поддерживать, и особенно не для разработки ядра.
ПРи этом, по словам самого Торвальдса, он не использует и даже не экспериментирует с кодированием с помощью ИИ, хотя и заявил: «Уверен, люди рассматривают его даже в качестве кода ядра».
По его мнению, «ИИ — это всего лишь ещё один инструмент, подобно тому, как компиляторы освобождают людей от необходимости писать код на ассемблере вручную и значительно повышают производительность, но не заставляют программистов исчезать».
Торвальдс с нетерпением ждёт времени, когда ИИ «будет менее рекламируемым и больше будет похож на повседневную реальность, о которой никто постоянно не говорит».
https://www.theregister.com/2025/11/18/linus_torvalds_vibe_coding/?td=rt-3a
The Register
Linus Torvalds is OK with vibe coding as long as it's not used for anything that matters
: Linux inventor also discusses Rust in the kernel, Nvidia's proprietary code, and the problem of AI crawlers
👍65🤡6😁4🤓3💩2🐳2🤪2⚡1🔥1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Краткий совет по Linux 🐧💡
Чтобы получить список файлов, содержащих заданную строку, используйте команду:
-r — для рекурсивного поиска (во всех подкаталогах);
-l — чтобы вывести только имена файлов, в которых найдено совпадение.
Чтобы получить список файлов, содержащих заданную строку, используйте команду:
𝗴𝗿𝗲𝗽 -𝗿𝗹 𝘀𝘁𝗿𝗶𝗻𝗴 .
-r — для рекурсивного поиска (во всех подкаталогах);
-l — чтобы вывести только имена файлов, в которых найдено совпадение.
👍16❤4🤔4
БАЛАНСИРОВКА НАГРУЗКИ В ПРОЕКТИРОВАНИИ СИСТЕМ
(продолжение в следующем посте)
(продолжение в следующем посте)
🔥5
БАЛАНСИРОВКА НАГРУЗКИ В ПРОЕКТИРОВАНИИ СИСТЕМ
(продолжение предыдущего поста)
→ Балансировка нагрузки — это процесс распределения входящего сетевого трафика между несколькими серверами, чтобы ни один сервер не оказался перегружен.
→ Она повышает доступность, производительность и отказоустойчивость в распределённых системах.
→ ПОЧЕМУ ВАЖНА БАЛАНСИРОВКА НАГРУЗКИ
→ Предотвращает перегрузку сервера
→ Обеспечивает высокую доступность и бесперебойную работу
→ Гарантирует отказоустойчивость при выходе сервера из строя
→ Сокращает общее время отклика
→ Позволяет горизонтальное масштабирование
→ КАК РАБОТАЕТ БАЛАНСИРОВКА НАГРУЗКИ
→ Запрос клиента → Балансировщик нагрузки → Рабочий экземпляр сервера
→ Балансировщик нагрузки отслеживает состояние серверов и направляет трафик только на активные узлы
→ Если один сервер выходит из строя → Балансировщик нагрузки автоматически перенаправляет трафик на другие серверы
→ Работает с веб‑серверами, серверами приложений, микросервисами и базами данных
→ ТИПЫ БАЛАНСИРОВЩИКОВ НАГРУЗКИ
→ Аппаратные балансировщики нагрузки
→ Физические устройства, используемые в корпоративных средах
→ Программные балансировщики нагрузки
→ Примеры: Nginx, HAProxy, Envoy
→ Облачные балансировщики нагрузки
→ AWS ELB, Google Cloud LB, Azure Load Balancer
→ АЛГОРИТМЫ БАЛАНСИРОВКИ НАГРУЗКИ
→ Round Robin (циклический перебор)
→ Запросы распределяются по кругу в циклическом порядке
→ Least Connections (наименьшее число соединений)
→ Трафик направляется на сервер с наименьшим числом активных соединений
→ IP Hash (хеширование по IP)
→ Сервер для обработки запроса определяется по IP‑адресу клиента
→ Weighted Round Robin (циклический перебор с весами)
→ Некоторые серверы получают больше трафика в соответствии с назначенными им весами
→ Randomized Distribution (случайное распределение)
→ Запросы направляются на случайные серверы для равномерного распределения нагрузки
→ ПРОВЕРКА СОСТОЯНИЯ СЕРВЕРОВ
→ Балансировщик нагрузки регулярно проверяет:
→ Состояние сервера → Загруженность процессора → Использование памяти → Доступность сети
→ Автоматически исключает неработоспособные серверы из пула
→ ГЛОБАЛЬНАЯ И ЛОКАЛЬНАЯ БАЛАНСИРОВКА НАГРУЗКИ
→ Локальная балансировка нагрузки:
→ Распределяет трафик между серверами в пределах одного региона или дата‑центра
→ Глобальная балансировка нагрузки:
→ Направляет пользователей в ближайший или наиболее работоспособный регион
→ Используется для глобальных приложений (CDN, развёртывания в нескольких регионах)
→ БАЛАНСИРОВКА НАГРУЗКИ В МИКРОСЕРВИСАХ
→ Каждый сервис может иметь несколько экземпляров
→ Балансировщик нагрузки направляет трафик на нужный экземпляр сервиса
→ Работает совместно с API‑шлюзами и механизмами обнаружения сервисов
→ ПРЕИМУЩЕСТВА БАЛАНСИРОВКИ НАГРУЗКИ
→ Повышенная надёжность
→ Более быстрая обработка запросов
→ Отсутствие простоя при обновлении серверов
→ Способность справляться с пиковыми нагрузками
→ Поддержка автоматического масштабирования
(продолжение предыдущего поста)
→ Балансировка нагрузки — это процесс распределения входящего сетевого трафика между несколькими серверами, чтобы ни один сервер не оказался перегружен.
→ Она повышает доступность, производительность и отказоустойчивость в распределённых системах.
→ ПОЧЕМУ ВАЖНА БАЛАНСИРОВКА НАГРУЗКИ
→ Предотвращает перегрузку сервера
→ Обеспечивает высокую доступность и бесперебойную работу
→ Гарантирует отказоустойчивость при выходе сервера из строя
→ Сокращает общее время отклика
→ Позволяет горизонтальное масштабирование
→ КАК РАБОТАЕТ БАЛАНСИРОВКА НАГРУЗКИ
→ Запрос клиента → Балансировщик нагрузки → Рабочий экземпляр сервера
→ Балансировщик нагрузки отслеживает состояние серверов и направляет трафик только на активные узлы
→ Если один сервер выходит из строя → Балансировщик нагрузки автоматически перенаправляет трафик на другие серверы
→ Работает с веб‑серверами, серверами приложений, микросервисами и базами данных
→ ТИПЫ БАЛАНСИРОВЩИКОВ НАГРУЗКИ
→ Аппаратные балансировщики нагрузки
→ Физические устройства, используемые в корпоративных средах
→ Программные балансировщики нагрузки
→ Примеры: Nginx, HAProxy, Envoy
→ Облачные балансировщики нагрузки
→ AWS ELB, Google Cloud LB, Azure Load Balancer
→ АЛГОРИТМЫ БАЛАНСИРОВКИ НАГРУЗКИ
→ Round Robin (циклический перебор)
→ Запросы распределяются по кругу в циклическом порядке
→ Least Connections (наименьшее число соединений)
→ Трафик направляется на сервер с наименьшим числом активных соединений
→ IP Hash (хеширование по IP)
→ Сервер для обработки запроса определяется по IP‑адресу клиента
→ Weighted Round Robin (циклический перебор с весами)
→ Некоторые серверы получают больше трафика в соответствии с назначенными им весами
→ Randomized Distribution (случайное распределение)
→ Запросы направляются на случайные серверы для равномерного распределения нагрузки
→ ПРОВЕРКА СОСТОЯНИЯ СЕРВЕРОВ
→ Балансировщик нагрузки регулярно проверяет:
→ Состояние сервера → Загруженность процессора → Использование памяти → Доступность сети
→ Автоматически исключает неработоспособные серверы из пула
→ ГЛОБАЛЬНАЯ И ЛОКАЛЬНАЯ БАЛАНСИРОВКА НАГРУЗКИ
→ Локальная балансировка нагрузки:
→ Распределяет трафик между серверами в пределах одного региона или дата‑центра
→ Глобальная балансировка нагрузки:
→ Направляет пользователей в ближайший или наиболее работоспособный регион
→ Используется для глобальных приложений (CDN, развёртывания в нескольких регионах)
→ БАЛАНСИРОВКА НАГРУЗКИ В МИКРОСЕРВИСАХ
→ Каждый сервис может иметь несколько экземпляров
→ Балансировщик нагрузки направляет трафик на нужный экземпляр сервиса
→ Работает совместно с API‑шлюзами и механизмами обнаружения сервисов
→ ПРЕИМУЩЕСТВА БАЛАНСИРОВКИ НАГРУЗКИ
→ Повышенная надёжность
→ Более быстрая обработка запросов
→ Отсутствие простоя при обновлении серверов
→ Способность справляться с пиковыми нагрузками
→ Поддержка автоматического масштабирования
Telegram
METANIT.COM
БАЛАНСИРОВКА НАГРУЗКИ В ПРОЕКТИРОВАНИИ СИСТЕМ
(продолжение в следующем посте)
(продолжение в следующем посте)
🔥7👍3❤2
Наиболее важные файлы Linux #linux
(описнаие к предыдущему посту)
1. /etc/passwd — содержит информацию об учётных записях пользователей (логины, UID, GID, домашний каталог и т. д.).
2. /etc/shadow — хранит зашифрованные пароли пользователей (доступен только для root).
3. /etc/group — содержит информацию о группах пользователей.
4. /etc/hosts — файл сопоставления локальных имён хостов с IP-адресами (аналог DNS для локальной системы).
5. /etc/hostname — хранит имя машины (hostname).
6. /etc/resolv.conf — содержит настройки DNS (серверы имён, домен по умолчанию).
7. /etc/fstab — описывает файловые системы, которые монтируются при загрузке системы (автоматическое монтирование).
8. /etc/crontab — файл расписания задач (задания, выполняемые по расписанию через cron).
9. /var/log/syslog или /var/log/messages — системные логи (записи о событиях в системе).
10. /var/log/auth.log — логи аутентификации (записи о попытках входа, авторизации и т. д.).
11. /var/log/dmesg — логи ядра (сообщения от ядра ОС, например, о загрузке драйверов).
12. /etc/ssh/sshd_config — конфигурационный файл SSH-сервера (настройки безопасности, порты, аутентификация).
- ~/.ssh/authorized_keys — список разрешённых SSH-ключей для входа на сервер.
13. /etc/systemd/system/ — директория для пользовательских сервисов (скрипты и настройки для управления службами через systemd).
14. /etc/profile и ~/.bashrc — файлы настройки окружения оболочки (shell), задают переменные окружения, алиасы, функции для пользователей.
15. /etc/os-release — информация о версии и дистрибутиве ОС (название, версия, ID и т. д.).
16. /etc/sudoers — файл настроек разрешений sudo (определяет, какие пользователи могут выполнять команды с привилегиями root).
(описнаие к предыдущему посту)
1. /etc/passwd — содержит информацию об учётных записях пользователей (логины, UID, GID, домашний каталог и т. д.).
2. /etc/shadow — хранит зашифрованные пароли пользователей (доступен только для root).
3. /etc/group — содержит информацию о группах пользователей.
4. /etc/hosts — файл сопоставления локальных имён хостов с IP-адресами (аналог DNS для локальной системы).
5. /etc/hostname — хранит имя машины (hostname).
6. /etc/resolv.conf — содержит настройки DNS (серверы имён, домен по умолчанию).
7. /etc/fstab — описывает файловые системы, которые монтируются при загрузке системы (автоматическое монтирование).
8. /etc/crontab — файл расписания задач (задания, выполняемые по расписанию через cron).
9. /var/log/syslog или /var/log/messages — системные логи (записи о событиях в системе).
10. /var/log/auth.log — логи аутентификации (записи о попытках входа, авторизации и т. д.).
11. /var/log/dmesg — логи ядра (сообщения от ядра ОС, например, о загрузке драйверов).
12. /etc/ssh/sshd_config — конфигурационный файл SSH-сервера (настройки безопасности, порты, аутентификация).
- ~/.ssh/authorized_keys — список разрешённых SSH-ключей для входа на сервер.
13. /etc/systemd/system/ — директория для пользовательских сервисов (скрипты и настройки для управления службами через systemd).
14. /etc/profile и ~/.bashrc — файлы настройки окружения оболочки (shell), задают переменные окружения, алиасы, функции для пользователей.
15. /etc/os-release — информация о версии и дистрибутиве ОС (название, версия, ID и т. д.).
16. /etc/sudoers — файл настроек разрешений sudo (определяет, какие пользователи могут выполнять команды с привилегиями root).
Telegram
METANIT.COM
Наиболее важные файлы Linux #linux
(описание в следующем посте)
(описание в следующем посте)
❤13👍4👏2
Вышла новая подверсия языка программирования PHP - PHP 8.5. Основные изменения в PHP 8.5:
1. URI-расширение
* Встроенная поддержка работы с URI (URL) по стандартам RFC 3986 и WHATWG URL.
* Можно парсить, нормализовать и модифицировать URL через API расширения.
2. Оператор pipe (`|>`)
* Позволяет цепочать вызовы функций в “функциональном” стиле, передавая результат слева направо.
* Упрощает код, избавляет от вложенности и временных переменных.
3. “Clone with” — клонирование с изменением свойств
* Новый синтаксис:
* Упрощает паттерн “with-er” (часто используется с
4. Атрибут `#[\NoDiscard]`
* Этот атрибут предупреждает, если возвращаемое значение функции/метода не используется.
* Помогает избежать ошибок, когда важно обработать результат.
5. Замыкания и first-class callables в константных выражениях
* В PHP 8.5 можно использовать статические замыкания и callables в константах, атрибутах, значениях параметров и свойств.
* Расширяет возможности метапрограммирования.
6. Постоянные cURL share-дескрипторы
* Добавлена функция
7. Новые функции для массивов
*
*
8. Улучшения отладки и диагностики
* Фатальные ошибки теперь показывают backtrace (трассировку).
* Появились функции
* Новый CLI-флаг:
9. Локализация (i18n)
* Новая функция
* Новый класс
* Функция
10. Другие улучшения синтаксиса и модели объектов
* Свойства, объявленные через конструктор (constructor property promotion), теперь могут быть
* Добавлен метод
* Новые методы DOM:
* Атрибут
11. Новый INI-директив
*
* Полезно для хостинга, контейнеров и сред с жёсткими лимитами памяти.
12. Новая константа сборки PHP
*
## Устаревания и несовместимости (deprecations)
* Оператор обратных кавычек (backtick), как alias для
* Неканоничные названия приведения типов (касты), такие как
* Настройка
*
* Кастинг float/string → int: если значение не может быть корректно представлено как int, теперь появится предупреждение.
## Влияние и зачем это
1. URI-расширение
* Встроенная поддержка работы с URI (URL) по стандартам RFC 3986 и WHATWG URL.
* Можно парсить, нормализовать и модифицировать URL через API расширения.
2. Оператор pipe (`|>`)
* Позволяет цепочать вызовы функций в “функциональном” стиле, передавая результат слева направо.
* Упрощает код, избавляет от вложенности и временных переменных.
3. “Clone with” — клонирование с изменением свойств
* Новый синтаксис:
clone $obj with ['prop' => $newValue]. * Упрощает паттерн “with-er” (часто используется с
readonly-классами). 4. Атрибут `#[\NoDiscard]`
* Этот атрибут предупреждает, если возвращаемое значение функции/метода не используется.
* Помогает избежать ошибок, когда важно обработать результат.
5. Замыкания и first-class callables в константных выражениях
* В PHP 8.5 можно использовать статические замыкания и callables в константах, атрибутах, значениях параметров и свойств.
* Расширяет возможности метапрограммирования.
6. Постоянные cURL share-дескрипторы
* Добавлена функция
curl_share_init_persistent(). Дескриптор может быть переиспользован между запросами, что экономит ресурсы. 7. Новые функции для массивов
*
array_first() — возвращает первый элемент массива (или null, если массив пуст). *
array_last() — возвращает последний элемент массива (или null). 8. Улучшения отладки и диагностики
* Фатальные ошибки теперь показывают backtrace (трассировку).
* Появились функции
get_error_handler() и get_exception_handler(), чтобы узнать текущие обработчики ошибок и исключений. * Новый CLI-флаг:
php --ini=diff — показывает только те INI-настройки, которые отличаются от значений по умолчанию. 9. Локализация (i18n)
* Новая функция
locale_is_right_to_left() и метод Locale::isRightToLeft() — проверка, является ли локаль “справа-налево” (например, арабский, иврит). * Новый класс
IntlListFormatter — форматирует списки в зависимости от локали (“яблоко, банан и груша” и т. д.). * Функция
grapheme_levenshtein() — вычисляет “расстояние Левенштейна” между строками с учётом грaфемных кластеров (для Unicode). 10. Другие улучшения синтаксиса и модели объектов
* Свойства, объявленные через конструктор (constructor property promotion), теперь могут быть
final. * Добавлен метод
Closure::getCurrent() — упрощает рекурсию в анонимных функциях. * Новые методы DOM:
Dom\Element::getElementsByClassName() и Dom\Element::insertAdjacentHTML(). * Атрибут
#[\DelayedTargetValidation] — позволяет подавить ошибки проверки атрибутов на этапе компиляции, если цель атрибута является некорректной. 11. Новый INI-директив
*
max_memory_limit — ограничение сверху для memory_limit. * Полезно для хостинга, контейнеров и сред с жёсткими лимитами памяти.
12. Новая константа сборки PHP
*
PHP_BUILD_DATE — содержит дату сборки PHP. ## Устаревания и несовместимости (deprecations)
* Оператор обратных кавычек (backtick), как alias для
shell_exec(), теперь устарел. * Неканоничные названия приведения типов (касты), такие как
(boolean), (integer), (double), (binary) — теперь deprecated. * Настройка
disable_classes в INI удалена. *
case-операторы, завершающиеся точкой с запятой (;) вместо двоеточия (:) — deprecated. * Кастинг float/string → int: если значение не может быть корректно представлено как int, теперь появится предупреждение.
## Влияние и зачем это
❤8🐳4👍3
* Читаемость кода: новый pipe-оператор и helper-функции (
* Безопасность и устойчивость:
* Производительность / ресурсы: возможность переиспользовать cURL share-дескрипторы экономит расходы на подключение.
* Отладка: трассировки фатальных ошибок + инструменты для работы с обработчиками ошибок/исключений улучшают дебаг.
* Локализация: новые инструменты i18n помогают создавать приложения, дружелюбные к разным локалям.
* Кодовая база и архитектура: “clone with” и final-промоция свойств способствуют более чистым паттернам “immutable-объектов”.
https://www.php.net/releases/8.5/ru.php
#php
array_first, array_last) делают код более декларативным и понятным. * Безопасность и устойчивость:
#[\NoDiscard] помогает избежать ошибок, когда результаты функции игнорируются.* Производительность / ресурсы: возможность переиспользовать cURL share-дескрипторы экономит расходы на подключение.
* Отладка: трассировки фатальных ошибок + инструменты для работы с обработчиками ошибок/исключений улучшают дебаг.
* Локализация: новые инструменты i18n помогают создавать приложения, дружелюбные к разным локалям.
* Кодовая база и архитектура: “clone with” и final-промоция свойств способствуют более чистым паттернам “immutable-объектов”.
https://www.php.net/releases/8.5/ru.php
#php
www.php.net
PHP 8.5 Released
PHP 8.5 — большое обновление языка PHP с новыми возможностями, включая модуль URI, оператор Pipe и поддержку изменения свойств при клонировании.
❤9👍3👏3🥴3
Вышла новая версия фреймворка для создания веб-приложений Angular - Angular v21. Основные нововведения в Angular 21:
1. Signal Forms (в экспериментальном режиме)
* Появился новый способ работы с формами через
* Это упрощает управление состоянием (значения, валидность, “грязность” полей и т.п.) по сравнению с классическими
* Есть пакет
2. Zoneless (без zone.js) по умолчанию
* Для новых приложений Angular 21 “zoneless” режим (без
* Это позволяет убрать “заплатки” асинхронности, улучшает производительность, уменьшает размер бандла и делает стек-трейсы чище.
* Для приложений, которым всё ещё нужен
3. AI-инструменты: MCP-сервер Angular
* В CLI Angular появилось встроенное “серверное” API — MCP (Model Context Protocol). Это позволяет ИИ-ассистентам (LLM) взаимодействовать с вашим проектом: получать структуру, документацию, примеры.
* Инструменты MCP позволяют:
* Это шаг к более тесной интеграции Angular-проектов с ИИ и автоматизации задач (генерация кода, рекомендации и т.п.).
4. Angular ARIA (preview)
* Добавлен новый пакет
* Это “headless” библиотека компонентов с акцентом на доступность (accessibility): компоненты без стилей (можно стилизовать как хочется), поддерживают шаблоны ARIA.
* Поддерживаются такие паттерны: Accordion, Combobox, Grid, Listbox, Menu, Tabs, Toolbar, Tree.
5. Vitest — тестовый раннер по умолчанию
* Angular CLI теперь использует Vitest как основной тестовый фреймворк.
* Поддержка Karma/Jasmine устаревает — ожидается их удаление в следующих версиях (начиная с v22).
6. Упрощённый HttpClient
*
* Добавлены новые опции:
7. Улучшения шаблонов и компилятора
* В шаблонах теперь поддерживаются регулярные выражения: можно писать выражения вроде
* У
*
8. Контейнеры стилей (encapsulation)
* Появилась экспериментальная стратегия
9. Оптимизация сборки и инструментов разработки
* Улучшены tree-shaking и удаление неиспользуемого кода → уменьшение размера бандлов.
* Улучшения в dev-сервере: более быстрый HMR (горячая перезагрузка), лучшее кеширование и меньшее потребление памяти.
* CLI получает более удобные схемы миграции и улучшенную эргономику для совместимости с новыми паттернами (signal, zoneless и пр.).
## Влияние
1. Signal Forms (в экспериментальном режиме)
* Появился новый способ работы с формами через
@angular/forms/signals: формы теперь основаны на *Signals*. * Это упрощает управление состоянием (значения, валидность, “грязность” полей и т.п.) по сравнению с классическими
FormGroup / FormControl. * Есть пакет
compat, который помогает постепенно мигрировать существующие реактивные формы: @angular/forms/signals/compat. 2. Zoneless (без zone.js) по умолчанию
* Для новых приложений Angular 21 “zoneless” режим (без
zone.js) теперь используется по умолчанию. * Это позволяет убрать “заплатки” асинхронности, улучшает производительность, уменьшает размер бандла и делает стек-трейсы чище.
* Для приложений, которым всё ещё нужен
zone.js, можно явно вернуть его с помощью провайдера provideZoneChangeDetection(). 3. AI-инструменты: MCP-сервер Angular
* В CLI Angular появилось встроенное “серверное” API — MCP (Model Context Protocol). Это позволяет ИИ-ассистентам (LLM) взаимодействовать с вашим проектом: получать структуру, документацию, примеры.
* Инструменты MCP позволяют:
list_projects, get_best_practices, search_documentation, find_examples, а также миграции (modernize, onpush_zoneless_migration) и учебный режим (ai_tutor). * Это шаг к более тесной интеграции Angular-проектов с ИИ и автоматизации задач (генерация кода, рекомендации и т.п.).
4. Angular ARIA (preview)
* Добавлен новый пакет
@angular/aria (доступен в режиме Developer Preview). * Это “headless” библиотека компонентов с акцентом на доступность (accessibility): компоненты без стилей (можно стилизовать как хочется), поддерживают шаблоны ARIA.
* Поддерживаются такие паттерны: Accordion, Combobox, Grid, Listbox, Menu, Tabs, Toolbar, Tree.
5. Vitest — тестовый раннер по умолчанию
* Angular CLI теперь использует Vitest как основной тестовый фреймворк.
* Поддержка Karma/Jasmine устаревает — ожидается их удаление в следующих версиях (начиная с v22).
6. Упрощённый HttpClient
*
HttpClient теперь предоставляется в root-инжекторе по умолчанию — больше не нужно вручную вызывать provideHttpClient() при базовой настройке. * Добавлены новые опции:
responseType (в стиле Fetch API) и referrerPolicy для HTTP-запросов. 7. Улучшения шаблонов и компилятора
* В шаблонах теперь поддерживаются регулярные выражения: можно писать выражения вроде
{{ /\d+/.test(someValue) }} прямо в шаблоне. * У
@defer директивы теперь есть опция конфигурировать IntersectionObserver, например rootMargin, trigger и т.п. *
SimpleChanges (в ngOnChanges) сделан generic — теперь можно указывать тип компонента, чтобы получить сильную типизацию. 8. Контейнеры стилей (encapsulation)
* Появилась экспериментальная стратегия
ExperimentalIsolatedShadowDom, которая использует Shadow DOM, но “изолирует” стили компонента (чтобы они не проникали наружу и внешние стили не влияли). 9. Оптимизация сборки и инструментов разработки
* Улучшены tree-shaking и удаление неиспользуемого кода → уменьшение размера бандлов.
* Улучшения в dev-сервере: более быстрый HMR (горячая перезагрузка), лучшее кеширование и меньшее потребление памяти.
* CLI получает более удобные схемы миграции и улучшенную эргономику для совместимости с новыми паттернами (signal, zoneless и пр.).
## Влияние
👍6🍌3👏2