METANIT.COM – Telegram
METANIT.COM
5.87K subscribers
1.67K photos
81 videos
9 files
1.03K links
Канал о программировании и разработке сайта metanit.com
Download Telegram
Какой способ возврата из условной конструкции более интуитивен
Anonymous Poll
63%
c = a > b ? a : b;
37%
c = if (a > b) {a} else {b}
🤪21🤷‍♂9🤣93
Шпаргалка по линейной алгебре для машинного обучения
🤓30👍8🤪5🔥2🤮2🤔1
Основные аспекты оптимизации производительности баз данных
(продолжение в следующем посте)
7❤‍🔥1
Основные аспекты оптимизации производительности баз данных:
(продолжение предыдущего поста)

1. Query Optimization (Оптимизация запросов):
- Описывает проблемы с медленными запросами и их влияние на производительность.
- Инструменты: EXPLAIN PLAN, pg_stat_statements, MySQL Slow Log.
- Влияние: от незначительных задержек до сбоев в работе системы.

2. Index Strategy (Стратегия индексирования):
- Рассматривает правильное использование индексов для часто запрашиваемых столбцов.
- Инструменты: Database Tuning Advisor, Index Usage Stats, pg_index.
- Влияние: оптимизация запросов и снижение нагрузки на CPU.

3. Connection Pooling (Пул соединений):
- Управление соединениями и их размер для предотвращения задержек.
- Инструменты: HikariCP, pgBouncer, Connection Metrics.
- Влияние: минимизация времени ожидания соединений.

4. Schema Design (Дизайн схемы):
- Нормализация данных и выбор типов данных.
- Инструменты: Schema Analyzer, Data Modeling Tools, Foreign Key Checker.
- Влияние: устранение избыточности и улучшение производительности.

5. Locking & Deadlocks (Блокировки и взаимоблокировки):
- Мониторинг и предотвращение длительных блокировок.
- Инструменты: Deadlock Monitor, Lock Wait Analysis, Transaction Isolation.
- Влияние: снижение производительности из-за блокировок.

6. Partitioning Strategy (Стратегия партиционирования):
- Горизонтальное и вертикальное разделение больших таблиц.
- Инструменты: Range Partitioning, Hash Partitioning, Partition Pruning.
- Влияние: улучшение производительности запросов.

7. Backup Impact (Влияние резервного копирования):
- Неблокирующее резервное копирование и его влияние на производительность.
- Инструменты: Point-in-Time Recovery, Snapshot Backups, Incremental Backups.
- Влияние: замедление работы системы во время резервного копирования.

8. Statistics & Query Planning (Статистика и планирование запросов):
- Поддержание актуальности статистики для оптимизации запросов.
- Инструменты: AUTO_STATS, ANALYZE TABLE, Statistics Monitoring.
- Влияние: выбор неэффективных планов запросов и снижение производительности.

9. Replication Lag (Задержка репликации):
- Мониторинг и минимизация задержек репликации.
- Инструменты: Replication Monitor, Lag Alerts, Asynchronous Replication.
- Влияние: задержки в чтении данных и несогласованность данных.
8❤‍🔥1👍1🎉1🤮1
Уровни AI
👍12
В сертифицированных Android-устройствах запретят установку приложений от незарегистрированных разработчиков

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

В качестве причины введения ограничений называется желание усложнить распространение вредоносных приложений с использованием мошеннических схем, предлагающих загрузить и установить apk-пакет в обход каталога Google Play Store. По статистике Google через сторонние источники распространяется в 50 раз больше вредоносных программ для Android, чем фиксируется в Google Play Store.

Тестовое внедрение новой проверки начнётся в октябре 2025 года, а возможность прохождения верификации всех разработчиков приложений будет предоставлена в марте 2026 года. В сентябре 2026 года проверка станет обязательной в Бразилии, Индонезии, Сингапуре и Тайланде - любые приложения, устанавливаемые на сертифицированных устройствах в данных странах, должны быть зарегистрированы верифицированным разработчиком. В 2027 году практика запрета программ от неверифицированных разработчиков постепенно начнёт применяться и в других странах.

https://android-developers.googleblog.com/2025/08/elevating-android-security.html
#android
👎55🤡17👍62🤔2
В руководство по языку Python добавлена новая статья про Модуль sched и выполнение действий по расписанию
https://metanit.com/python/tutorial/6.12.php
#python
👍12🤮1
Краткий совет по Linux:

Используйте команду «tree» для отображения структуры каталога и его содержимого в визуальной иерархии.

$ tree -L 2 /etc

Здесь выводится список файлов и каталогов внутри /etc на 2 уровня в глубину.

Отлично подходит для быстрого изучения макетов конфигураций.

PS. На некоторых системах утилита tree может отсутствовать по умолчанию, тогда ее можно установить через пакетный менеджер, например, через apt: sudo apt install tree

#linux
👍21🔥8👏3
Четыре подхода в машинном обучении
(продолжение в следующем посте)
Четыре подхода в машинном обучении:
(продолжение предыдущего поста)

