Обновить
525.85

Python *

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

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

Почему мне противно от хакатонов, но все равно в них участвую

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

Привет! Эта статья будет о нашем “экспертном” взгляде на хакатоны, где мы вкинем пару холиварных тейков и, кстати, расскажем о нашем решении для True Tech Hack. 

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

но об этом позже.

Mojo может стать крупнейшим достижением в области разработки языков программирования за последние десятилетия

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

Mojo — это новый язык программирования, основанный на Python, который устраняет имеющиеся у него проблемы производительности и развёртывания.

Об авторе: Джереми Говард (Jeremy Howard) — Data Scientist, исследователь, разработчик, преподаватель и предприниматель. Джереми является одним из основателей исследовательского института fast.ai, занимающегося тем, чтобы сделать глубокое обучение более доступным, а также он является почётным профессором Университета Квинсленда. Ранее Джереми был выдающимся научным сотрудником в Университете Сан‑Франциско, где он был основателем Инициативы Уиклоу «Искусственный интеллект в медицинских исследованиях».

Mojo – это Python++

Электричество без регистрации и sms: быстрое введение в pandapower

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

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

Итак, продолжаем цикл изучения электрических python-библиотек с разбора pandapower - открытой библиотеки для расчета электрических сетей.

Подробные комментарии прилагаются (необходимы лишь минимальные знания физики электричества).

Читать далее

За границей Hello World: полный гайд по разработке Telegram ботов на Python + Aiogram 3. Часть 2: Меню и OpenAI API

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

Привет, Хабр! Продолжаю серию статей про разработку telegram-ботов на библиотеке aiogram и языке программирования Python. Хочется отметить, что статья не является документацией или учебником. Я просто рассказываю пошагово как разработать полнофункционального бота, стараясь затронуть как можно больше тем.

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

Читать далее

Макет автоматизированного создания пользователей (ботов) в социальных сетях и имитации их активности

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

В статье описаны методики автоматизированного создания пользователей-ботов в социальной сети ВКонтакте, имитации их активности и опубликования информации в группах, основываясь на предложенном контексте. Разработанный алгоритм создания пользователей, используемый в методике, позволяет избежать блокировки автоматически созданных пользователей. Методики имитации активности и опубликования информации основаны на статистических сведениях об активности пользователей социальной сети и методах API ВКонтакте.

Используя предложенные методики, в рамках эксперимента были созданы пользователи-боты, публикующие различную информацию в группах социальной сети ВКонтакте. По результатам эксперимента были заблокированы около 17% созданных пользователей-ботов, что предоставляет возможность использования разработанного макета для осуществления информационного противоборства.

Читать далее

Решаем криптарифмы с помощью алгебры и python

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

Если вы увлекались математикой в возрасте до 12 лет, то, наверное, встречались с криптарифмами - арифметическими ребусами.

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

Читать далее

Безопасная разработка в Python. 2 часть

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

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

В этой статье мы рассмотрим более свойственные именно для языка Python уязвимости. И начнем мы с такой интересной темы как десериализация.

Читать далее

Обучение YOLOv5 на кастомном датасете

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

YOLO - это современная архитектура нейронных сетей, которая предназначена для распознавания и обнаружения объектов на видео.

Читать далее

Нечеткое сравнение строк с помощью rapidfuzz

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

Привет, Хабр!

Меня зовут Антон Черниговский, я участник профессионального сообщества NTA.

В публикации расскажу, как при решении задачи нечеткого сравнения строк, среди разных инструментов сравнения (по косинусному сходству, по сходству Левенштейна, по сходству Джаро‑Винклера) был выбран лучший вариант нечеткого сопоставления. Сравнение инструментов производилось исходя из скорости выполнения, правильности сравнения и простоты реализации, с помощью библиотек rapidfuzz и sklearn.

Узнать какой инструмент лучше

Парсинг и обработка данных с метеосайтов Яндекс.Погода и Метеоинфо (Гидрометцентр) при помощи pandas (Часть 1)

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

Всех приветствую! Хочу рассказать, как мне удалось примененить библиотеку pandas для парсинга и обработки метеорологических данных сайта Яндекс.Погоды. Отмечу, что это моя первая статья для Habr, строго не судите.

