Обновить
548.68

Python *

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

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

Автоматизация работы с проектом Python

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

Сегодня делимся с вами переводом статьи DevOps инженера из IBM, об автоматизации сборки быстро собираемых и удобно отлаживаемых образов Docker для проектов на Python с помощью Makefile. Этот проект не только упрощает отладку в Docker, но и заботится о качестве кода вашего проекта. Подробности, как всегда, под катом.
Приятного чтения!

Мелкая питонячая радость #11: реактивное программирование, парсинг страниц и публикация моделей машинного обучения

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

image


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

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

Deep Learning Inference Benchmark — измеряем скорость работы моделей глубокого обучения

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


Перед разработчиками встает задача определения производительности железа в задаче исполнения глубоких моделей. Например, хочется решить проблему анализа пола-возраста покупателей, которые заходят в магазин, чтобы в зависимости от этого менять оформление магазина или наполнение товаром. Вы уже знаете какие модели хотите использовать в вашем ПО, но до конца не понятно как выбрать железо. Можно выбрать самый топ и переплачивать как за простаивающие мощности, так и за электроэнергию. Можно взять самый дешевый i3 и потом вдруг окажется, что он может вывезти каскад из нескольких глубоких моделей на 8 камерах. А может быть камера всего одна, и для решения задачи достаточно Raspberry Pi с Movidius Neural Compute Stick? Поэтому хочется иметь инструмент для оценки скорости работы вашего инференса на разном железе, причем еще до начала обучения.

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

Fastcore — недооцененная, но полезная библиотека Python

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

Недавно я начал оттачивать владение языком программирования Python. Я хотел изучить продвинутые паттерны, идиомы и методы программирования. Начал я с чтения книг по продвинутому Python, но информация, похоже, не откладывалась в голове без применения навыков. Хотелось иметь возможность задавать вопросы эксперту, пока учусь, а такую возможность трудно найти! Тогда ко мне и пришла идея: что, если я найду проект с открытым и достаточно продвинутым кодом и напишу документацию и тесты? Я сделал ставку, что это заставит меня изучать все очень глубоко, а поддерживающие проект люди оценит мою работу и будут готовы ответить на мои вопросы.
Возможности fascore

Как я получил пожизненный запас чесночной пиццы с помощью Python и Selenium

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

История голодного студента с пытливым умом


Не знаю, как вы, а я обожаю пиццу. Особенно если это особые чесночные пицца-палочки Papa John’s. Поэтому я был в восторге, когда после заказа еды навынос получил от них следующее письмо:


Papa John’s (с) Заголовок письма с опросом

Бесплатная еда! Мне определённо нужно было пройти этот опрос…

Абстрагируемся от фреймворков глубокого обучения с Neuropod от Uber

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

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

О полезности contextvars

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

В Python есть множество возможностей и языковых конструкций. Какие-то мы используем каждый день, а о некоторых даже опытные программисты узнают с удивлением после нескольких лет работы с языком (привет, Ellipsis!). Совсем недавно вышел Python 3.9, но в этой статье я расскажу о функциональности, представленной еще в версии 3.7. На мой взгляд, она совершенно незаслуженно обделена пристальным вниманием. Речь, конечно же, о contextvars.
Читать дальше →

Головоломка для ИИ

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

Как я обучал агента собирать клетку 2048 в игре “2048”

Привет! Меня зовут Ринат Максутов, я работаю в подразделении Intelligent Engineering Services департамента Technology российского офиса компании Accenture, и веду проекты по заказной разработке. За свою многолетнюю карьеру в Аксенчере я попробовал много разных областей: мобильная разработка, фронт-энд, бэк-энд и даже дата саенс с машлерном. Однако мой рассказ будет не про работу, а про хобби. Мне очень нравится учиться и исследовать новые области на собственных pet-проектах. Сегодня я расскажу об одном из них - как я учил Reinforcement learning (RL) агента играть в известную головоломку “2048”. В статье намеренно не будет кода, математики, state-of-the-art подходов и новейших открытий в области, поэтому люди, хорошо знакомые с RL, ничего нового для себя не откроют. Эта статья - рассказ для широкой публики о том, как я поставил себе необычную цель и достиг ее. Приглашаю всех под кат!

Читать далее

Визуализация использования GIL в CPython

Время на прочтение6 мин
Охват и читатели4.2K
Интересно, как ведут себя потоки, когда борются за GIL, или немного информации отсюда только для Python3.

Сразу оговорюсь, что использую Ubuntu 16.04 c ядром 4.15.0-115-generic, на машине стоит 4-х ядерный процессор Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz с 4 GB RAM.

Теория


Ни для кого не секрет, что в Linux библиотека потоков реализует стандарт POSIX threads. Реализация потоков в CPython использует данные потоки, из-за чего управление ими полностью осуществляется операционной системой.

GIL в Python3 это булевская переменная locked, доступ к которой защищен мьютексом mutex, и при изменении которой в false, ОС «сигнализирует» какому-то потоку, который ожидает условную переменную cond.
Читать дальше →

Подключение Yandex Database к serverless телеграм боту на Yandex Functions

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

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

В качестве базы данных мы будем использовать Yandex Cloud Database.

Читать далее

Сказка про декораторы в Python

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

