Обновить
1024K+

Python *

Высокоуровневый язык программирования

449,66
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Как устроен словарь в CPython: compact dict, key sharing и что с ним делает free-threading

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели984

У dict в Python слишком простая внешность: положили ключ, достали значение, пошли дальше. Но за этим стоит один из самых вылизанных участков CPython — с компактным хранением, сохранением порядка вставки, общими ключами для экземпляров классов, оптимизациями доступа к атрибутам и новыми компромиссами из-за free-threading.

В статье разберём, почему обычный словарь давно перестал быть «просто хеш-таблицей», как его устройство влияет на память и скорость кода, и какие привычки Python-разработчика могут незаметно ломать быстрый путь интерпретатора.

Разобрать dict

Новости

Вредоносный PyTorch Lightning сливал пароли через скрытый JavaScript

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели5.8K

30 апреля на PyPI обнаружили новую версию PyTorch Lightning, которая при импорте скачивала Bun и запускала 11,4 МБ опасного JavaScript-вора. Цель — браузеры, облачные API, GitHub-токены. Всего одна строчка импорта: import lightning — и все ваши API-ключи и данные будут скомпрометированы! Полный разбор инцидента внутри.

Разобрать инцидент

Обновления функциональности GigaIDE за апрель 2026

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели4.8K

Как и в предыдущие месяцы, по итогам апреля мы решили рассказать про то, как изменилась GigaIDE за прошедший месяц. Ниже краткий обзор обновлений PRO-функциональности GigaIDE, который можно найти на нашем маркетплейсе.

Читать далее

Cпециальное предложение для разработчиков нейросетей:

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели4.9K

ПО для ПК дорого уже потому, что нужен ПК, да еще и с такой же дорогой видеокартой(ами). ПК проигрывает и в надежности, и в обслуживании, в тысячи раз проигрывает в работе без электропитания.

Спецлаб предоставляет разработчикам Non-PC-based устройство по цене оборудования с возможностью имплантации собственных нейронных сетей – поддерживается семейство ONNX.

FPGA продвинутого типа является универсальным устройством для большого круга задач. В нем есть место и распознаванию объектов, и контролю физических величин, и управлению устройствами, и промтовой логике, и архивам хранения, и аппаратным кодерам с декодерами в рамках разрешения 8К, и всем компьютерным интерфейсам.

В отличие от других, видеоблейзер имеет климатику с уровнем защищенности IP66, что делает его применимым в сложных погодных условиях.

Получить предложение...

Что именно сломалось: разбираем блокировки РКН/ТСПУ по слоям сетевого стека. Rkn Block Checker

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.2K

У вас не открывается сайт. Браузер пишет «Не удалось установить соединение». Это всё, что он знает — и это бесполезно.

Потому что «не открывается» - это как минимум четыре разных истории. DNS-резолвер провайдера соврал. ISP режет пакеты по IP. ТСПУ прочитал имя хоста в открытом поле TLS ClientHello и оборвал соединение. Или вы получили честный 200 OK - и страницу-заглушку «доступ ограничен по решению Роскомнадзора». В каждом случае нужно делать разное, и без понимания, на каком слое стоит фильтр, можно тыкаться в любую сторону и не угадать.

В статье разбираю все четыре механизма по слоям - снизу вверх, от DNS до HTTP - и показываю Python CLI, который запускает probes на каждом уровне и выдаёт диагноз: TCP_RESET, TLS_BLOCK, DNS_BLOCK, HTTP_STUB. Отдельно - про то, как «TCP открылся, а TLS handshake умер» становится надёжным отпечатком DPI на SNI, и почему параллельный стриминг результатов через as_completed радикально меняет UX по сравнению с pool.map().

Это диагностический инструмент, не средство обхода. Открытый код, MIT, pip install rkn-block-checker.

Читать далее

Основы парсинга сайтов: от HTML до готового датасета для NLP

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели5.7K

Даже сильная NLP‑модель быстро упирается в банальную проблему: ей нужны данные, причём не абстрактные «готовые датасеты», а тексты под конкретную задачу, домен и гипотезу.

В статье разберём базовый путь от HTML‑страницы до пригодного корпуса: как получать данные через HTTP‑запросы, доставать нужные элементы с помощью BeautifulSoup, работать с CSS‑селекторами, подключать Playwright для динамических сайтов и очищать сырой веб‑текст так, чтобы его уже можно было использовать в NLP‑пайплайне.

Читать далее

