Обновить
512K+

Python *

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

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

Свой бесплатный телеграм-бот на базе GPT4free

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

В этой статье я покажу, как создать свой телеграм-бот ChatGPT на базе библиотеки GPT4free.

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

Читать далее

Паттерн Circuit Breaker

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

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

Каждая секунда простоя может стоить компании целое состояние, важно иметь надежные механизмы защиты от сбоев. Здесь и приходит на помощь паттерн Circuit Breaker.

Представьте себе обычный автоматический выключатель в вашем доме. Когда происходит перегрузка, он "выбивается", предотвращая возможные повреждения. Точно так же работает и Circuit Breaker в микросервисах. Он мониторит вызовы к внешнему сервису и при обнаружении слишком большого количества неудачных попыток временно "отключает" вызов, предотвращая тем самым падение всей системы.

Этот паттерн основывается на трех основных состояниях: закрытое, открытое и полуоткрытое.

Читать далее

Реализация нейронной сети для соревнования Digit Recognizer на Kaggle и её прикладное использование. Часть №1

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

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

Читать далее

Как мы научили заводчан строить красивые инженерные отчеты из Jupyter Notebook на Python

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

Была у нас тут история, когда легкий перфекционизм помог привести в порядок конструкторскую документацию и регулярно экономить инженерам кучу дней на прохождение бюрократических процедур. В ее основе – создание системы управления расчетными данными и переход от трудночитаемых и трудноинтегрируемых отчетов Mathcad к гибкой связке Jupyter Notebook с Python и Teamcenter. Но основной рассказ будет про то, как преобразовывать и экспортировать математические формулы, таблицы и другие элементы из Jupyter в красивый и удобный вид.

Читать далее

Бот и нет забот: как с помощью telegram-бота мы сделали приятнее жизнь автотестировщиков

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

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

Меня зовут Николай Усов, я работаю в отделе тестирования «Цифровой индустриальной платформы». В нашей команде в качестве системы управления тестированием программных продуктов используется Test IT. Система в целом нам нравится, претензий к функционалу почти совсем нет. Однако инструментарий Test IT не всегда позволяет настроить работу тестировщиков так, как удобно. Например, тот, кто с ней работал, знает, что при большом количестве тестов может быть затруднительным поддержание соответствия между автоматизированными и ручными тест-кейсами, если их слишком много. Плюс могут потребоваться иные методы расчета успешности автотестов или более простой интерфейс для удаленного просмотра статистики по прогонам. В этой статье я расскажу, как с помощью telegram-бота, работающего в связке с Test IT, мы сделали жизнь тестировщиков немного приятнее.

Читать далее

PyTelegramBotAPI на примере проекта сбора обратной связи #4. Деплой

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

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

Эта статья направлена именно на новичков, в ней я постараюсь объяснить тему ботов на примере сбора обратной связи.

Читать далее

Сервис проверки пользовательских файлов «powered by pytest»: нужно повозиться, но оно того стоит

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

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

Пользователю нужно возвращать информацию "что не так с файлом": какую проверку не прошел файл и где конкретно в файле проблемные данные.

Эта задача - про качество данных и очень напоминает тестирование. Так почему не использовать фреймворк тестирования pytest, и не написать тесты на каждый проверяемый аспект и для каждого типа файлов? Однако, есть небольшое "но". проверка должна быть реализована в качестве сервиса, чтобы встраиваться в более широкий процесс обработки пользовательских документов.

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

Читать далее

Краткий обзор техник векторизации в NLP

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

Как переводчик-редактор, я интересуюсь темой NLP и автоматизации рутины бюро переводов. Изучая вопрос того, как смысл слов превращается в векторы, наткнулся на эту обзорную статью. Статья мне показалась изложенной доступно, поэтому я перевел ее для удобства других коллег. Работоспособность большей части кода проверял, вроде работает (см. Jupiter Notebook). Надеюсь, будет полезно.

===

Технологии NLP — Natural Language Processing, обработки естественного языка — позволяют компьютерам обрабатывать человеческий язык, понимать его значение и контекст, а также связанные с ним эмоциональную окраску и намерения, и далее, использовать эти данные для создания чего-то нового.

Как сделать слова понятными для компьютеров? Используется векторизация. Рассмотрим несколько техник такой векторизации.

Читать далее

Где в Западной Европе самый низкий НДФЛ?

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

