Михаил Омельченко | AI&IT
5.29K subscribers
976 photos
192 videos
4 files
713 links
ИИ в работе, разработка, веб. Агенты, автоматизация, инструменты. Веду я, Михаил Омельченко, внешний технический директор по ИИ и ментор.

Менторство, реклама и сотрудничество: djwoms.ru
Telegram - @DJWOMS
YouTube - https://www.youtube.com/c/DjangoSchool
Download Telegram
Основы безопасности в Django — советы по защите приложений

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

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

Обязательно настройте следующие параметры в вашем файле settings.py:

DEBUG = False - не оставляйте режим отладки включенным в production среде.

ALLOWED_HOSTS - укажите список разрешенных хостов, чтобы предотвратить атаки через подделку заголовка Host.

SECURE_CONTENT_TYPE_NOSNIFF - запретите браузерам определять тип содержимого.

Защита от CSRF-атак
Django имеет встроенную защиту от атак типа Cross-Site Request Forgery (CSRF).

Убедитесь, что вы используете {% csrf_token %} в ваших формах и включите middleware CsrfViewMiddleware в настройках.

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

Ограничьте доступ к админке
Измените URL-адрес админки на что-то менее предсказуемое.

Используйте двухфакторную аутентификацию для администраторов.
Ограничьте доступ к админке по IP-адресам, если это возможно.


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

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

Если ваше приложение взаимодействует с API, убедитесь, что вы правильно настроили Cross-Origin Resource Sharing (CORS). Используйте библиотеку django-cors-headers для управления настройками CORS.

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

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


#djangoschool #django
18👍16
Оптимизация проекта на Django. Советы и трюки 🤪

Оптимизация проекта на Django важна для обеспечения высокой производительности и быстрого отклика при увеличении нагрузки.

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

Декоратор @cache_page для кэширования результатов views.

  from django.views.decorators.cache import cache_page

@cache_page(60 * 15) # Кэшировать на 15 минут
def my_view(request):
# Ваш код


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

Оптимизируйте запросы к базе данных
Используйте select_related и prefetch_related, эти методы позволяют загружать связанные объекты, минимизируя количество запросов к базе данных.

  # Пример использования select_related
queryset = Book.objects.select_related('author').all()


Избегайте N+1 запросов. Если вы загружаете связанные объекты в цикле, используйте вышеперечисленные методы, чтобы избежать избыточных запросов.

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

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

Оптимизируйте статические файлы
Используйте инструменты для сжатия и минификации статических файлов (CSS, JavaScript), чтобы уменьшить их размер и ускорить загрузку.

Рассмотрите возможность использования Content Delivery Network (CDN) для статических файлов. Это уменьшит время загрузки, особенно для пользователей из разных регионов.

Асинхронная обработка задач
Используйте Celery для выполнения фоновых задач. Это позволяет не блокировать основной поток выполнения и обеспечивает более быстрый отклик приложения.

Профилирование и мониторинг
Регулярно профилируйте ваш проект с помощью Django Debug Toolbar или Silk, чтобы выявлять узкие места и оптимизировать производительность.

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


Если у вас есть вопросы или хотите узнать больше об определенных аспектах, оставляйте комментарии!

#djangoschool #django
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥214👍2
Просто факт. Qwen использует Open WebUI для чата нейронки.
Михаил Омельченко | AI&IT
Интересно наблюдать за тем как рассуждает DeepSeek R1. Хм, пользователь предоставил два HTML-файла: home.html и consultation.html. Задача состоит в том, чтобы создать страницу с описанием услуги (consultation.html) на основе уже существующего кода. Нужно…
Прогнал результат размышления DeepSeek на определение, что текст писала нейросеть.

Показывает 100% человек 😁

UPD:
Другой ресурс показывает что 74% нейросеть.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6
😎 Ха.

Я смог написать текст с помощью нейросети который определяется от 70% до 100% что это писал человек.

Весь текст писала нейросеть в три итерации. Ручного редактирования не было.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Михаил Омельченко | AI&IT
😎 Ха. Я смог написать текст с помощью нейросети который определяется от 70% до 100% что это писал человек. Весь текст писала нейросеть в три итерации. Ручного редактирования не было.
Не верьте всем сервисам для определения текста на AI.

Пример сервисов:
1) https://www.zerogpt.com
2) https://gptzero.me
3) https://undetectable.ai/

Мой пост биографии, первый и третий сервис определяет как писал человек. Второй сервис уверен на 62% что это AI.
Как приятно смотреть в какую сторону развиваются инструменты на Python.

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

Я уже рассказывал про python фреймворки которые позволяют писать фронт.


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

Встроенная интеграция с Postgres.


Чем отличается от других фреймворков?

▪️ Готовые UI-компоненты Grids, Forms, Charts и т.д.

▪️ Можно использовать drag and drop для реализации клиентской стороны.

▪️ Встроенная ORM для работы с данными.

▪️ Полноценный бэкенд с асинхронными задачами и REST API.

▪️ Прямая интеграция с любыми Python библиотеками (Pandas, NumPy, Sklearn).


Сайт Anvil

GitHub Anvil


#djangoschool #tools #anvil #python
👍17🔥8
Сегодня 08.02.25 стрим в 19:00 по мск.

Тема: GitLab CI/CD с помощью нейросети.

Смотреть стрим

▪️ YouTube

▪️ Платформа

▪️ RuTube

▪️ Twitch


#djangoschool #ai #стрим #нейронныесети
👍12
OpenHand — это платформа которая позволяет автоматизировать процесс разработки с помощью нейросети.

Основные возможности
Агенты OpenHands могут писать и изменять код, выполнять команды, искать информацию в интернете, вызывать API и заимствовать код с StackOverflow.

Подключаться к локальной файловой системе, режим headless mode или CLI.

Сайт OpenHands

GitHub OpenHands

#djangoschool #tools #ai #нейронныесети
🔥5
Сделал промпт, нейросеть пишет текст который детекторами определяется как 100% человек. 😎

Буду еще тестировать.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍2
Еще наблюдение.

Сервисы которые проверяют текст на AI сразу в нескольких сторонних сервисах, "врут".

Закидываю текст в zerogpt.com и sapling.ai они говорят 100% человек.

Закидываю в undetectable.ai говорит что нейронка, он якобы чекнул в этих сервисах.

Видимо так хотят продвигать свою услугу по "очеловечиванию" текста.
5👍1
Взял свой проект и cursor.

Задал вопрос "Проанализируй найстройки django, docker, docker compose, gitlabci, nginx. Всё ли верно и готово для production?"

На скринах результат.

А то, что команда запуска gunicorn есть в Dockerfile и в docker-compose его не смущает.

Ох и бестолковые эти нейронки иногда.
👍5