Блог о веб-разработке - Страница 16

У нас вы найдёте интересные материалы для веб-разработчиков и системных администраторов, а также сможете пройти бесплатные онлайн-курсы веб-разработки.

Управление памятью в PHP: циклические ссылки и сборщик мусора

26.11.2016   3952   2
Управление памятью в PHP: циклические ссылки и сборщик мусора

Всем привет! В предыдущих статьях (1, 2) мы рассмотрели структуру zval, разобрались как именно происходит присваивание и передача в функцию, рассмотрели разницу для разных типов. В предыдущих уроках мы рассматривали ситуации, когда вместе с удалением всех имён для какого-либо значения происходило уменьшение числа ссылок на значение до 0. В результате чего значение благополучно удалялось. Однако так происходит далеко не всегда, и об этих ситуациях мы сегодня и поговорим.

Читать далее

Управление памятью в PHP: передача в функцию, классы, массивы

22.11.2016   4806   0
Управление памятью в PHP: передача в функцию, классы, массивы

Всем привет!

В предыдущей статье мы познакомились с механизмом copy-on-write в PHP, благодаря которому копирование значений происходит только тогда, когда это действительно необходимо.

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

Читать далее

Управление памятью в PHP: начало

19.11.2016   4687   0
Управление памятью в PHP: начало

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

Читать далее

Ускорение блога на WordPress с помощью Varnish

09.10.2016   5467   0
Ускорение блога на WordPress с помощью Varnish

Данная статья является кусочком этой статьи и рассказывает о том, как быстро и просто (не так просто, как установить плагин WP Super Cache, конечно) ускорить сайт на WordPress с помощью Varnish, без лишней воды.

Читать далее

Установка memcached для PHP 7 в Debian/Ubuntu

09.10.2016   23850   1
Установка memcached для PHP 7 в Debian/Ubuntu

Для установки нам потребуется добавить PPA-репозиторий ondrej/php. О том, как это сделать, я писал вот здесь — Установка PHP7 в режиме php-fpm на Debian 8 из пакетов.

Читать далее

Класс-сервис для кэширования данных на PHP

09.10.2016   2317   0
Класс-сервис для кэширования данных на PHP

Всем привет, хотел бы поделиться небольшой своей наработкой — классом, который использую в качестве сервиса для кэширования данных в PHP.

В приведенном примере в качестве хранилища для кэша используется memcached. Однако, данный класс довольно легко модифицировать и использовать в качестве хранилища хоть жёсткий диск, предварительно сериализовав кэшируемые данные, если это требуется. Сам класс создаётся другим-классом фабрикой и используется на протяжении всей жизни приложения. Вы же можете сделать его синглтоном.

Читать далее

http/2 server push — пушаем только при первом посещении

09.10.2016   3215   0
http/2 server push — пушаем только при первом посещении

В своей прошлой статье я показал реализацию http/2 server push. Однако, nghttp2 не умеет определять наличие кэша на клиенте и в приведенном примере, независимо от того, имеется ли у клиента файл, мы его пушали. Таким образом, для повторных соединений передавалось больше трафика, чем до того, как мы включили server push.

Читать далее

Окна в мир аналитических функций Oracle: введение

09.10.2016   2987   0
Окна в мир аналитических функций Oracle: введение

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

Первая часть является вводной статьей в аналитические функции. В которой показано, как и какие задачи можно решать с помощью аналитических функций.
В последующих частях будет раскрыта тема window_clause в аналитических запросах.

Читать далее

Реализуем http/2 server push с помощью nghttp2

03.10.2016   5836   0
Реализуем http/2 server push с помощью nghttp2

Всем привет, сегодня я расскажу о том, как настроил server push на своём сайте и добился увеличения скорости рендеринга страниц.

Для начала о том, что же такое Server Push в HTTP/2. Это технология, позволяющая серверу «протолкнуть» дополнительные данные клиенту, в момент запроса основного документа. То есть в обычной ситуации запрашивает браузер html-страничку, затем обрабатывает её и приходит к выводу, что ему для корректного отображения необходимо подгрузить дополнительные файлы: стили, скрипты, изображения. После чего скачивает их и отображает конечный результат.

Server push позволяет отправить дополнительные файлы уже в момент получения основного документа, и они уже будут иметься в кэше, когда они потребуются браузеру. За счёт этого возрастает скорость загрузки сайта.

Читать далее

Установка PHP 5.6 в Ubuntu 16

03.10.2016   60291   2
Установка PHP 5.6 в Ubuntu 16

Всем привет. Случилась тут со мной ситуация - после апгрейда Ubuntu на 16 версию из репозиториев пропал PHP 5-ой версии, и по команде apt-get install php начала устанавливаться 7 версия. О том, как всё же поставить пятую версию на новых версиях Ubuntu/Debian и пойдёт речь.

Начнём с того, что теперь для установки PHP 5.6 нужно добавить Personal Package Archive (PPA) — специальный репозиторий с пакетами от сторонних разработчиков.

Читать далее