This media is not supported in your browser
VIEW IN TELEGRAM
В Яндексе придумали «Ночь музеев» в мире IT, а Сбер, Т-банк, Х5 и Lamoda поддержали идею и присоединились. Если вы не успели зарегистрироваться как офлайн-участник – подключайтесь онлайн.
Можно переключаться между двумя треками.
– шоу для разработчиков со стендап-комиком Севой Ловкачёвым;
– обсуждение pet-проектов и изобретательства среди инженеров;
– юмор в борьбе со стрессами: мемы как способ выжить в бигтехе.
– разберём, чем отличается бигтех в России и за рубежом: каких специалистов ищут компании, есть ли культурные отличия?
– поговорим с Маратом Мавлютовым – руководителем подразделения из Яндекса, разрабатывающего роботов-доставщиков;
– обсудим, как AI помогает разработчикам сейчас и как будет помогать в будущем.
Реклама. ООО "Яндекс". ИНН 7736207543
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1🔥1😁1
PlutoPrint — это лёгкая и удобная библиотека на Python для генерации качественных PDF и изображений напрямую из HTML или XML. Она основана на мощном рендеринг-движке PlutoBook, что делает её идеальной для отчетов, счетов, билетов и визуализаций.
Основные возможности
Поддержка PDF и PNG – можно создавать как статичные изображения, так и печатные документы из
Простота установки и использования — установка через pip install plutoprint; пример для командной строки:
plutoprint input.html output.pdf --size=A4
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍15❤10🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Когда мы используем модуль random, числа выглядят случайными, но на самом деле они вычисляются по алгоритму. Поэтому такие числа называют псевдослучайными.
Главное:
- Если задать одинаковый seed (зерно), генератор выдаст одинаковую последовательность. Это удобно для тестов и экспериментов — результат можно воспроизвести.
- Алгоритм по умолчанию — Mersenne Twister. Он быстрый и подходит для моделирования, но не годится для безопасности.
- Для генерации паролей, токенов и других защищённых данных нужно использовать модуль secrets, который делает случайность криптографически стойкой.
Просто правило:
- Для экспериментов → random с фиксированным seed.
- Для безопасности → secrets.
Пример работы seed
import random
random.seed(42)
print([random.random() for _ in range(3)])
random.seed(42)
print([random.random() for _ in range(3)]) те же числа
Криптографически безопасные значения
import secrets
print(secrets.token_hex(8))
print(secrets.randbelow(10))
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22👍13🤩5🔥3
Отличный курс для тех, кто хочет разобраться в нейронках с нуля от Андрея Карпати (OpenAI/Tesla).
Внутри бесплатная серия лекций на YouTube (и репа на GitHub), где ты с нуля учишься собирать нейронки. Всё максимально hands-on:
Автор не просто рассказывает теорию, а пишет код вместе с тобой — от самых азов до тренировки сетей.
https://github.com/karpathy/nn-zero-to-hero/
@pythonl
Внутри бесплатная серия лекций на YouTube (и репа на GitHub), где ты с нуля учишься собирать нейронки. Всё максимально hands-on:
Автор не просто рассказывает теорию, а пишет код вместе с тобой — от самых азов до тренировки сетей.
https://github.com/karpathy/nn-zero-to-hero/
@pythonl
❤22👍8🤩3🔥1
ИИ помощник сделает твое онлайн собеседование успешным.
Наши пользователи получают офферы.
Зайти и скачать бесплатную версию на ПК.
Поможет пройти техническое и поведенческое интервью.
Мгновенные ответы. Ты получишь приглашение на работу.
Наши пользователи получают офферы.
Зайти и скачать бесплатную версию на ПК.
Поможет пройти техническое и поведенческое интервью.
Мгновенные ответы. Ты получишь приглашение на работу.
🔥6❤4😁4😱1😢1
Что это:
Новый инструмент для фильтрации в DRF, который расширяет возможности стандартного
django-filter
. Особенности
- Использует serializer-поля для разбора и валидации (без Django-форм и виджетов)
- Поддержка группировки фильтров для гибкой логики
- Constraint system — проверка взаимозависимостей между параметрами
- Вложенные фильтры (nested filters) для работы со сложными структурами
Последний релиз — v0.6.0 (21 августа 2025)
- Возможность указывать группу по умолчанию для всего
FilterSet
(в том числе глобально) - Поддержка subgroups для более сложных связей между фильтрами
- Новый метод
FilterSet.get_combinator()
для динамического выбора способа объединения фильтров - ⚠️ Breaking change: теперь
Entry
нельзя создавать без указания группы Почему стоит попробовать
Если стандартные фильтры Django REST кажутся ограниченными, rest-filters даёт:
- фильтрацию через сериализаторы,
- сложные сценарии с группировками и вложенностью,
- гибкость и расширяемость.
🔗 Репозиторий: https://github.com/realsuayip/rest-filters
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍4🔥2
Диски в облаке — это базовая функциональность.
Для пользователя всё просто: приаттачил к ВМ и всё заработало.
Но как это устроена работа с i/o на стороне провайдера?
Инженеры MWS Cloud Platform⬜️ делятся своим опытом работы с фреймворком SPDK:
⏺️ чем он лучше работы через QEMU или ядро Linux;
⏺️ какие фичи пришлось дописывать самим;
⏺️ как довели фреймворк до продакшена и даже отдали часть изменений в апстрим.
⏩️ Загляните внутрь дисковой подсистемы облачного провайдера — читайте статью.
Для пользователя всё просто: приаттачил к ВМ и всё заработало.
Но как это устроена работа с i/o на стороне провайдера?
Инженеры MWS Cloud Platform
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥1😁1😢1🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
Иногда при работе с коллекциями в пайтон нужно быстро сгруппировать данные по ключу и при этом не писать громоздкий цикл с проверками. В таких случаях можно использовать модуль итэртулз и функцию группбай. Она позволяет превратить список в словарь с удобной структурой, где каждый ключ сразу содержит все связанные элементы. Это сильно экономит строки кода и делает его чище.
from itertools import groupby
from operator import itemgetter
data = [
{"category": "A", "value": 10},
{"category": "B", "value": 20},
{"category": "A", "value": 30},
{"category": "B", "value": 40},
]
сортировка обязательна перед groupby
data.sort(key=itemgetter("category"))
grouped = {
key: list(group) for key, group in groupby(data, key=itemgetter("category"))
}
print(grouped)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍5🔥2
📘 На Stepik вышел курс — «LangChain: с нуля до продакшн LLM-приложений»
Нужен не игрушечный бот, а воспроизводимый RAG-пайплайн с метриками и сервисом? Этот курс — про путь «ноутбук → FastAPI → прод».
🔍 Что вы получите
• RAG по PDF с цитированием источников и гибридным поиском (классический + векторный); контроль галлюцинаций через метрики
• Инструменты и агенты для анализа данных: Pandas-задачи, структурированный JSON-вывод под отчёты/дашборды
• Продакшн-контур: FastAPI-сервис, логирование латентности/токенов, PromptOps (версии/A/B), базовый SLA-мониторинг
🎓 Сертификат по завершении — можно добавить в резюме или LinkedIn
🚀 Начните сегодня и получите скидку 25% в течение 24 часов
👉 Пройти курс на Stepik
Нужен не игрушечный бот, а воспроизводимый RAG-пайплайн с метриками и сервисом? Этот курс — про путь «ноутбук → FastAPI → прод».
🔍 Что вы получите
• RAG по PDF с цитированием источников и гибридным поиском (классический + векторный); контроль галлюцинаций через метрики
• Инструменты и агенты для анализа данных: Pandas-задачи, структурированный JSON-вывод под отчёты/дашборды
• Продакшн-контур: FastAPI-сервис, логирование латентности/токенов, PromptOps (версии/A/B), базовый SLA-мониторинг
🎓 Сертификат по завершении — можно добавить в резюме или LinkedIn
🚀 Начните сегодня и получите скидку 25% в течение 24 часов
👉 Пройти курс на Stepik
❤6👍4
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Совет по Python: неожиданное поведение с изменяемыми аргументами по умолчанию
Если в функции задать аргумент по умолчанию как
Из-за этого все вызовы будут делить один и тот же объект, что часто приводит к багам.
Правильный способ — использовать `None` и создавать новый объект внутри функции.
Используйте этот приём, чтобы не попасться на скрытые баги с аргументами по умолчанию.
Если в функции задать аргумент по умолчанию как
list
или dict
, то этот объект создаётся один раз — при определении функции. Из-за этого все вызовы будут делить один и тот же объект, что часто приводит к багам.
Правильный способ — использовать `None` и создавать новый объект внутри функции.
def bad_append(x, data=[]):
data.append(x)
return data
print(bad_append(1)) # [1]
print(bad_append(2)) # [1, 2] <-- неожиданно!
def good_append(x, data=None):
if data is None:
data = []
data.append(x)
return data
print(good_append(1)) # [1]
print(good_append(2)) # [2]
Используйте этот приём, чтобы не попасться на скрытые баги с аргументами по умолчанию.
❤14👍8🔥4😱2
🎙️ VibeVoice: Инновационная модель TTS для длинных разговоров
VibeVoice — это передовая система синтеза речи, способная генерировать выразительное аудио для длительных разговоров, включая подкасты. Она решает проблемы традиционных TTS-систем, обеспечивая высокую согласованность голосов и естественное взаимодействие между несколькими спикерами.
🚀 Основные моменты:
- Синтезирует речь до 90 минут с 4 различными спикерами.
- Использует токенизаторы непрерывной речи для повышения эффективности.
- Поддерживает высокое качество звука при низкой частоте кадров.
- Применяет диффузионные модели для понимания контекста и потока диалога.
📌 GitHub: https://github.com/microsoft/VibeVoice
@pythonl
VibeVoice — это передовая система синтеза речи, способная генерировать выразительное аудио для длительных разговоров, включая подкасты. Она решает проблемы традиционных TTS-систем, обеспечивая высокую согласованность голосов и естественное взаимодействие между несколькими спикерами.
🚀 Основные моменты:
- Синтезирует речь до 90 минут с 4 различными спикерами.
- Использует токенизаторы непрерывной речи для повышения эффективности.
- Поддерживает высокое качество звука при низкой частоте кадров.
- Применяет диффузионные модели для понимания контекста и потока диалога.
📌 GitHub: https://github.com/microsoft/VibeVoice
@pythonl
❤15👍5🔥4