🎓 Твой опыт стоит дорого — стань экспертом Proglib Academy
Чувствуешь, что накопил достаточно знаний, чтобы делиться ими с другими?
Мы ищем сильных практиков, которые хотят попробовать себя в роли:
— преподавателей;
— авторов курсов;
— наставников.
Это возможность не только монетизировать экспертизу, но и прокачать личный бренд, структурировать собственные знания и вырастить новое поколение специалистов.
👉 Заполни короткую анкету
Чувствуешь, что накопил достаточно знаний, чтобы делиться ими с другими?
Мы ищем сильных практиков, которые хотят попробовать себя в роли:
— преподавателей;
— авторов курсов;
— наставников.
Это возможность не только монетизировать экспертизу, но и прокачать личный бренд, структурировать собственные знания и вырастить новое поколение специалистов.
👉 Заполни короткую анкету
Коллеги, в PHP всё чаще требуют не только код, но и понимание, как он живёт в проде.
Docker, CI/CD, деплой, очереди — это уже базовый минимум.
Чтобы не разбираться в этом в последний момент перед собесом или релизом, читайте DevOps-канал из нашей сетки.
Практика, реальные кейсы, без лишней теории.
👉 Библиотека DevOps — @devopsslib
Docker, CI/CD, деплой, очереди — это уже базовый минимум.
Чтобы не разбираться в этом в последний момент перед собесом или релизом, читайте DevOps-канал из нашей сетки.
Практика, реальные кейсы, без лишней теории.
👉 Библиотека DevOps — @devopsslib
PHP жив, а легаси можно взбодрить Агентами
Представьте: старый добрый Laravel-проект, к которому подключены AI-агенты. Они разбирают тикеты поддержки, генерируют контент и анализируют логи. Это реалии 2026 года.
Мы полностью обновили курс «Разработка AI-агентов».
Раньше это было "для ML-щиков". Теперь — для всех, кто хочет делать современный веб.
Фичи:
— LangFlow: Визуальное программирование логики (No-code трек).
— Интеграции: Как подружить агентов с базой и API.
— Практика: Создание реальных помощников для бизнеса.
🎁 Акция 3 в 1:
Берешь курс по агентам — получаешь два курса в подарок. Отличный повод наконец-то выучить алгоритмы или базу компьютерных наук.
Врываемся в будущее
Представьте: старый добрый Laravel-проект, к которому подключены AI-агенты. Они разбирают тикеты поддержки, генерируют контент и анализируют логи. Это реалии 2026 года.
Мы полностью обновили курс «Разработка AI-агентов».
Раньше это было "для ML-щиков". Теперь — для всех, кто хочет делать современный веб.
Фичи:
— LangFlow: Визуальное программирование логики (No-code трек).
— Интеграции: Как подружить агентов с базой и API.
— Практика: Создание реальных помощников для бизнеса.
🎁 Акция 3 в 1:
Берешь курс по агентам — получаешь два курса в подарок. Отличный повод наконец-то выучить алгоритмы или базу компьютерных наук.
Врываемся в будущее
🥱7
💡Совет по Laravel: метод «withToken()»
Знаете ли вы, что HTTP-клиент Laravel имеет метод
Библиотека пхпшника
📍 Навигация: Вакансии • Задачи • Вопросы с собеса
#vardump
Знаете ли вы, что HTTP-клиент Laravel имеет метод
withToken(), который можно использовать для установки токенов беарера? 🚀Библиотека пхпшника
📍 Навигация: Вакансии • Задачи • Вопросы с собеса
#vardump
👍14
Пишем HTTP-сервер на php и сокетах
Если вы пишете на PHP, то Apache или Nginx — привычный фон. Но чтобы реально понять HTTP, полезно однажды собрать сервер своими руками.
В статье разбирается базовая механика HTTP без магии фреймворков:
— что на самом деле делает HTTP-сервер
— как выглядит «сырой» HTTP-запрос и ответ
— где заканчиваются заголовки и начинается тело
— как слушать порт и принимать соединения в PHP
— как написать минимальный HTTP-сервер через
В итоге получается рабочий сервер на чистом PHP: принимает запросы, парсит метод/путь/заголовки и возвращает корректные HTTP-ответы.
🔗 Хабр
Библиотека пхпшника
Если вы пишете на PHP, то Apache или Nginx — привычный фон. Но чтобы реально понять HTTP, полезно однажды собрать сервер своими руками.
В статье разбирается базовая механика HTTP без магии фреймворков:
— что на самом деле делает HTTP-сервер
— как выглядит «сырой» HTTP-запрос и ответ
— где заканчиваются заголовки и начинается тело
— как слушать порт и принимать соединения в PHP
— как написать минимальный HTTP-сервер через
stream_socket_server()В итоге получается рабочий сервер на чистом PHP: принимает запросы, парсит метод/путь/заголовки и возвращает корректные HTTP-ответы.
🔗 Хабр
Библиотека пхпшника
🔥9❤3
Forwarded from Библиотека задач по PHP | тесты, код, задания
Что будет результатом выполнения данного скрипта?
🌚5😁1
Forwarded from Библиотека задач по PHP | тесты, код, задания
Что будет результатом выполнения данного скрипта?
Anonymous Quiz
5%
Notice
4%
cl1::f2()cl1::f2()
46%
Singleton::f1()cl1::f2()
5%
Singleton::f1()cl1::f1()
39%
Fatal Error
Как Geocodio поддерживает в актуальном состоянии 300 миллионов адресов
Geocodio поддерживает актуальность более 300 миллионов адресов с помощью собственной системы обработки данных Chop Chop.
Как обновляются адресные данные
Адреса постоянно меняются: появляются новые дома, улицы, пересматриваются границы участков. Чтобы поддерживать базу в актуальном состоянии, Geocodio использует почти 3 000 источников данных и автоматизированный конвейер обработки.
Система Chop Chop
Chop Chop — внутренняя платформа компании, построенная на Laravel и SQLite. Она управляет поступающими данными, очищает, нормализует и проверяет их. Благодаря системе очередей в Laravel Horizon данные из сотен источников обрабатываются параллельно на мощных серверах.
В системе есть визуальный редактор, позволяющий корректировать данные вручную. Для массовых исправлений используются SQL-запросы.
Этапы обработки данных
1. Получение данных — большинство источников (городские и окружные администрации) обновляются еженедельно.
2. Конвертация форматов — сырые данные приводятся к единому виду (GeoJSON).
3. Обогащение — добавляются недостающие почтовые коды, города, корректируются адресные записи.
4. Валидация — проверяются корректность номеров домов, координат и других параметров. Если качество данных низкое, они отбрасываются (до 30% записей).
5. Проверка изменений — если в новой версии есть значительные отличия, их передают на ручную проверку.
Развертывание обновлений
Каждую ночь Chop Chop собирает свежие данные в агрегированную базу SQLite. Затем тестируется геокодер, и перед развертыванием изменений их проверяет человек.
Благодаря заранее подготовленным копиям базы данных обновления разворачиваются быстро — достаточно переключить систему на новую версию.
👉Читать подробнее
Geocodio поддерживает актуальность более 300 миллионов адресов с помощью собственной системы обработки данных Chop Chop.
Как обновляются адресные данные
Адреса постоянно меняются: появляются новые дома, улицы, пересматриваются границы участков. Чтобы поддерживать базу в актуальном состоянии, Geocodio использует почти 3 000 источников данных и автоматизированный конвейер обработки.
Система Chop Chop
Chop Chop — внутренняя платформа компании, построенная на Laravel и SQLite. Она управляет поступающими данными, очищает, нормализует и проверяет их. Благодаря системе очередей в Laravel Horizon данные из сотен источников обрабатываются параллельно на мощных серверах.
В системе есть визуальный редактор, позволяющий корректировать данные вручную. Для массовых исправлений используются SQL-запросы.
Этапы обработки данных
1. Получение данных — большинство источников (городские и окружные администрации) обновляются еженедельно.
2. Конвертация форматов — сырые данные приводятся к единому виду (GeoJSON).
3. Обогащение — добавляются недостающие почтовые коды, города, корректируются адресные записи.
4. Валидация — проверяются корректность номеров домов, координат и других параметров. Если качество данных низкое, они отбрасываются (до 30% записей).
5. Проверка изменений — если в новой версии есть значительные отличия, их передают на ручную проверку.
Развертывание обновлений
Каждую ночь Chop Chop собирает свежие данные в агрегированную базу SQLite. Затем тестируется геокодер, и перед развертыванием изменений их проверяет человек.
Благодаря заранее подготовленным копиям базы данных обновления разворачиваются быстро — достаточно переключить систему на новую версию.
👉Читать подробнее
❤2
📚 Psl — Современный, централизованный, хорошо типизированный, неблокируемый набор API
Библиотека представляет собой современную, согласованную, централизованную и строго типизированную стандартную библиотеку для PHP. Ее цель — предоставить разработчикам PHP набор неблокирующих API, которые упрощают и стандартизируют выполнение общих задач, таких как работа со строками, массивами, генерация случайных чисел и другие операции.
Использование этой библиотеки может поспособствовать повышению качества и читаемости кода, обеспечивая единообразие и надежность при решении повседневных задач.
🔗Github
Библиотека пхпшника
#инструменты
Библиотека представляет собой современную, согласованную, централизованную и строго типизированную стандартную библиотеку для PHP. Ее цель — предоставить разработчикам PHP набор неблокирующих API, которые упрощают и стандартизируют выполнение общих задач, таких как работа со строками, массивами, генерация случайных чисел и другие операции.
Использование этой библиотеки может поспособствовать повышению качества и читаемости кода, обеспечивая единообразие и надежность при решении повседневных задач.
🔗Github
Библиотека пхпшника
#инструменты
🔐 How-to: быстрая подготовка Laravel к пентесту
Грамотная подготовка к пентесту экономит время, деньги и нервы. Ниже — практичный чек-лист для PHP/Laravel-команд, чтобы тест выявил реальные уязвимости, а не очевидные косяки.
1️⃣ Документация
актуальная архитектура и окружения;
описание ключевых роутов и бизнес-флоу;
краткие заметки для тестеров.
2️⃣ Доступы
отдельные тестовые аккаунты с ролями;
никаких реальных данных;
allowlist IP при необходимости.
3️⃣ Разрешения
письменное согласие владельцев систем;
чёткий scope и сроки теста.
4️⃣ Коммуникация
предупредите dev/ops/management;
обозначьте риски и контакты для инцидентов.
5️⃣ Базовая безопасность Laravel
Eloquent / Query Builder → защита от SQLi
Blade + валидация → XSS
HTTPS + HSTS
rate-limit против DDoS
принцип минимальных прав
безопасная загрузка файлов
6️⃣ Зависимости
7️⃣ Перед стартом
backup БД и файлов;
включённые логи и мониторинг;
план реагирования.
🔗 Medium
Библиотека пхпшника
Грамотная подготовка к пентесту экономит время, деньги и нервы. Ниже — практичный чек-лист для PHP/Laravel-команд, чтобы тест выявил реальные уязвимости, а не очевидные косяки.
1️⃣ Документация
актуальная архитектура и окружения;
описание ключевых роутов и бизнес-флоу;
краткие заметки для тестеров.
2️⃣ Доступы
отдельные тестовые аккаунты с ролями;
никаких реальных данных;
allowlist IP при необходимости.
3️⃣ Разрешения
письменное согласие владельцев систем;
чёткий scope и сроки теста.
4️⃣ Коммуникация
предупредите dev/ops/management;
обозначьте риски и контакты для инцидентов.
5️⃣ Базовая безопасность Laravel
Eloquent / Query Builder → защита от SQLi
Blade + валидация → XSS
@csrf, Secure + SameSite cookiesHTTPS + HSTS
rate-limit против DDoS
принцип минимальных прав
безопасная загрузка файлов
APP_DEBUG=false, закрытые .env, storage, vendor6️⃣ Зависимости
composer auditcomposer update --dry-run roave/security-advisories7️⃣ Перед стартом
backup БД и файлов;
включённые логи и мониторинг;
план реагирования.
🔗 Medium
Библиотека пхпшника
❤3
⌨️ Топ-вакансий по PHP за неделю
Junior / Middle PHP Developer — от 120 000 до 220 000 ₽, Удалёнка/гибрид (Санкт-Петербург)
PHP Developer (Middle+ / Senior) — 4 500 — 5 300 $, Удаленка (Латинская Америка/Канада)
PHP Symfony Developer (Senior) — 250 000 до 350 000 ₽, Удаленка (Москва)
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
Junior / Middle PHP Developer — от 120 000 до 220 000 ₽, Удалёнка/гибрид (Санкт-Петербург)
PHP Developer (Middle+ / Senior) — 4 500 — 5 300 $, Удаленка (Латинская Америка/Канада)
PHP Symfony Developer (Senior) — 250 000 до 350 000 ₽, Удаленка (Москва)
➡️ Еще больше топовых вакансий — в нашем канале PHP Jobs
😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Как внедрить AI в проект и не сломать архитектуру? 🐘
Пора перестать просто слать запросы к моделям и начать строить полноценные ИИ-решения. Мы учим создавать автономных агентов, которые работают по вашим правилам и легко интегрируются в бэкенд.
Что вы получите:
— автоматизацию в n8n для связи PHP-кода с AI-логикой через удобные сценарии;
— работу с данными через RAG на базе
— управление диалогом в
— мониторинг качества через
Сделайте свой бэкенд интеллектуальным и надёжным.
Присоединиться к курсу
Пора перестать просто слать запросы к моделям и начать строить полноценные ИИ-решения. Мы учим создавать автономных агентов, которые работают по вашим правилам и легко интегрируются в бэкенд.
Что вы получите:
— автоматизацию в n8n для связи PHP-кода с AI-логикой через удобные сценарии;
— работу с данными через RAG на базе
Pinecone и Chroma для точности ответов;— управление диалогом в
LangGraph для сохранения контекста и обработки ошибок;— мониторинг качества через
LangSmith для отслеживания работы системы.Сделайте свой бэкенд интеллектуальным и надёжным.
Присоединиться к курсу
SwooleApp: Легковесный фреймворк для Swoole
Если вы работали с Swoole напрямую, то знаете: производительность — отличная, но структуры часто не хватает.
SwooleApp закрывает именно эту дыру — это лёгкий каркас для долгоживущих PHP-приложений без лишнего boilerplate.
Что такое SwooleApp
SwooleApp — фреймворк для PHP, работающий как постоянно запущенный сервер, а не «PHP-скрипт на запрос».
Это даёт:
❌ без перезапуска PHP на каждый запрос
⚡ меньше overhead и выше RPS
♻️ переиспользование ресурсов (Redis, БД, кэши)
🧵 асинхронность и фоновые задачи из коробки
Что есть внутри
Роутинг через PHP 8 attributes
Middleware
Task Workers для блокирующих операций
Встроенный «cron» (Cyclic Jobs)
State Container для пулов соединений и shared-ресурсов
Минимальная и прозрачная архитектура
Пример приложения (готово к запуску)
В репозитории есть demo-проект с Docker:
REST API для Redis (get / set)
Фоновая задача с имитацией тяжёлой работы
Циклическая джоба (лог раз в 10 секунд)
Middleware с замером времени
Ключевая идея: State Container
SwooleApp использует долгоживущие воркеры, поэтому:
пулы Redis / БД создаются один раз при старте
соединения переиспользуются
нет постоянного connect/disconnect
⚠️ Важно: контейнер изолирован на воркер — 4 воркера = 4 пула. Это ограничение архитектуры Swoole.
Task Workers — зачем они нужны
Любая блокирующая операция = стоп HTTP-воркера.
Решение:
HTTP-воркер отдаёт задачу в Task Worker
сам продолжает обслуживать запросы
результат возвращается асинхронно
Так сервер не «залипает» на
Почему не Laravel / Symfony + Swoole
Коротко и честно:
они проектировались под stateless PHP-FPM
глобальное состояние → утечки памяти
ORM без пулов соединений
много блокирующего кода
для стабильности нужно слишком много воркеров
В итоге теряется смысл Swoole.
SwooleApp проектировался сразу под long-living процессы, без костылей.
Кому подойдёт
микросервисы и API
high-load
real-time / async
если хочется Swoole, но без боли
если Laravel/Symfony на Swoole разочаровали
Это не замена Laravel, а лёгкий каркас для другой задачи.
👉 Хабр
Библиотека пхпшника
Если вы работали с Swoole напрямую, то знаете: производительность — отличная, но структуры часто не хватает.
SwooleApp закрывает именно эту дыру — это лёгкий каркас для долгоживущих PHP-приложений без лишнего boilerplate.
Что такое SwooleApp
SwooleApp — фреймворк для PHP, работающий как постоянно запущенный сервер, а не «PHP-скрипт на запрос».
Это даёт:
❌ без перезапуска PHP на каждый запрос
⚡ меньше overhead и выше RPS
♻️ переиспользование ресурсов (Redis, БД, кэши)
🧵 асинхронность и фоновые задачи из коробки
Что есть внутри
Роутинг через PHP 8 attributes
Middleware
Task Workers для блокирующих операций
Встроенный «cron» (Cyclic Jobs)
State Container для пулов соединений и shared-ресурсов
Минимальная и прозрачная архитектура
Пример приложения (готово к запуску)
В репозитории есть demo-проект с Docker:
REST API для Redis (get / set)
Фоновая задача с имитацией тяжёлой работы
Циклическая джоба (лог раз в 10 секунд)
Middleware с замером времени
docker-compose up → всё работаетКлючевая идея: State Container
SwooleApp использует долгоживущие воркеры, поэтому:
пулы Redis / БД создаются один раз при старте
соединения переиспользуются
нет постоянного connect/disconnect
⚠️ Важно: контейнер изолирован на воркер — 4 воркера = 4 пула. Это ограничение архитектуры Swoole.
Task Workers — зачем они нужны
Любая блокирующая операция = стоп HTTP-воркера.
Решение:
HTTP-воркер отдаёт задачу в Task Worker
сам продолжает обслуживать запросы
результат возвращается асинхронно
Так сервер не «залипает» на
sleep(), I/O или тяжёлых запросах.Почему не Laravel / Symfony + Swoole
Коротко и честно:
они проектировались под stateless PHP-FPM
глобальное состояние → утечки памяти
ORM без пулов соединений
много блокирующего кода
для стабильности нужно слишком много воркеров
В итоге теряется смысл Swoole.
SwooleApp проектировался сразу под long-living процессы, без костылей.
Кому подойдёт
микросервисы и API
high-load
real-time / async
если хочется Swoole, но без боли
если Laravel/Symfony на Swoole разочаровали
Это не замена Laravel, а лёгкий каркас для другой задачи.
👉 Хабр
Библиотека пхпшника
❤3
🎅 Секретный Санта для айтишников от Proglib.academy
Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик.
🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе:
1️⃣ Упомяните курс Академии у себя в блоге.
2️⃣ Пришлите скрин сюда.
3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса.
Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более.
🎄 Акция действует до Нового года.
Win-win, всё как мы любим!
Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик.
🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе:
1️⃣ Упомяните курс Академии у себя в блоге.
2️⃣ Пришлите скрин сюда.
3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса.
Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более.
🎄 Акция действует до Нового года.
Win-win, всё как мы любим!
🌚1
🧠 Обрабатывайте большие наборы данных порциями (Chunk) в Laravel
⚡ Почему это важно
Когда в таблице тысячи или миллионы записей, обычный
❌ сильно расточительно по памяти,
❌ может привести к падению по OOM,
❌ скрипт может не успеть выполнить работу целиком.
Для таких ситуаций Laravel предлагает метод
🧰 Что делает
Метод
📌 В этом примере Laravel:
загружает 200 пользователей за раз,
обрабатывает их,
затем переходит к следующей партии.
🧠 Почему это круто
✨ Снижение пикового потребления памяти
Вместо загрузки всей таблицы в память — всего 200 записей. Это позволяет обрабатывать десятки и сотни тысяч строк без OOM.
✨ Меньше рисков таймаута
Когда вы делаете работу по частям, выполнение разбивается на небольшие, предсказуемые блоки.
✨ Гибкость для batch-обновлений/экспортов
Дизайн идеально подходит для миграций, обновлений атрибутов, экспортов CSV и фоновых задач.
🔍 Немного про
Если код обновляет записи внутри цикла, обычный
🧠 Продвинутые приёмы
💡 Жадная загрузка связей: если в обработке вам нужны связи (
💡 Используйте в фоновых командах или джобах:
🧠 Когда chunk — не лучший выбор
❗ Если вам нужно просто вывести данные на страницу пользователю — лучше использовать пагинацию, а не chunk. chunk больше для обработки данных внутри приложения, а не для отдачи клиенту.
Библиотека пхпшника
⚡ Почему это важно
Когда в таблице тысячи или миллионы записей, обычный
get() или all() загрузит все строки в память сразу — это:❌ сильно расточительно по памяти,
❌ может привести к падению по OOM,
❌ скрипт может не успеть выполнить работу целиком.
Для таких ситуаций Laravel предлагает метод
chunk(), который загружает данные частями (порциями) вместо всего набора сразу. 🧰 Что делает
chunk()Метод
chunk() берет определённое количество записей за раз и передает их в callback для обработки. Laravel автоматически загрузит следующую партию после завершения предыдущей.
use App\Models\User;
User::chunk(200, function ($users) {
foreach ($users as $user) {
// обработка каждого пользователя
}
});
📌 В этом примере Laravel:
загружает 200 пользователей за раз,
обрабатывает их,
затем переходит к следующей партии.
🧠 Почему это круто
✨ Снижение пикового потребления памяти
Вместо загрузки всей таблицы в память — всего 200 записей. Это позволяет обрабатывать десятки и сотни тысяч строк без OOM.
✨ Меньше рисков таймаута
Когда вы делаете работу по частям, выполнение разбивается на небольшие, предсказуемые блоки.
✨ Гибкость для batch-обновлений/экспортов
Дизайн идеально подходит для миграций, обновлений атрибутов, экспортов CSV и фоновых задач.
🔍 Немного про
chunkById() и улучшенияЕсли код обновляет записи внутри цикла, обычный
chunk() может вести себя непредсказуемо, потому что набор может меняться. В таких случаях лучше использовать chunkById(), который гарантирует постоянный порядок по id и предотвращает пропуски/повторы при обновлениях.
User::chunkById(200, function ($users) {
foreach ($users as $user) {
$user->update(['active' => true]);
}
});
🧠 Продвинутые приёмы
💡 Жадная загрузка связей: если в обработке вам нужны связи (
->with('profile')), загружайте их вместе с батчами — это предотвращает N+1-проблемы внутри chunk.
User::with('orders')->chunk(200, function ($users) {
foreach ($users as $user) {
// $user->orders уже загружены
}
});
💡 Используйте в фоновых командах или джобах:
chunk() отлично подходит для консольных команд и jobs, которые работают с большими массивами данных и не должны завершиться по таймауту.🧠 Когда chunk — не лучший выбор
❗ Если вам нужно просто вывести данные на страницу пользователю — лучше использовать пагинацию, а не chunk. chunk больше для обработки данных внутри приложения, а не для отдачи клиенту.
Библиотека пхпшника
👍3❤1
WANTED: PHP-МАСТЕР
Обвиняется в написании качественного кода на
Приметы:
— в совершенстве знает
— умеет готовить современные фреймворки и чистую архитектуру;
— готов делиться знаниями с большой аудиторией;
— хочет стать медийным экспертом.
Условия:
— гонорар за разработку материалов;
— рост личного бренда и узнаваемости;
— поддержка команды Proglib.
Сдаться властям
P.S. Видел пхпшника, который пишет как бог? Сдай его нам.
Обвиняется в написании качественного кода на
PHP, вопреки всем мемам. Мы ищем того, кто поднимет планку обучения в PHP-сообществе.Приметы:
— в совершенстве знает
PHP (знание Python или Go приветствуется);— умеет готовить современные фреймворки и чистую архитектуру;
— готов делиться знаниями с большой аудиторией;
— хочет стать медийным экспертом.
Условия:
— гонорар за разработку материалов;
— рост личного бренда и узнаваемости;
— поддержка команды Proglib.
Сдаться властям
P.S. Видел пхпшника, который пишет как бог? Сдай его нам.
👍4
Знаете ли вы, что Laravel предоставляет метод
Библиотека пхпшника
#vardump
missing() для настройки поведения привязки модели маршрута по умолчанию, когда модель не найдена? 🚀Библиотека пхпшника
#vardump
❤5
Forwarded from Книги для программистов
Книга учит основам работы с Docker за 22 коротких урока, каждый из которых можно пройти за один обед. Да, без ночных марафонов с документацией.
Что разберешь:
🔹 Как запускать приложения в контейнерах на Linux, Windows и macOS. И наконец перестать писать «ну у меня локально работает».
🔹 Создание и публикация Docker-образов. Собрать → упаковать → отправить в реестр — без магии и слёз.
🔹 Мультиконтейнерные приложения. Docker Compose и Kubernetes как инструменты, а не загадочные существа.
🔹 Наблюдаемость. Как добавить метрики и логи, чтобы понимать, что происходит внутри контейнера.
🔹 CI/CD и облака. Запуск контейнеров в Azure и GCP, деплой через GitHub Actions — практично, коротко, по делу.
🔹 Работа с легаси. Да, можно упаковать Windows-приложение в контейнер и не переписывать всё с нуля.
🔹 Оптимизация образов. Скорость, безопасность и размер — чтобы твой Dockerfile не выглядел как мамонт.
Книга хороша тем, что в ней нет «истории технологий» и прочего «бла-бла», которое съедает время. Только практические уроки и лабораторки, которые можно выполнить между созвонами.
🔹 Курс «Основы IT для непрограммистов»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Please open Telegram to view this post
VIEW IN TELEGRAM