14 августа (уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
📰 Python без GIL: новая эра многопоточности
Недавно в Python 3.13 появилась экспериментальная возможность отключить Global Interpreter Lock — механизм, который десятилетиями ограничивал настоящую многопоточность в Python. Теперь можно сравнить производительность обычной и свободнопоточной версий интерпретатора.
Тесты с CPU-интенсивными задачами показывают ускорение в 3-4 раза при использовании 4 потоков в версии без GIL. Однако за это приходится платить: усложняется сборка мусора, требуется новая система управления памятью, а некоторые объекты становятся просто бессмертными.
Пока free-threaded Python остаётся опциональным, но в будущих версиях, начиная с 3.14, он может стать стандартом. Главный вопрос — насколько быстро сообщество и библиотеки адаптируются к этим изменениям.
🔗 Ссылка - *клик*
@pythonl
Недавно в Python 3.13 появилась экспериментальная возможность отключить Global Interpreter Lock — механизм, который десятилетиями ограничивал настоящую многопоточность в Python. Теперь можно сравнить производительность обычной и свободнопоточной версий интерпретатора.
Тесты с CPU-интенсивными задачами показывают ускорение в 3-4 раза при использовании 4 потоков в версии без GIL. Однако за это приходится платить: усложняется сборка мусора, требуется новая система управления памятью, а некоторые объекты становятся просто бессмертными.
Пока free-threaded Python остаётся опциональным, но в будущих версиях, начиная с 3.14, он может стать стандартом. Главный вопрос — насколько быстро сообщество и библиотеки адаптируются к этим изменениям.
🔗 Ссылка - *клик*
@pythonl
❤20👍8🔥4😁1🤩1
SafeWave_10 — десять лет бороздим океан карьеры
Если ты студент и держишь курс на развитие в IT, то 26 августа у тебя есть шанс поймать попутный ветер и попасть на празднование юбилея SafeBoard — программы IT-стажировок от «Лаборатории Касперского».
На одной волне летнего open air окажутся студенты, выпускники программы SafeBoard и эксперты ЛК
Когда: 26 августа 2025
Где: Офис Kaspersky, Москва, Ленинградское шоссе, 39А, стр. 3 + онлайн трансляция
Что в программе:
• Реальные истории от бывших стажеров, ставших экспертами (спойлер — один из них стал СТО)
• Интерактивная лекция о том, как разные типы людей двигают команду к большому успеху
• Музыкальное импров-шоу, розыгрыш мерча, активити-точки и HR-зона для желающих попасть в нашу команду
• И куда же без нетворкинга с компанией единомышленников
Стажировка в Kaspersky — как экспедиция под наставничеством опытных капитанов, регистрируйся чтобы подготовиться к большому плаванию!
https://kas.pr/x7yw?erid=2W5zFK8k4mv
Реклама. АО «Лаборатория Касперского» ИНН 7713140469
Если ты студент и держишь курс на развитие в IT, то 26 августа у тебя есть шанс поймать попутный ветер и попасть на празднование юбилея SafeBoard — программы IT-стажировок от «Лаборатории Касперского».
На одной волне летнего open air окажутся студенты, выпускники программы SafeBoard и эксперты ЛК
Когда: 26 августа 2025
Где: Офис Kaspersky, Москва, Ленинградское шоссе, 39А, стр. 3 + онлайн трансляция
Что в программе:
• Реальные истории от бывших стажеров, ставших экспертами (спойлер — один из них стал СТО)
• Интерактивная лекция о том, как разные типы людей двигают команду к большому успеху
• Музыкальное импров-шоу, розыгрыш мерча, активити-точки и HR-зона для желающих попасть в нашу команду
• И куда же без нетворкинга с компанией единомышленников
Стажировка в Kaspersky — как экспедиция под наставничеством опытных капитанов, регистрируйся чтобы подготовиться к большому плаванию!
https://kas.pr/x7yw?erid=2W5zFK8k4mv
Реклама. АО «Лаборатория Касперского» ИНН 7713140469
❤2👍2
📸 Разработчик запустил свой код на сервере, имея лишь возможность изменения содержимого комментария в Python-скрипте
Участник соревнования UIUCTF 2025 обошёл ограничения задачи, где можно было изменять только содержимое комментария в Python-скрипте и подробно рассказал об этом. Вместо поиска уязвимостей в парсере, он использовал особенность интерпретатора — выполнение ZIP-архивов как Python-кода.
Секрет в структуре ZIP-файлов: Python ищет метаданные в конце архива, что позволило вставить архив в комментарий, сохранив валидность исходного скрипта. При запуске такого скрипта выполнялся код из main.py внутри архива.
🔗 Ссылка - *клик*
@pythonl
Участник соревнования UIUCTF 2025 обошёл ограничения задачи, где можно было изменять только содержимое комментария в Python-скрипте и подробно рассказал об этом. Вместо поиска уязвимостей в парсере, он использовал особенность интерпретатора — выполнение ZIP-архивов как Python-кода.
Секрет в структуре ZIP-файлов: Python ищет метаданные в конце архива, что позволило вставить архив в комментарий, сохранив валидность исходного скрипта. При запуске такого скрипта выполнялся код из main.py внутри архива.
🔗 Ссылка - *клик*
@pythonl
❤17👍9🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 УСКОРЕНИЕ КОДА ЗА СЧЁТ ЛОКАЛЬНЫХ ПЕРЕМЕННЫХ
💡 Используй локальные переменные внутри циклов — это может ускорить выполнение на 20–30%, особенно в критичных по времени участках.
Почему это работает?
В Python доступ к локальной переменной быстрее, чем к глобальной или объектной, потому что локальные хранятся в массиве, а не в словаре.
Пример:
# Прирост в скорости особенно заметен при больших объёмах данных```
💡 Используй локальные переменные внутри циклов — это может ускорить выполнение на 20–30%, особенно в критичных по времени участках.
Почему это работает?
В Python доступ к локальной переменной быстрее, чем к глобальной или объектной, потому что локальные хранятся в массиве, а не в словаре.
Пример:
# Медленно: обращение к свойствам объекта в цикле
class Processor:
def __init__(self, data):
self.data = data
def compute(self):
total = 0
for item in self.data:
total += item * item
return total
# Быстрее: кэшируем ссылку на data как локальную переменную
class Processor:
def __init__(self, data):
self.data = data
def compute(self):
data = self.data # локальная переменная
total = 0
for item in data:
total += item * item
return total
# Прирост в скорости особенно заметен при больших объёмах данных```
👍16❤6🔥5