Чем увлекаешься?

Ответ

Помимо основной работы, я активно участвую в open-source проектах, связанных с экосистемой PHP и Laravel. Недавно контрибьютил в пакет для упрощения работы с очередями. В свободное время экспериментирую с низкоуровневыми расширениями PHP на C, чтобы глубже понять, как работает язык изнутри.

Люблю решать сложные алгоритмические задачи на Codewars и изучать архитектурные подходы, разбирая исходный код крупных фреймворков, таких как Symfony. Это помогает находить неочевидные оптимизации для рабочих проектов.

// Пример небольшого pet-проекта — генератор мок-данных для тестов
class DataGenerator {
    public static function createNestedArray(int $depth): array {
        if ($depth <= 0) return ['value' => rand(1, 100)];
        return [
            'level' => $depth,
            'child' => self::createNestedArray($depth - 1)
        ];
    }
}
// Использование: DataGenerator::createNestedArray(5);

Также слежу за развитием инструментов статического анализа, например, Psalm и PHPStan, и пробую применять их строгие уровни в своих проектах.

Ответ 18+ 🔞

А, ну это я тебе сейчас расскажу, как я жизнь свою трачу, помимо основной работы. Ты только вдумайся — open-source, ёпта. То есть я, сука, после восьми часов на работе, прихожу домой, и добровольно, с песней, сажусь ещё и код писать. Ну да, я контрибьючу в разные пакеты, в основном по PHP и Laravel. Недавно вот в один пакет для очередей лажанулся — ну, там логика была пиздопроебибна, я её переписал, чтобы нормально работала. Люди благодарят, а я сам от себя охуел — зачем мне это надо? Но кайф же, чувак, когда твой код в проектах у тысяч людей крутится.

А в свободное от свободного времени время — это вообще песня. Я, блядь, на C расширения для PHP пишу. Ну а чё, интересно же! Хочу понять, как эта магия внутри работает, почему array_merge иногда тормозит как хуй с горы. Залезаешь в исходники, а там, ёб твою мать, такой код, что волнение ебать. Но когда разберёшься и свою первую функцию нативно прикрутишь — чувствуешь себя богом. Ну, или хотя бы полупидором, который шарит.

Ещё алгоритмы на Codewars гоняю. Чисто чтобы мозги не засохли. Зайдешь, бывает, такая задачка тебе выпадет — удивление пиздец. Сидишь, бздишь, бумажку всю исчиркаешь, а потом — бац! — и решение находится. Кайф-то какой. Или смотрю, как устроены большие фреймворки вроде Symfony. Это ж надо было так архитектуру продумать, ядрёна вошь! Берёшь идеи оттуда и пытаешься в своих проектах применить, иногда даже получается.

Ну и, конечно, без статического анализа сейчас нихуя. Psalm, PHPStan — мои лучшие друзья, которые постоянно говорят мне, что я мудак и неправильно пишу. Выставляю им самый строгий уровень, а они мне: «чувак, тут потенциальный null, ты веришь?». И ведь правы, суки. Терпения ноль ебать, но зато код потом чистый.

Вот, к примеру, мой маленький пет-проект — генератор данных для тестов. Написал за вечер, когда мозг уже не варил, но руки чесались. Работает — и ладно.

// Пример небольшого pet-проекта — генератор мок-данных для тестов
class DataGenerator {
    public static function createNestedArray(int $depth): array {
        if ($depth <= 0) return ['value' => rand(1, 100)];
        return [
            'level' => $depth,
            'child' => self::createNestedArray($depth - 1)
        ];
    }
}
// Использование: DataGenerator::createNestedArray(5);

Вот такая, блядь, жизнь. Вместо того чтобы пиво пить или кино смотреть, я сижу и думаю, как бы ещё впендюрить пару оптимизаций в чужой код. Сам себя не понимаю иногда.