Правильная агентская архитектура в 2026 г. Часть 2. Durable state: approvals, session context и background jobs

Время на прочтение13 мин
Охват и читатели9.6K

Продолжаем строить durable ии-агента. Вторая часть пособия по созданию правильной агентской архитектуры в 2026 г.

Читать далее

SmileLadder. Цикл «Память и мозг». Как формируется память

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели11K

Недавно вышла в свет статья в уважаемоем научном издении Nature. Она натолкнула меня на идею показать как работает механизм внимания и как мозг формирует память. Это важно и дает ответ на вопрос о том, как вообще мы справляемся с огромным потоком задач нашего современного мира.

de Sousa, A.F., Zeidler, Z.E., Almeida‑Filho, D.G. et al. The prefrontal cortex controls memory organization in the hippocampus. Nat Neurosci (2026). https://doi.org/10.1038/s41593-026-02231-1

Читать далее

Сделаем Python безопасным… снова

Уровень сложностиСредний
Время на прочтение33 мин
Охват и читатели12K

Все мы любим Python за то, что он дает нам свободу: динамическую типизацию, кроссплатформенность, огромное количество библиотек и многое другое. Но зачастую эта свобода становится кошмаром для security‑инженеров и архитекторов, когда речь заходит о высоконагруженных системах с серьезными требованиями к безопасности.

В этой статье мы поговорим о том, как перехватить выполнение Python‑кода, запретить опасные вызовы и построить систему контрактов без изменения исходников.

Читать далее

Создание Python‑библиотеки для перевода исключений на русский язык

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8.4K

Большинство разработчиков очень боятся каждой ошибки в консоли Python. Всё моментально заливается красным, а порой понять суть ошибки без переводчика очень сложно. Сегодня я покажу, как сделать свою мини‑библиотеку для перевода всех консольных ошибок и предупреждений в Python. Это позволит сразу же понимать причину исключения и быстро вносить исправления в код. Проект подходит как для начинающих разработчиков, так и для опытных разработчиков, работающих со сложными библиотека или базами данных.

Читать далее

Аутентификация и авторизация в Python: сессии и JWT токены в Backend-разработке

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.3K

В современном мире разработки программного обеспечения аутентификация и авторизация являются ключевыми концепциями, необходимыми для обеспечения безопасности и контроля доступа пользователей. В статье рассмотрим основы регистрации, аутентификации и авторизации, а также два популярных механизма аутентификации — сессионный механизм и JWT токены. Разберем их принципы работы, отличия, плюсы и минусы, а также практические аспекты реализации на Python с использованием FastAPI и SQLAlchemy. 

Материал будет полезен как начинающим, так и опытным разработчикам, стремящимся углубить свои знания в backend-разработке и безопасности приложений.

Читать далее

Раскидываем транзакции начислений Ozon по SKU

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.9K

Если вы работали с API Ozon, то наверняка испытывали смешанные чувства, поняв, что отчет по транзакциям формируется по отправлениям. а не по товарам, как в WB. И проблема в том, что в одной строке ответа API метода v3/finance/transaction/list мы имеем данные по отправлению, в котором может быть несколько товаров. При этом указанная сумма покупки (accruals_for_sale), комиссии, логистики и других начислений в отчете указана одна, то есть на все отправление в целом. А значит встает задача, посчитать сколько из общей суммы приходится на единицу товара.

В этом статья поделюсь, как я решил эту проблему в своей системе аналитики продаж через Wildberries и Ozon. Напомню, небольшой обзор своей системы WBOZYA‑dash я делал в первой статье. А как получать данные из API маркетплейсов без ошибок 429 и 50x описал во второй статье.

Читать далее

Обратное распространение ошибки: от интуиции до кода

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели6.8K

Многие умеют вызывать loss.backward() в PyTorch, но не всегда понимают, что именно происходит под капотом. Как сеть вычисляет, какой из миллионов весов нужно изменить? В этой статье мы развеем магию обратного распространения ошибки (backprop). Разберем алгоритм на простых аналогиях с заводским конвейером, вспомним школьное правило дифференцирования и, чтобы закрепить понимание, напишем свой микро-фреймворк для автоматического вычисления градиентов на чистом Python с нуля.

Читать далее

Ближайшие события

Строим шину данных для микросервисов на ZeroMQ: failover, гарантии доставки и E2E-шифрование

Уровень сложностиСложный
Время на прочтение9 мин
Охват и читатели5.4K

