Азбука айтишника
3.51K subscribers
2.04K photos
92 videos
9 files
1.59K links
Айти для неайтишников: постигаем азы программирования.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6fce3cb

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
📌 5 стратегий кэширования

Постоянно вижу, как разрабы втыкают Redis куда попало, надеясь, что всё само "полетит". Все ищут секретную настройку, чтобы база не тормозила.

• Cache Aside
Приложение само бегает в кэш и базу. Кажется, что это контроль. Итог: при наплыве юзеров база ложится от сотен запросов, пока кэш пустой.

• Read Through
Приложение видит только кэш. Удобно? Да. Итог: ты полностью зависишь от провайдера кэша. Если он затупит, то встанет весь проект.

• Write Around
Пишем сразу в базу. Типа экономим место в памяти. Итог: каждое первое чтение будет медленным, потому что в кэше пусто.

• Write Back
Пишем в кэш, а в базу когда-нибудь потом. Итог: сервер моргнул, данные удалились. Ты только что потерял заказы клиентов за 10 минут.

• Write Through
Пишем везде одновременно. Надежно, но итог: запись становится медленной, как на старой флешке, потому что ждем и кэш, и диск.

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

🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#ликбез
Please open Telegram to view this post
VIEW IN TELEGRAM
Давайте честно: этот мем жесткое преувеличение 🤡

Многие боятся идти в бэкенд, потому что думают, что там «черная работа», бесконечная математика и никакого творчества. А фронтенд считают «легкой прогулкой».

Реальность в 2026 году другая:


➡️ Фронтенд давно перестал быть просто версткой. Сейчас это сложнейшие фреймворки, работа с состоянием и оптимизация, от которой пухнет голова.

➡️ Бэкенд стал в разы приятнее благодаря Python и нейросетям, которые берут на себя всю рутину и «грязную» работу в трюме.

А вы на чьей стороне? «Палуба» или «трюм»? Пишите в комментариях 👇
🌚 — трюм
❤️ — палуба

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#небагафича
Please open Telegram to view this post
VIEW IN TELEGRAM
😢1🥱1🌚1
🤖 Ваш ИИ-агент съедает бюджет на токены и падает при сбоях API?

Пора переходить на новый уровень. Открыли продажи курса по AgentOps — управлению ИИ-агентами в рабочих процессах.

Рынок требует инженеров, которые умеют:

• Контролировать метрики и качество ответов;
• Эффективно работать с RAG-архитектурой;
• Строить системы, готовые к реальным нагрузкам.

Обучение займет 6-12 недель под руководством практиков с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, МТС, Huawei, Raft и др.

🎁 Можно подождать, пока про AgentOps начнут говорить все. Или зайти сейчас — НА 30% ДЕШЕВЛЕ!

Работа с AI начинается с систем.
Системы — с AgentOps.


🔥 Забрать скидку и изучить программу.
Как внутри вложенной функции изменить переменную из внешней (но не глобальной) области?

👾 — global x
👍 — nonlocal x
🥰 — Просто x = ... — изменит замыкание автоматически
⚡️ — locals()['x'] = ...

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#режимразраба
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰1🎉1👾1
🚬 Зачем тебе Redis на самом деле?

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

На схеме основные кейсы:

• Strings (Строки)
База основ. Сессии юзеров, обычный кэш или распределенные блокировки (Distributed Lock). Итог: если не следить за TTL (временем жизни), твой сервер упадет от нехватки памяти быстрее, чем ты скажешь "деплой".

• Int (Числа)
Счетчики лайков, лимиты запросов (Rate Limiter) или генерация глобальных ID. Итог: всё летает, но если не настроить сброс на диск, после перезагрузки твои миллионы лайков обнулятся.

• Hash (Хеши)
Идеально для объектов, например, корзины покупок. Итог: удобно хранить поля "ключ-значение" внутри одного ключа, не раздувая базу.

• Bitmap (Битмапы)

Специфичная штука для аналитики, например, User Retention. Итог: экономишь память в десятки раз, но нужно реально понимать двоичную логику, иначе код превратится в нечитаемую кашу.

