Обновить
1024K+

Python *

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

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

Царство грибов. Симуляция мицелия на p5py. Битвы гифов. Часть первая

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

Одни из самых долгоживущих, самых скрытных и самых древних организмов на Земле. Грибы. Существа в скрытом царстве под горой. Они меня всегда увлекали.

В 1998 году внимание биологов привлекла гибель деревьев, чьи корни были опутаны грибницей. Тогда-то они и определили, что скопления опёнка темного в Орегоне не отдельные грибницы, а единый организм. Крупнейшее живое существо на Земле: размером с 880 гектаров и старше 2,4 тысячи лет.

Хочется написать симуляцию этого великолепного царства (прямо в браузере на Python и p5py). Посадить электронные споры, понаблюдать за ростом мицелия и восшедшими плодовыми телами, и проследить за спорами-путешественниками, как они создают новые колонии.

Добро пожаловать в путешествие в Царство Грибов.

Читать далее

Python: неочевидное и вероятное

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

Python известен своей простотой и предсказуемостью, но за этой доступностью скрываются интересные и неочевидные особенности, способные удивить программистов с базовым опытом(а если повезет, то и опытных). В этой статье мы рассмотрим несколько таких «фокусов» и тонкостей, чтобы глубже понять внутреннюю логику и философию языка.

Читать далее

Какие тренды в технологиях нас ждут в 2025 году

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

Мобильная разработка продолжает активно развиваться по разным направлениям. Попробую выбрать несколько основных трендов развития в 2025 году:

1) ИИ

C выпуска Chat GPT осенью 2022 года и появления его аналогов у Yandex, Google и других компаний мы переживаем настоящий бум различных LLM. Спектр их использования довольно широк: ассистенты в чатах, помощники-анализаторы, генераторы контента и так далее.

Весной 2024 года Google представили ИИ-помощников, интегрированных как в саму ОС Android, так и в инструменты разработки Android Studio, а также SDK для подключения ИИ-помощников уже в своё собственное приложение. Примерно в то же время Apple объявили о создании своего ИИ-помощника на базе моделей OpenAI. Из-за разных ограничений, решения доступны не все пользователям, что делает крайне актуальной разработку аналогов (чем и занимается, в частности, Сбер). Также актуальным будет создание и обучение собственных ИИ-ассистентов на базе открытых LLM (например, известная и популярная Meta-LLama), чем уже заняты крупные компании.  

2) Кросс-платформенная разработка

Не секрет, что компания Google, разрабатывающая Flutter, в 2024 году сделала открыто ставку и на Kotlin Multiplatform, объявив совместимость с данной технологией одним из своих приоритетов. В этом году они активно занимались переводом Jetpack библиотек для разработки современного приложения Android и на кросс-платформу. Flutter также не сдаёт свои позиции и всё больше завоёвывает популярность во многих компаниях. Это хорошее решение для ускоренной разработки ряда клиентских приложений. Также он становится инструментом для удобного создания приложений под ОС Aurora.i

Читать далее

Массовая асинхронная обработка запросов с последующей синхронной CPU-bound логикой

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

Столкнулись с обработкой огромного числа запросов и сложной логикой? В новой статье показано, как эффективно обрабатывать до 1 000 000 запросов к API, использовать асинхронный подход для быстрого получения данных и параллельно выполнять тяжелые вычисления в отдельных процессах благодаря ProcessPoolExecutor. Узнайте, как совмещать массовый асинхронный ввод-вывод с CPU-bound обработкой, эффективно масштабировать решения и оптимизировать производительность!

Читать далее

Пишем свой PyTorch на NumPy. Часть 1

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

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

В этой статье мы реализуем собственную библиотеку машинного обучения на NumPy!

Читать далее

Большая подборка авторских каналов по аналитике 2024

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

Я провел большую работу и собрал для вас 17 авторских тг-каналов по аналитике данных, которые постят свежий, интересный и полезный контент.