1. Transfer Learning (Перенос обучения):
Это метод, при котором модель, обученная на одной задаче, используется как основа для решения другой, связанной задачи.
- Используется предварительно обученная сеть, которая не обучается заново.
- Новые данные проходят через эту сеть, и результат используется для решения задачи.

2. Fine Tuning (Тонкая настройка):
Процесс дообучения предварительно обученной модели на новом наборе данных, чтобы адаптировать её к конкретной задаче.
- Предварительно обученная сеть дообучается на новых данных.
- Добавляются новые слои, которые адаптируются к конкретной задаче.

3. Multi-task Learning:
Метод, при котором одна модель обучается выполнять несколько задач одновременно, используя общие и специализированные слои.
- Общая сеть используется для решения нескольких задач одновременно.
- Для каждой задачи добавляются отдельные ветви, которые обучаются параллельно.

4. Federated Learning (Федеративное обучение):
Подход, при котором обучение модели происходит на устройствах пользователей, а не на центральном сервере, что обеспечивает конфиденциальность данных.
- Модель обучается на устройствах пользователей с использованием их приватных данных.
- Обновленные веса отправляются на сервер, где они агрегируются и возвращаются обратно для дальнейшего обучения.
6🤮1
Рынок IT массово ищет специалистов по «вайб-кодингу»

Число вакансий с требованием навыка «вайб-кодинг» — программирования с помощью нейросетей — с начала 2025 года выросло на 27%. Об этом свидетельствуют данные исследования hh.ru. Медианная зарплата на таких позициях в Москве и Петербурге достигает 140 тыс. руб.

Подход, при котором разработчик формулирует задачу ИИ на естественном языке, а тот генерирует код, ускоряет работу и снижает порог входа в профессию. В «СберТехе» его называют стратегическим преимуществом для бизнеса.

Однако эксперты предупреждают о рисках: код становится более «тяжелым», уязвимым и дорогим в поддержке. Для минимизации угроз в компании возвращают обязательный код-ревью и фиксируют ответственность за проверку решений ИИ.

https://www.kommersant.ru/doc/7990356
https://www.kommersant.ru/doc/7990371
🤣28🤡6👎4👍2
Вайб-кодинг это деградация или прогресс?
Anonymous Poll
24%
Прогресс
76%
Деградация
🤣20🤔8🤷‍♂7😭3🌚1
Исследователи Стэнфордского университета провели исследование на тему влияния ИИ на занятость и пришли к выводу, что ИИ затрудняет поиск работы для начинающих технических специалистов

В начале карьеры (в возрасте 22–25 лет) в профессиях, связанных с искусственным интеллектом, наблюдается снижение занятости на 13%

Сокращение занятости наблюдается в основном в тех профессиях, где ИИ, скорее всего, автоматизирует, а не дополняет человеческий труд

Напротив, занятость работников в менее подверженных воздействию ИИ областях и более опытных работников в тех же профессиях оставалась стабильной или продолжала расти.

Общие выводы исследователей о недавнем влиянии ИИ на рынок труда:
• существенное снижение занятости среди молодых работников в профессиях, наиболее подверженных влиянию ИИ, таких как разработка программного обеспечения и поддержка клиентов.
• занятость в экономике в целом продолжает расти, но рост занятости среди молодых работников стагнирует.
• занятость на начальном уровне снизилась в приложениях ИИ, автоматизирующих работу, при этом эффект для тех, кто её дополняет, был сдержанным.
• это снижение занятости сохраняется после учета влияния временных факторов, связанных с работой в компании, с относительным снижением занятости на 13% среди молодых работников в профессиях, наиболее подверженных влиянию ИИ.
• эти корректировки на рынке труда более заметны в сфере занятости, чем в сфере оплаты труда.
• эти закономерности сохраняются в профессиях, не затронутых удалённой работой, и в различных альтернативных структурах выборки.

Таким образом, генеративный ИИ уже начал оказывать значительное влияние на занятостьна начальном уровне.

Само исследование: https://digitaleconomy.stanford.edu/wp-content/uploads/2025/08/Canaries_BrynjolfssonChandarChen.pdf
👍7🤬4👎2😢2
Шпаргалка по утилите sar для мониторинга производительности в Linux #linux
10👍4😁2
Проект LLVM представил новый релиз - LLVM 21.1.0 - инструментарий, который объединяет компиляторы, оптимизаторы и генераторы кода и который используется многими системами и компиляторами.
И также вышел новая верси компилятора Clang - Clang 21, поддерживающий языки программирования C, C++ и Objective-C
Основные нововведения в Clang 21:

Для С++:
- реализована возможность использования константных выражений в ассемблерных вставках, определяемых директивой "asm":
- добавлена возможность вычисления на этапе компиляции (в контексте константного выражения) лямбда-функций
- добавлены расширенные варианты выражений "new" и "delete", поддерживающие аргумент "std::type_identity<T>", через который можно указать информацию о типе объекта, для которого выделяется или освобождается память.
- добавлена возможность использования синтаксиса "..." для указания оставшегося числа элементов последовательности.
- добавлена возможность применения структурированного связывания (structured binding) в качестве условия в операторах "if" и "switch".
- добавлены новые префиксы для восьмеричных литералов - "0o" и "0O", а также восьмеричные и шестнадцатеричные escape-последовательности "\o{...}" и "\x{...}". Поддержка восьмеричных литералов 0xxx объявлена устаревшей. Например, "0o123" и "\o{123}" вместо "0123".
- добавлен оператор "_Countof" для определения количества элементов в массиве. Также добавлен заголовочный файл stdcountof.h, определяющий вариант макроса "countof", реализованный через "_Countof".

