Обновить
1024K+

Python *

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

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

Безработные айосники, мертвый PHP и бесполезные “саперы”: топ-5 мифов о будущем российского IT

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

Мы в hitch занимаемся аутстаффингом – выводим опытных IT-специалистов на бигтех-проекты. Поэтому непрерывно следим за любыми изменениями на рынке, а еще с удовольствием слушаем экспертов — но не во всём с ними соглашаемся. Сегодня разберем прогнозы и обещания, которые всколыхнули рынок, но показались нам нереалистичными.

Читать далее

Когда достаточно простого класса Python — взять и начать управлять ML-экспериментами

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

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

Читать далее

Майним крипту и NFT с помощью Python

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

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

Читать далее

Учебно-развлекательный проект «Мобильная платформа». Управление жестами руки

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

Учебно-развлекательный проект "Мобильная платформа", который использует управление жестами руки для управления роботом. В ней подробно рассматриваются технические аспекты сборки платформы, программирование Arduino и обработка жестов с помощью Python и библиотеки mediapipe.

Читать далее

Сбор покрытия Flask (Python) в Runtime

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

Всем привет, меня зовут Осипов Станислав. Я занимаюсь AppSec/DevOps с 2021 года. В этой статье я хочу рассказать как можно собрать покрытие Python приложения в runtime (незавершая процесс).

Что было использовано для сбора покрытия:
https://github.com/pallets/flask - Flask 3.03
https://github.com/nedbat/coveragepy - coverage 7.5.1

Читать далее

Рулим запуском Spark-приложений в Airflow с помощью самописного оператора

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

Airflow в Lamoda Tech играет роль оркестратора процессов обработки данных. Ежедневно с его помощью мы запускаем 1 800+ тасок на проде, примерно половина из которых являются Spark-приложениями.

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

Меня зовут Андрей Булгаков, я лид команды разработчиков Big Data в Lamoda Tech. Вместе с разработчиком Иваном Васенковым в этой статье мы поделимся историей создания Airflow-оператора для запуска Spark-приложений.

Читать далее

Язык программирования Mojo: что нового в версии 24.3?

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

На днях была опубликована новая версия языка программирования Mojo, теперь это 24.3. Новинка получила несколько важных компонентов, которые требуются для создания приложений на этом языке. Например, компилятор, интерактивная REPL-оболочка для сборки и запуска программ, отладчик, дополнение к редактору кода Visual Studio Code (VS Code) и т. п.

Стоит отметить, что исходники открыты под лицензией Apache 2.0. После того как будет завершено проектирование внутренней архитектуры, разработчики откроют и код компилятора. Ну а подробности изменений и дополнений — под катом.

Читать далее

CADE — интересный способ поиска аномалий в многомерных данных

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

CADE (Classifier Adjusted Density Estimation) - метод для приближения плотности вероятности, который можно эффективно использовать для поиска аномалий в данных. В этой статье я расскажу про этот метод, а также предоставлю пример реализации CADE на Python.

Читать далее

Причины компьютерных сбоев, о которых вы даже не думали

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

Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор»... и радиофизик. До этого я рассказывала вам о рабочих кейсах, а сегодня поведаю о программистско-астрофизическом эксперименте.

Бывало ли на вашем пользовательском веку такое, что компьютер внезапно завис или не смог прогрузить страницу? Грешили ли в этот момент на проклятую технику? А ведь причина может быть в другом — космическое излучение могло быть источником ваших бед! В этой статье разберем уязвимость с самого известного фреймворка cwe.mitre.org.

Читать далее

Век поиска кратчайшего решения задачи о кратчайшем пути

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

TL;DR Очень подробный разбор алгоритмов решения задачи о кратчайшем пути от классики до двунаправленного А* и ALT с кодом и примерами на OSM

Люди пытались найти более быстрые способы передвижения на протяжении всей своей истории. Появление качественной дорожной системы в римской империи в своё время привело к её расцвету, но со временем выяснилось, что и в продуманных дорожных системах бывают забавные изъяны, как например в небезызвестной задаче о кёнигсбергских мостах, считающейся отправной точкой возникновения теории графов. Неудивительно и то, что с развитием вычислительной техники логистические задачи стали одними из первых, над которыми трудились первопроходцы компьютерных наук. Задача о кратчайшем пути -- одна из них, звучит достаточно просто: есть несколько городов и дорог, соединяющих пару городов между собой, мы хотим попасть из города А в город Б пройдя при этом минимальное расстояние. Первый системный подход к этой задаче был описан в работе Эгервари в 1931г., спустя 25 лет Эдсгер Дейкстра придумал алгоритм, который сейчас является частью любого уважающего себя базового курса алгоритмов на графах. На нём же, будем честны, заканчиваются знания о кратчайших путях у большинства профессиональных разработчиков, ибо сценариев, где реализации с википедии/stackoverflow будет не хватать, крайне мало.