Без рекламы (ну или почти без нее), с разумным балансом экспертного контента/лайфстайла и интересной подачей. Короче, реальный свежачок, а не «очередная подборка».

Кстати, меня зовут Алексанян Андрон 👋🏻 Я основатель Simulative, где мы обучаем крутых аналитиков данных на кейсах из реального бизнеса. И у меня тоже есть авторский канал по аналитике!

Читать далее

Стратификация: как не облажаться с A/B тестами

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

Привет, Хабр!

Представьте: вы запускаете A/B тест. Цель проста: проверить, работает ли новая кнопка лучше старой. Но тут же возникает мысль: «А вдруг мобильные юзеры и десктопные реагируют по-разному? А что с новыми пользователями? Их мнение ведь явно не равноценное опытным юзерам». Без стратификации результат может быть так себе.

Что такое стратификация? Это способ сделать A/B тесты чуточку честнее. Берем выборку, делим ее на однородные группы — страты — по ключевым признакам (например, устройство и статус пользователя), а потом уже распределяем юзеров в группы А и Б.

Читать далее

Мэтчинг персонажей. Level Hard

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

Интро

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

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

Какие данные

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

Итого, у нас в датасете оказалось около 25 тысяч гравюр. Да-да, это только гравюры, о количестве персонажей пока речи не идет. А учитывая любовь граверов 18-19 веков к изображению сцен с массовыми скоплениями людей, можем утверждать сразу, что персонажей будет намного больше.

Читать далее

Tg бот для IT + автоматизация ИПРО-2 используя MTS Exolve. Упаковка в Docker и автоматизация сборки с GitHub Actions

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

Статья написана с целью передачи проекта всем кто ищет информацию по написанию простых ботов, началу работы с docker и github Actions.

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

Стратегия Келли точно не подведёт

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

Возможно, вы слышали о финансовой стратегии ставок по методу Келли. Это система, позволяющая оборачивать себе на пользу известную информацию в азартной игре или связанные с ней предубеждения. Эта стратегия также называется максимально агрессивной или стратегией высокой дисперсии. Дело в том, что если сделать ставку выше, чем позволяет предел Келли, то последствия могут быть катастрофическими.
Недавно мне попалась странная карточная игра, в которой стратегия Келли абсолютно не подразумевала риска, поскольку в игре действует Нулевая дисперсия. В своей знаменитой книге «Математические головоломки» Питер Уинклер называет её «Next Card Bet» («Следующая карточная ставка»). Саму задачу и её решение, по-видимому, сформулировал Томас Кавер. Мне понравилась как сама эта игра в ставки, так и её анализ, поэтому я поделюсь ими с вами здесь.

Читать далее

Матрица ошибок confusion_matrix() в scikit-learn

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

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

Обычно для бинарной классификации она выглядит так:

Читать далее

Мир за пределами Pandas: достойные альтернативы для работы с данными

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

Хабр, привет! Это Леша Жиряков, техлид backend-команды витрины онлайн-кинотеатра KION. В мире дата-аналитики Pandas остается одной из самых популярных библиотек. Но это вовсе не значит, что нет других быстрых, удобных и производительных инструментов. Мой пост покажет альтернативы: от колоночной DuckDB и сверхскоростной Polars до мощного Modin и гибкого Vaex. В подборке я постарался передать главную суть — назначение и преимущества инструмента и его характеристики с GitHub.

Читать далее

Анализ фильмов с интернет-портала Кинопоиск

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

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

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

Для эффективной работы системы был использован современный технологический стек. Обработка данных осуществлялась с помощью MongoDB, что обеспечило хранение и управление большими объёмами неструктурированной информации. RabbitMQ организовал асинхронный обмен сообщениями между компонентами системы, а серверная часть приложения разрабатывалась на базе Spring Boot, что ускорило процесс разработки и упростило развертывание приложения. Контейнеризация с использованием Docker обеспечила удобное развертывание и масштабирование системы. Основными языками программирования стали Java 17 и Python: Java использовалась для серверной части и микросервисов, а Python — для анализа данных и построения алгоритмов обработки информации.