• List (Списки) и ZSet (Сортированные сеты)
Очереди сообщений или живые лидерборды в играх. Итог: данные всегда отсортированы и готовы к выдаче за микросекунды

Уже пользовались Redis?

❤️ — да
🔥 — нет

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#ликбез
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
📌 Что значит стек и переполненный стек

На самом деле, стек - это просто структура данных, работающая по принципу LIFO (Last In, First Out). Последним пришел и первым ушел. Представь стопку тарелок: ты не можешь достать нижнюю, не сняв все верхние.

В программировании это работает так:

• Стек вызовов (Call Stack)
Когда ты вызываешь функцию, она кладется в стек. Когда функция завершается, она из него вылетает. Итог: если код логичный и короткий, всё работает как часы.

• Локальные переменные
Они тоже живут в стеке. Выполнилась задача, память очистилась. Это быстро и эффективно. Итог: тебе не нужно вручную чистить память, система делает это за тебя.

• Stack Overflow (Переполнение стека)
Самая известная ошибка. Память под стек не бесконечна. Итог: если ты запустил бесконечную рекурсию (функция вызывает саму себя до бесконечности), стопка тарелок вырастает до потолка и всё падает.

Уже ловили Stack Overflow в своих проектах?
❤️ — да, классика
🔥 — пока бог миловал

🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#ликбез
Please open Telegram to view this post
VIEW IN TELEGRAM
💯21🤔1
🦾 Надоело чинить «упавших» ИИ-агентов после каждого микросбоя внешних сервисов?

Анонсируем старт продаж большого курса по AgentOps. Мы собрали опыт десятков разработчиков и сделали программу, которая учит выводить ИИ в стабильный прод.

🗓 Ждем вас 28 апреля в 19:00 МСК на эфире: «Как эффективно управлять контекстным окном LLM в мультиагентных системах и не сливать бюджет на токены».

👉 Кто вещает и в чем польза?

Спикер Кирилл Кухарев (Senior AI Engineer в Raft, спикер AI Conf и Highload++). Он реализовал более 50 коммерческих проектов в GenAI и на вебинаре покажет, как взять под контроль работу нескольких агентов, чтобы они не перекидывали друг другу лишний контекст и не сжигали ваши деньги.

В прямом эфире разберем:
• Как формируется контекст в LLM при маршрутизации между агентами;
• Куда утекают лишние токены и возникает перерасход;
• Практические методы: как сжимать историю, грамотно делить задачи, лимитировать передачу контекста и собирать промпты прямо в процессе запроса пользователя.

🔥 Два способа получить максимум:

1. Приходите на вебинар 28 апреля. Дарим участникам промокод на 5.000 ₽ (работает 3 дня после эфира - это шанс забрать курс по самому низу рынка).

2. Выбирайте Инженерный трек. В подарок к нему идет полный доступ к записям и автопроверкам завершенного курса «Разработка ИИ-агентов».

👉 Занять место на вебинаре и стать профи в AgentOps
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Добро пожаловать в «Азбуку Айтишника»! 🤝

Вижу много новеньких, кто пришел за гайдом по ИИ-агентам.

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

Рекомендую пройтись по тегу #ликбез там вся база-база.


А вот навигация по гайду:


Часть 1. Введение, юзкейсы и реальность
Разбираемся с терминами, снимаем розовые очки и смотрим, где ИИ реально приносит бабки, а где только жжет нервы:

1. «Так что вообще считается AI-агентом?»
2. «Где тут бот, а где уже AI-агент?»
3. «Не надо пихать AI-агента в каждую задачу»
4. «Что уже можно спокойно делать через AI-агентов?»
5. «А что через AI-агентов пока лучше не трогать?»

Часть 2. Изнанка, ошибки и архитектура
Как всё это устроено под капотом, чтобы не слить бюджет и не наломать дров на старте:

6. «Можно ли просто сесть вечером и собрать себе AI-агента?»
7. «С чего вообще начать, если хочется попробовать AI-агентов»
8. «Почему AI-агент может внезапно начать творить дичь»
9. «Где AI-агенты реально экономят время, а где только добавляют возни»
10. «Почему они жрут столько денег?»

