Основная компетенция специалиста по Data Science – способность анализировать и интерпретировать данные, а математика является фундаментом для начала работы.
В карточках мы разбираем основные разделы математики, с которых стоит начать изучение специалисту по анализу данных.
Хотите подготовиться к офферу или подтянуть знания? Оставляйте заявку на наш курс по математике для Data Science 💙
P.S. Только до 31 мая на курс (и вообще на все программы Академии) действует
А как у вас дела с высшей математикой?
❤️ — Помню всё
🔥 — Знаю основы
🌚 — Ничего не знаю
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Forwarded from Библиотека задач по PHP | тесты, код, задания
Какой из перечисленных алгоритмов хэширования поддерживается функцией password_hash()?
Anonymous Quiz
31%
bcrypt
10%
md5
18%
sha256
41%
Все перечисленные
👍2🔥1👏1
🔍 Ловим каждый SQL-запрос в Laravel
Дебажить «а что вообще улетело в базу?» зачастую непросто. Но через DB::listen() можно перехватить каждый запрос вместе с биндингами и временем выполнения.
По сути, это не только про дебаг. Можно слать алерт в Slack, если запрос тормозит дольше порога. А для полного лога сессии есть связка DB::enableQueryLog() + DB::getRawQueryLog().
Кто-нибудь использует это в проде (или только whenQueryingForLongerThan)?
Библиотека пхпшника
Дебажить «а что вообще улетело в базу?» зачастую непросто. Но через DB::listen() можно перехватить каждый запрос вместе с биндингами и временем выполнения.
DB::listen(function (QueryExecuted $query) {
dump($query->sql); // select * from `users` where `id` = ? limit 1
dump($query->bindings); // [0 => 1]
dump($query->time); // 6.05 (ms)
});По сути, это не только про дебаг. Можно слать алерт в Slack, если запрос тормозит дольше порога. А для полного лога сессии есть связка DB::enableQueryLog() + DB::getRawQueryLog().
Кто-нибудь использует это в проде (или только whenQueryingForLongerThan)?
Библиотека пхпшника
👍4❤1🔥1
Я не говорю, что книга плохая. Я говорю, что она принесла массовому разработчику больше вреда, чем пользы.
Uncle Bob написал набор рекомендаций, а индустрия превратила их в религию. «Метод не длиннее 5 строк». «Каждый класс — одна ответственность». «Имя должно быть самодокументирующим». Звучит красиво, а на практике:
— 47 приватных методов, каждый вызывается ровно один раз
— AbstractNotificationStrategyProviderFactory
— 6 слоёв абстракции ради эндпоинта, который возвращает список товаров
— Интерфейс с единственной реализацией «на будущее»
Такие проекты всегда «чистые». И на каждом из них новый разработчик тратит две недели, чтобы найти бизнес-логику.
Откройте исходники любого успешного фреймворка в вашей экосистеме. God-классы, методы на 80 строк, комменты «don't ask why». Работает, развивается, приносит деньги.
Моё мнение:
→ Код должен быть понятен через 6 месяцев. Не «чист» — а понятен.
→ Абстракция оправдана, когда у неё больше одной реализации прямо сейчас, а не «потенциально».
→ YAGNI важнее SOLID.
Книгу стоит прочитать, принять к сведению, понять фундаментальные основы. Но не применять подходы в каждом методе.
Please open Telegram to view this post
VIEW IN TELEGRAM
💯26👍3😁3❤1😢1
🔧 Работаем с kubectl
Нужно быстро форварднуть порт сервиса из Kubernetes на localhost для отладки? kubectl port-forward — ваш туннель в кластер без Ingress, LoadBalancer и VPN.
🔹 Зачем это нужно
— Доступ к сервисам внутри кластера без внешнего endpoint-а.
— Подключение к БД, Redis, RabbitMQ для отладки прямо с рабочей машины.
— Не нужно менять конфиги, создавать NodePort или разворачивать Ingress.
🔹 Как использовать
— К поду:
— К сервису:
— К деплойменту:
— Другой локальный порт:
— Слушать на всех интерфейсах:
Нужно быстро форварднуть порт сервиса из Kubernetes на localhost для отладки? kubectl port-forward — ваш туннель в кластер без Ingress, LoadBalancer и VPN.
🔹 Зачем это нужно
— Доступ к сервисам внутри кластера без внешнего endpoint-а.
— Подключение к БД, Redis, RabbitMQ для отладки прямо с рабочей машины.
— Не нужно менять конфиги, создавать NodePort или разворачивать Ingress.
🔹 Как использовать
— К поду:
kubectl port-forward pod/my-pod 8080:80— К сервису:
kubectl port-forward svc/my-service 5432:5432— К деплойменту:
kubectl port-forward deploy/my-app 3000:3000— Другой локальный порт:
kubectl port-forward svc/postgres 15432:5432 (localhost:15432 → postgres:5432)— Слушать на всех интерфейсах:
kubectl port-forward --address 0.0.0.0 svc/my-service 8080:80👍4❤1🔥1
До 31 мая можно забрать любой курс Proglib Academy со скидкой 40%
Если давно хотели прокачаться в Python, ML, алгоритмах или AI-агентах, сейчас самое время выбрать программу и начать обучение по сниженной цене.
🎁 Разработка AI-агентов — от 49.000 ₽ (вместо 69.000 ₽)
Практический курс по разработке AI-агентов для автоматизации задач, работы и собственных проектов
🎁 Курс AgentOps — 129.000 ₽ (вместо 149.000 ₽)
Для разработчиков и LLM-инженеров, которые хотят внедрять AI-логику в бэкенд и сохранять стабильность сервиса.
🎁 Математика для разработки AI-моделей — 23.990 ₽ (вместо 31.990 ₽)
Практическая база по математике для анализа данных, ML и дальнейшего развития в AI.
🎁 Математика для Data Science — от 29.990 ₽ (вместо 39.990 ₽)
Курс для тех, кто хочет решать задачи, которые дают на собеседованиях на позицию дата-сайентиста в бигтехе.
🎁 ML для старта в Data Science — 28.990 ₽ (вместо 38.990 ₽)
Разберётесь в машинном обучении: от базовых понятий и линейных моделей до ансамблей, бустинга и рекомендательных систем.
🎁 Основы IT для непрограммистов — 16.990 ₽ (вместо 28.990 ₽)
Курс для IT-рекрутеров, маркетологов, проджектов, продактов и всех, кто работает с IT, но не пишет код.
🎁 Архитектуры и шаблоны проектирования — 27.990 ₽ (вместо 37.900 ₽)
Освоите основные паттерны проектирования и прокачаете навыки архитектора программного обеспечения.
🎁 Специалист по ИИ — 89.000 ₽ (вместо 113.900 ₽)
Курс для тех, кто хочет получить профессию в сфере ИИ, собрать портфолио из 5 проектов и научиться разрабатывать сложных AI-агентов.
🎁 Алгоритмы и структуры данных — 33.990 ₽ (вместо 57.990 ₽)
Подготовитесь к алгоритмическим собеседованиям, разберёте структуры данных и научитесь писать более эффективный код.
🎁 Программирование на языке Python — 27.990 ₽ (вместо 47.390 ₽)
Освоите Python на практике: без сухой теории, с пошаговой прокачкой навыков и итоговым проектом в портфолио.
🙌 Выбирайте курс по ссылке, оставляйте заявку, и менеджер поможет подобрать программу под ваши цели — https://clc.to/HglYew
Если давно хотели прокачаться в Python, ML, алгоритмах или AI-агентах, сейчас самое время выбрать программу и начать обучение по сниженной цене.
🎁 Разработка AI-агентов — от 49.000 ₽ (вместо 69.000 ₽)
Практический курс по разработке AI-агентов для автоматизации задач, работы и собственных проектов
🎁 Курс AgentOps — 129.000 ₽ (вместо 149.000 ₽)
Для разработчиков и LLM-инженеров, которые хотят внедрять AI-логику в бэкенд и сохранять стабильность сервиса.
🎁 Математика для разработки AI-моделей — 23.990 ₽ (вместо 31.990 ₽)
Практическая база по математике для анализа данных, ML и дальнейшего развития в AI.
🎁 Математика для Data Science — от 29.990 ₽ (вместо 39.990 ₽)
Курс для тех, кто хочет решать задачи, которые дают на собеседованиях на позицию дата-сайентиста в бигтехе.
🎁 ML для старта в Data Science — 28.990 ₽ (вместо 38.990 ₽)
Разберётесь в машинном обучении: от базовых понятий и линейных моделей до ансамблей, бустинга и рекомендательных систем.
🎁 Основы IT для непрограммистов — 16.990 ₽ (вместо 28.990 ₽)
Курс для IT-рекрутеров, маркетологов, проджектов, продактов и всех, кто работает с IT, но не пишет код.
🎁 Архитектуры и шаблоны проектирования — 27.990 ₽ (вместо 37.900 ₽)
Освоите основные паттерны проектирования и прокачаете навыки архитектора программного обеспечения.
🎁 Специалист по ИИ — 89.000 ₽ (вместо 113.900 ₽)
Курс для тех, кто хочет получить профессию в сфере ИИ, собрать портфолио из 5 проектов и научиться разрабатывать сложных AI-агентов.
🎁 Алгоритмы и структуры данных — 33.990 ₽ (вместо 57.990 ₽)
Подготовитесь к алгоритмическим собеседованиям, разберёте структуры данных и научитесь писать более эффективный код.
🎁 Программирование на языке Python — 27.990 ₽ (вместо 47.390 ₽)
Освоите Python на практике: без сухой теории, с пошаговой прокачкой навыков и итоговым проектом в портфолио.
🙌 Выбирайте курс по ссылке, оставляйте заявку, и менеджер поможет подобрать программу под ваши цели — https://clc.to/HglYew
patterns_rus.pdf
317.7 KB
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥1🥱1
🛠 Реактивный SPA на Symfony без единой строчки React
Согласись, что неприятен JS-налог: дублирование роутинга, валидации и моделей на фронте, возня с Vite и раздутые бандлы. Hotwire переворачивает схему — сервер шлёт готовые куски HTML, Turbo подменяет DOM, страница не перезагружается. 🚀
Стек первой части туториала:
— фреймворк Symfony 7.4 + AssetMapper (без Webpack и Node);
— компоненты Turbo Drive/Frames/Streams для бесшовных обновлений;
— библиотека Stimulus там, где реально нужен JS (drag & drop);
— протокол Mercure через SSE вместо возни с WebSockets на PHP;
— стили Tailwind через symfonycasts-бандл (снова без npm);
Крутой приём → колонки доски генерятся из PHP Enum:
Достаточно передать TaskStatus::cases() в Twig и новый статус добавится одной строкой в Enum. Никакой правки шаблонов и магических строк (Doctrine сам сериализует значения в varchar).
Во второй части туториала будет немного нативного HTML5 DnD и Turbo Streams через Mercure для синхронизации между вкладками.
🔗 Подробнее
Библиотека пхпшника
Согласись, что неприятен JS-налог: дублирование роутинга, валидации и моделей на фронте, возня с Vite и раздутые бандлы. Hotwire переворачивает схему — сервер шлёт готовые куски HTML, Turbo подменяет DOM, страница не перезагружается. 🚀
Стек первой части туториала:
— фреймворк Symfony 7.4 + AssetMapper (без Webpack и Node);
— компоненты Turbo Drive/Frames/Streams для бесшовных обновлений;
— библиотека Stimulus там, где реально нужен JS (drag & drop);
— протокол Mercure через SSE вместо возни с WebSockets на PHP;
— стили Tailwind через symfonycasts-бандл (снова без npm);
Крутой приём → колонки доски генерятся из PHP Enum:
enum TaskStatus: string
{
case TODO = 'todo';
case IN_PROGRESS = 'in_progress';
case DONE = 'done';
}
#[ORM\Column(length: 50, enumType: TaskStatus::class)]
private TaskStatus $status = TaskStatus::TODO;
Достаточно передать TaskStatus::cases() в Twig и новый статус добавится одной строкой в Enum. Никакой правки шаблонов и магических строк (Doctrine сам сериализует значения в varchar).
Во второй части туториала будет немного нативного HTML5 DnD и Turbo Streams через Mercure для синхронизации между вкладками.
Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1👏1🥱1
⚡️ Как настроить OPcache Preloading в PHP 8.3 и не положить прод
Прелоадинг компилирует классы один раз при старте FPM и держит их в shared memory. Минус ~30% к latency на каждый реквест. Разберём, как настроить его правильно.
1️⃣ Включаем в php.ini
validate_timestamps=0 → на проде файлы не меняются между деплоями. Не тратим syscall на stat() каждого файла. Сброс кэша через рестарт FPM (Deployer сделает сам).
2️⃣ Пишем preload.php правильно
Проблема: интерфейсы, трейты, абстрактные классы → порядок загрузки важен, одна битая зависимость = FPM не стартует.
class_exists($class, false) → false отключает автолоад. Проверяем, не загружен ли класс уже по цепочке зависимостей.
3️⃣ Для Laravel берём готовое
Пакет анализирует opcache_get_status() на работающем приложении и генерирует preload-список из реально используемых классов, не из всего vendor.
Фасады исключаем, они резолвятся лениво через контейнер, прелоад им мешает.
4️⃣ Проверяем, что всё работает
Важно: php -r "opcache_get_status();" в CLI покажет пустоту. Прелоад живёт только в памяти FPM-мастера.
5️⃣ Интегрируем в деплой
reload, не restart. Reload делает graceful: мастер-процесс перечитывает конфиг и прелоад, старые воркеры дорабатывают текущие реквесты. Zero downtime.
6️⃣ Подводные камни
— Память: прелоад жрёт shared memory. 2000 классов ≈ 30–50 MB. Если memory_consumption мал, часть классов молча не загрузится
— Наследование: если прелоадите дочерний класс, родитель должен быть загружен раньше. Composer classmap решает это, ручной glob — нет
— Enum + PHP 8.1+: backed enum'ы с интерфейсами иногда падают при прелоаде. Если ловите segfault при старте FPM — исключайте enum'ы и обновляйтесь
— Xdebug: прелоад несовместим с xdebug. На dev-окружении выключайте opcache.preload
📌 Итог
Preloading — бесплатный буст перформанса без изменения кода. Но только если прелоадите то, что реально используется, обрабатываете ошибки загрузки и не забываете reload FPM при деплое. В связке с Deployer это одна строка в пайплайне.
Библиотека пхпшника
Прелоадинг компилирует классы один раз при старте FPM и держит их в shared memory. Минус ~30% к latency на каждый реквест. Разберём, как настроить его правильно.
opcache.enable=1
opcache.preload=/var/www/app/preload.php
opcache.preload_user=www-data
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
validate_timestamps=0 → на проде файлы не меняются между деплоями. Не тратим syscall на stat() каждого файла. Сброс кэша через рестарт FPM (Deployer сделает сам).
// ❌ так делать нельзя
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('/var/www/app/vendor')
);
foreach ($files as $file) {
if ($file->getExtension() === 'php') {
opcache_compile_file($file->getRealPath());
}
}
Проблема: интерфейсы, трейты, абстрактные классы → порядок загрузки важен, одна битая зависимость = FPM не стартует.
// ✅ через Composer class map + мягкий fallback
// preload.php
require __DIR__ . '/vendor/autoload.php';
$classMap = require __DIR__ . '/vendor/composer/autoload_classmap.php';
$ignore = [
'/Tests/', '/test/', '/fixtures/', '/stub/',
'/migrations/', '/seeders/', '/factories/',
];
foreach ($classMap as $class => $file) {
foreach ($ignore as $pattern) {
if (str_contains($file, $pattern)) continue 2;
}
try {
if (!class_exists($class, false)
&& !interface_exists($class, false)
&& !trait_exists($class, false)
&& !enum_exists($class, false)
) {
require_once $file;
}
} catch (\Throwable) {
// класс не загрузился — пропускаем, не роняем FPM
}
}
class_exists($class, false) → false отключает автолоад. Проверяем, не загружен ли класс уже по цепочке зависимостей.
composer require laragear/preload
php artisan preload:generate
Пакет анализирует opcache_get_status() на работающем приложении и генерирует preload-список из реально используемых классов, не из всего vendor.
// config/preload.php
return [
'condition' => true,
'memory_limit' => 64, // MB под прелоад
'include' => [],
'exclude' => [
'Illuminate\Support\Facades\*',
],
'overwrite' => true,
];
Фасады исключаем, они резолвятся лениво через контейнер, прелоад им мешает.
// диагностика из CLI не работает, только через FPM
// создаём роут или скрипт
$status = opcache_get_status();
$preload = $status['preload_statistics'] ?? [];
echo "Preloaded classes: " . count($preload['classes'] ?? []) . PHP_EOL;
echo "Preloaded funcs: " . count($preload['functions'] ?? []) . PHP_EOL;
echo "Memory used: " . round($preload['memory_consumption'] / 1024 / 1024, 2) . " MB" . PHP_EOL;
Важно: php -r "opcache_get_status();" в CLI покажет пустоту. Прелоад живёт только в памяти FPM-мастера.
// deploy.php (Deployer)
task('php-fpm:reload', function () {
run('sudo systemctl reload php8.3-fpm');
});
after('deploy:symlink', 'php-fpm:reload');
reload, не restart. Reload делает graceful: мастер-процесс перечитывает конфиг и прелоад, старые воркеры дорабатывают текущие реквесты. Zero downtime.
— Память: прелоад жрёт shared memory. 2000 классов ≈ 30–50 MB. Если memory_consumption мал, часть классов молча не загрузится
— Наследование: если прелоадите дочерний класс, родитель должен быть загружен раньше. Composer classmap решает это, ручной glob — нет
— Enum + PHP 8.1+: backed enum'ы с интерфейсами иногда падают при прелоаде. Если ловите segfault при старте FPM — исключайте enum'ы и обновляйтесь
— Xdebug: прелоад несовместим с xdebug. На dev-окружении выключайте opcache.preload
📌 Итог
Preloading — бесплатный буст перформанса без изменения кода. Но только если прелоадите то, что реально используется, обрабатываете ошибки загрузки и не забываете reload FPM при деплое. В связке с Deployer это одна строка в пайплайне.
Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2❤1
⚡️ Знакомьтесь с экспертом Proglib Academy: AI-архитектор Антон Будняк
Антон — мастер превращения сырых AI-идей в отказоустойчивые системы. Он знает, как запустить MVP за неделю и масштабировать его так, чтобы архитектура не рассыпалась под нагрузкой в сотни тысяч юзеров.
За что его ценит IT-комьюнити:
🟣 Опыт в финтехе и крупном бизнесе
🟣 Запуск продуктов на 6.000+ пользователей
🟣 Ускоряет разработку
📚 Где Антон черпает знания (рекомендации эксперта):
- X* — главный источник новостей. Рекомендую блог Бориса Черни (создателя Claude Code) — там база про использование ИИ в разработке.
- Нетворкинг в ТГ: чаты LLM под капотом и AI-чат — здесь можно найти ответ почти на любой технический вопрос.
- Новости AI: каналы Сиолошная и Denis Sexy IT.
На курсе Agentops Антон учит строить «неубиваемый» бэкенд: работать с очередями, таймаутами и балансировкой нагрузки, чтобы ваши агенты работали стабильно 24/7.
🎁 Майские СКИДКИ в Proglib Academy!
До конца мая на все курсы академии (включая AgentOps и разработку ИИ-агентов) действует скидка -40%. Это лучший момент, чтобы войти в AI-разработку под присмотром практиков.
Узнать больше о программе и обучении у Антона:
👉 Курс о том, как внедрять AI-логику в бэкенд и сохранять стабильность сервиса
Продолжаем знакомить вас с командой?
👍 — Да, ждем новых лиц
🔥 — Пойду подпишусь на каналы из списка Антона
🏃♀️ Proglib Academy
* - запрещен в рф
Антон — мастер превращения сырых AI-идей в отказоустойчивые системы. Он знает, как запустить MVP за неделю и масштабировать его так, чтобы архитектура не рассыпалась под нагрузкой в сотни тысяч юзеров.
За что его ценит IT-комьюнити:
Руководил разработкой ML-моделей в финтехе с экономическим эффектом более 100 млн ₽
Антон строит сервисы, которыми пользуются тысячи людей в реальном проде.
Оптимизировал ML-пайплайны и кратно сократил время от начала разработки до релиза
📚 Где Антон черпает знания (рекомендации эксперта):
- X* — главный источник новостей. Рекомендую блог Бориса Черни (создателя Claude Code) — там база про использование ИИ в разработке.
- Нетворкинг в ТГ: чаты LLM под капотом и AI-чат — здесь можно найти ответ почти на любой технический вопрос.
- Новости AI: каналы Сиолошная и Denis Sexy IT.
На курсе Agentops Антон учит строить «неубиваемый» бэкенд: работать с очередями, таймаутами и балансировкой нагрузки, чтобы ваши агенты работали стабильно 24/7.
🎁 Майские СКИДКИ в Proglib Academy!
До конца мая на все курсы академии (включая AgentOps и разработку ИИ-агентов) действует скидка -40%. Это лучший момент, чтобы войти в AI-разработку под присмотром практиков.
Узнать больше о программе и обучении у Антона:
👉 Курс о том, как внедрять AI-логику в бэкенд и сохранять стабильность сервиса
Продолжаем знакомить вас с командой?
👍 — Да, ждем новых лиц
🔥 — Пойду подпишусь на каналы из списка Антона
* - запрещен в рф
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱7😁2🌚2❤1
Forwarded from Азбука айтишника
🐧 База Linux, которую стыдно гуглить
Для эффективной работы с серверами нужно уверенно владеть терминалом. Забирайте шпаргалку.
Что тут у нас по классике:
А как у вас отношения с консолью?
❤️ — Живу в терминале
🔥 — Знаю базу
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🏃♀️ Азбука айтишника
#ликбез
Для эффективной работы с серверами нужно уверенно владеть терминалом. Забирайте шпаргалку.
Что тут у нас по классике:
Файлы и навигация: ls, cd, mkdir, rm, mv, cp. База, без которой ты даже логи не найдешь.
Поиск и чтение: find, grep, cat. Твои лучшие друзья при дебаге гигабайтных логов в поисках одной упавшей транзакции.
Управление процессами: ps, kill, top. Экстренный набор хирурга, когда какой-то процесс потёк по памяти и положил всю ноду.
Права и сеть: chmod, ping, ifconfig.
А как у вас отношения с консолью?
❤️ — Живу в терминале
🔥 — Знаю базу
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#ликбез
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🌚1
👀 Практический курс «Разработка AI-агентов для автоматизации задач, работы и собственных проектов» со скидкой 40% до конца мая!
Мы поговорили с десятками разработчиков, учли главные боли индустрии и запускаем полностью обновленный курс «ИИ-агенты 5.0». 🎉
Что вы узнаете?
- Как радикально оптимизировать траты на токены.
- Как на практике оценивать качество и точность работы агента.
- Как «докручивать» RAG-системы без потери качества.
- Как обеспечить устойчивость агента к сбоям внешних сервисов без падения всей системы, и про многое-многое другое.
Спикеры — практики с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, Raft и Газпромбанк др.
Длительность: 6–12 недель в зависимости от тарифа.
👉 Занимайте место на главном агентском интенсиве по лучшей цене
Мы поговорили с десятками разработчиков, учли главные боли индустрии и запускаем полностью обновленный курс «ИИ-агенты 5.0». 🎉
Что вы узнаете?
- Как радикально оптимизировать траты на токены.
- Как на практике оценивать качество и точность работы агента.
- Как «докручивать» RAG-системы без потери качества.
- Как обеспечить устойчивость агента к сбоям внешних сервисов без падения всей системы, и про многое-многое другое.
Спикеры — практики с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, Raft и Газпромбанк др.
Длительность: 6–12 недель в зависимости от тарифа.
👉 Занимайте место на главном агентском интенсиве по лучшей цене
🥱3
🔍 Профилирование MongoDB-запросов в Laravel
Медленный роут часто связан не с самим PHP. Обычно виноваты неоптимальные запросы, отсутствующий индекс или дорогая агрегация. Без видимости на уровне драйвера ловить такое — гадание на кофейной гуще.
В гайде собирают лёгкий монитор для связки Laravel + MongoDB из трех частей:
— middleware замеряет общую длительность HTTP-запроса;
— класс, реализующий CommandSubscriber из MongoDB PHP driver, ловит события commandStarted / commandSucceeded / commandFailed и считает длительность каждой команды;
— метрики собираются в QueryMonitorService и в конце реквеста сбрасываются в коллекцию performance_logs.
Ключевое → подписка регистрируется один раз в boot() провайдера:
Дальше драйвер сам отдаёт операцию (find, aggregate, insert), коллекцию и тайминг, без правок прикладного кода. Запросы дольше порога помечаются is_slow.
Чтобы коллекция логов не разрасталась до неприличия, навешивают TTL-индекс на created_at с expireAfterSeconds: 604800 (неделя). Mongo сам подметает старьё.
🔗 Подробнее
Библиотека пхпшника
#how_to
Медленный роут часто связан не с самим PHP. Обычно виноваты неоптимальные запросы, отсутствующий индекс или дорогая агрегация. Без видимости на уровне драйвера ловить такое — гадание на кофейной гуще.
В гайде собирают лёгкий монитор для связки Laravel + MongoDB из трех частей:
— middleware замеряет общую длительность HTTP-запроса;
— класс, реализующий CommandSubscriber из MongoDB PHP driver, ловит события commandStarted / commandSucceeded / commandFailed и считает длительность каждой команды;
— метрики собираются в QueryMonitorService и в конце реквеста сбрасываются в коллекцию performance_logs.
Ключевое → подписка регистрируется один раз в boot() провайдера:
use function MongoDB\Driver\Monitoring\addSubscriber;
public function boot(): void
{
addSubscriber(new MongoCommandSubscriber());
}
Дальше драйвер сам отдаёт операцию (find, aggregate, insert), коллекцию и тайминг, без правок прикладного кода. Запросы дольше порога помечаются is_slow.
Чтобы коллекция логов не разрасталась до неприличия, навешивают TTL-индекс на created_at с expireAfterSeconds: 604800 (неделя). Mongo сам подметает старьё.
Библиотека пхпшника
#how_to
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1
Forwarded from Библиотека собеса по PHP | вопросы с собеседований
Memento — это
Простыми словами:
▪️ Когда использовать
—
—
—
▪️ Memento vs Command
— Command:
— Memento:
▪️ Минус
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1
Я сам использую несколько ИИ-агентов, расчехлять каменный топор не предлагаю.
Но смотрю, во что превращается «просто опиши интент, а код появится». PR на 600 строк, который разраб не может объяснить на ревью. Тесты, которые проверяют, что мок вернул то, что в него замокали. «Починили» баг, а прилетело ещё два, потому что никто не читал, что там нагенерилось.
Сгенерить за минуту и разгребать месяц — это не 10x к производительности. AI это джун с бесконечной скоростью и нулевым контекстом бизнеса. Джуну ревьюишь каждую строку, а с ИИ часто выключают голову, потому что «модель же умная».
Vibe coding — это новый уровень абстракции или мы растим поколение, которое не умеет даже дебажить?
Please open Telegram to view this post
VIEW IN TELEGRAM
💯5👍2🔥1🥱1
🦾🧠🏋️ Качаем мозги к лету!
Все готовятся к пляжному сезону, а мы предлагаем прокачать хард-скилы, чтобы забрать крутой оффер, строить продукты будущего иработать из любой точки мира 😎
⚡️ Распродажа @proglib_academy: забирайте самые актуальные образовательные треки по сниженным ценам!
➡️ Разработка AI-агентов — от 49 000 ₽ (вместо 69 000 ₽).
➡️ Курс AgentOps — 129 000 ₽ (вместо 149 000 ₽).
➡️ Математика для разработки AI-моделей — 23 990 ₽ (вместо 31 990 ₽).
➡️ ML для старта в Data Science — 28 990 ₽ (вместо 38 990 ₽).
Почему мы?
⭐️ Учим для продакшена. Наши программы заточены под реальные задачи бизнеса: как не слить бюджет на токены, как заставить LLM работать стабильно в бэкенде и как выстроить отказоустойчивую архитектуру.
⭐️ Спикеры — суровые практики. Вы будете перенимать опыт у действующих AI-архитекторов, тимлидов и ML-инженеров из топовых IT-компаний.
⭐️ Комплексный подход. Мы даем как мощный математический фундамент для понимания моделей «под капотом», так и передовые инструменты оркестрации агентов.
⭐️ Много практики и фидбека. Вебинары, десятки практических заданий и живое общение с экспертами в чате Telegram на протяжении всего обучения.
⏳ Оставляйте заявку и бронируйте место со СКИДКОЙ 40%
Все готовятся к пляжному сезону, а мы предлагаем прокачать хард-скилы, чтобы забрать крутой оффер, строить продукты будущего и
⚡️ Распродажа @proglib_academy: забирайте самые актуальные образовательные треки по сниженным ценам!
Почему мы?
⏳ Оставляйте заявку и бронируйте место со СКИДКОЙ 40%
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Серверная реактивность: Livewire и три его собрата
Идея одна: рендерить HTML на сервере и гнать обновления клиенту, убрав фронтенд-фреймворк из уравнения. Реализаций четыре, и разница между ними архитектурная:
🔹 Фреймворк Phoenix LiveView (Elixir)
Держит состояние в BEAM-процессе на WebSocket, вычисляя диффы на уровне выражений в шаблоне.
🔹 Инструмент Rails Hotwire
Работает без состояния, перегоняя готовые куски HTML через обычный HTTP, что грубо, но покрывает 80% задач.
🔹 Пакет Laravel Livewire
Выступает ближайшим клоном LiveView на PHP, где состояние сериализуется в JSON и путешествует туда-обратно при каждом запросе (хотя с Laravel Reverb доступен WebSocket).
🔹 Экспериментальные проекты Go Live и HLive
Используют горутины на WebSocket, имеют минимальную экосистему и годятся лишь для внутренних дашбордов.
Выбор тут не про «что быстрее», а про экосистему и команду. Для Laravel-стека Livewire — единственный вариант, не требующий смены языка.
🔗 Читать оригинал
Библиотека пхпшника
Идея одна: рендерить HTML на сервере и гнать обновления клиенту, убрав фронтенд-фреймворк из уравнения. Реализаций четыре, и разница между ними архитектурная:
🔹 Фреймворк Phoenix LiveView (Elixir)
Держит состояние в BEAM-процессе на WebSocket, вычисляя диффы на уровне выражений в шаблоне.
🔹 Инструмент Rails Hotwire
Работает без состояния, перегоняя готовые куски HTML через обычный HTTP, что грубо, но покрывает 80% задач.
🔹 Пакет Laravel Livewire
Выступает ближайшим клоном LiveView на PHP, где состояние сериализуется в JSON и путешествует туда-обратно при каждом запросе (хотя с Laravel Reverb доступен WebSocket).
🔹 Экспериментальные проекты Go Live и HLive
Используют горутины на WebSocket, имеют минимальную экосистему и годятся лишь для внутренних дашбордов.
Выбор тут не про «что быстрее», а про экосистему и команду. Для Laravel-стека Livewire — единственный вариант, не требующий смены языка.
Библиотека пхпшника
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
⚡️ Последний шанс забрать курсы со СКИДКОЙ 40%! Прокачайте свой мозг правильно
До конца акции вы можете воспользоваться специальными ценами на самые востребованные IT-направления. Круто и выгодно прокачать свои скиллы,чтобы получить оффер, уехать на Бали и больше не быть онлайн 😎
➡️ Разработка AI-агентов — от 49 000 ₽ (вместо 69 000 ₽)
Курс про контролируемую разработку ИИ-агентов: качество, стоимость, наблюдаемость и тестирование. С первого занятия — только практическая работа.
➡️ Курс AgentOps — 129 000 ₽ (вместо 149 000 ₽)
Профессиональный трек для разработчиков и LLM инженеров о том, как правильно внедрять AI-логику в бэкенд и сохранять железную стабильность сервиса.
➡️ Математика для Data Science — от 29 990 ₽ (вместо 39 990 ₽)
Вы научитесь решать сложные математические задачи, которые дают на собеседованиях на позицию дата-сайентиста в бигтехе. Отличная база для мощного старта в DS.
➡️ Курс Специалист по ИИ — 89 000 ₽ (вместо 113 900 ₽)
Комплексная программа для получения профессии в сфере ИИ с нуля. За 8 месяцев вы соберете сильное портфолио из 5 реальных проектов и дипломной работы.
➡️ Архитектуры и шаблоны проектирования — 27 990 ₽ (вместо 37 900 ₽)
Интенсив для разработчиков, который поможет освоить основные паттерны проектирования и прокачать навыки архитектора программного обеспечения.
🌸 Выбирайте направление, оставляйте заявку на сайте распродажи, и наш менеджер подробно вас проконсультирует
До конца акции вы можете воспользоваться специальными ценами на самые востребованные IT-направления. Круто и выгодно прокачать свои скиллы,
Курс про контролируемую разработку ИИ-агентов: качество, стоимость, наблюдаемость и тестирование. С первого занятия — только практическая работа.
Профессиональный трек для разработчиков и LLM инженеров о том, как правильно внедрять AI-логику в бэкенд и сохранять железную стабильность сервиса.
Вы научитесь решать сложные математические задачи, которые дают на собеседованиях на позицию дата-сайентиста в бигтехе. Отличная база для мощного старта в DS.
Комплексная программа для получения профессии в сфере ИИ с нуля. За 8 месяцев вы соберете сильное портфолио из 5 реальных проектов и дипломной работы.
Интенсив для разработчиков, который поможет освоить основные паттерны проектирования и прокачать навыки архитектора программного обеспечения.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱2