Обновить
833.5

Python *

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

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

Кто работает за всех? Визуальный лидерборд для команды разработки ИТ

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

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

Читать далее

Cisco ASA, автоматизация поиска нужных строк в аксес-листе с помощью python. ч.2

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

Первая часть здесь

В первой части код работающий, но не очень читаемый, и трудный для восприятия. Сейчас улучшенный и удобочитаемый код, с комментариями.

После выполнения команды 'show access-list' в Cisco ASA получаем:

Cisco ASA

Симулятор инсулиновой помпы в формате телеграмм бота

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

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

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

Для навигации в боте разработано меню, представленное ниже

Читать далее

Telegram Mini App. Как создать Web App с нуля

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

Mini Apps (или же WebApps) - это относительно новый и удобный способ добавления веб приложения прямо в интерфейсе приложения Telegram. Используя JavaScript, становится возможным создавать бесконечное множество интерфейсов, которые смогут заменить полноценный веб-сайт.

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

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

Приступим

Читать далее

Работа с API YandexART на Python

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

Всем привет!

Вчера делал интеграцию YandexART в своего юзербота, не нашел инструкций на Хабре, слава богу решил проблему сам, но я подумал что всё-таки надо поделиться способом интеграции.

Читать далее

Python — тестирование с помощью pytest(ч.2)

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

Первая часть - https://habr.com/ru/articles/835196/

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

Читать далее

User-боты в Telegram: Простая автоматизация с Python (Pyrogram). Первые шаги

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

Давно хотел рассказать вам о такой интересной теме, как User-боты в Telegram, и, наконец-то, мои руки дошли до этого. Сегодня мы разберемся, что это за зверь такой, как его приручить, и, самое главное, познакомимся с мощным Python фреймворком для работы с юзер-ботами – Pyrogram.

Итак, что же такое User-бот в Telegram? Проще говоря, это бот, который ведет себя как обычный пользователь, используя ваш личный аккаунт, а не официальный API Telegram. Такой бот может участвовать в чатах, отправлять и получать сообщения, управлять группами и каналами, делать рассылки и даже выполнять административные задачи.

Это как если бы вы сами сидели за компьютером или телефоном, но все действия выполняет запрограммированный бот.

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

Читать далее

Проблема альтернативной реализации

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

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

Создание опросников на Python с использованием aiogram 2.x

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

В мире разработки чат-ботов на платформе Telegram создание интерактивных опросников может быть задачей нетривиальной. В этом посте я поделюсь системой, которую разработал на основе библиотеки aiogram 2.x. Она позволяет легко создавать и обрабатывать опросники с текстовыми ответами и вариантами выбора, а также управлять состояниями бота. В статье мы разберем ключевые аспекты реализации, включая обработку состояний, сохранение ответов и управление сообщениями.

Читать далее

Ускорили диффузионку в несколько раз? – о новой модели ImagineFlash от Meta

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

Важно, что в переводе статьи мы опустили некоторые математические подробности. Мы обобщили математические выражения текстом. Курсивом выделены комментарии, чтобы новичкам было проще читать, а выделенный уровень подготовки  оправдывал себя и под статьей не пришлось ставить графу “сложно”. 

Чтобы статья не вышла слишком большой, приводится ее основная часть с методом. Мы приводим краткий вариант перевода ресерча от Meta.

Внутри оригинала можно ознакомиться с результатами работы. И конкретными метриками в таблицах. 

Вся статья сохраняет письмо от первого лица. 

Читать далее

Что будет на PiterPy 2024: ML, JAX, JIT, GC, BDUI и другие увлекательные аббревиатуры

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

Устарели ли NumPy и PyTorch? Как перевести проект с Python 2 на Python 3 так, чтобы пользователи не заметили? Как дать языковой модели доступ к данным, которых не было в обучающем датасете?

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

Читать далее

Как мы переехали с Greenplum на Delta Table

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

У нас было 2 кластера Clickhouse, 1 кластер GreenPlum’a, 1 кластер Kubernetes’a, DataVault 2.0, гора dbt витрин и всего такого, а еще Dagster. Не то чтобы это все было нужно в архитектуре, но раз начал коллекционировать сервисы, то иди в своем увлечении до конца. Единственное, что нас беспокоило - это стоимость. 

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

Читать далее

Как заставить ChatGPT не только писать код, но и исполнять его

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

