Введение в сети, интерфейсы и протоколы

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

Читать далее...

Введение в HAProxy и принципы распределения нагрузки

HAProxy (High Availability Proxy) - популярный прокси сервер для Linux, Solaris и FreeBSD с возможностью балансировки нагрузки TCP/HTTP с открытым программным кодом. Его основная задача - повышение производительности серверной среды путем распределения рабочей нагрузки среди нескольких серверов (web, приложения, базы данных). Им пользуются такие известные проекты как GitHub, Imgur, Instagram и Twitter.

Читать далее...

57 заметок для стартапа

Несмотря на то, что уже существует довольно много заметок, связанных со стартапами, написаны которые были опытными и талантливыми людьми, я позволю себе написать еще одну. Постараюсь изложить собственный опыт, полученный в течение последних четырех лет. Сразу отмечу - никому не пожелал такого тяжелого пути.

Читать далее...

Установка и настройка NoSQL субд RethinkDB

RethinkDB - документно-ориентированная база данных, с открытым исходным кодом, с богатыми возможностями администрирования и простой моделью горизонтального масштабирования.

Одна особенность, которая выделяет RethinkDB среди других NoSQL баз данных - проста в использовании с различными языками программирования. Эта СУБД поддерживает множество драйверов, таких как: php, python, ruby и т.д, что позволяет разработчикам взаимодействовать с базой данных, используя наиболее знакомый язык программирования.

Читать далее...

Рекурсивные шаблоны в AngularJS

Предположим, что у нас есть иерархический набор данных, например такой как список категорий для продуктов в интернет магазине. Как мы можем использовать AngularJS для отображения вложенных категорий независимо от их глубины вложенности?

Ответ на этот вопрос достаточно прост - рекурсивные шаблоны, а для их реализации мы будем использовать директиву ng-include.

Читать далее...

Настройка пользовательских и групповых прав доступа с помощью chmod

Вообще, когда мы говорим о каталогах или файлах, нас интересует три набора прав:

  • Пользовательские - касающиеся владельца файла
  • Групповые - права, касающиеся участников одной группы
  • Все остальные - разрешения для тех, кто не подходит к первым двум группам

Соответственно, каждый пользователь имеет своё уникальное имя и, как правило, принадлежит к одной или нескольким группам. Более того в одну группу может входить несколько пользователей.

Читать далее...

Планировщик событий в MySQL

Начиная с версии 5.1 в MySQL появился планировщик событий, позволяющий выполнять различные действия в определенное время. Из этого следует то, что часть функционала можно перенести из Cron на сам MySQL.

По умолчанию, планировщик отключен. Включим его в конфиге.

event_scheduler = On

Или при помощи запроса.

SET GLOBAL event_scheduler = On;

Проверить текущее значение переменной можно следующим запросом.

Читать далее...

Шаблоны проектирования в PHP : Цепочка обязанностей

  • PHP
  • 2 года назад
  • 5/4
  • Паттерн Chain of Responsibility (Цепочка обязянностей) позволяет избежать жесткой зависимости отправителя запроса от его получателя (т.е. обеспечивается слабая связанность компонентов системы), при этом запрос может быть обработан несколькими объектами.
  • Объекты-получатели связываются в цепочку. Запрос передается по этой цепочке, пока не будет обработан.
  • Вводит конвейерную обработку для запроса с множеством возможных обработчиков.
Читать далее...