Всем доброго времени суток! Удивительно, но упоминание о шаблоне "Спецификация" в контексте php встречается крайне редко. А ведь с его помощью можно не только избежать комбинаторного взрыва методов репозитория, но и улучшить переиспользование кода. Я же в свою очередь хотел бы остановиться на еще одной возможности, предоставляемой данным паттерном. С ее помощью можно решить проблему, которая возникает почти в каждом веб-приложении. И лично мне очень не хватало этого знания еще пару лет назад.
Рубрика «php» - 12
Пара слов о спецификациях
2021-01-30 в 17:02, admin, рубрики: architecture, doctrine, Doctrine ORM, pattern, php, Specification, symfony, usabilityPHP Дайджест № 197 (11 – 25 января 2021)
2021-01-25 в 9:01, admin, рубрики: laravel, php, PHP 8.1, php-дайджест, symfony, yii, дайджест, Разработка веб-сайтов
Свежая подборка со ссылками на новости и материалы. В выпуске: объекты в качестве ключей массивов и другие RFC предложения для PHP 8.1, запуск WebAssembly в PHP, о коллизиях в массивах, порция полезных инструментов, статьи, видео, PHP Дайджест Live.
Приятного чтения!
Трассировка и логирование в микросервисах: как мы втаскивали единый стандарт на 30 независимых команд
2021-01-20 в 9:01, admin, рубрики: kibana, php, Sentry, Анализ и проектирование систем, Блог компании Skyeng, логирование, Разработка веб-сайтов, управление разработкойСервисы падали, падают и будут падать
Когда вы быстро растете, микросервисы начинают появляться буквально по щелчку пальцев и в самых неожиданных местах. В таких условиях каждая команда обычно на ходу решает, где, как и какие логи будет складывать. Когда сначала 10, потом 20, а там и более команд логируют по-своему, начинается хаос.
Например, наша команда сопровождения маркетинга в Skyeng знала: пользователь с таким-то айдишником нажал в личном кабинете кнопку «Сменить преподавателя» — постучался в наш сервис, дальше ушло три сообщения, в очереди было 2 вызова сервисов и эти сервисы ответили 200. Но на самом деле, что было у команд сопровождения учителей или биллинга, к которым мы стучались, не знал никто…
Тогда мы придумали инструмент, чтобы маркировать трафик
PHP Дайджест № 196 (1 – 11 января 2021)
2021-01-11 в 9:35, admin, рубрики: laravel, php, PHP 8.1, php-дайджест, symfony, yii, дайджест, Разработка веб-сайтовЭволюция команды разработки
2020-12-31 в 10:23, admin, рубрики: javascript, management, php, python, teamlead, управление разработкой
Весной 2019 года меня пригласили руководить разработкой в небольшой стартап, занимающийся обработкой Big Data.
За год руководства было решено немало важных вопросов и их решений, о которых я сегодня буду рассказывать. Статья в большей степени предназначена для руководителей и тимлидов разработки, в команде которой требуются перемены. У читателя может сложиться мнение, что у меня и команды не было скучных рутинных задач, это не так. Эта часть работы будет пропущена.
Новогодние бенчмарки компьютеров Эльбрус
2020-12-28 в 22:25, admin, рубрики: .net, java, javascript, Lua, php, python, бенчмарки, высокая производительность, Компьютерное железо, ненормальное программирование, Процессоры, ЭльбрусНовогодние бенчмарки компьютеров Эльбрус
Продолжение статьи Большое тестирование процессоров различных архитектур. В этот раз я решил измерить производительность конкретных сред/языков программирования (C#, Java, JavaScript, Python, Lua) на компьютерах с процессорами Эльбрус и сравнить их с компьютерами (даже телефонами) на процессорах архитектурой ARM и X86-64.
Языки программирования:
- C#
- PHP
- JavaScript (Browser, не NodeJS)
- Java
- Python
- Lua
Список тестов
- Dhrystone (http://www.roylongbottom.org.uk/#anchorSource)
- Whetstone (http://www.roylongbottom.org.uk/#anchorSource)
- Scimark 2 (Original sources: https://math.nist.gov/scimark2/download.html)
- Linpack (Based on: https://github.com/fommil/netlib-java/blob/master/perf/src/main/java/com/github/fommil/netlib/Linpack.java)
- Generic:
- Loops
- Conditions
- Arithmetics
- Math
- Array speed
- String manipulation
- Hash algorithms
Но сперва приведу результаты нативных бенчмарков на языке C, а также результаты других популярных бенчмарков.
Ловушки для современного PHP
2020-12-26 в 12:28, admin, рубрики: enterprise, php, PHP 8, Программирование, Разработка веб-сайтов, энтерпрайзВыход новой мажорной версии языка — это всегда возможность как оглянуться назад и оценить уже пройденный путь, так и попробовать посмотреть далеко вперед и предсказать, что нас ждёт в будущем, поэтому ничего удивительного, что в последнее время в сообществе происходит много дискуссий на эту тему.
После множества обсуждений этого вопроса, я хотел бы поделиться с вами выводами, к которым пришёл: под катом вы узнаете, с какими трудностями PHP предстоит столкнуться в перспективе самых ближайших лет.
Как я пытался улучшить Laravel, а сделал только хуже
2020-12-22 в 9:32, admin, рубрики: laravel, php, tdd, testingВступление
Laravel – классный PHP-фреймворк, мы им постоянно пользуемся в компании. Но как известно, ничто в мире не идеально, можно всегда предложить улучшения.
Несколько недель назад я попытался сделать одно маленькие улучшение по части тестов в Laravel, открыл два пулл-реквеста (#1 и #2). Оба пулл-реквеста были отклонены автором фреймворка Тейлором, но в итоге он сам в этот же день опубликовал собственную реализацию того же функционала, о чём даже в твиттере похвалился. И, о боги, реализацию ужасную!
Контекст
Отпусти меня, PHP
2020-12-13 в 21:47, admin, рубрики: php, выбор языка программирования, Программирование, языки программированияВсем привет, меня зовут Коля и я 10 лет пишу на php. Хлоп-хлоп-хлоп, привет, Коля.

Впервые я попробовал PHP в 11 классе, на тот момент были очень популярны сайты для мобилок, и меня это затянуло. Я писал на php на уроках и переменах со своего nokia n73, разбирался с одной из широко известных в узких кругах CMS, и грезил светлым будущим. Вот же оно, я теперь программист, я все понимаю и у меня получается.