uk
Feedback
METANIT.COM

METANIT.COM

Відкрити в Telegram

Канал о программировании и разработке сайта metanit.com

Показати більше
6 083
Підписники
Немає даних24 години
-77 днів
-5530 днів
Архів дописів
Минцифры опровергло сообщения об утечке данных пользователей Max Минцифры РФ после проверки опровергло информацию о том, что данные пользователей портала Госуслуг якобы утекли из национального мессенджера Max. "Данные пользователей Госуслуг надёжно защищены. Специалисты Минцифры проверили информацию о якобы случившейся утечке из мессенджера Max, размещённую в анонимных каналах", - говорится в сообщении. По данным Минцифры, "автором информации об утечке был выложен сэмпл, содержащий 15 записей, в которых были указаны якобы ID пользователей Госуслуг". "Проверка показала, что ни по одной из опубликованных записей ID Госуслуг не совпадает с ФИО реальных пользователей. Из чего можно сделать вывод, что публикации о взломе сфабрикованы", - говорится в сообщении. Также опровергли о взломе мессенджера в пресс-службе самого разработчика Max. Ранее стало известно, что в даркнете выставили на продажу якобы базу данных пользователей Max. Продавец утверждает, что в его распоряжении находится более 46,2 млн записей. https://www.interfax.ru/russia/1053484 https://tass.ru/ekonomika/25390039

Мало известные, но тем не менее полезные возможности 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');

Мало известные, но тем не менее полезные возможности SQL: WHERE vs HAVING, WINDOW FUNCTIONS vs AGGREGATION и PARTITIONED-Табл
Мало известные, но тем не менее полезные возможности SQL: WHERE vs HAVING, WINDOW FUNCTIONS vs AGGREGATION и PARTITIONED-Таблицы (описание в следующем посте)

Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 На
Реклама для бизнеса любого уровня в Яндекс Директе Создайте эффективную рекламную кампанию с алгоритмами Яндекс Директа 👌 Начните прямо сейчас ⚡ Зарегистрироваться #реклама direct.yandex.ru О рекламодателе

Красота математики
Красота математики

Кто-нибудь пробовал так программировать? (из фильма про создание/развитие языка Python)
Кто-нибудь пробовал так программировать? (из фильма про создание/развитие языка Python)

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.

Event Sourcing и CQRS (продолжение в следующем посте)
Event Sourcing и CQRS (продолжение в следующем посте)

Визуальное объяснение интеграла

Бесплатный курс по дизайну: веб, графический и UX/UI Получи востребованные навыки: - создание дизайна сайтов и приложений - с
Бесплатный курс по дизайну: веб, графический и UX/UI Получи востребованные навыки: - создание дизайна сайтов и приложений - создание инфографики и карточек для маркетплейсов - работа в графическом редакторе Figma и др. Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰 Зарегистрироваться #реклама 16+ ydaev.ru О рекламодателе

Сравнение трех архитектурных подходов: Monolith, Modular Monolith и Microservices. 1. Monolith: - Это единая архитектура, где
Сравнение трех архитектурных подходов: Monolith, Modular Monolith и Microservices. 1. Monolith: - Это единая архитектура, где все компоненты приложения тесно связаны и зависят друг от друга. - Все функции и данные находятся в одной базе данных. - Пример: система с модулями «Платежи», «Продукты», «Заказы», «Доставка» и «Корзина». 2. Modular Monolith: - Представляет собой модульный подход к монолитной архитектуре, где приложение разделено на независимые модули. - Каждый модуль имеет свою логику и API, но все модули работают в рамках одного приложения. - Пример: модули «Платежи», «Продукты», «Заказы», «Доставка» и «Корзина» с отдельными API. 3. Microservices: - Это архитектура, где приложение состоит из множества независимых сервисов, каждый из которых выполняет свою функцию. - Сервисы могут быть написаны на разных языках и технологиях, и каждый имеет свою базу данных. - Пример: отдельные сервисы для «Платежей», «Продуктов», «Заказов», «Доставки» и «Корзины».

Канал для предпринимателей "Есть решение" Интересное на нашем канале: 😊Актуальный контент для предпринимателей. 👍Рассказыва
Канал для предпринимателей "Есть решение" Интересное на нашем канале: 😊Актуальный контент для предпринимателей. 👍Рассказываем истории бизнесменов из России. 👍Делимся лайфхаками для предпринимателей. Ждём вас на нашем ТГ-канале! Узнать больше #реклама О рекламодателе

