Найти тему
Unset не Unset в PHP
В этом посте мы поговорим об unset() в PHP и о фимозных личностях, которых можно встретить на собеседованиях. Поговорим о том, почему unset() в PHP по свой производительности аналогичен присваиванию переменной нового значения. Собеседования 2022 года, главным образом, запомнились мне прекрасными "техлидами" и "архитекторомаи" борющимися за микро-производительность в проектах построенных на фреймворках вроде Симфони... Дважды в собеседованиях мне встретилась просьба проанализировать код на проблемы, среди прочего в этом коде был unset() [удаляет переданную переменную]. Когда я никак не реагировал...
1 год назад
Первые пробы Хабр Экспертов
Некоторое время назад на ХабрКарьере появились эксперты. Сам Хабр пишет, что все пока что сыро, но это не сыро, это вообще никак, ну а это обзор на это никак (и старческое гудение) Пока, с первого взгляда, главная проблема - это Эксперты-не-эксперты. Я о прекрасных личностях, взявших на себя статус "Эксперта", но не отвечающих на попытку связаться с ними. Для проверки, "как все это работает", я написал десятку бесплатных экспертов, в результате получил ответ только от двоих. Остальные или прочли и никак не отреагировали, вообще никак, или даже не зашли в свой аккаунт на Хабре, что бы прочесть, что смиренный желатель общения с экспертом хотел от них...
2 года назад
Почему JWT вам не нужен [а может и нужен]
Это философский пост про JWT, обычно используемые при авторизации, архитектуру вашего кода и собеседования. Это мысли о том, как JWT может замедлить маленький кусочек вашего кода в несколько раз при этом почти не дав ничего вам взамен. Если вы в танке, то что такое JWT можно прочитать тут: https://habr.com/ru/post/340146/ Итак, JWT - это набор подписанных данных, обычно используемых для авторизации. Так как обычно JWT это история из мира авторизации, он содержит ID пользователя, возможно время жизни токена, список приложений/действия для которых он выписан. Также JWT содержит в себе указание на имя алгоритма с помощью которого создавался хэш для проверки валидности токена...
2 года назад
Перечисления из PHP 8.1 в PHP 7.4
Выгрузил в общий доступ библиотеку созданную в 2022 году для облегчения переезда с PHP 7.4 на PHP 8.1, среди прочего позволяет в 7-ой версии использовать перечисления максимально похожие на перечисления в 8.1 Спасибо разработчикам PHP, перечисления - это разновидность классов (финальных классов). Единственное синтаксическое нововведение - определение вариантов перечислений и вызов этих вариантов. Благодаря тому, что перечисления классы - можно создать класс-перечисление в любой версии PHP, главное при этом, просто повторить набор публично доступных методов и свойств...
2 года назад
Как создать мок-класс (тестовый двойник) для final class в PhpUnit
Если коротко никак! Но, используя библиотеку PhpMocker - очень даже легко)) Причина возникновения проблем с созданием тестовых двойников финальных классов в PhpUnit связана с тем, что все мок-классы созданные им, создаются с помощью наследования. А как известно, создать наследника для финального класса просто невозможно, вот поэтому PhpUnit и терпит фиаско. PhpMocker может создавать мок-классы как с помощью наследования, так и с помощью изменения PHP кода в момент загрузки класса. И Именно благодаря этому для него нет проблем в создании тестовых двойников для финальных классов (а значит и для...
2 года назад
Популярны косяк даты публикации
Это пост опять про косяки интерфейса Яндекс Дзена. Но на этот раз о безвредном косяке. Вчера я публиковал пост с реальной проблемами интерфейса Яндекс.Дзена - Кто виноват в косяках загрузки больших аватарок в Яндекс Дзене. Сегодня пост продолжение, об уже несерьезном баге. Очень часто в интерфейсах листингов материалов (например лент постов) выводится дата или "возраст" материала. В случае вывода возраста часто вешается JavaScript, который сравнивает дату публикации с датой на устройстве и выводит...
2 года назад
У Яндекса хорошие тестровщики и юзабилити-архитекторы [нет]
О косяки в форме редактирования профиля канала, и почему тестировщики и дизайнеры такое допустили Это будет "пост-нытье" и пост "как не надо делать". Ну а еще - как все в IT через одно место, что пропустили даже Яндекс-тестировщики, и почему это проблема, особенно для 2023 году. Перед началом, я так напомню, у Яндекса, кроме поиска и Дзена, еще есть и курсы, на которых учат тестировщиков. Для людей не из IT эта учеба за очень большие денежки. Коротко по теме - Форма редактирования профиля канала Дзена, выбор аватарки, все на компуктере...
2 года назад
Первый @%!5 или зачем я решил пилить PhpMocker
PhpMocker - библиотека для работы с тестовыми двойниками, позволяет создавать "моки" для private, static и final методов и работать с финальными классами и перечислениями Привет первый пост и первый читатель, эта статья - вводная телега про PhpMocker, библиотеку для работы с моками (тестовыми двойниками). История, зачем и по какой причине было задумано изобретение велосипеда и просто кое-какие мысли в слух. Это мой первый пост на Дзене, и было бы ему самое место на Хабре, так как его потребитель - разработчике ПО, но на Хабре анальное огораживание и пока я его не прошел)) Ну и потом, Дзен не накладывает...
2 года назад