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

Менторство, реклама и сотрудничество: djwoms.ru
Telegram - @DJWOMS
YouTube - https://www.youtube.com/c/DjangoSchool
Download Telegram
Сегодня 01.02.25 стрим в 19:00 по мск.

Тема: Завершение разработки сайта.
Во второй части "Как запустить нейросеть локально".

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

▪️ Платформа

▪️ RuTube

▪️ Twitch


#djangoschool #ai #стрим #нейронныесети
🔥11
Учеба в ВУЗе и программирование. Часть 1.

Учеба в ВУЗе и web. Часть 2.

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

На третьем курсе стало легче, зачетка уже работала на нас.

В конце третьего курса начал интересоваться вебом. Начал с html и css. Пробовал верстать простые страницы. Пробовал разные конструкторы сайтов. Они тогда десктопные были. Накидываешь блоки, текст, картинки и сайт готов. Естественно это были статические сайты.

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

Тогда профессии frontend разработчик еще не было, по крайне мере такого понятия. Были верстальщики и веб мастера. Некоторые веб-мастера продавали курсы на cd\dvd как верстать, как сделать свой сайт с использованием: html, css, jquery, php.

Собирая в интернете информацию по крупицам, научился верстать. Заинтересовался динамическими сайтами и как реализуется backend. Естественно смотрел на php, тогда на нем очень много сайтов делали.

После того как научился верстать, заинтересовался JavaScript. Это был ад. Толковой информации не было вообще. Советы на форумах и в статьях были из разряда, - “не делайте так, пожалуйста”. И выглядел JS в то время не как сейчас, он был ужасен.

Сделал себе пару сайтов. Был доволен работой. Кстати сайты тогда выглядели не как сейчас. Конечно были “страшные” сайты. Но и большое количество очень оригинальных дизайнов, очень красивые. Не нужно было задумываться об адаптивной верстке, поэтому не было стандарта как делать. И верстать было сложнее, “дивная” верстка это хорошо, но встречалась еще и табличная. CSS? Он был плох. Сколько я намучался с float: left. Это потом появились flex и grid. А до этого страдали.

Всё, верстать умею, создавать динамику на страницах тоже, использую JS и jquery.
Настало время backend. И понеслась, книги, статьи и форумы. Книги по PHP уже не покупал, можно было бесплатно найти в интернете. 😎 Написал блог с админкой.

Заинтересовался CMS: Joomla, WordPress, Drupal, CMS DataLife Engine. Много сайтов сделал с использованием этих CMS, как для себя, так и коммерческих. Для Joomla и WordPress, писал свои компоненты и плагины на php.

В это же время начал изучать SEO. Это нужно было для личных сайтов, на них тренировался. Для клиентов делал продвижение. Некоторые сайты удавалось вывести в топ 10 Google.

Научился использовать Ajax. Это было прорывом. Обновление контента без перезагрузки страницы вызывало восхищение.

В 2008 году женился.

Четвертый курс в плане учебы прошел также как и третий. Уже никого не исключали из ВУЗа, стало легче. Начали готовить дипломные работы. Обратился к преподавателю по сетям. Тема диплома “Взлом и защита сетей”.

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

На сдачу диплома попал не сразу. Три дня подряд приходил, но до меня очередь не доходила. На четвертый день, я пошел последним защищать. Диплом защитил на отлично 😎.

При объявлении оценок, мой преподаватель находился в аудитории. Услышав оценку, улыбнулся, вышел и пошел домой. Я его догнал и поблагодарил, в ответ он сказал - “Все мои студенты сдают на отлично, молодец”.

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

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

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


#djangoschool #биография
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍2
❔ А вы знали, что у меня есть еще один канал в Телеграм?

Я там рассказываю "базовые" вещи из мира IT. Полезно будет для начинающих.

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

Телеграм канал Просто об IT

#djangoschool #junovnet
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3
Основы безопасности в 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