Сравниваем AngularJS и EmberJS

В своей недавней статье мы сравнивали AngularJS с React и выделили отличия между двумя фреймворками. На этот раз рассмотрим EmberJS фреймворк, который отвечает за все “тяжелые” операции в веб-разработке. Ниже познакомимся с его историей, примерами использования, а так же сравним его с AngularJS в разрезе возможностей и функционала.

EmberJS - это фреймворк для языка JavaScript, который изначально назывался SproutCore. В декабре 2011 года его решили переименовать в EmberJS для того, чтобы разделить виджет библиотеку SproutCore 1.0 и сам фреймворк. Роль главного разработчика EmberJS сыграл Yehuda Katz, который так же известен своим участием в разработке jQuery, Rails и SproutCore.

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

Сравнение AngularJS и React

В последнее время в области веб-разработки изменения происходят очень быстро. Без лишнего преувеличения, практически каждый месяц появляется новый JavaScript фреймворк, а разобраться во всем этом разнообразии не всегда просто. В этой и нескольких последующих статьях мы рассмотрим некоторые фронт-энд фреймворки для JavaScript и сравним их с AngularJS. Мы познакомимся с их историей и сравним их в функциональном разрезе. В этой статье мы разберёмся с таким фреймворком как React и посмотрим в чем он превосходит, а в чем уступает AngularJS.

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

Все, что необходимо знать о HTTP2

Протокол передачи гипертекста, известный как HTTP, с 1999 года лежит в основе обмена данными в сети.

Совсем недавно Инженерный Совет Интернета (IETF) объявил о готовности HTTP2. Это будет первое обновление протокола за 16 лет. Об этом заявил Марк Ноттингем, глава рабочей группы IETF HTTP, во вторник.

Как только протокол HTTP2 пройдет все согласования в IETF, он будет опубликован и станет главным протоколом Web. Так что же это означает для пользователей?

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

Обзор компонентов Symfony2 : Применение преобразователя данных

  • PHP
  • 2 года назад
  • 5/6

Довольно часто нам приходится сталкиваться с ситуацией, когда введенные пользователям данные необходимо привести к какому либо другому виду. Конечно можно вручную преобразовать их в контроллере. А что если эти данные вам понадобятся в еще одной форме в другом месте в приложении?

Допустим вы используете связь один к одному между сущностями Task (задача) и Issue (проблема), т.е. задача может иметь проблему, а может и не иметь. Если вы просто добавите выпадающий список с полным набором возможных проблем, то отыскать в нем нужную вам будет практически невозможно. А можете создать текстовое поле, в которое пользователь будет вводить номер проблемы.

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

Подготовка к Zend сертификации : Функции

  • PHP
  • 2 года назад
  • 2/3
  • Функция может содержать в себе любой корректный PHP код, включая другие функции и классы.
  • Функция не обязательно должна быть определена до вызова, за исключением её использования в условных операторах.
  • Объявленную функцию нельзя переопределить.
  • В PHP все функции и классы имеют глобальную область видимости - их допускается вызывать даже за пределами функции в случае, когда они были заданы внутри этой функции и наоборот.
  • имена функций не чувствительны к регистру
  • типы: встроенные, определенные пользователем, сторонние (например из расширений).
  • global $id; или $GLOBALS["id"] используются для доступа к глобальным переменным (по сути global $id это ссылка на $var = & $GLOBALS["id"]).
  • В PHP5 появилась возможность задать значение параметра функции по-умолчанию даже для параметров, передаваемых по ссылке (если параметр не был передан, то создается новая переменная).
  • В PHP5 объекты всегда передаются по ссылке, если только они не были клонированы.
  • допускается рекурсивный вызов функций (то есть function recursion($a) { if($a<10){recursion($a+1);} }), следите за тем, чтобы выполнение функций было ограниченно.
  • чтобы проверить существует ли функции в контексте используйте function_exists($function_name).
  • $arr = get_defined_functions() - даст вам полный список всех функций, $arr['user'] - функции заданные пользователем.
Читать далее...

Подготовка к Zend сертификации : Основы PHP

  • PHP
  • 2 года назад
  • 1/3

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

<?php
... code
?>

Тем не менее в начале страницы может присутствовать только один открывающий тег <?php. Короткие теги возможно отключить (как правило из-за совместимости с XML) установив директиву short_open_tag в файле php.ini:

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

Разбираемся в HTTP прокси NGINX, балансировке нагрузки, буферизации и кешировании

В этой мы рассмотрим возможности сервера NGINX в http проксировании, что помогает перенаправлять запросы на бекэнд сервера для дальнейшей обработки. Довольно часто Nginx настраивают в качестве реверсивного прокси для упрощения масштабирования инфраструктуры или для перенапраления запросов на сервера, которые не предназначены для работы при большой нагрузке.

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

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

Простая балансировка нагрузки для MySQL и PHP с помощью библиотеки mysqlnd

  • PHP
  • 2 года назад

MySQL всегда занимал первое место в качестве СУБД для работы с PHP. Так было практически с создания языка. Конечно сейчас, применяются и PostgreSQL, SQL Server или Oracle, но для работы в web зачастую используется MySQL.

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

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