📚Python Books
📚Python библиотека admin - @workakkk @ai_machinelearning_big_data - машинное обучение @programming_books_it - бесплатные it книги @pythonl - 🐍 @ArtificialIntelligencedl - AI @datascienceiot - ml РКН: clck.ru/3FmsTi
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام 📚Python Books
تُعد قناة 📚Python Books (@pythonlbooks) لاعباً نشطاً. يضم المجتمع حالياً 33 560 مشتركاً، محتلاً المرتبة 3 887 في فئة التكنولوجيات والتطبيقات والمرتبة 19 173 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 33 560 مشتركاً.
بحسب آخر البيانات بتاريخ 25 أغسطس, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -247، وفي آخر 24 ساعة بمقدار -14، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 10.53%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 2.79% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 3 534 مشاهدة. وخلال اليوم الأول يجمع عادةً 936 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 0.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل сотрудников, курса, инструменты, использовать, docker.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“📚Python библиотека
admin - @workakkk
@ai_machinelearning_big_data - машинное обучение
@programming_books_it - бесплатные it книги
@pythonl - 🐍
@ArtificialIntelligencedl - AI
@datascienceiot - ml
РКН: clck.ru/3FmsTi”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 26 أغسطس, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
fit(), а реально понять математику и инженерную логику ML.
PDF:
https://smlbook.org/book/sml-book-draft-latest.pdf
#DataScience #MachineLearning #ML #Mathematics #Algorithmsufunc начинали конкурировать за внутренние структуры NumPy, счётчики ссылок и выделение памяти.
В NumPy 2.5 разработчики устранили несколько ключевых узких мест:
- таблицу диспетчеризации ufunc заменили на lock-free concurrent hash map;
- часть общих служебных объектов сделали «бессмертными», снизив конкуренцию при подсчёте ссылок;
- выделение памяти перевели на PyMem_RawMalloc и PyMem_RawFree.
Теперь независимые операции можно масштабировать обычными потоками:
from concurrent.futures import ThreadPoolExecutor
import numpy as np
arrays = [
np.random.rand(5_000_000)
for _ in range(8)
]
with ThreadPoolExecutor(max_workers=8) as pool:
results = list(pool.map(np.sin, arrays))
Главное преимущество перед multiprocessing - массивы не нужно сериализовать и копировать между процессами.
Потоки работают в одном адресном пространстве, поэтому могут эффективнее использовать многоядерный CPU и общую память.
Но есть важная оговорка:
free-threaded не означает автоматически thread-safe.
Одновременное изменение одного ndarray из нескольких потоков всё ещё может привести к гонкам, повреждённым данным и падению интерпретатора.
Безопаснее использовать:
- отдельный массив для каждого worker;
- общий массив только для чтения;
- явную синхронизацию при записи.
Удалить GIL оказалось недостаточно. Чтобы Python действительно масштабировался по ядрам, пришлось перепроектировать и внутренности NumPy.
Подробнее:
https://labs.quansight.org/blog/scaling-numpy-on-free-threaded-pythonos.system() или низкоуровневый Popen. Достаточно subprocess.run() - он запускает программу, передаёт аргументы, возвращает код завершения и позволяет получить вывод.
import subprocess
result = subprocess.run(
["git", "status", "--short"],
capture_output=True,
text=True,
check=True,
timeout=10,
)
print(result.stdout)
Что здесь происходит:
- capture_output=True сохраняет stdout и stderr
- text=True возвращает строки вместо bytes
- check=True выбрасывает CalledProcessError, если команда завершилась с ошибкой
- timeout=10 не позволяет процессу зависнуть навсегда
Ошибки лучше обрабатывать явно:
import subprocess
try:
result = subprocess.run(
["git", "status", "--short"],
capture_output=True,
text=True,
check=True,
timeout=10,
)
except subprocess.TimeoutExpired:
print("Команда выполнялась слишком долго")
except subprocess.CalledProcessError as error:
print(error.stderr)
else:
print(result.stdout)
Передавайте команду списком аргументов. shell=True нужен редко и может создать уязвимость к внедрению команд, особенно если строка содержит пользовательские данные.
subprocess.run() - простой и надёжный мост между Python и системными утилитами, Git, компиляторами, CLI-инструментами и другими программами.
Подробнее:
https://pythonmorsels.com/running-subprocesses-in-python/