Краткий совет по Linux: В Linux оператор конвейера (|) очень полезен, если вы хотите перенаправить вывод одной команды в каче
Краткий совет по Linux: В Linux оператор конвейера (|) очень полезен, если вы хотите перенаправить вывод одной команды в качестве входных данных для следующей обработки:
$ cat data.txt | grep "Такого файла нет"
Однако это не перенаправляет ошибки. Поэтому, если файл не существует, команда grep, указанная выше, не вернёт совпадение. Что делать, если вы хотите перенаправить и обработать как ошибки, так и нормальный вывод 🤔 Вот тут-то и пригодится оператор перенаправления «|&». Этот оператор отправляет стандартный вывод (stdout) и стандартный поток ошибок (stderr) первой команды по каналу на стандартный ввод (stdin) второй команды. Взгляните на этот пример:
$ cat data.txt |& grep "Такого файла нет"
Обратите внимание на разницу: команда grep смогла получить совпадение. Оператор «|&» в bash является сокращением для оператора перенаправления «2>&1 |».
$ cmd-1 2>&1 | cmd-2
#linux

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

В Огайо предложили закон, запрещающий вступать в брак с ИИ В законодательную палату штата Огайо внесли законопроект, который провозглашает: "никакая система искусственного интеллекта не признается супругом или домашним партнером". В тексте документа система ИИ определяется как "сущность, не обладающая сознанием" (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/

ИИ-революция в вашей карьере: бесплатный вебинар 2025 год: нейросети — это must-have навык для карьерного роста. 👌 ✅Приглашаем на бесплатный живой вебинар, где вы: --- Поймете, какие нейросети существуют и как их применять в работе. --- Научитесь писать эффективные промпты и автоматизировать рутину. --- Узнаете, как делегировать ИИ задачи и экономить от 20 часов в неделю! --- Создадите своего первого ИИ-ассистента в прямом эфире. Получите руководство «Как создать цифровой аватар» сразу после регистрации! Подойдет новичкам. Онлайн-формат с ответами на вопросы. ⚡ Жмите «Зарегистрироваться», чтобы прокачать свой скилл-сет и освободить время для главного! Зарегистрироваться #реклама 16+ ed.bonnieandslide.com О рекламодателе

Шпаргалки по командам Dockerа #docker
+2
Шпаргалки по командам Dockerа #docker

Программирование для детей в Мытищах! Первая международная кибершкола будущего для нового IT-поколения 6-14 лет — KIBERone! -
Программирование для детей в Мытищах! Первая международная кибершкола будущего для нового IT-поколения 6-14 лет KIBERone! - 1200 КиберШкол в мире - Ультрасовременная методика - Передали IT-знания более 80 000 детям - Занятия ведут практикующие программисты - Мини-группы до 12 человек - Более 60 модулей - Возможность участия в значимых мероприятиях в сфере компьютерных технологий по всему миру - Бесплатные отработки, если ребенок пропустил занятие по болезни KIBERone – место, где дети и подростки получают навыки для успешного будущего и узнают всё о высоких технологиях Оставьте заявку и запишитесь на бесплатное пробное занятие! Узнать больше #реклама mytishy.kiber-one.com О рекламодателе

Октябрьские обновления 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 наверное рады, что их избавили от подобных обновлений...

По данным Института студенческих работодателей (ISE), технологический сектор Великобритании резко сокращает количество рабочих мест для выпускников – на 46 процентов в прошлом году, а прогнозируется еще на 53 процента. ИИ уже выполняет работу начального уровня, которую выпускники привыкли выполнять, например, рутинное кодирование, анализ данных и базовые цифровые задачи. Компаниям по-прежнему нужны технические таланты, но они нанимают опытных работников вместо того, чтобы обучать новичков. Согласно общим данным ISE, набор выпускников упал на 8 процентов в годовом исчислении – впервые после 12-процентного снижения во время пандемии в 2020 году. Однако больше всего пострадали технологический и фармацевтический бизнес-сектор. Стивен Ишервуд, исполнительный директор ISE, заявил, что искусственный интеллект уже вытесняет молодых специалистов, как и опасались некоторые комментаторы. В этом году Salesforce, Workday и другие компании заявили, что сокращают тысячи рабочих мест и внедряют искусственный интеллект. Microsoft объявила о планах сократить 10 000 рабочих мест и вместо этого использовать новые технологии. Тенденция, наблюдаемая в секторе выпускников Великобритании, создает порочный круг. Выпускники не могут получить первую должность, необходимую для приобретения опыта, а это означает, что через пять лет будет меньше специалистов среднего звена. Если это правда, то опрос показывает, что ИИ начинает закрывать двери в технологические карьеры быстрее, чем кто-либо ожидал. https://www.theregister.com/2025/10/16/uk_tech_grad_jobs/