Обновить
1024K+

Python *

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

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

Как я бэкенд для интернет-магазина пилил…

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

Поделюсь как начал писать приложение для интернет-магазина на монолите, затем перешёл на микросервисы.

Читать далее

Фантастически быстрый деплой веб-приложения

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

Привет, Хабр! Сегодня поговорим об одном интересном микро-фреймворке для Python — Flask. Мы создадим свое собственное веб-приложение и изучим расширения flask, а после задеплоим его на сервер, чтобы иметь доступ из внешнего мира.

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

Мы затронем все моменты, я объясняю каждую строчку кода. Мы будем создавать не просто какой то статичный сайт — а открытую публичную стену, с регистрацией и авторизацией. Каждый может туда зайти, авторизоваться и оставлять посты на общедоступной стене.

А самое главное — безболезненный, быстрый и легкий деплой будущего приложения.
Читать дальше →

Мега-Учебник Flask Глава 9: Разбивка на страницы (издание 2024)

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

Это девятая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как разбивать списки записей базы данных на страницы.

Начать изучение

Как использовать Python в нативном Android приложении. Мой опыт

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

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

Читать далее

Бублики и Коржики Программирования

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

Давным-давно, начиная лекцию об алгоритмах, в те времена, когда о них говорили как об отдельной сущности, рисовали в виде блок‑схем перед тем, как писать код программы для их реализации, я задавал студентам вопрос: «Куда девается дырка от бублика?» И тут же отвечал на этот дзен‑вопрос: «Никуда, потому что в мире Идей ничего не умирает. Дырка от бублика — самый яркий тому пример. Если мы представим, что тело бублика — это код программы, а дырка — это тот невидимый и подразумеваемый Алгоритм, который этот код реализует.»

Читать далее

А/В эксперименты. Ускорение вычислений с помощью бакетизации

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

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

Время – деньги!

Python — Эволюция создания объектов (первая часть)

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

Как упростить себе жизнь или почему ты должен уметь создавать объекты правильно?

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

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

Читать далее

Гроубокс с числовым программным управлением (ЧПУ)

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

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

Читать далее

Анализ рынка акций мировых компаний на брокерской платформе Tinkoff Инвестиции

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

В мире, где цифровые технологии играют все более важную роль в повседневной жизни, рынок ценных бумаг становятся объектом увеличивающегося интереса исследователей, инвесторов, а также экономических и финансовых институтов. Цифровые активы и способы прогнозирования их стоимости быстро привлекают внимание своей децентрализованной природой, возможностью проведения глобальных финансовых транзакций и перспективой защиты от инфляции. Однако, они также характеризуются высокой волатильностью, что делает их предметом повышенного финансового риска. Этот рынок играет ключевую роль в экономике, поскольку предоставляет компаниям доступ к капиталу для финансирования своей деятельности, а также дает инвесторам возможность вложить свои деньги с целью получения прибыли [1, 2].

Платформа Tinkoff Инвестиции — это онлайн-сервис от Tinkoff Bank, который предоставляет клиентам возможность инвестировать в различные финансовые инструменты, включая акции, облигации, фонды, ETF и другие. Широкий выбор активов, удобный интерфейс и наглядная аналитика, и отчетность на платформе делает ее привлекательной для новичков и опытных инвесторов. Онлайн-брокерские компании позволяют инвесторам быстро и легко зарегистрироваться и приступить к торговле [3].

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

Читать далее

Реализация приложения для отслеживания самочувствия (Telegram bot)

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

Рад представить вам свой первый проект, как мне думается, достаточно интересная работа, если рассматривать её как первый pet project.

Читать далее

Декораторы в Python

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

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

Читать далее

Ансамблевое обучение для самых маленьких

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

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

Читать далее

Как написать свой клиент для YouTube, не привлекая внимания санитаров

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

Привет, Хабр! Когда‑то давно я наткнулся на ролик, где парень писал консольный клиент для YouTube. Идея была просто потрясающей!

Написать свой минималистичный и быстрый клиент, который не будет надоедать
лентами рекомендаций, рекламой, комментариями и т. д. Но вот беда, автор, не найдя возможности использовать YouTube API, решил спарсить одну из фронтенд обёрток над YouTube.

Стоит ли говорить о том, что такое решение сильно теряет в производительности и абсолютно нежизнеспособно на какой‑либо длительный период времени?

Читать далее

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

Как мы упростили процесс интерактивной визуализации данных в веб-приложении, используя HoloViews

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

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

Читать далее

Коммивояжер на GPU

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

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

Динамическое программирование — это метод решения сложных задач путём разбиения их на более мелкие подзадачи, решение которых легче и проще.

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

Читать далее

Бутстрап временных рядов

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

Всем привет! Как и во многих других компаниях, в X5 существует огромное количество данных, зависящих от времени. Такие данные принято называть временными рядами (time-series). Это могут быть данные о продажах в магазинах, об остатках на складах или об удовлетворенности клиентов. Используя эти данные, мы хотим искать инсайты и приносить пользу бизнесу.

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

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

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

Читать далее

Apache Airflow: преимущества и недостатки

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

Одним из популярных оркестратором задач является Apache Airflow. Он, как и все инструменты, имеет свои преимущества и недостатки, о которых пойдет речь в данной статье.

Подробнее

µDjango — технология создания асинхронных микросервисов

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

Примерно 5 годами ранее появления FastAPI была обнародована идеология построения легковесных микросервисов на Django, которая стала актуальной только после внедрения асинхронности в этом фреймворке.

Хотя в последней (на момент написания статьи) версии Django 5.0.5 асинхронно решается только часть задач, но уже сейчас можно начать создавать асинхронные микросервисы воспользовавшись технологией µDjango.

Так что это такое,  µDjango?

Создаём свою стример-тян из зефира и палок

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

Наверняка вы слышали о нашумевшей в своё время ИИ стримерше NeuroSama. Однако мое внимание привлекало не само шоу и эти нашумевшие самые «крутейшие» моменты стримов, а сам факт того, что нейросеть реально может полностью автономно и полноценно вести стрим, удерживая внимание зрителей! Меня очень заинтересовала такая задумка, и я решился её повторить!

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

Может, немного опоздал с трендом, но не пропадать же добру просто так! Кому-нибудь да пригодится (хотя бы для того, чтобы посмеяться или кринжануть с человека, который год занимался никому не нужной фигнёй).

Статья получилась без преувеличения огромной из-за совмещения просто ТУЧИ разных технологий и необходимости погружения в тонкости некоторых, так что отправьте ссылку себе на комп, расположитесь поудобнее и предупредите свою попу, что она рискует не отрываться от стула на протяжении целого часа!

Будет весело, сложно и очень интересно как опытному «бойцу», так и простому обывателю!

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

Моя стратегия тайм-менеджмента для основателей стартапов

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

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

Но как только мы касаемся основателей или руководителей высшего звена, уровень неопределенности резко повышается. Каждый рабочий день этих менеджеров состоит из самых разнообразных и быстро сменяющихся задач, которые нужно балансировать между собой буквально на ходу. Тут и внезапные созвоны, и юридические вопросы, и практическое взаимодействие с командой — все это делает роль этих управленцев совершенно непредсказуемой. Даже не смотря на наличие квартальных целей и ключевых показателей (OKR), реальной проблемой для основателей бизнеса является именно динамическая корректировка планов для решения внезапных и крайне важных задач, которых не существовало еще полчаса назад. И все это надо делать в условиях жестких временных ограничений, потому что сутки не резиновые.

Читать далее