OTUS на Хабр: лучшие статьи ноября

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 может быть сознательным (если присмотреться). Он считает, что мир должен осознать истинную силу технологии, над созданием которой работает его компания и другие технологические гиганты. А также придерживается мнения, что какая-то часть людей однажды решит слиться с машинами.

Читать далее

OTUS на Хабр: лучшие статьи ноября