Разъяснивший Python
Ir al canal en Telegram
Твой проводник в омут Python'а Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/python_pssss
Mostrar más7 017
Suscriptores
Sin datos24 horas
-167 días
-7430 días
Archivo de publicaciones
7 017
Выявление проблем в log-файлах с помощью аналитики
Log-файлы систематически записывают хронологию событий, происходящих в системе. Это может быть что угодно: от записи о запуске программы до детальной информации об ошибках и предупреждениях. Для нас log-файлы — это не просто дневники событий, а очень хороший инструмент для диагностики и устранения проблем.
Читать...
Разъяснивший Python
7 017
JIT-компилятор Python в 300 строк
В области JIT-компиляции промышленным решением является проект Numba, спонсируемый такими технологическими гигантами как Intel, AMD и NVIDIA. Именно с этим пакетом автор и решил посоревноваться, написав миниатюрный JIT-компилятор программ на Питоне.
В этой статье автор расскажет, с какими трудностями он, как программист достаточно прикладной, столкнулся при разработке такой довольно низкоуровневой вещи, как миниатюрный JIT-компилятор.
Читать...
Разъяснивший Python
7 017
Python без типов: таким он когда-то был
Существует фундаментальный и глубокий конфликт между формообразующей философией Python и концепцией типизации. Причём, этот конфликт не нов.
Читать...
Разъяснивший Python
7 017
Нейросети уже заменяют носителей языка.
В Telegram быстро набирает популярность ИИ-девушка Chatty, с которой можно голосом практиковать живой разговорный английский и ещё 12 языков на основе новейших моделей искусственного интеллекта. Попробовать можно бесплатно.
🇬🇧 Английский: @ChattyTutorBot
🇩🇪 Немецкий: @ChattyGermanBot
🇪🇸 Испанский: @ChattySpanishBot
🇫🇷 Французский: @ChattyFrenchBot
🇮🇹 Итальянский: @ChattyItalianBot
🇵🇹 Португальский: @ChattyPortugueseBot
🇨🇳 Китайский: @ChattyChineseBot
🇯🇵 Японский: @ChattyJapaneseBot
🇰🇷 Корейский: @ChattyKoreanBot
🇸🇦 Арабский: @ChattyArabicBot
🇹🇷 Турецкий: @ChattyTurkishBot
🇷🇺 Русский: @ChattyRussianBot
🇵🇱 Польский: @ChattyPolandBot
7 017
Конвертируем PDF в TXT
Продолжаем делиться циклом видеоматериалов, посвященный работе с текстовыми документами. В этот раз автор наглядно демонстрирует конвертацию PDF-файла в TXT-файл.
Смотреть...
Разъяснивший Python
7 017
Погрузитесь в ИТ за 5 дней и получите доступ к высокооплачиваемым вакансиям!
Бесплатный короткий курс для тех, кто хочет не просто понять, чем занимаются айтишники, но и получить реальный опыт работы с ИТ‑системами.
Всего за 5 дней вы освоите ключевые компоненты ИТ‑сферы, разберёте 6 профессий и получите возможность выйти на зарплату 150–250 тыс.
Курс полностью практический. 8 мини‑проектов с реальными задачами, где вы научитесь: писать код, работать с инфраструктурой, разбираться в сетях, облаке и защите данных.
Подойдёт новичкам и тем, кто уже в ИТ. Количество мест ограничено — регистрируйтесь по ссылке и начинайте практику.
Реклама. Информация о рекламодателе по ссылкам в посте.
7 017
GIL в threading — это боль, которую многие просто принимают как данность
До Python 3.13 альтернатив не было:
multiprocessing с оверхедом и морокой передачи данных, или asyncio, бесполезный при CPU-bound задачах. Реальные кейсы — обработка данных, парсинг, криптография — где threading кажется логичным, но GIL заставляет ядра простаивать, а однопоточный код обгоняет многопоточный.
Кейс из продакшна: пул потоков без прироста
Я написал пул потоков для обработки пакетов данных: каждый поток выполнял CPU-bound трансформацию. GIL не отпускался, прирост 0%. Переписал на multiprocessing — 3x, но память выросла в 4 раза. Типичная ошибка: думать, что threading даст параллелизм для чистых вычислений.
Free-threaded Python 3.13: сборка без GIL
В 3.13 появился флаг --disable-gil. Потоки наконец работают параллельно. На четырех ядрах прирост по CPU-bound задачам — 3-4x. Пример теста:
# threading с GIL (стандартная сборка)
import threading, time
def work():
for _ in range(10**7):
x = 1 + 1
threads = [threading.Thread(target=work) for _ in range(4)]
start = time.time()
for t in threads: t.start()
for t in threads: t.join()
print(f"С GIL: {time.time() - start:.2f}s")
# Вывод: ~2.5s (почти как последовательно)
# free-threaded (сборка без GIL) # Тот же код — результат ~0.8s (на 4 ядрах)Разъяснивший Python
7 017
Пишем свой HEX-редактор
Делимся подробным гайдом по созданию собственного HEX-редактора. Ты не только напишешь редактор, но и разберешься во всех внутренностях проекта: от битового представления до цветовой подсветки.
Читать...
Разъяснивший Python
7 017
Декораторы классов
В этом примере мы определяем декоратор add_hello, который добавляет вывод "Hello!" перед вызовом метода greet в классе MyClass. Мы применяем декоратор к методу greet с помощью @add_hello, и теперь при вызове obj.greet(), помимо обычного приветствия, будет также выведено "Hello!".
Разъяснивший Python
7 017
Конвертируем данные и файлы в PDF
Делимся новым циклом видеоматериалов, посвященный работе с текстовыми документами. В первой части автор рассказывает, как конвертируются данные и файлы в PDF с помощью Python.
Смотреть...
Разъяснивший Python
7 017
Когда типизация делает больно: как у нас появился статический анализатор
Язык программирования Python в силу своей динамичности может легко создать ситуацию, когда статический анализатор не может вывести типы и, как следствие, часть проверок отключается. В этой статье автор подробно расскажет о проблеме в разработке системы управления выделенными серверами.
Читать...
Разъяснивший Python
7 017
Работаем с итерируерыми объектами
Все мы начинали писать на Python примерно одинаково: создавали пустой список, запускали цикл for, проверяли условие через if и делали .append(). Это надежно, предсказуемо, но по мере роста кодовой базы такие конструкции начинают утомлять. В этой статье автор подробно разбирает встроенный инструментарий для работы с итерируемыми объектами.
Читать...
Разъяснивший Python
7 017
Вывод строки по отдельным символам
Иногда при работе со строками нам нужны отдельные буквы. В таких случаях мы можем использовать цикл for для перебора символов и их печати.
Разъяснивший Python
7 017
Метод опорных векторов (SVM): подходы, принцип работы и реализация с нуля на Python
Метод опорных векторов — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В этой статье автор рассмотрит основные подходы к созданию SVM, принцип работы, а также реализацию с нуля его наиболее популярных разновидностей.
Читать...
Разъяснивший Python
7 017
Repost from Находки Программиста
📣 Подушка ортопедическая для сидения на стул с эффектом памяти
Цена: ~1000 руб. (без скидки 4900 руб.)
Доставка: бесплатная
🖱 Заказать
Ортопедическая подушка La fete является отличным средством улучшения качества жизни. Она изготовлена из плотного материала пенополиуретан с эффектом памяти.
Подушка поддерживает правильную позицию тела и уменьшает нагрузку на суставы.
#подушка #кресло
Больше полезных товаров в Находки Программиста
7 017
Backpressure в async Python-сервисах: как bounded queues, лимиты конкуренции и таймауты останавливают cascading failure
Это не микрооптимизация, а механизм выживания backend-сервиса под нагрузкой. В production проблема часто появляется на медленном downstream: таски плодятся, память растет, клиенты ретраят, и падает уже цепочка сервисов.
Очередь не должна быть бесконечной
asyncio.Queue() без maxsize часто превращает память процесса в скрытый буфер аварии. Делайте очередь bounded и решайте, что делать при переполнении: ждать, вернуть 429/503 или отбросить низкоприоритетную работу.
Лимитируйте конкуренцию
Async не означает “можно запустить 100k запросов к API или базе”.
queue = asyncio.Queue(maxsize=1000)
limit = asyncio.Semaphore(50)
async def submit(item):
try:
queue.put_nowait(item)
except asyncio.QueueFull:
raise Overloaded()
async def worker():
while True:
item = await queue.get()
try:
async with limit:
await asyncio.wait_for(7 017
Объяснение:
copy.copy делает поверхностную копию. Вложенные списки остаются теми же объектами. В результате будет [[1, 2, 99], [3, 4]]
Разъяснивший Python
7 017
Курс по FastAPI на Python для начинающих
В этом видео автор делает полный разбор фреймворка FastAPI на языке Python с первых строчек до деплоя на реальный сервер.
Смотреть...
Разъяснивший Python
7 017
Метод remove() - помощь в удаление элемента из списка
Списк состоит из строк и целых чисел. Есть повторяющиеся элементы: строка «Mars» и число 12. Задаём отрезок и с помощью метода remove чистим список.
Разъяснивший Python
7 017
Нейросети уже заменяют целые контент-команды. Но пока этим пользуются не все.
Пока одни тратят недели на дизайнеров, копирайтеров и съемки — другие делают продающий контент через нейросети за пару часов. А бизнес платит за это десятки тысяч, даже без опыта.
Сегодня с ИИ за вечер можно сделать:
— стильные рекламные визуалы
— продающие тексты
— персонажей и маскотов
— контент для соцсетей и карточек товаров
Освоить базовый навык можно за 3 для без сложных программ. На бесплатном мини-курсе вам покажут, как работать с ИИ так, чтобы получать качественный контент, который можно использовать для себя или продавать клиентам.
👉 Пока многие только смотрят ИИ-контент — вы можете начать его создавать. Переходите по ссылке и забирайте бесплатный доступ.
Реклама. Информация о рекламодателе по ссылкам в посте.
