Обновить
508.27

Python *

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

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

Как создавать предметы генеративного искусства с помощью L-систем на языке Python

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

Мы уже писали о поле течений, при помощи которого можно генеративно рисовать невероятно красивые, завораживающие линии. Сегодня, к старту курса о Fullstack-разработке на Python, мы решили продолжить тему. Представляем перевод статьи, автор которой рассказывает, как генерировать рисунки деревьев при помощи L-систем, которые состоят из алфавита и могут применяться для создания порождающих правил подстановки.

Читать далее

Clustergram: визуализация кластерного анализа на Python

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

В этой статье, переводом которой мы решили поделиться специально к старту курса о Data Science, автор представляет новый пакет Python для генерации кластерограмм из решений кластеризации. Библиотека была разработана в рамках исследовательского проекта Urban Grammar и совместима со scikit-learn и библиотеками с поддержкой GPU, такими как cuML или cuDF в рамках RAPIDS.AI.

Читать далее

Продолжаем знакомство с APIM Gravitee

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

Всем привет! Меня всё ещё зовут Антон. В предыдущей  статье я провел небольшой обзор APIM Gravitee и в целом систем типа API Management. В этой статье я расскажу, как поднять ознакомительный стенд APIM Gravitee (https://www.gravitee.io), рассмотрим архитектуру системы, содержимое docker compose file, добавим некоторые параметры, запустим APIM Gravitee и сделаем первую API. Статья немного погружает в технические аспекты и может быть полезна администраторам и инженерам, чтобы начать разбираться в системе.

Читать далее

14 Python-пакетов, про которые вы скорее всего не знали

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


Язык Python предоставляет всем пользователям возможность создавать свои пакеты и делиться ими со всем сообществом. Так появлялись очень популярные библиотеки для работы с данными (Pandas, Numpy, Matplotlib), для машинного обучения (TensorFlow, PyTorch), для веб разработки. Но есть много смешных, полезных или интересных пакетов, про которые вы вероятно никогда не слышали. Именно про них и пойдёт речь дальше.

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

N-e число обобщённых Фибоначчи за O(log N)

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

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

Читать далее

Как использовать GraphQL Federation для инкрементальной миграции с монолита (Python) на микросервисы (Go)  

Время на прочтение6 мин
Охват и читатели13K
Или как поменять фундамент старого дома, чтобы он не обвалился



Лет 10 назад мы выбрали 2-ю версию Python для разработки нашей обучающей платформы с монолитной архитектурой. Но с тех пор индустрия существенно изменилась. Python 2 был официально похоронен 1 января 2020 года. В предыдущей статье мы объясняли, почему решили отказаться от миграции на Python 3. 

Каждый месяц нашей платформой пользуются миллионы людей. 

Мы пошли на определённый риск, когда решили переписать наш бэкенд на Go и изменить архитектуру. 

Язык Go мы выбрали по нескольким причинам:

  1.  Высокая скорость компиляции.
  2. Экономия оперативной памяти.
  3. Достаточно широкий выбор IDE с поддержкой Go.

Но мы применили подход, который позволил минимизировать риск.
Читать дальше →

Чтобы первый блин не вышел комом. Советы начинающему разработчику сервиса

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

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

 Специально для статьи я подготовил два идентичных примера на Flask и Dash и выложил их на GitHub. В них иллюстрируется расчет и вывод показателей юнит-экономики абстрактного IT-маркета, который называется Хабр (а почему бы и нет, ведь сейчас все компании начали заниматься электронной коммерцией:).

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

Читать далее

Интеграция и серверная валидация инаппов для стора Google Play — как защититься от читеров

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

Онлайн-проекты рано или поздно сталкиваются со взломом внутреннего стора, когда читеры накручивают себе игровые предметы, оружие или валюту. Классика. Наш PvP-шутер не стал исключением — брешь мы в итоге закрыли, хотя и пришлось повозиться.

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

Читать далее

Создание функции губки из MD5

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

Во время своих исследований я столкнулся с термином «функция губки». Поиграв с ней и внедрив одну из них в свое ядро, я решил написать эту статью о том, как создать упрощенную версию. Чтобы свести низкоуровневый криптографический код к минимум, мы будем полагаться на хэш-функцию MD5. Пристегнитесь, разговор будет долгим.

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

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

Читать далее

Датасет о мобильных приложениях

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

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

Читать далее

Погружаемся в статистику вместе с Python. Часть 2. Распределение Стьюдента

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

Доброго времени суток, хабраледи и хабраджентельмены! В этой статье мы продолжим погружение в статистику вместе с Python. Если кто пропустил начало погружения, то вот ссылка на первую часть. Ну, а если нет, то я по-прежнему рекомендую держать под рукой открытую книгу Сары Бослаф "Статистика для всех". Так же рекомендую запустить блокнот, чтобы поэкспериментировать с кодом и графиками.

Как сказал Эндрю Ланг: "Статистика для политика – все равно что уличный фонарь для пьяного забулдыги: скорее опора, чем освещение." Тоже самое можно сказать и про эту статью для новичков. Вряд ли вы почерпнете здесь много новых знаний, но надеюсь, эта статья поможет вам разобраться с тем, как использовать Python для облегчения самостоятельного изучения статистики.

Продолжить погружение!

Как принимать платежи в Telegram | API Yoomoney Python

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

Как принимать платежи используя YooMoney API и Python

Читать далее

Как мы запустили документооборот в Telegram и что из этого вышло? Да, это не сон

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

Как мы запустили документооборот в Telegram и что из этого вышло? Да, это не сон

Разбираем аргументы «за» и «против». В конце также можно ознакомиться с моим мнением на этот счет.

Читать далее

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

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

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


Множество (Set) — структура данных, которая позволяет достаточно быстро (в зависимости от реализации) применить операции add, erase и is_in_set. Но иногда этого не достаточно: например, невозможно перебрать все элементы в порядке возрастания, получить следующий / предыдущий по величине или быстро узнать, сколько элементов меньше данного есть в множестве. В таких случаях приходится использовать Упорядоченное множество (ordered_set). О том, как оно работает, и какие реализации есть для питона — далее.

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

И еще несколько полезных библиотек для Python (с примерами)

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

У python одно из самых крупных комьюнити, это обусловлено тем, что этот язык любят многие за его простоту и универсальность. Очень много энтузиастов, которые создают всё новые и новые библиотеки для облегчения разработки, поэтому среди всего этого разнообразия каждый может подобрать несколько библиотек для себя. На github существует много проектов, которые каждый может встроить к себе в проект, чтобы оптимизировать, улучшить или просто расширить его функционал.

Хотелось бы рассмотреть несколько интересных на мой взгляд библиотек.

Ознакомиться

3D teeth instance segmentation. В темноте, но не один

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

3-х мерная сегментация зубов от поиска данных до конечного результата. Почти.

Читать далее

Разукрашиваем вывод в консоли: теория и практика

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


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

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

Как создавать интерактивные линейные графики на Pandas и Altair

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

Линейный график является неотъемлемой частью анализа данных. Он даёт нам представление о том, как величина изменяется при последовательных измерениях. В случае работы с временными рядами важность линейных графиков становится решающей. Тренд [направление], сезонность и корреляция — вот некоторые характеристики, которые можно наблюдать на аккуратно сгенерированных линейных графиках. В этой статье мы будем создавать интерактивные линейные графики с помощью двух библиотек Python — Pandas и Altair.

Мы уже затрагивали тему визуализаций при помощи библиотеки Altair на примере создания интерактивных карт, а сегодня, к старту курса о Data Science, решили поделиться простым руководством о том, как можно из множества графиков выделить самый важный; с этого руководства можно начать изучать Altair на практике.

Читать далее

Как опухоли головного мозга воздействуют на коннектом

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

Известно ли вам, что в настоящее время более 700 000 американцев живут с опухолью головного мозга? И большинство из этих людей, ничего не подозревая, могут продолжать жить с этой опухолью до самой смерти, возможно, от других причин. Поскольку 70 % опухолей мозга доброкачественные, нередки случаи, когда человек, не зная забот, продолжает жить с опухолью мозга. Даже оставшиеся 30 % злокачественных раковых опухолей могут не привести к немедленной смерти. Как эти сгустки вышедших из-под контроля клеток влияют на структуру мозга? И как их наличие влияет на вас?

Читать далее

«Маяки» в ЕГРЮЛ с python

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


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

Сервис уведомляет владельца предприятия, если в налоговую попало заявление о внесении каких-либо изменений в отношении данных компании, содержащихся в ЕГРЮЛ. Далее владелец может среагировать на ситуацию, заблокировав регистрацию изменений, если они не были им инициированы. Чтобы реализовать этот своеобразный мониторинг, необходимо поставить на компанию так называемый «маяк». В данной статье посмотрим, как работает сервис, как и кто может поставить маяки, сколько их можно поставить и как все это сделать «пакетно» с помощью python.

Сам сервис находится по адресу на сайте налоговой здесь.
Читать дальше →

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