-
Деплой без боли: как выкатить WordPress на сервер и откатиться за секунду
В CI/CD своими словами мы разобрали теорию: чем сборка отличается от доставки и почему валидные ключи YAML нельзя путать между системами. Эта статья — про вторую половину слова «деплой»: как технически выложить новый релиз на живой сервер, чтобы пользователи не увидели полусломанный сайт, и как откатиться…
-
Юнит-тесты на практике: проверяем код без веры «на глаз»
Юнит-тест — это маленький кусок кода, который проверяет другой кусок кода и говорит «ок» или «упало», без вашего участия. Вы вызываете функцию, подсовываете ей заведомые данные и сверяете результат с ожиданием. Один раз написав такую проверку, вы больше не запускаете сайт руками после каждой правки и…
-
Регулярные выражения на практике: читаем, пишем, не боимся
Регулярное выражение (regex) — это не язык программирования и не «магическая строка», а способ описать шаблон текста и потом проверить, подходит ли под него данная строка, найти все такие места или заменить их. Один раз научившись читать шаблоны, вы перестанете гуглить «как проверить email» каждый раз…
-
Ревью кода по диффу: как читать изменения и находить блокеры
Код-ревью — это не «посмотреть, красиво ли». Это проверка одной вещи: не сломает ли этот патч то, что уже работает, и решает ли он поставленную задачу. Смотрят при этом почти всегда не на код целиком, а на diff — на то, что изменилось. Умение быстро читать…
-
Утилитарные CSS-классы: Tailwind и обычный CSS
Tailwind CSS сломал привычную модель «пиши семантические классы и опиши их в CSS». Вместо .card { padding… } вы пишете class=»p-4 rounded-lg shadow». Это другой способ думать о вёрстке — и у него есть цена, которую не видно на демо. Разберём, что такое утилитарные классы, чем…
-
Защита API: rate limiting, валидация, CORS и ключи
API ломает старую иллюзию фронтенда: «форма одна, пользователь через неё идёт». У API тысячи вызывающих, часть из них скрипты, часть — боты, а интерфейс запроса можно подделать. Защита строится на четырёх слоях: не дать захлебнуться (rate limiting), не принять мусор (валидация), не пустить чужой браузер (CORS),…
-
CI/CD своими словами: чем сборка отличается от доставки и как не сломать пайплайн
Аббревиатуру CI/CD пишут в каждом втором README, но за ней стоят три разные вещи, которые часто путают: непрерывная интеграция, непрерывная доставка и непрерывное развёртывание. Разберём по косточкам — что вообще делает пайплайн, из чего он состоит в GitHub Actions / GitLab CI / Jenkins, и где…
-
Конвертация данных: JSON, YAML, CSV и PHP-массивы
Мы храним и передаём конфигурации, ответы API, выгрузки из базы, прайс-листы — и каждый раз встаёт вопрос «в каком формате». Разберём четыре самых частых — JSON, YAML, CSV и нативный PHP-массив — по делу: чем они отличаются, для чего созданы, где ломаются и когда между ними…
-
Runbook «Авария» — единый печатный лист
Что это. Одна страница «первой минуты», собранная из девяти статей серии «Эксплуатация VPS / DevOps-база». Держите её на сервере (~/incident.md), в терминале или распечатанной рядом с рабочим местом. Она отвечает на вопрос «сайт/сервер не дышит — что делать и в каком порядке», не заставляя вспоминать восемь…
-
Диагностика: когда сервер «не дышит»
Это девятая, финальная статья серии «Эксплуатация VPS / DevOps-база». Восемь шагов назад это был голый Ubuntu (Анатомия VPS); теперь на машине живёт полный WordPress-стек: сервисы (systemd), фронтенд (Nginx), движок (PHP-FPM), база (MariaDB), закрытый периметр (Firewall/SSH), актуальные патчи (Обновления) и рука на пульсе (Мониторинг ОС). Но любую,…
-
Мониторинг уровня ОС: CPU, RAM, диск
Это восьмая статья серии «Эксплуатация VPS / DevOps-база». К концу прошлого шага (Обновления без простоя) машина актуальна: security-патчи ставятся, вы видите «патч применён?» через reboot-required/needrestart, PHP обновляется почти незаметно, есть путь отката. Но «обновляю вовремя» не отвечает на главный вопрос: а всё ли в порядке прямо…
-
Обновления без простоя и необслуживаемые патчи
Это седьмая статья серии «Эксплуатация VPS / DevOps-база». К концу прошлого шага (Firewall и SSH-харднинг) у вас закрытая машина: снаружи видно только {22, 80, 443}, боты ловятся fail2ban, лишние слушающие порты проверены через ss -tulpn. Но есть вещь, которую firewall закрыть не может: сам софт, который…
👤 Зарегистрируйтесь, чтобы добавить материал в закладки.
