concurrent.futures в Python
В этой статье рассмотрим библиотеку в Python для работы с параллельным выполнением задач — concurrent.futures.
Каждый разработчик сталкивается с ситуациями, когда необходимо выполнять задачи параллельно. Это может быть I/O-операции, которые блокируют основной поток, или вычисления, требующие большого объема процессорных ресурсов. Здесь на помощь приходит concurrent.futures — модуль, предоставляющий высокоуровневый интерфейс для асинхронного и параллельного выполнения задач.
Какие преимущества предоставляет этот модуль?
- Простота использования
- Автоматическое масштабирование
- Удобная обработка результатов
- Отсутствие необходимости заботиться о GIL
Доклад Алексея Старовойтова на Linux Security Summit Europe 2023: BPF и безопасность
Виртуальная машина eBPF, работающая в ядре Linux, приближается к десятилетнему юбилею своего включения в состав Linux; за это время она успела превратиться в инструмент, имеющий целое множество применений в этой экосистеме. Алексей Старовойтов (Alexei Starovoitov), который является создателем eBPF и занимался ее развитием, особенно на начальном этапе, выступил на открытии Linux Security Summit Europe 2023 с докладом о взаимосвязи BPF и безопасности. В нем он поделился с нами интересными историческими моментами в несколько иной перспективе, нежели они обычно раскрываются. Среди прочего, он рассказал, как BPF на протяжении всего своего пути была одновременно и проблемой безопасности, и ее решением.
Что GCC делает для усиления защиты ядра?
Усиление защиты ядра Linux — это задача, предполагающая постоянную работу сразу по нескольким направлениям. И иногда эта работа может быть выполнена даже не в самом ядре, а с помощью других инструментов, или даже в компиляторах. На конференции 2023 GNU Tools Cauldron Цин Чжао (Qing Zhao) рассказала о работе, проделанной в компиляторе GCC для укрепления ядра, а также о работе, которую еще предстоит проделать.
100 промптов для ChatGPT
Конечно, не стоит ожидать, что в текущем виде ChatGPT способна проделать за вас работу, поскольку она еще слишком нова и наивна, хотя и учится и совершенствуется с каждым днем. Но при этом ChatGPT вполне может помогать искать ошибки в коде и быстро сгенерировать простой код. Вместо того чтобы тратить часы на поиск решений на Stack Overflow, задайте вопрос ChatGPT, и он решит задачу за считанные минуты.
Но для выполнения этих задач нужны правильные промпты, написать которые иногда не так просто, как кажется. В этой статье увидите, какие промпты можно использовать для работы с ChatGPT, а также в целом больше узнаете о том, с какими микрозадачами он может помочь.
Теория сложности
Теория сложности представляет собой концепцию о том, что сложные системы — это не просто совокупность частей, но скорее сеть взаимодействий, которые порождают новые, часто непредсказуемые явления.
Формулы, используемые в теории сложности, часто связаны с вычислительной сложностью задач. Например, NP-полные задачи, которые являются одними из самых сложных для вычисления, описываются с помощью полиномиальных уравнений. Сложность задачи может быть выражена как O(n^k), где n — размер входных данных, а k — степень, определяющая сложность алгоритма.
Теория сложности помогает определить, как малые изменения в одной части системы могут вызывать значительные и часто неочевидные последствия в других ее частях.
Разбор crackme от KilLo (.net)
Crackme — это программы, созданные специально для того, чтобы их взломать. Подходы и методики, использованные в статье, ни в коем случае не должны применяться к программному обеспечению, производителями которого подобные действия не одобрены явно. Материал опубликован исключительно в образовательных целях, и не предназначен для получения нелегального доступа к возможностям программного обеспечения в обход механизмов защиты, установленных производителем.
Основы Identity and Access Management (IAM) в архитектуре приложений
С каждым годом мы становимся свидетелями все большего количества сбоев в системах безопасности, утечек данных и хакерских атак даже на самые маленькие проекты.
Identity and Access Management (IAM) выступает как наша первая линия обороны. Оно не просто защищает наши данные, но и гарантирует, что правильные люди имеют доступ к нужной информации в нужное время. Каждая вторая транзакция в мире происходит онлайн, безопасность становится не просто приоритетом, а необходимостью.
IAM — это комплексная система, охватывающая многие процессы, которые организация использует для управления идентификацией пользователей и их доступом к различным ресурсам.
Garbage Collection и JVM
JVM работает как хорошо отлаженный механизм, автоматически распределяя и освобождая память. Это и есть суть Garbage Collection. Это процесс, который автоматически находит и удаляет объекты, которые больше не используются вашим приложением. Благодаря этому, разработчики могут сосредоточиться на логике приложения, не беспокоясь о ручном управлении памятью.
Знание того, как работает GC и JVM, необходимо каждому Java-разработчику. Правильное управление ресурсами напрямую влияет на производительность и стабильность приложений.
10 полезных Github репозиториев для тестировщиков
В этой статье содержится список из 10 репозиториев на Github, которые будут особенно полезны для ручных тестировщиков. В них можно найти дорожные карты для карьерного роста, рекомендации книг, списки курсов и множество инструментов для упрощения процесса тестирования. Независимо от вашего опыта, эта подборка поможет быстро сориентироваться в мире тестирования и оставаться на переднем крае этой динамичной области.
Илья Суцкевер, главный научный сотрудник OpenAI, о своих надеждах и опасениях относительно будущего ИИ
Вместо создания следующего GPT или генератора изображений DALL-E, новая приоритетная задача Ильи — выяснить, как остановить искусственный сверхинтеллект (гипотетическую технологию будущего, которую он видит с прозорливостью истинно верующего) так, чтобы он не стал «мошенником».
Суцкевер рассказал мне и о многом другом: ChatGPT может быть сознательным (если присмотреться). Он считает, что мир должен осознать истинную силу технологии, над созданием которой работает его компания и другие технологические гиганты. А также придерживается мнения, что какая-то часть людей однажды решит слиться с машинами.