Обратная связь: @proglibrary_feedback_bot Актуальные мероприятия по разработке: @event_listener_bot По вопросам рекламы @proglib_adv Прайс: @proglib_advertising http://ad.proglib.io/
Почему айтишники ищут работу
Самое неожиданное: деньги — не на первом месте. 🤑
В новом исследовании Тпрогер и мы — разбираем, как искать работу в IT. А главное — площадки, лайфхаки, как не вляпаться в токсичный коллектив и как оценить уровень подготовки.
➡️ Что внутри исследования:
— топ площадок и лайфхаков для поиска работы в IT
— признаки неадекватной компании — ещё на этапе собеса
— что важно работадателю, когда он хантит айтишника
— гайд по оценке себя на рынке труда
📎 Читаем исследования:
1. Где искать работу и как подготовить себя в IT
2. Каких айтишников не берут на работу и как оценивать себя на рынке труда
P.S. Материал нереально интересный, всем советую к прочтению 😤
📚 Golden Ticket: P, NP, and the Search for the Impossible (2013)
Представь, что тебе говорят: «Эта задача с решением, которое проверяется за секунду, но ты не можешь её решить за разумное время — это стандарт в мире вычислений!». Звучит как квест, правда?
Так вот, эта книга не про квесты, но как раз про самые крутые математические загадки мира программирования! Она расскажет вам о P-NP задаче, самом важном нерешённом вопросе в теории вычислений. Вопрос, который заставляет программистов и математиков переживать бессонные ночи (и пить много кофе) ☕️
📈 Книга охватывает не только теорию — она связывает P-NP с реальными проблемами, например, с поиском самого короткого пути по аттракционам в Disney World или нахождением большого круга друзей в соцсети.
💡 Если вы думаете, что программисты решают только баги в коде, эта книга покажет, что есть задачи, которые могут поставить под угрозу саму суть вычислений.
🔗 Скачать книгу
🐸 Книги для программистов
🍽️ The OWASP Top 10: A Restaurant Tale (2025)
Как выглядит баг-репорт глазами повара:
▪️Клиент ворвался на кухню — это у нас Broken Access Control.
▪️Кто-то оставил рецепт открытым? Привет, Cryptographic Failures.
▪️Заказали DROP TABLE
вместо стейка? Ну вы поняли.
🍴 OWASP Top 10 для тех, кто хочет «попробовать на вкус» самые распространенные уязвимости через аналогии с рестораном. Мини-комиксы на каждый кейс — не нудно, а по-человечески.
🔗 Скачать книгу
🐸 Книги для программистов
👩💻 Коллекция шпаргалок по Git от известных вендоров
⚠️ Подходит для:
❣️ Джунов, которые боятся merge conflict больше, чем экзаменов
❣️ Мидлов, которые уже научились rebase, но не признаются
❣️ Сеньоров, которые уже всё забыли и гуглят "git undo push" каждую среду
🔗 Скачать шпаргалки
🐸 Книги для программистов
🔥 Сегодня стартует курс по AI-агентам!
Онбординг уже сегодня, но ещё можно вписаться — ПОСЛЕДНИЙ ШАНС это сделать.
Мы больше года собирали мультиагентные системы: экспериментировали, переделывали и в итоге — оформили всё в 5 плотных вебинаров.
😤 «А можно ли вообще научиться чему-то за 5 вебинаров?!»
Если вы хотите просто послушать — нет
Если хотите разбираться и делать — да
➡️ На курсе:
— мы не читаем слайдики, а работаем в коде в реальном времени
— можно задавать вопросы прямо на вебинаре
— после каждого вебинара есть домашка и поддержка в чате
И главное — вы получаете системное понимание, а не набор хаотичных туториалов.
⚡️Если вы думаете, что успеете потом — не успеете.
Старт сегодня:
— а те, кто вписался сейчас, будут вас опережать — в проектах, на грейде и в зарплате
Знакомьтесь, эксперт нашего курса:
Никита Зелинский — Chief Data Scientist МТС, Head of ML Platforms, руководитель центра компетенций по Data Science.
❗Стартуем сегодня — забронируй свое место
😤 Пока вы думаете — остальные уже учатся строить системы, которые работают за них
⚡24 часа до старта курса по AI-агентам. Самое время задуматься о прокачке скиллов, потому что места ограничены!
Если вы до сих пор думаете, что LLM — это просто «вызов через API», то вы рискуете очень скоро оказаться за бортом индустрии.
Модели больше не в центре. Решают те, кто умеет собирать интеллектуальные системы, а не просто «дообучать модельку».
➡️ Что вы потеряете, если не впишетесь:
— навык, который уже востребован на рынке
— понимание, как из GPT сделать полноценного помощника, агента или продукт
— шанс догнать тех, кто уже перешёл на следующий уровень
📌 Курс стартует уже завтра
— 5 вебинаров, живая практика, код, разборы, продовые кейсы
— без «посмотрите статью», только то, что реально нужно
Спикеры: Никита Зелинский (МТС), Диана Павликова, Макс Пташник, Дима Фомин — те, кто реально собирает агентные системы, а не просто про них пишет.
❗Старт уже завтра — забронируйте место на курсе сейчас
🧠 «Поиграйся с LLM, почитай про агентов — и сам поймёшь, как это работает»
Это один из самых бесполезных советов, который мы слышали в адрес тех, кто хочет разобраться в AI-агентах.
Поиграйся — это как?
Потыкать пару промптов в ChatGPT и решить, что теперь ты можешь строить мультиагентные системы? 🤡 Ну-ну.
AI-агенты — это не «очередная обёртка над GPT». Это архитектура. Состояния, инструменты, цепочки вызовов, память, оценка качества и адекватность поведения.
➡️ Чтобы разобраться, нужно:
— понимать, как устроен LLM под капотом
— уметь подключать внешние данные (RAG, retrievers, rerankers)
— уметь масштабировать и дебажить поведение агентов
— разбираться в фреймворках вроде AutoGen, CrewAI, LangChain
— знать, как всё это тащится в прод
Если вы реально хотите не «поиграться», а научиться собирать рабочие агентные системы — у нас стартует курс по разработке ИИ-агентов 5го июля
P.S: не упусти свой шанс, промокод: LASTCALL на 10.000₽
📖 Mastering Delphi 5: 2025 Annotated Edition (2025)
🕯 Возвращение легенды! Книга из времен, когда WinForms не было, а Object Pascal был живее всех живых.
Спойлер: код из 1999 до сих пор компилится и запускается на Windows 11. Это не баг. Это Delphi.
Эта книга — подарок сообществу к 30-летию Delphi. Внутри — аннотированное издание классической книги по Delphi с комментариями и информацией об основных изменениях в языке с момента первой публикации книги.
💭 Что люди говорят
I feel like Delphi, along with maybe VB6 and WinForms, have been the pinnacle of easy UI development, and things have gone significantly downhill since then. Especially on the web side, where even a single view sometimes requires having multiple unrelated dependencies (packers, builders, transpilers, etc.), often implicitly-configured to produce output, in head-space. And due to this dependency hell, when porting a project like this to a new platform, or just getting it to run, a slight change in the environment silently breaks the build.
🔢 Как Netflix считает миллиарды действий пользователей — и не сходит с ума?
Когда вы запускаете сериал на Netflix, кто-то считает это событие. И ещё 75k других событий — каждую секунду.
Чтобы справиться с таким объёмом, Netflix построил распределённый счётчик. Вот как он устроен:
❣️API: пользователи отправляют команды типа +1
, -1
, get
и clear
. Это всё проходит через Data Gateway.
❣️Логирование событий: каждое действие попадает в TimeSeries и получает уникальный ID (чтобы не посчитать дважды). Всё хранится в Cassandra.
❣️Агрегация: события собираются в батчи, агрегируются по времени (например, по минутам) и пишутся в другую базу.
❣️Быстрое чтение: счётчики кешируются в EVCache. Всё работает почти мгновенно — если кеш устарел, его тихо обновят в фоне.
📌 Благодаря этой архитектуре, Netflix держит 75k RPS со скоростью отклика в несколько миллисекунд. Красота? Да. Простота? Не совсем. Но работает чётко.
🐸 Книги для программистов
🔫 Манифест каждого продакта за два дня до релиза
🐸 Книги для программистов
📖 Обзор книги «Building Quantum Software in Python: A Developer’s Guide» (2025)
Практическое руководство, ориентированное на разработчиков, стремящихся применять Python для создания решений в области квантовых вычислений на симуляторах и реальных устройствах.
🔹 Основные темы книги
— Основы квантовых состояний, вентилей и схем
— Визуализация и интуитивное объяснение без сложной математики
— Реализация квантовых алгоритмов
— Работа на симуляторах и взаимодействие с реальным квантовым оборудованием
— Решение прикладных задач
— Гибридные квантово-классические архитектуры и когда их применять
💬 Что говорят читатели
Книга отличная – она шаг за шагом проведёт вас через принципы, концепции, теорию и практические приёмы разработки квантового ПО на Python. Всё изложено чётко и логично.
Building Quantum Software предлагает исключительное практическое руководство по созданию квантовых алгоритмов… через подробные объяснения, ясную визуальную подачу и примеры кода. Настоятельно рекомендую как новичкам, так и тем, кто хочет трансформировать своё понимание квантовых вычислений.
Издание фокусируется на визуализации и простых примерах, но иногда материал остаётся слишком абстрактным и не показывает, как это всё применять в реальном коде или с квантовым оборудованием.
🤯 Мы больше года строим мультиагентные системы
Грабли, находки, паттерны, эксперименты — всё это накопилось и в какой-то момент стало жалко держать только у себя.
Никита — рассказывает (и показывает) базу: токенизация, LLM, SFT, PEFT, локальный инференс + RAG и как оценивать его качество.
Диана — как строят мультиагентные системы, какие есть паттерны проектирования и библиотеки.
Макс — про инференс в проде + разберет CoPilot, соберет с вами из кусочков свой копайлот, а затем его сломает через prompt injection. // Макс фанат autogen (а если нет — он вас разубедит в своем классном канале)
Финальным аккордом Дима углубится в MCP и соберет несколько кейсов повзрослее.
Курс тут: https://clc.to/47pgYA
Промокод: datarascals действует до 23:59 29 июня
📖 Обзор книги «Apache Kafka in Action: From basics to production» (2025)
Практическое руководство, ориентированное на разработчиков, операторов и архитекторов, стремящихся эффективно внедрять Apache Kafka в продакшн-решения.
🔹 Основные темы книги
— Основы Apache Kafka
— Обеспечение надёжности и высокой производительности
— Настройка, управление кластером и мониторинг
— Диагностика ошибок, управление отказами и аварийное восстановление
— Шаблоны использования, антишаблоны, кейсы
— Интеграция Kafka с другими сервисами, коннекторы, governance и enterprise best practices
💬 Что говорят читатели
Доступная, практичная, хорошо иллюстрированная и лёгкая для восприятия
Путь от новичка до профессионала в понимании и использовании Kafka!
Книга плохо организована и трудно воспринимается. Она начинается с тривиальных, почти детских примеров, а затем резко переходит к концепциям, которые сильно опережают уровень читателя…
📝 Немного инсайтов из третьего модуля курса
Сейчас большинство представлений об ИИ ограничиваются одним агентом — моделькой, которая что-то предсказывает, генерирует или классифицирует.
Но реальный прорыв начинается, когда этих агентов становится несколько.
Когда они начинают взаимодействовать друг с другом.
Когда появляется координация, распределение ролей, память, планирование — всё это и есть мультиагентные системы (MAS).
➡️ Пока кто-то думает, что это звучит как научная фантастика, индустрия уже переходит к новым уровням сложности:
— Microsoft делает язык DroidSpeak для общения между LLM
— Open Source-фреймворки вроде LangChain, AutoGen, CrewAI, LangGraph — бурно развиваются
— компании, включая МТС, уже применяют MAS в боевых задачах
🎓 На курсе мы подходим к этому практично:
🔵 разбираем, как устроены MAS
🔵 пишем агентов с нуля
🔵 учимся выстраивать взаимодействие: конкуренцию, кооперацию, планирование
Именно на третьем уроке вы впервые собираете не просто «умного бота», а живую систему из агентов, которая работает вместе — как команда.
Причём по-настоящему: врач, SQL-аналитик, travel-планировщик, Python-генератор, поисковик.
🙂 Если хочется не просто использовать ИИ, а проектировать системы, которые думают, планируют и сотрудничают → тогда забирайте курс по ИИ-агентам
💡 Effective Indexing in Postgres: Creating the Best Index for Your Queries
Если твои запросы в Postgres начали тормозить, а ты уже подумал, что «всё проиндексировано», возможно, стоит заглянуть в детали.
Лукас Фиттл, основатель pganalyze, в этом гайде рассказывает, как правильно создавать индексы, чтобы они действительно ускоряли запросы, а не тормозили их.
Ты узнаешь, как правильно выбрать индексы для разных типов запросов, какие индексы использовать в сложных ситуациях, а также как учесть операторы и типы данных, с которыми работают индексы.
🔗 Скачать гайд
🐸 Книги для программистов
🛣 AI Roadmaps (2025)
🤖 Хочешь быть в тренде в 2025? У тебя три пути. Все — с высоким шансом не высыпаться:
1️⃣ AI Engineer — ты учишься строить модели, которые лучше тебя пишут код и хуже тебя объясняют баги.
2️⃣ AI Agents — обучаешь нейросети выполнять задачи, пока ты сам пытаешься понять, как работает твоя почта. У агента уже есть ToDo-лист, у тебя — только кофе.
3️⃣ AI Red Teaming — ты профессионально ломаешь ИИ. Если GPT вдруг начал цитировать фильмы Тарантино — ты где-то рядом.
🔗 Скачать дорожные карты
🐸 Книги для программистов
📖 Common Circuits: Hacking Alternative Technological Futures (2025)
Когда устал от бигтеха, стартапов и бесконечных митингов про «ценности» — приходи в хакерспейс. Тут паяют, шьют свои VPN, меряют радиацию и обсуждают будущее человечества на Arduin'о.
Common Circuits — книга о том, как энтузиасты из Сан-Франциско, Токио и Шэньчжэня тихо строят альтернативу технокорпорациям. Без венчуров, но с Raspberry Pi, сломанным принтером и мечтой о цифровых правах.
Если ты тоже считаешь, что «опенсорс — это не хобби, а образ жизни», и что «массовое наблюдение — не фича, а баг» — тебе сюда.
🔗 Скачать книгу
🐸 Книги для программистов
📖 Трёхтомник «Программирование: введение в профессию»
Cтать программистом человек может только, и исключительно, в результате самообучения. Никакое образование — даже в самых лучших ВУЗах — не делает человека программистом.
1. Linux, математика, минимум необходимой теории cs
2. Паскаль
3. Ассемблер
4. Си
5. Основные системные вызовы Unix (файлы, процессы, терминал)
6. Компьютерные сети
7. Работа с разделяемыми данными
8. Внутренности ядра
9. Парадигмы как явление
10. Си++ (включая GUI на FLTK)
11. Неразрушающие языки (Лисп, Scheme, Пролог, Хоуп)
12. Компиляция и интерпретация, в том числе здесь Tcl и Tcl/Tk
📖Kubernetes Security for Dummies (2025)
Совместно с Wiley, ребята из Wiz выпустили Kubernetes Security for Dummies — гайд, который объясняет, как не превратить ваш кластер в уютный open bar для хакеров.
🔐 Что внутри
❣️Как не утонуть в YAML, но остаться compliant
❣️Почему multitenancy — не повод для многострадальца
❣️ Как подружиться с контейнерами, прежде чем они подружатся с вашим root-доступом
❣️И главное: 10 заповедей, как не попасть в ад Kubernetes-инцидентов
📦 Подойдёт для DevOps'ов, безопасников, сисадминов и всех, кто хоть раз пробовал настроить RBAC и потерял веру в человечество.
🧠 Начни с этой книги — и твой кластер скажет тебе спасибо (или хотя бы перестанет падать ночью).
🐸 Книги для программистов
💡 Универсальная шпаргалка по SQL: на заметку разработчику
🔗 Скачать в PDF-формате
😢 Я хожу на 30 собеседований в месяц. Это перебор или новая стратегия выживания
Мы вместе с Тпрогер разобрались, как разработчики видят найм в 2025 году — и почему многие вообще не доверяют рекрутерам.
➕ почему увольняются
➕ и почему не любят рекрутеров
🔗 Читайте исследование
🔥 Последняя неделя перед стартом курса по AI-агентам
Старт курса уже 5го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место
На курсе:
— разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах
📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями
И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»
👉 Курс здесь
🚴♂️ Бэкенд-разработка би лайк. Непонятно только — почему колеса не квадратные у велосипеда?
🐸 Книги для программистов
🎮 Реализация собственного симулятора квантового состояния (Hume)
Проблема: для понимания внутренней механики квантовых вычислений полезно иметь собственный симулятор. Однако большинство разработчиков используют готовые библиотеки (Qiskit, Cirq), что скрывает фундаментальные детали: как образуются суперпозиции, проводятся операции, как происходит измерение.
Решение: авторы предлагают построить пошаговый симулятор, реализованный на Python. Это не просто упражнение — это шанс "потрогать" основы: векторы состояния, гейты, измерения и крах симуляции при измерении. В репозитории из официального companion‑кода иллюстрируется весь процесс.
Ниже упрощённая версия – ключевые части симулятора из главы о квантовых состояниях:
import numpy as np
class QubitRegister:
def __init__(self, n):
self.n = n
# старт: |0…0⟩
self.state = np.zeros(2**n, dtype=complex)
self.state[0] = 1.0
def apply_gate(self, gate, target):
"""Применяет матричный gate к qubit 'target'"""
full = 1
for i in range(self.n):
full = np.kron(full, gate if i == target else np.eye(2))
self.state = full @ self.state
def measure(self):
probs = np.abs(self.state)**2
outcome = np.random.choice(len(probs), p=probs)
# Проекция на классическое состояние
result = np.zeros_like(self.state)
result[outcome] = 1.0
self.state = result
return bin(outcome)[2:].zfill(self.n)
# Использование:
qr = QubitRegister(2)
H = np.array([[1, 1], [1, -1]]) / np.sqrt(2)
qr.apply_gate(H, target=0) # суперпозиция первого qubit
print("Перед измерением:", qr.state)
print("Измерено:", qr.measure())
🎮 Создание пользовательского хука useFormStatus
Проблема: повторное использование логики состояния формы может привести к дублированию кода и усложнению поддержки.
Решение: в книге «Learn React Hooks, 2nd Edition» автор предлагает создать пользовательский хук useFormStatus для инкапсуляции логики состояния формы, что позволяет повторно использовать её в разных компонентах.
Пример кода:
import { useState } from 'react';
function useFormStatus() {
const [isSubmitting, setIsSubmitting] = useState(false);
const [error, setError] = useState(null);
const submit = async (action) => {
setIsSubmitting(true);
try {
await action();
} catch (err) {
setError(err);
} finally {
setIsSubmitting(false);
}
};
return { isSubmitting, error, submit };
}
function LoginForm() {
const { isSubmitting, error, submit } = useFormStatus();
const handleSubmit = () => {
submit(async () => {
// Асинхронная отправка данных
});
};
return (
<form onSubmit={handleSubmit}>
<button type="submit" disabled={isSubmitting}>
{isSubmitting ? 'Submitting...' : 'Submit'}
</button>
{error && <p>{error.message}</p>}
</form>
);
}
🎮 Обработка форм с использованием useActionState
Проблема: управление состоянием формы и её отправкой может быть сложным, особенно при наличии валидации и асинхронных операций.
Решение: в книге «Learn React Hooks, 2nd Edition» автор предлагает использовать хук useActionState для управления состоянием формы, включая её отправку и обработку ошибок.
Пример кода:
import React, { useState } from 'react';
function useActionState(initialState) {
const [state, setState] = useState(initialState);
const [isSubmitting, setIsSubmitting] = useState(false);
const [error, setError] = useState(null);
const submit = async (action) => {
setIsSubmitting(true);
try {
await action();
setState(initialState);
} catch (err) {
setError(err);
} finally {
setIsSubmitting(false);
}
};
return { state, isSubmitting, error, submit };
}
function LoginForm() {
const { state, isSubmitting, error, submit } = useActionState({
username: '',
password: '',
});
const handleSubmit = () => {
submit(async () => {
// Асинхронная отправка данных
});
};
return (
<form onSubmit={handleSubmit}>
<input
type="text"
value={state.username}
onChange={(e) => setState({ ...state, username: e.target.value })}
/>
<input
type="password"
value={state.password}
onChange={(e) => setState({ ...state, password: e.target.value })}
/>
<button type="submit" disabled={isSubmitting}>
{isSubmitting ? 'Submitting...' : 'Submit'}
</button>
{error && <p>{error.message}</p>}
</form>
);
}
🎮 Управление состоянием с использованием useReducer
Проблема: управление сложным состоянием в React-приложении может стать трудным и запутанным, особенно при наличии множества состояний и действий.
Решение: в книге «Learn React Hooks, 2nd Edition» автор предлагает использовать хук useReducer для централизованного управления состоянием. Это позволяет более эффективно обрабатывать сложные состояния и действия.
Пример кода:
import React, { useReducer } from 'react';
const initialState = { count: 0 };
function reducer(state, action) {
switch (action.type) {
case 'increment':
return { count: state.count + 1 };
case 'decrement':
return { count: state.count - 1 };
default:
throw new Error();
}
}
function Counter() {
const [state, dispatch] = useReducer(reducer, initialState);
return (
<>
<p>Count: {state.count}</p>
<button onClick={() => dispatch({ type: 'increment' })}>Increment</button>
<button onClick={() => dispatch({ type: 'decrement' })}>Decrement</button>
</>
);
}
📖 Обзор книги «Learn React Hooks, 2nd Edition» (2025)
Современное практическое руководство по созданию масштабируемого, производительного и чистого React‑кода с использованием Hooks, Context, Suspense и Form Actions.
🔹 Основные темы книги
— Глубокое погружение в React 19 Hooks.
— Управление состоянием через Hooks и Context API.
— Эффективный fetch и кеширование данных с Suspense и TanStack Query.
— Обработка форм с Form Actions и Hooks, включая оптимистичный UI.
— Маршрутизация через React Router + Hooks.
— Создание собственных Hooks и тестирование.
— Рефакторинг классовых компонентов в функциональные с использованием хук‑подхода.
💬 Что говорят читатели
Эта книга — обязательна к прочтению для современных React-разработчиков, которые хотят писать более чистый, масштабируемый и легко поддерживаемый код с использованием Hooks… Практические проекты — отличная находка.
…от самых простых хуков до самых сложных — вы найдёте отличные примеры, которые помогают легко понять, как они работают.
Хотелось бы увидеть пошаговый подход с одним цельным проектом… Многие файлы отсутствуют в репозитории на GitHub.