Сегодня несложная задачка, которая будет знакома тем, кто был на моих лекциях 🌝
Условие:
Нужно написать функцию, которая на вход принимает строку.
— Если длина строки нечётная, функция должна вернуть её центральный символ.
— Если чётная – два центральных символа.
Примеры:
center("test") → "es"
center("testing") → "t"
center("middle") → "dd"
center("A") → "A"
Кто придумает самый лаконичный способ?🧠
#алгособес
Условие:
Нужно написать функцию, которая на вход принимает строку.
— Если длина строки нечётная, функция должна вернуть её центральный символ.
— Если чётная – два центральных символа.
Примеры:
center("test") → "es"
center("testing") → "t"
center("middle") → "dd"
center("A") → "A"
Кто придумает самый лаконичный способ?
#алгособес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🔥1 1
This media is not supported in your browser
VIEW IN TELEGRAM
Навигация по проекту... в прямом смысле слова 🚤
Наткнулся тут на плагин для VS Code под названием Gitlantis. Он превращает вашу файловую систему в 3D-океан, по которому вы плаваете на небольшом корабле.
Механика простая: папки — это маяки, а файлы — буйки. Подплываешь, жмешь Shift+Enter и либо переходишь в директорию, либо открываешь файл.
С одной стороны — абсолютно бесполезная штука, которая жрет ресурсы и объективно замедляет работу. С другой — может, именно такой вот абсурд и помогает не сойти с ума.
Кому интересно пощупать:
→ Демо в браузере
→ Плагин для VS Code
#фана_ради
Наткнулся тут на плагин для VS Code под названием Gitlantis. Он превращает вашу файловую систему в 3D-океан, по которому вы плаваете на небольшом корабле.
Механика простая: папки — это маяки, а файлы — буйки. Подплываешь, жмешь Shift+Enter и либо переходишь в директорию, либо открываешь файл.
С одной стороны — абсолютно бесполезная штука, которая жрет ресурсы и объективно замедляет работу. С другой — может, именно такой вот абсурд и помогает не сойти с ума.
Кому интересно пощупать:
→ Демо в браузере
→ Плагин для VS Code
#фана_ради
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10😁8 2⚡1👍1
Что получим при запуске кода?
Anonymous Quiz
20%
RecursionError
34%
[[]]
14%
[]
7%
None
14%
[[…]]
10%
[deep]
🔥10👍4❤3
Разбираем задачку на нарезку строки 🐍
В общем-то, все альтернативы сводятся к "использовать условия / циклы / сравнения" (громоздко) или "использовать математическое колдунство" (изящно).
1️⃣ Математический дзен
Очень хорошее решение через
Использование
2️⃣ Математический дзен, если не вспомнили про divmod
Самый лаконичный способ в таком случае — вычислить универсальные границы среза, которые работают и для чётной, и для нечётной длины.
Как это работает? 🔍
Давайте проверим математику границ среза
🔵
🔵
Оба решения имеют сложность O(1) (или O(K), где K — длина среза, но она у нас ничтожно мала — 1 или 2 символа).
#алгособес
В общем-то, все альтернативы сводятся к "использовать условия / циклы / сравнения" (громоздко) или "использовать математическое колдунство" (изящно).
Очень хорошее решение через
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. Самый лаконичный способ в таком случае — вычислить универсальные границы среза, которые работают и для чётной, и для нечётной длины.
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
Telegram
PythonTalk
Сегодня несложная задачка, которая будет знакома тем, кто был на моих лекциях 🌝
Условие:
Нужно написать функцию, которая на вход принимает строку.
— Если длина строки нечётная, функция должна вернуть её центральный символ.
— Если чётная – два центральных…
Условие:
Нужно написать функцию, которая на вход принимает строку.
— Если длина строки нечётная, функция должна вернуть её центральный символ.
— Если чётная – два центральных…
👍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️⃣ Логинимся, цепляем рантайм — готово.
Работает идентично оригинальной версии.
#тулбокс
Помните, что недавно вышло официальное расширение для интеграции Colab в VSCode?
Теперь плагин можно накатить и на AI-based IDE: Antigravity, Cursor и Windsurf.
Если вы, как и многие сейчас, мигрируете с "ванильного" VSCode на инструменты с нативным ИИ, то теперь не придётся жертвовать удобным доступом к гугловским мощностям.
Как это завести:
Работает идентично оригинальной версии.
#тулбокс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥6 3❤1🤝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)
Группа исследователей из Alibaba, ByteDance, Huawei и топовых университетов выкатила монументальный труд: "From Code Foundation Models to Agents and Applications".
Это огромный обзор всего, что произошло с Code LLM с 2021 по 2025 год.
Вот самая мякотка:
Исследователи вывели законы масштабирования (Scaling Laws) для разных языков. Оказалось, что Python требует больше всего параметров и данных, чтобы модель начала выдавать годный код.
Почему? Из-за динамической типизации и огромного разнообразия идиом.
А вот строгие C#, Java и Rust модели "выучивают" гораздо быстрее — там синтаксис не дает разгуляться, энтропия ниже.
Простого SFT (Supervised Fine-Tuning) уже недостаточно. Чтобы модель реально думала, а не просто подражала паттернам, нужен Reinforcement Learning with Verifiable Rewards. Грубо говоря: модель генерит код -> прогоняет юнит-тесты -> получает награду, если тесты прошли. Именно так тренируются SOTA-модели.
Мы официально перешли из эры "AI-Assisted" (допиши строчку) в эру "AI-Driven" (вот тебе тикет, иди фикси баг).
Бенчмарки типа SWE-bench показывают, что будущее не за моделями, которые просто пишут код, а за агентами, которые умеют:
— Читать документацию.
— Запускать код.
— Дебажить по трейсбекам (как люди).
— Лазить по всему репозиторию.
Авторы честно признают: Code LLM небезопасны по умолчанию. Они обучаются на публичном коде (GitHub), который кишит уязвимостями. Модель идет по пути наименьшего сопротивления: генерит рабочий, но дырявый код. Без специальных этапов "Safety Alignment" и использования статических анализаторов в цикле обучения, вы просто масштабируете легаси-баги.
👉 Ссылка на PDF (arXiv)
Please open Telegram to view this post
VIEW IN TELEGRAM
arXiv.org
From Code Foundation Models to Agents and Applications: A...
Large language models (LLMs) have fundamentally transformed automated software development by enabling direct translation of natural language descriptions into functional code, driving commercial...
❤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.
Присоединяйтесь◀️ ◀️
Pydantic, LangChain, Code Execution, вот это всё 😉
Предварительные требования:
— Базовое знание Python (понимание, что такое классы, функции, словари).
— Желательно просмотреть запись первого эфира по основам взаимодействия с LLM.
Присоединяйтесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥6🙏3❤2
Заменять ли нейронки джунов? Anthropic провели собственное исследование и выкатили подробный отчет. Они опросили своих же сотрудников (август 2025), чтобы понять, как инструменты вроде Claude Sonnet 4 и Opus 4 меняют саму суть профессии.
Вот самое интересное:
Границы специализации стираются в труху. Бэкендеры теперь пилят сложные UI, безопасники сами пишут визуализацию данных.
Почему? Потому что "страх чистого листа" исчез. Раньше ты бы не полез в незнакомый стек, чтобы не тратить неделю на чтение доков. Теперь ты просто просишь Клода накидать базу.
Итог: Люди делают задачи, которые раньше были "не рентабельны" или "слишком сложны". Продуктивность выросла на 50% (по самоощущениям), а объем закрытых задач — кратно.
Джуны перестали ходить к сеньорам с вопросами.
«Зачем мне отвлекать коллегу, если Клод отвечает быстрее и не закатывает глаза?»
А сеньоры жалуются:
«Мне грустно, что я нужен им меньше»
В моменте это бустит скорость. На дистанции — мы рискуем получить поколение инженеров, которые не умеют учиться у людей и перенимать неявные знания (engineering culture, который через промпт не передашь).
Самый жирный инсайт: инженеры делегируют ИИ всё больше. Но чтобы проверить код ИИ, тебе нужна высокая экспертиза. А чтобы иметь экспертизу, тебе нужно... писать код руками.
Получается замкнутый круг: чем больше ты отдаешь нейронке, тем быстрее атрофируются навыки, необходимые для того, чтобы понять, что она написала дичь.
Один из инженеров привел шикарный пример:
«Клод предложил решение, которое выглядело очень умным, но опасным. Такое мог бы предложить очень талантливый джуниор. Только опытный глаз увидел, что это мина замедленного действия».
Из позитивного: люди начали чинить мелкие баги, рефакторить старое легаси и писать тесты/документацию — то, на что раньше всегда "не хватало времени".
ИИ отлично закрывает задачи категории "скучно, но надо". Тут вопросов нет, это чистый вин.
Программирование превращается в менеджмент. Вместо написания циклов вы управляете 5-10 инстансами Клода одновременно.
Одни видят в этом кайф («я теперь архитектор, а не чернорабочий»), другие — экзистенциальный ужас («я чувствую, что каждый день прихожу на работу, чтобы автоматизировать самого себя и остаться без работы»).
В общем, классическая ловушку комфорта. Как с навигатором: сначала ты включаешь навигатор только в незнакомом городе, а через год не можешь доехать до работы без него, потому что мозг разучился строить маршруты. В программировании происходит то же самое.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤3💯3😱2❤🔥1👍1🙏1
Представьте, что можете отправить одно сообщение себе-студенту или джуну, который с горящими глазами пишет свой первый Hello, World!
Какой главный совет вы бы дали себе в самом начале IT-пути?
Какой главный совет вы бы дали себе в самом начале IT-пути?
Anonymous Poll
10%
Учи английский, right now!
10%
Не бойся менять работу чаще. Никто не оценит твою лояльность.
6%
Софт-скиллы важнее, чем ты думаешь.
13%
Качай базу, а не гоняйся за конкретными инструментами.
7%
Меньше работай. Выгорание реально.
35%
Покупай биткоин по доллару!
10%
Не входи в IT, сантехники будут нужнее!
9%
Что-то другое, напишу в комментах 👇🏻
👍6😁4🔥3 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️⃣ как понять что компания стабильна по диаграмме ящик с усами
Тот случай, когда технический анализ встречается с математической статистикой в темном переулке.
#хих
В запросы вшиты ссылки на материал, на который в итоге перешли.
В этот раз топ дичи такой:
Абсолютный лидер моего личного чарта от vibe-инвестора.
Романтика в IT жива!
Вот тут мой мозг сломался. Это какая-то новая парадигма программирования, до которой я еще не дорос.
Киберпанк, который мы заслужили. Взламываем Open Source модели и пиратим бесплатные инструменты.
Ящик с усами (boxplot) — это скучно (или для тупых?). А вот кот с усами — это выбор мастеров визуализации.
Уровень оптимизма, к которому я стремлюсь. Спойлер: на таком, который зимой можно использовать вместо обогревателя для небольшого цеха.
Импортозамещение зашло слишком далеко.
Тот случай, когда технический анализ встречается с математической статистикой в темном переулке.
#хих
Please open Telegram to view this post
VIEW IN TELEGRAM
olegtalks.ru
ЭТО БАЗА
Подборка полезных материалов для программистов
🤣15❤🔥4😁2 2🔥1🙏1
Функция 🤐
Все знают zip() и то, что эта функция обрезает результат по самому короткому списку. Но все ли знают, что в Python 3.10 завезли параметр
И это лишь один из нюансов. Как
#анатомия_питона
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🔥7 1
9 декабря(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3 2🔥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.
#левел_ап
Есть такой отличный хаб — Parlance Labs Education. Там набор докладов от практиков из Hugging Face, Anthropic, Modal, Pytorch.
Чего есть интересного?
Там есть прекрасная дискуссия "Why Fine Tuning is Dead" в противовес гайдам по дообучению. Разбирают, когда тюнинг реально нужен, а когда вы просто сжигаете GPU ради забавы. Плюс хардкор: Axolotl, FSDP, борьба с OOM (Out Of Memory) и оптимизация под конкретное железо.
Вместо "как засунуть PDF в векторную базу", там обсуждают систематическое улучшение RAG-систем и архитектурные паттерны.
Вместо проверки качества модели "на глаз", обсуждают фреймворк Inspect и систематическую оценку RAG. Если вы не умеете мерить качество своих LLM-приложений цифрами, а не ощущениями — вам сюда.
"Математика на салфетке" для обучения моделей. Интуитивное понимание того, сколько вам нужно VRAM, времени и денег, до того, как вы запустили кластер.
Ну и всякое другое. К лекциям приложены презентации, транскрипты и, самое важное, листинги кода на Python.
#левел_ап
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2 2🙏1