Олег Шелест - профессионал по информационной безопасности, раскрывает скрытые механики Linux, с помощью наглядных картинок и коротких, максимально понятных разборов у себя в тг канале.
- Без воды.
- Без лишней теории.
Только практические приёмы, которые реально используют профи.
Если хочешь уверенно владеть Bash - здесь ты получишь всё, что нужно: t.me/bashmastter
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤3👍1
Forwarded from DevOps Docker
В основе - python:3.11-slim, установка только нужных пакетов, удаление apt-кэша, отдельный системный пользователь без root-прав, изоляция рабочего каталога и установка зависимостей под ненадёжным пользователем.
Такой контейнер легче, безопаснее и запускается быстрее.
Отличная база для продакшена.
Переход на non-root пользователя резко снижает возможный ущерб, ограничивает доступ к файлам и заставляет держать порядок с правами и владением.
Docker - все о Docker и Devops
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍6❤4😱1🤩1
🎤 Быстрый текст-в-речь с Supertonic
Supertonic — это высокопроизводительная система текст-в-речь, работающая на вашем устройстве. Она обеспечивает молниеносное создание речи с минимальными затратами ресурсов и полным соблюдением конфиденциальности. Никаких облачных решений — всё происходит локально.
🚀Основные моменты:
- ⚡ Генерация речи до 167× быстрее реального времени
- 🪶 Легковесная архитектура с 66M параметрами
- 📱 Полная обработка на устройстве без задержек
- 🎨 Обработка сложных текстов без предварительной подготовки
- ⚙️ Гибкая настройка параметров и развертывания
📌 GitHub: https://github.com/supertone-inc/supertonic
#python
Supertonic — это высокопроизводительная система текст-в-речь, работающая на вашем устройстве. Она обеспечивает молниеносное создание речи с минимальными затратами ресурсов и полным соблюдением конфиденциальности. Никаких облачных решений — всё происходит локально.
🚀Основные моменты:
- ⚡ Генерация речи до 167× быстрее реального времени
- 🪶 Легковесная архитектура с 66M параметрами
- 📱 Полная обработка на устройстве без задержек
- 🎨 Обработка сложных текстов без предварительной подготовки
- ⚙️ Гибкая настройка параметров и развертывания
📌 GitHub: https://github.com/supertone-inc/supertonic
#python
❤8🔥6👍3
🧩 Python Keylogger: Educational Tool for Data Capture
Этот репозиторий представляет собой простой кейлоггер на Python с использованием библиотеки Pynput. Он демонстрирует, как собирать данные и отправлять их на сервер, предназначен исключительно для образовательных целей и осведомленности о безопасности.
🚀Основные моменты:
- Легкий в использовании кейлоггер на Python.
- Использует библиотеку Pynput для захвата нажатий клавиш.
- Предназначен для образовательных целей, не для злоупотреблений.
- Возможность отправки данных на сервер.
- Пример реализации, который можно улучшить.
📌 GitHub: https://github.com/ahoaparadox8/python-keylogger
Этот репозиторий представляет собой простой кейлоггер на Python с использованием библиотеки Pynput. Он демонстрирует, как собирать данные и отправлять их на сервер, предназначен исключительно для образовательных целей и осведомленности о безопасности.
🚀Основные моменты:
- Легкий в использовании кейлоггер на Python.
- Использует библиотеку Pynput для захвата нажатий клавиш.
- Предназначен для образовательных целей, не для злоупотреблений.
- Возможность отправки данных на сервер.
- Пример реализации, который можно улучшить.
📌 GitHub: https://github.com/ahoaparadox8/python-keylogger
🔥7👍4❤3
Что улучшили:
• Модель обучили на реальных сессиях редактирования, а не только на итоговом коде
• Задержка стала ниже - подсказки появляются почти мгновенно
• Предложения стали точнее и полезнее: фиксы, рефакторинг, дополнения, улучшение структуры
Как обучали:
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤8🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
✖ НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ LAMBDA В ЦИКЛЕ И ОЖИДАТЬ ЧТО ОНА "ЗАПОМНИТ" ПЕРЕМЕННУЮ.
Из-за этого все лямбды, созданные в цикле, будут ссылаться на одно и то же последнее значение.
Код выглядит нормальным, а ведёт себя странно — это классическая проблема замыканий в Python.
Правильно — фиксировать значение через аргумент по умолчанию или выносить в обычную функцию.
Подписывайся, больше фишек каждый день !
Из-за этого все лямбды, созданные в цикле, будут ссылаться на одно и то же последнее значение.
Код выглядит нормальным, а ведёт себя странно — это классическая проблема замыканий в 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]
❤18👍6🔥6
🔒🤖 IoTHackBot: Инструменты для тестирования безопасности IoT
IoTHackBot — это набор инструментов для тестирования безопасности IoT-устройств, включая IP-камеры и встроенные системы. Он предлагает как командные инструменты, так и AI-ассистированные рабочие процессы для автоматизированного обнаружения уязвимостей.
🚀Основные моменты:
- Сканирование устройств с помощью wsdiscovery и onvifscan
- Анализ сетевого трафика с iotnet
- Продвинутое извлечение файлов из прошивок с ffind
- Взаимодействие с консолью через picocom и telnetshell
- Поддержка автоматизации и интеграции инструментов
📌 GitHub: https://github.com/BrownFineSecurity/iothackbot
@pythonl
IoTHackBot — это набор инструментов для тестирования безопасности IoT-устройств, включая IP-камеры и встроенные системы. Он предлагает как командные инструменты, так и AI-ассистированные рабочие процессы для автоматизированного обнаружения уязвимостей.
🚀Основные моменты:
- Сканирование устройств с помощью wsdiscovery и onvifscan
- Анализ сетевого трафика с iotnet
- Продвинутое извлечение файлов из прошивок с ffind
- Взаимодействие с консолью через picocom и telnetshell
- Поддержка автоматизации и интеграции инструментов
📌 GitHub: https://github.com/BrownFineSecurity/iothackbot
@pythonl
❤7👍5🔥5
В канале «Код Желтый» стартует новогодний адвент для разработчиков
С 9 по 18 декабря будут публиковать ИТ-задачи. Самые быстрые участники, верно решившие их, получат подарки. А те, кто пройдет весь адвент без ошибок, попадут в финальный розыгрыш специального приза.
Задания будут появляться прямо в канале, но это не единственная причина заглянуть туда. Код Желтый регулярно публикует:
— инженерные кейсы и внутрянку Т;
— кейсы, подкасты и исследования;
— анонсы ИТ-мероприятий.
Подписаться можно тут!
Erid: 2RanynydJka
С 9 по 18 декабря будут публиковать ИТ-задачи. Самые быстрые участники, верно решившие их, получат подарки. А те, кто пройдет весь адвент без ошибок, попадут в финальный розыгрыш специального приза.
Задания будут появляться прямо в канале, но это не единственная причина заглянуть туда. Код Желтый регулярно публикует:
— инженерные кейсы и внутрянку Т;
— кейсы, подкасты и исследования;
— анонсы ИТ-мероприятий.
Подписаться можно тут!
Erid: 2RanynydJka
❤6👍2🤩2
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️КАК СДЕЛАТЬ EXE ИЗ PYTHON САМЫМ ПРОСТЫМ СПОСОБОМ
Самый удобный способ собрать exe из Python это использовать PyInstaller. Он создаёт полноценный исполняемый файл который запускается без установленного Python. Работает на Windows, не требует сложной настройки и подходит для любых скриптов.
@pythonl
Самый удобный способ собрать exe из Python это использовать PyInstaller. Он создаёт полноценный исполняемый файл который запускается без установленного Python. Работает на Windows, не требует сложной настройки и подходит для любых скриптов.
# Установка PyInstaller
pip install pyinstaller
# Создание exe (один файл)
pyinstaller --onefile your_noscript.py
# Готовый exe будет в папке dist
# Пример запуска
dist\your_noscript.exe
@pythonl
❤20👍9🔥6😁1
🤖 Автономный AI-исследователь для научных экспериментов
Этот проект представляет собой автономного AI-исследователя, который разбивает исследовательскую задачу на эксперименты и запускает специализированные агенты с доступом к GPU для их выполнения. Результаты собираются и оформляются в виде научной статьи.
🚀 Основные моменты:
- Декомпозиция задач на эксперименты с распределением по агентам.
- Агенты запускают GPU-песочницы для обучения и оценки моделей.
- Окончательные результаты формируются в виде связного отчета.
📌 GitHub: https://github.com/mshumer/autonomous-researcher
#python
Этот проект представляет собой автономного AI-исследователя, который разбивает исследовательскую задачу на эксперименты и запускает специализированные агенты с доступом к GPU для их выполнения. Результаты собираются и оформляются в виде научной статьи.
🚀 Основные моменты:
- Декомпозиция задач на эксперименты с распределением по агентам.
- Агенты запускают GPU-песочницы для обучения и оценки моделей.
- Окончательные результаты формируются в виде связного отчета.
📌 GitHub: https://github.com/mshumer/autonomous-researcher
#python
GitHub
GitHub - mshumer/autonomous-researcher
Contribute to mshumer/autonomous-researcher development by creating an account on GitHub.
👍11❤6🔥5😁1😱1
This media is not supported in your browser
VIEW IN TELEGRAM
Чаще всего проблема не в самом 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
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍10🔥3🤩1
🔥 На stepik вышел курс, который учит Создавать настоящие AI-сервисы, а не просто запускать скрипты?
Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.
Ты пройдёшь путь от первого HTTP-запроса до рабочего сервиса, который сам генерирует текст через ИИ, сохраняет данные, отправляет результаты по расписанию и отвечает пользователям.
Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.
🎁 48 часов действует скидка в 40% процентов
👉 Начать учиться на Stepik
Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.
Ты пройдёшь путь от первого HTTP-запроса до рабочего сервиса, который сам генерирует текст через ИИ, сохраняет данные, отправляет результаты по расписанию и отвечает пользователям.
Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.
🎁 48 часов действует скидка в 40% процентов
👉 Начать учиться на Stepik
❤7👍3🔥3😁2😢1
Разработка крупного Python-проекта требует продуманной архитектуры. Правильная структура кода упрощает развитие, тестирование и поддержку приложения.
В этой статье мы рассмотрим ключевые принципы архитектурной организации для разных типов проектов - веб-приложений, библиотек, микросервисов и систем обработки данных.
Обсудим разделение системы на слои (domain, service, infrastructure), использование популярных шаблонов проектирования (Dependency Injection, Repository, Facade), организацию кода по модулям и пакетам, примеры структуры каталогов, работу с зависимостями и конфигурацией (Pydantic, dotenv), логгирование и мониторинг, обеспечение тестируемости, поддержку расширяемости и модульности.
Также приведем примеры кода и структуры каталогов, а в конце – общие советы и распространенные ошибки, которых следует избегать.
https://uproger.com/kak-organizovat-arhitekturu-bolshogo-python-proekta/
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥3
9 декабря(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
🐍⚙️ Продвинутый Python + Docker совет для production:
Используй multi-stage builds + wheels cache - это радикально уменьшает размер образа и ускоряет сборки.
В первом этапе собираешь wheels (компилируемые пакеты), а во втором — устанавливаешь их уже в чистый runtime-слой:
🔥 Плюс:
— быстрый rebuild
— детерминированные зависимости
— значительно меньше образ
Этот трюк мало кто использует, но он делает Docker-окружение Python уровня enterprise.
@pythonl
Используй multi-stage builds + wheels cache - это радикально уменьшает размер образа и ускоряет сборки.
В первом этапе собираешь wheels (компилируемые пакеты), а во втором — устанавливаешь их уже в чистый runtime-слой:
FROM python:3.12 AS builder
RUN pip install --upgrade pip
COPY requirements.txt .
RUN pip wheel --wheel-dir /wheels -r requirements.txt
FROM python:3.12-slim
COPY --from=builder /wheels /wheels
RUN pip install --no-index --find-links=/wheels -r /wheels/requirements.txt
COPY app/ /app
🔥 Плюс:
— быстрый rebuild
— детерминированные зависимости
— значительно меньше образ
Этот трюк мало кто использует, но он делает Docker-окружение Python уровня enterprise.
@pythonl
🔥9❤3👍2
