24940
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd
🖥 FastAPI для клиента: как должны выглядеть API-клиенты в Python
Python-сообщество отлично научилось делать API-серверы.
FastAPI / DRF дают идеальный опыт разработчика:
- типы
- валидация
- понятные эндпоинты
- документация по OpenAPI
- минимум рутины
Но есть проблема.
Серверы стали удобными и “правильными”, а вот клиентская сторона до сих пор часто выглядит как кустарщина.
Что часто встречается в проектах на базе python:
- везде раскиданы httpx.get/post
- URL собираются руками
- параметры и headers копируются по коду
- ответы парсятся вручную
- ошибки обрабатываются как попало
- нет нормальных типов и автодополнения
И именно тут часто появляется 80% проблем.
API может быть идеально спроектирован, но пользоваться им неудобно.
Да, можно сгенерировать кода клиента.
Но чаще всего генератор выдаёт огромный неудобный код:
- странные имена методов
- перегруженные классы
- нечитаемый boilerplate
- всё равно приходится писать обёртки руками
В итоге клиенты либо не генерируют вообще, либо генерируют и потом ненавидят.
API-клиенты должны быть сделаны как фреймворк.
Как FastAPI, только наоборот.
То есть ты описываешь клиент красиво и декларативно:
- функция описывает intent (что мы делаем)
- типы описывают контракт
- библиотека берёт на себя HTTP-рутину
Вместо кода “на коленке”httpx.get("https://api.site.com/users/123")
Должно бытьget_user(123)
И дальше библиотека сама:
- соберёт URL
- подставит параметры
- сериализует запрос
- выполнит HTTP
- распарсит ответ
- кинет нормальную ошибку
- даст типы и автодополнение в IDE
Именно эту идею автор статье и продвигает (проект Clientele)
Сделать API-клиенты удобными, чистыми и типобезопасными
так же, как мы привыкли делать серверы
Проблема не в HTTP.
Проблема в том, что API-клиенты в Python до сих пор не стали “первоклассным кодом”.
А должны стать.
Подробности: paulwrites.software/articles/python-api-clients
🔥 На stepik вышел курс, который учит Создавать настоящие AI-сервисы, а не просто запускать скрипты?
Этот практический курс по Python и FastAPI покажет, как собрать полноценное приложение с ИИ, базой данных, автогенерацией контента и Telegram-ботом.
Ты пройдёшь путь от первого HTTP-запроса до рабочего сервиса, который сам генерирует текст через ИИ, сохраняет данные, отправляет результаты по расписанию и отвечает пользователям.
Никакой теории ради теории - только практические шаги, из которых рождается реальный продукт.
🎁 48 часов действует скидка в 40% процентов
👉 Начать учиться на Stepik
🚀 Токенизация в LLM - как “Hello” превращается в цифры.
Токенизация - это первый шаг перед тем, как LLM вообще начнет “думать”.
Модель не понимает текст напрямую.
Она понимает только числа.
Поэтому любой текст сначала разбивается на маленькие кусочки - токены:
- иногда это целые слова
- иногда части слов (su, per, man)
- иногда один символ
- иногда даже пробел - тоже токен
Пример:
Фраза "I love programming" разбивается не обязательно на слова, а на кусочки слов:[I] ,[ love] ,[ program] , [ming]
Обрати внимание:
- " love" начинается с пробела - потому что пробел тоже часть токена
- programming разделилось на 2 токена: " program" + "ming"
То есть Токенизация - это когда LLM режет текст на маленькие кусочки (токены) и переводит их в числа.
Важно:
Чем больше токенов - тем дороже запрос и тем быстрее съедается контекст.
Плохая токенизация = странные ошибки (особенно в коде, ссылках, редких словах).
Поэтому LLM отлично понимают частые слова, но могут путаться на редких именах, терминах и смешанных языках.
И лайфхак: если хочешь “дешевле” и “чище” ответы - пиши короче, без мусора, без повторов.
Контекст - это валюта.
# Tokenization demo (Python)
# pip install tiktoken
import tiktoken
text = "I love programming in Python 🐍"
enc = tiktoken.get_encoding("cl100k_base")
tokens = enc.encode(text)
print("Text:", text)
print("Token IDs:", tokens)
print("Tokens count:", len(tokens))
# decode back
print("\nDecoded tokens:")
for t in tokens:
print(t, "->", repr(enc.decode([t])))
🖥 Онлайн-книга: «Исследуем математику с помощью Python»
📘 Бесплатный онлайн-учебник по математике с практикой на Python.
Это обновлённая версия книги *Exploring Mathematics with Your Computer*,
где все примеры переписаны на Python и дополнены новыми главами.
Книга разбирает идеи математики через код и эксперименты, охватывая:
- основы алгоритмов и математического мышления
- теорию чисел
- вероятность и статистику
- комбинаторику
- численные методы
- фракталы и хаос
- геометрию и графику
- марковские цепи
- продолженные дроби
- кривые и многое другое
Каждая тема сопровождается пояснениями, упражнениями и примерами кода.
Подходит тем, кто уже знает базовый Python и хочет
через практику прокачать математику и алгоритмическое мышление.
📍 Ссылка на книгу: https://coe.psu.ac.th/ad/explore/
🚀 Автоматизированная торговля криптовалютами с AI
PowerTrader_AI — это система автоматической торговли, использующая уникальный ИИ для прогнозирования цен на криптовалюту. Она применяет метод kNN для анализа исторических данных и формирования торговых сигналов на основе предсказанных ценовых уровней. Система включает в себя стратегию усреднения (DCA) и управление прибылью для оптимизации сделок.
🚀 Основные моменты:
- Полностью автоматизированная торговля на основе ИИ.
- Использует многовременные прогнозы для принятия решений.
- Включает стратегию DCA для управления рисками.
- Настраиваемые параметры для торговли на разных криптовалютах.
📌 GitHub: https://github.com/garagesteve1155/PowerTrader_AI
🎤 Создание голоса для нескольких спикеров с VibeVoiceFusion
VibeVoiceFusion — это веб-приложение для генерации высококачественной синтетической речи с возможностями клонирования голоса. Основанное на модели VibeVoice от Microsoft, оно предлагает полный стек решений для управления проектами, генерации диалогов и оптимизации использования VRAM.
🚀 Основные моменты:
- Удобный интерфейс для генерации речи без программирования
- Поддержка многоголосого синтеза с уникальными характеристиками
- LoRA-файнтюнинг для адаптации голоса и передачи стиля
- Генерация нескольких аудиовариаций за один раз
- Оптимизация для потребительских GPU с 10 ГБ+ VRAM
📌 GitHub: https://github.com/zhao-kun/VibeVoiceFusion
100 технических вопросов для интервью Data Analyst / Data Scientist (Middle/Senior)
В этом руководстве мы подробно разберем 100 реальных технических вопросов, которые часто встречаются на собеседованиях для аналитиков данных и специалистов по данным уровня middle и senior.
Вопросы сгруппированы по типам компаний (FAANG, стартапы, финтех, консалтинг), по уровню позиции (middle или senior) и по ключевым категориям знаний.
Используя этот гайд, вы сможете оценить свой уровень подготовки, понять глубину ответов, ожидаемую от опытных кандидатов, и избежать популярных ошибок. Давайте перейдем к вопросам. FAANG: Интервью в крупных технокомпаниях (FAANG – Amazon, Apple, Netflix, Google и аналогичные крупные IT-компании) Middle-уровень – FAANG
SQL – примеры вопросов (Middle, FAANG)
https://uproger.com/100-tehnicheskih-voprosov-dlya-intervyu-data-analyst-data-scientist-middle-senior/
🖥 На Stepik вышел курс, который учит работать с Docker на реальных проектах.
Владение Docker - навык, который отличает новичка от профи
Сегодня почти всё разворачивается в контейнерах.
Если ты не умеешь работать с Docker, ты медленнее, зависим от чужих настроек и постоянно ловишь баги «у меня локально работает».
Этот курс покажет:
• разобраны все возможные ошибки при работе c Docker
• как упаковывать проекты в контейнеры
• как поднимать целые системы за минуты
• как избегать типичных ошибок в продакшене
• как делать стабильные и повторяемые окружения
Только практика и реальные кейсы - с нуля до уверенного уровня.
🎁 40 процентов скидка действует 48 часов в честь нового года
👉 Записывайся и сделай Docker своим настоящим рабочим инструментом.
🎁🎄Новогодние проекты на Python🎄🎄
Новогодние праздники - отличное время сделать что-то не шаблонное на Python:
микро-движок для генерации музыки, локальный AI-ассистент для заметок, трекер сна с визуализациями, «умный» планировщик тренировок, бот-редактор изображений или симулятор биржевых стратегий на исторических данных.
Главное — выбери проект, где есть и код, и чуть-чуть исследовательской части: так растёт навык архитектуры.
# генератор уникальных идей проектов на праздники
import random
ideas = [
"Локальный AI-помощник для поиска по личным заметкам",
"Генератор музыки с визуализацией (MIDI + matplotlib)",
"Трекер сна с анализом и графиками",
"Бот-редактор картинок (фильтры, обводка, коллажи)",
"Симулятор простых биржевых стратегий на исторических данных",
"Планировщик тренировок с прогрессией нагрузки",
"Мини-игра «жизнь колонии» с простой физикой"
]
def show():
print("Твой нестандартный проект:")
print(random.choice(ideas))
⚙️ Context-async-sqlalchemy: простой способ подружить ASGI и async SQLAlchemy
Эта библиотека упрощает интеграцию асинхронного SQLAlchemy в любые ASGI-приложения.
Что она делает:
• управляет жизненным циклом engine и сессий
• даёт удобные утилиты для работы с БД
• ускоряет разработку — без лишней магии и ограничений
Идея простая: меньше шаблонного кода, больше внимания логике приложения.
https://github.com/krylosov-aa/context-async-sqlalchemy
🚀 VulnLLM-R-7B - первый специализированный reasoning LLM для поиска уязвимостей, сразу с agent-scaffold.
Что важно:
- Заточен именно под vulnerability detection
- Использует рассуждения, а не только шаблонный паттерн-матчинг
- Может работать как агент для анализа кода
Полный стек уже доступен:
📜 Paper: https://alphaxiv.org/abs/2512.07533
💻 Code: https://github.com/ucsb-mlsec/VulnLLM-R
🤗 Model & Data: https://huggingface.co/collections/UCSB-SURFI/vulnllm-r
🕹️ Demo: https://huggingface.co/spaces/UCSB-SURFI/VulnLLM-R
Хороший пример того, как узкоспециализированные LLM начинают превосходить универсальные модели в реальных задачах безопасности.
🚀 PyTogether - Google Docs для Python-кода
PyTogether - это браузерная IDE для Python с совместной работой в реальном времени. Несколько человек могут писать и запускать код одновременно, видеть курсоры друг друга и общаться прямо внутри редактора.
Что умеет:
• Совместное редактирование Python-кода (live-collaboration)
• Запуск Python прямо в браузере через Pyodide
• Чат и голосовая связь внутри IDE
• Живые курсоры, выделения и заметки
• Простая авторизация и проекты для команд
• Никакой установки — всё работает в браузере
Кому подойдёт:
• Обучение и менторство
• Парное программирование
• Онлайн-курсы и воркшопы
• Быстрые разборы кода и собесы
Технологии под капотом:
Python (Django, DRF), WebSockets + Y.js для синхронизации, React + CodeMirror, Redis и PostgreSQL. Всё open-source под MIT-лицензией.
Хороший пример того, как современные web-технологии превращают IDE в социальный инструмент для обучения и командной работы.
https://github.com/SJRiz/pytogether
🎮 HY-World 1.5: Интерактивное моделирование миров в реальном времени
HY-World 1.5 (WorldPlay) - это передовая система для создания интерактивных 3D миров с долгосрочной геометрической согласованностью. Модель использует уникальные подходы, такие как Dual Action Representation и Context Forcing, чтобы обеспечить высокую скорость и качество генерации.
🚀Основные моменты:
- Реальное интерактивное моделирование с 24 FPS.
- Долгосрочная геометрическая согласованность.
- Поддержка различных сцен и перспектив.
- Открытый доступ к полному фреймворку обучения.
- Инновационные техники для снижения задержек.
📌 GitHub: https://github.com/Tencent-Hunyuan/HY-WorldPlay
#python
🎥🚀 Wan-Move: Motion-Controlled Video Generation
Wan-Move представляет собой инновационную платформу для генерации видео с управлением движением, обеспечивая высокое качество и точность. Используя новаторское руководство по латентным траекториям, проект позволяет создавать 5-секундные видео с точным контролем на уровне объектов, интегрируясь с существующими моделями без изменений архитектуры.
🚀 Основные моменты:
- 🎯 Высококачественная генерация видео 480p с SOTA контролем движений.
- 🧩 Новая методология латентного управления траекторией.
- 🕹️ Точный контроль движений объектов с помощью плотных точечных траекторий.
- 📊 Уникальный бенчмарк MoveBench для оценки движений.
📌 GitHub: https://github.com/ali-vilab/Wan-Move
#python
🎉 Превратите статьи в слайды за один клик! 🎉
Paper2Slides позволяет быстро создавать профессиональные слайды и постеры из научных статей и документов. Поддерживает множество форматов, включая PDF и Word, с точным извлечением данных и возможностью кастомизации стилей.
🚀 Основные моменты:
- 📄 Поддержка различных форматов документов
- 🎯 Точное извлечение контента с сохранением источников
- 🎨 Возможность кастомизации стилей с помощью естественного языка
- ⚡ Быстрое создание слайдов с режимом предварительного просмотра
📌 GitHub: https://github.com/HKUDS/Paper2Slides
#python
🗣 Qwen3-TTS - мощный open-source релиз (voice design + клонирование голоса)
Qwen официально выпустили Qwen3-TTS и полностью открыли всю линейку моделей - Base / CustomVoice / VoiceDesign.
Что внутри:
- 5 моделей (0.6B и 1.8B классы)
- Free-form Voice Design - генерация/редаквтирование голоса по описанию
- Voice Cloning - клонирование голоса
- 10 языков
- 12Hz tokenizer - сильная компрессия аудио без сильной потери качества
- полная поддержка fine-tuning
- заявляют SOTA качество на ряде метрик
Раньше лучшие генераторы были в закрытых API, а теперь появляется полноценный open-source стек TTS, где можно:
- обучать под домен,
- делать кастомные голоса,
- и не зависеть от провайдера.
▪GitHub: https://github.com/QwenLM/Qwen3-TTS
▪Hugging Face: https://huggingface.co/collections/Qwen/qwen3-tts
▪Демо (HF): https://huggingface.co/spaces/Qwen/Qwen3-TTS
▪Блог: https://qwen.ai/blog?id=qwen3tts-0115
▪Paper: https://github.com/QwenLM/Qwen3-TTS/blob/main/assets/Qwen3_TTS.pdf
@ai_machinelearning_big_data
#AI #TTS #Qwen #OpenSource #SpeechAI
🌟 GenRobot RealOmni-OpenData: апдейт датасета для Embodied AI
RealOmni - это не просто каталог видео, где роборука хватает кубик на белом столе. Это мультимодальный подарок с траекториями, аннотациями и движениями суставов.
🟡Сенсоры
Картинка с Fisheye-камер, данные IMU (инерциалка), энкодеры и данные с тактильных датчиков с разрешением 1 мм.
🟡Сценарии
Снимали в 3000 реальных домах, никаких стерильных лабораторий: складывание одежды, завязывание шнурков, разбор посуды и сортировка всякого хлама.
🟡Bimanual manipulation
Почти все таски двурукие.
🟡Long-horizon
Медианная длина клипа ~ 210 секунд. То есть это не "схватил-положил", а полноценные процессы "достать, сложить, убрать в ящик".
В свежем обновлении добавили 35 тыс. клипов с фокусом на разгребание куч разнородных предметов. Это именно та задача, на которой сыпется большинство моделей.
Немного цифр о всем датасете
🟢Объем (заявленный): 95 ТБ (об этом ниже).
🟢Количество клипов: 1M+ (в планах).
🟢Разрешение: 1600x1296 @ 30fps.
🟢Формат: .mcap (стандарт для ROS, внутри сжатый H.264).
Весть проект запланирован объемом 95 ТБ и хронометражем 10,000 часов. Но если посчитать, то что уже залито (Stage 1 + Stage 2), то суммарно около 5.4 ТБ и ~1600 часов. Остальное обещают догрузить as soon as possible.
🟡Важно знать
Данные собраны специфическим гриппером GenDAS, так что если у вас другой сенсорный массив (или его нет), transfer learning может стать болью. Ассеты заточены под железку GenRobot.
Это все еще телеоперация. То есть мы учим робота копировать движения человека-оператора и если он тупил или руки дрожали сетка это тоже выучит.
Тем не менее, это очень крутой релиз для тех, кто пилит домашних роботов. Данные по завязыванию шнурков и разбору предметов в open-source редкость.
📌Лицензирование: CC-BY-NC-SA-4.0 License.
🟡Датасет
🖥GitHub
@ai_machinelearning_big_data
#AI #ML #Robotics #Dataset #RealOmni #GenRoborAI
⚡️ Как запустить Qwen у себя на ПК с Python
Совет: если хочешь развернуть Qwen локально без облака, проще всего поставить её через Transformers - модель скачивается один раз и дальше работает офлайн.
Подходит даже для слабых ПК, если брать маленькие версии (например, Qwen-2.5-1.5B-Instruct).
Читать полностью…
# Установка:
# pip install transformers accelerate torch
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
MODEL_NAME = "Qwen/Qwen2.5-1.5B-Instruct"
# Модель и токенайзер загрузятся один раз — потом работают офлайн
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForCausalLM.from_pretrained(
MODEL_NAME,
torch_dtype=torch.float16,
device_map="auto" # автоматически использует GPU, если есть
)
prompt = "Объясни простыми словами, чем контейнер отличается от виртуальной машины."
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=200,
do_sample=True,
temperature=0.7
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
🖥 Сравнение лучших библиотек визуализации данных на Python в 2025 году
Визуализация данных помогает разработчикам и аналитикам превращать таблицы цифр в наглядные графики, карты и панели мониторинга. В 2025 году Python остаётся доминирующим языком для анализа данных и визуализации: популярность языка подтверждают исследовательские индексы и рост сообщества. Экосистема Python предлагает десятки библиотек для построения графиков — от классических 2‑D диаграмм до интерактивных веб‑панелей. Ниже приведён обзор самых актуальных библиотек визуализации данных для Python на 2025 год и их отличительные особенности.
https://uproger.com/sravnenie-luchshih-bibliotek-vizualizaczii-dannyh-na-python-v-2025-godu/
Приехали, Линус тоже стал вайб-кодером 😄
В README одного из его хобби-проектов нашли признание: визуализатор ему помог писать ИИ.
Сам Линус честно говорит:
в аналоговых фильтрах он разбирается куда лучше, чем в Python
https://github.com/torvalds/AudioNoise
🔍 AI для пентестинга: PentestAgent
PentestAgent — это инструмент для автоматизированного пентестинга с использованием ИИ. Он поддерживает различные модели, включая OpenAI и Anthropic, и предлагает многофункциональный интерфейс для взаимодействия с пользователем. Включает предустановленные инструменты и сценарии для тестирования безопасности.
🚀Основные моменты:
- Поддержка нескольких ИИ моделей для анализа
- Многоуровневый интерфейс с командной строкой и TUI
- Встроенные инструменты для пентестинга
- Возможность работы в Docker для изоляции
- Автоматизация задач с помощью playbooks
📌 GitHub: https://github.com/GH05TCREW/pentestagent
📄 Конвертация сессий Claude Code в HTML 📄
Этот инструмент позволяет преобразовывать файлы сессий Claude Code (JSON/JSONL) в удобные для чтения HTML-страницы с пагинацией. Идеально подходит для архивирования и просмотра сессий в мобильном формате.
🚀 Основные моменты:
- Преобразует сессии в многостраничные HTML-транскрипты.
- Поддерживает локальные и веб-сессии через API Claude.
- Возможность публикации на GitHub Gist для удобного доступа.
- Автоматическое создание папок для хранения выходных данных.
📌 GitHub: https://github.com/simonw/claude-code-transcripts
#python
⚡️ Базовая аутентификация в Django: как сделать правильно
В статье рассматривается, как настроить базовую (Basic) аутентификацию в Django для API и защищённых ресурсов.
Что такое Basic Authentication
Это самый простой способ аутентификации по HTTP: клиент отправляет логин и пароль в заголовке Authorization: Basic …, закодированные в base64. Подходит для API, но требует HTTPS, так как пароль передаётся в каждом запросе.
Django по умолчанию не предоставляет Basic Auth для view-функций. Он есть только в Django REST Framework. Если нужен собственный API или простая защита эндпоинтов без DRF — придётся реализовать самому.
Подход из статьи
Автор показывает, как создать middleware или декоратор, который:
- проверяет заголовок Authorization
- декодирует базу64
- валидирует логин/пароль
- возвращает 401 Unauthorized, если аутентификация не прошла
Пример (упрощённо):
1) Извлекаем заголовок
2) Проверяем, что он начинается с Basic
3) Декодируем base64
4) Сравниваем с нужными учётками
Для Django-view это можно обернуть в декоратор и использовать так:
@basic_auth_required
def my_view(request):
…
🚀 Mistral Vibe: Ваш AI-ассистент для кода
Mistral Vibe — это командный интерфейс для взаимодействия с вашим кодом на естественном языке. Он позволяет исследовать, изменять и управлять проектами с помощью мощного набора инструментов, включая манипуляцию файлами и выполнение команд.
🚀 Основные моменты:
- Интерактивный чат с AI для выполнения задач.
- Поддержка манипуляций с файлами и командной строки.
- Автоматическое сканирование структуры проекта для контекста.
- Высокая настраиваемость через конфигурационные файлы.
- Безопасность выполнения инструментов с подтверждением.
📌 GitHub: https://github.com/mistralai/mistral-vibe
#python
💼 ru-test-assignments - большая база реальных тестовых заданий от IT-компаний
ru-test-assignments - это открытая коллекция настоящих тестовых заданий, которые кандидаты получали на собеседованиях в российских IT-компаниях.
Без абстрактных задач «в вакууме» только то, что реально спрашивают.
Что внутри 👇
• Сотни заданий по направлениям:
Frontend, Backend, QA, Android, iOS, Data Science, DevOps
• Компании из топа рынка:
Avito, Яндекс, Тинькофф, Сбер, Ozon, VK и другие
• Разные языки и стеки:
Python, JavaScript, Go, Java, PHP, Ruby, C#
• Готовые задания можно прикреплять в портфолио (например, через Hexlet CV)
Почему это полезно:
- понимаешь реальные требования рынка
- тренируешься на задачах уровня интервью
- закрываешь пробелы в стеке
- усиливаешь портфолио без выдуманных кейсов
Отличный ресурс для подготовки к собеседованиям и оценки своего уровня.
https://github.com/Hexlet/ru-test-assignments
🔴 Реальный собес на Python от ТехЛида с опытом работы в Авито и Яндексе в прямом эфире
23 декабря (уже сегодня!) в 19:00 по мск приходи на прямой эфир с реальным собеседованием на Middle разработчика.
Почему точно нужно прийти:
📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Савве
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
🖥 Гайд по продвинутому профессиональному использованию SQL
В этом руководстве мы рассмотрим ключевые аспекты работы с SQL на практике. Начнём с сравнения популярных СУБД, затем перейдём к продвинутым приёмам аналитического SQL, оптимизации запросов, администрированию баз данных, и закончится всё интеграцией SQL с Python (SQLAlchemy, pandas и т.д.).
Для каждого раздела приведены примеры на реальных сценариях (интернет-магазин, CRM, аналитика продаж), код и полезные советы.
👉 Читать гайд
🔥 Новый курс на Stepik: Linux - апгрейд твоих скиллов до уровня инженера
Хватит быть “кликавшим по GUI”. Пора понимать систему изнутри.
Что освоишь:
• Bash, grep, sed, awk - инструменты взрослых админов
• Процессы, сеть, права, логирование и починка поломок
• SSH, firewall, systemd, cron, автозапуск сервисов
После курса: Linux перестаёт быть загадкой - ты будешь работать с ним уверенно.
30% скидка на 48 часов
👉 Начни учиться на Stepik.
❤️❤️❤️❤️❤️❤️❤️❤️
Git Quest: 12 заданий до Нового года 🎁
SourceCraft приглашает разработчиков в новогодний Git-квест!
12 заданий — от выращивания ASCII-ёлки до спасения подарков через git bisect.
🎅 Персональный рейтинг — чем активнее коммитишь, тем выше в лидерборде.
🎅 Истории, пасхалки и праздничные шаги: украшай репозиторий, помогай Деду Морозу, прокачивай свой Git.
Старт — 10 декабря, финал — 30 декабря, а пока можешь потренироваться — первое задание уже открыто.
Приготовь оливье, включи IDE и отправляйся в путешествие по новогоднему репозиторию.
🖥 Как правильно задавать разные потоки случайности в Python
Не полагайся на “хитрые” семена случайности в Python!
Python игнорирует знак числа в random.seed, поэтому seed от трех и seed от минус трех дают одинаковые результаты.
Разные seed не обязательно означают разные потоки — Python гарантирует только одно: одинаковый seed → одинаковая последовательность.
Если нужны независимые случайные потоки - создавай отдельные RNG или используй разные числовые диапазоны, а не вариации знака.
import random
rng_train = random.Random(42) # отдельный генератор для train
rng_test = random.Random(99) # отдельный генератор для test
print(rng_train.randint(1, 100))
print(rng_test.randint(1, 100))