Статьи о программировании(Python, Django, Golang)
14 subscribers
144 photos
5 videos
1 file
158 links
Телеграм канал сайта https://gadjimuradov.ru/
Download Telegram
Forwarded from Python/ django
🖥 Огромный сборник гайдов по Python с примерами кода поможет вам начать изучение языка с самого начала и отточить навыки на тысячах задач!

В этом сборнике вы найдете:
- Примеры автоматизации различных процессов с использованием Python.
- Инструкции по интеграции с множеством популярных приложений, таких как Telegram и YouTube.
- Руководства по созданию чат-ботов, которые возьмут на себя рутинную работу.
- Методы визуализации данных.
- Работа с графикой, изображениями и видео.
- Основы машинного обучения и создание своих первых нейронных сетей.

Это лучший ресурс для новичков в IT-сфере, который станет вашим надежным помощником на пути к освоению программирования.

📌 Ссылка

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Как узнать размер генератора в Python?

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

Пример с len()
Некоторые итераторы, такие как range, поддерживают вызов len():


len(range(10000)) # 10000


Однако генераторы не имеют длины, и попытка вызвать len() вызовет ошибку:


gen = (x ** 2 for x in range(10000))
len(gen) # TypeError: object of type 'generator' has no len()


Стандартное решение: преобразование в список
Один из способов получить размер генератора — это преобразовать его в список:


gen = (x ** 2 for x in range(10000))
print(len(list(gen))) # 10000


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

Более эффективный подход: подсчёт с помощью sum
Чтобы избежать лишнего расхода памяти, можно подсчитать количество элементов в генераторе с использованием sum():


gen = (x ** 2 for x in range(10000))
print(sum(1 for _ in gen)) # 10000


Этот метод обходит генератор "лениво", не создавая дополнительных списков, что делает его идеальным для работы с большими потоками данных.

Резюме
- Используйте len() только для итераторов, поддерживающих его (например, `range`).
- Для генераторов избегайте преобразования в список, если важна экономия памяти.
- Используйте sum(1 for _ in gen) для эффективного подсчёта элементов генератора.

👉 @BookPython
Forwarded from Python/ django
👩‍💻 slowapi — это библиотека для Python, предназначенная для ограничения количества запросов (rate-limiting) в веб-приложениях, разработанных на основе FastAPI! Она использует библиотеку limits для реализации функциональности ограничения запросов.

🔍 Особенности slowapi включают возможность настройки лимитов на основе различных критериев (например, IP-адреса, уникального идентификатора пользователя или других параметров). Она поддерживает конфигурацию различных стратегий ограничения, включая фиксированные временные окна и токен-ведро.

🌟 slowapi позволяет легко интегрировать обработку превышения лимита запросов с возвратом соответствующих HTTP-ответов, таких как 429 (Too Many Requests).

🔐 Лицензия: MIT

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Golang
👣 Эта статья обсуждает проблему N+1 запросов — частую причину снижения производительности в веб-приложениях!

🌟 Автор объясняет, как стандартный подход ленивой загрузки ассоциированных данных может привести к множественным запросам к базе данных, что становится проблемой в сложных моделях с многочисленными связями.

🌟 Для решения этой проблемы предлагается двухфазный подход: сначала загружаются все необходимые данные за минимальное количество запросов (batch loading), затем данные отображаются с использованием подготовленных объектов. Статья иллюстрирует, как этот метод применяется в Go, и подчеркивает его преимущества, такие как снижение количества запросов и улучшение производительности.

🔗 Ссылка: *клик*

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Денис Аникин
Техлид, Райффайзенбанк

Я ускорил всё, кроме себя

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

https://www.youtube.com/watch?v=nVUwGn2Ky40
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🎇 2025 в жизни программиста

➡️Впервые за всю историю количество строк кода, написанных человечеством, достигнет триллиона (по оценкам GitHub).

— Это наш общий след в цифровой эпохе.