Краткая предыстория. Так случилось, что мне пришлось вести telegram-канал о погоде, практически сразу встал вопрос как сократить время на поиск и анализ данных с основных метеорологических сайтов, чтобы получать всё just-in-time на свой компьютер. Иными словами, была цель сделать небольшую автоматизацию. 

Читать далее

Асинхронные задачи с FastAPI и Celery

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

Если в приложении есть длительные процессы, то вместо того, чтобы блокировать основной поток, вы должны обрабатывать их в фоновом режиме.

Чтобы достичь этого, мы расскажем вам о процессе настройки Celery и Redis для обработки длительно выполняющихся процессов в приложении FastAPI. Мы также будем использовать Docker и Docker Compose, чтобы связать все воедино. Наконец, мы рассмотрим, как протестировать задачи Celery с помощью модульных (unit) и интеграционных тестов.

Читать далее

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 9. Мой пэт-проект

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

Оглавление: Уроки компьютерного зрения. Оглавление / Хабр (habr.com)

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

Предобработка изображения.

Промежуточная фильтрация.

Выявления специальных признаков (фич).

Высокоуровневый анализ.

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

Естественно, делать конвейер ради самого конвейера как-то бессмысленно. Надо, чтобы моя программа делала хоть что-то условно полезное. Сначала я хотел написать пэт-проект, который бы анализировал фотографии со спутников и БЛА и превращал их в граф (это перекликается с темой моей магистерской диссертации). Правда, это слишком уж амбициозная задумка для пэт-проекта. Надо что-то по- проще. В комментариях к одному из уроков мне посоветовали добавить в финале пару глав про выделение отдельных символов и распознавание их при помощи общедоступных нейронок. И вот я и подумал, может, начать пэт-проект именно с этой задачи? Распознавание текстов? Это гораздо проще.

Итак, для начала я создал пустой проект и добавил туда две папки: Exec и Libraries. В первой у меня будет запускаемый файл/файлы, во втором всякие библиотечные файлы. В качестве первого библиотечного файла создал Core.py:

Читать далее

Книга «Python для хакеров. Нетривиальные задачи и проекты»

Время на прочтение12 мин
Охват и читатели25K
image Привет, Хаброжители!

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

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

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

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

Как я написал удобную оболочку над электронным дневником

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

Статья о том, как я в 15 лет облегчил работу с электронным дневником, представленным Кировской области в 2022 году.

Что получилось сделать и как это было реализовано.

Читать далее

PySpark для аналитика. Как правильно просить ресурсы и как понять, сколько нужно брать

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

Александр Ледовский, тимлид команды аналитики и DS в Авито, рассказал про опыт работы с Apache Spark и о том, как правильно задавать параметры Spark-сессии, чтобы получить ресурсы.

Читать далее

Telegram Bot — ваш новый помощник

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

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

Начнём, пожалуй, с основ и терминологии. Telegram бот – это набор кода, который во время активации выполняет роль пользователя и его функционал зависит только от способностей и потребностей его создателя. Telegram ботом может воспользоваться каждый. Главное знать его название для поисковика.

На сегодняшний день Telegram ботов насчитывается бесчисленное количество. Создать своего не является проблемой. Разработка может быть, как через специальные сервисы, которые по заданным параметрам создадут вам необходимое технологическое решение для работы, так и с помощью самописного кода, но правда для этого вам нужно знать основы языков программирования таких как Python, Java или C++.

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

Итак, от долгой лирики к делу! Для того чтобы создать своего бота вам необходим аккаунт в Telegram. Далее, в поисковой строке вам нужно найти главного бота @BotFather. Это ваш личный менеджер и главный генерал ваших ботов. В его функционал входят регистрация ботов, их удаление, создание аватарки и название бота. Напишите этому боту команду /start, после этого вы активируете Бота “Отца”.

Читать далее

Асинхронность как основной подход к разработке высоконагруженных приложений

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

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

Читать далее

Шпаргалка: fixture в pytest

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

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

Читать далее

Особенности работы с русской кодировкой при загрузке файлов через aiohttp

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

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

Читать далее

В помощь разработчикам гаджетов. «USB-Разрыватель» — что это, зачем и для чего?

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

Привет, Хабр! В этой статье рассказываем о созданном нами устройстве, которое помогает тестировать электронные девайсы в процессе разработки.  Речь идет об устройстве для автоматизации и имитации процесса отключения/переподключения USB-гаджетов. Подробности разработки и самого устройства – под катом.

Читать далее

Вклад авторов