PYтокен: история о том, как питон съел ЭЦП. Часть 1

История о том, как я пытался реализовать подпись файлов с помощью сертификата на USB-устройстве, а дополнительно сделал шифрование и расшифрование директории.
Высокоуровневый язык программирования
История о том, как я пытался реализовать подпись файлов с помощью сертификата на USB-устройстве, а дополнительно сделал шифрование и расшифрование директории.
Статья посвящена разработке автономной платформы дрона «Шмель», предназначенной для обслуживания линий электропередач (ЛЭП). Описаны ключевые задачи, такие как проверка тока, мониторинг состояния ЛЭП и установка ремонтных зажимов, с акцентом на их сложность и отсутствие физического взаимодействия с проводами. Рассматриваются аппаратные компоненты платформы, включая полётный контроллер, сервоприводы и датчики, а также программное обеспечение на базе фреймворка Clover и OpenCV для навигации с использованием ArUco-маркеров. Особое внимание уделено эволюции управления полётом, включая PID-регуляторы и траекторное слежение. Приведены примеры кода, результаты тестирования и решения проблем, таких как отсутствие автономности. Статья подчёркивает потенциал дронов в автоматизации обслуживания ЛЭП и предлагает пути для дальнейших улучшений, включая интеграцию новых датчиков и алгоритмов.
Пять лет назад, в начале пандемии, мой ребёнок ещё занимался шахматами, но интерес к ним постепенно угасал. К тому же у него появились задания играть без доски - вслепую.
Тогда я решил написать навык для Яндекс.Станции, чтобы можно было играть в шахматы голосом.
Я не разработчик, а аналитик требований, поэтому навыков программирования у меня почти не было. Но благодаря Google и божьей помощи мне удалось написать первую версию кода и развернуть её на отдельной виртуальной машине.
За основу была взята библиотека python-chess
и бинарник шахматного движка Stockfish:
Современные крупные организации сталкиваются с большим числом ИТ‑инцидентов — счет может идти на тысячи в месяц. Инциденты нередко повторяются со временем, однако найти похожий случай в базе знаний или в системе регистрации инцидентов непросто: стандартный поиск по ключевым словам часто неэффективен, а «держать в голове» детали всех инцидентов невозможно.
В 2024 году инвестиции в Индекс Московской биржи принесли небольшие 1,6%. Это существенно ниже средней доходности (16,8% за 25 лет истории). Но не все знают, что спасло ситуацию в 2024 от минуса. Оказывается, ценовая доходность индекса была отрицательной -6,9%. И только дивидендная доходность 9,1% позволила индексу «сохранить лицо». Такая поддержка со стороны дивидендов происходит не первый раз. Считаем дивидендную доходность в Python за несколько строк.
Работа с файлами в Python кажется простой — open
, read
, write
. Но на практике, особенно в системах с высокими требованиями к отказоустойчивости, стабильности и логированию, за банальными строками кода может скрываться целый мир проблем.
Когда автотесты начинают тянуться как улитка, страдают все. CI медлит, разработчики косо смотрят на отчёты, а я вместо багов натыкаюсь на тайминги. Особенно это бесит в UI‑тестах — там каждый шаг может тормозить, но с ходу это не видно.
В команде периодически всплывал один и тот же вопрос:
«Почему один и тот же сценарий утром идёт дольше, чем вечером?»
Захотелось простой утилиты.
Никаких интеграций, серверов и плясок с бубном. Так появился Slowpoke Finder — маленькая CLI‑утилита и библиотека для анализа логов автотестов. Кидаешь ему JSON или HAR — он вытаскивает шаги и показывает, какие из них реально тормозят.
Большинство программистов согласятся: от отношения к ошибкам зависит, станет ли человек хорошим разработчиком. В нашей практике обучения детей программированию мы столкнулись с фрустрацией, которая знакома и взрослым: багам посвящено больше часов и эмоций, чем написанию кода. И если взрослые могут терпеть дискомфорт, то для детей каждая ошибка рискует стать той самой точкой, после которой интерес к программированию будет утрачен.
Именно поэтому мы адаптировали метод «Пяти почему» из Lean-методологии — и это изменило не только то, как наши ученики относятся к багам, но и качество кода, который они пишут.
Всем привет, меня зовут Василий. С 2021 года работаю в роли инженера данных в Х5 Tech, успел за это время познакомиться с несколькими интересными проектами и подходами в области обработки данных, об одном из которых пойдет речь далее.
В этой статье расскажу о том, как можно повысить эффективность хранения данных за счет уменьшения их дублирования.
Разберем, что из себя представляют Slowly Changing Dimensions-2 (далее SCD-2) таблицы и самостоятельно реализуем на PySpark алгоритм сохранения данных в них. Попутно поговорим о том, как находить изменения в любой таблице, даже если отсутствуют поля для выбора изменившихся записей, и научимся получать из созданной SCD-2 таблицы срезы на требуемую дату в прошлом.
Привет! На связи команда геоаналитики ecom.tech, мы строим модели машинного обучения на основе пространственных данных для задач ритейла в реальном времени, а также создаем промежуточные инструменты на базе методов прикладной геоаналитики. На наших технологиях работает Самокат и Мегамаркет.
Например, наша команда решает задачу поиска оптимального расположения даркстора (место, где хранятся продукты, а также собираются заказы). Зона покрытия даркстора — радиус в пару километров, и количество их постоянно увеличивается. Мы хотим уметь размещать новый даркстор так, чтобы как можно больше людей получали заказы за минимальное время доставки.
В этой статье мы расскажем, как выбираем локации для новых дарксторов: определимся с постановкой задачи, погрузимся в контекст проекта и покажем, как можно анализировать сотни тысяч разных точек на карте в секунду.
response.raise_for_status()
, а детальную обработку оставить на потом.Привет хабр! В этой статье хочу рассказать, как сделать PyCharm удобнее и покажу пример настройки некоторых вспомогательных инструментов, встроенных в IDE.
Я уже давно работаю в этой IDE и меня все в ней устраивает, обилие горячих клавиш, UI, множество плагинов, гибкость, встроенные интеграции, но почти на каждом созвоне с коллегами, если они показывают демонстрацию экрана, оказывается, что они не знают о той или иной настройке, горячей клавише или плагине, которые значительно улучшили бы их пользовательский опыт. Именно поэтому, хочу поделиться и с вами некоторыми фишками.
Дисклеймер: В этой статье будет ряд изображений.
Локальная работа в Jupyter-ноутбуках – неотъемлемая часть исследований и экспериментов нашего ML-отдела. Но из какой среды эти ноутбуки лучше запускать?
Мы пользуемся двумя вариантами: запуском из Docker-контейнера и запуском в изолированном локальном poetry-окружении.
В статье соберем минимальный сетап для работы с Jupyter-ноутбуками и ссылки на полезные ресурсы для ознакомления.
Scikit-learn — это одна из основных Python-библиотек для машинного обучения. Её подключают в прикладных проектах, AutoML-системах и учебных курсах — как базовый инструмент для работы с моделями. Даже если вы давно пишете с PyTorch или CatBoost, в задачах с табличными данными, скорее всего, всё ещё вызываете fit
, predict
, score
— через sklearn.
В 2025 году в библиотеку добавили несколько важных обновлений: доработали работу с пайплайнами, подключили полную поддержку pandas API, упростили контроль за экспериментами.
Мы подготовили гайд, как работать со scikit-learn в 2025 году. Новичкам он поможет собрать первую ML-задачу — с данными, моделью и метриками. А тем, кто уже использует библиотеку, — освежить знания и понять, что изменилось в новых версиях.
Если вы думаете, что на курсах по Python в Практикуме просто изучают синтаксис языка, решают задачки, а больше там нет ничего интересного, у меня для вас новость!
Внутри практически каждой главы, между строчек кода, в названиях переменных, в оформлении заданий и других местах курса спрятаны десятки пасхалок — от забавных отсылок до сюжетной нити, которая развивается от модуля к модулю.
И это не просто приколы ради приколов. Команда Яндекс Практикума и я, Евгений Бартенев, техлид и автор курсов по Python, хотели, чтобы курс ощущался не только как учебник, но и как игра. Чтобы внимательные студенты могли почувствовать, что находятся внутри чего-то большего.
Мы вложили в этот курс душу. И теперь я хочу показать, что ещё скрыто за привычными строками текста и кода. Эта статья — ваш шанс заглянуть за кулисы процесса производства образовательного контента и стать одними из тех, кто видит и понимает больше. Поехали!
В серии чёрного зеркала (7 сезон 4 серия) в основе сюжета как программист сделал симулятор в котором развивались виртуальные существа (Тронглеты). Решил от части повторить, что бы существом управлял агент ИИ.
Сделал симулятор, где в рандом сгенерированном мире появляется агент. У него есть показатели:
- голод
- жажда
- комфорт
- его цель
- мысли
- глобальная цель.
Он может взаимодействовать с миром, находить предметы, крафтить любые предметы, придумывать, что нашел. Даже если в разработке я не закладывал какие-то предметы, объекты или механики он может всё равно их «найти». Например, нашел тростник который в будущем использовал для создания тетивы для лука. Он сам подбирает эмодзи, название предмета, придумывает механику и кладет себе в инвентарь. Для упрощения сделал пошаговую симуляцию.
Начало промта выглядит вот так (полный промт больше в 10 раз):
Про механику мира и разработку. Скриптом создаем карту 20х20 клеток. На нее случайно раскидываем эмодзи 🍓🌳🦌⛰🕳. Агенту отправляется видимость клеток на 3 вокруг нет. Он может ходить только на одну клетку заход. Ещё агенту задаются состояния:
Что у него есть голод 0/100
Комфорт
Жажда
Инвентарь
Взаимодействовать с миром он может, убрать объект логически, добавить объект логически, добавить и убрать предмет в инвентарь. По сути больше ничего, дальше он сам должен существовать в этом мире. Нет ни рецептов крафта, не сколько съеденная ягода восстанавливает голода. Но много про то "где" он находится и как "выживать" в этом мире (без подсказок)
Начало промта выглядит так:
Всем привет! В данной статье я поделюсь своим опытом написания сервиса. Я не являюсь опытным или профессиональным разработчиком, я пишу свой проект и мои решения могут быть не самыми оптимальными. Эта статья состоит в основном из ошибок, которые я совершил. Мой путь не является правильным и потому - судите "строго".
Эксперты компании «Криптонит» проанализировали главные тренды использования Apache Spark в бизнесе, выделили особенности его применения в России и спрогнозировали дальнейшее развитие на основе выявленных тенденций.
Растущая востребованность Spark объясняется не только открытым исходным кодом и гибкостью, но и лёгкостью интеграции с современными технологиями — от машинного обучения до облачных платформ.
«В России Apache Spark становится не просто популярным фреймворком для обработки данных, а частью экосистемы отечественных решений в сфере Big Data. Особенно это касается объектов критической инфраструктуры, где всегда отдаётся предпочтение только самым надёжным и проверенным решениям», — пояснил Иван Попович, руководитель направления обработки данных компании «Криптонит».
Для критически важных отраслей (госуправление, финансы, энергетика) важна локализация данных и соответствие требованиям регуляторов.
«Открытый исходный код здесь играет ключевую роль, так как обеспечивает прозрачность и возможность тщательной верификации. Также он даёт уникальную возможность адаптировать решение под конкретные требования проекта. Хотя само по себе наличие открытого кода не является гарантией безопасности, Apache Spark за 15 лет своего развития доказал эффективность и надёжность в самых различных областях применения», — добавил эксперт.
В последние годы Spark проникает в новые сферы. Он всё активнее используется в агропромышленном комплексе, энергетике, нефтегазовой и химической отрасли. В основном его применяют для оптимизации производства, прогнозирования аварий и повышения энергоэффективности.
Компьютерные игры прошли громадный путь — от аркад 70-х до современных AAA-проектов, стоимость которых сопоставима с крупнейшими инженерными постройками. Геймдев — это не только искусство создания миров, но и многомиллиардная индустрия, где экономика играет ключевую роль.
Разработка AAA-игр требует бюджетов в десятки и сотни миллионов долларов, а рынок инди-игр и пользовательского контента ежегодно приносит миллионы благодаря платформам вроде Steam и моддинг-комьюнити. Моддеры, создавая дополнения для таких игр, как Skyrim или Minecraft, не только расширяют игровой опыт, но и формируют целые экосистемы с собственной экономикой: от донатов на Patreon до продаж модов. В этом мире Python становится всё более полезным инструментом — как для разработчиков, так и для продвинутых геймеров.