Код рабочий, но что здесь не так?
Anonymous Quiz
8%
str_replace небезопасен для шаблонов, нужен Twig или Blade
11%
Метод делает слишком много вещей и его невозможно нормально протестировать
22%
file_get_contents на каждый вызов. Если отправить 1000 писем в цикле, будет 1000 обращений к диску
59%
Все три проблемы
❤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. «Как сделать, чтобы это не развалилось через неделю?»
Please open Telegram to view this post
VIEW IN TELEGRAM
Что произойдёт, если два воркера вызовут deductBalance(1, 100) одновременно при балансе пользователя 150?
Anonymous Quiz
13%
Второй вызов вернёт false — база сама обработает конкурентность
54%
Оба спишут по 100
18%
Один вызов бросит исключение из-за deadlock
15%
Запросы выполнятся последовательно — MySQL сам блокирует строку на SELECT
👍3😁3😢1
Forwarded from Библиотека собеса по PHP | вопросы с собеседований
Обычная Collection
// ❌ Загрузит ВСЕ записи в память
$users = User::all()->filter(...)->map(...);
// ✅ Lazy Collection — обрабатывает по одной записи через генератор
User::cursor()->filter(function (User $user) {
return $user->is_active;
})->each(function (User $user) {
ProcessUser::dispatch($user);
});
cursor() использует
Lazy Collection из файла:
// Обработка огромного CSV без OutOfMemoryError
$collection = LazyCollection::make(function () {
$handle = fopen('huge_file.csv', 'r');
while ($row = fgetcsv($handle)) {
yield $row;
}
});
$collection->skip(1)->chunk(100)->each(function ($rows) {
ImportBatch::dispatch($rows->toArray());
});
Когда использовать
—
—
Важно: методы типа count() и last() материализуют коллекцию. Их лучше избегать в lazy-контексте.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤1
Что происходит при выполнении git commit --amend с точки зрения объектной модели Git?
Anonymous Quiz
19%
Изменяется только COMMIT_EDITMSG, SHA не меняется
17%
Rebase последнего коммита на HEAD~1
29%
Создаётся новый commit-объект с новым SHA, старый остаётся в объектной БД
35%
Модифицируется существующий commit-объект в .git/objects
🔥5🤔2❤1👍1
Команда git cherry-pick A..B выбирает коммиты:
Anonymous Quiz
62%
От A до B включая обе границы
14%
От A до B не включая A, то есть коммиты A+1, ..., B
10%
Только коммит B
14%
Все коммиты между A и B в обратном порядке не включая границы
🤔3👍1
Транзакция читает строку дважды в рамках одной транзакции и получает разные результаты, хотя сама строку не меняла. Какой это феномен и на каком уровне изоляции он устраняется?
Anonymous Quiz
38%
Dirty read — устраняется на READ COMMITTED
28%
Phantom read — устраняется на SERIALIZABLE
25%
Non-repeatable read — устраняется на REPEATABLE READ
10%
Non-repeatable read — устраняется на READ UNCOMMITTED
🔥4👍1
В чём разница между Blue-Green deployment и Canary deployment?
Anonymous Quiz
62%
Blue-green переключает 100% трафика мгновенно, canary — постепенно
19%
Canary требует двух полных окружений, blue-green — нет
10%
Blue-green используется только для stateless сервисов
10%
Разницы нет — оба стратегически идентичны
👍2❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Включайте кружок там личное приглашение от спикера. 👆
Уже завтра в прямом эфире, разбираем архитектуру контекста в мультиагентных системах.
🤫 Секретный лут:
👉 Регистрируйтесь на трансляцию
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой возникает риск при примой загрузке сущности по ID
Anonymous Quiz
16%
Риска нет
41%
SQL injection
8%
CSRF
34%
IDOR
👍2🔥1
Осталось всего 4 места на курс по ИИ-агентам. 30 апреля закрываем набор окончательно.
В ГС честно рассказали:
— Кому курс не подойдет;
— Какой хардкор в программе (LangGraph, AutoGen, CrewAI);
— Как мы даем токены, чтобы вы не тратили свои деньги.
🏃♀️ Записаться, пока есть места
В ГС честно рассказали:
— Кому курс не подойдет;
— Какой хардкор в программе (LangGraph, AutoGen, CrewAI);
— Как мы даем токены, чтобы вы не тратили свои деньги.
Please open Telegram to view this post
VIEW IN TELEGRAM
Какая аномалия возникает, когда транзакция читает данные, которые были изменены другой транзакцией, но изменения ещё не зафиксированы?
Anonymous Quiz
54%
Dirty read
26%
Phantom read
12%
Dirty write
8%
Non-repeatable read
👍4🔥1
Проверяем динамику роста комьюнити :)
Ваш текущий грейд:
🔥 — Senior
👍🏼 — Middle
❤️ — Junior
😁 — Ещё учусь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥21❤9😁2
Какой тип базы данных лучше всего подходит для хранения сложных связей между данными?
Anonymous Quiz
24%
Графовая
3%
Колоночная
2%
Документная
7%
На основе ключ-значение
64%
Реляционная
🤔10👍2🌚2🔥1
Что будет результатом кода?
Anonymous Quiz
24%
Применяем скидку!
23%
Скидка недоступна. Итого: 29
49%
Скидка недоступна. Итого: 28.999999999999
3%
fatal error
🤔4👍2🔥1