Обновить
1024K+

Python *

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

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

Асинхронный SQLAlchemy 2: улучшение кода, методы обновления и удаления данных

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

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

Читать далее

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

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

В стандартной библиотеке языка Python имеется базовый примитив синхронизации — реентерабельная блокировка. Она позволяет одному и тому же потоку, несколько раз захватить блокировку. Стандартная реализация может использовать для блокировки мьютекс или семафор, и их захват всегда приводит к вызову функции из ядра ОС, в зависимости от ОС и/или нижележащей системной библиотеки, может быть небыстрой операцией.

Используя GIL (Global Interpreter Lock — Глобальная блокировка интерпретатора) и особенности реализации Threading.Lock.release можно создать более быстрый вариант.

Давайте попробуем разобраться

Учимся делать игры без pygame: Введение в графический интерфейс на Python

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

Привет, Хабр! Сегодня мы научимся делать графический интерфейс на python, используя Tkinter. Эта статья очень короткая, так как мы только начинаем.

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

Читать далее

Давайте-ка наваяем PumpKeen Game. Как Commander Keen, только про Pumpkin (тыкву). Хэллоуин же

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

Лучший способ отпугнуть монстров на Хэллоуин — это не только свечку в тыкве зажечь, но и страшную игру написать.

Чтобы вы, при желании, смогли это сделать вместе со мной, не заморачиваясь настройками и установкой, выберем следующий учебный стек:

– Python

– Модуль p5py (p5.js, но только для Пайтона)

Online-IDE в браузере

Читать далее

Зачем нужны эмбеддинги?

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

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

Читать далее

Файловая система без фокусов: как hard links и XOR сэкономят ваши гигабайты

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

Для начала нужно понять главное - файлов не существует.
А потом на примере простых манипуляций разобрать что такое hard links, чем может быть полезен непонятный XOR и как это всё уживается в системах копирования и снимков

Читать далее

Краткий свод концепций Tensor Flow

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

TensorFlow — один из самых мощных и популярных фреймворков для машинного обучения, разработанный компанией Google Brain в 2015 году. 

Пока старички-студенты активно практикуются в самых сложных задачах машинного обучения, новички еще практикуются с освоением практики обучения на TF.

Поэтому мы подготовили гайд с основными концептами этого незаменимого для ML-инженера фреймворка.

Читать далее

Необычные вкусы покупателей: что такое товарные пары и как их исследовать

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

Привет, Хабр! На связи команда продуктовой аналитики.

Подбор и обновление ассортимента товаров — постоянная головная боль для любого ритейлера. Это трудоемкий процесс, где каждая ошибка стоит реальных денег. В ecom.tech мы стараемся сделать его проще при помощи автоматизации, а заодно изучаем предпочтения покупателей. На этот раз мы искали, что обычно покупают в паре – так называемые комплементарные товары.

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

Читать далее

Как работать с Amazon SP-API: инструкция для начинающих

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

Этот текст я написал для людей, которые как и я, ещё 3 месяца назад про Python только слышали. Для тех, кто неплохо знает английский, но иногда хочет простого русского «ща сделаем». Для тех, кто решил написать свой первый запрос для API Amazon и не понимает, почему ничего не работает.

Писать скрипт для Amazon SP‑API — это как пытаться собрать мебель из IKEA без инструкции: сначала ты рад, что купил новинку, а потом мучаешься, пытаясь понять, как это вообще работает. Вернее, в данном случае инструкции есть, но по словам самой же поддержки Amazon она «не полностью отражает возможности сервиса».

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

Небольшое отступление. Возможно, название некоторых переменных, функций или чего бы то ни было ещё, покажутся вам странными. Прошу отнестись с пониманием — я умею писать на C#, но опыта с Python у меня мало и он на уровне «посмотрел два четырехчасовых ролика на Youtube». Я уверен, что можно что‑то оптимизировать, использовать библиотеки и так далее. Но мы рассматриваем первые шаги, которые лично мне было крайне сложно сделать, потому что желание помогать у поддержки Amazon отсутствует, как и внятная инструкция на русском языке (а часто и на английском тоже). Все обсуждают отдельные ошибки, а не работу скриптов в целом.

