PythonTalk
5.13K subscribers
1.66K photos
57 videos
6 files
1.4K links
Привет, меня зовут Олег Булыгин 👋

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

По вопросам: @obulygin91
Download Telegram
База.

#хих
🤣29😁5🐳2🤪1🙊11
Сегодня несложная задачка, которая будет знакома тем, кто был на моих лекциях 🌝

Условие:
Нужно написать функцию, которая на вход принимает строку.
— Если длина строки нечётная, функция должна вернуть её центральный символ.
— Если чётная – два центральных символа.

Примеры:
center("test") → "es"
center("testing") → "t"
center("middle") → "dd"
center("A") → "A"

Кто придумает самый лаконичный способ? 🧠

#алгособес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥11
This media is not supported in your browser
VIEW IN TELEGRAM
Навигация по проекту... в прямом смысле слова 🚤

Наткнулся тут на плагин для VS Code под названием Gitlantis. Он превращает вашу файловую систему в 3D-океан, по которому вы плаваете на небольшом корабле.

Механика простая: папки — это маяки, а файлы — буйки. Подплываешь, жмешь Shift+Enter и либо переходишь в директорию, либо открываешь файл.

С одной стороны — абсолютно бесполезная штука, которая жрет ресурсы и объективно замедляет работу. С другой — может, именно такой вот абсурд и помогает не сойти с ума.

Кому интересно пощупать:
Демо в браузере
Плагин для VS Code

#фана_ради
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10😁821👍1
Что будет, если чёрная дыра засосёт саму себя? 🕳

#квиз
👍7🔥11
Что получим при запуске кода?
Anonymous Quiz
20%
RecursionError
34%
[[]]
14%
[]
7%
None
14%
[[…]]
10%
[deep]
🔥10👍43
Разбираем задачку на нарезку строки 🐍

В общем-то, все альтернативы сводятся к "использовать условия / циклы / сравнения" (громоздко) или "использовать математическое колдунство" (изящно).

1️⃣ Математический дзен
Очень хорошее решение через divmod. Это встроенная функция, которая возвращает кортеж (частное, остаток).

def center_divmod(s):
# a — середина (частное)
# b — остаток (1 если нечет, 0 если чет)
a, b = divmod(len(s), 2)

# Магия индексов:
# Если b=1 (нечет): срез [a:a+1] (один символ)
# Если b=0 (чет): срез [a-1:a+1] (два символа)
return s[a - 1 + b : a + 1]

Использование b как переключателя (0 или 1) позволяет менять начальный индекс среза без использования if.

2️⃣Математический дзен, если не вспомнили про divmod
Самый лаконичный способ в таком случае — вычислить универсальные границы среза, которые работают и для чётной, и для нечётной длины.

