Обновить
545.13

Python *

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

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

Разработка и тестирование программного обеспечения для микроконтроллеров на Python

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

Рынок интернета вещей растет значительными темпами и разработка кода для микроконтроллеров важна для любых проектов, где подразумевается наличие какого‑либо вспомогательного оборудования или носимого устройства. Для разработки программного обеспечения под встраиваемые микроконтроллеры сейчас (кроме C/C++) можно использовать многие другие технологии (например, TinyGo, Dart/Flutter, Rust), так же как и Python в наборе библиотек MicroPython, который работает как со своей платой (pyboard), так и с другими микроконтроллерами (например платами на процессорах ESP8266 или STM32). В этой статье мы рассмотрим общие подходы к разработке и тестированию программного обеспечения для микроконтроллеров с использованием Python.

Читать далее

Пишем умный поиск по коду с Open AI

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

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

Читать далее

Парсер лучших за сутки статей habr(а) на Python. Очень подробно и просто

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

Парсинг лучших статей дня с habr

Всем привет, сегодня я расскажу, как можно довольно просто написать парсер на примере сайта habr для сбора лучших статей дня в виде json файла, в формате, "Название статьи": "ссылка".

Читать далее

NORUAS — домашний Саурон, но это не точно…

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

Являясь постоянным посетителем Хабра довольно долгий период времени, стал свидетелем того, как многие сегодня уже обыденные технологии были предметом острого внимания на ресурсе в период их появления.

Еще совсем недавно 3D-печать будоражила умы читателей, завораживала своей перспективностью, открывала широкие возможности для творчества, но была недоступна для простого обывателя. Сейчас 3D-принтер можно легко приобрести на китайском рынке по приемлемой цене. Технология 3D-печати не прекратила своего развития. Меняются способы печати, появляются более скоростные модели принтеров. Но сама технология стала привычным для нас явлением.

Немного позднее грянула эпоха IoT и ресурс запестрел статьями про интернет вещей. Автоматизация быта человека привела к появлению множества умных устройств, а их интеграция в единую систему приблизила нас к будущему еще на один шаг, породив концепцию умного дома. Своевременное появление линейки микроконтроллеров от фирмы Espressif Systems с поддержкой Wi-Fi также способствовало бурному развитию IoT. Сегодня любой желающий может купить умное устройство в магазине или собрать его самостоятельно, ознакомившись с инструкциями из интернета.

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

Читать далее

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

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

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

Читать дальше →

Пишем GPT в 60 строк NumPy (часть 1 из 2)

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

В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать дальше →

Создаем диаграмму миграций Django проекта

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

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

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

Итак приступим

Ошибки аналитика при изучении Python: 5 стадий принятия неизбежного

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

Аналитик-экономист Саша устроилась на новую работу, у неё не было навыков программирования. В описании вакансии умение писать код не требовалось. Программирование преследовало экономиста в школе и университете. Саша старательно отмахивалась от написания кода, но избежать кодинга не вышло. 

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

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

Читать далее

Книга «Основы Python для Data Science»

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

Python — язык программирования №1 для машинного обучения и Data Science. Но как же сложно решить, с чего начать изучение Python, ведь у него огромный инструментарий! Кеннеди Берман фокусируется на тех навыках программирования, которые понадобятся вам для решения задач в области Data Science и машинного обучения.

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

Стратегии прогнозирования временных рядов в ETNA

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

Меня зовут Дима, я разработчик библиотеки ETNA в Тинькофф. Расскажу о том, как в задаче прогнозирования временных рядов появляются стратегии, какими они бывают и как воспользоваться стратегией в библиотеке ETNA.

Читать далее

Пишем чат-бот для Telegram на Python, используя webhook и минимум внешних библиотек

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

Меня зовут Андрей Устьянцев, я ведущий аналитик направления Big Data Лиги Цифровой Экономики, и в этой статье я расскажу, как писал чат-бот в Telegram на webhook. Если вы знаете, что это такое, и подготовка не вызывает интереса — можете сразу переходить к разделу «Очень кратко». С остальными поделюсь всеми необходимыми шагами.

