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

Python *

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

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

Залезаем на плечи гигантов — создаем модуль для ComfyUI для свободного движения камеры и создание 6dof сцен из фото

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

Всем привет!

Я много работаю с видео для виртуальной реальности, и одна из задач, которая всё ещё маячит на горизонте и требует уймы усилий — удобное создание и стриминг полноценного 6Dof видео. Большинство существующих решений сводятся к двум крупным направлениям.

В этой статье мы рассмотрим, как расширить возможности генеративных моделей для виртуальной реальности (VR), создав модуль для ComfyUI, который позволит:

преобразовывать изображения и видео между pinholefisheye и equirectangular проекциями;

итеративно дорисовывать панорамы до полного сферического охвата;

синтезировать новые ракурсы свободным движением камеры в 3‑D‑пространстве.

Я покажy, как объединить продвинутый reprojection grid_sample с outoainting, картами глубины и облаками точек, чтобы получить реалистичные «новые виды» из одного изображения. Кроме того совместим этот подход с подходом Video Generation.

Читать далее

Делаем ИИ автоответчик в Telegram

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

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

Читать далее

Фундаментальные вопросы по ML/DL, часть 1: Вопрос → Краткий ответ → Разбор → Пример кода. Линейки. Байес. Регуляризация

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

У каждого наступает момент, когда нужно быстро освежить в памяти огромный пласт информации по всему ML. Причины разные - подготовка к собеседованию, начало преподавания или просто найти вдохновение.

Времени мало, объема много, цели амбициозные - нужно научиться легко и быстро объяснять, но так же не лишая полноты!

Обращу внимание, самый действенный способ разобраться и запомнить - это своими руками поисследовать задачу! Это самое важное, оно происходит в секции с кодом.

Будет здорово получить ваши задачи и разобрать в следующих выпусках!

Как только разберетесь приступайте к части 2!

Взглянуть на старое под новым углом →

MCP (Model Context Protocol). «Мне только попробовать!»

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

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

Читать дальше

Поговорим о DevSecOps и культурной трансформации в мире разработки

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

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

Почему «последняя миля» в тестировании безопасности — это провал: статистика OWASP и NIST о том, как 97% приложений содержат уязвимости, а исправление ошибок после релиза обходится в 6 раз дороже.

Как DevSecOps убирает барьеры между командами: интеграция безопасности в CI/CD, автоматизация проверок и сдвиг «влево» (Shift Left) — от теории к реальным кейсам Microsoft, Netflix и Capital One.

Почему успех DevSecOps зависит не от инструментов, а от культуры: как руководство может создать среду, где безопасность становится общей ответственностью, а не «чужой заботой».

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

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

Читать далее

Создаем свой RAG: от загрузки данных до генерации ответов с LangGraph. Часть 2

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

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

Технология RAG (Retrieval-Augmented Generation) сочетает поиск информации с генерацией ответов, делая AI-системы более точными и осмысленными. В этой статье разберём практическую реализацию RAG с помощью LangGraph — гибкого инструмента для построения агентов и графов.

Читать далее

Обыгрываем казино, с блэкджеком и стратегиями

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

В данной статье рассмотрим работу с библиотекой gymnasium для изучения машинного обучения с подкреплением. Реализуем агента, который использует метод машинного обучения q-learning для максимизации выигрыша в карточной игре blackjack. Сравним средний выигрыш за 100000 игр при различных реализациях игры blackjack.

Читать далее

Быстрый деплой бота (и не только) на Docker-хостинге с Portainer

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

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

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

За эти два года мне в личку и в чат Telegram-канала довольно часто пишут новички и их вопросы можно разделить на две категории:

Читать далее

Оптимизация запросов в Django. Подробное руководство

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

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

Данная статья подходит как для начинающих, так и для достаточно опытных разработчиков на django, а также для всех, кто еще не интересовался, что происходит под капотом ORM.

Читать далее

От кнопки до продакшена: как мы делаем Telegram Mini Apps

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