Для анализа данных применялись библиотеки Pandas, Seaborn и SciPy, которые обеспечили эффективную обработку данных и визуализацию результатов. В рамках анализа строились графики, отображающие популярность жанров, исследовалась корреляция оценок на Кинопоиске и IMDb, а также визуализировалась связь между бюджетами и кассовыми сборами. Для представления результатов применялись такие инструменты, как matplotlib и seaborn, позволяя визуализировать ключевые закономерности в виде графиков и диаграмм.

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

Читать далее

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

Сокращать срок или платёж — раскрываем черный ящик ипотечного калькулятора

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

Привет! Меня зовут Зайнулла, я разработчик‑исследователь в InfoWatch и преподаватель в МГТУ им. Баумана. Сегодня расскажу о результатах не совсем типичного для меня исследования.

В статье «Уменьшать срок или платёж, что выгоднее: наглядное сравнение способов досрочного погашения кредита» проделана большая работа и сделаны правильные выводы, но меня смущает, что проведено исследование ипотеки как чёрного ящика, т. е. методом подстановки чисел в ипотечные калькуляторы с последующим сравнением результатов. Говорится о том, что показана математическая равнозначность методов, но сравнение результатов из ипотечных калькуляторов для нескольких частных случаев нельзя назвать доказательством в математическом смысле. Хотелось бы понимать причины равнозначности методов.

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

Читать далее

Сборка RPM-пакетов в ALT Linux: автоматизация с помощью GEAR

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

В первой части материала мы разобрали случай сборки простого rpm-пакета в ALT Linux. За пример брали набор файлов изображений и собирали стандартной утилитой rpmbuild.

В этом материале поговорим про сборку python-проекта специальным инструментом — GEAR. Этот инструмент разработала команда сообщества Альт для автоматизации процесса сборки.

Общими словами, GEAR — это удобная обвязка вокруг Git и rpmbuild. Достаточно в дополнение к spec-инструкции написать GEAR-правила формирования архива, полученного из git-репозитория.

Материал статьи может быть полезен при изучении темы сборки rpm-пакета инструментом gear-rpm в ОС «Альт».

Собрать пакет

Godot 3.6 с поддержкой python

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

Для особо извращённых, кому не нравится gdscript, но нравится python, кратко хотелось бы рассказать, как делать в Godot всякое при помощи своего любимого языка.

Окружение: win, сборка игры под платформу: win. Предполагается что python (>= 3.7) и pip уже установлены.

Поехали!

Как решить Captcha: Подробное руководство

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

Узнайте, как решить Captcha с помощью пошагового руководства и полезных советов для автоматизации. Узнайте, как решить Captcha с помощью пошагового руководства и полезных советов для автоматизации

Узнайте, как решить Captcha с

Как мы используем разделяемую память в Aqueduct

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

Привет. Меня зовут Денис Лисовик, я Backend-инженер в команде Data Science SWAT Авито. В этой статье рассказываю, как использовать разделяемую память в Aqueduct. Вместе мы шаг за шагом пройдем от сервиса, который едва держит один RPS, до сервиса, который может держать сотни запросов в секунду. В процессе вы узнаете, как использовать разделяемую память и как сделать так, чтобы она не утекала, а приложение не падало с Segmentation fault.

Читать далее

Сортировка книг по тематикам скриптами Python

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

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

Примерно раз в месяц я с телеграм-каналов докачиваю еще 1–2 тысячи книг, из которых реально новых — не более 100–200, остальное у меня уже есть. Кроме того, попадаются сканированные книги с околонулевой пользой, если их не распознавать.

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

Читать далее

Всё про конфиги

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

Материалы лекции про конфигурационные файлы — все основные аспекты написания и использования конфигов для самых маленьких, примеры кода на python.

Узнать страшную правду