➡️ ИИ-системы начали писать больше кода, чем люди.

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

➡️ 2025-й — год открытого кода. Всё больше крупных компаний выпускают свои продукты в open-source.

— Готовьтесь к большому числу коллабов и открытий.

💬 Чего вы ждёте от 2025 года?
Please open Telegram to view this post
VIEW IN TELEGRAM
Пагинация — это стандартная задача, с которой ежедневно сталкиваются тысячи разработчиков. Если вы используете реляционную базу данных, то можно задать смещение через LIMIT, например:


SELECT *
FROM table
LIMIT 1001, 100;


Этот запрос действительно вернет 100 записей, с 1001-й по 1100-ю. Но проблема в том, что для базы данных это так же сложно, как и выборка всех первых 1001 записей. Чем дальше запрашиваемая страница, тем медленнее будет выполняться запрос.

Более оптимальным решением является использование фильтрации через WHERE, где клиент передает идентификатор последней записи текущей страницы ($last_seen_id в примере):


SELECT *
FROM table
WHERE id > $last_seen_id
ORDER BY id ASC
LIMIT 100;


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

Если хотите разобраться подробнее, рекомендую почитать отличную статью на эту тему!

👉 @BookPython
🐍🛣 Как изучать Python в 2025 году: дорожная карта

Детальный план обучения Python с нуля — разбираем каждый шаг на пути к профессиональной разработке в нашей статье:

🔗 Ссылка

Начните свой путь в IT вместе с нашим курсом по пайтон:
🔵 Основы программирования на Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevHub
Python — язык программирования 2024 года по версии рейтинга TIOBE

Python стал языком программирования 2024 года по версии рейтинга TIOBE. Эта награда присуждается языку программирования с самым высоким ростом рейтинга за год.

Python вырос в популярности больше остальных языков программирования за предыдущие 12 месяцев — на 9,3% до 23,85%). Этот показатель больше, чем у конкурентов: Java выросла за год на 2,3%, JavaScript на 1,4% и Go на 1,2%.

1️⃣ DevHub
Please open Telegram to view this post
VIEW IN TELEGRAM
Вот вам задача

Напишите на python функцию вычисления n-го числа Фибоначчи

Например, при n=10 ответом будет 55

print(fibonacci(10)) # выведет число 55
print(fibonacci(15)) # выведет число 610

#задача
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Mistral выпустила новую модель, специально разработанную для по Кодина с ИИ.

Codestral 25.01 дебютирует на 1-м месте в рейтинге лидеров LMsys Copilot Arena 🔥

Новая версия стала заметно умнее и в разы быстрее благодаря обновлённому токенизатору и усовершенствованной архитектуре.
Вы уже можете использовать его бесплатно в Continue (100% открытый исходный код) для VS Code.

Размер окна контекста увеличен до 256 тысяч токенов.

Чтобы использовать его, просто добавьте плагин Continue в VS Code и выберите Codestral 25.01 в качестве модели.

А если вам нужна дополнительная информация, то вот официальный блог Mistral.

https://mistral.ai/news/codestral-2501/

@ai_machinelearning_big_data

#mistral #llm #ml #Codestral
Используете ли вы в своих проектах фреймворк FastAPI ?
Anonymous Poll
100%
Да
0%
Нет
Alibaba дропнули свою новую универсальную нейронку — она мощнее ChatGPT и DeepSeek.

Qwen2.5-Max
обошла DeepSeek V3 во всех авторитетных бенчмарках, таких как Arena Hard, LiveBench, LiveCodeBench и GPQA-Diamond.

Особенности этого зверя:

— Умеет генерить фотореалистичные картинки и видосы в высоком качестве;
— ИИ-поиск, который быстро отыщет любую инфу в интернете;
Понимает русский язык;
Бесплатная и доступна в России;
— Пишет код почти как сеньор;

Можете попробовать тут
https://chat.qwenlm.ai/