Как стать автором
Поиск
Написать публикацию
Обновить
519.73

Python *

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

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

Рейтинги языков программирования: что за ними скрывается?

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

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

Когда только начинаешь карьеру разработчика, часто гложет сомнение: верно ли я выбрал язык программирования? Может, он уже устарел, или наоборот — слишком новый и не факт, что перспективный? Легко ли будет найти по нему актуальные книги и уроки? Много ли таких неофитов будет вместе со мной обивать пороги ИТ-компаний через год-два? 

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

Помочь с выбором языка программирования призваны рейтинги их популярности. Однако тут легко обмануться. Каждый рейтинг составляется по своей методике и даёт разные результаты (порой — весьма неожиданные). В этой статье я постарался сделать более взвешенную оценку популярности языков программирования (далее — ЯП) по нескольким источникам. Подробнее о них и почему это важно — рассказываю ниже.

Индексы популярности

Всё началось с того, что мне попался на глаза свежий рейтинг актуальности ЯП, где в TOP 10 внезапно ворвался Delphi. Пытаясь разобраться в причинах его внезапной популярности в 2025 году, я стал искать методики составления таких списков и нашёл много любопытного. Как обычно, дьявол кроется в деталях. 

Индекс TIOBE — известный инструмент мониторинга, показывающий динамику интереса к разным ЯП. Он учитывает частоту поисковых запросов, связанных с ЯП. Для этого каждый месяц в Google, Bing, Yahoo! и Baidu отправляются запросы по определённому шаблону, чтобы отсеивать из выдачи мусор и корректно сравнивать статистические данные. Дополнительно в рейтинге учитывается число образовательных материалов о ЯП: количество видеоуроков на YouTube, книг на Amazon и упоминаний на Wikipedia. 

Читать далее

Погружение в Django: 8 полезных ссылок

Время на прочтение2 мин
Количество просмотров7.4K

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

Актуальная версия Django — пятая, но некоторые источники в подборке рассматривают более старые версии. Это не беда, потому что основы фреймворка остаются теми же, кроме того, на старых версиях по-прежнему работает множество проектов.

Читать далее

Как выбрать embedding модель без датасета и исторических данных

Уровень сложностиСложный
Время на прочтение23 мин
Количество просмотров4.8K

С появлением больших языковых моделей тема векторного поиска обрела новое дыхание. Компании, которые хотят внедрить архитектуру Retrieval-Augmented Generation (RAG), сталкиваются с вопросом: как выбрать эмбеддинги, которые будут работать эффективно именно с их данными?

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

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

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

Читать

Как сканировать документы А3 формата, если под рукой только сканер А4 формата

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

Оцифровка чертежей и документов формата А3 не представляет сложности, если у вас есть сканер соответствующего размера. Однако что делать, если под рукой лишь стандартное МФУ формата А4?

Формат А3 в два раза больше А4: это два стандартных листа, соединенных по длинной стороне. В результате, чтобы оцифровать А3, приходится сканировать его по частям - левую и правую половинки, а затем как-то их объединять.

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

Как легко склеивать документы А3 из А4

25 бесплатных курсов для начинающих аналитиков

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

Привет, Хабр! Меня зовут Алёна, я middle‑продуктовый аналитик. Мне нравится то, чем я занимаюсь, поэтому в свободное время я пишу полезные статьи и веду свой пока небольшой tg-канал про продуктовую аналитику.

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

Читать далее

Решение головоломки Fillwords на Python

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров2.7K

Игра Fillwords популярна благодаря своей простоте и увлекательности: она развивает словарный запас, тренирует внимательность и логику. Миллионы игроков по всему миру используют её как способ расслабиться и одновременно размять мозг, а сложные уровни делают процесс поиска слов настоящим вызовом.

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

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

Читать далее

Бот для создания стикеров и мемов на Python

Время на прочтение8 мин
Количество просмотров5.7K

Сегодня мы развлечемся и напишем бота в Telegram, который будет делать мемы и стикеры из изображений, используя библиотеку Pillow.

Наш бот будет накладывать текст на фото или трансформировать фото в подобие стикера.

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

Читать далее

Выжимаем максимум из моделей Whisper на Apple Silicon

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

Недавно захотел вспомнить молодость и пересмотреть отличные лекции по машинному обучению из университета. Смотреть, конечно же, стало скучно уже на 5 минуте, и мне пришла в голову отличная идея. Что если перевести все лекции в текст и просто нажимать Ctrl Cmd+F про то, что мне интересно? Загуглил, какие есть варианты, есть огромная куча API от заграничных и российских разработчиков, есть удобные UI для локального развертывания, но это все не то. API - скучно (да и вдруг потом на этих лекциях модели будут тренировать), UI не поддерживают Apple Silicon, и все гоняют на процессоре. Хочется что-то, чтобы и видеокарту использовало, и работало быстро, и чтобы можно было восхититься высокой скоростью моего M1 (спойлер — не восхититься).

Читать далее

Ping-Pong на Python (turtle)

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

В этой статье я хочу поделиться своим опытом с создании игры ping-pong на пайтон с использованием модуля turtle. Мне 14 лет и я только начинаю программировать, так что не судите строго)

Читать далее

Вебсокеты на FastAPI: Реализация простого чата с комнатами за 20 минут

Время на прочтение18 мин
Количество просмотров21K

Хотите освоить WebSocket и создать собственный чат с комнатами? В этой статье мы разберем:

В чем разница между WebSocket и классическим HTTP

Как реализовать сервер на FastAPI с поддержкой WebSocket

Как создать простой FullStack-чат для мгновенного обмена сообщениями

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

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

Читать далее

