Как стать автором
Обновить
29
-0.1
Андрей Ч. @Andchir

PHP/JS Full Stack Developer

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

Django-аутентификация: просто о сложном

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

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

Аутентификация является фундаментальной частью любого веб-приложения. Мы рассмотрим различные способы реализации аутентификации в Django, начиная от стандартных методов и заканчивая более крутыми техниками, например как 2FA и OAuth2.

Читать далее
Всего голосов 17: ↑14 и ↓3+16
Комментарии1

Интеграция Telegram-бота с ЮKassa

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

Вроде бы есть у ЮКассы неплохая документация о настройке платежей через ТГ-бота, есть в интернете и несколько статей на эту тему, но все-таки на практике сталкиваешься со множеством неочевидных нюансов…

Опишу по шагам процесс подключения платежей для Python-бота на aiogram 3, при условии, что у его владельца уже оформлена самозанятость.

Читать далее
Всего голосов 9: ↑7 и ↓2+7
Комментарии12

Асинхронный SQLAlchemy 2: улучшение кода, методы обновления и удаления данных

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

Третья статья цикла по асинхронному SQLAlchemy 2 посвящена оптимизации кода, обновлению и удалению данных. Рассмотрены улучшения базового класса, подходы к обновлению записей и методы удаления, с акцентом на повышение производительности. Нажмите «Читать», чтобы ознакомиться с материалом.

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии5

Как защитить своё право на информацию: готовое обращение в Роскомнадзор

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

Сегодня многие сталкиваются с блокировкой доступа к популярным интернет-ресурсам, и это число, скорее всего, будет расти. Правительство, Госдума и другие органы, похоже, считают, что граждане не имеют права мыслить иначе, чем им диктуется. Если вы хотите пользоваться своими правами, закреплёнными в Конституции, то вас клеймят как «либерала» или «подстилку Запада».

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

Фильтрация интернет-трафика нарушает конституционные права граждан на получение информации и свободу выражения мнений. Действующие меры носят чрезмерный характер, ограничивая доступ даже к тем ресурсам, которые не нарушают закон. Например, Министерство цифрового развития уже разрабатывает отечественный аналог GitHub. Для чего? Вероятно, чтобы заблокировать международные платформы. И не удивлюсь, если потом найдут предлог заблокировать и другие ресурсы, прикрываясь борьбой с наркотиками, терроризмом или педофилией.

Здесь важно сделать вывод: блокировка интернет-ресурсов не только нарушает наши права на доступ к информации, закреплённые в Конституции РФ, но и ставит под угрозу свободу выражения мнений. Мы не должны лишаться доступа к платформам только потому, что на них когда-то кто-то опубликовал запрещённый контент. Большинство интернет-пользователей — это взрослые, дееспособные граждане, способные самостоятельно решать, какую информацию получать.

Читать далее
Всего голосов 63: ↑48 и ↓15+43
Комментарии179

Знакомство с Apache Airflow: установка и запуск первого DAGа

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

Привет! Меня зовут Алексей Карпов, я прикладной администратор (MLOps) отдела сопровождения моделей машинного обучения в Альфа-Банке. Хочу поделиться опытом в работе с Apache Airflow. Расскажу, как установить интерпретатор Python и сам Airflow, а также как отладить его работу. Всё это — на примере запуска простейшего дага. 

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

Читать далее
Всего голосов 14: ↑10 и ↓4+6
Комментарии6

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

Время на прочтение7 мин
Количество просмотров23K
Доброго времени суток! У нас открылось совершенно новое направление обучения — BigData, а это значит, что немного расширяется горизонт материалов, которыми мы будем делиться с вами. Сегодня рассмотрим Luigi, как часть того, что раскрывается на нашем курсе.

Luigi — фреймворк на языке Python для построения сложных последовательностей по выполнению зависимых задач. Довольно большая часть фреймворка направлена на преобразования данных из различных источников (MySql, Mongo, redis, hdfs) и с помощью различных инструментов (от запуска процесса до выполнения задач разных типов на кластере Hadoop). Разработан в компании Spotify и открыт в виде open source инструмента в 2012 году.

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

Для выполнения всех этих задач существуют и другие инструменты. Это Oozie, Pinball, Airflow (находится в статусе инкубации в Apache — проходит различные проверки, недавно вышел обзор на хабре). В данной статье рассмотрим только Luigi.


Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии4

Обход блокировки YouTube без VPN и GoodbyeDPI

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

Клешни постепенно сжимаются.
С момента замедления YouTube, по данным СМИ, его трафик для России снизился на 50%. Роскомнадзор активно блокирует VPN-сервисы.

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

Что же делать?

Читать далее
Всего голосов 50: ↑34 и ↓16+26
Комментарии73

Мое обращение в АП РФ по поводу замедления youtube, и ответ из РКН

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

Я получил ответ 8 сентября и выложил у себя в тг канале. Особой реакции мой пост не получил. Но потом мне прислали ссылку на эту статью на хабре https://habr.com/ru/news/843112/ , и я решил поделиться своей перепиской с общественностью.

