METANIT.COM
Ir al canal en Telegram
Канал о программировании и разработке сайта metanit.com
Mostrar más6 083
Suscriptores
Sin datos24 horas
-77 días
-5530 días
Archivo de publicaciones
6 083
Минцифры опровергло сообщения об утечке данных пользователей Max
Минцифры РФ после проверки опровергло информацию о том, что данные пользователей портала Госуслуг якобы утекли из национального мессенджера Max.
"Данные пользователей Госуслуг надёжно защищены. Специалисты Минцифры проверили информацию о якобы случившейся утечке из мессенджера Max, размещённую в анонимных каналах", - говорится в сообщении.
По данным Минцифры, "автором информации об утечке был выложен сэмпл, содержащий 15 записей, в которых были указаны якобы ID пользователей Госуслуг".
"Проверка показала, что ни по одной из опубликованных записей ID Госуслуг не совпадает с ФИО реальных пользователей. Из чего можно сделать вывод, что публикации о взломе сфабрикованы", - говорится в сообщении.
Также опровергли о взломе мессенджера в пресс-службе самого разработчика Max.
Ранее стало известно, что в даркнете выставили на продажу якобы базу данных пользователей Max. Продавец утверждает, что в его распоряжении находится более 46,2 млн записей.
https://www.interfax.ru/russia/1053484
https://tass.ru/ekonomika/25390039
6 083
Мало известные, но тем не менее полезные возможности 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');6 083
Мало известные, но тем не менее полезные возможности SQL: WHERE vs HAVING, WINDOW FUNCTIONS vs AGGREGATION и PARTITIONED-Таблицы
(описание в следующем посте)
6 083
Реклама для бизнеса любого уровня в Яндекс Директе
Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌
Начните прямо сейчас ⚡
Зарегистрироваться
#реклама
direct.yandex.ru
О рекламодателе
6 083
Кто-нибудь пробовал так программировать? (из фильма про создание/развитие языка Python)
6 083
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.
6 083
Бесплатный курс по дизайну: веб, графический и UX/UI
Получи востребованные навыки:
- создание дизайна сайтов и приложений
- создание инфографики и карточек для маркетплейсов
- работа в графическом редакторе Figma и др.
Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰
Зарегистрироваться
#реклама 16+
ydaev.ru
О рекламодателе
6 083
Сравнение трех архитектурных подходов: Monolith, Modular Monolith и Microservices.
1. Monolith:
- Это единая архитектура, где все компоненты приложения тесно связаны и зависят друг от друга.
- Все функции и данные находятся в одной базе данных.
- Пример: система с модулями «Платежи», «Продукты», «Заказы», «Доставка» и «Корзина».
2. Modular Monolith:
- Представляет собой модульный подход к монолитной архитектуре, где приложение разделено на независимые модули.
- Каждый модуль имеет свою логику и API, но все модули работают в рамках одного приложения.
- Пример: модули «Платежи», «Продукты», «Заказы», «Доставка» и «Корзина» с отдельными API.
3. Microservices:
- Это архитектура, где приложение состоит из множества независимых сервисов, каждый из которых выполняет свою функцию.
- Сервисы могут быть написаны на разных языках и технологиях, и каждый имеет свою базу данных.
- Пример: отдельные сервисы для «Платежей», «Продуктов», «Заказов», «Доставки» и «Корзины».
6 083
Канал для предпринимателей "Есть решение"
Интересное на нашем канале:
😊Актуальный контент для предпринимателей.
👍Рассказываем истории бизнесменов из России.
👍Делимся лайфхаками для предпринимателей.
Ждём вас на нашем ТГ-канале!
Узнать больше
#реклама
О рекламодателе
6 083
Краткий совет по Linux:
В Linux оператор конвейера (|) очень полезен, если вы хотите перенаправить вывод одной команды в качестве входных данных для следующей обработки:
$ cat data.txt | grep "Такого файла нет"
Однако это не перенаправляет ошибки. Поэтому, если файл не существует, команда grep, указанная выше, не вернёт совпадение.
Что делать, если вы хотите перенаправить и обработать как ошибки, так и нормальный вывод 🤔
Вот тут-то и пригодится оператор перенаправления «|&».
Этот оператор отправляет стандартный вывод (stdout) и стандартный поток ошибок (stderr) первой команды по каналу на стандартный ввод (stdin) второй команды. Взгляните на этот пример:
$ cat data.txt |& grep "Такого файла нет"
Обратите внимание на разницу: команда grep смогла получить совпадение.
Оператор «|&» в bash является сокращением для оператора перенаправления «2>&1 |».
$ cmd-1 2>&1 | cmd-2
#linux6 083
20 распространенных рекомендаций по оптимизации SQL-запросов:
1. Индексы для шаблонов доступа к запросам (составные, селективные, покрывающие); не ориентируйтесь на количество строк; поддерживайте актуальность статистики.
2. Используйте EXISTS для проверки наличия записей; применяйте COUNT(*) только когда действительно нужен подсчёт.
3. Выбирайте конкретные столбцы явно; избегайте SELECT * для сокращения операций ввода-вывода и использования покрывающих индексов.
4. Предпочитайте SARG-предикаты (предикаты, допускающие использование индекса); переписывайте медленные коррелированные подзапросы с помощью JOIN/EXISTS.
5. Избегайте DISTINCT как временного решения; исправьте соединения/ключи; используйте его только когда действительно требуется удаление дубликатов.
6. Фильтрацию выполняйте в WHERE; резервируйте HAVING только для фильтрации после агрегации.
7. Используйте явные JOIN ... ON; избегайте неявных соединений в WHERE.
8. Применяйте пагинацию по ключам; избегайте OFFSET/LIMIT на больших наборах данных; для выборки используйте TABLESAMPLE (если доступно).
9. Используйте UNION ALL вместо UNION, когда дубликаты допустимы.
10. Заменяйте широкие OR-предикаты на UNION ALL только когда каждая ветвь может использовать разные индексы.
11. Планируйте выполнение тяжёлых запросов в периоды низкой нагрузки; применяйте ограничения ресурсов/очереди, если они доступны.
12. Избегайте OR в предикатах соединения; используйте вычисляемые столбцы или UNION ALL, когда это позволяет использовать поиск по индексу.
13. Используйте GROUP BY, когда нужны сгруппированные строки; применяйте оконные функции, когда требуется детализация строк с агрегатами.
14. Используйте производные/временные таблицы, когда они сокращают объём работы или добавляют статистику; остерегайтесь блокирующих спусков.
15. При массовой загрузке: отключайте/удаляйте некластерные индексы, выполняйте пакетную вставку, затем восстанавливайте; сохраняйте PK/кластерные индексы, когда это полезно.
16. Используйте материализованные представления для медленно меняющихся, ресурсоёмких агрегатов; планируйте обновление/недействительность.
17. Избегайте не-SARG-сравнений (например, <>) на столбцах с низкой селективностью; переписывайте в диапазоны, когда это возможно.
18. Минимизируйте коррелированные подзапросы над большими наборами; предпочитайте множественные соединения/EXISTS.
19. Выбирайте INNER вместо LEFT/RIGHT по семантике; INNER часто работает лучше, когда применимо.
20. Кешируйте повторяющиеся наборы результатов: временные таблицы (на сессию), кеш результатов или материализованные представления, с правилами актуальности.
#sql
6 083
В Огайо предложили закон, запрещающий вступать в брак с ИИ
В законодательную палату штата Огайо внесли законопроект, который провозглашает: "никакая система искусственного интеллекта не признается супругом или домашним партнером".
В тексте документа система ИИ определяется как "сущность, не обладающая сознанием" (non-sentient entity) — то есть не способная к восприятию, чувствам и осознанным действиям. Следовательно, с точки зрения закона она не может считаться "лицом". Любая попытка заключить "брак с ИИ" считается юридически ничтожной, а сам ИИ лишается любой формы правосубъектности — права владеть имуществом, занимать корпоративные должности и т. д.
Законопроект передан в комитет по технологиям и инновациям. Дальше его ждут слушания, правки и голосования в обеих палатах. До подписи губернатора еще далеко — вполне возможно, что отдельные формулировки будут смягчены или удалены.
Инициаторы закона объясняют, что его цель — предотвратить будущие правовые коллизии. Если ИИ вдруг "заключит брак" или станет совладельцем активов, кто несет ответственность за его действия? По замыслу авторов, ответственность должен нести человек — пользователь, владелец или разработчик системы. Критики же называют инициативу примером "моральной паники" и борьбы с гипотетическими сценариями.
https://www.nbc4i.com/news/politics/saying-i-do-to-ai-ohio-lawmaker-proposes-ban-on-marriage-legal-personhood-for-ai/amp/
6 083
ИИ-революция в вашей карьере: бесплатный вебинар
2025 год: нейросети — это must-have навык для карьерного роста. 👌
✅Приглашаем на бесплатный живой вебинар, где вы:
--- Поймете, какие нейросети существуют и как их применять в работе.
--- Научитесь писать эффективные промпты и автоматизировать рутину.
--- Узнаете, как делегировать ИИ задачи и экономить от 20 часов в неделю!
--- Создадите своего первого ИИ-ассистента в прямом эфире.
Получите руководство «Как создать цифровой аватар» сразу после регистрации!
Подойдет новичкам. Онлайн-формат с ответами на вопросы.
⚡ Жмите «Зарегистрироваться», чтобы прокачать свой скилл-сет и освободить время для главного!
Зарегистрироваться
#реклама 16+
ed.bonnieandslide.com
О рекламодателе
6 083
Программирование для детей в Мытищах!
Первая международная кибершкола будущего для нового IT-поколения 6-14 лет — KIBERone!
- 1200 КиберШкол в мире
- Ультрасовременная методика
- Передали IT-знания более 80 000 детям
- Занятия ведут практикующие программисты
- Мини-группы до 12 человек
- Более 60 модулей
- Возможность участия в значимых мероприятиях в сфере компьютерных технологий по всему миру
- Бесплатные отработки, если ребенок пропустил занятие по болезни
KIBERone – место, где дети и подростки получают навыки для успешного будущего и узнают всё о высоких технологиях
Оставьте заявку и запишитесь на бесплатное пробное занятие!
Узнать больше
#реклама
mytishy.kiber-one.com
О рекламодателе
6 083
Октябрьские обновления Windows 11 от Microsoft нарушили функциональность «localhost», из-за чего приложения, подключающиеся к IP-адресу 127.0.0.1 по протоколу HTTP/2, больше не работают должным образом.
После установки обновления Windows 11 KB5066835 или сентябрьского обновления KB5065789 Preview пользователи обнаруживают, что их приложения больше не могут устанавливать HTTP-подключения к IP-адресу 127.0.0.1.
При попытке сделать это возникают ошибки типа «ERR_CONNECTION_RESET» или «ERR_HTTP2_PROTOCOL_ERROR». Пользователи Windows сообщали о проблемах на форумах Microsoft, Stack Exchange и Reddit.
Ошибка затронула широко используемые решения, включая отладку Visual Studio, аутентификацию SSMS Entra ID и приложение Duo Desktop, которое проверяет уровень безопасности устройства и требует подключения к веб-серверам, работающим на локальном компьютере.
https://www.bleepingcomputer.com/news/microsoft/windows-11-updates-break-localhost-127001-http-2-connections/
PS. Владельцы Windows 10 наверное рады, что их избавили от подобных обновлений...
6 083
По данным Института студенческих работодателей (ISE), технологический сектор Великобритании резко сокращает количество рабочих мест для выпускников – на 46 процентов в прошлом году, а прогнозируется еще на 53 процента.
ИИ уже выполняет работу начального уровня, которую выпускники привыкли выполнять, например, рутинное кодирование, анализ данных и базовые цифровые задачи. Компаниям по-прежнему нужны технические таланты, но они нанимают опытных работников вместо того, чтобы обучать новичков.
Согласно общим данным ISE, набор выпускников упал на 8 процентов в годовом исчислении – впервые после 12-процентного снижения во время пандемии в 2020 году. Однако больше всего пострадали технологический и фармацевтический бизнес-сектор.
Стивен Ишервуд, исполнительный директор ISE, заявил, что искусственный интеллект уже вытесняет молодых специалистов, как и опасались некоторые комментаторы.
В этом году Salesforce, Workday и другие компании заявили, что сокращают тысячи рабочих мест и внедряют искусственный интеллект. Microsoft объявила о планах сократить 10 000 рабочих мест и вместо этого использовать новые технологии.
Тенденция, наблюдаемая в секторе выпускников Великобритании, создает порочный круг. Выпускники не могут получить первую должность, необходимую для приобретения опыта, а это означает, что через пять лет будет меньше специалистов среднего звена.
Если это правда, то опрос показывает, что ИИ начинает закрывать двери в технологические карьеры быстрее, чем кто-либо ожидал.
https://www.theregister.com/2025/10/16/uk_tech_grad_jobs/
