
PHP на своём компьютере: установка и первый скрипт
Как за 20 минут поставить PHP на Windows или macOS, запустить встроенный сервер и открыть первый скрипт в браузере. С проверками на каждом шаге и разбором типичных ошибок.

Как за 20 минут поставить PHP на Windows или macOS, запустить встроенный сервер и открыть первый скрипт в браузере. С проверками на каждом шаге и разбором типичных ошибок.

За 20–30 минут вы поставите PHP на Windows, macOS или Linux, проверите версию в терминале и запустите первый скрипт через встроенный сервер. Разбираем ошибки, на которых спотыкаются почти все.

За 20–30 минут вы поставите PHP 8.3, проверите его из командной строки и увидите первую страницу в браузере через встроенный сервер. Без Apache и лишней обвязки.

Тест, который дёргает реальный API, падает от чужого таймаута и медленный. Разбираем четыре способа изолировать сеть в pytest: monkeypatch, responses, respx и запись реальных ответов через VCR.

Библиотеку пересобрали, приложение не тронули — и оно падает с SIGSEGV без единой ошибки компоновщика. Разбираем, почему ABI ломается тихо и что нельзя менять в публичном заголовке разделяемой библиотеки.

Цикл суммирования float ускорился в 6 раз без изменения алгоритма — только за счёт SIMD. Разбираем, когда компилятор векторизует сам, когда молчит и как это проверить в ассемблере.

Lock-free очередь на acquire/release теряла элементы под нагрузкой раз в несколько часов. Разбираем, как memory_order и ABA привели к порче данных и что показал анализ.

Проект собирается 40 минут вместо 8, и виноват не компилятор, а один <code>#include</code> в общем заголовке. Разбираем, что искать на ревью, чтобы билд не разрастался.

Корутины C++20 обещают дешёвую асинхронность, но под нагрузкой всплывают аллокации на каждый вызов, срыв inline-оптимизаций и гонки при возобновлении не на том потоке. Разбираем механизм и что мерить.

Концепты — не синтаксический сахар над enable_if. Они меняют порядок разрешения перегрузок, дают частичное упорядочивание по ограничениям и ломаются на неатомарных выражениях. Разбираем механизм.

Как заменить россыпь if-проверок на декларативную схему: валидаторы, разница между Pydantic v1 и v2, где схема ломается на проде и что с этим делать.

Шаблоны и constexpr переносят работу на этап компиляции, но цена этого — время сборки, распухшие бинарники и нечитаемые диагностики. Разбираем, где абстракция окупается, а где ломает проект.