Media is too big
VIEW IN TELEGRAM
Самый простой способ писать документацию к коду
Открытый проект Davia позволяет генерировать аккуратную внутреннюю документацию с визуальными диаграммами для любого кода.
Просто установи его на свою систему, следуй шагам из их документации, запусти команду в папке проекта и вуаля, он сгенерирует полную документацию со структурированными визуалами, которые можно просматривать и редактировать💯
👉 @PythonPortal
Открытый проект Davia позволяет генерировать аккуратную внутреннюю документацию с визуальными диаграммами для любого кода.
Просто установи его на свою систему, следуй шагам из их документации, запусти команду в папке проекта и вуаля, он сгенерирует полную документацию со структурированными визуалами, которые можно просматривать и редактировать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤9🔥3
Ловите годноту: сети для самых маленьких - очень качественный и структурированный материал по сетям
Здесь по-человечески разбирают всё: планирование сети, настройку маршрутизаторов, коммутацию, маршрутизацию, STP, NAT, VPN, BGP, MPLS и прочие страшные буквы, которые на деле не так уж страшны
Без воды, простыми словами и с примерами. Забираем тут☕️
👉 @PythonPortal
Здесь по-человечески разбирают всё: планирование сети, настройку маршрутизаторов, коммутацию, маршрутизацию, STP, NAT, VPN, BGP, MPLS и прочие страшные буквы, которые на деле не так уж страшны
Без воды, простыми словами и с примерами. Забираем тут
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍6
Экосистема Notepad просто безумная.
• Можно писать Python в Notepad
• Можно писать Java в Notepad
• Можно писать JavaScript в Notepad
• Можно писать Shell-скрипты в Notepad
• Можно собирать Dockerfile в Notepad
• Можно писать Terraform в Notepad
• Можно править YAML в Notepad
👉 @PythonPortal
• Можно писать Python в Notepad
• Можно писать Java в Notepad
• Можно писать JavaScript в Notepad
• Можно писать Shell-скрипты в Notepad
• Можно собирать Dockerfile в Notepad
• Можно писать Terraform в Notepad
• Можно править YAML в Notepad
Please open Telegram to view this post
VIEW IN TELEGRAM
😁99🔥20❤11🤯5👍3
Выложили записи конфы «Я про бэкенд» - той самой, где раскрывали, как устроен бэкенд сегодня
Мир ускоряется: всё вокруг оцифровывается, RPS растёт, ML проникает во все сервисы подряд. Архитектуры усложняются, и поддерживать стабильность при таких масштабах - уже само по себе искусство. Но российские команды этот челлендж держат уверенно
4 октября в Москве на «Я про бэкенд» эксперты наших бигтехов делились, как решают реальные продовые задачи: от ML-инфраструктуры до рекомендательных и генеративных систем.
Особенно зашёл доклад Антона Полднева, руководителя инфраструктуры Яндекс Рекламы. Он рассказал, как их рекомендательный движок ежегодно экономит 200 тысяч CPU, и как команда перестроила архитектуру, которая держит более миллиона запросов в секунду.
Антон поделился конкретными подходами к оптимизации: от хаков на стыке с GPU до тонкой настройки балансировки. А ещё разобрал ключевые тренды в развитии инфраструктуры рекомендаций, без которых невозможно серьёзно нарастить эффективность.
В общем получилось очень насыщенно. Такое мы смотрим 👍
Посмотреть это выступление и другие доклады можно здесь:
- YouTube
- VK Видео
Реклама. ООО "Яндекс". ИНН 7736207543 Erid 2VSb5wAKbPX
Мир ускоряется: всё вокруг оцифровывается, RPS растёт, ML проникает во все сервисы подряд. Архитектуры усложняются, и поддерживать стабильность при таких масштабах - уже само по себе искусство. Но российские команды этот челлендж держат уверенно
4 октября в Москве на «Я про бэкенд» эксперты наших бигтехов делились, как решают реальные продовые задачи: от ML-инфраструктуры до рекомендательных и генеративных систем.
Особенно зашёл доклад Антона Полднева, руководителя инфраструктуры Яндекс Рекламы. Он рассказал, как их рекомендательный движок ежегодно экономит 200 тысяч CPU, и как команда перестроила архитектуру, которая держит более миллиона запросов в секунду.
Антон поделился конкретными подходами к оптимизации: от хаков на стыке с GPU до тонкой настройки балансировки. А ещё разобрал ключевые тренды в развитии инфраструктуры рекомендаций, без которых невозможно серьёзно нарастить эффективность.
В общем получилось очень насыщенно. Такое мы смотрим 👍
Посмотреть это выступление и другие доклады можно здесь:
- YouTube
- VK Видео
YouTube
я про бэкенд
Share your videos with friends, family, and the world
❤8👍4
Фотоскрейпинг наконец-то подъехал!
В новом v2 эндпоинте Firecrawl теперь можно тянуть картинки с сайтов. Подходит для мультимодальных LLM-приложений, дообучения моделей и прочих задач.
Можно навесить фильтры по разрешению, соотношению сторон или типу изображения.
Уже больше 66 тысяч звезд на GitHub😁
👉 @PythonPortal
В новом v2 эндпоинте Firecrawl теперь можно тянуть картинки с сайтов. Подходит для мультимодальных LLM-приложений, дообучения моделей и прочих задач.
Можно навесить фильтры по разрешению, соотношению сторон или типу изображения.
Уже больше 66 тысяч звезд на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22👍5
Когда атрибут определён и в экземпляре, и в классе, при обращении Python всегда берет значение из экземпляра.
Атрибут класса используется только если в экземпляре его нет.
👉 @PythonPortal
Атрибут класса используется только если в экземпляре его нет.
class Warehouse:
purpose = "storage"
region = "west"
w1 = Warehouse()
print(w1.purpose, w1.region) # storage west
w2 = Warehouse()
w2.region = "east"
print(w2.purpose, w2.region) # storage east
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19❤10👍5
Nano-vLLM - облегченная реализация vLLM, созданная с нуля.
Это минималистичный движок для инференса LLM размером примерно 1200 строк кода на Python, который при этом показывает производительность на уровне vLLM и иногда даже выше.
Главная идея простая - дать быстрый, понятный и лёгкий движок, который можно разобрать буквально за вечер и адаптировать под свои задачи. Поддерживается кеширование, тензорный параллелизм и работа на GPU. Работает локально, без зависимости от облаков.
На тестах с моделью Qwen3-0.6B и 256 параллельными запросами Nano-vLLM показал скорость 1314.65 токенов/с против 1353.86 у vLLM. Разница не превышает 3%, при этом код Nano-vLLM проще и доступнее для модификаций.
Интерфейс совместим с vLLM, за исключением метода генерации. Примеры использования включены в репозиторий.
👉 @PythonPortal
Это минималистичный движок для инференса LLM размером примерно 1200 строк кода на Python, который при этом показывает производительность на уровне vLLM и иногда даже выше.
Главная идея простая - дать быстрый, понятный и лёгкий движок, который можно разобрать буквально за вечер и адаптировать под свои задачи. Поддерживается кеширование, тензорный параллелизм и работа на GPU. Работает локально, без зависимости от облаков.
На тестах с моделью Qwen3-0.6B и 256 параллельными запросами Nano-vLLM показал скорость 1314.65 токенов/с против 1353.86 у vLLM. Разница не превышает 3%, при этом код Nano-vLLM проще и доступнее для модификаций.
Интерфейс совместим с vLLM, за исключением метода генерации. Примеры использования включены в репозиторий.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍5👀4🔥1
Знаешь, что неприятно реализовывать в Python?
Функцию скользящего среднего.
Ручное хранение всех значений в окне, тот ещё гемор.
Если только ты не используешь collections.deque.
Её параметр maxlen позволяет автоматически выбрасывать лишние значения из окна.
👉 @PythonPortal
Функцию скользящего среднего.
Ручное хранение всех значений в окне, тот ещё гемор.
Если только ты не используешь collections.deque.
Её параметр maxlen позволяет автоматически выбрасывать лишние значения из окна.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥8❤7👀4💊1
Сегодня разработчики представили новый формат данных под названием TOON. Его уже успели окрестить сменщиком JSON. Идея простая: дать ИИ понятный, компактный и быстрый формат без лишнего мусора и перегруженной структуры.
TOON экономит токены, ускоряет обработку и уменьшает объем передаваемых данных. По заявлениям авторов, формат оптимизирован не только для хранения, но и для взаимодействия с моделями искусственного интеллекта, включая гибридные и мультимодальные системы.
Поддержка уже заявлена для JavaScript, Python, Rust, Java и еще нескольких языков, а значит разработчики могут попробовать формат прямо сейчас, без ожидания экосистемы и сторонних библиотек.
Goodbye JSON, hello TOON.🌟
👉 @PythonPortal
TOON экономит токены, ускоряет обработку и уменьшает объем передаваемых данных. По заявлениям авторов, формат оптимизирован не только для хранения, но и для взаимодействия с моделями искусственного интеллекта, включая гибридные и мультимодальные системы.
Поддержка уже заявлена для JavaScript, Python, Rust, Java и еще нескольких языков, а значит разработчики могут попробовать формат прямо сейчас, без ожидания экосистемы и сторонних библиотек.
Goodbye JSON, hello TOON.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤42🤔14
Please open Telegram to view this post
VIEW IN TELEGRAM
❤55😁32🤣12👍7
Представляю Goldman Sachs GS-Quant
Python-инструментарий для количественного анализа, созданный Goldman Sachs.
GS Quant — это Python-набор инструментов для квант-финансов, построенный на базе одной из самых мощных платформ управления рисками.
GS Quant создан для ускорения разработки квант-трейдинговых стратегий и решений для риск-менеджмента. В его основе более 25 лет опыта работы на глобальных рынках.
Чтобы получить доступ к API, нужен client id и secret. Они доступны только институциональным клиентам Goldman Sachs.
Исходники GS-Quant можно найти на GitHub:
https://github.com/goldmansachs/gs-quant
👉 @PythonPortal
Python-инструментарий для количественного анализа, созданный Goldman Sachs.
GS Quant — это Python-набор инструментов для квант-финансов, построенный на базе одной из самых мощных платформ управления рисками.
GS Quant создан для ускорения разработки квант-трейдинговых стратегий и решений для риск-менеджмента. В его основе более 25 лет опыта работы на глобальных рынках.
Чтобы получить доступ к API, нужен client id и secret. Они доступны только институциональным клиентам Goldman Sachs.
Исходники GS-Quant можно найти на GitHub:
https://github.com/goldmansachs/gs-quant
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤11👍3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Теперь в Minecraft можно генерировать 3D-объекты по одному промпту.
Мод Falcraft добавляет в игру продвинутый AI. Можно на лету менять текстуры блоков через NanoBanana или генерировать целые 3D-структуры одной командой прямо во время игры.🌟
Скачать на GitHub: https://github.com/blendi-remade/falcraft?tab=readme-ov-file
👉 @PythonPortal
Мод Falcraft добавляет в игру продвинутый AI. Можно на лету менять текстуры блоков через NanoBanana или генерировать целые 3D-структуры одной командой прямо во время игры.
Скачать на GitHub: https://github.com/blendi-remade/falcraft?tab=readme-ov-file
Please open Telegram to view this post
VIEW IN TELEGRAM
❤26😁5💊4👀1
Совет по чистым тестам в Python:
В большинстве случаев твои тесты должны покрывать:
- все happy path сценарии
- edge/corner/boundary кейсы
- негативные тесты
- проверки на безопасность и некорректные вводы
👉 @PythonPortal
В большинстве случаев твои тесты должны покрывать:
- все happy path сценарии
- edge/corner/boundary кейсы
- негативные тесты
- проверки на безопасность и некорректные вводы
import uuid
from dataclasses import dataclass
from typing import Optional
@dataclass
class User:
username: str
class InMemoryUserRepository:
def __init__(self):
self._users = []
def add(self, user: User) -> None:
self._users.append(user)
def search(self, query: Optional[str] = None) -> list[User]:
if query is None:
return self._users
else:
return [
user
for user in self._users
if query in user.username
]
# happy path
def test_search_users_without_query_lists_all_users():
user1 = User(username="john@doe.com")
user2 = User(username="marry@doe.com")
repository = InMemoryUserRepository()
repository.add(user1)
repository.add(user2)
assert repository.search() == [user1, user2]
# happy path
def test_search_users_with_email_part_lists_all_matching_users():
user1 = User(username="john@doe.com")
user2 = User(username="bob@example.com")
user3 = User(username="marry@doe.com")
repository = InMemoryUserRepository()
repository.add(user1)
repository.add(user2)
repository.add(user3)
assert repository.search("doe") == [user1, user3]
# edge test case
def test_search_users_with_empty_query_lists_all_users():
user1 = User(username="john@doe.com")
user2 = User(username="marry@doe.com")
repository = InMemoryUserRepository()
repository.add(user1)
repository.add(user2)
assert repository.search("") == [user1, user2]
# negative test case
def test_search_users_with_random_query_lists_zero_users():
user1 = User(username="john@doe.com")
repository = InMemoryUserRepository()
repository.add(user1)
assert repository.search(str(uuid.uuid4())) == []
# security test
def test_search_users_with_sql_injection_has_no_effect():
user1 = User(username="john@doe.com")
repository = InMemoryUserRepository()
repository.add(user1)
repository.search("DELETE FROM USERS;")
assert repository.search() == [user1]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤33👍3👀2
Media is too big
VIEW IN TELEGRAM
Большая новость: теперь Google Colab можно запускать прямо внутри VS Code.
То есть можно писать код в нормальном редакторе, а ноутбук подключать к Colab GPU/TPU окружению для ML/AI задач.
Настройка занимает пару минут. И бесплатно.
Как стартануть:
1. Ставишь расширение Google Colab из Marketplace в VS Code
2. Открываешь .ipynb
3. Выбираешь ядро Colab
4. Авторизуешься и всё, поехали
👉 @PythonPortal
То есть можно писать код в нормальном редакторе, а ноутбук подключать к Colab GPU/TPU окружению для ML/AI задач.
Настройка занимает пару минут. И бесплатно.
Как стартануть:
1. Ставишь расширение Google Colab из Marketplace в VS Code
2. Открываешь .ipynb
3. Выбираешь ядро Colab
4. Авторизуешься и всё, поехали
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤37👍13🔥7💊1
Oxylabs это довольно известная компания в сфере веб-скрейпинга с десятилетним опытом.
Они выпустили Python-пакет для веб-парсинга. С его помощью можно вытаскивать данные из e-commerce сайтов, поисковиков, сервисов недвижимости и многого другого.
Вот простой пример парсинга результатов Bing:
Oxylabs умеет работать практически с любыми сайтами, но у них есть отдельные, более заточенные API для популярных площадок:
- Amazon
- Google
- Google Shopping
- Bing
- Kroger
- Wayfair
- YouTube Transcript
Подробнее про Oxylabs можно узнать на их сайте
Если нужен только Python-пакет для веб-скрейпинга, его можно найти на GitHub
👉 @PythonPortal
Они выпустили Python-пакет для веб-парсинга. С его помощью можно вытаскивать данные из e-commerce сайтов, поисковиков, сервисов недвижимости и многого другого.
Вот простой пример парсинга результатов Bing:
from oxylabs import RealtimeClient
# Указываем данные для авторизации в Oxylabs API
username = "username"
password = "password"
# Создаем Realtime-клиент с нашими кредами
client = RealtimeClient(username, password)
# Используем bing_search, чтобы получить результаты Bing по запросу "nike"
result = client.bing.scrape_search("nike")
# Выводим сырые данные (как есть)
print(result.raw)
Oxylabs умеет работать практически с любыми сайтами, но у них есть отдельные, более заточенные API для популярных площадок:
- Amazon
- Google Shopping
- Bing
- Kroger
- Wayfair
- YouTube Transcript
Подробнее про Oxylabs можно узнать на их сайте
Если нужен только Python-пакет для веб-скрейпинга, его можно найти на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22👍6🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣55❤21👍9😁3🤝1