Обновить
512K+

Python *

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

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

Загруженность GPU — не самая репрезентативная метрика

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

В командах ML-инженеров часто пользуются метрикой «GPU Utilization» (Загруженность процессора), чтобы понять, насколько активно задействуется в работе процессор. Чтобы узнать эту информацию, обычно достаточно выполнить команду nvidia-smi в строке терминала. Во многих интегрированных наблюдательных инструментах загруженность процессора также отслеживается как основная характеристика производительности. Но иногда, как ни удивительно, эта метрика даёт не слишком точное представление о производительности GPU. На самом деле, GPU можно загрузить на 100%, выполняя лишь операции чтения и записи (в памяти), но при этом 0 вычислений. Эта статья – не о том, как мы это выяснили, а о том, что нам удалось узнать по ходу дела.

Читать далее

Ускоряем разработку на FastAPI: Мощный инструментарий для создания и тестирования API

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

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

Ходя по множеству собеседований, я заметил что многие компании, активно использующие FastAPI, разработали собственные библиотеки, но аналогичных инструментов с открытым доступом и свободной лицензией практически нет. Я, как опытный backend-разработчик на Python и Django, решил адаптировать и интегрировать наиболее полезные и востребованные решения для разработки REST API в FastAPI, основываясь на своем опыте работы с Django.

Читать далее

OSINT в работе IT-рекрутера: Достаем кандидатов из Telegram чата с помощью Telethon и Snoop

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

В данной статье мы рассмотрим один из вариантов использования ИБ утилиты Snoop в задачах HR подразделения компании. Для этого мы напишем парсер участников telegram чата с помощью библиотеки theleton, потом прогоним результаты через snoop и создадим удобную таблицу для дальнейшей работы IT рекрутера или ресечера.

Читать далее

Разработка и деплой Slack бота

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

В этой статье мы рассмотрим процесс разработки Slack-бота на Python с использованием популярных библиотек и фреймворков, таких как Flask и Slack SDK. Мы начнем с выбора инструментов, необходимых для создания бота, и шаг за шагом пройдем через все этапы разработки: от настройки окружения и написания кода до тестирования и деплоя на сервер.

Читать далее

Обучающий телеграм бот. Пример задачника по математике

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

Технология телеграм бота подкупила меня своей универсальностью. Можно использовать в телеграмм, можно просто в браузере, можно формировать любую логику работы… Сегодня рассмотрим вариант телеграм бота, представляющего собой фрагмент задачника по математике для 4 класса. Почему так все заморочено, просто ребенок учится в 4 классе и активно юзает телегу.

Начнем. В телеге запускаем бота BotFather, регистрируем новое имя бота. Имя и токен бота будут нам всегда доступны в BotFather.

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

Выбираем классическую задачу из учебника.

Из города в противоположных направлениях выехали два автомобиля. Скорость первого автомобиля составляет 57,8 км/час. Скорость второго автомобиля – 63,5 км/час. Через сколько часов расстояние между ними будет составлять 363,9 км?

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

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

Читать далее

Знакомимся с линейной алгеброй в NumPy

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

Краткий гид по основам библиотеки NumPy и основным линейно-алгебраическим операциям с её использованием

Читать!

Автоматизация тестирования API посредством Python

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

Доброго времени суток! В этой статье я собираюсь продолжить рассказ о своем небольшом опыте автоматизации. В прошлой статье я показал, как это сделать с помощью Postman - сегодня покажу, как это реализовать, используя язык программирования Python, фреймворк Pytest, библиотеку Requests.

Тестировать будем на том же примере, сервис ЕМИАС - запись к врачу.

Для начала представлю дерево проекта.

Читать далее

WindowsHostsManager: Консольная утилита для работы с файлом hosts в Windows на Python

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

Иногда возникает необходимость внести изменения в файл hosts в Windows. Вместе с этой потребностью родилась идея создать небольшую утилиту на Python, которая бы упростила процесс редактирования этого файла. В результате появился WindowsHostsManager — инструмент, созданный всего за 30 минут и предназначенный для удобного управления файлом hosts.

Читать далее

Код как данные: пишем Python на Python

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели31K
Идея о том, что язык программирования может реализовать сам себя, удивительна. Она вызывает сильное любопытство: «Как это вообще может выглядеть?» С момента своего появления в начале 60-х это мог делать Lisp.

