Исследователи Стэнфордского университета провели исследование на тему влияния ИИ на занятость и пришли к выводу, что ИИ затрудняет поиск работы для начинающих технических специалистов
В начале карьеры (в возрасте 22–25 лет) в профессиях, связанных с искусственным интеллектом, наблюдается снижение занятости на 13%
Сокращение занятости наблюдается в основном в тех профессиях, где ИИ, скорее всего, автоматизирует, а не дополняет человеческий труд
Напротив, занятость работников в менее подверженных воздействию ИИ областях и более опытных работников в тех же профессиях оставалась стабильной или продолжала расти.
Общие выводы исследователей о недавнем влиянии ИИ на рынок труда:
• существенное снижение занятости среди молодых работников в профессиях, наиболее подверженных влиянию ИИ, таких как разработка программного обеспечения и поддержка клиентов.
• занятость в экономике в целом продолжает расти, но рост занятости среди молодых работников стагнирует.
• занятость на начальном уровне снизилась в приложениях ИИ, автоматизирующих работу, при этом эффект для тех, кто её дополняет, был сдержанным.
• это снижение занятости сохраняется после учета влияния временных факторов, связанных с работой в компании, с относительным снижением занятости на 13% среди молодых работников в профессиях, наиболее подверженных влиянию ИИ.
• эти корректировки на рынке труда более заметны в сфере занятости, чем в сфере оплаты труда.
• эти закономерности сохраняются в профессиях, не затронутых удалённой работой, и в различных альтернативных структурах выборки.
Таким образом, генеративный ИИ уже начал оказывать значительное влияние на занятостьна начальном уровне.
Само исследование: https://digitaleconomy.stanford.edu/wp-content/uploads/2025/08/Canaries_BrynjolfssonChandarChen.pdf
В начале карьеры (в возрасте 22–25 лет) в профессиях, связанных с искусственным интеллектом, наблюдается снижение занятости на 13%
Сокращение занятости наблюдается в основном в тех профессиях, где ИИ, скорее всего, автоматизирует, а не дополняет человеческий труд
Напротив, занятость работников в менее подверженных воздействию ИИ областях и более опытных работников в тех же профессиях оставалась стабильной или продолжала расти.
Общие выводы исследователей о недавнем влиянии ИИ на рынок труда:
• существенное снижение занятости среди молодых работников в профессиях, наиболее подверженных влиянию ИИ, таких как разработка программного обеспечения и поддержка клиентов.
• занятость в экономике в целом продолжает расти, но рост занятости среди молодых работников стагнирует.
• занятость на начальном уровне снизилась в приложениях ИИ, автоматизирующих работу, при этом эффект для тех, кто её дополняет, был сдержанным.
• это снижение занятости сохраняется после учета влияния временных факторов, связанных с работой в компании, с относительным снижением занятости на 13% среди молодых работников в профессиях, наиболее подверженных влиянию ИИ.
• эти корректировки на рынке труда более заметны в сфере занятости, чем в сфере оплаты труда.
• эти закономерности сохраняются в профессиях, не затронутых удалённой работой, и в различных альтернативных структурах выборки.
Таким образом, генеративный ИИ уже начал оказывать значительное влияние на занятостьна начальном уровне.
Само исследование: https://digitaleconomy.stanford.edu/wp-content/uploads/2025/08/Canaries_BrynjolfssonChandarChen.pdf
👍7🤬4👎2😢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
И также вышел новая верси компилятора 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
LLVM Discussion Forums
LLVM 21.1.0 Released!
We are happy to announce that LLVM 21.1.0 is now released! This includes the main LLVM project, and its subprojects including clang, lld, libc++, and MLIR. Huge thanks to everyone that contributed, reviewed, provide support and in any other way contributed…
🔥10👍4⚡3🤮1
This media is not supported in your browser
VIEW IN TELEGRAM
Как выглядит современный вайб-кодинг: чел делает миксы параллельно с кодингом
🤮43🤡21❤7🤣6👎2🥴2👍1🤯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 может быть дорогим в эксплуатации, особенно при масштабировании.
(продолжение предыдущего поста)
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 может быть дорогим в эксплуатации, особенно при масштабировании.
Telegram
METANIT.COM
Как рабоатет MongoDB
(продолжение в следующем посте)
(продолжение в следующем посте)
🔥5❤3👏2🤮1
В России начинают готовить врачей с IT-навыками
Цифровая грамотность становится условием для работы врачом; некоторые вузы в мире и в России начинают готовить медицинские кадры с базовыми IT-навыками, заявил министр здравоохранения РФ Михаил Мурашко.
"Все диагностические приборы, которые мы сегодня используем, или приборы, которые используются для лечения - они совершенно иного формата. Цифровая грамотность - это условие (...). В мире уже ряд вузов и наши начинают готовить самые передовые (медицинские кадры - ИФ) с базовыми IT-навыками, которые будут привносить изменения не только как специалисты-медики, но и IT-специалисты, и у них сегодня кардинальное преимущество", - сказал Мурашко на Всероссийском форуме волонтеров-медиков в четверг.
По его словам, раньше говорили о том, что врачу необходима цифровая грамотность на уровне пользователя. "Сегодня говорить о цифровой грамотности только на уровне пользователя - это неправильно", - отметил министр. Само программирование в настоящее время становится более доступным с использованием искусственного интеллекта, добавил глава Минздрава РФ.
https://www.interfax.ru/russia/1044572
PS. А писать код врачи будут также понятно, как они пишут рецепты
Цифровая грамотность становится условием для работы врачом; некоторые вузы в мире и в России начинают готовить медицинские кадры с базовыми IT-навыками, заявил министр здравоохранения РФ Михаил Мурашко.
"Все диагностические приборы, которые мы сегодня используем, или приборы, которые используются для лечения - они совершенно иного формата. Цифровая грамотность - это условие (...). В мире уже ряд вузов и наши начинают готовить самые передовые (медицинские кадры - ИФ) с базовыми IT-навыками, которые будут привносить изменения не только как специалисты-медики, но и IT-специалисты, и у них сегодня кардинальное преимущество", - сказал Мурашко на Всероссийском форуме волонтеров-медиков в четверг.
По его словам, раньше говорили о том, что врачу необходима цифровая грамотность на уровне пользователя. "Сегодня говорить о цифровой грамотности только на уровне пользователя - это неправильно", - отметил министр. Само программирование в настоящее время становится более доступным с использованием искусственного интеллекта, добавил глава Минздрава РФ.
https://www.interfax.ru/russia/1044572
PS. А писать код врачи будут также понятно, как они пишут рецепты
Интерфакс
В России начинают готовить врачей с IT-навыками
Цифровая грамотность становится условием для работы врачом; некоторые вузы в мире и в России начинают готовить медицинские кадры с базовыми IT-навыками, заявил министр здравоохранения РФ Михаил Мурашко."Все диагностические приборы, которые мы сегодня используем…
😁27😱6🤡4🤣4👍1💩1
22 базовых шаблона проектирования облачных систем
Шаблоны обеспечения доступа
1. Предохранитель (Circuit Breaker)
Останавливает сервис от повторных попыток выполнения неудачной операции.
2. Повтор (Retry)
Позволяет приложению обрабатывать временные сбои при попытке подключения к сервису или сетевому ресурсу.
3. Регулирование нагрузки (Throttling)
Контролирует потребление ресурсов, используемых экземпляром приложения, отдельным клиентом или целым сервисом.
4. Мониторинг работоспособности (Health Endpoint Monitoring)
Отслеживает состояние приложения и его компонентов.
5. Выравнивание нагрузки на основе очереди (Queue-Based Load Leveling)
Использует очередь как буфер между задачей и сервисом, который она вызывает.
6. Супервизор планировщика агентов (Scheduler Agent Supervisor)
Координирует набор действий в распределённом наборе сервисов и других удалённых ресурсов.
Шаблоны управления данными
7. Кэширование по требованию (Cache-Aside)
Загружает данные по запросу из хранилища данных в кэш.
8. CQRS
Разделяет операции чтения данных от операций обновления данных с помощью отдельных интерфейсов.
9. Event Sourcing
Использует хранилище только для добавления записей, чтобы фиксировать полную серию событий, описывающих действия над данными в домене.
10. Materialized View
Создаёт предварительно заполненное представление данных в средах, где исходные данные не подходят для запросов.
11. Шардинг (Sharding)
Разделяет хранилище данных на набор горизонтальных разделов или шардов.
12. Valet Key
Использует токен или ключ, который предоставляет клиентам ограниченный прямой доступ к определённому ресурсу или сервису.
Шаблоны проектирования и реализации
13. Посредник (Ambassador)
Использует вспомогательный сервис, который отправляет сетевые запросы от имени потребительского сервиса или приложения.
14. Anti-corruption Layer
Реализует фасад между новыми и устаревшими приложениями.
15. Бэкенды для фронтендов (BFF)
Создаёт отдельные бэкенд-сервисы для использования конкретными фронтенд-приложениями или интерфейсами.
16. Консолидация вычислительных ресурсов (Compute Resource Consolidation)
Объединяет несколько задач или рабочих нагрузок на меньшее количество вычислительных ресурсов.
17. Внешнее хранилище конфигурации (External Configuration Store)
Перемещает информацию о конфигурации из пакета развёртывания приложения в централизованное хранилище.
18. Gatekeeper
Защищает бэкенд-сервисы и API от запросов из разных источников (CORS), не имеющих действительных токенов аутентификации.
19. Sidecar
Развёртывает компоненты приложения в отдельный процесс или контейнер для обеспечения изоляции и инкапсуляции.
20. Strangler Fig
Постепенно мигрирует устаревшую систему путём постепенной замены определённых функциональных элементов новыми приложениями и сервисами.
Шаблоны обмена сообщениями
21. Конкурирующие потребители (Competing Consumers)
Позволяет нескольким параллельным потребителям обрабатывать сообщения, полученные по одному каналу обмена сообщениями.
22. Очередь приоритетов (Priority Queue)
Обрабатывает сообщения на основе их приоритета.
Шаблоны обеспечения доступа
1. Предохранитель (Circuit Breaker)
Останавливает сервис от повторных попыток выполнения неудачной операции.
2. Повтор (Retry)
Позволяет приложению обрабатывать временные сбои при попытке подключения к сервису или сетевому ресурсу.
3. Регулирование нагрузки (Throttling)
Контролирует потребление ресурсов, используемых экземпляром приложения, отдельным клиентом или целым сервисом.
4. Мониторинг работоспособности (Health Endpoint Monitoring)
Отслеживает состояние приложения и его компонентов.
5. Выравнивание нагрузки на основе очереди (Queue-Based Load Leveling)
Использует очередь как буфер между задачей и сервисом, который она вызывает.
6. Супервизор планировщика агентов (Scheduler Agent Supervisor)
Координирует набор действий в распределённом наборе сервисов и других удалённых ресурсов.
Шаблоны управления данными
7. Кэширование по требованию (Cache-Aside)
Загружает данные по запросу из хранилища данных в кэш.
8. CQRS
Разделяет операции чтения данных от операций обновления данных с помощью отдельных интерфейсов.
9. Event Sourcing
Использует хранилище только для добавления записей, чтобы фиксировать полную серию событий, описывающих действия над данными в домене.
10. Materialized View
Создаёт предварительно заполненное представление данных в средах, где исходные данные не подходят для запросов.
11. Шардинг (Sharding)
Разделяет хранилище данных на набор горизонтальных разделов или шардов.
12. Valet Key
Использует токен или ключ, который предоставляет клиентам ограниченный прямой доступ к определённому ресурсу или сервису.
Шаблоны проектирования и реализации
13. Посредник (Ambassador)
Использует вспомогательный сервис, который отправляет сетевые запросы от имени потребительского сервиса или приложения.
14. Anti-corruption Layer
Реализует фасад между новыми и устаревшими приложениями.
15. Бэкенды для фронтендов (BFF)
Создаёт отдельные бэкенд-сервисы для использования конкретными фронтенд-приложениями или интерфейсами.
16. Консолидация вычислительных ресурсов (Compute Resource Consolidation)
Объединяет несколько задач или рабочих нагрузок на меньшее количество вычислительных ресурсов.
17. Внешнее хранилище конфигурации (External Configuration Store)
Перемещает информацию о конфигурации из пакета развёртывания приложения в централизованное хранилище.
18. Gatekeeper
Защищает бэкенд-сервисы и API от запросов из разных источников (CORS), не имеющих действительных токенов аутентификации.
19. Sidecar
Развёртывает компоненты приложения в отдельный процесс или контейнер для обеспечения изоляции и инкапсуляции.
20. Strangler Fig
Постепенно мигрирует устаревшую систему путём постепенной замены определённых функциональных элементов новыми приложениями и сервисами.
Шаблоны обмена сообщениями
21. Конкурирующие потребители (Competing Consumers)
Позволяет нескольким параллельным потребителям обрабатывать сообщения, полученные по одному каналу обмена сообщениями.
22. Очередь приоритетов (Priority Queue)
Обрабатывает сообщения на основе их приоритета.
❤6💘3🔥1👏1
Буферизация страниц данных MySQL и Postgres
Движок InnoDB в MySQL использует подход, обеспечивающий больший контроль: с помощью innodb_flush_method='O_DIRECT' он может обойти большую часть накладных расходов на кэш страниц ОС, предпочитая управление самостоятельно. innodb_buffer_pool_size определяет объём оперативной памяти, используемый для этого кэша. На выделенных серверах баз данных этот размер часто составляет 70 %+ от общего объёма оперативной памяти.
Он делит это пространство на несколько подэкземпляров буфера, каждый из которых поддерживает двухчастный список LRU-страниц: список новых страниц и список старых страниц. Новые страницы попадают в старый список и должны сохраняться без вытеснения в течение определённого времени (innodb_old_blocks_time), прежде чем им будет разрешено попасть в список новых страниц. Это предотвращает перегрузку при массовых операциях, таких как сканирование таблиц.
Postgres применяет подход, реализующий относительно более простой кэш, полагаясь при этом на кэш страниц ОС для управления загрузкой и извлечением страниц из оперативной памяти. Структура shared_buffers управляет размером и часто устанавливается на уровне ~30% от доступной оперативной памяти, оставляя достаточно места для кэша страниц ОС.
Postgres использует алгоритм «часовой очистки» для вытеснения. Каждая страница в shared_buffers ведёт счётчик, который увеличивается при использовании (до определённого предела) и уменьшается при заполнении. Когда счётчик ссылок достигает нуля, страница может быть заменена другой страницей.
Движок InnoDB в MySQL использует подход, обеспечивающий больший контроль: с помощью innodb_flush_method='O_DIRECT' он может обойти большую часть накладных расходов на кэш страниц ОС, предпочитая управление самостоятельно. innodb_buffer_pool_size определяет объём оперативной памяти, используемый для этого кэша. На выделенных серверах баз данных этот размер часто составляет 70 %+ от общего объёма оперативной памяти.
Он делит это пространство на несколько подэкземпляров буфера, каждый из которых поддерживает двухчастный список LRU-страниц: список новых страниц и список старых страниц. Новые страницы попадают в старый список и должны сохраняться без вытеснения в течение определённого времени (innodb_old_blocks_time), прежде чем им будет разрешено попасть в список новых страниц. Это предотвращает перегрузку при массовых операциях, таких как сканирование таблиц.
Postgres применяет подход, реализующий относительно более простой кэш, полагаясь при этом на кэш страниц ОС для управления загрузкой и извлечением страниц из оперативной памяти. Структура shared_buffers управляет размером и часто устанавливается на уровне ~30% от доступной оперативной памяти, оставляя достаточно места для кэша страниц ОС.
Postgres использует алгоритм «часовой очистки» для вытеснения. Каждая страница в shared_buffers ведёт счётчик, который увеличивается при использовании (до определённого предела) и уменьшается при заполнении. Когда счётчик ссылок достигает нуля, страница может быть заменена другой страницей.
Telegram
METANIT.COM
Иллюстрация к предыдущему посту
❤8🔥1👏1
Вице-президент по безопасности компании Anchore Джош Брессерс проанализировал данные проекта ecosystems и пришёл к выводу, что большинство опенсорс-проектов поддерживается одиночными разработчиками.
ecosystems каталогизирует проекты с открытым исходным кодом. Сейчас в базе данных сайта насчитывается 11,8 млн проектов. Около 7 млн из них разработчики поддерживают в одиночку. Существуют проекты и с сотнями сопровождающих, но их число гораздо ниже.
На основе анализа проектов NPM выяснилось, что множество проектов созданы одним человеком. Если говорить о пакетах с более чем 1 млн загрузок в этом месяце, то у половины из них всего один сопровождающий. Таким образом, примерно половину из 13 тысяч самых скачиваемых пакетов NPM курируют разработчики-одиночки.
Всего в экосистеме NPM с 4 млн проектов насчитали около 900 тысяч сопровождающих.
https://opensourcesecurity.io/2025/08-oss-one-person/
На первом графике количество проектов и количетсво их поддерживающих, второй график - для пакетов с более 1 млн загрузок
ecosystems каталогизирует проекты с открытым исходным кодом. Сейчас в базе данных сайта насчитывается 11,8 млн проектов. Около 7 млн из них разработчики поддерживают в одиночку. Существуют проекты и с сотнями сопровождающих, но их число гораздо ниже.
На основе анализа проектов NPM выяснилось, что множество проектов созданы одним человеком. Если говорить о пакетах с более чем 1 млн загрузок в этом месяце, то у половины из них всего один сопровождающий. Таким образом, примерно половину из 13 тысяч самых скачиваемых пакетов NPM курируют разработчики-одиночки.
Всего в экосистеме NPM с 4 млн проектов насчитали около 900 тысяч сопровождающих.
https://opensourcesecurity.io/2025/08-oss-one-person/
На первом графике количество проектов и количетсво их поддерживающих, второй график - для пакетов с более 1 млн загрузок
❤🔥9👏4🐳4
REST vs GraphQL
(продолжение предыдущего поста)
Что такое RESTful API?
Representational State Transfer (REST) — это архитектурный стиль для создания API. Он использует HTTP-методы, такие как GET, POST, PUT и DELETE, для взаимодействия с ресурсами, которые идентифицируются по URL-адресам.
Как работает REST
* Клиент отправляет HTTP-запрос на определённый эндпоинт (например, /users).
* Сервер обрабатывает запрос и возвращает ответ в формате JSON или XML.
* Каждый запрос является независимым и не сохраняет состояние.
Преимущества REST
* Простота и широкое распространение.
* Использование стандартных HTTP-методов.
* Лёгкость масштабирования и кэширования.
* Хорошая совместимость с веб- и мобильными приложениями.
Недостатки REST
* Избыточный запрос данных: клиенты могут получать больше данных, чем необходимо.
* Недостаточный запрос данных: может потребоваться несколько запросов для получения всех необходимых данных.
Что такое GraphQL?
GraphQL — это язык запросов для API, разработанный компанией Facebook. Он позволяет клиентам запрашивать именно те данные, которые им необходимы с сервера.
Как работает GraphQL
* Клиент отправляет запрос, указывая точные необходимые поля.
* Сервер отвечает только запрошенными данными в структурированном формате.
* Один запрос может получить данные из нескольких источников.
Преимущества GraphQL
* Отсутствие избыточного или недостаточного запроса данных.
* Гибкие и эффективные запросы.
* Строго типизированная схема для валидации.
* Отлично подходит для сложных приложений.
Недостатки GraphQL
* Более сложная реализация.
* Требует настройки схемы.
* Кэширование сложнее по сравнению с REST.
REST против GraphQL
* REST: ориентирован на ресурсы, использует несколько эндпоинтов.
* GraphQL: ориентирован на запросы, использует один эндпоинт.
* REST: может требовать несколько вызовов для получения сложных данных.
* GraphQL: получает все необходимые данные за один запрос.
(продолжение предыдущего поста)
Что такое RESTful API?
Representational State Transfer (REST) — это архитектурный стиль для создания API. Он использует HTTP-методы, такие как GET, POST, PUT и DELETE, для взаимодействия с ресурсами, которые идентифицируются по URL-адресам.
Как работает REST
* Клиент отправляет HTTP-запрос на определённый эндпоинт (например, /users).
* Сервер обрабатывает запрос и возвращает ответ в формате JSON или XML.
* Каждый запрос является независимым и не сохраняет состояние.
Преимущества REST
* Простота и широкое распространение.
* Использование стандартных HTTP-методов.
* Лёгкость масштабирования и кэширования.
* Хорошая совместимость с веб- и мобильными приложениями.
Недостатки REST
* Избыточный запрос данных: клиенты могут получать больше данных, чем необходимо.
* Недостаточный запрос данных: может потребоваться несколько запросов для получения всех необходимых данных.
Что такое GraphQL?
GraphQL — это язык запросов для API, разработанный компанией Facebook. Он позволяет клиентам запрашивать именно те данные, которые им необходимы с сервера.
Как работает GraphQL
* Клиент отправляет запрос, указывая точные необходимые поля.
* Сервер отвечает только запрошенными данными в структурированном формате.
* Один запрос может получить данные из нескольких источников.
Преимущества GraphQL
* Отсутствие избыточного или недостаточного запроса данных.
* Гибкие и эффективные запросы.
* Строго типизированная схема для валидации.
* Отлично подходит для сложных приложений.
Недостатки GraphQL
* Более сложная реализация.
* Требует настройки схемы.
* Кэширование сложнее по сравнению с REST.
REST против GraphQL
* REST: ориентирован на ресурсы, использует несколько эндпоинтов.
* GraphQL: ориентирован на запросы, использует один эндпоинт.
* REST: может требовать несколько вызовов для получения сложных данных.
* GraphQL: получает все необходимые данные за один запрос.
Telegram
METANIT.COM
REST vs GraphQL
(продолжение в следующем посте)
(продолжение в следующем посте)
👍10❤8👏1
Управление доступом в Linux
Когда пользователь входит в систему, процесс аутентификации устанавливает идентификатор пользователя (UID) и идентификатор группы (GID), а также запускает оболочку пользователя.
Процесс bash
Процесс оболочки (bash) имеет набор идентификаторов, которые используются в его структуре. Эти идентификаторы наследуются его дочерними процессами.
Типы идентификаторов
- Реальный: UID и GID — это пользователь и группа, владеющие процессом.
- Эффективный: EUID и EGID — используются ядром для контроля доступа к объектам, не являющимся файлами.
- Сохранённый: SUID и SGID — сохраняют исходный EUID, позволяя привилегированному процессу переключиться обратно.
- Файловая система: FSID и FSGID — используются ядром для контроля доступа к файловым объектам (обычно те же, что и EUID/EGID).
- Дополнительные GID: GID, используемые для файлового доступа.
Когда пользователь входит в систему, процесс аутентификации устанавливает идентификатор пользователя (UID) и идентификатор группы (GID), а также запускает оболочку пользователя.
Процесс bash
Процесс оболочки (bash) имеет набор идентификаторов, которые используются в его структуре. Эти идентификаторы наследуются его дочерними процессами.
Типы идентификаторов
- Реальный: UID и GID — это пользователь и группа, владеющие процессом.
- Эффективный: EUID и EGID — используются ядром для контроля доступа к объектам, не являющимся файлами.
- Сохранённый: SUID и SGID — сохраняют исходный EUID, позволяя привилегированному процессу переключиться обратно.
- Файловая система: FSID и FSGID — используются ядром для контроля доступа к файловым объектам (обычно те же, что и EUID/EGID).
- Дополнительные GID: GID, используемые для файлового доступа.
👍7🔥3🥰1
Руководитель Nvidia Дженсен Хуанг в интервью высказал мнение, что ИИ "вероятно" приведет к четырехдневной рабочей неделе. Его логика — как и в прошлые индустриальные революции, рост производительности меняет социальные привычки, поэтому мы уже видели переход с 7 на 6, а затем на 5 дней. Благодаря автоматизации экономика и производительность вырастут.
При этом Хуанг считает, что в оставшиеся 4 рабочих дня люди станут даже более "занятыми", чем сейчас. ИИ будет брать на себя значительную часть рутины, поэтому работники смогут чаще и быстрее браться за новые идеи.
Хуанг предупреждает, что ИИ поменяет почти каждую профессию, причем некоторые исчезнут полностью, но на их место придут другие. Он уверен, что качество жизни в любом случае со временем улучшится.
https://www.foxbusiness.com/video/6377597758112
При этом Хуанг считает, что в оставшиеся 4 рабочих дня люди станут даже более "занятыми", чем сейчас. ИИ будет брать на себя значительную часть рутины, поэтому работники смогут чаще и быстрее браться за новые идеи.
Хуанг предупреждает, что ИИ поменяет почти каждую профессию, причем некоторые исчезнут полностью, но на их место придут другие. Он уверен, что качество жизни в любом случае со временем улучшится.
https://www.foxbusiness.com/video/6377597758112
Fox Business
Nvidia CEO: We are at the beginning of the AI revolution | Fox Business Video
Nvidia co-founder and CEO Jensen Huang explains the development of the technology on 'The Claman Countdown.'
🤡27👍9🤷♂3🌭3🙈3❤1