Операторы присваивания в Python
😴 Присваивание? Да это и так все проходят в первый час освоения Python!
🤭 А что, еще можно сокращенно записывать арифметические операции с присваиванием?
🤔 Битовые операции, что это?
🙉 Про моржей слышал, у них бивни такие.
🍆 А множественные присваивания – это же вообще миф!
#анатомия_питона
😴 Присваивание? Да это и так все проходят в первый час освоения Python!
🤭 А что, еще можно сокращенно записывать арифметические операции с присваиванием?
🤔 Битовые операции, что это?
🙉 Про моржей слышал, у них бивни такие.
🍆 А множественные присваивания – это же вообще миф!
#анатомия_питона
🔥12👍4⚡1🙏1💯1
Бесплатный курс по ИИ-агентам от Microsoft
У Microsoft на GitHub лежит бесплатный курс — AI Agents for Beginners. Лекции, код, всё в наличии.
Есть небольшой подвох — курс плотно завязан на экосистему Microsoft (Azure, Semantic Kernel, AutoGen). Но если отбросить этот маркетинговый нюанс, внутри есть реально полезные вещи.
🎯 Какие темы в фокусе?
▫️Agentic Design Patterns: Материал по паттернам проектирования.
▫️Tool Use: Отдельный урок по использованию инструментов. Это одна из ключевых фич современных агентов.
▫️Agentic RAG: Тоже вынесен в отдельный блок. Показывают, как совмещать агентов с поиском по базам знаний.
▫️Multi-Agent Design Pattern: Разбор того, как заставить нескольких агентов работать вместе.
Cами концепции и паттерны универсальны, так что знакомьтесь с ними и помните про альтернативы.
Есть и на русском, хоть и в виде автоматического перевода через GitHub Actions. Качество, конечно, не идеальное, но для понимания сути его вполне хватит.
🔗 Ссылка: https://github.com/microsoft/ai-agents-for-beginners
У Microsoft на GitHub лежит бесплатный курс — AI Agents for Beginners. Лекции, код, всё в наличии.
Есть небольшой подвох — курс плотно завязан на экосистему Microsoft (Azure, Semantic Kernel, AutoGen). Но если отбросить этот маркетинговый нюанс, внутри есть реально полезные вещи.
🎯 Какие темы в фокусе?
▫️Agentic Design Patterns: Материал по паттернам проектирования.
▫️Tool Use: Отдельный урок по использованию инструментов. Это одна из ключевых фич современных агентов.
▫️Agentic RAG: Тоже вынесен в отдельный блок. Показывают, как совмещать агентов с поиском по базам знаний.
▫️Multi-Agent Design Pattern: Разбор того, как заставить нескольких агентов работать вместе.
Cами концепции и паттерны универсальны, так что знакомьтесь с ними и помните про альтернативы.
Есть и на русском, хоть и в виде автоматического перевода через GitHub Actions. Качество, конечно, не идеальное, но для понимания сути его вполне хватит.
🔗 Ссылка: https://github.com/microsoft/ai-agents-for-beginners
🔥4⚡2👍2 2
💣 Ваш requirements.txt — мусор?
И почти всегда корень зла один — команда
Этот дедовский способ создаёт не файл зависимостей, а настоящую свалку из того, что вы ставили осознанно, и всех зависимостей этих зависимостей😏 .
В итоге всё это непонятно, как обновлять и страшно трогать, если нужно, что-то удалить.
Но есть инструменты, которые всё это исправят.
Вот вам статейка, где рассмотрены три способа — от базового pip freeze (чтобы вы поняли, почему он плох) до pip-tools и джедайского уровня с Poetry и PDM:
👉 requirements.txt: полное руководство по управлению зависимостями в Python
Признавайтесь в комментах, кто до сих пор генерит зависимости через pip freeze? ✍️
#это_база
И почти всегда корень зла один — команда
pip freeze > requirements.txt.Этот дедовский способ создаёт не файл зависимостей, а настоящую свалку из того, что вы ставили осознанно, и всех зависимостей этих зависимостей
В итоге всё это непонятно, как обновлять и страшно трогать, если нужно, что-то удалить.
Но есть инструменты, которые всё это исправят.
Вот вам статейка, где рассмотрены три способа — от базового pip freeze (чтобы вы поняли, почему он плох) до pip-tools и джедайского уровня с Poetry и PDM:
👉 requirements.txt: полное руководство по управлению зависимостями в Python
Признавайтесь в комментах, кто до сих пор генерит зависимости через pip freeze? ✍️
#это_база
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤2👍2⚡1🙏1
🤯 Легенда AI Андрей Карпаты снова в деле. Он выложил nanochat — проект, который позволяет собрать клон ChatGPT с нуля.
Бюджет? $100.
Время? ~4 часа на облачном сервере с 8xH100.
Это полный конвейер: 8000 строк чистого, минималистичного кода, который демистифицирует весь процесс — от обучения токенизатора и предобучения модели до файнтюнинга и RL.
Адаптировал и перевёл руководство по этой крутоте.
Внутри разбираем всё по шагам:
- ⚙️ Подготовка окружения: зачем тут uv и Rust.
- 📚 Обучение токенизатора: создаем собственный словарь для LLM.
- 🧠 Pretraining: рождение интеллекта и самый дорогой этап.
- 🎓 Midtraining & SFT: учим модель диалогу и полируем до блеска.
- 🎯 RL: опциональный этап для «натаскивания» на конкретные задачи.
- 💰 Итог: что мы реально получаем за $100?
Читаем здесь:
🧠 Собираем свой ChatGPT за $100: Полное руководство по nanochat Андрея Карпаты◀️
#годный_опенсорс
Бюджет? $100.
Время? ~4 часа на облачном сервере с 8xH100.
Это полный конвейер: 8000 строк чистого, минималистичного кода, который демистифицирует весь процесс — от обучения токенизатора и предобучения модели до файнтюнинга и RL.
Адаптировал и перевёл руководство по этой крутоте.
Внутри разбираем всё по шагам:
- ⚙️ Подготовка окружения: зачем тут uv и Rust.
- 📚 Обучение токенизатора: создаем собственный словарь для LLM.
- 🧠 Pretraining: рождение интеллекта и самый дорогой этап.
- 🎓 Midtraining & SFT: учим модель диалогу и полируем до блеска.
- 🎯 RL: опциональный этап для «натаскивания» на конкретные задачи.
- 💰 Итог: что мы реально получаем за $100?
Читаем здесь:
🧠 Собираем свой ChatGPT за $100: Полное руководство по nanochat Андрея Карпаты
#годный_опенсорс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍3⚡2👀2 2🎉1🆒1
Задачка про анаграммы в строке 🐍
👨💻 У нас есть две строки,
Проще говоря, является ли какая-либо анаграмма
Для ясности, пара примеров 👇🏻
Простое решение "в лоб" тут, конечно, есть, но оно не впечатлит 🌝 Хочется увидеть что-то изящное и эффективное.
Как решать будем? 🧠
#алгособес
👨💻 У нас есть две строки,
s1 и s2. Нужно написать функцию, которая определит, содержит ли строка s2 в себе любую из перестановок строки s1 в качестве непрерывной подстроки.Проще говоря, является ли какая-либо анаграмма
s1 подстрокой в s2.Для ясности, пара примеров 👇🏻
# Пример 1
s1 = "abc"
s2 = "lecabee"
# Вывод: True, потому что в s2 есть подстрока "cab",
# а это перестановка "abc".
# Пример 2
s1 = "abc"
s2 = "lecaabee"
# Вывод: False, потому что ни "abc", ни "acb", ни "bac" и т.д.
# не встречаются в s2 как единая подстрока.
Простое решение "в лоб" тут, конечно, есть, но оно не впечатлит 🌝 Хочется увидеть что-то изящное и эффективное.
Как решать будем? 🧠
#алгособес
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2 2👌1
This media is not supported in your browser
VIEW IN TELEGRAM
Надоело смотреть на стандартные графики функции потерь?
🏂 Встречайте, LossRider — библиотека для построения графиков с
Да, той самой флеш-игры из нулевых, где человечек на санках едет по нарисованной вами линии.
Автор даже приложил примеры с данными из реальной ML-статьи про u-µP.
Есть поддержка нескольких линий (
#фана_ради
🏂 Встречайте, LossRider — библиотека для построения графиков с
seaborn-подобным интерфейсом, которая на выходе генерирует не жалкий .png, а трек для... Line Rider.Да, той самой флеш-игры из нулевых, где человечек на санках едет по нарисованной вами линии.
Автор даже приложил примеры с данными из реальной ML-статьи про u-µP.
Есть поддержка нескольких линий (
hue — для каждого свой наездник!), логарифмических шкал и кастомизации осей.#фана_ради
🔥10👍2 2⚡1
🤥 Врут и не краснеют
По данным свежего исследования от hh.ru, 54% работодателей сталкивались с откровенной липой в резюме кандидатов. Почти каждый второй!
И речь не просто приукрашивание. Речь о фиктивных проектах, выдуманных должностях и накрученном опыте. Иллюзия экспертизы вместо реальных скиллов.
Кто у нас в лидерах этого маскарада?
🥇 Разработчики (20%)
🥈 Тестировщики и руководители проектов (по 15%)
🥉 Менеджеры продуктов (12%)
Самыми честными оказались сетевые инженеры и техподдержка. Видимо, им некогда выдумывать, надо чтобы всё работало.
Причина этого вранья банальна — дикая конкуренция и желание хоть как-то пробиться через HR-фильтры, которые сами часто требуют от джуна опыт тимлида.
При этом 71% компаний, как утверждается, выкупают ложь уже на собеседовании. Звонки на прошлые места работы, сверка с трудовой, проверка соцсетей — проверяют всё.
И что в итоге?
Для 43% работодателей такая ложь — это мгновенный отказ. Не из-за некомпетентности, а из-за вранья.
Надеюсь, в таком цирке надолго не застрянем 😩
#денюжки
По данным свежего исследования от hh.ru, 54% работодателей сталкивались с откровенной липой в резюме кандидатов. Почти каждый второй!
И речь не просто приукрашивание. Речь о фиктивных проектах, выдуманных должностях и накрученном опыте. Иллюзия экспертизы вместо реальных скиллов.
Кто у нас в лидерах этого маскарада?
Самыми честными оказались сетевые инженеры и техподдержка. Видимо, им некогда выдумывать, надо чтобы всё работало.
Причина этого вранья банальна — дикая конкуренция и желание хоть как-то пробиться через HR-фильтры, которые сами часто требуют от джуна опыт тимлида.
При этом 71% компаний, как утверждается, выкупают ложь уже на собеседовании. Звонки на прошлые места работы, сверка с трудовой, проверка соцсетей — проверяют всё.
И что в итоге?
Для 43% работодателей такая ложь — это мгновенный отказ. Не из-за некомпетентности, а из-за вранья.
Надеюсь, в таком цирке надолго не застрянем 😩
#денюжки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😢3👀2🙈2✍1⚡1
🐍 Разбор задачи: анаграмма в строке
🧠 Настало время разобрать нашу задачку про поиск анаграммы одной строки в качестве подстроки в другой.
Давайте посмотрим на два основных подхода👇
🐢 Решение "в лоб"
Был предложен самый прямолинейный подход: сгенерировать все возможные перестановки (анаграммы) строки
Вот как это выглядит:
Как это работает?
Просто, как валенок: берём
В чём проблема?
В производительности! Сложность генерации всех перестановок —
🚀 Скользящее окно
А теперь — элегантный и максимально эффективный способ. Вместо перебора всех анаграмм, мы будем проверять "отпечатки" подстрок в
Это лучшее решение по сочетанию эффективности и идиоматичности Python.
Как это работает?
1️⃣ Создаём "эталонный" счётчик символов для строки
2️⃣ Запускаем "окно" размером с
3️⃣ На каждом шаге сдвигаем окно на один символ вправо: добавляем новый символ в наш счётчик окна и убираем самый левый (старый).
4️⃣ После каждого сдвига сравниваем счётчик символов в окне с "эталонным" счётчиком
Чего по сложности?
Время:
Память:
#алгособес
🧠 Настало время разобрать нашу задачку про поиск анаграммы одной строки в качестве подстроки в другой.
Давайте посмотрим на два основных подхода
🐢 Решение "в лоб"
Был предложен самый прямолинейный подход: сгенерировать все возможные перестановки (анаграммы) строки
s1 и проверить, есть ли хоть одна из них в строке s2.Вот как это выглядит:
from itertools import permutations
def check_inclusion_bruteforce(s1: str, s2: str) -> bool:
all_permutations = permutations(s1)
for p in all_permutations:
if "".join(p) in s2:
return True
return False
Как это работает?
Просто, как валенок: берём
s1 = "abc", получаем "abc", "acb", "bac", "bca", "cab", "cba" и по очереди ищем каждую из них в s2.В чём проблема?
В производительности! Сложность генерации всех перестановок —
O(k!), где k — длина s1. Для строки из 10 символов это уже 3,628,800 операций, а для 13 — больше 6 миллиардов 😬🚀 Скользящее окно
А теперь — элегантный и максимально эффективный способ. Вместо перебора всех анаграмм, мы будем проверять "отпечатки" подстрок в
s2. Для этого идеально подходит техника скользящего окна и счётчики (collections.Counter).Это лучшее решение по сочетанию эффективности и идиоматичности Python.
from collections import Counter
def check_inclusion_optimal(s1: str, s2: str) -> bool:
len1, len2 = len(s1), len(s2)
if len1 > len2:
return False
s1_counter = Counter(s1)
window_counter = Counter()
for i in range(len2):
# Добавляем правый символ в окно
window_counter[s2[i]] += 1
# Если окно стало слишком большим, убираем левый символ
if i >= len1:
left_char = s2[i - len1]
if window_counter[left_char] == 1:
del window_counter[left_char]
else:
window_counter[left_char] -= 1
# Сравниваем счётчики, как только окно достигло нужного размера
if window_counter == s1_counter:
return True
return False
Как это работает?
1️⃣ Создаём "эталонный" счётчик символов для строки
s1. Например, для "abc" это будет {'a': 1, 'b': 1, 'c': 1}.2️⃣ Запускаем "окно" размером с
s1 по строке s2.3️⃣ На каждом шаге сдвигаем окно на один символ вправо: добавляем новый символ в наш счётчик окна и убираем самый левый (старый).
4️⃣ После каждого сдвига сравниваем счётчик символов в окне с "эталонным" счётчиком
s1. Если они совпали — ура, мы нашли анаграмму! 🎉Чего по сложности?
Время:
O(N), где N — длина s2. Мы проходим по s2 всего один раз. Линейное время, быстрее некуда!Память:
O(1), так как размер счётчиков не превышает размер алфавита (например, 26 для английских букв).#алгособес
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
PythonTalk
Задачка про анаграммы в строке 🐍
👨💻 У нас есть две строки, s1 и s2. Нужно написать функцию, которая определит, содержит ли строка s2 в себе любую из перестановок строки s1 в качестве непрерывной подстроки.
Проще говоря, является ли какая-либо анаграмма…
👨💻 У нас есть две строки, s1 и s2. Нужно написать функцию, которая определит, содержит ли строка s2 в себе любую из перестановок строки s1 в качестве непрерывной подстроки.
Проще говоря, является ли какая-либо анаграмма…
🔥10⚡3👍2 2
Помните, обсуждали инструменты для автоматизации составления резюме?
На нашем рынке, оказывается, тоже такое есть — вот ИИ-ассистент, который полностью автоматизирует процесс поиска работы:
⭐️ Она сама составляет резюме, на основании опыта работы и публикует его на хх.ру.
⭐️ Делает до 20 откликов в день.
⭐️ Пишет индивидуальное сопроводительное под каждую вакансию (можно выбрать стиль сообщения).
⭐️ Переписывается с рекрутером и отвечает на его вопросы. А еще помогает в подготовке к собесам - внутри приложения есть отдельный тренажер, где можно пройти тестовый собес к любой вакансии.
Пользователи отмечают, что с Софи поиск работы занимает 10-15 минут в день, что очень разгружает время.
Ребята работают всего пару месяцев и открывают доступ партиями. Следующий доступ откроется 21 октября в 19:00 по мск, будет 3 дня бесплатного теста.
Анонс будет в этом канале◀️
Интересно будет потестить😏
На нашем рынке, оказывается, тоже такое есть — вот ИИ-ассистент, который полностью автоматизирует процесс поиска работы:
Пользователи отмечают, что с Софи поиск работы занимает 10-15 минут в день, что очень разгружает время.
Ребята работают всего пару месяцев и открывают доступ партиями. Следующий доступ откроется 21 октября в 19:00 по мск, будет 3 дня бесплатного теста.
Анонс будет в этом канале
Интересно будет потестить
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍6🤔2🤯2👎1🙏1
Что получим при запуске кода?
Anonymous Quiz
36%
SyntaxError
14%
[4] [16, 23, 42]
11%
[4, 8] [23, 42]
19%
[4, 8, 15] [42]
20%
<generator object <genexpr> at ...>
🔥7👍3 3
This media is not supported in your browser
VIEW IN TELEGRAM
👨💻 IDE расслабили наши пальцы
ИИ-шные автодополнения научили нас очень быстро tabать 🌝
Но стоит зайти по ssh на сервер, в
Наткнулся на прикольный консольный тренажер слепой печати для программистов —
Чем он лучше сотен других?
🎯 Тренировка на коде. Самое главное. Вместо унылых "The quick brown fox..." можно тренироваться на ключевых словах из Python и других языков. Наконец-то можно оттачивать
🦀 Написан на Rust. Для нас это сигнал качества. Работает молниеносно, не падает, не жрет ресурсы. Мелочь, а приятно.
🔧 Глубокая кастомизация. Можно создавать свои собственные "языки" для тренировки. Просто кидаете текстовый файл со списком слов — и вперед.
Скормите ему список всех переменных и функций из вашего рабочего проекта. Слабо без ошибок напечатать
Забирайте и тренируйтесь: https://github.com/max-niederman/ttyper
Кстати, а какая у вас скорость печати? Признавайтесь в комментах, замеряли когда-нибудь? 👇
#тулбокс
ИИ-шные автодополнения научили нас очень быстро tabать 🌝
Но стоит зайти по ssh на сервер, в
docker exec или просто открыть vim/nano, то там уже помощников нет (или я про них не знаю?). Остаешься один на один со своей скоростью печати.Наткнулся на прикольный консольный тренажер слепой печати для программистов —
ttyper. Чем он лучше сотен других?
🎯 Тренировка на коде. Самое главное. Вместо унылых "The quick brown fox..." можно тренироваться на ключевых словах из Python и других языков. Наконец-то можно оттачивать
def __init__(self): и import pandas as pd, а не рандомные тексты.🦀 Написан на Rust. Для нас это сигнал качества. Работает молниеносно, не падает, не жрет ресурсы. Мелочь, а приятно.
🔧 Глубокая кастомизация. Можно создавать свои собственные "языки" для тренировки. Просто кидаете текстовый файл со списком слов — и вперед.
Скормите ему список всех переменных и функций из вашего рабочего проекта. Слабо без ошибок напечатать
calculate_annual_recurring_revenue_with_churn_projection с первого раза? 😉Забирайте и тренируйтесь: https://github.com/max-niederman/ttyper
Кстати, а какая у вас скорость печати? Признавайтесь в комментах, замеряли когда-нибудь? 👇
#тулбокс
👍5🔥4 3❤2❤🔥1
👨💻 Мистер Мисикс на Python: эталонный пет-проект
Подписчик @nkerios написал, что ему пришла в голову идея сделать мистера Мисикса из "Рика и Морти" — чтобы он появлялся, отвечал на вопрос через локальную LLM и... исчезал. Прям как в мультике.
И ведь сделал же! Ссылка на GitHub, если хотите сразу заценить: Meeseeks Box .
Получился отличный шаблон для создания своих десктопных AI-утилиток на Python.
Что под капотом:
- Легковесная связка Flask + Pywebview.
- Приложение само находит активную модель в LM Studio. Не надо ничего ковырять руками.
- Чистая и управляемая покадровая SVG-анимация.
Разобрал всю техническую начинку по косточкам: Meeseeks Box: Как превратить Python-скрипт в десктопное приложение◀️
Будьте как @nkerios👍
#щупаем_сорцы
Подписчик @nkerios написал, что ему пришла в голову идея сделать мистера Мисикса из "Рика и Морти" — чтобы он появлялся, отвечал на вопрос через локальную LLM и... исчезал. Прям как в мультике.
И ведь сделал же! Ссылка на GitHub, если хотите сразу заценить: Meeseeks Box .
Получился отличный шаблон для создания своих десктопных AI-утилиток на Python.
Что под капотом:
- Легковесная связка Flask + Pywebview.
- Приложение само находит активную модель в LM Studio. Не надо ничего ковырять руками.
- Чистая и управляемая покадровая SVG-анимация.
Разобрал всю техническую начинку по косточкам: Meeseeks Box: Как превратить Python-скрипт в десктопное приложение
Будьте как @nkerios
#щупаем_сорцы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4⚡1🙏1🆒1