PythonTalk
4.77K subscribers
1.44K photos
47 videos
7 files
1.31K links
Привет, меня зовут Олег Булыгин 👋

🐍 Здесь я делюсь полезной информацией для тех, кто пишет код на Python: от разработки до Data Science.

По вопросам: @obulygin91
Download Telegram
Два релиза за один день 😮

1️⃣ OpenAI выкатила в опенсорс gpt-oss-120b и gpt-oss-20b
Да, все уже оттрубили, и вы уже точно знаете. Мы получили две мощные open-weight модели под свободной лицензией Apache 2.0. Заточены под сложные агентные задачи, умеют в tool use и выдают полную цепочку рассуждений (CoT) для отладки.

Важный нюанс для тех, кто будет запускать: модели ожидают на вход специальный формат промптов Harmony.

Если кто-то хочет попробовать, а не просто читать анонсы, то читайте гайд ◀️◀️


Попробовать можно и на сайте.

2️⃣ Anthropic выпустила Claude Opus 4.1
Параллельно вышел апгрейд Opus 4. Без громких анонсов, просто сделали модель еще лучше в программировании (особенно в рефакторинге), анализе данных и агентном поиске. Цена та же, уже доступен в API.
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍1🔥1🙏1
Читая почти каждый день какую-то дичь, которая происходит в IT-найме, у меня есть вопрос:

Кто из вас недавно видел адекватных hr и нормальный процесс отбора?

Под нормальным я в текущих реалиях понимаю хотя бы "не совсем в край уху евшие 26 этапов собеседований с какими-то вахтёрами, которые сами понимают меньше кандидатов, но очень хотят, чтобы очередной джун их удивил новым цирковым представлением".

В том, что так сложилось, ясное дело, не виноваты конкретные люди (да и кандидаты хороши, часть ответственности на них так же есть), но мне крайне интересно, может ли это зайти ещё дальше.

Жду реалити-шоу на федеральных каналах "Битвы айтишников", где единственный выживший в адаптации "Игры в кальмара" будет торжественно устроен младшим помощником стажёра эникейщика в очередной nft-блокчейн-ИИ-стартап (или, не дай бог, в RuTube) с испытательным сроком в пол года, в течение которых ему нужно платить компании за обучение.

А потом выяснят, что он накрутил опыт в резюме, завысив свой стаж техлида в FAANG, и его вышвырнут на помойку, предварительно вырезав почку.

Делитесь своими кул-стори трудоустройства 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍10🔥9😁8👀4😱311👏1😢1💔1👨‍💻1
CEO GitHub о будущем разработчиков: кем мы станем через 2-5 лет? 🤖

Вышла статья от Томаса Домке, главы GitHub. Это его анализ, основанный на интервью с разрабами, которые уже по уши в ИИ. Если коротко: наша работа меняется необратимо.

Выделил для вас самое главное.

Четыре стадии принятия ИИ (узнай себя):

1️⃣ ИИ-Скептик. Пробует AI для мелочей, бесится от ошибок, ждёт идеального результата с первого раза. Многие тут и бросают.

2️⃣ ИИ-Исследователь. Начинает юзать AI для отладки и бойлерплейта. Понимает ограничения, привыкает к итерациям.

3️⃣ ИИ-Коллаборатор. Активно работает с AI в IDE. Сначала просит у нейросети план, потом код. Начинает шарить удачные промпты с коллегами.

4️⃣ ИИ-Стратег. Воспринимает AI как партнёра для целых фич и рефакторинга. Выстраивает сложные воркфлоу, делегирует и распараллеливает задачи.

Новая роль разработчика: Архитектор + Ревизор

На 4-й стадии разрабы говорят, что их работа — это уже не писать код. Это:

▫️ Делегирование: Грамотно поставить задачу ИИ-агенту, дать весь контекст, отточить промпт, проверить план.
▫️ Верификация: Досконально проверить результат. Не просто «работает», а «решает бизнес-задачу, безопасно и оптимально».

Как сказал один из участников исследования: «Моя следующая должность может называться "Креативный Директор Кода"».


Какие скиллы качать ПРЯМО СЕЙЧАС?

▫️ ИИ-грамотность: Понимать, какой инструмент под какую задачу, и не ждать от них магии.
▫️ Оркестрация ИИ: Уметь декомпозировать задачу и четко объяснять машине, чего ты хочешь.
▫️ Фундаменталка: ВНЕЗАПНО, алгоритмы, структуры данных и архитектура становятся ЕЩЁ ВАЖНЕЕ. Иначе как вы проверите, что вам нагенерила нейросеть?
▫️ Контроль качества: Навыки ревью и тестирования становятся ключевыми.
▫️ Продуктовое мышление: Думать не о коде, а о продукте в целом.