Читать далее
Всего голосов 121: ↑96 и ↓25+98
Комментарии369

Почему ты не можешь просто начать меньше есть, чтобы снизить вес? 3 главные причины

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

“Все решено, завтра начинаю меньше есть!”

Если с этого обычно начинается твое стремление к лучшей фигуре и здоровому телу, то я буду тем тренером, который остановит тебя от этого.

“Да просто жрать надо меньше” — самая простая и распространенная рекомендация, которой в какой-то момент хочется просто взять и начать следовать.

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

Читать далее
Всего голосов 59: ↑42 и ↓17+38
Комментарии199

Полноценный API на Django REST Framework: легкая разработка, автодокументация и быстрый деплой

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

Сегодня мы погрузимся в процесс создания собственного API на Django с использованием мощного инструмента — Django REST Framework (DRF). Этот фреймворк предоставляет полный набор инструментов для разработки API: маршрутизация, сериализация данных, обработка запросов и формирование ответов. DRF значительно упрощает взаимодействие с клиентами через HTTP, поддерживая такие методы, как GET, POST, PUT и DELETE.

Однако, в отличие от FastAPI, Django REST Framework не включает встроенный инструмент для автодокументирования API. Мы легко решим эту задачу, воспользовавшись расширением drf‑spectacular, которое генерирует спецификации API в формате OpenAPI 3.0. Это позволит интегрировать интерфейсы, такие как Swagger и Redoc, для удобного тестирования и наглядной визуализации документации.

Читать далее
Всего голосов 10: ↑9 и ↓1+10
Комментарии16

Автоматическая документация API Django Rest Framework с помощью DRF Spectacular

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

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии3

Использование Signal и Model Inputs в Angular

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

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

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

В статье я расскажу о Signal и Model Inputs и о том, как они могут заменить классические декораторы Input и Output, а попутно — решить проблемы с обнаружением изменений, не прибегая к написанию дополнительного кода.

Читать далее
Всего голосов 11: ↑11 и ↓0+12
Комментарии4

Бот-парсер маркетплейса на Python

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

Всем привет! В этой статье я решил показать один из методов парсинга на Python на примере маркетплейса Wildberries.

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

В проекте будут использоваться следующие библиотеки:

Читать далее
Всего голосов 18: ↑12 и ↓6+6
Комментарии12

Как мы создали приложение знакомств, чтобы находить «половинку» в 8 раз быстрее

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

Всем привет! Меня зовут Константин, и я основатель Radaro.

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

Читать далее
Всего голосов 53: ↑52 и ↓1+67
Комментарии425

Работа с YOLOV8. Детекция, сегментация, трекинг объектов, а также подготовка собственного датасета и обучение

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

Если вам кажется, что начать работу с нейросетями - это сложно, то этот материал для вас!

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

Читать далее
Всего голосов 15: ↑15 и ↓0+19
Комментарии6

Как работают select_related и prefetch_related в Django

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

Часто определение разницы между select_related и prefetch_related звучит как “первый для ForeignKey полей, второй для ManyToMany”, однако это описание не раскрывает суть работы этих методов. Ниже я попробовал на примерах показать разницу между этими методами и какое влияние они оказывают на сгенерированный SQL для получения данных.

TLDR: Статья будет в первую очередь полезна тем кто начинает свое знакомство с Django, а также тем, кто использует select_related/prefetch_related в ежедневной работе, но не углублялся в глубь Django.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Когда проснулся и узнал, что существуют PWA

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

Всем привет. Меня зовут Антон, я фронтендер в Сбере. Если вы ещё не осваивали технологию PWA, но хотели бы — или вдруг срочно понадобилось, — то я вам помогу и объясню, что это и как начать с ней работать. 

Читать далее
Всего голосов 30: ↑27 и ↓3+32
Комментарии14

Llama 3.1-70b в своем Телеграм боте — бесплатно, безлимитно и всего 20 строк кода

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

Да, всего 20 строк кода и бот:

1) по качеству ответов будет соизмерим с ChatGPT-4o;
2) будет отвечать очень быстро т.к. подключим мы его через Groq который в среднем в 10 раз быстрее других аналогичных сервисов;
3) будет поддерживать диалог и запоминать последние сообщения.

Читать далее
Всего голосов 50: ↑40 и ↓10+38
Комментарии102

Распознавание, хранение и поиск лиц в базе данных

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

В этой статье я максимально коротко и просто объясню принцип распознавания, хранения и поиска лиц в базе данных. В качестве примера будет использована библиотека Insightface и база данных PostgreSQL.

Читать далее
Всего голосов 30: ↑25 и ↓5+28
Комментарии6

4х повышение разрешения изображения с использованием ESRGAN

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

4х повышение разрешения изображения с использованием ESRGAN

В данной статье разобрано применение предобученной нейронной сети ESRGAN для увеличения разрешения изображения в четыре раза c использованием tensorflow hub.

Читать далее
Всего голосов 8: ↑3 и ↓50
Комментарии53
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Карелия, Россия
Дата рождения
Зарегистрирован
Активность