Часть 3. Хардкорная практика (Что делать руками)
Хватит теории. Открываем ноут, запускаем Cursor и делаем нормальные, отказоустойчивые системы:

11. «Почему одного промпта мало?»
12. «Почему AI-агенту мало просто “дать доступ к данным”»
13. «Если не следить за AI-агентом, он быстро начинает жить своей жизнью»
14. «Собрать демку легко. Но как же сделать нормально»
15. «Как сделать, чтобы это не развалилось через неделю?»
🙏1💯1
Азбука айтишника pinned «Добро пожаловать в «Азбуку Айтишника»! 🤝 Вижу много новеньких, кто пришел за гайдом по ИИ-агентам. Наши действующие разработчики на пальцах объясняют базу программирования, переводят сложные термины на человеческий и помогают дойти до оффера мечты. Рекомендую…»
🏃‍♀️ Уже завтра стартует курс по разработке AI-агентов.

Про AI-агентов часто думают, что это просто модная обертка над джпт для пет-проектов. Кажется, прикрутил API к скрипту и типа готово. А вот и нет! Когда дело доходит до прода, начинаются настоящие проблемы.

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


Эту инженерную часть мы и будем разбирать на курсе. Будем учиться интегрировать внешние API, работать с RAG, LangGraph, CrewAI и деплоить всё это так, чтобы работало как часы.

Стартуем завтра. Для участия и доступа к программе переходите по ссылке.
👍1
🫳 Типичная микросервисная архитектура 🫳

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

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

API Gateway
Единая точка входа для всех клиентов. Итог: если гейтвей "прилег" или перегружен, твои крутые микросервисы внизу превращаются в бесполезный набор кода, до которого никто не может достучаться.

Load Balancer
Раскидывает трафик, чтобы один сервер не закипел. Итог: всё работает плавно, пока балансировщик правильно настроен. Ошибка в конфиге и весь трафик летит в один сервис, убивая его за секунды.

Service Registry & Discovery
Сервисы должны как-то находить друг друга. Итог: если эта штука заглючит, сервис А просто не узнает, где искать сервис Б. Система развалится на куски, которые не умеют общаться.

Разделение по доменам (Domain A / Domain B)
У каждого сервиса своя база. Итог: ты получаешь независимость, но платишь за это адом при попытке собрать общую аналитику или сделать сложный транзакционный запрос между доменами.

Уже переезжали на микросервисы?
❤️ — да, это было больно, но оно того стоило
🔥 — сидим на монолите и в ус не дуем

🔹 Практический интенсив «Архитектуры и шаблоны проектирования»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#ликбез
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1🙏1
🦾 ML-модели текстом: пробуем роль архитектора

Нашел инструмент, который делает из тебя ML-лида за пару команд. По факту это просто грамотная агентская система:

— Текстовое описание
Описываешь задачу словами, например: «предсказать цену квартиры». Итог: система сама планирует архитектуру и пишет код. Тебе не нужно вспоминать синтаксис библиотек.

— Команда ИИ-агентов
Под капотом не одна нейронка, а целая группа. Один планирует, второй кодит, третий фиксит баги. Итог: на выходе получаешь не «галлюцинации», а рабочее решение.

— Генерация данных
Если твой датасет пустой, агент сам наклепает синтетические данные для тестов. Итог: можно проверить гипотезу, даже если данных пока кот наплакал.

— Масштабируемость и гибкость
Поддерживает Ray для параллельных вычислений и подключается к любой LLM (от Claude до локальной Llama). Итог: ты не привязан к одному вендору и можешь раскатать нагрузку на весь кластер.

👉 Ссылка

🔹 Практический интенсив «Архитектуры и шаблоны проектирования»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#магиякода
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Мы рады представить команду экспертов курса AgentOps!