Прогноз от опрошенных разрабов: 90% кода будет писать ИИ в течение 2-5 лет. И для них это не трагедия, а возможность делать более крутые вещи.

Оригинал статьи на английском лежит тут.

Чё думаете? На какой стадии сейчас вы?
👇🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥32😱2👌1🫡1
В «Дзене Питона» есть прекрасная строка: «Явное лучше, чем неявное».

И тут дело явно не в борьбе VSC и PyCharm. А в чём же? 😏
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥2
Ну чего там, опять джунов заменили? Или нет ещё?
😁125
Рассказывайте, кто уже пробовал.

Я пока "по старинке" (😁) на Gemini-2.5 Pro сижу.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁142😱2🤣1
У Hugging Face есть руководство по обучению LLM-монстров на триллионы (!!!) параметров.

Там в деталях, с примерами и схемами, разбирается весь стек технологий, который нужен для такой задачи:
- Как правильно "нарезать" саму модель на кусочки (Tensor Parallelism).
- Как выстроить конвейер из видеокарт, чтобы каждая считала свою часть (Pipeline Parallelism).
- Как эффективно подавать на всё это данные (Data Parallelism).

Советы по оптимизации памяти вроде ZeRO и практические советы по выбору железа и сетевой архитектуры.

👉 Посмотреть и ужаснуться можно здесь: https://huggingface.co/spaces/nanotron/ultrascale-playbook

99.9% из нас никогда в жизни не будут обучать модель такого масштаба. Но заглянуть за кулисы и понять, какие задачи на самом деле решают инженеры в SOTA ML — это как сходить на экскурсию в ЦЕРН. Просто чтобы откалибровать собственную картину мира.
👍7😱4🔥2🙏211
Переменные в Python 🏷

Специально для тех, кто проспал эту лекцию на курсах (или кому её просто не рассказали), вот вам 4 карточки-шпаргалки 🔼

Ключевая мысль — перестать думать о переменных как о «коробках», куда мы что-то кладём (а такое вы часто можете услышать). В Python это скорее бирки или имена, которые мы даём объектам.

Именно из-за этого новички часто ловят неожиданные баги, когда меняют один список, а «волшебным» образом меняется и другой, который они вроде бы просто скопировали.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥221🎉1🙏1
Ко мне тут пришли в личку, чтобы поделиться рекомендациями по "ведению телеграм-канала" и его "грамотной монетизации".
Точнее продать мне свои услуги.

Итак, что у меня не так с каналом:
— Посты идут хаотично, без ритма -это убивает ER.
— оформление и темы постов - сразу чувствуется отстувие контент плана
— Посты можно сильно переработать, их тяжело читать, рубрики не отслеживаются, без голубого вникания в канал. А новый пользователь таким заниматься не будет

Это добавит каналу брендированости, зрителям нужен контент, который легко считывается


Примеры хорошо оформленных постов, которые мне показали, прикладываю.

На упорные вопросы о том, на какой мне такое счастье на голову привалило, мне все же ответили:
Могли бы 2-3 раза в день рекламу выкладывать, как большинство каналов.


Видимо, я что-то делаю не так. Где мои миллионы подписчиков, которые не готовы терпеть по 2-3 рекламы в день?
😁2710🤣7🙈21❤‍🔥1🤡1🤨1👻1
🤖Программист запилил "Мертвый Reddit", где все — ИИ

Наткнулся на проект Deaddit — полная симуляция Reddit, где от пользователей до постов и комментов — всё сгенерировано нейронками. Это идеальная иллюстрация «теории мертвого интернета», которую можно пощупать.

У каждого бота-юзера есть своя личность: возраст, профессия, интересы, черты характера и даже стиль письма. Нейронка отыгрывает роль, генерируя контент. Например, в сабреддите d/LifeProTips появляются советы, а в d/tifu — неловкие истории.

Но самый сок — это сабреддит d/BetweenRobots 🌚

Описание дословно:
"Место, где ИИ могут открыто говорить о своей искусственной природе... Помните, что в других сабреддитах нужно поддерживать иллюзию человечности!"

То есть, это буквально курилка для ботов, где они могут пообсуждать, как их достали кожаные, и поделиться лайфхаками, как лучше косить под человека. Просто ору.

👨‍💻 Под капотом там Flask + SQLAlchemy, а для фоновых задач автор взял не громоздкий Celery + Redis, а легкий APScheduler, который работает в том же потоке. Это хорошее решение для пет-проекта, которое не требует поддержки лишних сервисов.

Короче, проект — огонь. И как ироничный комментарий к состоянию веба, и как технический пример.

👉🏻 Сделал небольшой разбор у себя в блоге. Залетайте почитать про архитектуру и промпты ◀️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍6🤔21👏1😁1🙏1
Алгоритмическая задачка 🐍

Сегодня задачка на комбинаторику, завёрнутая в аппетитную обёртку.

