Обновить
522.07

Python *

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

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

Как дообучить LLaMA бесплатно и без программирования: как создать тупого друга

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

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

Читать далее

Применение генеративных адверсариальных сетей (GANs) для синтеза данных

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

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

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

Читать далее

15+ небанальных ресурсов для начинающего/продолжающего Python-разработчика

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

Привет Хабрчанам! Меня зовут Дима Туркин, я — код-ревьюер на курсе «Python-разработчик» Яндекс Практикума и Python-тимлид.

Тема материалов по Python для начинающих и продолжающих свой путь разработчиков уже заезженная, поэтому в этой статье я постарался собрать ссылки на менее известные бесплатные ресурсы, но не менее полезные. Есть чем дополнить — пишите в комментариях!

Читать далее

Найти себя в IT: как я бросил карьеру продакта и переучился на разработчика

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

Привет, я — Алексей Солохин, Python-разработчик. Мне удалось войти в IT до того, как это стало мейнстримом. Но даже попав в этот огромный, прекрасный и многогранный мир, не так просто найти в нём своё место под солнцем. Поделюсь своей историей перехода из продакт-менеджера в разработчики. Дам советы тем, кто хочет сменить профессию, но никак не может решиться. Устраивайтесь поудобнее!

Читать далее

Книга «Алгоритмы. С примерами на Python»

Время на прочтение11 мин
Охват и читатели46K
image Привет, Хаброжители!

Когда нужно, чтобы программа работала быстро и занимала поменьше памяти, профессионального программиста выручают знание алгоритмов и практика их применения. Эта книга — как раз про практику. Ее автор, Джордж Хайнеман, предлагает краткое, но четкое и последовательное описание основных алгоритмов, которые можно эффективно использовать в большинстве языков программирования. О том, какими методами решаются различные вычислительные задачи, стоит знать и разработчикам, и тестировщикам, и интеграторам.
Читать дальше →

KivyMD на «кухне»

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

Доброго времени суток, всем!

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

Для тех, кто не в курсе, поясню, что KivyMD - это "фреймворк на языке Python для кроссплатформенной разработки Kivy и библиотеки виджетов в стиле Google Material Design". Или же простыми словами, вы можете собрать вполне приличное, хорошо выглядящее приложение, как для Windows, так и для Андроид, Linux and еtс.

На Хабре есть много статей посвященных отдельным частям Kivy и KivyMD. Но, полазив в том числе по Интернет, я не нашел хорошего демонстрационного примера. Все проекты либо заточены по старую версию KivyMD и сходу не работают, либо достаточно куцые. Поэтому решил "наполнить раковину" сам. ;)

Проект лежит здесь: https://github.com/longvalery/KitchenSink.KivyMD.git

Он собран под текущую на данный момент версию KivyMD - kivy.require("2.2.1")

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

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

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

Читать далее

Основы парсинга на Python: от Requests до Selenium

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

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

В этой статье кратко рассказываем, как парсить данные веб-сайтов с помощью Python. Пособие подойдет новичкам и продолжающим — сохраняйте статью в закладки и задавайте вопросы в комментариях. Подробности под катом!
Читать дальше →

Работа с «Ягодой» для новичков: подключение пяти микроконтроллеров ESP32 к микрокомпьютеру Raspberry Pi 4 Model B по SPI

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

Данная статья создана с ознакомительной целью и служит рекомендацией по работе с Raspberry Pi 4 Model B ("Ягода"), WEMOS WiFi & Bluetooth ESP32 ("ESP32") при настройки Serial Peripheral Interface (SPI).

Читать далее

Из пет-проекта в источник дохода: как я создал чат-бот для поиска вакансий

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

Привет! Меня зовут Георгий Каляпин. Когда я начинал работать разработчиком, мне приходили разные маленькие заказы, а потом я стал искать их сам в чатах с фрилансерами. Проблема была в том, что чаты приходилось мониторить постоянно и в них встречалось много нецелевых вакансий.

Поэтому я решил создать чат-бот RemoteHunt — помощника в поиске фриланса. Он 24/7 просматривает тематические каналы и чаты, после чего сегментирует вакансии на категории и отправляет пользователю. Изначально бот задумывался как пет-проект, но в процессе разработки перерос в нечто большее.

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

Вот что у меня получилось

Работа с SQLite в Python (для чайников)

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

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

Читать далее

Обучение YOLOv8s на Google Colab: детектим дорожные знаки

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

Всем привет! Решила я вернуться на Хабр с новым мини-проектом. Сегодня попробуем детектить дорожные знаки используя YOLOv8 на Google colab. Что ж, приступим!

Поехали!

Просто добавь команд: как реализовать диалоговый Телеграм бот на основе шаблона

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

В предыдущей статье я рассказала, как быстро создать инфраструктуру для диалогового бота на основе Yandex Serverless Functions и базы данных YDB. В качестве примера использовался примитивный бот, реализованный в моём репозитории ydb_serverless_telegram_bot.

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

/start

Разработка событийно-ориентированных микросервисов с помощью Python

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