Привет! Мы Дима и Илья, работаем в команде ТМА-разработки Doubletapp и расскажем, как создать Telegram Mini App на стеке React + Python.

Telegram Mini Apps — это мощный инструмент, который позволяет создавать интерактивные веб-приложения, работающие прямо внутри мессенджера. Они идеально подходят для игр, маркетплейсов, сервисов бронирования и многого другого.

В этом туториале мы разберем процесс создания Mini App:

настроим проект
создадим фронтенд на React с поддержкой Telegram SDK
реализуем бэкенд на Python (Django)
свяжем все компоненты и развернем приложение.

Читать далее

Вычисление функции потерь и градиентов в AI переводчике

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

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

Меня зовут Алексей Рудак, я основатель компании Lingvanex, которая разрабатывает решения в области машинного перевода и транскрипции речи. Продолжаю цикл статей о том, как устроен переводчик на нейронных сетях изнутри. И сейчас хочу рассказать про работу функции потерь. Для тренировки модели используется opensource фреймворк OpenNMT-tf.

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

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

Читать далее

DRF captcha своими руками

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

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

Так как на проекте мы использует REST подход к проектированию API, я подумал, что можно генерировать uuid ключ на клиенте и передавать его при каждом запросе добавления товара в корзину.

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

Читать далее

Я сделал поисковик хуже Elasticsearch

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

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

BEIR — это бенчмарки поиска информации, ориентированные на сценарии использования в формате «вопрос-ответ».

Мой хобби-проект SearchArray добавляет в Pandas полнотекстовый поиск. Поэтому естественно, чтобы ощутить трепет от моих потрясающих навыков разработчика, я решил использовать BEIR для сравнения SearchArray с Elasticsearch (с тем же запросом + токенизацией). Поэтому я потратил субботу на интеграцию SearchArray в BEIR и измерение релевантности и производительности с корпусом MSMarco Passage Retrieval (8 миллионов документов).

Барабанная дробь...

Читать далее

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

Не гугли — собери ИИ-агента, который сам ищет, пишет и помогает с кодом

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

Заметил, что трачу часы на поиск, баги и рутину — собрал ИИ-агента, который делает это за меня. Протестировал 3 подхода — от no-code до кастомного LangChain. В статье — инструкция и инсайты.

Читать далее

Школы программирования против репетиторов и самообучения

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

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

Читать далее

Pet-проект: игра Дебаггер на Python с графическим интерфейсом на Tkinter

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

Всем привет! В статье расскажу, как я написал игру Дебаггер на Python и добавил к ней графический интерфейс на Tkinter. Мне хотелось сделать простую игру на IT тематику, поэтому я скопировал игровую механику из игры Сапер и теперь нам нужно отметить все баги на игровом поле или наш код сломается.

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

Нажми, если не боишься багов!

Анализ текстовых данных на примере ОМ

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

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

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

Весь код внутри.

Читать далее

Финансовое моделирование в Python и Excel: мой путь перехода на код

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

Финансовое моделирование — это не просто таблички. Это способ прогнозировать, принимать решения и быть на шаг впереди. Мы, финансисты, любим Excel за простоту, в то же время, ненависть к этому чудесному инструменту возрастает пропорционально количеству переменных в формулах. И, когда задач становится больше, — он начинает тормозить и сильно раздражать.

Ниже я расскажу:

- Почему я, как гуманитарий, начала осваивать Python.
- Как связка Excel + Python работает на практике.
- Как один и тот же проект ведёт себя в этих двух мирах.

Окунуться в мир финансов и расчета прибыли

Создание 2D игры на Python

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

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

Читать далее

Как собрать Docker-образ, который можно запускать в проде (а не только у себя на ноуте)

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

Если ты пишешь Dockerfile, скорее всего, он работает. Но вопрос не в том, работает ли. Вопрос в другом: будет ли он работать через неделю, на другом сервере, в CI/CD, на чужом железе — и будет ли это безопасно?

Читать далее

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