Читать далее

ИИ в логистике: отслеживаем транспортные средства на производственной территории с помощью нейросети

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

Весной на Хабре я рассказывал о том, как для дипломного проекта создавал приложение для отслеживания объектов спортивного мероприятия. Из моего пет-проекта вырос полноценный реальный проект. Знания и навыки в области нейронных сетей, трекинговых библиотек и компьютерного зрения, которые я приобрел, были использованы для разработки системы отслеживания транспортных средств на производственных территориях. Эта система основана на применении сверточной нейронной сети — технологии, позволяющей компьютерам «видеть» и интерпретировать визуальную информацию.

В тексте я расскажу, в чем суть этой системы, остановлюсь на принципах работы, инструментах и архитектуре.

Читать далее

Python в ispmanager: добавляем сайты с фреймворком Django, работаем с API и утилитами прямо в панели

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

Ispmanager поддерживает Python — так удобнее управлять сайтами, веб-серверами и средой прямо в панели. Расскажем, как без проблем добавить в панель сайт на Python — c Django или без него, настроить работу по API или работать через утилиту mgrctl.

Читать далее

Уделите внимание токенизаторам — и вот почему

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

На прошлой неделе я помогал одному другу пустить одно его новое приложение в свободное плавание. Пока не могу особенно об этом распространяться, но упомяну, что это приложение, конечно же, сдобрено искусственным интеллектом — сегодня этим не удивишь. Может быть, даже изрядно сдобрено, в зависимости от того, к чему вы привыкли.

В большинстве современных приложений с ИИ в той или иной форме внедрена технология RAG (генерация с дополненной выборкой). Сейчас она у всех на слуху — о ней даже написали страницу в Википедии! Не знаю, ведёт ли кто-нибудь статистику, как быстро термин обычно дозревает до собственной статьи в Википедии, но термин RAG определённо должен быть где-то в топе этого рейтинга.

Меня довольно заинтриговало, что большинство успешных ИИ-приложений – это, в сущности, инструменты для умного семантического поиска. Поиск Google (в своём роде) раскрепостился, и это наталкивает меня на мысли, вдруг они только сейчас дали волю своим мощностям LLM, которые уже давно стояли за поисковым движком. Но я отвлёкся.

То приложение, разработкой которого мой друг занимался пару последних недель, работает с обширными данными из интернет-магазина: это описание различных товаров, инвойсы, отзывы, т. д. Вот с какой проблемой он столкнулся: оказалось, RAG не слишком хорошо обрабатывает некоторые запросы, но с большинством запросов справляется отлично.

За последние пару лет я успел заметить одну выраженную черту разработчиков, привыкших действовать в области традиционного (детерминированного) программирования: им очень сложно перестроиться на осмысление задач в статистическом контексте, а именно так и следует подходить к программированию приложений с большими языковыми моделями, суть которых — это статистика. Статистика «хаотичнее» традиционной информатики и подчиняется иным правилам, нежели алгоритмы обычной computer science. К чему я клоню: статистика — это по-прежнему математика, но очень своеобразная математика.  

Читать далее

Распознавание ж/д пикетных столбиков по фотографиям с беспилотника на основе PyTorch и YOLOv5

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

Тенденция применения беспилотных летательных аппаратов (БПЛА) продолжает развиваться и процветать. Оснащение беспилотников камерами и навигационным оборудованием геодезического класса точности позволяет получать ортофотопланы с сантиметровой точностью. Расширить возможности БПЛА можно применив нейронные сети, способные распознавать объекты на фотографиях. В статье рассмотрен процесс подготовки фотографий с БПЛА, разметки объектов для обучения нейронной сети, ее обучения и получения результата в виде выявления объекта на новом фото на реальном участке железнодорожного перегона, определяемые объекты — пикетные столбики. Исходный код обработки данных и обучения модели выгружен на GitHub.