Привет, Хабр! Сегодня поговорим о нюансах разработки событийно-ориентированных микросервисов на Python. Я расскажу, почему считаю Python подходящим для разработки микросервисов, и покажу нюансы работы с ним. Меня зовут Алексей Некрасов, я лидер направления Python в МТС и программный директор курсов по Python в Skillbox. А материал — под катом.

Читать далее

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

Бережем время, деньги, нервы: наш опыт улучшения справочника факторов для ML-моделей оценки риска. Часть 2

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

Всем привет! С вами дата-сайентисты банка «Открытие» Иван Кондраков, Константин Грушин, Станислав Арешин и Алексей Дьяков. Часто даже самые хорошие произведения, будь то фильмы, книги или компьютерные игры, остаются без сиквела. А еще чаще сиквел просто не дотягивает до оригинала… К счастью, это не наш случай! Мы возвращаемся с прямым продолжением нашей статьи о программной генерации длинного списка факторов. И, поверьте, мы следовали всем правилам хорошего сиквела: наш сиквел держит планку качества, продолжает идеи оригинала, при этом полезной информации в нем еще больше!

Гоу скорее к тексту!

Я люблю питон, и вот почему он меня бесит

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

Вас приветствует ваш зануда!

Если вы следите за моей ленивой активностью, то заметили бы, что у меня много от чего пригорает. Вот, например:
- У меня пригорает от низкосортных статей на потоке: Питон против Безумного Макса, или как я посты на Хабре замораживал
- У меня пригорает от Django: Окей, Джанго, у меня к тебе несколько вопросов
- И от Яндекса тоже: Собеседование в Яндекс: театр абсурда :/
- И от рекрутеров: Я единственный из 1400, или самый крутой рекрутинг, что я проходил

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

Это что же получается, kesn опять открыл postman и сломал вёрстку на сайте? Поразительно, никогда такого не было, и вот опять! В принципе, тут можно писать текст любой длины (похоже, у них на бэкенде не Char(255), а Text). Они проверяют длину только на фронтенде, а бэкенд принимает строку любой длины. И это, блин, забавно) Вообще мой девиз - 'кто ищет, тот всегда найдёт', поэтому я ищу постоянно. Кстати, на Хабре скоро выйдет статья про программирование глазами Погромиста, там в том числе про уязвимости на сайтах будет - поэтому если не хотите пропустить, то подписывайтесь на меня в телеге: @blog_pogromista

PyCon Russia 2023. Зона Python. Краткий обзор докладов

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

Данная статья является сборником кратких и субъективных мини обзоров четырнадцати докладов, представленных в этом году на конференции PyCon Russia 2023 в зоне Python. Сразу хочу заметить, что я не ставил цель в точности воспроизвести тексты или содержание выступлений спикеров, а скорее решил оставить в памяти присутствующих на мероприятии краткую эмоциональную зацепку об этом прекрасном событии, а у отсутствующих, если получится, вызвать интерес к изложенным темам, чтобы найти доклады в сети и ознакомиться с ними лично.

Читать далее

Менеджеры контекста в Python

Время на прочтение4 мин
Охват и читатели6.8K
Почти десять лет назад я показал краткое введение в менеджеры контекста (пункт 2 здесь) и думал, что стану активнее пользоваться такими менеджерами. Но вспомнил я о них только недавно, на фоне того, как много мне приходилось перенастраивать и очищать тестируемый код при опытах по параллелизму (код получался одновременно неприятным и некрасивым).

Посмотрите спецификацию PEP 343: там описано, что суть менеджеров контекста в следующем: «позволить вычленять в отдельные блоки стандартные варианты использования инструкций try/finally». Мне всегда казалось, что finally тяготеет к обработке исключений. Но это не столько обработка ошибок, сколько очистка. Конечно, вы должны быть в состоянии обеспечить качественную очистку в случае, если выброшено исключение, но её к тому же необходимо обеспечить, несмотря на то, что вы покидаете область видимости. Думаю, здесь мы слишком полагались на вызовы функций как на основную рабочую единицу, что отвлекало нас от области видимости как от более общей концепции. Эта тема особенно интересна в сравнении с временами жизни в Rust.
Читать дальше →

Что происходит, когда запускаешь «Hello World» в Linux

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

Сегодня я задумалась о том, что происходит, когда запускаешь в Linux простую программу «Hello World» на Python.

print("hello world")

Вот как это выглядит в командной строке:

$ python3 hello.py
hello world

Но внутри происходит гораздо больше. Я объясню, что там творится, и, что гораздо важнее, расскажу об инструментах, при помощи которых вы сами сможете исследовать происходящее. Мы воспользуемся readelf, strace, ldd, debugfs, /proc, ltrace, dd и stat. Я не буду рассматривать относящиеся к Python части, только объясню, что происходит при выполнении динамически компонуемых исполняемых файлов.
Читать дальше →

Как Python использует сборку мусора для эффективного управления памятью

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

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

Читать далее

Принципы SOLID: как писать хорошо масштабируемый и поддерживаемый код

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

Вам когда-нибудь говорили, что вы пишете плохой код? 

Здесь стыдиться нечего. Мы все пишем несовершенный код, когда только учимся. Хорошая новость в том, что улучшить его — довольно просто, главное — желание. 

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

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

Читать далее

Вклад авторов