В большинстве западных стран применяется прогрессивная шкала налогообложения про которую ходит много легенд (вполне обоснованных, но есть нюансы) какие большие налоги получаются по сравнению с Россией с плоской шкалой 13%. В этой статье мы обзорно рассмотрим налоговые системы десяти стран Европы (в целях простоты рассматриваются только страны Западной Европы и из рассмотрения исключаются карликовые государства, а также Швейцария, потому что там всё слишком сложно): Франция, Германия, Италия, Испания, Ирландия, Нидерланды, Бельгия, Португалия, Австрия, Великобритания.

Рассматривать будем НДФЛ. На мой взгляд, это самый субъективный налог, так как пенсионные, страховые и прочие отчисления конвертируются непосредственно в некую твёрдую сумму (например, пенсии, которую будет человек получать в старости). А вот именно НДФЛ идёт в некий "общий котёл", на который потом финансируются правительство, органы правопорядка, система образования и т. д. Читателям статьи следует держать в уме, что в Европе принято указывать сумму зарплаты не только до вычета НДФЛ, но и до вычета других отчислений, поэтому данную статью нельзя использовать для оценки итоговой суммы к выплате на руки, только для сравнения подоходного налога.

Читать далее

Создаём собственную систему поиска фильмов на основе проекта Андрея Карпати

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

В апреле 2023 года Андрей Карпати, один из основателей OpenAI и бывший директор по ИИ в Tesla, поделился своим занятным проектом выходного дня – системой поиска и рекомендации кино.

Её пользовательский интерфейс откровенно прост и предлагает две основных функции: блок поиска, в котором можно искать кино по названию, и вывод списка из 40 похожих фильмов при клике по интересующему.

Несмотря на популярность этого проекта, Карпати, к сожалению, пока не поделился с публикой его исходным кодом.

И вот почему
Источник

Chaturvedi: «Может, откроете исходный код проекта?»

Andrej Karpathy: «Даже не знаю. Он такой страшный, что мне стыдно».


Так что запасайтесь попкорном и будем воссоздавать его сами на основе OpenAI и векторной базы данных!
Читать дальше →

Архитектура fast api приложений. Внедрение зависимостей

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

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

Читать далее

Decky Notifications: как переизобрести KDE Connect и перенести уведомления в Steam Deck

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

Недавно в мои руки попала портативная игровая консоль Steam Deck. Замечательное устройство, которое полностью поглощает внимание. В этом я вскоре нашел минус: телефон генерирует уведомления и приходится откладывать приставку, чтобы посмотреть сообщение.

Хочу играть и не проверять телефон, но при этом боюсь пропустить что-то важное. И я нашел способ решение этой задачи. В этой статье расскажу, как мне пришлось полностью перебрать протокол KDE Connect, чтобы написать плагин, который переносит уведомления в Steam Deck. Подробности под катом!
Читать дальше →

Фильтр нецензурной лексики за 5 минут

Время на прочтение5 мин
Охват и читатели21K
Привет, Хабр.

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

Анализирование


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

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

О динамическом программировании на пальцах

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

Как динамическое программирование может упростить нашу жизнь? Как можно оптимизировать решение задач?

Сегодня мы разберем динамическое программирование на пальцах с примерами на Python!

Усаживайтесь поудобнее, леди и джентльмены!

Вперед!

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

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

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

Читать далее

Я календарь переверну: использование Workalendar для определения календарных дней

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

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

На связи Горбачёв Никита и Скиданова Анна, участники профессионального сообщества NTA.

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

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

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

Профилирование асинхронного Python

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

Профилирование приложений — это процесс анализа программы для определения её характеристик: времени выполнения различных частей кода и использования ресурсов.

Для асинхронного python-кода существует конечное количество специфических "узких мест", которые лучше перечислить заранее.

Читать далее

Вероятно, вы неправильно используете метод __init__ в Python

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

Автор статьи обращает внимание на проблему, которая заключается в использовании метода __init__ для сложной логики создания объектов, что приводит к разрастанию и усложнению кода. Статья предлагает использовать вспомогательные методы, чтобы разделить логику создания объектов на более мелкие и понятные части. Это упростит код и облегчит понимание того, как объекты создаются и инициализируются.

Читать далее

Сказ о том, как я интерпретатор Brainfuck'а писал

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

Рассказываю о том, как писал интерпретатор языка Brainfuck на Python (с показом исходного кода и его объяснения).

Читать далее

Лексикографический симплекс-метод

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

Лексикографический симлекс-метод.

Решение задачи линейного программирование симлекс-методом и лексикографическим симлекс-методом на Python!

Читать далее