Может показаться, что на самом деле просто не было существенного прогресса с 60х годов, так как Дейкстра предоставил почти асимптотически оптимальный алгоритм решения задачи. На самом деле нет, прогресс был и придумали много чего интересного, хоть и действительно с того времени фокус сместился на другие задачи. Приглашаю под кат если интересно узнать что такого напридумывали, что используется в современных логистических системах, почему меня огорчает отсутствие учёта флага единства в HOMM3 при расчёте пути, ну и наконец, что за мужики на картинке выше рядом с Дейкстрой?

Читать далее

Мега-Учебник Flask Глава 7: Обработка ошибок (издание 2024)

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

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

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

Data сontract: давайте попробуем договориться

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

В последнее время всё чаще и чаще натыкаюсь на термин data contract. И чтобы не отставать от трендов на рынке data engineering, решил изучить эту тему и рассмотреть тенденции. Постараемся понять, с чем его кушать и стоит ли кушать вовсе.

Читать далее

На практике пробуем KAN – принципиально новую архитектуру нейросетей

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

На днях ученые из MIT показали альтернативу многослойному перцептрону (MLP). MLP с самого момента изобретения глубокого обучения лежит в основе всех нейросетей, какими мы их знаем сегодня. На его идее в том числе построены большие языковые модели и системы компьютерного зрения.

Однако теперь все может измениться. В KAN (Kolmogorov-Arnold Networks) исследователи реализовали перемещение функций активации с нейронов на ребра нейросети, и такой подход показал блестящие результаты.

Читать далее

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

Обновлённый ЕМИСС: веб-приложение от непрограммиста

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

Меня зовут Александр, я активно исследую экономические данные, строю регрессии, ML-модели. Данные использую разные: перекрёстные, панельные, временные.
По специфике своей работы часто пользуюсь ЕМИСС. ЕМИСС — это кладезь социально-экономических данных, но и одновременно платформа, которая может довести до головных болей и дергающегося глаза, а то и двух сразу.

Поставим себе, например, задачу выяснить, как влияет Х на У. Возьмём в качестве объектов наблюдения — регионы РФ. И тут нас будут ждать сюрпризы. Как быстро, не вырывая волосы из головы, получить две колонки данных за последний год по субъектам? Мы, конечно, можем использовать VLOOKUP/XLOOKUP в экселе и всё такое. Но нам встретятся обязательно двойняшки (тройняшки): «г. Москва» и «Город Москва столица Российской Федерации город федерального значения»; «Кемеровская область - Кузбасс» и «Кемеровская область — Кузбасс». Да, мелочи, но неприятно бороться с этими исключениями вручную.

Читать далее

ABC-XYZ анализ на Python. Управление ассортиментом и схемами поставок

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

Управление ассортиментной матрицей и складскими запасами является нетривиальной задачей для бизнеса, требует аналитики и научного подхода к решению задачи. Одним из методов управления ассортиментом и закупками является ABC-XYZ классификация.

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

Читать далее

Кратко про Uplift-моделирование

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

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

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

Читать далее

Изгиб питона: 6 взглядов на игру из 1970-х

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

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

Читать далее

Карты, деньги, ELK. Или как айтишник деньги считал

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

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

Поэксперементировав, я за несколько вечеров собрал себе решение на довольно нестандартной для таких целей платформе – Kibana. Как по мне, получилось неплохо. По горячим следам я описал этот кейс в своем англоязычном Твиттере и поделился им же в одном русскоязычном сообществе. Угадайте, откуда какой первый комментарий:

– А [зачем], собственно?
– Интересное решение! Я евангелист из Эластик – не хочешь на митапе выступить?

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

А зачем, собственно?

SVG-виджеты для tcl/tk. Часть I

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

Начать статью хочу с цитаты из слов Брайана Кернигана,которую мне посчастливилось найти:

Tcl/Tk придает работе магическую продуктивность, за несколько часов можно достигнуть тех же результатов, что за дни или недели при разработке на C или C++... Tk весьма эффективен для большинства приложений, многие элементы интерфейса (виджеты) реализованы настолько хорошо, что остается только удивляться, как подобная работа могла быть выполнена так качественно... Удачным кажется и то, что разделение задач между Тсl и С/С++ осуществляется достаточно легко, надо только знать, какой инструмент лучше справляется с задачей... Расширение системы дополнительным Tcl-кодом, загружаемым напрямую в Tcl-библиотеку приложения, в полном согласии с оригинальной идеей Остераута, повышает эффективность программы, в целом, упрощает ее структуру и улучшает мобильность... Я не уверен, что Тсl мог бы выжить как самостоятельный продукт - у него слишком много конкурентов. Но у сочетания Tcl/Tk в Unix-мире нет конкурентов... Система исключительно надежна, очень хорошо документирована... свободно доступна... безукоризненно высокого качества

Читать далее

Python — Дескрипторы (Descriptors)

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

Если обратиться к документации, то дескриптор — механизм, который позволяет объектам настраивать поиск, хранение и удаление атрибутов.

Дескрипторы используются в классах, выступая в роли атрибутов класса(не экземпляра).

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

Читать далее