Дмитрий Антипов расскажет, как грамотно проверить работу AI-моделей
Курилл Кухарев поделится, почему компаниям выгодно использовать локальные модели и как их развернуть
Андрей Носов расскажет, как работать с данными и знаниями в AI-системах: построение RAG, выбор подходов к поиску и организация хранения данных
Антон Будняк разберет, как обеспечить устойчивость сервиса, в котором используется ИИ
Александр Ошурков расскажет, как оценивать качество работы LLM в backend-сервисах
Екатерина Трофимов разберет, как проектировать инструменты для AI-агентов и выстраивать взаимодействие с внешними сервисами

Курс для backend-разработчиков, тимлидов и LLM инженеров о том, как внедрять AI-логику в бэкенд IT-продуктов и сохранять стабильность сервиса.

К концу обучения вы получите:

• Структурированный подход к архитектуре и деплою AI-агентов
• Навыки настройки мониторинга, тестирования и контроля расходов на токены
• Разбор сложных инженерных кейсов из реальной практики

🎁 Доступ к материалам курса
«Разработка ИИ-агентов» в подарок при покупке Инженерного трека

👉 Все подробности и программа обучения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👏1
💬 Опыт подписчика: как потратить часы на очистку данных после парсинга

Один из наших подписчиков поделился своим опытом очистки грязных данных после веб-скрейпинга. Делимся его историей — вдруг вы узнаете в ней себя.

Думал, самое сложное — спарсить данные. А оказалось — привести их в порядок.

На выходных я собрал датасет для своего сайд-проекта. Парсинг прошёл без особых проблем — за пару часов всё было готово. А вот дальше началось настоящее веселье.

С чем я столкнулся:
— Пропуски в случайных местах
— Дубли из-за повторных запусков
— Даты в абсолютно разном формате
— Цены, записанные как строки, иногда даже словами ("twenty")


Потратив несколько часов на эксперименты (и выпив больше кофе, чем хотел бы признать), я кое-как вычистил всё с помощью Pandas. Делюсь, что сработало:

1️⃣ Работа с пропущенными значениями

Удалять всё подряд не хотелось, поэтому подход был аккуратным:
# Удаляю строки, где вообще нет данных
df_clean = df.dropna(how='all')

# Остальное заполняю заглушками
df_filled = df.fillna("N/A")


2️⃣ Удаление дублей

Повторные запуски скрипта дали одинаковые строки. Решается в одну строку:
df_unique = df.drop_duplicates()


3️⃣ Приведение к нужным форматам

Это спасло меня от последующих багов:
# Привожу названия товаров к нижнему регистру
df['product_name'] = df['product_name'].str.lower()

# Преобразую даты (если ошибка — получаю NaT)
df['date'] = pd.to_datetime(df['date'], errors='coerce')

# Преобразую цену в числовой формат
df['price'] = pd.to_numeric(df['price'], errors='coerce')


4️⃣ Очистка шума

Избавился от ненужного мусора:
# Удаляю колонку, если она вообще есть
df = df.drop(columns=['unnecessary_column'], errors='ignore')

# Оставляю товары только с ценой > 10
df_filtered = df[df['price'] > 10]


5️⃣ Первые инсайты

Когда всё стало чисто, можно было наконец-то что-то анализировать:
# Средняя цена по категориям
avg_price = df_filtered.groupby('category')['price'].mean()
print(avg_price)

# Гистограмма распределения цен
df_filtered['price'].plot(kind='hist', bins=20, title='Price Distribution')
plt.xlabel("Price")
plt.show()


Что я понял:
🟣 Парсинг — это только начало. Основная боль начинается после.
🟣 Pandas — суперсила. С его помощью можно разгрести 80% хаоса.
🟣 errors='coerce' — спасение. Преобразования не падают, если формат неожиданный.
🟣 В следующий раз сначала изучу практики очистки данных, а потом буду парсить.

Сейчас ищу хорошие подходы к:
🟣 Распознаванию цен, написанных словами ("forty-two" и т.п.)
🟣 Объединению разных форматов дат (особенно с названиями месяцев в разных языках)

💬 Если у вас есть свои фишки по чистке «грязных» парсинг-данных — расскажите в комментариях.

🔹 Курс разработка AI-агентов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#режимразраба
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👀 Портфолио на максималках: как продать себя в IT

