«Я в режиме реального времени поясняла структуру запросов / ответов в Postman и разбирала документацию в Swagger», — пишет аналитик, который прошел наш курс, а потом два технических собеседования в международные компании. Приятно, конечно ❤️
Если в 2025 году вы хотите:
— научиться выбирать стиль интеграции под вашу задачу;
— начать проектировать с нуля и описывать интеграции в современных стилях (API: REST, SOAP, gRPC и других, + брокеры сообщений);
— узнать как правильно собирать требования и моделировать в UML;
— подготовиться к собеседованию, решив более 100 заданий;
— запустить свой API на Python.
Значит наш курс для вас!
🚀 Начните с открытых бесплатных
уроков — переходите в бот курса и жмите «Старт»
👇
@studyit_help_bot
🚀 Скидка на курс
от канала — 1 000₽ на Stepik по промокоду PYTHONL до конца мая.
Если в 2025 году вы хотите:
— научиться выбирать стиль интеграции под вашу задачу;
— начать проектировать с нуля и описывать интеграции в современных стилях (API: REST, SOAP, gRPC и других, + брокеры сообщений);
— узнать как правильно собирать требования и моделировать в UML;
— подготовиться к собеседованию, решив более 100 заданий;
— запустить свой API на Python.
Значит наш курс для вас!
🚀 Начните с открытых бесплатных
уроков — переходите в бот курса и жмите «Старт»
👇
@studyit_help_bot
🚀 Скидка на курс
от канала — 1 000₽ на Stepik по промокоду PYTHONL до конца мая.
🐍 Задача на Python: "Исчезающая цифра"
Условие:
У тебя есть список строк — чисел от 1 до 100, но одно из чисел случайно пропало.
Найди, какое число отсутствует. Нельзя использовать
Пример:
Напиши функцию:
📌 Подвох:
Нельзя просто сложить строки. Но можно использовать свойство XOR:
То есть: если мы сделаем XOR всех чисел от 1 до 100, а затем XOR всех чисел в переданном списке — результатом будет пропущенное число.
🧠 Решение:
```python
def find_missing_number(data: list[str]) -> int:
xor_full = 0
xor_data = 0
for i in range(1, 101):
xor_full ^= i
for val in data:
xor_data ^= int(val)
return xor_full ^ xor_data
```
✅ Пояснение:
- — XOR всех чисел от 1 до 100.
- — XOR всех чисел в текущем списке (`str` → `int`).
- Разность вернёт единственное отсутствующее число.
🎯 Пример использования:
```python
original = [str(i) for i in range(1, 101)]
original.remove("42")
random.shuffle(original)
print(find_missing_number(original)) # → 42
```
🔥 Эта задача хороша тем, что:
• содержит хитрый запрет на
• требует знания побитовых операций
• работает с типами (`str` vs `int`)
• подходит для собеседования уровня middle+
@pythonl
Условие:
У тебя есть список строк — чисел от 1 до 100, но одно из чисел случайно пропало.
Найди, какое число отсутствует. Нельзя использовать
sum()
, sorted()
, Counter
. Все числа в списке представлены как строки.Пример:
import random
original = [str(i) for i in range(1, 101)]
missing = random.choice(original)
shuffled = original.copy()
shuffled.remove(missing)
random.shuffle(shuffled)
Напиши функцию:
def find_missing_number(data: list[str]) -> int:
...
📌 Подвох:
Нельзя просто сложить строки. Но можно использовать свойство XOR:
a ^ a = 0
0 ^ b = b
То есть: если мы сделаем XOR всех чисел от 1 до 100, а затем XOR всех чисел в переданном списке — результатом будет пропущенное число.
🧠 Решение:
```python
def find_missing_number(data: list[str]) -> int:
xor_full = 0
xor_data = 0
for i in range(1, 101):
xor_full ^= i
for val in data:
xor_data ^= int(val)
return xor_full ^ xor_data
```
✅ Пояснение:
-
xor_full
-
xor_data
- Разность
xor_full ^ xor_data
🎯 Пример использования:
```python
original = [str(i) for i in range(1, 101)]
original.remove("42")
random.shuffle(original)
print(find_missing_number(original)) # → 42
```
🔥 Эта задача хороша тем, что:
• содержит хитрый запрет на
sum()
• требует знания побитовых операций
• работает с типами (`str` vs `int`)
• подходит для собеседования уровня middle+
@pythonl
22 мая(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Собес проведет Вадим Пуштаев, ex. head of backend в
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqwFUCLU
Please open Telegram to view this post
VIEW IN TELEGRAM
На GitHub и в preprint на arXiv появилась новая работа от исследователей из Berkeley — PyRoki (Python Robot Kinematics Toolkit). Это мощный, гибкий и кроссплатформенный инструмент на Python для задач оптимизации в робототехнике.
🔧 Что такое PyRoki?
PyRoki — это:
- 📦 Модульная архитектура
Разделение переменных оптимизации и функций стоимости (costs) позволяет комбинировать задачи IK, планирования траектории, ретаргетинга и многое другое — без повторения кода.
- ⚙️ Дифференцируемая кинематика
Поддержка URDF-моделей, автоматическое создание collision-примитивов (например, капсул), работа с NumPy и JAX.
- 🚀 Поддержка CPU, GPU и TPU
Высокая производительность и масштабируемость на любых вычислительных устройствах.
- 🧠 Оптимизация на многообразиях (Lie-группы)
Встроенный алгоритм Levenberg–Marquardt даёт устойчивую и быструю сходимость даже для сложных конфигураций.
📊 Результаты
- Быстрее cuRobo на 1.4–1.7x при решении задач IK в батче.
- Более точные результаты при меньших вычислительных затратах.
- Интерактивный визуализатор (на базе `viser`) для отладки и анализа.
📁 Примеры использования
PyRoki включает в себя готовые сценарии:
- инверсная кинематика (IK)
- бимануальные манипуляции
- мобильные платформы
- ретаргетинг движений гуманоидов
- учёт столкновений
- online-планирование и управление
🚀 Установка
git clone https://github.com/chungmin99/pyroki.git
cd pyroki
pip install -e .
Требуется Python 3.12+ (частичная поддержка Python 3.10–3.11).
PyRoki — это:
- 📐 Удобный фреймворк для исследований в области робототехники.
- 🛠️ Подходит как для академических, так и для прикладных задач.
- 🌐 Гибкий и масштабируемый — от одного робота до больших motion-баз.
Если интересен пример интеграции с ROS, Gazebo или симуляцией цифрового двойника — дай знать, покажу!
🔗 Репозиторий
#Python #Robotics #Kinematics #InverseKinematics #MotionPlanning #OpenSource
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 AЭРОДИСК ищет Senior Python-разработчика для сложных и прокачивающих задач в разработке СХД!
Хочешь:
— Работать над репликацией, метрокластером и высоконагруженными системами?
— Глубоко погрузиться в Linux, сетевые протоколы и архитектуру ПО?
— Решать нетривиальные задачи, влияя на масштабные инфраструктурные решения?
— Прокачивать скилы в команде с крутыми инженерами и архитекторами?
📌 Нужно:
— Python (от 3 лет), Linux — экспертно
— Понимание сетей, репликации, системной архитектуры
— SQL/NoSQL, работа с техдокументацией на английском.
🧠 Прокачка:
— Живое общение, обучение за счёт компании, конференции
— Чёткий рост, внутренняя экспертиза, развитие в enterprise-инфраструктуре
💼 Офис в БЦ "Кругозор", соцпакет, гибкий график
👉 Подробнее и отклик
🔥 Скучно не будет — будет интересно и мощно.
Реклама. ООО "АЕРО ДИСК". ИНН 7731475010. erid: 2W5zFGsyf7E
Хочешь:
— Работать над репликацией, метрокластером и высоконагруженными системами?
— Глубоко погрузиться в Linux, сетевые протоколы и архитектуру ПО?
— Решать нетривиальные задачи, влияя на масштабные инфраструктурные решения?
— Прокачивать скилы в команде с крутыми инженерами и архитекторами?
📌 Нужно:
— Python (от 3 лет), Linux — экспертно
— Понимание сетей, репликации, системной архитектуры
— SQL/NoSQL, работа с техдокументацией на английском.
🧠 Прокачка:
— Живое общение, обучение за счёт компании, конференции
— Чёткий рост, внутренняя экспертиза, развитие в enterprise-инфраструктуре
💼 Офис в БЦ "Кругозор", соцпакет, гибкий график
👉 Подробнее и отклик
🔥 Скучно не будет — будет интересно и мощно.
Реклама. ООО "АЕРО ДИСК". ИНН 7731475010. erid: 2W5zFGsyf7E
🐍 Задача с подвохом: mutable default arguments в Python
🔹 Уровень: Advanced
🔹 Темы: изменяемые аргументы по умолчанию, функции, ловушки с
📌 Условие
Что выведет следующий код?
❓ Вопросы
1. Почему результат выглядит неожиданно?
2. Как исправить это поведение?
3. Когда стоит использовать изменяемые аргументы по умолчанию — если вообще стоит?
🔍 Разбор
✅ Ожидаемый вывод:
🔧 Почему так происходит
- Аргументы по умолчанию вычисляются один раз — во время определения функции, а не при каждом вызове.
- Значение
- Все вызовы
⚠️ Подвох
Это один из самых коварных багов в Python, особенно среди начинающих — кажется, что
🧠 Вывод
- Никогда не используй изменяемые типы (list, dict, set) как значения по умолчанию.
- Вместо этого используй
✅ Тогда вывод будет:
📌 Это правило относится ко всем изменяемым типам:
🔹 Уровень: Advanced
🔹 Темы: изменяемые аргументы по умолчанию, функции, ловушки с
list
и dict
📌 Условие
Что выведет следующий код?
def append_to_list(value, my_list=[]):
my_list.append(value)
return my_list
print(append_to_list(1))
print(append_to_list(2))
print(append_to_list(3))
❓ Вопросы
1. Почему результат выглядит неожиданно?
2. Как исправить это поведение?
3. Когда стоит использовать изменяемые аргументы по умолчанию — если вообще стоит?
🔍 Разбор
✅ Ожидаемый вывод:
[1]
[1, 2]
[1, 2, 3]
🔧 Почему так происходит
- Аргументы по умолчанию вычисляются один раз — во время определения функции, а не при каждом вызове.
- Значение
my_list=[]
создаётся один раз и затем используется повторно при всех вызовах.- Все вызовы
append_to_list
изменяют один и тот же список.⚠️ Подвох
Это один из самых коварных багов в Python, особенно среди начинающих — кажется, что
my_list
должен быть новым на каждый вызов, но это не так.🧠 Вывод
- Никогда не используй изменяемые типы (list, dict, set) как значения по умолчанию.
- Вместо этого используй
None
и создавай новый объект вручную:
def append_to_list(value, my_list=None):
if my_list is None:
my_list = []
my_list.append(value)
return my_list
✅ Тогда вывод будет:
[1]
[2]
[3]
📌 Это правило относится ко всем изменяемым типам:
[]
, {}
, set()
и кастомные классы.Python уже покорен? А как насчет Django?
Один из ведущих провайдеров IT-инфраструктуры Selectel подготовил бесплатный мини-курс по Django. Программа начинается с создания и настройки простых проектов: блога и канбан-доски, а завершается подключением автоматических бэкапов.
Всего за час вы научитесь:
1️⃣ Работать с бэкендом и API
2️⃣ Создавать веб-приложение по шаблону от Django
3️⃣ Настраивать Nginx и Gunicorn
4️⃣ Автоматизировать резервное копирование
Переходите в Академию Selectel, чтобы начать изучение прямо сейчас
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqvQwmor
Один из ведущих провайдеров IT-инфраструктуры Selectel подготовил бесплатный мини-курс по Django. Программа начинается с создания и настройки простых проектов: блога и канбан-доски, а завершается подключением автоматических бэкапов.
Всего за час вы научитесь:
Переходите в Академию Selectel, чтобы начать изучение прямо сейчас
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqvQwmor
Please open Telegram to view this post
VIEW IN TELEGRAM
🛡 StarGuard — умный аудит GitHub-репозиториев прямо из консоли
Открытый проект — это мощный CLI-инструмент на Python, который автоматически анализирует open-source репозитории и помогает выявить:
🔸 фальшивые звёзды
🔸 всплески активности
🔸 опасные зависимости
🔸 лицензии с подвохом
🔸 подозрительный код и токсичных контрибьюторов
📊 Что делает StarGuard
✅ Обнаруживает аномалии звёзд
— Вычисляет резкие всплески популярности с помощью BurstDetector и медианного отклонения.
— Определяет подозрительных пользователей с «пустыми» профилями и новыми аккаунтами.
✅ Анализирует зависимости и SBOM
— Поддержка PyPI, npm, Maven, Go, Ruby
— Предупреждает об unpinned-пакетах и git-зависимостях
✅ Проверяет лицензии
— Выявляет несовместимости (например, AGPL внутри MIT)
— Предупреждает о скрытых ограничениях
✅ Оценивает контрибьюторов
— Проверяет концентрацию коммитов
— Определяет "одиночек", на которых держится проект
✅ Сканирует код на опасные паттерны
— Обнаруживает
🚀 Как использовать
🔹 Без GitHub-токена работает, но лимит — 60 запросов/час
🔹 С
🎯 Кому полезно
• DevOps-командам — для верификации OSS-зависимостей
• Безопасникам — для быстрой проверки на supply chain угрозы
• Инвесторам — чтобы не попасть на проекты с "накрученной" популярностью
• Open Source авторам — для прозрачности и Trust Badge
🔗 GitHub
💡 Инструмент, который показывает, что за красивыми графиками звёзд часто стоит маркетинг, а не код. Умей фильтровать — ставь охрану у репозитория.
@pythonl
Открытый проект — это мощный CLI-инструмент на Python, который автоматически анализирует open-source репозитории и помогает выявить:
🔸 фальшивые звёзды
🔸 всплески активности
🔸 опасные зависимости
🔸 лицензии с подвохом
🔸 подозрительный код и токсичных контрибьюторов
📊 Что делает StarGuard
✅ Обнаруживает аномалии звёзд
— Вычисляет резкие всплески популярности с помощью BurstDetector и медианного отклонения.
— Определяет подозрительных пользователей с «пустыми» профилями и новыми аккаунтами.
✅ Анализирует зависимости и SBOM
— Поддержка PyPI, npm, Maven, Go, Ruby
— Предупреждает об unpinned-пакетах и git-зависимостях
✅ Проверяет лицензии
— Выявляет несовместимости (например, AGPL внутри MIT)
— Предупреждает о скрытых ограничениях
✅ Оценивает контрибьюторов
— Проверяет концентрацию коммитов
— Определяет "одиночек", на которых держится проект
✅ Сканирует код на опасные паттерны
— Обнаруживает
eval
, скрытые майнеры, необфусцированные ключи🚀 Как использовать
python -m starguard.cli owner/repo --format markdown --plot stars.png
🔹 Без GitHub-токена работает, но лимит — 60 запросов/час
🔹 С
GITHUB_TOKEN
— до 5000 запросов🎯 Кому полезно
• DevOps-командам — для верификации OSS-зависимостей
• Безопасникам — для быстрой проверки на supply chain угрозы
• Инвесторам — чтобы не попасть на проекты с "накрученной" популярностью
• Open Source авторам — для прозрачности и Trust Badge
🔗 GitHub
💡 Инструмент, который показывает, что за красивыми графиками звёзд часто стоит маркетинг, а не код. Умей фильтровать — ставь охрану у репозитория.
@pythonl
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 DeerFlow — Open‑Source фреймворк для Deep Research от ByteDance
🌟 Что такое DeerFlow?
DeerFlow (Deep Exploration and Efficient Research Flow) — это модульный multi-agent фреймворк с открытым исходным кодом, созданный для автоматизации глубоких исследовательских процессов. Он сочетает работу с LLM, веб-поиск, краулинг и выполнение Python-кода :contentReference[oaicite:0]{index=0}.
🧱 Основные особенности
- Multi-agent архитектура
Координатор, Планировщик, Исследователь, Кодер, Репортер и даже голосовой модуль — каждый агент выполняет свою задачу в пайплайне исследования :contentReference[oaicite:1]{index=1}.
- Интеграция инструментов
Встроенный веб-поиск (Tavily, DuckDuckGo, Brave, arXiv), web scraping через Jina, Python REPL для исполнения кода, генерация отчетов и даже автоматизированные подкасты при помощи TTS :contentReference[oaicite:2]{index=2}.
- Human‑in‑the‑loop
Возможность ставить задачи и править планы вручную — обеспечивается контроль на каждом этапе :contentReference[oaicite:3]{index=3}.
- Генерация конечного контента
Полученные данные консолидируются в отчеты (Markdown, PPT), синтезируются в речь (подкасты), экспортируются — всё автономно.
⚙️ Github
@pythonl
🌟 Что такое DeerFlow?
DeerFlow (Deep Exploration and Efficient Research Flow) — это модульный multi-agent фреймворк с открытым исходным кодом, созданный для автоматизации глубоких исследовательских процессов. Он сочетает работу с LLM, веб-поиск, краулинг и выполнение Python-кода :contentReference[oaicite:0]{index=0}.
🧱 Основные особенности
- Multi-agent архитектура
Координатор, Планировщик, Исследователь, Кодер, Репортер и даже голосовой модуль — каждый агент выполняет свою задачу в пайплайне исследования :contentReference[oaicite:1]{index=1}.
- Интеграция инструментов
Встроенный веб-поиск (Tavily, DuckDuckGo, Brave, arXiv), web scraping через Jina, Python REPL для исполнения кода, генерация отчетов и даже автоматизированные подкасты при помощи TTS :contentReference[oaicite:2]{index=2}.
- Human‑in‑the‑loop
Возможность ставить задачи и править планы вручную — обеспечивается контроль на каждом этапе :contentReference[oaicite:3]{index=3}.
- Генерация конечного контента
Полученные данные консолидируются в отчеты (Markdown, PPT), синтезируются в речь (подкасты), экспортируются — всё автономно.
⚙️ Github
@pythonl
💥 Ищете возможности в Data Science и ML? На курсе «Специализация Machine Learning» мы научим вас не просто работать с данными, а использовать мощные алгоритмы для бизнес-прогнозирования.
Программа подходит как новичкам, так и профессионалам: от системных аналитиков до инженеров, которые хотят научиться ML с нуля. Мы дадим вам практические знания и опыт, используя актуальные инструменты.
На курсе вы освоите Python, библиотеки pandas, sklearn, глубокое обучение и анализ временных рядов. Пройдете обучение по самым современным фреймворкам и научитесь решать реальные задачи.
➡️ Записывайтесь в группу прямо сейчас: https://tglink.io/4246af263d73?erid=2W5zFGw41u2
Чтобы успеть воспользоваться 🏷15% скидкой на курс «Специализация Machine Learning» + 🎁 промокодом ML_5 и учиться весь год по ценам мая. Скидка на курс действует по 26.05 включительно!
#реклама
О рекламодателе
Программа подходит как новичкам, так и профессионалам: от системных аналитиков до инженеров, которые хотят научиться ML с нуля. Мы дадим вам практические знания и опыт, используя актуальные инструменты.
На курсе вы освоите Python, библиотеки pandas, sklearn, глубокое обучение и анализ временных рядов. Пройдете обучение по самым современным фреймворкам и научитесь решать реальные задачи.
➡️ Записывайтесь в группу прямо сейчас: https://tglink.io/4246af263d73?erid=2W5zFGw41u2
Чтобы успеть воспользоваться 🏷15% скидкой на курс «Специализация Machine Learning» + 🎁 промокодом ML_5 и учиться весь год по ценам мая. Скидка на курс действует по 26.05 включительно!
#реклама
О рекламодателе
🧪 Microsoft представляет Pyrona — экспериментальный проект для безопасной конкуренции в Python!
🔧 Разработан в рамках Project Verona, Pyrona исследует, как принципы владения и управления памятью (в духе Rust) можно адаптировать для динамического языка, такого как Python.
🌀 Что такое Pyrona?
• Прототип модифицированного Python без GIL (Global Interpreter Lock)
• Использует идеи из Verona и FrankenScript — toy-языка с проверками владения и безопасности
• Вводит динамическое региональное владение и глубокую неизменяемость объектов
🚀 Зачем это нужно?
С приближением PEP 703 (Python без GIL) возникает угроза гонок данных. Pyrona предлагает решение:
✅ Безопасная многопоточность
✅ Динамические гарантии корректности
✅ Поддержка привычной экосистемы Python
🔍 Детали:
• Поддерживает эксперименты с субинтерпретаторами (PEP 684)
• Публикация на PLDI 2025: *Dynamic Region Ownership for Concurrency Safety*
• Активное участие Гвидо ван Россума и команды Faster CPython
🧠 Pyrona — это не продакшен-язык, а платформа для будущего безопасного и многопоточного Python.
🔗 Подробнее
🔗 Github
@pythonl
🔧 Разработан в рамках Project Verona, Pyrona исследует, как принципы владения и управления памятью (в духе Rust) можно адаптировать для динамического языка, такого как Python.
🌀 Что такое Pyrona?
• Прототип модифицированного Python без GIL (Global Interpreter Lock)
• Использует идеи из Verona и FrankenScript — toy-языка с проверками владения и безопасности
• Вводит динамическое региональное владение и глубокую неизменяемость объектов
🚀 Зачем это нужно?
С приближением PEP 703 (Python без GIL) возникает угроза гонок данных. Pyrona предлагает решение:
✅ Безопасная многопоточность
✅ Динамические гарантии корректности
✅ Поддержка привычной экосистемы Python
🔍 Детали:
• Поддерживает эксперименты с субинтерпретаторами (PEP 684)
• Публикация на PLDI 2025: *Dynamic Region Ownership for Concurrency Safety*
• Активное участие Гвидо ван Россума и команды Faster CPython
🧠 Pyrona — это не продакшен-язык, а платформа для будущего безопасного и многопоточного Python.
🔗 Подробнее
🔗 Github
@pythonl