Обновить
636.4

Python *

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

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

Свои языки программирования: зачем компании изобретают колесо заново

Время на прочтение11 мин
Количество просмотров16K

Кажется, языков программирования уже предостаточно, но IT-гиганты продолжают плодить свои. Google, Apple, JetBrains — готовых решений хватает до отказа, а им все равно хочется иметь что-то свое, эксклюзивное. Дело в технологической необходимости, гордыне или «синдроме NIH», когда чужое не берут? Может, это попытка захватить контроль над всем технологическим стеком или хитрый маркетинговый ход для завоевания умов разработчиков? Давайте копнем глубже, чтобы разобраться.
Читать дальше →

Запускаем FLUX 1 Dev в Google Colab

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

Ранее я уже делал статью про запуск в пару кликов моделей Stable Diffusion в Google Colab с помощью Fooocus (способ актуальный), сегодня мы проделаем похожее с моделью FLUX 1 Dev, но без web интерфейса.

Читать далее

Как я Telegram бота для текстовых квестов на ChatGPT делал

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

Привет, Хабр! Хочу поделиться своим опытом создания Telegram-бота для текстовых квестов при помощи ИИ. Если вы любите текстовые квесты, писать ботов или просто интересуетесь GPT, то этот материал для вас.

Ссылка на репозиторий с исходным кодом: questTg.

Читать далее

AI (Computer Vision) для реальной жизни (или кто для кого готов)

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

Профессия «плотник» полезна в обычной жизни, а что можно сказать о «программисте»? Когда государственной политикой является цифровизация, то правительство должно понимать: цифра она везде цифра! И в обычной жизни придется учитывать и такие истории.

Но сначала, чтоб не тратить время «продвинутых» хабберчан, краткое резюме:
1. уровень технической информации = junior
2. стек = python, ultralytics, YOLO (различных версий)
3. тема = распознование объектов, обучение модели
4. социальная польза = забота об экологии в городе Москва

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

детали под катом

Проанализировал более 260 тысяч футбольных матчей, чтобы поспорить с учёными-статистиками

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

Потратил пару месяцев, чтобы спарсить матчи и понять, насколько футбол хаотичная и непредсказуемая игра. И выводы оказались довольно неоднозначными. Но обо всём по порядку

Читать далее

Быстрее, выше, сильнее: сравнение подходов poetry, rye и uv

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

Привет, с вами снова Егор, Tech Lead компании ИдаПроджект. Я все еще занимаюсь стратегией, процессами и командами в направлении backend-разработки :)

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

В статье сравним poetry, uv и rye: кто быстрее управляет зависимостями, как использовать их в Docker, и какой из них выбрать в 2025 году. Заодно пробежимся по философии инструментов и посмотрим пару новых PEP стандартов, которые могут улучшить работу с зависимостями.

Читать далее

Имитатор касаний. Ч3: Программная часть

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

Цифры нажимались как бы сами собой, быстро следуя в чётком порядке. Это было очень круто! Кряк даже пустил слезу от умиления, а енот довольно потирал свои ловкие ручонки.) Наверняка ему не терпится сделать ещё один интересный проект.
+++
Проанализировав данные, полученные с помощью обратной разработки в части 1 и части 2, можем прикинуть алгоритм работы имитатора касаний, написать приложение и взломать пароль! Этим сегодня и займёмся.

– Кто-нибудь, разбудите программиста!
Читать дальше →

От скриптов к сервисам: 10 книг для профессиональной разработки в Data Science

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

Привет! Меня зовут Марк Паненко, и я Chief Data Science в Ozon Банке. Сегодня я хочу поговорить про книги, которые научат писать код. В современной экосистеме Data Science недостаточно просто знать алгоритмы машинного обучения и статистические методы — необходимы прочные инженерные навыки для создания масштабируемых, поддерживаемых решений.

Это третья часть серии статей о главных книгах для data-специалистов. В первой части «От комиксов до нейросетей» я писал о литературе для джунов. Во второй — «Код устареет, принципы — останутся» — для мидлов и сеньоров.

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

Читать далее

AI агенты — клоны сотрудников (часть 3)

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров7.1K

Итак, я прошел длинный путь создания RAG с нуля, и начал делать AI агентов для нашей компании.

По технологиям испробовал:

Читать далее

История эволюции веб-сервиса: от примера из доки до космолета

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

5k RPS, 5ms Latency и 100 экспериментов одновременно. История о том, как наша команда перестраивала веб-сервис для сплитования трафика в высокопроизводительную систему. С какими ограничениями Cpython и Gil столкнулись на пути, как обходили "узкие места" и оптимизировали сервис до микросекунд. В общем, всё о том, как мы построили "космолет" на Python и взлетели! Ну и, конечно же, ответ на вопрос: "Почему не Go? ".

Читать далее

Инструменты Python для анализа данных на примере данных стриминг-сервиса

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

В данной статье рассмотрены некоторые методы и инструменты библиотек python для анализа данных. Используем три самые популярные библиотеки: Pandas, Numpy, Seaborn

Читать далее

Как спрогнозировать вес птицы с помощью XGBoost: от предобработки данных до оптимизации модели

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

Привет, Хабр! Вот когда каждый грамм действительно имеет значение: если вам нужно спрогнозировать вес птицы перед продажей, чтобы экономить на кормах и оптимизировать производство. Меня зовут Михаил Чирков, я data scientist в R-Style Softlab и сегодня хочу поделиться с вами кейсом прогнозирования с помощью XGBoost, этот проект мы делали в рамках внедрения BI-системы для птицефабрики. 

