Использование классов избирателей для проверки прав доступа в Symfony 2

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

Эти правила могут применяться в различных случаях, например, ограничение доступа к приложению для целого ряда IP адресов: Как создать правила для блокировки IP адресов.
(далее…)

Добавление и удаление пользователей на сервере CentOS 7

При создании сервера на Linux, добавление и удаление пользователей - одна из первых задач, с которой вам придется столкнуться. При первом запуске вы получаете только пользователя под именем root. Конечно он открывает вам полный доступ к системе, но использование такого пользователя всегда - не самая разумная идея, так как этот пользователь намного больше подвержен к атакам по безопасности, чем любой другой пользователь. Причиной тому является тот факт, что в таком случае все команды исполняются с правами администратора. (далее…)

Обзор самых частых ошибок HTTP протокола

Каждый раз, при обращении к веб серверу, в ответ вы получаете код статуса ответа. Эти коды делятся на пять основных групп, а каждый код имеет трехзначное значение. Группу кода легко определить по первой цифре:

  • 1хх - информационный
  • 2хх - удачное завершение
  • 3хх - перенаправление
  • 4хх - ошибка на стороне клиента
  • 5хх - ошибка на стороне сервера
Существует огромное множество возможных ошибок, но мы опишем только самые основные. (далее…)

Как добавлять NoSQL-запросы в MySQL, интегрированный с memcached, на Ubuntu 14

О том, как использовать memcached и его функцию в качестве автономного сервера вместе с MySQL, уже написано во множестве прекрасных статей – например, Установка и использование Memcache на Ubuntu 14.04. Но в качестве автономного сервера memcached выполняет промежуточную функцию, предшествуя уровню доступа MySQL-клиента, и работает только с той информацией, которая находится в памяти, без возможности ее постоянного хранения. Это позволяет выполнять такие задания, как кэширование результатов повторных MySQL-запросов, что экономит ресурсы и оптимизирует работу нагруженных сайтов. (далее…)

Тестирование API : Установка и использование Codeception

Установка

Существует несколько методов установки codeception. Мы воспользуемся composer для этой цели, вы, конечно, можете выбрать любой удобный для вам метод. Для начала перейдем в каталог куда вы хотите установить codeception и где будут храниться ваши тесты. В моем случае - app1. (далее…)

Тестирование API : Выбор фреймворка для тестирования (PHP, Codeception или Behat)

Доступные фреймворки для тестирования

Существуют различные фреймворки для разработки приложений, которые значительно облегчают нам жизнь. Точно также существуют различные фреймворки для тестирования, которые могут использоваться для автоматического тестирования. Так какой же фреймворк использоваться? Тут все очень субъективно. У всех есть свои плюсы. Важно знать, чего вы хотите достигнуть и в какие сроки. Когда я впервые писал тесты для API, мне понадобилось 4 дня, чтобы найти подходящий инструмент, с помощью которых я мог бы автоматически тестировать все точки API и тесты перед тем, как сделать коммит. Да-да, если у вас нет автоматического инструмента, вам придется все делать вручную каждый день. (далее…)

Тестирование API : Зачем писать тесты и использовать инструменты для автоматического тестирования

Программистами написано немало книг, в которых говориться о важности TDD (разработка через тестирование) и BDD (разработка через поведение) или о том, что насколько важно писать тесты и производить автоматическое тестирование. Так почему же многие программисты игнорируют тесты? Дело в непрактичности или же все считают тесты теоретической частью, а может жизненный цикл проекта недостаточно длинный или же это настолько трудозатратно? Приведу несколько вопросов и ответов, которые стоит держать в голове о тестировании. (далее…)

Установка и использование PostgreSQL 9.4 на Debian 8

Реляционные базы данных - камень преткновения во всех приложениях, которые активно работают с данными. Без них не обходится ни один онлайн магазин, ни запуск ракеты. Одним из примеров достойных уважения БД является PostgreSQL. Она построена по основным стандартам SQL, применяет ACID транзакции, поддерживает внешние ключи и виды (views), а так же все еще в активной стадии разработки. Вы не найдете лучшего кандидата чем Debian 8 (кодовое имя Jessie) если для вашего приложения требуется стабильная среда и легкое администрирование. Эта ОС возможно работает немного медленнее своих конкурентов, но её стабильность легко восполняет этот недостаток. А пара Debian и PostgreSQL будет лучшей средой для приложений, которые активно работают с данными. В этой статье я покажу как установить PostgreSQL на Debian 8 и начать пользоваться преимуществами этой пары. (далее…)

Как установить MongoDB на Ubuntu 14

Требования к системе

Для установки вам понадобится:
  • сервер Ubuntu 14
  • пользователь с правами sudo, но не root

Шаг 1 - импорт открытого ключа

На этом этапе мы будем импортировать открытый ключ MongoDB GPG. MongoDB уже включен в состав одного из официальных репозиториев Ubuntu, но официальный репозиторий MongoDB содержит последнюю версию, именно её и рекомендуют для установки. Ubuntu гарантирует подлинность программного обеспечения с помощью GPG ключей, поэтому сначала необходимо импортировать ключ для репозитория MongoDB. (далее…)