image


Simple is better than complex.

Материал для тех, кто уже слышал про декораторы, но не понимает зачем они нужны и как их использовать в своих проектах.

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

Песочный алфавит при помощи генеративных алгоритмов

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

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

Конфигурация проекта внутри и вне Kubernetes

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

Недавно я написал ответ о жизни проекта в Докерах и отладке кода вне него, где мельком упомянул о том, что можно сделать свою систему конфигурирования, чтобы сервис и в Кубере хорошо работал, подтягивал секреты, и локально удобно запускался, в том числе вообще вне Докера. Ничего сложного, но описанный "рецепт" может кому-то пригодится :) Код на Питоне, но логика к языку не привязана.


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

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

Как построить диаграмму на Python

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

Каждый, кому хоть раз приходилось строить диаграммы в draw.io или Google Diagrams, помнит всю утомительность и медлительность этого процесса. Сегодня делимся с вами материалом, в котором шаг за шагом показывается, как можно строить красивые архитектурные диаграммы с помощью Python. Главное удобство — встроенные узлы для обозначения сервисов и языков программирования. Только код и никакой мыши.
Приятного чтения!

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

Время на прочтение5 мин
Охват и читатели17K
Всем привет! Меня зовут Даниил, и я программист-самоучка.

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

Я стажируюсь в нашем бэкенд-отделе, который занимается продуктами для трекинга и параллельно работаю в своем родном отделе технической интеграции (вот уже на протяжении 6 месяцев). Основной язык в команде — Python. Его я учил самостоятельно, чтобы попасть на стажировку. В основном, конечно, по мануалам и роликам в Интернете.


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

Парсинг и аудит

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


Начнем с идеи. Допустим, вы, как настоящий аудитор, хотите провести экспертизу отчетности заводчика собак, используя в том числе и сторонние ресурсы. Для этого вы пробуете получить систематизированную информацию о щенках заводчика, зная, к примеру, лишь название их пород, и составить из нее таблицу в Pandas, пригодную к дальнейшей обработке любого характера (всевозможные статистические изыскания, агрегация и так далее). Но ваши данные хранятся в глубине некоторого абстрактного вебсайта, откуда вы можете вынуть их в только виде архива, где сложены документы нескольких форматов, внутри которых есть текст, картинки, таблицы. А если пород щенков много, а на каждую из них есть по десятку pdf-файлов с таблицами, откуда вам нужна не вся информация, а также, например, нужны названия этих таблиц или сноски? Добавим в наш проект несколько функций, решающих следующие задачи: выгрузка и распаковка архива с данными, поиск и обработка pdf файлов из архива, анализ полученных данных.

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

DataArt запустил бесплатную платформу Kiddo — онлайн-задачник для школьников, изучающих Питон

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


Пополнить базу собственными задачами может любой желающий, а на свой сайт встроить Kiddo не сложнее, чем плеер YouTube. Об идее детской образовательной площадки и ее реализации во время карантина рассказал Денис Цыплаков — Solution-архитектор DataArt, вдохновитель проекта.
Читать дальше →

Разработка онлайн-сервиса для инвесторов на pythonanywhere.com с использованием данных Yahoo Finance

Время на прочтение7 мин
Охват и читатели3.5K
Цель настоящей статьи — поделиться опытом разработки аналитического онлайн-сервиса для инвесторов на python. Основное внимание уделено в большей степени концептуальным моментам, а не детальному описанию какой-то отдельной технологии. Надеюсь, что любые детали читатель легко найдет, немного погуглив. Ради наглядности даю ссылку на сервис в самом начале изложения www.emarkoff.com .

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

Система рекомендаций фильмов с GUI на Python

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

«Без опыта я никому не нужен! Где взять опыт?» — часто думают люди, осваивающие новую для себя сферу или изучающие новый язык программирования. Решение есть — делать пет-проекты. Представленный под катом проект системы рекомендации фильмов не претендует на сложность и точность аналогичных систем от энтерпрайз-контор, но может стать практическим стартом для новичка, которому интересны системы рекомендации в целом. Этот пост также подойдет для демонстрации как использовать Python-библиотеку EasyGUI на практике.

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

Алгоритм Jerdella: решаем проблемы семантического безумия в IT-системах банков

Время на прочтение15 мин
Охват и читатели4.5K
Семантические проблемы в IT системах. Что бывает, когда много разных людей начинают творить

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

Ветхозаветную легенду можно с легкостью перенести на современные крупные компании, внедряющие современные ИТ-решения. В пример таких компаний, вне всякого сомнения, можно отнести современные российкие банки, которые имеют десятки, а то и сотни бизнес-подразделений, в которых складывается своя субкультура общения, построенная на своих правилах и уникальном стиле делового оборота. Естественно, при формировании ИТ-инфрастурктуры учитывается устоявшийся в коллективе стиль именования бизнес-сущностей. За последние десять лет появилось множество работ на эту тему, например эта [1]. Те, кто сталкивался с аналитикой информационных систем в банках знают, что такое сделать так называемый «маппинг» данных, особенно, если конечные системы делали разные команды аналитиков, разработчиков и заказчиков или вендоров. Как правило, на 60% составление маппинга является уяснением сути и семантики передаваемых данных.

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

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