Приведу минималистичный пример как заставить условный ChatGPT (или Llama и т.п.) не только писать код но выполнять его. Модель научится адекватно отвечать на вопросы типа:
User: Сколько дней до нового года ?
GPT: 130
или
User: Сделай пинг моего сервера 45.хх.хх.57 он отвечает?
GPT: Сервер 45.хх.хх.57 отвечает

Читать далее

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

Решение головоломки из университетского квеста с помощью Python

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

Cat Walk — одна из интересных головоломок игры Puzzle Hunt Мельбурнского Университета 2012 года. Это задание было частью второго акта игры, и ему предшествовало небольшое повествование, которое продолжало ее сюжет. В соответствии с ним вы получаете от вашего странного компаньона небольшой сверток. Развернув его, вы находите внутри флешку, после чего выше внимание переключается на обертку: она, кажется, представляет собой страницу, которая была вырвана из книги с головоломками для детей. Вы долго и упорно разглядываете головоломку, изображенную на странице, и, похоже, вам удается ее решить. После этого вы обращаетесь к вашему компаньону, чтобы проверить свою догадку. Тот смотрит на вас в изумлении, быстро вставляет флешку в ноутбук, а затем радостно сообщает: «Это потрясающе! Ты разгадал пароль — это же всё, что нам требовалось...» Как оказалось, флешка содержала чрезвычайно важную информацию, а разгадка «детской» головоломки служила паролем для ее получения...

Сама же головоломка располагалась ниже. Она представляла собой лабиринт прямоугольной формы с разноцветными переходами между его частями: серого, красного, синего и зеленого цвета. Внизу лабиринта, около двух входов в него, сидел Кот Саймона, который показывал жестом, что хочет есть. Корм для кота находился на противоположном конце лабиринта, к которому вели 7 разноцветных выходов.

Читать далее

Заметка про aioquic и работу с WebTransport в Python или скучный `кликер` с (не)скучным QUIC

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

Статья является заметкой про библиотеку aioquic и ее использование для WebTransport. Заметка была ранее написана как разбор чужого примера, при знакомстве с aioquic. Заметка описывает события QUIC и HTTP/3 реализованные в aioquic, опираясь на старый рабочий демонстрационнай пример. В худших академических традициях, к старой заметке была добавлена "вода" про кликер - о создании простейшего приложения которое увеличивает число по запросу пользователя.
Для тех, кому не не интересна "вода", лучше начать с раздела [Работа с WebTransport в Python используя aioquic].

Читать далее

Функция setdefault() в Python: для чего нужна и как её использовать

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

Словари Python — мощные инструменты для работы с данными. Они поддерживают разные методы, но функция setdefault() выделяется способностью упрощать код и эффективно работать со значениями по умолчанию.

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

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

Делаем своего AI стилиста на python

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

Привет, чемпионы!

AI решение, которые я разберу в этой статье - после запуска в телеграм привлекло почти органически внимание 70 000 новых пользователей за месяц, а всего было произведено 400 000 генераций. Разбираю, как реализовал сама ML модель. Погнали!

Переодеть коллег

Шахматы на pygame: дубль два

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

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

Читать далее

Мечтают ли Андроиды о нейропроцессорных модулях? Перенос модели TensorFlow Lite в мобильное приложение

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

Несмотря на то, что искусственный интеллект – наиболее хайповая тема в современных ИТ, и учитывая тот факт, что предыдущая мега-история с Internet of Things и Edge Computing до сих пор не забылась, я удивился, что отсутствуют внятные обучалки типа «Hello world» по добавлению machine learning в мобильные приложения на Android. Ну они конечно есть, только совсем не начального уровня. Кроме того, в них предлагается использовать чужие модели для распознавания кошек от собак и рукописных букв в текст итд. Но вот чтобы взять регрессию и с ней поработать – нет (или я не нашел). И в книгах не нашел. Если есть – поделитесь. Ну а пока я буду добавлять свою модель в приложение и параллельно писать этот текст.

История моего приложения есть в публикациях 1, 2, 3. Если коротко, это программа RuLearn для запоминания лексики в иностранных языках или в любой другой области, которая требует механического заучивания. Ее эффективность определяется «кривой забывания» Эббингауза, но как выясняется, интервалы для повторения хорошо было бы адаптировать под сложность изучаемого материала. То есть обучающийся учит новые слова, а приложение учится на его ошибках и подстраивает алгоритмы повторения оптимальным образом. Напрашивается машинное обучение в обучении человека.

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

Читать далее

Создание оптимального алгоритма переключения светофора на перекрестке

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

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

Читать далее