🖥 GitHub обновил Copilot - функция Next Edit Suggestions теперь понимает твои правки по шагам и предлагает логичные следующие изменения.
Что улучшили:
• Модель обучили на реальных сессиях редактирования, а не только на итоговом коде
• Задержка стала ниже - подсказки появляются почти мгновенно
• Предложения стали точнее и полезнее: фиксы, рефакторинг, дополнения, улучшение структуры
Как обучали:
1) Данных из pull-requests оказалось мало, там нет промежуточных правок
2) GitHub собрал датасет настоящих редакторских сессий — шаг за шагом
3) После дообучения модель улучшили через RL - отдельная модель оценивает, насколько полезна подсказка
Зачем это нужно:
Copilot теперь работает не как автодополнение, а как помощник по редактированию, он видит, что ты меняешь, понимает контекст и предсказывает твой следующий шаг. Это ускоряет работу и снижает количество ручных действий.
https://github.blog/ai-and-ml/github-copilot/evolving-github-copilots-next-edit-suggestions-through-custom-model-training/
@python
@Python_Community_ru
Что улучшили:
• Модель обучили на реальных сессиях редактирования, а не только на итоговом коде
• Задержка стала ниже - подсказки появляются почти мгновенно
• Предложения стали точнее и полезнее: фиксы, рефакторинг, дополнения, улучшение структуры
Как обучали:
1) Данных из pull-requests оказалось мало, там нет промежуточных правок
2) GitHub собрал датасет настоящих редакторских сессий — шаг за шагом
3) После дообучения модель улучшили через RL - отдельная модель оценивает, насколько полезна подсказка
Зачем это нужно:
Copilot теперь работает не как автодополнение, а как помощник по редактированию, он видит, что ты меняешь, понимает контекст и предсказывает твой следующий шаг. Это ускоряет работу и снижает количество ручных действий.
https://github.blog/ai-and-ml/github-copilot/evolving-github-copilots-next-edit-suggestions-through-custom-model-training/
@python
@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
✖ НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ LAMBDA В ЦИКЛЕ И ОЖИДАТЬ ЧТО ОНА "ЗАПОМНИТ" ПЕРЕМЕННУЮ.
Из-за этого все лямбды, созданные в цикле, будут ссылаться на одно и то же последнее значение.
Код выглядит нормальным, а ведёт себя странно — это классическая проблема замыканий в Python.
Правильно — фиксировать значение через аргумент по умолчанию или выносить в обычную функцию.
Подписывайся, больше фишек каждый день !
# скрытая ошибка — lambda в цикле захватывает последнюю переменную
funcs = []
for i in range(5):
funcs.append(lambda: i) # кажется, что вернёт 0,1,2,3,4 — но нет
# все лямбды вернут одно и то же значение
print([f() for f in funcs]) # [4, 4, 4, 4, 4]
# правильный вариант
funcs_fixed = [lambda x=i: x for i in range(5)]
print([f() for f in funcs_fixed]) # [0, 1, 2, 3, 4]
@Python_Community_ru
Из-за этого все лямбды, созданные в цикле, будут ссылаться на одно и то же последнее значение.
Код выглядит нормальным, а ведёт себя странно — это классическая проблема замыканий в Python.
Правильно — фиксировать значение через аргумент по умолчанию или выносить в обычную функцию.
Подписывайся, больше фишек каждый день !
# скрытая ошибка — lambda в цикле захватывает последнюю переменную
funcs = []
for i in range(5):
funcs.append(lambda: i) # кажется, что вернёт 0,1,2,3,4 — но нет
# все лямбды вернут одно и то же значение
print([f() for f in funcs]) # [4, 4, 4, 4, 4]
# правильный вариант
funcs_fixed = [lambda x=i: x for i in range(5)]
print([f() for f in funcs_fixed]) # [0, 1, 2, 3, 4]
@Python_Community_ru
🔒🤖 IoTHackBot: Инструменты для тестирования безопасности IoT
IoTHackBot — это набор инструментов для тестирования безопасности IoT-устройств, включая IP-камеры и встроенные системы. Он предлагает как командные инструменты, так и AI-ассистированные рабочие процессы для автоматизированного обнаружения уязвимостей.
🚀Основные моменты:
- Сканирование устройств с помощью wsdiscovery и onvifscan
- Анализ сетевого трафика с iotnet
- Продвинутое извлечение файлов из прошивок с ffind
- Взаимодействие с консолью через picocom и telnetshell
- Поддержка автоматизации и интеграции инструментов
📌 GitHub: https://github.com/BrownFineSecurity/iothackbot
@Python_Community_ru
IoTHackBot — это набор инструментов для тестирования безопасности IoT-устройств, включая IP-камеры и встроенные системы. Он предлагает как командные инструменты, так и AI-ассистированные рабочие процессы для автоматизированного обнаружения уязвимостей.
🚀Основные моменты:
- Сканирование устройств с помощью wsdiscovery и onvifscan
- Анализ сетевого трафика с iotnet
- Продвинутое извлечение файлов из прошивок с ffind
- Взаимодействие с консолью через picocom и telnetshell
- Поддержка автоматизации и интеграции инструментов
📌 GitHub: https://github.com/BrownFineSecurity/iothackbot
@Python_Community_ru
В канале «Код Желтый» стартует новогодний адвент для разработчиков
С 9 по 18 декабря будут публиковать ИТ-задачи. Самые быстрые участники, верно решившие их, получат подарки. А те, кто пройдет весь адвент без ошибок, попадут в финальный розыгрыш специального приза.
Задания будут появляться прямо в канале, но это не единственная причина заглянуть туда. Код Желтый регулярно публикует:
— инженерные кейсы и внутрянку Т;
— кейсы, подкасты и исследования;
— анонсы ИТ-мероприятий.
Подписаться можно тут! (https://t.iss.one/+ma9nuur0HyE2Nzgy)
Erid: 2RanynydJka
@Python_Community_ru
С 9 по 18 декабря будут публиковать ИТ-задачи. Самые быстрые участники, верно решившие их, получат подарки. А те, кто пройдет весь адвент без ошибок, попадут в финальный розыгрыш специального приза.
Задания будут появляться прямо в канале, но это не единственная причина заглянуть туда. Код Желтый регулярно публикует:
— инженерные кейсы и внутрянку Т;
— кейсы, подкасты и исследования;
— анонсы ИТ-мероприятий.
Подписаться можно тут! (https://t.iss.one/+ma9nuur0HyE2Nzgy)
Erid: 2RanynydJka
@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️КАК СДЕЛАТЬ EXE ИЗ PYTHON САМЫМ ПРОСТЫМ СПОСОБОМ
Самый удобный способ собрать exe из Python это использовать PyInstaller. Он создаёт полноценный исполняемый файл который запускается без установленного Python. Работает на Windows, не требует сложной настройки и подходит для любых скриптов.
# Установка PyInstaller
pip install pyinstaller
# Создание exe (один файл)
pyinstaller --onefile your_script.py
# Готовый exe будет в папке dist
# Пример запуска
dist\your_script.exe
@Python_Community_ru
Самый удобный способ собрать exe из Python это использовать PyInstaller. Он создаёт полноценный исполняемый файл который запускается без установленного Python. Работает на Windows, не требует сложной настройки и подходит для любых скриптов.
# Установка PyInstaller
pip install pyinstaller
# Создание exe (один файл)
pyinstaller --onefile your_script.py
# Готовый exe будет в папке dist
# Пример запуска
dist\your_script.exe
@Python_Community_ru
🤖 Автономный AI-исследователь для научных экспериментов
Этот проект представляет собой автономного AI-исследователя, который разбивает исследовательскую задачу на эксперименты и запускает специализированные агенты с доступом к GPU для их выполнения. Результаты собираются и оформляются в виде научной статьи.
🚀 Основные моменты:
- Декомпозиция задач на эксперименты с распределением по агентам.
- Агенты запускают GPU-песочницы для обучения и оценки моделей.
- Окончательные результаты формируются в виде связного отчета.
📌 GitHub:
#python
@Python_Community_ru
https://github.com/mshumer/autonomous-researcher
Этот проект представляет собой автономного AI-исследователя, который разбивает исследовательскую задачу на эксперименты и запускает специализированные агенты с доступом к GPU для их выполнения. Результаты собираются и оформляются в виде научной статьи.
🚀 Основные моменты:
- Декомпозиция задач на эксперименты с распределением по агентам.
- Агенты запускают GPU-песочницы для обучения и оценки моделей.
- Окончательные результаты формируются в виде связного отчета.
📌 GitHub:
#python
@Python_Community_ru
https://github.com/mshumer/autonomous-researcher
GitHub
GitHub - mshumer/autonomous-researcher
Contribute to mshumer/autonomous-researcher development by creating an account on GitHub.
🔥1
🖥 Python: Почему твой asyncio-код тормозит и блокируется?
Чаще всего проблема не в самом asyncio, а в том, что внутри async-функций ты вызываешь блокирующий код. Например, time.sleep, requests.get, тяжёлые циклы с вычислениями или работа с диском без специальных обёрток. Такой вызов останавливает весь event loop, и остальные корутины тупо ждут.
Главное правило: внутри async-функций каждая долгая операция должна либо быть асинхронной (через await), либо вынесена в поток или процесс. Если в корутине нет нормальных await, она вообще не отдаёт управление циклу, и твой «асинхронный» код ведёт себя как обычный синхронный.
Используй:
- асинхронные библиотеки (aiohttp вместо requests и т.п.);
- asyncio.sleep вместо time.sleep;
- asyncio.to_thread или отдельный процесс для тяжёлых синхронных задач.
Как только уберёшь блокирующие вызовы из корутин, код перестанет «залипать» и начнёт реально работать параллельно по I/O.
import asyncio
import time
async def bad_task():
print("start bad")
time.sleep(2)
print("end bad")
async def good_task():
print("start good")
await asyncio.to_thread(time.sleep, 2)
print("end good")
async def main():
await asyncio.gather(bad_task(), good_task())
asyncio.run(main())
https://www.youtube.com/shorts/LZgy5YvQR4o
@Python_Community_ru
Чаще всего проблема не в самом asyncio, а в том, что внутри async-функций ты вызываешь блокирующий код. Например, time.sleep, requests.get, тяжёлые циклы с вычислениями или работа с диском без специальных обёрток. Такой вызов останавливает весь event loop, и остальные корутины тупо ждут.
Главное правило: внутри async-функций каждая долгая операция должна либо быть асинхронной (через await), либо вынесена в поток или процесс. Если в корутине нет нормальных await, она вообще не отдаёт управление циклу, и твой «асинхронный» код ведёт себя как обычный синхронный.
Используй:
- асинхронные библиотеки (aiohttp вместо requests и т.п.);
- asyncio.sleep вместо time.sleep;
- asyncio.to_thread или отдельный процесс для тяжёлых синхронных задач.
Как только уберёшь блокирующие вызовы из корутин, код перестанет «залипать» и начнёт реально работать параллельно по I/O.
import asyncio
import time
async def bad_task():
print("start bad")
time.sleep(2)
print("end bad")
async def good_task():
print("start good")
await asyncio.to_thread(time.sleep, 2)
print("end good")
async def main():
await asyncio.gather(bad_task(), good_task())
asyncio.run(main())
https://www.youtube.com/shorts/LZgy5YvQR4o
@Python_Community_ru
YouTube
🔥 Python: Почему твой asyncio-код тормозит и блокируется? #python #ai #питона #asyncio
Чаще всего проблема не в самом asyncio, а в том, что внутри async-функций ты вызываешь блокирующий код. Например, time.sleep, requests.get, тяжёлые циклы с в...
🔥2
🖥 Как организовать архитектуру большого Python-проекта?
Разработка крупного Python-проекта требует продуманной архитектуры. Правильная структура кода упрощает развитие, тестирование и поддержку приложения.
В этой статье мы рассмотрим ключевые принципы архитектурной организации для разных типов проектов - веб-приложений, библиотек, микросервисов и систем обработки данных.
Обсудим разделение системы на слои (domain, service, infrastructure), использование популярных шаблонов проектирования (Dependency Injection, Repository, Facade), организацию кода по модулям и пакетам, примеры структуры каталогов, работу с зависимостями и конфигурацией (Pydantic, dotenv), логгирование и мониторинг, обеспечение тестируемости, поддержку расширяемости и модульности.
Также приведем примеры кода и структуры каталогов, а в конце – общие советы и распространенные ошибки, которых следует избегать.
https://uproger.com/kak-organizovat-arhitekturu-bolshogo-python-proekta/
@Python_Community_ru
Разработка крупного Python-проекта требует продуманной архитектуры. Правильная структура кода упрощает развитие, тестирование и поддержку приложения.
В этой статье мы рассмотрим ключевые принципы архитектурной организации для разных типов проектов - веб-приложений, библиотек, микросервисов и систем обработки данных.
Обсудим разделение системы на слои (domain, service, infrastructure), использование популярных шаблонов проектирования (Dependency Injection, Repository, Facade), организацию кода по модулям и пакетам, примеры структуры каталогов, работу с зависимостями и конфигурацией (Pydantic, dotenv), логгирование и мониторинг, обеспечение тестируемости, поддержку расширяемости и модульности.
Также приведем примеры кода и структуры каталогов, а в конце – общие советы и распространенные ошибки, которых следует избегать.
https://uproger.com/kak-organizovat-arhitekturu-bolshogo-python-proekta/
@Python_Community_ru