Для Си стандарта C23:
- разрешено переопределять tag‑типы (struct, union, enum) в пределах одного блока трансляции, если повторные определения структурно эквивалентны (то же число членов, одинаковые типы и имена тегов).
- упрощено использование списков с переменным числом аргументов (variadic)
- добавлена совместимая с GCC встроенная функция "__builtin_c23_va_start()", улучшающая поведение диагностики для макроса va_start() в режиме C23.
- разрешено использовать квалификатор "restrict" для типов массивов с элементами-указателями.

Также добавлен ряд новых предупреждений и флагов компилятора. Расширены средства диагностики и статического анализа, добавлены новые проверки, связанных с диагностикой.
Улучшены бэкенды для архитектур ARM, Aarch64, AMDGPU, x86, RISC-V, LoongArch, MIPS и PowerPC. В бэкенд для RISC-V добавлена экспериментальная поддержка ассемблера для расширений Qualcomm uC, Andes и SiFive.

https://discourse.llvm.org/t/llvm-21-1-0-released/88066
🔥10👍43🤮1
This media is not supported in your browser
VIEW IN TELEGRAM
Как выглядит современный вайб-кодинг: чел делает миксы параллельно с кодингом
🤮43🤡217🤣6👎2🥴2👍1🤯1
Шпаргалка по политикам аудита событий в Windows #windows
🔥5🤔2👏1
Как работает MongoDB
(продолжение в следующем посте)
🔥5👏2🤔2🤮1
Как работает MongoDB
(продолжение предыдущего поста)

MongoDB был создан из необходимости. Основатели столкнулись с проблемами при создании масштабных веб-приложений с использованием существующих баз данных.
По мере роста интернета, появления всё более динамичных веб-сайтов и приложений, старые инструменты баз данных не справлялись с нагрузкой.
MongoDB был разработан для заполнения этого пробела.

MongoDB предложил гибкость, масштабируемость и простоту использования, которые были необходимы разработчикам для нового веба.

MongoDB в основном написан на C++, но использует JavaScript для своей оболочки и Python для некоторых инструментов и драйверов.

📌 Как рабоатет MongoDB
* По своей сути MongoDB — это NoSQL, документоориентированная база данных.
* Традиционные реляционные базы данных хранят данные в таблицах и строках.

Но:
* MongoDB «внутренне» хранит данные в бинарном формате, называемом BSON (Binary JSON).
* BSON — это расширенный набор JSON.
* Он может представлять всё, что может JSON, плюс дополнительные типы данных, такие как даты и бинарные данные.
* BSON более компактен, чем JSON, что уменьшает объём памяти и повышает производительность.
* Такая структура позволяет более естественно представлять реальные объекты и связи между ними.

📌 Разберём архитектуру MongoDB

1. Модель документов
Гибкие, похожие на JSON документы хранят данные, позволяя использовать различные структуры и вложенные объекты.

2. Коллекции
Группы документов, аналогичные таблицам, но без схемы, обеспечивающие гибкую организацию.

3. mongod
Основной процесс, обрабатывающий хранение, запросы и администрирование (основной демон-процесс).

4. mongos (если используется шардирование)
Маршрутизирует запросы в распределённом кластере к правильным разделам данных (соответствующим шардам).

5. Реплика-сеты
Несколько узлов поддерживают копии данных, обеспечивая высокую доступность и отказоустойчивость.

6. Шардирование
Горизонтальное масштабирование путём распределения данных по нескольким серверам для больших наборов данных и высокой нагрузки.

7. Индексы
Структуры данных для ускорения запросов, поддерживающие различные типы для разных шаблонов доступа.

8. WiredTiger
Механизм хранения по умолчанию, оптимизированный для использования памяти и диска с контролем параллелизма.

9. Фреймворк агрегации
Мощный конвейерный фреймворк для сложного анализа и преобразования данных.

10. Язык запросов
Выразительный язык для фильтрации, сортировки, проецирования и агрегации данных.

📌 Некоторые варианты использования
1. Управление контентом.
2. Аналитика в реальном времени.
3. Интернет вещей (IoT).
4. Мобильные приложения.
5. Каталоги продукции.

📌 Проблемы
1. Транзакции
Использует модель «snapshot isolation», которая может иметь последствия для приложений, требующих строгих гарантий ACID.

2. Моделирование данных
Гибкость требует продуманного проектирования.

3. Соединения
MongoDB не поддерживает традиционные SQL-соединения.

4. Операционные затраты
MongoDB может требовать больше операционных знаний.

5. Стоимость
MongoDB может быть дорогим в эксплуатации, особенно при масштабировании.
🔥53👏2🤮1