fa
Feedback
PHP Academy

PHP Academy

رفتن به کانال در Telegram
9 351
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-227 روز
-8730 روز
جذب مشترکین
ژوئن '26
ژوئن '26
+42
در 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 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
30 ژوئن+1
29 ژوئن+1
28 ژوئن+1
27 ژوئن0
26 ژوئن+1
25 ژوئن0
24 ژوئن+2
23 ژوئن+2
22 ژوئن0
21 ژوئن+2
20 ژوئن+2
19 ژوئن+2
18 ژوئن+2
17 ژوئن0
16 ژوئن+1
15 ژوئن+1
14 ژوئن0
13 ژوئن+1
12 ژوئن+1
11 ژوئن0
10 ژوئن0
09 ژوئن0
08 ژوئن0
07 ژوئن0
06 ژوئن0
05 ژوئن+2
04 ژوئن+6
03 ژوئن+4
02 ژوئن+6
01 ژوئن+4
پست‌های کانال
⚙️ Phiki Phiki помогает подсветить синтаксис. Написан на PHP. Он использует файлы грамматики TextMate и темы Visual Studio Code для генерации кода с подсветкой синтаксиса для веба. Название и публичный API Phiki во многом вдохновлены Shiki — пакетом, который делает примерно то же самое в экосистеме JavaScript. Реализация пакета также во многом вдохновлена vscode-textmate — мощным пакетом, лежащим в основе Visual Studio Code, Shiki и других инструментов. 🔗 Github

2
Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса Lovable может за минуты собрать экран, который выгля
Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса Lovable может за минуты собрать экран, который выглядит как почти готовый интерфейс. Но результат зависит не от «магии нейросети», а от того, насколько точно вы ставите задачу. Один расплывчатый запрос даст случайный макет, а правильно собранный системный промпт — понятную структуру, единый стиль и экран, который уже можно показывать команде, заказчику или использовать для проверки идеи. На открытом уроке 2 июля в 20:00 разберём, как формулировать задачи для Lovable. Поговорим о структуре системного промпта, ключевых словах, которые помогают превратить текст в качественный интерфейс, и способах доработки результата через встроенный редактор и повторные запросы. Отдельно обсудим, как управлять компонентами, просить нейросеть переиспользовать элементы и сохранять единый визуальный стиль. 👉 Записаться: https://otus.pw/LiYE/?erid=2W5zFGAxZNy Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
789
3
بدون متن...
1 395
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 кода — это не магия, а грамотный подход к написанию скриптов. Используйте эти советы, и ваши проекты станут быстрее!
1 921
5
Docker и Kubernetes: основы разработки под облачную инфраструктуру Курс для тех, кто хочет держать свой стэк и знания актуаль
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
1 415
6
Совет по Laravel 💡 Знаете ли вы, что... вы можете временно отключить timestamps при сохранении модели?
Совет по Laravel 💡 Знаете ли вы, что... вы можете временно отключить timestamps при сохранении модели?
1 548
7
✔️ Machine Learning Roadmap: нормальная карта входа в ML без сказок про «выучить нейросети за месяц» Большой русскоязычный ro
✔️ 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 896
8
Один человек написал код, который сегодня работает на 20+ млрд устройств Даниэль Стенберг начал cURL в 1996 году как маленьку
Один человек написал код, который сегодня работает на 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 936
9
بدون متن...
1 751
10
Совет по PHP/Laravel 💡 Вместо того чтобы выполнять цикл `foreach` по массиву для поиска значения записи, вы можете использов
Совет по PHP/Laravel 💡 Вместо того чтобы выполнять цикл `foreach` по массиву для поиска значения записи, вы можете использовать метод Laravel Collection `contains()`.
0
11
✨ Советы по Laravel ✨ Если вы создаете API в своем проекте: 🪐 Применяйте версионирование в самом первом релизе 🪐 Поддержива
✨ Советы по Laravel ✨ Если вы создаете API в своем проекте: 🪐 Применяйте версионирование в самом первом релизе 🪐 Поддерживайте чистоту в routes/api.php, создавая разные файлы маршрутов для каждой версии👇 🧹 Более чистый код, 📈 Лучшие результаты
0
12
👣 На Stepik обновили курс «Rust: полный курс разработчика. С нуля до профи» Представьте: через три месяца вы открываете чужо
👣 На 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
13
Совет по Laravel 💡 Данные загружаются быстрее, если целевое значение является целым числом. Используйте 𝘄𝗵𝗲𝗿𝗲𝗜𝗻𝘁𝗲𝗴
Совет по Laravel 💡 Данные загружаются быстрее, если целевое значение является целым числом. Используйте 𝘄𝗵𝗲𝗿𝗲𝗜𝗻𝘁𝗲𝗴𝗲𝗿𝗜𝗻𝗥𝗮𝘄() вместо метода 𝘄𝗵𝗲𝗿𝗲𝗜𝗻(), чтобы быстрее загружать данные, когда целевое значение является целым числом.
0
14
🚀 Ты всё ещё называешь обёртку над ChatGPT «AI-продуктом»? Пока ты пишешь промпты - рынок уже ушёл дальше. Сейчас выигрывают
🚀 Ты всё ещё называешь обёртку над 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
15
Совет по Laravel Передавайте большие файлы без задержек, используя потоки
Совет по Laravel Передавайте большие файлы без задержек, используя потоки
0
16
⌛️ Как настроить 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
17
Локализация текстов в Symfony. Бесплатный урок курса «Symfony Framework» Перевести интерфейс через файлы — это только начало.
Локализация текстов в Symfony. Бесплатный урок курса «Symfony Framework» Перевести интерфейс через файлы — это только начало. Сложности начинаются тогда, когда переводить нужно не статичные строки, а содержимое из базы данных, которое живёт в админке и должно оставаться управляемым с точки зрения архитектуры. 📅 На открытом уроке 15 апреля в 20:00: — Разберём реальный сценарий локализации в Symfony — от стандартного подхода со статическими переводами до более сложной работы с динамическими текстами из базы данных. — Покажем возможности symfony/translation, разберём подходы к хранению переводов, варианты моделей данных и практическую реализацию получения локализованного содержимого через Doctrine. Урок не для тех, кто хочет решить многоязычность «одной таблицей на всё», не думает о поддержке архитектуры и считает, что локализация заканчивается на переводе кнопок и заголовков. 👉 Записаться: https://otus.pw/FFmT/?erid=2W5zFGq8i8q Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
0
18
⚡️ 8 хуков Claude Code, которые автоматизируют то, что вы вечно забываете Вы говорите Claude Code отформатировать файл, а он
⚡️ 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