Обновить
513.52

Python *

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

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

Бинарная классификация одним простым искусственным нейроном. Часть 2

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

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

В данной статье показана необходимость учета влияния соотношения параметров объектов при коррекции весов как раз из-за таких случаев.

Читать далее

Творческая утилизация клавиатур

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

Если вы системный администратор и занимаетесь обслуживанием пользователей, не только в плане исполнения пожеланий по работе программных комплексов, но закупаете, устанавливаете и заменяете компоненты рабочих мест (мониторы, мышки, клавиатуры, системные блоки), то у вас, как и у меня, наверняка скопилось довольно большое количество сломанных клавиатур, где что-то уже не нажимается или стерты буквы. Плюс ко всему, клавиатура это как предмет личной гигиены, как зубная щетка, она хранит историю своего прошлого хозяина, и эта история новому пользователю будет довольно неприятна. Это и крошки под кнопками, частички кожи, грязи, волосы, наконец. Я встречал пользователей, которые работали за клавиатурами покрытыми черным слоем грязи, причем это их совершенно не беспокоило. А мне хотелось пойти и вымыть руки, поработав пару минут за этими рабочими местами.

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

Читать далее

Оцифровка показаний стрелочного манометра в Home Assistant

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

Делюсь опытом реализации распознавания показаний стрелочного манометра по фотографии и отправки их в Home Assistant.

Давно мучал вопрос передачи показаний давления системы отопления со штатного манометра газового котла. Для этого несколько лет назад была приобретена камера ESP32-CAM и интегрирована в Home Assistant посредством ESPHome.

Читать далее

Python, Java, C++ и Go — как появились популярные языки программирования

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

Привет! Мы уже рассказывали о «вымерших» языках программирования, пришла очередь самых популярных в 2025 году. Языки не придумывают «чтобы было» — для этого всегда есть предпосылки: рассказываем, кто, когда и зачем их создал. А еще делимся интересными фактами, которых вы могли не знать — а теперь будете :)
Читать дальше →

FastAPI + Keycloak: Простая и безопасная авторизация в веб-приложении на примере реального проекта

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

Keycloak - это мощная open-source платформа для аутентификации и авторизации, которую используют даже банки и крупные корпоративные клиенты для защиты своих приложений и данных.

В статье на реальном примере (FastAPI + Python) простым языком объясню, как Keycloak помогает упростить управление доступом и почему его принципы универсальны для любого бэкенда, независимо от выбранного языка программирования

Читать далее

CLIP или SigLIP. База по Computer vision собеседованиям. Middle/Senior

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

Вопросы о CLIP-моделях встречаются почти на каждом техническом собеседовании.
Неважно, занимаетесь ли вы видеоаналитикой, создаёте генеративные модели или работаете над поиском по изображениям — CLIP и его потомки (BLIP , SigLIP ) стали стандартом де-факто в задачах связи визуальных и текстовых данных. Почему? Потому что они позволяют решать задачи, которые ранее требовали значительных усилий

Читать далее

DI в Python, Easy-DI: спаситель в сложном мире зависимостей

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

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

И так, давайте сначала разберемся что же такое зависимость?

Зависимость - это объект (или функция, в Python все - это объект), который нужен другому объекту или функции для их нормальной работы. Почти в каждого объекта есть одна или несколько зависимостей. Существует 2 основных метода их получение: создание зависимости непосредственно внутри функции либо же инъекция (внедрение).

Читать далее

Распознавание орхоно-енисейских рунических надписей методами машинного обучения

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