Управляем компьютером жестами: создаем систему бесконтактного взаимодействия с ПК

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

В основе проекта лежит компьютерное зрение и машинное обучение. Система использует веб-камеру для захвата изображения рук пользователя в реальном времени. Затем специально обученная нейронная сеть распознает конкретные жесты и преобразует их в команды управления компьютером. Проект полностью открыт и доступен на GitHub. Установка достаточно простая — нужен только Python 3 и несколько библиотек, которые устанавливаются через pip. Вся настройка сводится к выполнению пары команд в терминале.

Читать далее

Gambit Scheme: интегрируемся с Python

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

Статья продолжает рассмотрение неочевидных возможностей Gambit Scheme, начатое в предыдущих статьях.

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

Читать далее

Фидбэк vs токсичность: как давать обратную связь коллегам и начальству

Время на прочтение5 мин
Количество просмотров3.6K

Фидбэк vs токсичность: как давать обратную связь коллегам и начальству

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

Читать далее

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

Магический метод работы с формами

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

Видеоаналитика в СИБУРе — это сложный и многогранный продукт, который внедряется на разных производствах. Несмотря на то, что это один продукт, его конфигурация может сильно отличаться: используются различные камеры, детекторы и параметры, а также интеграции с разнообразными сторонними системами.

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

Логичное решение — предоставить инженерам удобный интерфейс, где они смогут заполнять форму и сразу видеть ошибки. 

Меня зовут Владимир Кирилкин, я техлид в Цифровом СИБУРе, в команде Индустрии 4.0. Мы разрабатываем продукт «Видеоаналитика на производстве», и о наших задачах уже писали на Хабре.

Мы подошли к задаче нестандартно: вместо заранее заданных форм на фронте реализовали их автоматическую генерацию с использованием JSON-схем и немного ✨магии✨.

Наши сервисы построены на Python и React, но предложенный подход можно адаптировать и для других технологий — правда, с чуть меньшим количеством ✨магии✨.

Читать далее

Введение в многокритериальную оптимизацию, или как потерять чуть меньше денег на крипте

Время на прочтение16 мин
Количество просмотров5.4K

"Лежит на струнах пыль
Ржавеет под окном
Разбитый телевизор
Ты сгладил все углы
И жизнь твоя сплошной
Проклятый компромисс
Ни вверх ни вниз"

Так поёт группа Би-2 в песне "Компромисс" и с ними трудно не согласиться. Наша жизнь действительно состоит из сплошных проклятых компромиссов между несколькими решениями. Мы пытаемся найти максимально дешёвую, но качественную электронику, ищем экономичный, но быстрый автомобиль и красивого, но надёжного партнёра для отношений.

Каждая из этих повседневных задач заключается в поиске оптимума нескольких конфликтующих между собой функций. Это называется многокритериальная оптимизация (Multi-objective optimization). В этой статье мы ближе познакомимся с этой задачей, посмотрим на 2 популярных метода её решения и узнаем, как с её помощью заработать на криптовалюте с минимальным риском.

Читать далее

Автоматизация тестирования desktop приложений с помощью Dogtail

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

Всем привет! Меня зовут Вадим Гредасов, я старший системный инженер в отделе автоматизации тестирования IVA Technologies. В этой статье хочу осветить то, как мы в компании организовали автоматизацию тестирования одного из наших продуктов.

Несмотря на то, что значимую роль в автоматизации приложений играет Appium, который тоже используется нами для проверки приложения на ОС Windows и MacOS, рост популярности отечественных систем на базе Linux подтолкнул нас к поиску нового инструмента, так как скорость работы Appium Lunux драйвера нас не устроила. Таким инструментом стал Dogtail.

А теперь немного о нём.

Dogtail — это библиотека для автоматизации тестирования через пользовательский интерфейс (UI) на Linux, которая работает с GTK-приложениями, а также вполне неплохо справляется с Qt-приложениями. Она использует технологии Accessibility (ATK) и DBus для взаимодействия с элементами интерфейса.

Судя по их gitlab репозиторию, проект развивается с 2016 года и неплохо поддерживается авторами, которые охотно отвечают в Issues к проекту.

Читать далее

Что должны уметь супергерои DS

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

Data Science — настолько широкая область, что в разных компаниях свои представления о том, что должен уметь дата-саентист. Но это всегда что-то на стыке программирования и исследований. В зависимости от компании/проектов/команды дата-саентист может быть и ресерчером, и инженером, и ML-Оps и ещё много кем. У всех этих ролей разный круг задач.

Привет, Хабр! Меня зовут Вика Верезубова, в X5 Digital я руковожу группой машинного обучения, и в этой статье я расскажу, как дата-саентисту развивать свои навыки, при чём здесь команда и лид, и как всё это подружить с коммерческой и продуктовой разработкой.

Читать далее

Как провалить собеседование в IT? 7 типичных ошибок (и как их избежать)

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

Как провалить собеседование в IT? Легко!

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

Читать далее

Атрибут или Dunder-метод slots в Python. Что нужно о нём знать?

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

Всем привет! Меня зовут Дима. Я являюсь Backend Python Developer'ом. Сегодня расскажу Вам про «волшебный» инструмент __slots__ в Python.

Читать далее

Событийный заказ: Python и Kafka

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

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

В этой статье рассмотрим, как на примере магазина котиков — кейса, где каждый заказ превращается в событие — создать событийно‑ориентированную систему обработки заказов с использованием Python, Kafka и Django REST Framework. Создадим REST API для приёма заказов, настроим Kafka‑продюсеры, консьюмеры и реализуем компенсационные транзакции по принципу Saga.

Читать далее

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