Асинхронная клиент-серверная библиотека для обмена сообщениями между микросервисами на базе ZeroMQ. Реализует гарантированную доставку сообщений (At-Least-Once) с персистентной файловой очередью при обрывах связи, автоматический failover сервера переадресации (клиенты могут подхватывать роль сервера на лету) и два уровня защиты: шифрование канала (CurveZMQ) и сквозное шифрование сообщений (HMAC). Лёгкая альтернатива брокерам вроде RabbitMQ, не требующая отдельного сервера.

Читать далее

Можно ли заменить диктора open‑source TTS‑моделью: тестируем OmniVoice на русском языке

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели7.8K

Привет, Хабр! Меня зовут Музафаров Данил, я работаю DS инженером в компании Raft. В этой статье я протестирую OmniVoice — Open Source TTS модель, вокруг которой сейчас много внимания, и проверю, насколько хорошо она справляется с русскоязычными бизнес‑сценариями: числами, датами, ФИО, аббревиатурами, смешанным русско‑английским текстом, а также длинной озвучкой.

Читать далее

MCP в Cursor IDE: подключаем AI-агенту внешние данные без возни с API

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.5K

Cursor IDE умеет генерировать код, рефакторить, объяснять и дебажить. Но по умолчанию он видит только файлы в вашем проекте. Если нужно, чтобы агент сходил в Google Trends, проверил задачи в Jira или прочитал что-то из Notion, приходится копировать данные руками и вставлять в чат. Агент получается не особо автономным, каждый шаг требует вашего участия.

MCP даёт агенту инструменты — функции, которые тот вызывает сам, когда ему нужны внешние данные. Вместо «вот тебе CSV, проанализируй» вы пишете «проанализируй тренды по запросу X», и агент сам вызывает нужную функцию, получает данные и работает с ними.

Читать разбор

Мой первый ИИ: Пишем нейросеть на Python с нуля

Время на прочтение11 мин
Охват и читатели12K

Написал гайд для тех, кто хочет понять нейросети изнутри. Создаем свой ИИ для распознавания цифр на чистом Python всего в 50 строк кода. Вся математика на пальцах!

Читать далее

Тайна Веды Конг

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели13K

Необычными именами героев Ефремов решал свои художественные задачи, показывая мир будущего свободным от догм, стереотипов, социального и расового расслоения. Но есть ли в новаторских номинациях какие-то скрытые языковые коды?

Читать далее

Как работает GPT4Free в Python и почему его лучше не использовать

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели10K

Представьте: вы открываете репозиторий g4f, видите пять строк кода — и вот уже ChatGPT отвечает на ваш вопрос, не спрашивая API-ключ и не прося денег. Мысль, которая приходит первой: «Наконец-то бесплатный доступ к сильному ИИ, остальные просто не умеют готовить». Но пока вы радуетесь, ваш запрос уже ушёл гулять по миру через десяток чужих серверов. И никто — включая вас — не знает, кто прочитал его по дороге и сохранил ли он этот текст на будущее.

Я покажу, как именно библиотека маскируется, почему реверс-инжиниринг здесь превратился в инструмент обхода защиты и во что обходится такая экономия, когда речь заходит о конфиденциальности, стабильности и законности. Если вы хотя бы раз вставляли g4f в свой проект — дочитайте до конца. Возможно, это убережёт вас от очень дорогих последствий.

Читать далее

Как создать калькулятор для расчёта квадратных уравнений на Python с использованием фреймворка Tkinter

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели9.1K

Когда мне в школе мне задали сделать итоговый проект для допуска к ОГЭ. Я долго думал над темой проекта, и решил совместить две вещи в которых я хорошо разбираюсь, Квадратные уравнения и мой любимый язык программирования Python.

На этапе идеи я сразу понял с помощью чего именно я сделаю свой проект. Изначально у меня получилось разработать консольное приложение, состоящее из бесконечного цикла цикла и простого алгоритма который спрашивает тип уравнения: Полное квадратное/неполное квадратное, и после выбора мы могли вводить a, b и c/a и b.

Эту версию проекта я «накидал» за один вечер, когда я показал результат учителю, он порекомендовал мне сделать графический интерфейс, я моментально вспомнил Python библиотеку Tkinter для создания графического интерфейса.

Тут уже пришлось покумекать как именно это сделать, ведь на практике я еще на тот момент не сталкивался с этим фреймворком. В ходе поиска документации по данному фреймворку я столкнулся с тем что все материала были содержали слишком много «воды». На тот момент нейросети были чем то новым и неизведанным, как раз так совпало.

Читать далее
1
23 ...