В начале 60-х Джон Маккарти придумал серию примечательных идей, хорошо сочетающихся друг с другом и актуальных даже спустя десятки лет. Сначала он сформулировал их в статье о Lisp, а чуть позже — в руководстве по Lisp 1.5.


Джон Маккарти

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

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

Дайджест канала opensource_findings за август 2024

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

Привет!

Под катом множество сложных технических тем внутри питона: от генерации стратегий hypothesis до устройства тайпчекера MyPy.

В качестве тестового формата решил сделать подборку сложных технических тем, про которые писал в августе у себя в тг канале: https://t.me/opensource_findings со ссылками на полные посты.

Посмотрим, насколько такой формат работает, напишите свои мысли в комментарии! Буду благодарен обратной связи, поехали!

Читать далее

Улучшаем python код в пару кликов

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

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

В статье научимся писать код в единой стилистике и даже делать это автоматически.

Улучшать проекты!

Фотоаппарат без объектива: как Stable Diffusion снимает реальность

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

Наконец-то можно покупать камеру без объектива, не выставлять адекватное ISO, выдержку и просто наблюдать за результатами.  

Сегодня рынок AI-продуктов переполнен самыми разнообразными копиями генеративных нейронок, а умельцы телеграм-рынка пилят тысячи, если не десятки тысяч ботов, с подключенными GPT. Но, из самых “ленивых” разработок, этот выделился своей идеей…  Если загуглить название самого устройства – можно найти список из двух страниц поисковых выдач с новостью о новом фотоаппарате, который “генерирует реальность”. 

Камера Paragraphica – устройство 2023 года от Нидерландского умельца, которое через алгоритмы искусственного интеллекта и данных о местоположении генерит “фотографии”... 

Но в чем подвох?

Читать далее

Программирование для детей 12 лет: какое направление выбрать

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

Программирование кажется сложной темой, но научиться писать код может даже начинающий подросток без опыта. Как это сделать и какое направление выбрать детям 12 лет и старше? Предлагаем разобраться.

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

Читать далее

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

GPT — технология добра/зла

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

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

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

Ближе к делу.

Читать далее

Апи версионирование по-взрослому

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

Мы все любим пробовать новые инструменты, но ненавидим их поддерживать и обновлять. Это касается всего: операционных систем, приложений, API, пакетов Linux. Больно, когда наш код перестает работать из-за обновления, и вдвойне больно, когда обновление было инициировано не нами.

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

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

Я расскажу на нашем примере, насколько глубока кроличья нора и как сильно можно упороться на пути к идеальному версионированию.

Читать далее

5 способов оптимизации функций в Python

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

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

В этой статье мы рассмотрим 5 простых, но эффективных способов оптимизации функций в Python, которые помогут вам сделать ваш код быстрее и эффективнее.

Ускорить свой код!

Как загружать большие файлы в телеграмм бота с помощью aiogram 3

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

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

В этой статье мы рассмотрим, как организовать работу с большими файлами в Telegram-ботах, используя фреймворк aiogram 3.x.x, и как можно развернуть локальный сервер для тестирования и разработки бота. Так же приведу пример простейшего телеграмм бота.

Читать далее

Как создать часы на Python: уроки программирования для школьников

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

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

Python открывает перед школьником множество дверей в мир технологий и дает возможность получить уверенность в своих силах.

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

Читать далее

Задача коммивояжёра в общем виде. Наибыстрейшее точное решение

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

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

Тут я хочу подытожить все опробованные подходы и выбрать лучший по моему мнению.

Читать далее

Книга: «Поговорим на Python. Разработка ПО для начинающих»

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели12K
image Привет, Хаброжители!

Поговорим на Python?

Точнее о книге, которая будет понятна новичку любого возраста, желающему разобраться с Python. Подходит для самостоятельного изучения.

Программирование — это приключение, полное трудностей, нового опыта, побед и поражений. В книге “Поговорим на Python” вы присоединитесь к Эрику и Саймону, которые учатся программировать на Python и создают свое первое приложение. Книга написана специально для будущих программистов и идеальна, чтобы начать осваивать навык, который останется на всю жизнь!

Книга “Поговорим на Python” учит писать код, задавать вопросы, делать ошибки и пробовать разные решения — прямо как в жизни. Вы шаг за шагом будете создавать приложение для небольшой кофейни, начиная с онлайн-меню и заканчивая хранением заказов в базе данных. Уникальные практические задания приведут вас туда, куда не добираются другие книги для начинающих.
Читать отрывок.
Читать дальше →