Как стать автором
Обновить
3
1.4
Алексей @Alex-Freeman

Пользователь

Отправить сообщение

Запускаем StableDiffusionXl на Nvidia видеокартах с помощью python

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

В данном посте я расскажу о том, как запускать модели StableDiffusion, в том числе тысячи их производных на видеокарте Nvidia с помощью Docker.

Читать далее

Мега-Учебник Flask Глава 10: Поддержка электронной почты (издание 2024)

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

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

Начать изучение

Выключаем компьютер через Wake-on-Lan

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

Wake-on-Lan (WoL) — технология, которая используется (как и следует из названия) для включения компьютера посредством отправки специального пакета на адрес требуемого хоста. Но что если при помощи WoL хочется ещё и выключать компьютер?
По сути весь дальнейший текст — это ещё один способ превратить буханку хлеба в троллейбус. Но если очень хочется, то почему нет?

Достать хлеб и инструменты

Фоновые асинхронные задачи в FastAPI и их мониторинг

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

Привет! Меня зовут Иван, я бэкенд-разработчик в KTS.

Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.

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

В статье опишу 5 вариантов: встроенный в FastAPI Background Tasks и 4 библиотеки — ARQ, SAQ, FastStream, адаптированный к асинхронному коду Celery.

В конце расскажу, как мониторить фоновые задачи.

Читать далее

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

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

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

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

Рисование медью и другие нестандартные технологии, интересные для изготовления печатных плат

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров12K
Картинка WangXiNa, Freepik

Мы все в той или иной степени сталкивались или сталкиваемся с потребностью в изготовлении печатных плат.

И в этой статье будет рассказ про альтернативные технологии (и не только), которые могут помочь в этом.
Читать дальше →

Сравнение алгоритмов ограничения частоты запросов

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

▍ Зачем ограничивать частоту?


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

Видео


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

Конечные точки API тоже часто ограничивают по частоте запросов, чтобы их ресурсы не монополизировал единственный пользователь. Представьте, что вам нужно, чтобы пользователи могли обращаться к затратной конечной точке не чаще ста раз в минуту. Это можно отслеживать при помощи счётчика, обнуляющегося каждую минуту. Все запросы после сотого в пределах этой минуты будут блокироваться. Это один из простейших алгоритмов ограничения частоты, называющийся fixed window limiter (ограничитель с фиксированным окном). Это распространённый способ управления трафиком к сервису.

Но не всегда всё так просто.

Когда начинается и заканчивается каждое одноминутное окно? Если я запущу поток запросов ближе к концу окна, смогу ли превысить лимит? Ёмкость окна восстанавливается по одному запросу за раз, или сразу на всё количество?

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

Распознавание капчи при помощи CNN модели

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

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

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

Нажмите, чтобы подвердить, что вы не робот

Написание скриптов для Cobalt Strike C2 (Aggressor Script)

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

Cobalt Strike — это профессиональный инструмент для проведения тестов на проникновение (penetration testing) и моделирования действий злоумышленников (adversary simulation).

Основной функцией Cobalt Strike является возможность создавать Beacon'ы - асинхронные пост-эксплуатационный агенты, которые могут осуществлять команды управления и контроля (C2), обеспечивая связь между атакующим и скомпрометированными системами.

Aggressor Script — это мощный инструмент, разработанный для расширения функциональности Cobalt Strike и автоматизации различных задач в процессе тестирования на проникновение. Он позволяет пользователям Cobalt Strike писать свои скрипты на языке Sleep, чтобы автоматизировать и настраивать поведение инструмента.

Читать далее

Мега-Учебник Flask Глава 9: Разбивка на страницы (издание 2024)

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

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

Начать изучение

Как использовать Python в нативном Android приложении. Мой опыт

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

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

Читать далее

Ансамблевое обучение для самых маленьких

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

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

Читать далее

Декораторы в Python

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

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

Читать далее

Коммивояжер на GPU

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

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

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

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

Читать далее

µDjango — технология создания асинхронных микросервисов

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

Примерно 5 годами ранее появления FastAPI была обнародована идеология построения легковесных микросервисов на Django, которая стала актуальной только после внедрения асинхронности в этом фреймворке.

Хотя в последней (на момент написания статьи) версии Django 5.0.5 асинхронно решается только часть задач, но уже сейчас можно начать создавать асинхронные микросервисы воспользовавшись технологией µDjango.

Так что это такое,  µDjango?

Quansheng UV-K5/K6: трансивер, из которого можно сделать что угодно

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

Дядюшка Ляо не перестаёт удивлять. Мы хорошо помним, какую революцию совершили USB-донглы на микросхемах Elonics E4000 и Rafael Micro R820T, изначально предназначенные для просмотра телевидения на экране компьютера. С заменённым драйвером они превращались в универсальный SDR-радиоприёмник, принимавший в диапазоне от 25 MHz до 1 750 MHz, отображая при этом спектр шириной 2.4 MHz. И стоило это удовольствие долларов 5, может, чуть больше.

Вторым важным событием стало появление дешёвой народной «шарманки» — Baofeng UV-5R. Это простенький двухдиапазонный трансивер с заявленной выходной мощностью 5W. Но недавно китайцы вновь превзошли сами себя и выпустили нечто, что стало ещё более интересным — Quansheng UV-K5 и улучшенные версии, обозначаемые UV-K5(8) и UV-K6. Что это за трансивер и почему он стал так популярен — читайте под катом.

Читать далее

Веб-скрапинг с Scrapy на Python

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

Сегодня мы поговорим о хорошем инструменте для веб-скрапинга, который зарекомендовал себя, библиотеке Scrapy для Python.

Читать далее

Мега-Учебник Flask Глава 8: Подписчики (издание 2024)

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

Это восьмая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как реализовать функцию "подписчики", аналогичную функции Twitter и других социальных сетей.

Начать изучение

Разными способами пишем игру «Камень-ножницы-бумага» на Python

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

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

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

Читать далее

Как обхитрить мозг и заставить его полюбить сложные задачи [Дофаминовый детокс]

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

Как часто вы ловили себя на мысли «Вот, блин, весь выходной прозалипал в бесконечных лентах, а ничего полезного так и не сделал»? Не спешите себя винить! Скорее всего, все дело в вашем мозге, который привык баловаться дофамином. Увы, с этой проблемой сталкиваются большинство современных людей (и мы в beeline cloud — не исключение). Хорошая новость: ее можно решить!

Почему некоторых людей гораздо сильнее мотивируют именно сложные задачи? И есть ли способ превратить трудные дела в легкие?

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

А теперь попробуйте целый час посвятить учебе... Звучит очень утомительно. А что, если вместо этого часок-другой поработать над своим сайд-проектом? Хм. Всё равно скукотища.

Читать далее

Информация

В рейтинге
1 747-й
Откуда
Cascais, Lisboa, Португалия
Зарегистрирован
Активность

Специализация

Fullstack Developer, Data Scientist
От 7 000 €
Python
SQL
Golang
RabbitMQ
Apache Kafka
Redis
High-loaded systems
Designing application architecture
Creating project architecture