Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «pfu»
[Из песочницы] Тайп-хинтинг по всем канонам полиморфизма в старых версиях PHP 2017-05-24 13:39:52
tl;dr Вкратце, в данной статье я создам трейт, позволящий даже в версиях PHP младше 5.6 (до версии 5 ...
+ развернуть текст сохранённая копия
tl;dr Вкратце, в данной статье я создам трейт, позволящий даже в версиях PHP младше 5.6 (до версии 5.4) добиться от компилятора поведения, подобного любому статическому языку программирования. Причём трейт будет валидировать не только входные, но и выходные парамеры тоже. Так сказать, полное погружение в тайп-хинтинг.
Данный трейт вы сможете без проблем подключить и использовать в своих веб-приложениях.
Читать дальше →
Тэги: php, ооп, полиморфизм
[Перевод] Производительность I/O бэкэнда: Node vs. PHP vs. Java vs. Go 2017-05-23 15:49:46
+ развернуть текст сохранённая копия
Понимание модели ввода/вывода вашего приложения может привести и к пониманию различий между приложением, работающим с нагрузкой, под которой оно создавалось, и тем, которое лицом к лицу столкнулось с реальным способом своего применения. Возможно, если ваше приложение невелико и не создаёт большой нагрузки, то для него это не так важно. Но по мере роста трафика использование ошибочной модели ввода/вывода может погрузить вас в мир боли.
Как и в большинстве других ситуаций с несколькими возможными решениями, дело не в том, какой из вариантов лучше, дело в понимании компромиссов. В этой статье мы сравним Node, Java, Go и PHP из-под Apache, обсудим модели ввода/вывода в разных языках, рассмотрим достоинства и недостатки каждой модели и прогоним простенькие бенчмарки. Если вас волнует производительность ввода/вывода вашего следующего веб-приложения, то эта статья для вас. Читать дальше →
Тэги: group, i/o, java, mail.ru, node.js, nodejs, performance, php, блог, компании, теги, читает
[Из песочницы] Альтернативная организация проекта на Yii2 2017-05-23 15:27:26
+ развернуть текст сохранённая копия
Как предлагается создавать проект на Yii2 сейчас? Выбираете шаблон проекта: basic или advanced, форкаете себе, потом пишете и комитите туда. Бам! Случилась копипаста, ваш проект и шаблон теперь развиваются отдельно. Вам не получить исправлений, внесенных, в шаблон, а в yii2-app-basic , естественно, не возьмут доработок специфических для вашей задачи. Это проблема номер один.
Как расширяется проект на Yii2? Выбираете подходящие расширения и подключаете их с помощью композера. Находите пример конфига этого расширения в README и копипастите в конфиг своего приложения. Оопс… Опять копипаста. Вылазящяя разными боками, в том числе таким: в большом проекте используется много расширений — конфиг приложения становится огромным и просто нечитаемым. Это проблема номер два.
Как эти проблемы связаны? Первая решается так: выделяем переиспользуемый код и превращаем в расширение. И снова здравствуйте: у расширения есть свой конфиг — получили вторую проблему.
Наиболее остро эти проблемы стоят для повторно используемых решений, когда надо поднимать много/несколько, в принципе одинаковых проектов, но с большими/маленькими изменениями. Плюс избавление от копипасты и переиспользование кода ещё никому не мешало.
Хочу поделиться своим вариантом решения этих проблем.
Читать дальше →
Тэги: php, plugins, yii, yii2
Делаем GraphQL API на PHP и MySQL. Часть 2: Мутации, переменные, валидация и безопасность 2017-05-23 15:20:54
+ развернуть текст сохранённая копия
Не так давно я написал статью о том, как сделать свой GraphQL сервер на PHP с помощью библиотеки graphql-php и как с его помощью реализовать простое API для получения данных из MySQL.
Теперь я хочу рассказать о том как заставить ваш GraphQL сервер работать с мутациями, а также постараюсь ответить на самые распространенные вопросы в комментариях к предыдущей статье, показав как использовать валидацию данных и затрону тему безопасности самих запросов.
Читать дальше →
Тэги: graphql, mysql, php
Ещё одна система логирования, теперь на ElasticSearch, Logstash, Kibana и Prometheus 2017-05-23 10:06:17
< ...
+ развернуть текст сохранённая копия
Всем разработчикам известна ситуация, когда приложение заглючило и пользователь не может сделать то, что ему нужно. Причины разные: пользователь ввёл неправильные данные, у него медленный интернет и многое другое. Без системы логирования разобрать эти ошибки сложно, а порой невозможно. С другой стороны, система логирования — хороший индикатор проблемных мест в работе системы. Я расскажу, как построить систему логирования в своём проекте (да, ещё раз). В статье расскажу об Elasticsearch + Logstash + Kibana и Prometheus и как их заинтегрировать со своим приложением.
Читать дальше →
Тэги: 2gis, 2гис, api, backend, beaver, elasticsearch, gelf, kibana, logstash, lua, nginx, php, php5, prometheus, yii, yii-framework, блог, веб-сайтов, компании, логирование, разработка
Главная / Главные темы / Тэг «pfu»
|
Взлеты Топ 5
Падения Топ 5
|