PHP Academy
Открыть в Telegram
9 435
Подписчики
Нет данных24 часа
-67 дней
-8430 день
Загрузка данных...
Похожие каналы
Облако тегов
Входящие и исходящие упоминания
---
---
---
---
---
---
Привлечение подписчиков
июнь '26
июнь '26
+20
в 0 каналах
май '26
+52
в 0 каналах
Get PRO
апрель '26
+49
в 0 каналах
Get PRO
март '26
+76
в 0 каналах
Get PRO
февраль '26
+154
в 0 каналах
Get PRO
январь '26
+275
в 0 каналах
Get PRO
декабрь '25
+94
в 0 каналах
Get PRO
ноябрь '25
+176
в 43 каналах
Get PRO
октябрь '25
+117
в 14 каналах
Get PRO
сентябрь '25
+216
в 37 каналах
Get PRO
август '25
+238
в 7 каналах
Get PRO
июль '25
+384
в 57 каналах
Get PRO
июнь '25
+316
в 58 каналах
Get PRO
май '25
+101
в 0 каналах
Get PRO
апрель '25
+177
в 26 каналах
Get PRO
март '25
+90
в 0 каналах
Get PRO
февраль '25
+225
в 41 каналах
Get PRO
январь '25
+234
в 44 каналах
Get PRO
декабрь '24
+501
в 38 каналах
Get PRO
ноябрь '24
+1 172
в 53 каналах
Get PRO
октябрь '24
+1 312
в 55 каналах
Get PRO
сентябрь '24
+673
в 198 каналах
Get PRO
август '24
+532
в 40 каналах
Get PRO
июль '24
+648
в 51 каналах
Get PRO
июнь '24
+727
в 55 каналах
Get PRO
май '24
+344
в 37 каналах
Get PRO
апрель '24
+404
в 46 каналах
Get PRO
март '24
+281
в 20 каналах
Get PRO
февраль '24
+131
в 1 каналах
Get PRO
январь '24
+323
в 43 каналах
Get PRO
декабрь '23
+238
в 39 каналах
Get PRO
ноябрь '23
+204
в 28 каналах
Get PRO
октябрь '23
+376
в 18 каналах
Get PRO
сентябрь '23
+525
в 0 каналах
Get PRO
август '23
+2 152
в 0 каналах
Get PRO
июль '23
+2 955
в 0 каналах
| Дата | Привлечение подписчиков | Упоминания | Каналы | |
| 04 июня | +6 | |||
| 03 июня | +4 | |||
| 02 июня | +6 | |||
| 01 июня | +4 |
Посты канала
Оптимизация скорости работы PHP кода 🏎️
Сегодня я покажу вам несколько простых, но эффективных способов ускорить выполнение PHP-скриптов. Оптимизация кода – важная часть работы разработчика, ведь никто не любит медленные сайты. 🚀
🔥 1. Избегайте лишних запросов к БД
Частая ошибка – несколько одинаковых запросов к базе данных в одном запросе. Используйте кэширование (
Redis, Memcached), а если данные редко меняются – сохраняйте их в файл.
🔥 2. Используйте isset() вместо array_key_exists()
Функция isset() работает быстрее, чем array_key_exists(), потому что она не только проверяет наличие ключа, но и сразу его значение.
// Медленный вариант
if (array_key_exists('key', $array)) { }
// Быстрый вариант
if (isset($array['key'])) { }
🔥 3. Не злоупотребляйте foreach при больших объемах данных
Если у вас массив с десятками тысяч элементов, попробуйте array_map() или array_walk() – они работают быстрее за счет встроенной оптимизации в C.
🔥 4. Подключайте файлы правильно
Разница между require, include, require_once и include_once может сильно повлиять на производительность. require_once проверяет, был ли уже подключен файл, что замедляет выполнение. Если точно знаете, что файл не дублируется – используйте require.
🔥 5. Включите OPCache
OPCache кэширует байт-код PHP и ускоряет его выполнение в разы. Включите его в php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1
🔥 6. Используйте json_encode() вместо serialize()
Функция json_encode() работает быстрее, чем serialize(), и при этом генерирует более компактные данные.
$data = ['name' => 'John', 'age' => 25];
// Медленный вариант
$serialized = serialize($data);
// Быстрый вариант
$json = json_encode($data);
✅ Оптимизация PHP кода — это не магия, а грамотный подход к написанию скриптов. Используйте эти советы, и ваши проекты станут быстрее!| 2 | Docker и Kubernetes: основы разработки под облачную инфраструктуру
Курс для тех, кто хочет держать свой стэк и знания актуальными и глубоко разбираться, как устроены Docker, Kubernetes, и современная облачная инфраструктура в целом.
🌐 Чему вы научитесь:
🤩 Создавать облачную инфраструктуру «с нуля» управление и конфигурация серверов с Terraform, Ansible, cloud‑init
🤩 Уверенно работать с Docker: Dockerfile, слои, кэш, многоступенчатые сборки, реестры, безопасность, air‑gapped
🤩 Проектировать многоконтейнерные приложения: паттерны Sidecar, Ambassador, Adapter, проверки (liveness/readiness), DaemonSet и поды
🤩 Настраивать сеть и балансировку в Kubernetes
ClusterIP, Services, Ingress, MetalLB, TLS/SNI, сервис‑меши (Istio)
🤩 Организовывать хранение данных: PersistentVolumes / PVC, StorageClasses, резервное копирование. Упаковка в Helm и поддержка через Operator
🥸 Кто мы: R&D-центр Devhands. Автор курса — Николай Ихалайнен, эксперт по СУБД и бекенду (ex-Percona), со-основатель MyDB, энтузиаст открытого ПО.
🗓 Старт курса: 10 июня, 6 недель обучения.
Изучить программу и записаться можно здесь.
Ждем вас!
Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqxNnFKA | 729 |
| 3 | Совет по Laravel 💡
Знаете ли вы, что... вы можете временно отключить timestamps при сохранении модели? | 1 292 |
| 4 | ✔️ Machine Learning Roadmap: нормальная карта входа в ML без сказок про «выучить нейросети за месяц»
Большой русскоязычный roadmap по машинному обучению: от первого import numpy до LLM, RAG, fine-tuning, AI-агентов и MLOps.
И это не просто очередной список ссылок в стиле «посмотри 40 курсов и станешь ML engineer». Внутри нормальная структура: что учить, в каком порядке, зачем это нужно и какой практический артефакт должен появиться после каждого этапа.
Roadmap разбит на 7 треков:
- фундамент: Python, математика, статистика, инструменты
- классический ML: scikit-learn, табличные данные, метрики, валидация
- Deep Learning: PyTorch, CNN, RNN, training loop
- LLM и трансформеры: attention, KV-cache, RAG, LoRA, агенты
- Generative AI: изображения, видео, аудио, мультимодальность
- MLOps и прод: Docker, Kubernetes, CI/CD, мониторинг, serving
- специализация: CV, NLP, RecSys, RL, Safety
Самое полезное - там честно написано, что ML это не только «обучить модель». В реальности большая часть работы живёт вокруг данных, метрик, деплоя, мониторинга, воспроизводимости и понимания, почему модель вообще ошибается.
Хорошая мысль из roadmap: LLM не делает джуна сениором. Она ускоряет того, кто понимает базу. Без базы человек просто превращается в оператора Copilot, который не может объяснить, почему модель сломалась.
По времени тоже без инфоцыганства:
- 0-3 месяца: Python, математика, классический ML
- 3-6 месяцев: Deep Learning и PyTorch
- 6-12 месяцев: LLM, RAG, fine-tuning, AI-агенты
- 12+ месяцев: MLOps, прод, масштабирование, специализация
Короче, если давно хотели системно зайти в ML, а не прыгать между роликами про ChatGPT, Stable Diffusion и «топ-10 библиотек», это хороший ориентир.
https://github.com/justxor/MachineLearningRoadmap/tree/main | 1 786 |
| 5 | Один человек написал код, который сегодня работает на 20+ млрд устройств
Даниэль Стенберг начал cURL в 1996 году как маленькую утилиту для скачивания файлов из интернета.
Без большой команды. Без венчурных денег. Без хайпа. Просто писал open-source инструмент в свободное время.
Почти 30 лет спустя cURL стал тихим фундаментом интернета.
Он есть в iPhone, Android, PlayStation, Tesla, серверах, приложениях, сайтах и куче устройств, о которых мы даже не думаем. Его используют Spotify, YouTube, Netflix, Instagram и тысячи других сервисов.
NASA даже использовала cURL на марсианском вертолёте Ingenuity.
То есть код Стенберга буквально летал на другой планете.
Самое безумное - первые 23 года он не зарабатывал на cURL ничего. Триллионные компании строили продукты на его коде, а он продолжал бесплатно поддерживать проект и отвечать на баг-репорты.
В 2017 году король Швеции вручил ему премию Полхема - впервые в истории эту награду получил open-source проект.
В 2019 году Стенберг наконец начал работать над cURL фултайм в wolfSSL. В 2025 году получил золотую медаль IVA от Королевской шведской академии инженерных наук.
Но по сути ничего не изменилось: он всё ещё пишет код из домашнего офиса в Стокгольме и сам отвечает на GitHub issues.
Почти 30 лет человек делал инструмент, который работает в фоне и держит огромную часть интернета.
Без громких презентаций.
Без миллиардных раундов.
Просто хороший код, который пережил почти всё. | 1 893 |
| 6 | Нет текста... | 1 725 |
| 7 | Совет по PHP/Laravel 💡
Вместо того чтобы выполнять цикл `foreach` по массиву для поиска значения записи, вы можете использовать метод Laravel Collection `contains()`. | 0 |
| 8 | ✨ Советы по Laravel ✨
Если вы создаете API в своем проекте:
🪐 Применяйте версионирование в самом первом релизе
🪐 Поддерживайте чистоту в routes/api.php, создавая разные файлы маршрутов для каждой версии👇
🧹 Более чистый код, 📈 Лучшие результаты | 0 |
| 9 | 👣 На Stepik обновили курс «Rust: полный курс разработчика. С нуля до профи»
Представьте: через три месяца вы открываете чужой Rust-код и читаете его как книгу.
Arc<Mutex<T>> не вызывает панику. impl Future не пугает. Вы точно знаете, почему компилятор ругается и как это починить за 10 секунд.
Это не фантазия. Это результат 50 уроков, в которых каждая концепция объясняется через код и закрепляется практикой.
Ownership, traits, generics, async, unsafe - всё, что казалось магией, станет рабочим инструментом.
А бонусом - портфолио проектов: от CLI-утилит до REST API и WebAssembly.
Вы и так знаете, что Rust - ваш следующий язык. Этот курс просто сделает это реальностью.
Сегодня - 55% процентов от цены, торопись: https://stepik.org/a/269250/ | 0 |
| 10 | Совет по Laravel 💡
Данные загружаются быстрее, если целевое значение является целым числом.
Используйте 𝘄𝗵𝗲𝗿𝗲𝗜𝗻𝘁𝗲𝗴𝗲𝗿𝗜𝗻𝗥𝗮𝘄() вместо метода 𝘄𝗵𝗲𝗿𝗲𝗜𝗻(), чтобы быстрее загружать данные, когда целевое значение является целым числом. | 0 |
| 11 | 🚀 Ты всё ещё называешь обёртку над ChatGPT «AI-продуктом»?
Пока ты пишешь промпты - рынок уже ушёл дальше.
Сейчас выигрывают не те, кто умеет красиво формулировать запросы, а те, кто строит агентные системы:
- принимают решения сами
- ходят в API
- работают с Postgres и Redis
- управляют браузером через Playwright
- доводят задачи до результата без человека
И вот правда, о которой мало говорят:
90% таких систем умирают между ноутбуком и продом.
Работает локально. Ломается в реальности.
Нет архитектуры. Нет устойчивости. Нет деплоя.
AI Agents Engineering - курс со Stepik, который закрывает этот разрыв.
- LangGraph, AutoGen, Computer Use
- архитектура агентов, а не «скрипты на коленке»
- LLMOps, логирование, стабильность
- деплой в Docker и работа в проде
8 модулей, 120+ шагов, всё через практику.
На выходе не «сертификат ради галочки», а:
- рабочий production-агент
- понимание, как строить такие системы с нуля
- навыки, за которые уже платят
Сейчас самое окно входа.
Через полгода это станет базой, а не преимуществом.
Скидка 55% действует ещё 48 часов: https://stepik.org/a/276971/ | 0 |
| 12 | Совет по Laravel
Передавайте большие файлы без задержек, используя потоки | 0 |
| 13 | ⌛️ Как настроить production-ready логирование в PHP
Логи в проде — это не просто error_log(). Это структурированные данные, correlation ID, асинхронная запись и ротация. Разбираем пошаговую настройку.
1️⃣ Выбираем стек: Monolog
PHP де-факто стандарт для логирования — Monolog. Устанавливаем через Composer:
composer require monolog/monolog
Если на Laravel, уже есть из коробки. Если нет, то подключаем вручную.
2️⃣ Базовая конфигурация с JSON-форматом
use Monolog\Logger;
use Monolog\Handler\RotatingFileHandler;
use Monolog\Formatter\JsonFormatter;
$log = new Logger('app');
$handler = new RotatingFileHandler(
__DIR__ . '/logs/application.log',
maxFiles: 30,
level: Logger::INFO
);
$handler->setFormatter(new JsonFormatter());
$log->pushHandler($handler);
JSON-формат удобен для парсинга в ELK / Grafana Loki.
3️⃣ Добавляем Correlation ID
Трекаем каждый запрос через Processor:
class CorrelationIdProcessor implements ProcessorInterface
{
private string $correlationId;
public function __construct()
{
$this->correlationId = $_SERVER['HTTP_X_CORRELATION_ID']
?? bin2hex(random_bytes(16));
header('X-Correlation-ID: ' . $this->correlationId);
}
public function __invoke(array $record): array
{
$record['extra']['correlation_id'] = $this->correlationId;
return $record;
}
}
$log->pushProcessor(new CorrelationIdProcessor());
Теперь каждая строка лога привязана к конкретному запросу.
4️⃣ Ротация и лимиты
$handler = new RotatingFileHandler(
filename: __DIR__ . '/logs/app.log',
maxFiles: 30,
level: Logger::WARNING,
);
Для ограничения по размеру связываем с logrotate на уровне системы:
# /etc/logrotate.d/php-app
/var/www/app/logs/*.log {
daily
rotate 30
compress
missingok
size 100M
}
5️⃣ Асинхронная запись
PHP синхронный по природе, но можно буферизовать тяжёлые хендлеры:
use Monolog\Handler\BufferHandler;
$bufferHandler = new BufferHandler(
handler: new StreamHandler('logs/app.log'),
bufferSize: 100,
flushOnOverflow: true
);
$log->pushHandler($bufferHandler);
Буферизуем записи и сбрасываем пачкой → меньше I/O операций.
6️⃣ Интеграция с мониторингом
Отправляем в Graylog через GELF:
use Monolog\Handler\GelfHandler;
use Gelf\Publisher;
use Gelf\Transport\UdpTransport;
$publisher = new Publisher(
new UdpTransport('logstash.example.com', 12201)
);
$log->pushHandler(new GelfHandler($publisher));
Или напрямую в Telegram для критических ошибок. Отдельный хендлер, 5 минут работы.
📌 Итог
Monolog + JsonFormatter + CorrelationId + logrotate = логи, с которыми не стыдно идти в прод. | 0 |
| 14 | Локализация текстов в Symfony. Бесплатный урок курса «Symfony Framework»
Перевести интерфейс через файлы — это только начало. Сложности начинаются тогда, когда переводить нужно не статичные строки, а содержимое из базы данных, которое живёт в админке и должно оставаться управляемым с точки зрения архитектуры.
📅 На открытом уроке 15 апреля в 20:00:
— Разберём реальный сценарий локализации в Symfony — от стандартного подхода со статическими переводами до более сложной работы с динамическими текстами из базы данных.
— Покажем возможности symfony/translation, разберём подходы к хранению переводов, варианты моделей данных и практическую реализацию получения локализованного содержимого через Doctrine.
Урок не для тех, кто хочет решить многоязычность «одной таблицей на всё», не думает о поддержке архитектуры и считает, что локализация заканчивается на переводе кнопок и заголовков.
👉 Записаться: https://otus.pw/FFmT/?erid=2W5zFGq8i8q
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. | 0 |
| 15 | ⚡️ 8 хуков Claude Code, которые автоматизируют то, что вы вечно забываете
Вы говорите Claude Code отформатировать файл, а он этого не делает. Просите не трогать .env, а он лезет туда первым делом. Напоминаете прогнать тесты перед завершением, а он забывает.
Знакомо?
Все потому, что CLAUDE.md по сути является рекомендацией. Claude читает его и следует ему примерно в 80% случаев. Хуки работают иначе.
Это автоматические действия, которые срабатывают каждый раз, когда Claude редактирует файл, выполняет команду или завершает задачу.
Ниже разберем 8 готовых хуков, которые можно скопировать прямо в settings.json и больше о них не вспоминать.
https://uproger.com/8-hukov-claude-code-kotorye-avtomatiziruyut-to-chto-vy-vechno-zabyvaete/ | 0 |
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