def center_slice(s):
return s[(len(s) - 1) // 2 : len(s) // 2 + 1]


Как это работает? 🔍
Давайте проверим математику границ среза [start : end]:
🔵(len(s) - 1) // 2: так вычисляется начальный индекс среза. Если длина строки нечётная, это будет индекс центрального символа. Если длина строки чётная, это будет индекс первого из двух центральных символов.
🔵len(s) // 2 + 1: а так мы получаем конечный индекс среза. Он всегда будет на один больше середины строки.

Оба решения имеют сложность O(1) (или O(K), где K — длина среза, но она у нас ничтожно мала — 1 или 2 символа).

#алгособес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
Colab добрался и до AI-редакторов 👾!

Помните, что недавно вышло официальное расширение для интеграции Colab в VSCode?

Теперь плагин можно накатить и на AI-based IDE: Antigravity, Cursor и Windsurf.

Если вы, как и многие сейчас, мигрируете с "ванильного" VSCode на инструменты с нативным ИИ, то теперь не придётся жертвовать удобным доступом к гугловским мощностям.

Как это завести:

1️⃣ Идем в Extensions вашей IDE, выбираем маркетплейс Open VSX и ставим Google Colab.
2️⃣ Открываем любой .ipynb файл в проекте.
3️⃣ Жмем Select Kernel (справа сверху) ➡️ выбираем Colab.
4️⃣ Логинимся, цепляем рантайм — готово.

Работает идентично оригинальной версии.

#тулбокс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥631🤝1
📑 ВЫШЛА БИБЛИЯ CODE AI НА 300 СТРАНИЦ

Группа исследователей из Alibaba, ByteDance, Huawei и топовых университетов выкатила монументальный труд: "From Code Foundation Models to Agents and Applications".

Это огромный обзор всего, что произошло с Code LLM с 2021 по 2025 год.

Вот самая мякотка:

1️⃣ Python — самый «жадный» язык 🐍
Исследователи вывели законы масштабирования (Scaling Laws) для разных языков. Оказалось, что Python требует больше всего параметров и данных, чтобы модель начала выдавать годный код.
Почему? Из-за динамической типизации и огромного разнообразия идиом.
А вот строгие C#, Java и Rust модели "выучивают" гораздо быстрее — там синтаксис не дает разгуляться, энтропия ниже.

2️⃣ Секрет успеха — RLVR
Простого SFT (Supervised Fine-Tuning) уже недостаточно. Чтобы модель реально думала, а не просто подражала паттернам, нужен Reinforcement Learning with Verifiable Rewards. Грубо говоря: модель генерит код -> прогоняет юнит-тесты -> получает награду, если тесты прошли. Именно так тренируются SOTA-модели.

3️⃣ Эволюция: от Copilot к Агентам
Мы официально перешли из эры "AI-Assisted" (допиши строчку) в эру "AI-Driven" (вот тебе тикет, иди фикси баг).
Бенчмарки типа SWE-bench показывают, что будущее не за моделями, которые просто пишут код, а за агентами, которые умеют:
— Читать документацию.
— Запускать код.
— Дебажить по трейсбекам (как люди).
— Лазить по всему репозиторию.

4️⃣ Insecure by Design
Авторы честно признают: Code LLM небезопасны по умолчанию. Они обучаются на публичном коде (GitHub), который кишит уязвимостями. Модель идет по пути наименьшего сопротивления: генерит рабочий, но дырявый код. Без специальных этапов "Safety Alignment" и использования статических анализаторов в цикле обучения, вы просто масштабируете легаси-баги.

👉 Ссылка на PDF (arXiv)
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥5👍2🙏1
Учим LLM по API говорить на языке машин (JSON + Code) 🤖

🚀 На следующем эфире 11 декабря в 19:30 по мск в Точке Сборки мы разберем:

Укрощение хаоса: Как заставить модель гарантированно возвращать чистый JSON, который не сломает ваш код (Pydantic + Parsers).
LLM как программист: Генерируем Python-функции, SQL-запросы и скрипты для Pandas.
Code execution: Создаем "песочницу", где нейросеть сама пишет и выполняет код для решения задач, которые ей "не по зубам" (сложная математика, визуализация).

Pydantic, LangChain, Code Execution, вот это всё 😉

Предварительные требования:
— Базовое знание Python (понимание, что такое классы, функции, словари).
— Желательно просмотреть запись первого эфира по основам взаимодействия с LLM.

Присоединяйтесь ◀️◀️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥6🙏32
🧑‍💻 Anthropic препарировали сами себя: как ИИ изменил работу их программистов

Заменять ли нейронки джунов? Anthropic провели собственное исследование и выкатили подробный отчет. Они опросили своих же сотрудников (август 2025), чтобы понять, как инструменты вроде Claude Sonnet 4 и Opus 4 меняют саму суть профессии.

Вот самое интересное:

1️⃣ Все стали "Фуллстеками поневоле"
Границы специализации стираются в труху. Бэкендеры теперь пилят сложные UI, безопасники сами пишут визуализацию данных.
Почему? Потому что "страх чистого листа" исчез. Раньше ты бы не полез в незнакомый стек, чтобы не тратить неделю на чтение доков. Теперь ты просто просишь Клода накидать базу.
Итог: Люди делают задачи, которые раньше были "не рентабельны" или "слишком сложны". Продуктивность выросла на 50% (по самоощущениям), а объем закрытых задач — кратно.

2️⃣ Смерть менторства и социальная изоляция
Джуны перестали ходить к сеньорам с вопросами.
«Зачем мне отвлекать коллегу, если Клод отвечает быстрее и не закатывает глаза?»

А сеньоры жалуются:
«Мне грустно, что я нужен им меньше»

В моменте это бустит скорость. На дистанции — мы рискуем получить поколение инженеров, которые не умеют учиться у людей и перенимать неявные знания (engineering culture, который через промпт не передашь).

3️⃣ Парадокс надзора (The Paradox of Supervision)
Самый жирный инсайт: инженеры делегируют ИИ всё больше. Но чтобы проверить код ИИ, тебе нужна высокая экспертиза. А чтобы иметь экспертизу, тебе нужно... писать код руками.
Получается замкнутый круг: чем больше ты отдаешь нейронке, тем быстрее атрофируются навыки, необходимые для того, чтобы понять, что она написала дичь.
Один из инженеров привел шикарный пример:
«Клод предложил решение, которое выглядело очень умным, но опасным. Такое мог бы предложить очень талантливый джуниор. Только опытный глаз увидел, что это мина замедленного действия».


4️⃣ Эффект "Papercuts" (Порезы бумагой)
Из позитивного: люди начали чинить мелкие баги, рефакторить старое легаси и писать тесты/документацию — то, на что раньше всегда "не хватало времени".
ИИ отлично закрывает задачи категории "скучно, но надо". Тут вопросов нет, это чистый вин.

5️⃣Эволюция в "Менеджеров Агентов"
Программирование превращается в менеджмент. Вместо написания циклов вы управляете 5-10 инстансами Клода одновременно.
Одни видят в этом кайф («я теперь архитектор, а не чернорабочий»), другие — экзистенциальный ужас («я чувствую, что каждый день прихожу на работу, чтобы автоматизировать самого себя и остаться без работы»).

В общем, классическая ловушку комфорта. Как с навигатором: сначала ты включаешь навигатор только в незнакомом городе, а через год не можешь доехать до работы без него, потому что мозг разучился строить маршруты. В программировании происходит то же самое.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥103💯3😱2❤‍🔥1👍1🙏1
Регулярная рубрика: по каким поисковым запросам переходят на мой сайт 🤭
В запросы вшиты ссылки на материал, на который в итоге перешли.

В этот раз топ дичи такой:

1️⃣ как дать нейросети деньги и пусть она торгует
Абсолютный лидер моего личного чарта от vibe-инвестора.

2️⃣ код на пайтон для калькулятора я тебя люблю
Романтика в IT жива!

3️⃣ как сделать нижнее подчеркивание в питоне через len
Вот тут мой мозг сломался. Это какая-то новая парадигма программирования, до которой я еще не дорос.

4️⃣ как запиратить notebooklm в россии и как взломать gpt osdd 20b
Киберпанк, который мы заслужили. Взламываем Open Source модели и пиратим бесплатные инструменты.

5️⃣ график boxplot для тупых и график кот с усами seaborn
Ящик с усами (boxplot) — это скучно (или для тупых?). А вот кот с усами — это выбор мастеров визуализации.

6️⃣ на каком телефоне можно запустить gpt oss 20b
Уровень оптимизма, к которому я стремлюсь. Спойлер: на таком, который зимой можно использовать вместо обогревателя для небольшого цеха.

7️⃣ отечественный аналог python
Импортозамещение зашло слишком далеко.

8️⃣ как понять что компания стабильна по диаграмме ящик с усами
Тот случай, когда технический анализ встречается с математической статистикой в темном переулке.

#хих
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣15❤‍🔥4😁22🔥1🙏1
Функция zip() в Python 🤐

Все знают zip() и то, что эта функция обрезает результат по самому короткому списку. Но все ли знают, что в Python 3.10 завезли параметр strict=True? Если длины итерируемых объектов не совпадут, zip больше не будет молчать, а кинет ValueError.

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

#анатомия_питона
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥71
🔍Тестовое собеседование на Middle Python с разработчиком из Авито завтра

9 декабря(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.

Как это будет:
📂 Даня, старший разработчик в Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Дане

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир →
@shortcut_py_bot

Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥1
Мясо по LLM-инжинирингу 🥩

Есть такой отличный хаб — Parlance Labs Education. Там набор докладов от практиков из Hugging Face, Anthropic, Modal, Pytorch.

Чего есть интересного?

1️⃣ Fine-Tuning
Там есть прекрасная дискуссия "Why Fine Tuning is Dead" в противовес гайдам по дообучению. Разбирают, когда тюнинг реально нужен, а когда вы просто сжигаете GPU ради забавы. Плюс хардкор: Axolotl, FSDP, борьба с OOM (Out Of Memory) и оптимизация под конкретное железо.

2️⃣ RAG для взрослых
Вместо "как засунуть PDF в векторную базу", там обсуждают систематическое улучшение RAG-систем и архитектурные паттерны.

3️⃣ Evals
Вместо проверки качества модели "на глаз", обсуждают фреймворк Inspect и систематическую оценку RAG. Если вы не умеете мерить качество своих LLM-приложений цифрами, а не ощущениями — вам сюда.

4️⃣ Napkin Math
"Математика на салфетке" для обучения моделей. Интуитивное понимание того, сколько вам нужно VRAM, времени и денег, до того, как вы запустили кластер.

Ну и всякое другое. К лекциям приложены презентации, транскрипты и, самое важное, листинги кода на Python.

#левел_ап
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥22🙏1