Читать далее

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

Погружение в мир Python: Решение проблем с библиотекой ConfigParser

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

Здравствуйте! В этой статье я хочу поделиться своим опытом работы с библиотекой ConfigParser в Python, особенно в контексте устаревших операционных систем, таких как Windows XP и Windows 7. Несмотря на то что я не являюсь профессиональным программистом, моё хобби и стремление разобраться в нюансах программирования привели меня к интересным выводам.

Я расскажу о распространённых трудностях, связанных с работой этой библиотеки, таких как автоматическое преобразование ключей в нижний регистр и способы обхода этой проблемы. Вы увидите примеры, которые помогут лучше понять, как читать и записывать конфигурационные файлы, сохраняя оригинальный регистр ключей. Присоединяйтесь к обсуждению, и, возможно, мой опыт окажется полезным для вас!

Читать далее

Как сократить время ответа в 2 раза, добавив одну строку кода

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

Okko – один из крупнейших онлайн-кинотеатров в России c нагрузкой в несколько тысяч запросов в секунду, в котором персональные рекомендации занимают важное место. Для улучшения пользовательского опыта нужно не только предоставить качественные рекомендации, но и обеспечить быстрый доступ к ним.

В этой статье мы поделимся:

1. Описанием, как мы использовали инструменты Jaeger и Grafana для выявления узких мест в производительности, что привело к выявлению критических проблем со сборщиком мусора;

2. Анализом влияния различных настроек сборщика мусора на время ответа, что позволило сократить его вдвое для 99% запросов;

3. Когда и почему стоит рассматривать изменение стандартных настроек сборщика мусора (на примере нашего случая).

Читать далее

Приложение на Go шаг за шагом. Часть первая: скелет, НТТР-сервер и конфигурация

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

Современные курсы стараются максимально охватить спектр технологий, которые используют компании. Ориентироваться в этом океане модных фич всё труднее, особенно это касается новичков, которые только начали знакомство с программированием. В итоге может случиться так, что выпускник курса вроде бы всё знает, а применять не может. 

Привет! Я Владислав Попов, автор курса «Go-разработчик с нуля» в Яндекс Практикуме. В серии статей я хочу помочь начинающим разработчикам упорядочить знания и написать приложение на Go с нуля: мы вместе пройдём каждый шаг и создадим API для получения информации о книгах и управления ими. 

Читать далее

Хотите, покажу вам магию живого кода на p5py?

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

Хотите, покажу вам магию живого кода на p5py?

Вдохновившись статьёй, посвящённой написанию клеточного автомата на Godot и экспорту проекта в HTML, хочу показать вам, как использовать для этих целей модерновый онлайн-движок p5py. Код живой не только потому, что мы про игру «Жизнь», но и благодаря способу его разработки и запуска. Всё очень живо!

Чёрный плащ

TL;DR: финальный проект вот здесь. Только кликните, и он появится.

Читать далее

FlexiPrompt: Удобное создание динамических промптов в Python

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

Эта статья будет полезна Python-разработчикам, работающим с языковыми моделями (LLM).

Недавно у меня возникла потребность в формировании промптов внутри python кода. Не хотелось брать тяжеловесные решения. Результатом работы стала небольшая библиотека.

Читать далее

ParallelBeautifulSoup (BS4-hack)

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

Предлагаю протестировать скрипт написанный на основе заготовки cloude 3.5 Sonnet с использованием специального промта. Пришлось почти полностью переписать, из-за товарищей в комментариях. Критика это хорошо когда обоснована.

Документацию доделаю потом. Внизу есть пример скрипта.

Читать далее

Игра 2048 в вашем Telegram-боте: как создать MiniApp с помощью FastAPI и Aiogram за несколько шагов

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

Превращаем известную игру 2048 в увлекательный Telegram-бот! Расскажу, как за несколько шагов создать MiniApp с помощью FastAPI и Aiogram, интегрировать API и настроить базы данных. Пошаговое руководство для тех, кто хочет освоить разработку на новом уровне.

Читать далее