Орхоно-енисейские руны — это древнейшая система письма тюркских народов, использовавшаяся с VI по X век на территории Центральной Азии (включая современную Монголию, южную Сибирь и часть Казахстана). Это были надгробные и памятные тексты, выбитые на камне. Они отражают политические, военные и культурные события тюркских племён. Их расшифровка началась во второй половине XIX века и остаётся предметом научных исследований и дискуссий. Исследование символов рунической письменности актуально, так как может помочь в понимании истории и культуры народов этой местности. Интерпретация енисейских надписей с памятников – очень сложная задача. Каменная поверхность разрушена временем, из-за чего символы могут быть плохо различимы. Многие памятники находятся в удаленных, диких местах, где долгий процесс исследования слишком трудозатратен. По этой причине надписи с памятников переносятся на бумажные или цифровые носители для последующей расшифровки. Как отмечал Кормушин И. В. – профессор филологии, тюрколог и алтаевед, перед чтением надписей, необходимо идентифицировать ее символы отдельным этапом. Эта ручная обработка надписей с памятников осложнена не только деформацией самих памятников, но и отсутствием строгой определенности с принадлежностью символов к тому или иному алфавиту. Достаточно распространенной оказалась проблема неточного определения состава рунических символов во многих изданиях XX века. Эти неточности приводят к ошибкам чтения и перевода древних текстов. Поэтому целесообразно автоматизировать этот процесс для повышения точности и скорости определения символов.

Читать далее

Псевдослучайный рандом в Python

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

В этой статье хочу рассказать про нерандомность модуля random в стандартной библиотеке Python. С точки зрения криптографии и математики числа, генерируемые этим модулем, случайные лишь на вид — они порождаются детерминированным алгоритмом, что делает их псевдослучайными. Рассмотрим, как устроен генератор на основе алгоритма Mersenne Twister (MT19937), почему его выходы «нерандомны» в формальном смысле и какие практические следствия это имеет.

написано для новичков и плохо посвященных в тему людей…

Читать далее

Создаем свой RAG: введение в LangGraph

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

Привет, Хабр! В этой статье мы рассмотрим LangGraph — инструмент для построения сложных RAG-систем. Разберём его ключевые концепции и архитектурные принципы. В следующей части перейдём к практической реализации: изучим компоненты RAG-систем и способы их интеграции

Читать далее

«Не бойтесь AI, учитесь им пользоваться»: реальный опыт интеграции нейросетей в детское IT-образование

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

В 2023 году мы столкнулись с интересной ситуацией: ученики нашей школы программирования начали тайком использовать ChatGPT для выполнения домашних заданий. Многие преподаватели первой реакцией выбрали запрет — стандартный образовательный рефлекс на технологии, которые могут привести к "читерству".

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

Читать далее

Ускоряем стартап Python-приложения: коротко

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

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

Сегодня рассмотрим как ускорить стартап Python-приложений. Холодный старт — это прямые потери: в деньгах, в SEO, в отклике для пользователя. Serverless считает миллисекунды, edge-инфраструктура не ждёт, а тяжёлые импорты и неподготовленное окружение легко съедают полсекунды. Будем это чинить.

Читать далее

Event-Driven архитектура на FastAPI: через паттерн Pub/Sub

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

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

В данной статье мы расскажем о реализации Event-Driven архитектуры (EDA) с использованием FastAPI и паттерна Publish/Subscribe. Рассмотрим основные концепции, компоненты и практические примеры кода для создания масштабируемой системы обмена сообщениями.

Читать далее

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

Ускоряем разработку: инструменты экосистемы Python

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

Привет! С вами Леша Жиряков, техлид backend-команды витрины онлайн-кинотеатра KION и по совместительству пропагандист Python: в МТС я возглавляю Python-гильдию. Но как бы много я ни говорил про преимущества этого ЯП, многие стандартные инструменты экосистемы ограничены. Тот же pip не всегда эффективно разрешает конфликты зависимостей, например при сложных иерархиях пакетов. Это сказывается на производительности команд разработчиков, особенно когда проекты растут и кодовая база увеличивается.

И тут мы наблюдаем интересную тенденцию. Появляются инструменты нового поколения, написанные на Rust, которые значительно расширяют возможности Python-разработчиков. С одной стороны, они сохраняют привычный рабочий процесс, с другой — ускоряют выполнение стандартных задач в несколько раз.