Читать далее

Альфа-бета фильтр Калмана: фильтр «Hello, world!»

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

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

Читать далее

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

Сказ о поддержке подсказок типов для функции сложения в Python, или Вот как непросто бывает идти в IT…

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

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


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


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


def slow_add(a, b):
    time.sleep(0.1)
    return a + b
Читать дальше →

Что нужно знать нашим ML-сотрудникам

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

Недавно в комментариях к одному из постов в Варим ML меня спросили, какие навыки и знания нужны, чтобы у нас работать. Вопрос на самом деле очень важный - без правильного ответа невозможно нормально выстроить процессы найма и развития сотрудников. Можно быстро набросать дефолтный список - питончик, ML/DL, докер, и на этом закончить, но я решил зарыться в вопрос пообстоятельнее. Конечно, существуют самые разные родмапы, но лично мне они кажутся излишне общими, а я захотел поразмышлять именно про те скиллы, которые необходимы для работы в Цельсе, а главное про их необходимый уровень.

Читать далее

Python package registry в GitLab

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

О чем статья: при разработке проектов, и, особенно, распределенных приложений, возникает необходимость использования некоторых частей приложения в качестве отдельных модулей. Например скомпилированные классы для gRPC, модули для работы с БД, и многое другое, могут применяться в неизменном виде в кодовой базе десятка микросервисов. Оставив за скобками копипасту, как "хорошую" плохую практику. Можно рассмотреть git submodules, однако, такое решение не очень удобно тем, что, во-первых, нужно предоставлять разработчикам доступ к конкретным репозиториям с кодовой базой, во-вторых, нужно понимать, какой коммит надо забрать себе, и в-третьих установка зависимостей для кода, включенного в проект как субмодуль, остается на совести разработчика. Менеджеры пакетов (pip, или, лучше, poetry), умеют разрешать зависимости из коробки, без лишних действий, и, в целом, использование менеджера пакетов значительно проще, чем работа с субмодулем. В статье рассмотрим, как организовать реестр пакетов в GitLab, а также различные подводные камни, поджидающие на пути к удобной работе с ним.

Для кого: статья будет полезна разработчикам, столкнувшимся с необходимостью организации приватного реестра пакетов, в качестве руководства по организации такого реестра в GitLab.

Читать далее

Моделирование лесных пожаров: теория, клеточный автомат на Python

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

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

Очень идеализированный лесной пожар может быть представлен с помощью простого клеточного автомата.

?

Аналитика рынка профессии с историей (Yandex Data Lake + Power BI)

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

Как-то я написал статью Аналитика рынка профессии в три клика. Но подключение, описанное в статье, напрямую к сайту HHru, лишает анализ вакансий историчности. В дашборде хранится только один «снимок» данных на момент загрузки в него. Другими словами, при нажатии кнопки Обновить все данные в дашборде перезатрутся. Было бы интересно видеть картину во времени? Мне да. Тем более, сделать это не сложно, и стоит пару сотен рублей в год. При выборе инструментов и способов у меня был принцип - просто и дешево.

Для того чтобы добавить историчности в дашборд обратимся к облачным технологиям. Нам нужно место, куда мы будем складывать и хранить наши «снимки» данных. Причем сырые ответы сайта в формате JSON. К этому хранилищу мы и будем подключаться из Power BI. Небольшая схема архитектуры на картинке.

Читать далее

Low-code MVP для получения плана застройки участка по кадастровому номеру на базе Notion, Airtable и Telegram

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

Суть задачи: по кадастровому номеру участка необходимо получить несколько вариантов проектов застройки участка в формате .DWG (Autocad) со всеми расчетными показателями застройки.

Low-code подход реализуется через использование Airtable в качестве базы данных и системы управления очередями заданий. Frontend реализуется на базе публичной страницы в Notion и чат-бота Telegram.

Читать далее

Pytest-фикстуры на человеческом

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

Привет, сообщество.

Я хотел бы поделиться с Вами своим объяснением того, как понять фикстуры и как начать их использовать в своих проектах, тем самым начать радоваться жизни).

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

Читать далее

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