This media is not supported in your browser
VIEW IN TELEGRAM
🌟 alphaXiv —выпустили расширение для хрома
alphaXiv упрощает работу с научными статьями (arXiv, bioRxiv, PDF):
● чат с ИИ прямо в документе: выделение текста открывает диалог
● ссылки на другие статье через “@” для быстрого вызова статей
● позволяет генерировать блог одним кликом: иллюстрации к статьям, ключевые идеи, перевод
● закладки и автоматические BibTeX-цитаты для хранения и ссылок
https://chromewebstore.google.com/detail/alphaxiv-understand-resea/liihfcjialakefgidmaadhajjikbjjab
@python_be1
alphaXiv упрощает работу с научными статьями (arXiv, bioRxiv, PDF):
● чат с ИИ прямо в документе: выделение текста открывает диалог
● ссылки на другие статье через “@” для быстрого вызова статей
● позволяет генерировать блог одним кликом: иллюстрации к статьям, ключевые идеи, перевод
● закладки и автоматические BibTeX-цитаты для хранения и ссылок
https://chromewebstore.google.com/detail/alphaxiv-understand-resea/liihfcjialakefgidmaadhajjikbjjab
@python_be1
Полезный совет по Pytest:
Используйте пользовательские маркеры pytest, чтобы добавлять метаданные к тестам.
Это значительно упрощает организацию и запуск определённых групп тестов
В примере на изображении используются два пользовательских маркера:
🔹@pytest.mark.performance
– Применён к тесту для замера производительности test_page_load_time
🔹@pytest.mark.database
– Применён к тестам для работы с базой данных test_database_connection и test_data_integrity
Мы можем запускать выборочно, например тесты, помеченные маркером @pytest.mark.database
pytest -m database
@python_be1
Используйте пользовательские маркеры pytest, чтобы добавлять метаданные к тестам.
Это значительно упрощает организацию и запуск определённых групп тестов
В примере на изображении используются два пользовательских маркера:
🔹@pytest.mark.performance
– Применён к тесту для замера производительности test_page_load_time
🔹@pytest.mark.database
– Применён к тестам для работы с базой данных test_database_connection и test_data_integrity
Мы можем запускать выборочно, например тесты, помеченные маркером @pytest.mark.database
pytest -m database
@python_be1
🖥 Как написать ещё худший Python-код: часть 2
Первая часть - Как написать худший возможный Python-код .
Если тебе показалось, что хуже уже некуда — ты просто не включал всё сразу.
Вот продолжение правил, которые гарантируют страдания будущих читателей твоего кода.
14. Используй side‑effects везде
Изменяй список внутри функции, возвращай `None`, пусть никто не знает, что произошло.
```
def corrupt(data):
for i in range(len(data)):
data[i] = None
```
15. Ломай SRP (Single Responsibility Principle)
Пусть одна функция отправляет запрос, пишет лог, делает retry, парсит ответ и сохраняет в БД.
```
def handle_user_request(request):
log_request(request)
try:
response = requests.post(...)
save_to_db(json.loads(response.text)["data"])
except:
retry_later(request)
```
16. Используй вложенные функции ради хаоса
Функции в функциях в функциях. Замыкания? Да, но не ради пользы, а ради анархии.
```
def outer():
def middle():
def inner():
print("deep")
inner()
middle()
```
17. Импортируй всё звёздочкой
Пусть никто не знает, откуда приходят функции. Магия.
```
from somewhere.unknown import *
```
18. Используй случайную логику
Добавь random в бизнес-функции. Почему бы и нет?
```
import random
def calculate_discount():
return random.choice([0, 5, 10, 50])
```
19. Используй структуры не по назначению
Сохраняй все данные в строках. JSON, XML, дата, числа — всё строкой.
```
user = {
"name": "Alice",
"age": "27",
"is_active": "true",
"joined": "2023-12-01"
}
```
20. Игнорируй ошибки
Тихо, мирно, try/except без except. Или просто pass. Не паникуй.
```
try:
do_critical_operation()
except:
pass
```
21. Логируй всё подряд
Каждый шаг. Каждую переменную. Каждую мысль.
```
print("entering loop")
print("value of x:", x)
print("loop end")
```
22. Используй глобальные настройки через переменные
Никаких config-файлов. Пусть все настройки — глобальные переменные.
```
DEBUG_MODE = True
RETRY_COUNT = 3
```
23. Пиши асинхронный код синхронно
async с time.sleep, await с requests.get. Главное — выглядеть современно.
```
import time
async def fetch_data():
time.sleep(3)
return "data"
```
24. Храни всё в одной функции
1000 строк? Один def main(). Абсолютно всё. Другие функции — для слабаков.
```
def main():
# 600 строк бизнес-логики
pass
```
🧠 Заключение
Если ты следуешь этим правилам — ты либо пишешь код, который никто не осмелится менять,
либо работаешь на тёмной стороне. Но лучше всё же пересмотреть подход.
"Simple is better than complex.
Complex is better than complicated.
Readability counts."
— The Zen of Python
@python_be1
Первая часть - Как написать худший возможный Python-код .
Если тебе показалось, что хуже уже некуда — ты просто не включал всё сразу.
Вот продолжение правил, которые гарантируют страдания будущих читателей твоего кода.
14. Используй side‑effects везде
Изменяй список внутри функции, возвращай `None`, пусть никто не знает, что произошло.
```
def corrupt(data):
for i in range(len(data)):
data[i] = None
```
15. Ломай SRP (Single Responsibility Principle)
Пусть одна функция отправляет запрос, пишет лог, делает retry, парсит ответ и сохраняет в БД.
```
def handle_user_request(request):
log_request(request)
try:
response = requests.post(...)
save_to_db(json.loads(response.text)["data"])
except:
retry_later(request)
```
16. Используй вложенные функции ради хаоса
Функции в функциях в функциях. Замыкания? Да, но не ради пользы, а ради анархии.
```
def outer():
def middle():
def inner():
print("deep")
inner()
middle()
```
17. Импортируй всё звёздочкой
Пусть никто не знает, откуда приходят функции. Магия.
```
from somewhere.unknown import *
```
18. Используй случайную логику
Добавь random в бизнес-функции. Почему бы и нет?
```
import random
def calculate_discount():
return random.choice([0, 5, 10, 50])
```
19. Используй структуры не по назначению
Сохраняй все данные в строках. JSON, XML, дата, числа — всё строкой.
```
user = {
"name": "Alice",
"age": "27",
"is_active": "true",
"joined": "2023-12-01"
}
```
20. Игнорируй ошибки
Тихо, мирно, try/except без except. Или просто pass. Не паникуй.
```
try:
do_critical_operation()
except:
pass
```
21. Логируй всё подряд
Каждый шаг. Каждую переменную. Каждую мысль.
```
print("entering loop")
print("value of x:", x)
print("loop end")
```
22. Используй глобальные настройки через переменные
Никаких config-файлов. Пусть все настройки — глобальные переменные.
```
DEBUG_MODE = True
RETRY_COUNT = 3
```
23. Пиши асинхронный код синхронно
async с time.sleep, await с requests.get. Главное — выглядеть современно.
```
import time
async def fetch_data():
time.sleep(3)
return "data"
```
24. Храни всё в одной функции
1000 строк? Один def main(). Абсолютно всё. Другие функции — для слабаков.
```
def main():
# 600 строк бизнес-логики
pass
```
🧠 Заключение
Если ты следуешь этим правилам — ты либо пишешь код, который никто не осмелится менять,
либо работаешь на тёмной стороне. Но лучше всё же пересмотреть подход.
"Simple is better than complex.
Complex is better than complicated.
Readability counts."
— The Zen of Python
@python_be1
🛠️ Copier — удобный инструмент для создания и обновления проектов из шаблонов. Эта Python-утилита умеет работать как с локальными путями, так и с Git-репозиториями, подставляя переменные в файлы любого формата. Главная фишка Copier — это аккуратная работа с существующими файлами: он не перезаписывает их без явного указания.
Инструмент будет полезен тем, кто часто создаёт однотипные проекты или хочет автоматизировать их обновление. Шаблоны поддерживают сложную логику через Jinja2, а настройки задаются в простом YAML-формате. Для начала работы достаточно установить Copier через pipx или pip. Проект развивается при поддержке сообщества и доступен под лицензией MIT.
🤖 GitHub (https://github.com/copier-org/copier)
@python_be1
Инструмент будет полезен тем, кто часто создаёт однотипные проекты или хочет автоматизировать их обновление. Шаблоны поддерживают сложную логику через Jinja2, а настройки задаются в простом YAML-формате. Для начала работы достаточно установить Copier через pipx или pip. Проект развивается при поддержке сообщества и доступен под лицензией MIT.
🤖 GitHub (https://github.com/copier-org/copier)
@python_be1
🎯 Хочешь следить за загрузкой своей GPU прямо из Python?
Вот простой скрипт, который показывает текущую загрузку видеокарты NVIDIA (через `nvidia-smi`). Подходит для мониторинга в ML-задачах, инференсе и просто для интереса.
📦 Зависимости: установленный `nvidia-smi` и Python 3.6+
🧠 Код:
```
import subprocess
def get_gpu_utilization():
try:
result = subprocess.check_output(
['nvidia-smi', '--query-gpu=utilization.gpu,memory.used,memory.total',
'--format=csv,nounits,noheader'],
encoding='utf-8'
)
lines = result.strip().split('\n')
for idx, line in enumerate(lines):
gpu_util, mem_used, mem_total = map(str.strip, line.split(','))
print(f"🖥 GPU {idx}: {gpu_util}% load | {mem_used} MiB / {mem_total} MiB")
except FileNotFoundError:
print("❌ nvidia-smi not found. Make sure NVIDIA drivers are installed.")
except Exception as e:
print(f"⚠️ Error: {e}")
get_gpu_utilization()
```
📊 Вывод будет примерно такой:
`GPU 0: 23% load | 412 MiB / 8192 MiB`
🔥 Советы:
• Можно запускать в цикле для live-мониторинга
• Легко интегрировать в Telegram-бота или Slack-уведомления
• Работает на всех машинах с установленным NVIDIA драйвером и nvidia-smi
@python_be1
Вот простой скрипт, который показывает текущую загрузку видеокарты NVIDIA (через `nvidia-smi`). Подходит для мониторинга в ML-задачах, инференсе и просто для интереса.
📦 Зависимости: установленный `nvidia-smi` и Python 3.6+
🧠 Код:
```
import subprocess
def get_gpu_utilization():
try:
result = subprocess.check_output(
['nvidia-smi', '--query-gpu=utilization.gpu,memory.used,memory.total',
'--format=csv,nounits,noheader'],
encoding='utf-8'
)
lines = result.strip().split('\n')
for idx, line in enumerate(lines):
gpu_util, mem_used, mem_total = map(str.strip, line.split(','))
print(f"🖥 GPU {idx}: {gpu_util}% load | {mem_used} MiB / {mem_total} MiB")
except FileNotFoundError:
print("❌ nvidia-smi not found. Make sure NVIDIA drivers are installed.")
except Exception as e:
print(f"⚠️ Error: {e}")
get_gpu_utilization()
```
📊 Вывод будет примерно такой:
`GPU 0: 23% load | 412 MiB / 8192 MiB`
🔥 Советы:
• Можно запускать в цикле для live-мониторинга
• Легко интегрировать в Telegram-бота или Slack-уведомления
• Работает на всех машинах с установленным NVIDIA драйвером и nvidia-smi
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Cursor теперь в браузере и в телефоне — вышла (https://www.cursor.com/blog/agent-web) веб-версия любимого приложения вайб-кодеров ⌨️
Функционал почти полностью аналогичен десктопной версии, есть синхронизация с GitHub. Идея утопическая: дать вайб-кодерам возможность зайтись где-нибудь на пляже и удаленно раздавать команды сверхумным агентам.
Можно заценить здесь (https://www.cursor.com/agents).
@python_be1
Функционал почти полностью аналогичен десктопной версии, есть синхронизация с GitHub. Идея утопическая: дать вайб-кодерам возможность зайтись где-нибудь на пляже и удаленно раздавать команды сверхумным агентам.
Можно заценить здесь (https://www.cursor.com/agents).
@python_be1
⚔️ LIEF — мощная библиотека для работы с исполняемыми файлами, которая поддерживает ELF, PE и MachO-форматы. Этот проект позволяет не только анализировать структуру бинарников, но и модифицировать их — добавлять секции, менять символы или даже работать с Objective-C метаданными.
Инструмент выделяется кроссплатформенностью и мультиязычным API (Python, Rust, C++). Библиотека умеет дизассемблировать код под разные архитектуры и интегрируется с Ghidra/BinaryNinja. Будет полезно для реверс-инжиниринга, анализа вредоносного ПО или кастомной линковки.
🤖 GitHub (https://github.com/lief-project/LIEF)
@python_be1
Инструмент выделяется кроссплатформенностью и мультиязычным API (Python, Rust, C++). Библиотека умеет дизассемблировать код под разные архитектуры и интегрируется с Ghidra/BinaryNinja. Будет полезно для реверс-инжиниринга, анализа вредоносного ПО или кастомной линковки.
🤖 GitHub (https://github.com/lief-project/LIEF)
@python_be1
⚡️ PyOpenCL — ускоряем Python вычисления на GPU. Этот проект даёт доступ к технологии OpenCL прямо из Python, позволяя задействовать не только видеокарты, но и любые параллельные вычислительные устройства. Он сочетает низкоуровневый контроль с автоматической обработкой ошибок и привязкой жизненного цикла объектов.
Инструмент имеет обширную документацию с примерами: от простого поэлементного умножения массивов до сложных алгоритмов с использованием локальной памяти GPU. Проект работает с реализациями OpenCL от Apple, AMD и Nvidia, а установка через Conda занимает буквально пару команд.
🤖 GitHub (https://github.com/inducer/pyopencl)
@python_be1
Инструмент имеет обширную документацию с примерами: от простого поэлементного умножения массивов до сложных алгоритмов с использованием локальной памяти GPU. Проект работает с реализациями OpenCL от Apple, AMD и Nvidia, а установка через Conda занимает буквально пару команд.
🤖 GitHub (https://github.com/inducer/pyopencl)
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Как быстро найти, какой процесс держит порт в Linux
Когда порт занят, а ты не знаешь какой процесс его занимает — вместо копаний в журналах можно сразу найти виновника одной командой.
Особенно полезно при отладке dev-серверов, docker, ssh и прочего.
Это незаменимая команда, когда nginx не стартует, python выдает ошибки, или docker ругается на занятый порт.
Ставь лайк и подписывайся — каждый день публикуем полезные и не банальные советы для разработчиков. Пиши в коментах какие команды используешь каждый день!
///
sudo lsof -i :PORT
или
sudo fuser -v PORT/tcp
-lsof покажет PID, команду, пользователя и путь
- fuser сразу скажет, можно ли убить процесс (-k для убийства)
- Работает с TCP и UDP (например, fuser -v 53/udp для DNS)
@python_be1
Когда порт занят, а ты не знаешь какой процесс его занимает — вместо копаний в журналах можно сразу найти виновника одной командой.
Особенно полезно при отладке dev-серверов, docker, ssh и прочего.
Это незаменимая команда, когда nginx не стартует, python выдает ошибки, или docker ругается на занятый порт.
Ставь лайк и подписывайся — каждый день публикуем полезные и не банальные советы для разработчиков. Пиши в коментах какие команды используешь каждый день!
///
sudo lsof -i :PORT
или
sudo fuser -v PORT/tcp
-lsof покажет PID, команду, пользователя и путь
- fuser сразу скажет, можно ли убить процесс (-k для убийства)
- Работает с TCP и UDP (например, fuser -v 53/udp для DNS)
@python_be1
🧩 Задача для разминки
Что выведет этот код? Попробуй догадаться без запуска.
```
class Sneaky:
def __eq__(self, other):
print("Comparing!")
return True
a = Sneaky()
b = [a]
print(a in b)
print(a == b[0])
print(b.count(a))
```
🤔 Подумай: сколько раз вызовется <i>eq</i>?
🎯 Разбор:
print(a in b)
🔍 Проверка a in b вызывает b.__contains__(a), который по умолчанию использует ==.
👉 Вызовется <i>eq</i>, будет True.
print(a == b[0])
🔍 Прямое сравнение — снова <i>eq</i>.
print(b.count(a))
🔍 list.count сравнивает каждый элемент с ==. В нашем списке один элемент — a.
👉 Опять вызывается <i>eq</i>.
[спойлер: 💥 Вывод будет:
Comparing!
True
Comparing!
True
Comparing!
1]
📌 [спойлер: Вывод: __eq__ сработал 3 раза, и каждый раз напечатал "Comparing!".
🧠 Уловка: Python-списки используют ==, даже если это один и тот же объект! Да, a == a всё равно вызовет __eq__, если он определён.
⚠️ Фишка для интервью:
Можно подменить поведение ==, но is (сравнение идентичности) всегда быстрее и не вызывает магии.]
@python_be1
Что выведет этот код? Попробуй догадаться без запуска.
```
class Sneaky:
def __eq__(self, other):
print("Comparing!")
return True
a = Sneaky()
b = [a]
print(a in b)
print(a == b[0])
print(b.count(a))
```
🤔 Подумай: сколько раз вызовется <i>eq</i>?
🎯 Разбор:
print(a in b)
🔍 Проверка a in b вызывает b.__contains__(a), который по умолчанию использует ==.
👉 Вызовется <i>eq</i>, будет True.
print(a == b[0])
🔍 Прямое сравнение — снова <i>eq</i>.
print(b.count(a))
🔍 list.count сравнивает каждый элемент с ==. В нашем списке один элемент — a.
👉 Опять вызывается <i>eq</i>.
[спойлер: 💥 Вывод будет:
Comparing!
True
Comparing!
True
Comparing!
1]
📌 [спойлер: Вывод: __eq__ сработал 3 раза, и каждый раз напечатал "Comparing!".
🧠 Уловка: Python-списки используют ==, даже если это один и тот же объект! Да, a == a всё равно вызовет __eq__, если он определён.
⚠️ Фишка для интервью:
Можно подменить поведение ==, но is (сравнение идентичности) всегда быстрее и не вызывает магии.]
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
Linux: как быстро найти, какие файлы занимают больше всего места в системе
Когда df -h показывает, что диск забит, но ты не понимаешь, что именно съело память, вот команда, которая спасает.
Она отлично работает, когда нужно:
– найти огромный лог или зависший кэш
– понять, где лежит более 100 Гигабайт
– навести порядок перед бэкапом системы
Для интерактивного анализа — можно подключить ncdu.
@python_be1
Когда df -h показывает, что диск забит, но ты не понимаешь, что именно съело память, вот команда, которая спасает.
Она отлично работает, когда нужно:
– найти огромный лог или зависший кэш
– понять, где лежит более 100 Гигабайт
– навести порядок перед бэкапом системы
Для интерактивного анализа — можно подключить ncdu.
@python_be1
💼 Готовый проект на Python: асинхронный сервис отслеживания цены акций
Отслеживает цены акций в реальном времени, рассылает push-уведомления при достижении триггеров и предоставляет REST + WebSocket API для фронтенда.
Почему проект ценен для портфолио
- Показывает владение современным стеком: FastAPI + WebSockets + asyncio, PostgreSQL, Redis, Docker, CI/CD.
- Демонстрирует продвинутые практики: типы (pydantic, mypy), тесты (pytest, pytest-asyncio), линтеры, GitHub Actions.
- Подходит для live-демо: легко задеплоить на Render/Fly.io/Hetzner и показать работу в браузере.
➡️ Читать статью (https://uproger.com/gotovyj-portfelnyj-proekt-na-python-asinhronnyj-servis-otslezhivaniya-czeny-akczij/)
@python_be1
Отслеживает цены акций в реальном времени, рассылает push-уведомления при достижении триггеров и предоставляет REST + WebSocket API для фронтенда.
Почему проект ценен для портфолио
- Показывает владение современным стеком: FastAPI + WebSockets + asyncio, PostgreSQL, Redis, Docker, CI/CD.
- Демонстрирует продвинутые практики: типы (pydantic, mypy), тесты (pytest, pytest-asyncio), линтеры, GitHub Actions.
- Подходит для live-демо: легко задеплоить на Render/Fly.io/Hetzner и показать работу в браузере.
➡️ Читать статью (https://uproger.com/gotovyj-portfelnyj-proekt-na-python-asinhronnyj-servis-otslezhivaniya-czeny-akczij/)
@python_be1
Лучшие базы данных — и где они их использовать
1. PostgreSQL — универсальная реляционная БД
→ бизнес-приложения, аналитика, геоданные (PostGIS), JSON + SQL в одном
2. SQLite — встраиваемая БД без сервера
→ мобильные приложения, локальное хранение, CLI-инструменты, тесты
3. MySQL / MariaDB — быстрые SQL-БД для веба
→ сайты, CMS, WordPress, стартапы с LAMP-стеком
4. MongoDB — документо-ориентированная NoSQL
→ JSON‑подобные данные, прототипы, быстро меняющиеся схемы
5. Redis — in-memory key-value store
→ кеширование, очереди, счётчики, real-time метрики
6. ClickHouse — колоночная аналитическая БД
→ аналитика, лог-системы, BI‑дашборды, миллиарды строк — за миллисекунды
7. Neo4j — графовая БД
→ социальные графы, связи между сущностями, рекомендации
8. TimescaleDB — time-series над PostgreSQL
→ телеметрия, мониторинг, временные ряды, IoT
9. Cassandra — масштабируемая распределённая NoSQL
→ high-availability, терабайты данных, логика без джинов.
10. DuckDB — это современная in-process аналитическая СУБД, разработанная как “SQLite для аналитики
t.me/ - наш телеграм канал с гайдами
@python_be1
1. PostgreSQL — универсальная реляционная БД
→ бизнес-приложения, аналитика, геоданные (PostGIS), JSON + SQL в одном
2. SQLite — встраиваемая БД без сервера
→ мобильные приложения, локальное хранение, CLI-инструменты, тесты
3. MySQL / MariaDB — быстрые SQL-БД для веба
→ сайты, CMS, WordPress, стартапы с LAMP-стеком
4. MongoDB — документо-ориентированная NoSQL
→ JSON‑подобные данные, прототипы, быстро меняющиеся схемы
5. Redis — in-memory key-value store
→ кеширование, очереди, счётчики, real-time метрики
6. ClickHouse — колоночная аналитическая БД
→ аналитика, лог-системы, BI‑дашборды, миллиарды строк — за миллисекунды
7. Neo4j — графовая БД
→ социальные графы, связи между сущностями, рекомендации
8. TimescaleDB — time-series над PostgreSQL
→ телеметрия, мониторинг, временные ряды, IoT
9. Cassandra — масштабируемая распределённая NoSQL
→ high-availability, терабайты данных, логика без джинов.
10. DuckDB — это современная in-process аналитическая СУБД, разработанная как “SQLite для аналитики
t.me/ - наш телеграм канал с гайдами
@python_be1
🕸️ Chat4Data — расширение, которое превращает веб-скрапинг в диалог
Вместо кода и настроек — просто говоришь, что хочешь, и AI собирает структурированные данные с сайта.
Что умеет Chat4Data:
🔹 Собирает данные “на слух”
Опиши нужную таблицу или список — AI сам найдёт, распарсит и вставит в таблицу. Не нравится результат? Переспроси. Без кода, без боли.
🔹 Обходит все страницы сам
Автоматически кликает “Следующая”, грузит подгружаемые списки и собирает всё — без твоего участия.
🔹 Запускается за 3 клика
AI сам определяет, какие данные ценные, предлагает их — тебе остаётся только подтвердить. Быстро, как в Telegram-боте.
🔹 Не тратит токены на скрапинг
Анализ страницы — на AI, но сами данные забираются без токенов. В бета-версии дают 1 миллион токенов на другие задачи.
🔹 Скоро: скрапинг подстраниц, интерактив, интеграции...
📎 https://chat4data.ai
#ai #scraping #automation #nocode #tools
@python_be1
Вместо кода и настроек — просто говоришь, что хочешь, и AI собирает структурированные данные с сайта.
Что умеет Chat4Data:
🔹 Собирает данные “на слух”
Опиши нужную таблицу или список — AI сам найдёт, распарсит и вставит в таблицу. Не нравится результат? Переспроси. Без кода, без боли.
🔹 Обходит все страницы сам
Автоматически кликает “Следующая”, грузит подгружаемые списки и собирает всё — без твоего участия.
🔹 Запускается за 3 клика
AI сам определяет, какие данные ценные, предлагает их — тебе остаётся только подтвердить. Быстро, как в Telegram-боте.
🔹 Не тратит токены на скрапинг
Анализ страницы — на AI, но сами данные забираются без токенов. В бета-версии дают 1 миллион токенов на другие задачи.
🔹 Скоро: скрапинг подстраниц, интерактив, интеграции...
📎 https://chat4data.ai
#ai #scraping #automation #nocode #tools
@python_be1
⚡️ Microsoft обновила собственный бесплатный курс по генеративному ИИ
В курсе видео, практика (код) и дополнительные материалы.
Пргорамма курса состоит из изучения структуры и работы LLM, тонкостям промптинга, созданию собственного приложения для генерации изображений, функционалу RAG для LLM и принципам файнтюна.
📌 А здесь мы вылудили полный список бесплатных курсов. (https://uproger.com/luchshie-besplatnye-kursy-po-iskusstvennomu-intellektu/)
Для прохождения курса нужны:
- учетная запись на Azure
- доступ к api OpenAI
Разумеется, все методики и манипуляции предлагается выполнять обучающимся в экосистеме Microsoft, на их мощностях и с использованием их сервисов.
Бэкенд учебного приложения для генерации картинок - DALLE и Midjourney.
Большие надежды строить относительно курса не стоит - экосисистема Microsoft требует отдельных компетенций, но в качестве базового структурированного курса для новичков - вполне подойдет.
🖥 Курс полностью выложен на Github: https://github.com/microsoft/generative-ai-for-beginners
@python_be1
В курсе видео, практика (код) и дополнительные материалы.
Пргорамма курса состоит из изучения структуры и работы LLM, тонкостям промптинга, созданию собственного приложения для генерации изображений, функционалу RAG для LLM и принципам файнтюна.
📌 А здесь мы вылудили полный список бесплатных курсов. (https://uproger.com/luchshie-besplatnye-kursy-po-iskusstvennomu-intellektu/)
Для прохождения курса нужны:
- учетная запись на Azure
- доступ к api OpenAI
Разумеется, все методики и манипуляции предлагается выполнять обучающимся в экосистеме Microsoft, на их мощностях и с использованием их сервисов.
Бэкенд учебного приложения для генерации картинок - DALLE и Midjourney.
Большие надежды строить относительно курса не стоит - экосисистема Microsoft требует отдельных компетенций, но в качестве базового структурированного курса для новичков - вполне подойдет.
🖥 Курс полностью выложен на Github: https://github.com/microsoft/generative-ai-for-beginners
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🧠 Ускорь import в Python-проектах с помощью lazy loading — без изменения логики
Если у тебя проект с тяжёлыми модулями (`pandas`, `torch`, `tensorflow`), но они не всегда нужны — не загружай их зря. Python позволяет **отложить импорт до первого использования**, через встроённый `importlib`.
Вот как это выглядит на практике:
```
import importlib
# Обёртка для ленивого импорта
def lazy_import(name):
return importlib.util.LazyLoader(importlib.import_module(name))
# Использование
np = lazy_import('numpy')
# numpy ещё не загружен
# Теперь загрузится:
print(np.array([1, 2, 3]))
```
@python_be1
Если у тебя проект с тяжёлыми модулями (`pandas`, `torch`, `tensorflow`), но они не всегда нужны — не загружай их зря. Python позволяет **отложить импорт до первого использования**, через встроённый `importlib`.
Вот как это выглядит на практике:
```
import importlib
# Обёртка для ленивого импорта
def lazy_import(name):
return importlib.util.LazyLoader(importlib.import_module(name))
# Использование
np = lazy_import('numpy')
# numpy ещё не загружен
# Теперь загрузится:
print(np.array([1, 2, 3]))
```
@python_be1
🧠 GitHub раскрывает планы по следующей эволюции Copilot — от помощника к полноценному агенту.
🔗 В новом посте GitHub делится видением agentic workflows — когда Copilot становится не просто ассистентом, а полноценным участником команды, который умеет:
• понимать задачу целиком,
• планировать шаги,
• писать и менять код,
• создавать PR и даже инициировать обсуждение.
📌 Что важно:
— Copilot теперь работает в рамках цепочек действий (tasks → plans → code)
— Появляются memory и context-aware агенты
— Идея — не просто "автодополнение", а делегирование работы: от заведения ишью до его закрытия
— Акцент на безопасную, контролируемую автоматизацию
⚙️ Пример: вы создаёте issue → Copilot планирует, как решить → предлагает PR → вы ревьюите и мёрджите.
🛠 Уже сейчас GitHub тестирует:
- Copilot Workspace (автогенерация изменений по issue)
- GitHub Agents (task‑oriented агенты для DevOps и beyond)
📎 Читайте подробнее: (https://github.blog/news-insights/product-news/from-pair-to-peer-programmer-our-vision-for-agentic-workflows-in-github-copilot/)
Copilot перестаёт быть просто AI‑другом в редакторе — он становится сотрудником, который понимает задачи, работает в контексте проекта и помогает двигать код вперёд.
@python_be1
🔗 В новом посте GitHub делится видением agentic workflows — когда Copilot становится не просто ассистентом, а полноценным участником команды, который умеет:
• понимать задачу целиком,
• планировать шаги,
• писать и менять код,
• создавать PR и даже инициировать обсуждение.
📌 Что важно:
— Copilot теперь работает в рамках цепочек действий (tasks → plans → code)
— Появляются memory и context-aware агенты
— Идея — не просто "автодополнение", а делегирование работы: от заведения ишью до его закрытия
— Акцент на безопасную, контролируемую автоматизацию
⚙️ Пример: вы создаёте issue → Copilot планирует, как решить → предлагает PR → вы ревьюите и мёрджите.
🛠 Уже сейчас GitHub тестирует:
- Copilot Workspace (автогенерация изменений по issue)
- GitHub Agents (task‑oriented агенты для DevOps и beyond)
📎 Читайте подробнее: (https://github.blog/news-insights/product-news/from-pair-to-peer-programmer-our-vision-for-agentic-workflows-in-github-copilot/)
Copilot перестаёт быть просто AI‑другом в редакторе — он становится сотрудником, который понимает задачи, работает в контексте проекта и помогает двигать код вперёд.
@python_be1
The GitHub Blog
From pair to peer programmer: Our vision for agentic workflows in GitHub Copilot
AI agents in GitHub Copilot don’t just assist developers but actively solve problems through multi-step reasoning and execution. Here’s what that means.