Сегодня хочу обсудить два таких инструмента — Ruff и uv. Давайте посмотрим, как эти технологии могут трансформировать повседневный рабочий процесс и сэкономить нам время. Погнали!

Читать далее

Измерение покрытия UI тестами. Следующий уровень

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

Покрытие UI-тестами — вещь, о которой все говорят, но почти никто не измеряет. А если и измеряет, то по старинке, через Excel, TMS или на глаз. Это как считать шаги, не надевая шагомер.

ui-coverage-scenario-tool — это как шагомер, но для UI-тестов. Он показывает, с чем именно взаимодействуют ваши тесты, что осталось в тени, и главное — делает это автоматически. Без ручного труда, без вымышленных цифр, без «по ощущениям».

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

Читать далее

Переход с Python на Go: мысли человека, которому иногда сложно

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

Решил перейти на Go. Причина простая — видел вакансии с зарплатой выше 100 тысяч, и почти везде Go. Я до этого писал в основном на Python. Немного Django, немного микросервисов, WordPress. Закончил онлайн-школу, работаю уже третий год. Решил, что пора прокачиваться и становиться программистом-полиглотом.

Вот мой опыт и небольшие замечания по языку:

Читать далее

Python Day на Positive Hack Days: что будет на вечеринке

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

В первых статьях про Python Day, который пройдет на Positive Hack Days (раз и два), мы писали о программе конференции. Теперь же поговорим о том, что будет проходить вечером, после мероприятия. В день проведения Python Day, 24 мая, на фестивале состоится Community Day. 

Сообщество POSIdev, объединяющее разработчиков вокруг таких ценностей, как качественный безопасный код, технологии, инженерное творчество и образование, уже несколько лет собирает треки с докладами для специалистов по разработке. А в этом году впервые проводит Community Day. В фокусе будут общение и совместное творчество. 

День начнется с олимпиады по программированию — шанса проверить навыки в решении сложных задач (регистрация еще открыта!). Позже состоятся два ключевых события: открытый разговор пользователей PT Application Inspector с его разработчиками — встреча без купюр, где пользователи обсудят с архитекторами продукта вопросы безопасности и улучшения статического анализа кода, — а также хакерский конкурс Root the Hill для любителей искать уязвимости. Вечером участники сообщества и просто заинтересованные смогут пообщаться на IT-нетворкинге. Сообществу MoscowPython досталась ответственная роль — открыть это мероприятие. И вот что мы придумали… 

Читать далее

Версионирование объектов в S3: пример работы с версиями в Python

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

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

Всем привет! Меня зовут Гришин Александр, я продакт-менеджер и отвечаю за развитие объектного хранилища и облачных баз данных. В этой статье расскажу, как включить версионирование в объектном хранилище Selectel и работать с ним через Python с использованием библиотеки boto3 и панель управления. Материал пригодится как инженерам облачной инфраструктуры, так и разработчикам приложений.
Читать дальше →

Webhook у Harbor или как я оповещения о пушах docker images нашей команды делал часть — 1

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

Руководителям групп разработки и членам команды часто приходится сталкиваться с проблемой информирования коллег о новых версиях docker image внутренних инструментов. Сообщения в общих чатах не всегда эффективны, а писать вручную — не лучшая практика. И тут мы рассмотрим разработку решения по автоматическому информированию.

Читать далее

Новый язык от 1С: Зачем? Кому? Стоит ли лезть?

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

Привет, Хабр (и просто случайные читатели, зашедшие сюда в поисках истины или интересной статейки на пару минут)!

Так вышло, что последние полгода я провёл в тесных объятиях «Личного кабинета сотрудника» на Элементе — новом языке программирования от 1С. За это время я успел его изучить, полюбить, возненавидеть, снова полюбить и, наконец, написать эту статью, чтобы поделиться своими впечатлениями, страданиями и неожиданными открытиями.

Читать далее

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