Читать далее

Год с Dishka: какой он — модный DI-контейнер?

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

Привет, Хабр, меня зовут Юрий, я уже год использую хайповый IoC‑контейнер dishka в python-проекте и хочу немного поделиться опытом эксплуатации.

Мой проект — движок для городской ночной поисковой игры «Схватка» («Энкаунтер» или «Дозоры»). Проект полностью open source.

Читать далее

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

Датасеты меняют всё (*в мобильной платформе SimpleUI)

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

Речь пойдет о новом механизме хранения и манипулирования данными в SimpleUI, который так тесно связан с UI-механизмами платформы что по сути является частью UI/UX. Это многогранный артефакт – это и «визуальная форма данных» (списки, поля ввода, поиск) и резидентное в памяти хранение и примитивное локальное хранение. В целом можно сказать, что «вы наполняете датасет данными, а платформа делает все остальное». Причем в результате выигрыш во всем – в скорости разработки, в прозрачности решения и производительности на любых объемах данных. Кроме того, это удобная работа со ссылочными объектами, что делаем Симпл более удобным для работы с данными внешних систем, а датасеты в свою очередь становятся основным механизмом хранения данных внешних систем (даже для онлайн-решений).

Читать далее

Поиск ликвидных облигаций с использованием Python

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

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

Пять лет назад написал Node.js-скрипт, затем адаптировал его для Google Таблиц, а теперь разрабатываю Python версию. При помощи сообщества на GitHub эта Python версия идёт к созданию полноценной библиотеки с расширенными возможностями: автоматический поиск ликвидных облигаций, расчет денежных потоков, сбор новостей по эмитентам и вычисление оптимального объема покупки. Все это направлено на помощь простым инвесторам, вроде нас с вами, чтобы оперативно находить выгодные инвестиционные инструменты и принимать решения на основе актуальной информации.

Проект полностью open source.

Автоматизация работы с облигациями

Бэктестинг торговых стратегий на Python с помощью Numba. Когда перевод расчетов на GPU действительно оправдан?

Уровень сложностиСложный
Время на прочтение26 мин
Количество просмотров7.2K

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

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

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

Как же использовать ту легкость и скорость разработки Python и при этом сохранить адекватное время вычислений на больших объемах данных? В этой статье мы увидим, насколько перенос вычислений на GPU может увеличить производительность вычислений.

Читать далее

Как мы обучили модель прогноза ранней просрочки: логистическая регрессия vs градиентный бустинг

Время на прочтение9 мин
Количество просмотров2.9K

Всем привет! На связи дата-сайентисты стрима разработки моделей для корпоративного сегмента ВТБ — Андрей Бояренков, Иван Кондраков и Денис Дурасов.

Как уже писали ранее в другой статье, внедрение процесса AutoML позволило нам во многом автоматизировать рутину и разработки, и применения моделей. Соответственно, у нас появилось больше времени для RnD-задач, которые могли бы быть полезны нашим заказчикам, чтобы охватить моделями новые процессы, а также провести исследования новых алгоритмов.

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

Под катом расскажем, как мы их разрабатывали и каких результатов удалось с ними добиться.

Читать далее

Три теоремы о сортировках

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

Я знаю многих программистов и руководителей в IT компаниях, которые недолюбливают математиков и в частности считают их далёкими от жизни идиотами из-за их утверждений в духе "нельзя отсортировать последовательность быстрее, чем за nlogn" -- ведь это очевидным образом неверно, есть же сортировка подсчетом и radix sort. Нюанс в том, что описанное выше -- это распространённая некорректная трактовка одной из ключевых теорем об алгоритмах сортировок, корректное утверждение выглядит так: "не существует алгоритма, который бы гарантированно находил перестановку n элементов, приводящую к возрастающему порядку, быстрее чем за nlogn используя только операции попарного сравнения". В этом утверждении больше слов, оно более сложно в плане когнитивного восприятия, ключевой момент обозначил жирным шрифтом, чувствуете разницу?

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

Если я ещё не убедил Вас прочитать статью, то вот моя последняя попытка: в статье объясню почему пузырёк -- это бесполезная фигня, но внезапно практически также работающая сортировка вставками -- это супер важная сортировка, являющаяся частью std::sort в MSVC, GCC и Clang. Расскажу, каким интересным свойством оптимальности обладает сортировка выбором, являющаяся в теории такой же неэффективной как пузырёк.

Читать далее

Процедурная генерация двухмерной полигональной карты

Время на прочтение14 мин
Количество просмотров7.1K

Привет Хабр ! Это моя первая статья на тему процедурной генерации. Здесь я рассмотрю конкретную задачу по генерации, её решение и опишу ключевые использованные принципы. Пишу эту статью для того, чтобы поделиться идеями и опытом, которых мне не хватало, когда я взялся за дело две недели назад. Я не буду делать полный разбор проекта, а лишь опишу и визуализирую принцип.

Читать далее

Сделать мобильного робота автономным? Это просто

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров5.2K

Как отправить робота на автономное патрулирование и научить его «видеть»? Разбираем реальный кейс создания роботизированной системы мониторинга на базе отечественной платформы: выбор оборудования, интеграция ИИ и примеры кода. Делимся опытом, как научить робота собирать данные, обходить препятствия и почему отказались от модной робособаки.

Читать далее

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