Рубрика «php» - 157

Intro

image
PHP + Java. Картинка взята отсюда

В этом комментарии к статье под названием «Пишите код каждый день» я сказал, что скоро покажу свой проект, на который я выделял ежедневно 1 час (кроме выходных). Так как в последнее время моя работа связана с написанием распределенных Java приложений, которые используют in-memory data grid (IMDG) в качестве хранилища данных, то мой проект связан именно с этим.

Подробнее про IMDG можно почитать в моих предыдущих статьях (1, 2). Но если кратко, то это кластерное распределенное хранилище объектов по ключам, которое держит все данные в памяти, за счет чего достигается высокая скорость доступа к данным. Позволяет не только хранить, но и обрабатывать данные, не извлекая их из кластера.
И если интерфейс для обработки данных у каждого конкретного IMDG свой, то интерфейс доступа к данным обычно идентичен хеш-таблице.

О чем эта статья

Большинство IMDG написано на Java и поддерживают API для Java, C++, C#, при этом API для веб языков программирования (Python, Ruby, PHP) не поддерживается, а протокол для написания клиентов сильно ограничен. Именно этот факт я и считаю основным тормозом для проникновения IMDG в массы — отсутствие поддержки самых массовых языков.

Так как производители IMDG пока не предоставляют поддержку веб языков, то веб программисты не имеют возможностей по такому же легкому масштабированию приложений, какие есть у серверных Java разработчиков. Поэтому я решил сделать нечто подобное самостоятельно и выложить в open source, взяв в качестве движка open source IMDG JBoss Infinispan (компания JBoss, принадлежащая Red Hat, довольно хорошо известна в кругу java разработчиков). Мой проект называется Sproot Grid, пока доступен только для PHP, но если у сообщества будет интерес, то сделаю и интеграцию с Ruby и Python.

В этой статье я еще раз расскажу про in-memory data grid и про то, как конфигурировать, запускать и использовать Sproot Grid.
Читать полностью »

Дмитрий Стогов — автор идеи нового движка PHPNG выступит с докладом на DevConf 2014.

Отдай свой PHP на прокачку — PHPNG — движок нового поколения
Предлагаем Вашему вниманию интервью с докладчиком:
Читать полностью »

Разработчик с ником fin1te пишет безопасную обертку над curl, которая позволяет защититься от SSRF-атак, и в связи с этим проводит контест: если вы сможете скачать файл btc.txt, который расположен на демо-сервере SafeCurl safecurl.fin1te.net и доступен только с source IP 127.0.0.1 и 37.48.90.196 (внешнего IP сервера), то вы получите доступ к кошельку, в котором находится B⃦0.25.

Уже совершено 3 успешных взлома:

  • @zoczus обошел защиту, зайдя по http://0.0.0.0/btc.txt
  • @47696d6569 и ryanc выполнили DNS rebinding, что позволило им загрузить файл с другого IP адреса, уже после прохождения валидации
  • @shDaniell использовал уязвимость в парсинге URI, скачав файл ссылкой вида http://user:pass@safecurl.fin1te.net?@google.com/

Читать полностью »

Предисловие

В прошлом году компания, в которой я работаю, стала активно переходить на IP-телефонию. Для этих целей был использован дистрибутив FreePBX. Опыта работы с телефонией практически не было, поэтому проблем было много. Всего у нас используется 2 сервера FreePBX, примерно по 30 транков на каждом. Некоторые транки ведут себя не очень хорошо и порой теряют регистрацию. Поэтому возникла необходимость мониторить состояние регистрации, чтобы узнавать о неработающей телефонии раньше пользователей.
Для мониторинга IT-инфраструктуры мы уже давно используем Zabbix. Заводить элементы данных на каждый транк (т.е. около 60) — задача нудная, утомительная и неинтересная. Кроме того, надо постоянно следить за списком транков в мониторинге и актуализировать его. Поэтому, решено было использовать одну из самых интересных особенностей этой системы мониторинга — низкоуровневое обнаружение. Итак, что было сделано.
Читать полностью »

Типограф Муравьёва опубликован на GitHub

Нас очень давно просят опубликовать типограф ГитХабе, чтобы дать возможность развивать продукту еще быстрее. Так как мы не создаем модули для разных систем, а делаем, только код типографа, то пришло время опубликовать типограф на ГитХабе и предоставить всем желающим возможность делать форки и открыто развивать продукт под свои нужды.

Велком: https://github.com/emuravjev/mdash

Читать полностью »

в 9:14, , рубрики: framework, laravel, php, метки: , , ,

15-16 мая в Нью-Йорке проходит Laracon — конференция по Laravel.

И, конечно же, на ней выступал Тэйлор Отвелл. В начале своего доклада он просто рассказал о планах на будущее в плане разработки фреймворка и про сообщество.

Но основную часть его доклада заняли анонсы его новинок!

Во-первых, он презентовал Homestead — «коробка» для Vagrant, в которую входит всё, что может понадобиться для разработки на Laravel.

А вот второй анонс заслуживает большего внимания! Добро пожаловать под кат!
Читать полностью »

В этом посте хотелось бы рассказать больше про концепцию панели аналитики. Собственно именно она дает разработчикам уникальные возможности для поиска проблемных по производительности мест в коде.

PRFLR — это система аналитики, направленная на скорейшее обнаружения проблемных по производительности мест в работе приложений. Realtime и непосредственно на Production серверах.

В первую очередь PRFLR ориентирован на высоконагруженные серверные приложения работающие на больших кластерах, однако применим для небольших проектов, десктоп и мобильных приложений. Конечно если вас действительно волнует вопрос их быстродействия.

Читать полностью »

image

Совсем недавно вышла из бета-версии новая система непрерывной интеграции для PHP-проектов с открытым исходным кодом — PHPCI (текущая версия — 1.1.0), она вскользь упоминалась в дайджесте PHP №21.

Я уже какое-то время эксперементирую с этой системой, поэтому хочу представить вам небольшой ее обзор, тем более что на Хабре нет ни одной статьи о ней.

Читать полностью »

Префиксы и постфиксы в PHP (и CSS)

Ещё давно я взял практику использовать префиксы и постфиксы в PHP и в CSS. Особенно это актуально, когда что-то выходит за рамки локальной видимости и находится в глобальном пространстве, взять те же модели в Yii.

Префиксы и постфиксы несут основную задачу – сделать сущность максимально уникальной, причём настолько, чтобы её можно было без проблем найти любым текстовым редактором. На сегодняшний день IDE поддерживают отличную вещь – «Find Usages» (поиск использований), но это не всегда помогает, и об этом я напишу чуть ниже.

Именование в стиле Венгерской нотации мне не пришлось по душе. Такой подход мне не нравился ещё со времён C++ / Delphi – я считал его избыточном и не всегда понятным. Мне понравилась реализация БЭМ, но в полной мере я её тоже не использую. Я постарался вычленить и объединить наиболее понравившиеся мне методы, о них и расскажу.

Читать полностью »

Добрый день! После изучения первой части, я начал искать вторую, но её не оказалось, поэтому решил сам написать перевод. Итак, начнем.

Введение

В первой части данной серии мы создали голый костяк сайта с подписками на основе Laravel. Так же, мы создали сайт с ролями и создали распределение ролей для зарегистрированных пользователей. Теперь мы подошли к тому моменту, где мы можем создать и выполнить регистрацию, авторизацию и выход.
В этой части мы будем интегрировать Recurly для настройки наших платных планов членства.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js