Показаны сообщения с ярлыком framework. Показать все сообщения
Показаны сообщения с ярлыком framework. Показать все сообщения

вторник, 12 августа 2014 г.

AngularJS: $watch, $digest and $apply

Что такое $watch?

Давайте поговорим об этом первым. $watch - это, пожалуй, наиболее важные внутренние функции Angular. $watch могут использоваться, чтобы смотреть любое значение, и инициация вызова функции, когда это значение изменяется. $watch могут быть созданы из любого $scope, позвонив в $scope.$watch (), как показано ниже.

Настройка $watch

среда, 25 июня 2014 г.

AngularJS - Основные понятия

Основные компоненты AngularJS:
  • Template (Шаблон) - HTML с дополнительной разметки
  • Directives (Директивы) - расширения HTML, пользовательские атрибуты и элементы
  • Model (Модель) - данные, отображаемые пользователю в представлении (View), и с которым взаимодействует пользователь
  • Scope (Область) - контекст, в котором хранится модель (Model) так, что бы контроллеры (Controller), директив (Directives) и выражения (Expressions) могли получить к нему доступ
  • Expressions (Выражения) - получить доступ к переменным и функциям из контекста (Scope)
  • Compiler (Компилятор) - анализирует шаблон и создает экземпляр директив и выражений
  • Filter (Фильтр) - форматирует значение выражения для отображения пользователю [пример]
  • View (Вид) - то, что видит пользователь (DOM)
  • Data Binding (Привязка Данных) - синхронизация данных между моделью (Model) и представлением (View)
  • Controller (Контроллер) - бизнес-логика представления
  • Dependency Injection (Внедрение зависимостей) - Создает и связывает объекты и функции
  • Injector (Инжектор) - контейнер внедрения зависимостей
  • Module (Модуль) - контейнер для различных частей приложения, включая контроллеры, сервисы, фильтры, директивы, которые настраивает инжектор
  • Service (Сервис) - многоразовые бизнес-логики (Controller) независимых от представления (View)

четверг, 8 августа 2013 г.

Yii GeoIP

Установленные Perl-модули:
  • Geo::IPfree (1.110450) 
  • Geography::Countries (2009041301)
yii-geoip - Yii Module to allow for easy usage of the MaxMind Free file dbs.


на простом PHP с ООП:
  1. Гео-модуль  (КЛАДР+ФИАС)
  2. PHP API for GeoIP2 webservice client and database reader MaxMind
  3. MaxMind GeoIP2 Web Services
  4. Поиск географического местонахождения IP-адреса, выделенного RIPE локальным интернет-реестрам (LIR-ам) для Российской Федерации и Украины
  5. PHP GeoIP extension
  6. Geocoder PHP 

Другие варианты:
  1. ngx_geoip
Пример: Ваш GeoIP

суббота, 22 июня 2013 г.

Front end

На фронте:
  1. Underscore
  2. Backbone
  3. Knockout
  4. Knockback
  5. AngularJS

минусы использования knockout и backbone в одном приложении
Новая архитектура основана на идеях, предложенных Николасом Закасом (1, 2), и воплощенных в проекте aurajs. Важно, что приложение теперь использует AMD (requirejs).

Также мы полностью отказались от Knockout+Knockback в пользу системы представлений, частично заимствованной из Backbone.Marionette.

Sentry notifies you when your users experience errors - https://getsentry.com/

пятница, 21 июня 2013 г.

Yii auth extensions

Сравнение расширений для авторизации пользователей на Yii 




rights 


yii-user-management

srbac 




Голосов : +213 / -15
Votes: +188 / -2
Голосов : +91 / -51
Votes: +64 / -8
Votes: +47 / -6
Войти с Имя пользователя или e-mail
+

логин


Регистрация пользователя
+

+


Активация счета (проверка электронной почты, администратор или нет)
+

активация по почте


Восстановление пароля (отправить ключ восстановления электронной почты пользователя)
+

+


Интернационализации (i18n)

+
+
* Базовый язык -Английский.
Неполный переводы на русский


Пользователь Аватар загрузки


+


Дружба системы


+


Управление профиля поля
+

управление полями анкеты


Страница профиля пользователя
+

только в админке


Управление пользователями
+

+
+

Управление правами

+
+ (есть даже привязка к поатным пакетам доступов)


Авторизация через социальные сети


+








Особенности


Ставиться отдельными модулями в папку /protected/modules что не удобно для обновления, разделения и не сделать этот проект как Git Submodules.
Поддерживается одним разработчиком, который отвечает только на некоторые тикеты.


Впечатление


Долго устанавливался, конфигурировался. Так и не заработала регистрация. 









Это расширение использует встроенную базу данных в Yii Authorization Manager (CDbAuthManager), чтобы обеспечить веб-интерфейс для расширенного управления доступом.
What it is not:

* A complex RBAC like srbac.
модуль, который добавляет графический веб-интерфейс для управления RBAC Yii использует CDbAuthManager поэтому она нуждается в базу данных


пятница, 14 июня 2013 г.

JavaScript Frameworks (Популярные JS-фреймворки)

Для начала прочитать сравнение разных JavaScript Frameworks особенно блок "Какой фреймворк когда следует использовать?"

Меня интересовала связка  Backbone.js - Aura от Адди.

Backbone самый популярный и на нем сделано больше всего реально используемых приложений (Disqus, LinkedIn, Wordpress), так что с учетом простоты, по-моему, это лучший вариант для новичка.

Правда из коробки его не просто использовать, лучше добавить небольшой JS-фреймворк поверх (Aura, ChaplinMarionette, Thorax).

Чаплин сейчас второй по популярности фреймворк на базе бэкбона, сразу после Aura

Дальше связка с интерфейсом:
Backbone.js представляет собой легкий фреймворк, который предоставляет базовую инфраструктуру (Model, Collection, View, and Router classes), чтобы структура веб-приложений.

Twitter Bootstrap начальной загрузки представляет собой набор инструментов пользовательского интерфейса, который обеспечивает простой и гибкий HTML, CSS, Javascript и позволяет реализовать популярные компоненты пользовательского интерфейса и взаимодействия.

Другими словами, Backbone.js и Twitter Bootstrap делают акцент на различные области применения: архитектура ядра и пользовательского интерфейса соответственно. Из-за их четко определенными и непересекающиеся сферы, Backbone.js и Twitter Bootstrap хорошо работают вместе. Подробнее...

Как это собрать вместе?
Читаем решение1 и решение2 с использованием requre.js

backbone-tutorial

понедельник, 4 февраля 2013 г.

Yii. Аутентификация и авторизация с описанием ролей

Yii. Authentication and Authorization with the description of roles

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

Разграничение в yii можно реализовать двумя способами:

  1. используя фильтр
  2. на основе RBAC.


Yii позволяет использовать два тип хранилища для ролей и операций:
  1. PHP файл (CPhpAuthManager)
  2. базу данных (CDbAuthManager).



воскресенье, 3 февраля 2013 г.

Способы разделения frontend и backend частей в Yii (админка)

Organize directories for applications with front-end and back-end - статья будет полезна новичкам
Обсуждения этой реализации:
Удобный и логичный front-end and back-end + использование модуля yii-user


Один из плюсов - физическое разделение приложения на уровне каталогов, файлов и настроек.