Многие ребята до сих пор шлют резюме с фразами про «стрессоустойчивость» и «командный дух». Все ищут секретное слово, которое заставит HR перезвонить. Но в реальности всем плевать на твои прилагательные, если за ними нет кода.

➡️ Как сделать портфолио, которое принесёт оффер

🔹 Проекты с реальной ценностью
В сети полно калькуляторов и списков дел. Итог: удаляй это сразу. HR и техлиды видели это тысячу раз. Твой проект должен решать проблему: автоматизировать рутину, парсить данные или связывать сервисы через API. Чем больше пользы, тем выше шансы.

🔹 Гитхаб: твоя визитка
Код в один файл без описания. Итог: никто даже не станет его запускать. Оформи README как презентацию: что это, зачем нужно и как запустить. Чистая структура и документация показывают, что ты умеешь работать в команде, а не просто пишешь скрипты «для себя».

🔹 Формат подачи: продавай себя как профи

Просто скинуть ссылку на репозиторий. Итог: тебя проигнорируют. Используй связку: Задача → Решение → Стек. Показывай это там, где есть люди: LinkedIn, профильные чаты или Dev.to. Фидбек от сообщества работает лучше любой рекламы.

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

А как вы составляете свои портфолио?

❤️ — есть пара сильных проектов на GitHub
🔥 — пока только учебные задачи и пет-проекты из туториалов

🔹 Курс разработка AI-агентов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#карьерныйкоммит
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51
👀 9 правил микросервисной архитектуры

На схеме 9 "золотых" правил. А вот про некоторые:

Separate data store
— У каждого сервиса своя база. Итог: независимость, но ад при попытке сделать общую аналитику.

Single responsibility
— Один сервис, одна задача. Итог: чистая логика, но если переборщить, получишь сотни мелких скриптов, которые невозможно отследить.

Treat servers as stateless
— Сервер не должен ничего помнить о прошлых запросах. Итог: легкое масштабирование, но всю логику сессий приходится выносить во внешние хранилища.

Domain-driven design (DDD)
— Строим архитектуру вокруг бизнес-задач. Итог: код понятен бизнесу, но проектирование занимает в разы больше времени.

Orchestrating microservices
— Используем Kubernetes для управления. Итог: автоматизация деплоя, но порог входа в инфраструктуру улетает в космос.

Проблема в том, что красивые чек-листы не учат дебажить распределенные системы. Нужно понимать, когда стоит внедрять эти правила, а когда они просто сожрут твой бюджет.

Соблюдаете все 9 правил в своих проектах?

❤️ — стараемся следовать базе
🔥 — пилим как быстрее, а не "по книжке"

🔹 Практический интенсив «Архитектуры и шаблоны проектирования»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#ликбез
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Типичный стек микросервисов

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

Разберем схему, что там реально происходит:

➡️ Pre-Production:

Здесь создается фундамент:

- API First: Сначала описываем контракты (OpenAPI/Postman), и только потом пишем код.
- Разделение труда: Пока фронты пилят UI на React, бэкенд упаковывает логику в микросервисы на Java/Node.js.
- CI/CD: Тесты (JUnit), упаковка в Docker и автоматический деплой через Jenkins в Kubernetes. Итог: если этот процесс не настроен, ты будешь деплоить один баг вручную по полдня.

➡️ Production:

В реальной работе система обрастает «мясом», без которого всё упадет через 5 минут:

- Входная группа: Load Balancer (Nginx) и CDN распределяют трафик, чтобы сервер не закипел.
- API Gateway: Твой диспетчер (Spring Boot/Eureka), который рулит запросами.
- Инфраструктура: Кэш (Redis), поиск (Elasticsearch) и брокеры сообщений (Kafka). Это база, которая спасает основную БД от перегруза.
- Хранение: Забудь про одну БД. В микросервисах у тебя и классика (Postgres), и облака (S3), и тяжелая артиллерия для данных (Cassandra).

Уже собрали свой идеальный стек или пока только присматриваетесь к Docker?
❤️ — вовсю юзаем Kafka и Kubernetes
🔥 — пока держимся на одном сервере и старом добром SQL

🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#ликбез
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1😍1