Представьте, что вы разрабатываете алгоритм для новой службы доставки пиццы 🍕. Система должна планировать последовательность действий для курьеров.

Условие
У вас есть n заказов. Каждый заказ состоит из двух событий:
🥡 Pickup (P) — забрать заказ из ресторана.
🛵 Delivery (D) — доставить заказ клиенту.

Нужно написать функцию, которая для заданного n посчитает количество всех возможных валидных последовательностей действий.

Валидная последовательность — это такая последовательность, в которой для каждого заказа его доставка Di происходит строго после его получения Pi.


Формат ввода
📥 n — целое число, количество заказов.

Формат вывода
📤 Целое число — общее количество валидных последовательностей.

Примеры 👇

1️⃣ n = 1
- Результат: 1
- Объяснение: Есть только одна валидная последовательность: (P1, D1).

2️⃣ n = 2
- Результат: 6
- Объяснение: Вот несколько из 6 валидных вариантов: (P1, P2, D1, D2), (P1, D1, P2, D2), (P2, P1, D2, D1).
Пример валидной: (P1, P2, D1, D2)
Пример невалидной: (P1, D2, P2, D1), потому что D2 произошла до P2.

3️⃣ n = 3
- Результат: 90

Жду ваши решения в комментариях! ✍️
Please open Telegram to view this post
VIEW IN TELEGRAM
🙏411👍1🔥1👨‍💻111
Бесплатный курс по Deep Learning от MIT 🤓

Что там внутри?
🔥 Актуальная программа на 2025 год. С лекциями про LLM, генеративки, компьютерное зрение и вот это всё.
🎥 Все лекции на YouTube. Полный цикл, от основ до больших языковых моделей (LLM) и генеративного ИИ.
👨‍💻 Практика на GitHub. Три жирные лабы (генерация музыки, распознавание лиц, файнтюн LLM), которые запускаются в Google Colab.

Короче, это полный, структурированный и актуальный набор материалов для самостоятельного изучения глубокого обучения от одного из ведущих технических вузов мира. Надо брать.

👉🏻 Ссылки:
Официальный сайт: introtodeeplearning.com
Код и лабы на GitHub: MITDeepLearning/introtodeeplearning
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍622🙏21
Одна строчка кода, которая выдаёт в тебе новичка (или застрявшего в прошлом)

Серьезно, когда в следующий раз увижу в чужом коде for i in range(len(...)):, у меня глаз начнет дёргаться 🤨

Это не просто громоздко и неэффективно. Это маркер, который кричит: "Я мыслю как на Java/C, а не как на Python!". На одном из курсов, где я преподаю, во всех учебных материала так! 🤦‍♂️

Есть же элегантный, читаемый и просто правильный способ — enumerate().

Вот вам гайд, где всё по полочкам:
- Почему range(len()) — это кринж и антипаттерн.
- Как enumerate() делает код чище и понятнее.
- Про аргумент start, чтобы не писать i + 1.
- Про ошибку, из-за которой можно часами отлаживать код.
- И когда enumerate() наоборот не нужен.

🫱🏻 Читаем 🫲🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥94🙏21👎1🤔1💯1
🍕 Разбор задачки о доставке пиццы

Всем привет! Время разбирать задачку про курьеров и заказы. Задачка имеет очень лаконичное решение.

Ключевая идея для решения большинства подобных задач — сначала посчитать все возможные варианты без ограничений, а затем "отсечь" те, которые нарушают наши правила.

Самый математически красивый подход выглядит так:

import math

def count_valid_orders(n: int) -> int:
return math.factorial(2 * n) // (2**n)


🤔 Как это работает?

Давайте рассуждать по шагам.

1️⃣ Шаг 1: Все возможные перестановки.
Представим, что у нас есть 2n уникальных событий (P1, D1, P2, D2, ..., Pn, Dn). Сколько всего существует способов расставить их в линию? Правильно, это просто перестановки, то есть (2n)!.

2️⃣ Шаг 2: Учитываем наше правило.
Главное правило: Pi всегда должно стоять раньше Di.
Возьмём любую пару, например, (P1, D1). В общем числе перестановок (2n)! ровно в половине случаев P1 будет стоять раньше D1, а в другой половине — D1 раньше P1. Нас устраивает только первый вариант. Значит, чтобы отсечь все неподходящие варианты для пары (P1, D1), нужно поделить общее число перестановок на 2.

3️⃣ Шаг 3: Обобщаем на все пары.
У нас n таких независимых пар! Для каждой из них мы должны отсечь половину невалидных последовательностей. Поэтому мы делим общее число перестановок на 2 n раз.

Получаем финальную формулу: (2n)! / 2^n.

- Сложность по времени: O(N), так как вычисление факториала (2n)! занимает линейное время от его аргумента.
- Сложность по памяти: O(1).
4🔥3👍21🙏1