Обновить
1024K+

Python *

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

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

За кулисами публикации «24 часа невидимой эпидемии»

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

Сегодня я расскажу о том, как был подготовлен материал об одиночестве, «24 hours in an invisible epidemic», опубликованный на платформе Pudding.

Всё началось с моей одержимости материалами Американского обследования использования времени (American Time Use Survey, ATUS). Каждый год в ходе соответствующего мероприятия проводится опрос десятков тысяч американцев. Им предлагают проследить за одним днём своей жизни. Полученные данные позволяют получить некие общие показатели и, при желании, добраться до каждого респондента и узнать о том, чем занимался именно он.

Читать далее

PyZelda своими руками или как геймдевить без Unreal, Unity и кредитов

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

Хабры и Хаброчки, я хотел бы перед самой статьёй обсудить вопрос целесообразности писать свой движок, вместо готовых решений. Есть куча статей, которые опишут разные движки от более популярных до менее. Я бы хотел затронуть немного другой вопрос: "Как человеку, который изучал программирование много лет заняться геймдевом?". Обычно, есть два пути в геймдев:

Умышленный путь. Это когда человек, который играет в игры рано или поздно решит их создать. Тогда, он выбирает где ему учиться этому и выучивает игровые движки и C-образные языки к ним (чаще всего, C#).

Путь прогеров. Программист увлекается математикой и пишет код. Так или иначе, везде где есть код — есть компьютер. Цифровые развлечения (в том числе и игры) не проходят мимо тех людей, который постоянно пишут код. Так, часть прогеров решает написать свою игру и начать свой путь в геймдев. Об этом пути мы и поговорим.

Так зачем выбирать "сложный" путь? Во-первых, не для всех он сложнее. Лично мне сложнее перейти на C# с использованием Unity, чем написать новый проект на Python. Во-вторых, люди не всегда понимают сам движок. Сейчас я преподаю в институте "Бизнеса и Дизайна". Это один из первых профильных учреждений, занимающихся геймдевом. И вот у студентов я спросил зачем им движок. Каково было моё удивление, что далеко не все понимаю, вообще зачем он нужен. Спойлер, не из-за пресетов.

Всех заинтересовавшихся, приглашаю в мир змеиных игр!

Погрузиться в змееленд

АБ тесты и подводные камни при их автоматизации

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

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

На тему АБ-тестирования доступны как статьи на Хабре, так и целые книги (неполный список литературы в конце). В основе АБ-теста лежит следующая идея - случайно разделить пользователей на две или более группы, в одной из которых исследуемая функциональность выключена, а в других - включена. Затем можно сравнить метрики и сделать выводы.

Читать далее

Мамкин программист про ИИ, «программисты скоро будут не нужны» и прочие страшилки

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

Недавно на Хабре вышел перевод статьи под названием: «Классическое программирование на грани вымирания» с постапокалиптической картинкой, где автор буквально пишет, что «Приближается конец эпохи классических компьютерных наук, и большинство из нас словно динозавры в ожидании падения метеорита». Если коротко, данная статья о том, что классические компьютерные науки становятся менее актуальными на фоне развития искусственного интеллекта и современных технологий. Автор рассказывает о своем опыте в области компьютерных наук, полученном в 80-х и 90-х годах, и подчеркивает, что, несмотря на то что классические подходы к программированию и алгоритмам всё еще актуальны, но в будущем (горизонт автор не указывает), скорее всего, ИИ с самообучаемыми системами заменит программистов. В будущем студентам факультетов компьютерных наук не нужно будет изучать традиционные навыки, такие как работа с двоичными деревьями или программирование на С++, обучение таким вещам станет неактуальным, потому что от инженеров будущего будет требоваться обучение и запуск генеративных моделей.

Я читаю Хабр довольно давно и очень люблю этот ресурс. При этом здесь регулярно возникают статьи, типа «Если хочешь программировать, начни с языка Си» или наоборот, «Python — это простой язык, с которым любой идиот может разобраться» (статьи такой направленности иногда нещадно минусуют). Есть также и третья категория статей о том, что программисты скоро станут попросту не нужны (как статья, которая недавно опубликована).

Читать далее

Процесс разработки приложения Python по дедупликации файлов с использованием контрольных сумм

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

История начинается с несложной задачи и небольшого Python приложения.

Несложная задача это периодическое удаление дубликатов файлов из указанных каталогов. Изначально она возникла из следующих условий. Есть домашнее хранилище фотографии и видео, в котором определен порядок хранения файлов по тематике, датам и т. д. И есть источники для пополнения этого хранилища: смартфоны, фотоаппараты, контент из сети, электронной почты и т. д. Синхронизации источников контента и хранилища нет. Периодически со смартфонов и фотоаппаратов скидываются все хранящиеся там файлы на жесткий диск компьютера, и получается набор каталогов, в которых оказываются как те файлы, что уже есть в хранилище, так и новые файлы. И чтобы поместить в хранилище новые файлы, их нужно каким‑то образом отделить их от тех, что уже сохранены. Самый простой способ, который пришел в голову, это удалить дубликаты из каталогов «пополнения», а с остатком уже работать.

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

В процессе своего повествования, постараюсь пояснить принятые мной решения, некоторые из которых прямо напрашиваются на решение иным способом.

Читать далее

Изучаем и парсим биржевую информацию Мосбиржи. Наш первый парсер на Python, разбор кода

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

Как устроен ISS MOEX (информационно-статистический сервер Московской Биржи) и как можно парсить с него биржевые данные. Разбор кода программы. Это первое знакомство с MOEX, дальше будем изучать куда как более актуальный для алготрейдинга продукт мосбиржи - ALGOPACK. Однако перед этим общее знакомство с архитектурой iss moex должно быть. Стратегическая задача - использовать данные для алготрейдинга (работы торгового робота) напрямую с московской биржи.

Читать далее

Как прошло обновление курса «Python-разработчик»: новые сюжеты, Pytest и переработка алгоритмов

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

Привет! Это команда курса «Python-разработчик». Недавно мы провели рефакторинг — большое обновление программы. Для этого мы изучили фидбек студентов, выявили точки роста и актуализировали набор технологий исходя из запросов рынка.

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

Читать далее

LSTM и GRU

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


Рекуррентные нейронные сети уникальны тем, что способны обрабатывать последовательности данных, будь то тексты, временные ряды или даже музыка. В отличие от их бро — сверточных нейронных сетей, которые идеально подходят для обработки изображений, RNN обладают способностью «помнить» предыдущую информацию и использовать ее для обработки текущих данных. Это делает их идеальными для задач, где контекст важен, например, при генерации текста или прогнозировании временных рядов.

Но не все так радужно, как может показаться на первый взгляд. Основной головной болью при работе с RNN являются проблемы затухания и взрыва градиента. Эти явления возникают в процессе обучения сети, когда веса модели корректируются с помощью обратного распространения ошибки. Затухание градиента происходит, когда веса корректируются настолько слабо, что обучение становится неэффективным. С другой стороны, взрыв градиента происходит, когда эти корректировки слишком велики, что также ведет к нестабильности обучения. Обе эти проблемы могут серьезно затруднить обучение RNN.
Читать дальше →

Как учить Python? Книги, видео, курсы

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

What’s up guys?


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

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

 

Читать далее

Как написать проект по автоматизации на Python, Pytest и Playwright и настроить запуск автотестов в CI с нуля

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

Привет, Хабр! Меня зовут Александр Бехтерев, я работаю QA-инженером в Учи.ру. Не так давно перед нами встала задача перехода с библиотеки Selenium на новую и мощную библиотеку Playwright. Этот переход был вызван желанием улучшить процессы тестирования и попробовать что-то новое. 

В этой статье я постараюсь подробно рассмотреть процесс создания проекта на Python, Pytest и Playwright с применением паттерна Page Object, а также оставлю шаблон yml, который позволит запускать автотесты в CI. 

Читать далее

Быстрый расчет CRC c полиномом MODBUS на языке Python

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

Реализация расчета CRC16 через предварительно вычисленные массивы. Краткое описание работы.

По сути это реализация расчета на языке Python из приложения Б к описанию системы команд приборов учета Меркурий.

Читать далее

Бенчмарк HTML парсеров в Python: сравнение скорости

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

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

Меня зовут Вадим Москаленко и я разработчик инновационных технологий Страхового Дома ВСК. В этой статье хочу поделиться с вами информацией по проведенному сравнению производительности нескольких популярных библиотек для простого HTML-парсинга.

При необходимости сбора данных с HTML или XML, многим python-разработчикам сразу вспомнятся две популярные библиотеки «BeautifulSoup4» и «lxml» — они весьма удобны и стали широко применяемыми. Но что, если в нашем проекте важна скорость сбора данных? Возникает вопрос: кто из них быстрее и есть ли еще более быстрые библиотеки? При поиске данной информации на Хабре, я нашел подобные статьи, но им уже несколько лет. Так как прогресс не стоит на месте и появляются новые инструменты или те, о которых еще не слышали, мне было интересно провести личное исследование и поделиться информацией.

Читать далее

Я знаю, что ты делал этой ночью

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

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

Сегодня с вами участники профессионального сообщества NTA Промкин Михаил, Мымрин Дмитрий и Господарикова Ирина.

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

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

Узнать больше

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

Сколько строк на C нужно, чтобы выполнить a + b в Python?

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

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

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

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

Читать далее

А/Б тестирование с CUPED: детальный разбор

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

Хабр, привет! Сегодня обсудим, как применять CUPED для повышения чувствительности А/Б тестов. Рассмотрим на простом примере принцип работы CUPED, покажем теоретически за счёт чего снижается дисперсия и приведём пример оценки эксперимента. Обсудим, как выбирать ковариату, как работать с бинарными метриками и что делать при противоречивых результатах.

Читать далее

«Как пресейл инженер телеграм ботом дверь открывал» или «Ты куда полез?»

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

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

Сама статья - это результат моего исследования в рамках расширения своих профессиональных навыков. 

Что будет в статье?

Как написать рабочий, но не идеальный код, чтобы через телеграм бота открыть дверь в СКУД Sigur;

Пояснение за библиотеки, модули и функции, и откуда они берутся в коде этой программы. Почему именно Python?

Как все это великолепие установить и запустить в Docker.

Читать далее

Как подключить Yandex GPT к своему проекту на Python

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

6 декабря Яндекс открыл доступ к своим диалоговым моделям (моделям генерации) и векторного представления текста через API. API уже доступно в Yandex Cloud.

Вчера мне потребовалось применить его в приложении, однако, не удалось найти руководства, как сделать это быстро. Документация Яндекса хороша, но предполагает, что опыт работы с Yandex Cloud уже имеется. В отсутствие такого опыта документация выглядит фрагментированной.

Предлагаю пошаговый гайд, который, надеюсь, сэкономит читателю, не знакомому с Yandex Cloud, часик-другой.

Для того, чтобы использовать Yandex GPT в Вашем Python-проекте, нужно выполнить 4 шага:

Читать далее

Как мы делаем проекты

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

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

Читать далее

Phoenix: разбираемся со сбоями ML системы прямо в вашем ноутбуке

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

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

В статье рассматривается open-source библиотека Phoenix, основная цель которой — помочь специалистам по данным понять и оценить сложные LLM-приложения, чтобы они могли узнать больше о внутренней работе системы.

Читать далее

LIME и SHAP

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

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

Методы к LIME (Local Interpretable Model-agnostic Explanations) и SHAP (SHapley Additive exPlanations), позволяют получить понимание решений, принятых сложными моделями.

Читать далее