Как стать автором
Обновить
11
0
Пятинский Михаил @zenn

Веб-программирование

Отправить сообщение

Настройка телефона D-Link DPH-300S

Время на прочтение2 мин
Количество просмотров6.5K
Недавно мы подключали телефон D-Link DPH-300S. А сегодня клиент попросил выложить эту инструкцию на сайте, я решила выложить еще и сюда, может быть, инструкция эта кому-то пригодится.
Данный телефон позволяет осуществлять звонки как через интернет (SIP), так и через подключенную к нему телефонную линию. Для звонков через телефонную линию достаточно после подключения питания подключить телефонный провод в телефонный разъем LINE на тыльной стороне базового блока.
Читать дальше →
Рейтинг0
Комментарии0

Настройка Yii2 RBAC

Время на прочтение6 мин
Количество просмотров137K

Задача


Настроить использование RBAC в Yii2.

Условия


Список возможных ролей:
  • guest — не авторизованный юзер;
  • BRAND — авторизованный юзер, наследует разрешения роли guest и имеет свои уникальные разрешения;
  • TALENT — авторизованный юзер, наследует разрешения роли guest и имеет свои уникальные разрешения;
  • admin — авторизованный юзер, наследует разрешения ролей guest, BRAND и TALENT и имеет свои уникальные разрешения.
  • Роль определяется полем group в модели UserExt;
  • Роли имеют вложенную структуру — одна роль может наследовать разрешения другой;
  • Используется yii\rbac\PhpManager;
  • Не использовать назначение роли юзеру по его ID — вместо этого использовать несколько предустановленных ролей (defaultRoles);
  • Генерирование конфига «роль-разрешения» будет делать консольная команда yii;
  • Будут использованы расширенные правила (Rules) для разрешений.


Предварительная настройка


app/config/console.php
'components' => [
    // ...
    'authManager' => [
        'class' => 'yii\rbac\PhpManager',
    ],
    // ...
],


app/config/web.php
'components' => [
    // ...
    'authManager' => [
        'class' => 'yii\rbac\PhpManager',
        'defaultRoles' => ['admin', 'BRAND', 'TALENT'], // Здесь нет роли "guest", т.к. эта роль виртуальная и не присутствует в модели UserExt
    ],
    // ...
],


Создать директорию @app/rbac — именно в ней будут находиться разрешения и правила.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии18

Свое облачное хранилище на основе ownCloud

Время на прочтение3 мин
Количество просмотров246K

ownCloud — система для организации хранения, синхронизации и обмена данными, размещенными на внешних серверах.
В отличии от Dropbox и ему подобных, ownCloud отличается предоставлением пользователю полного контроля над своими данными — информация размещается на подконтрольных пользователю системах. Доступ к данным в ownCloud может осуществляться при помощи web-интерфейса или протокола WebDAV.

Особенности ownCloud


  • Open source;
  • Поддержка шифрования передачи данных;
  • Автоматическое резервное копирование;
  • Поддержка WebDAV позволяет организовать доступ к данным из любых операционных систем;
  • Поддержка синхронизации данных с другими web-приложениями, поддерживающими протокол remoteStorage;
  • Управление пользователями и группами;
  • В web-интерфейс встроены средства для работы с синхронизированной адресной книгой, календарем-планировщиком, коллекцией фотографий, архивом музыкальных произведений;
  • Для ownCloud подготовлен сервер Ampache, что позволяет организовать потоковое вещание музыки;

Читать дальше →
Всего голосов 42: ↑34 и ↓8+26
Комментарии35

Inversion of Control: Методы реализации с примерами на PHP

Время на прочтение8 мин
Количество просмотров50K
О боже, ещё один пост о Inversion of Control


Каждый более-менее опытный программист встречал в своей практике словосочетание Инверсия управления (Inversion of Control). Но зачастую не все до конца понимают, что оно значит, не говоря уже о том, как правильно это реализовать. Надеюсь, пост будет полезен тем, кто начинает знакомится с инверсией управления и несколько запутался.

Читать дальше →
Всего голосов 34: ↑29 и ↓5+24
Комментарии32

Пример доски объявлений на Kohana

Время на прочтение22 мин
Количество просмотров16K

Kohana — довольно молодой PHP фреймворк, форк CI, всецело завязанный на ООП. К достоинствам Kohana можно отнести использование всех возможностей PHP5 на 100%, высокую скорость работы, «легковесность» и простоту как использования, так и изучения. Из минусов отчетливо выделяется небольшое комьюнити, как следствие, не шибко качественная документация и небольшое количество модулей и библиотек.

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

Под катом пример доски объявлений, написанный с помощью Kohana, возможно местами он не претендует на рациональность и здравый смысл, но всё-же я надеюсь услышать конструктивную критику.

Статья рассчитана на людей, имеющих понятие об MVC и ООП, но не имевших, либо мало имевших, дело с фреймворками.

Итак, приступим...
Всего голосов 73: ↑62 и ↓11+51
Комментарии82

Тестирование производительности форков Mysql на реальных данных

Время на прочтение4 мин
Количество просмотров45K

Введение


Назрел апгрейд системы web сервера, на котором с 2007 года крутился сайт интернет-магазина на самописном движке mysql 5.1 + perl + apache + nginx.

Как обычно, при росте посещаемости все стало упираться в базу данных. Стал выбирать новую базу данных, совместимую с текущей. Выбирал из Mysql 5.5, Mysql 5.6, MariaDB 10, Percona Sever 5.6.

После длительного изучения бенчмарков стало понятно, что нужно тестировать производительность на реальных данных. Во-первых, в большинстве случаев сравнивали InnoDB и XtraDB, во-вторых — тестировали в основном бешеные нагрузки на монстр-серверах, интересные мне показатели находились на узеньком участке графика, где обычно ничего не было понятно.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии24

Профайлер для PHP приложений от SensioLabs — blackfire.io(SensioLabsProfiler)

Время на прочтение2 мин
Количество просмотров25K

Вчера мне пришло уведомление о том, что открыто beta-тестирование профайлера от SensioLabs - blackfire.io


image

Читать дальше →
Всего голосов 30: ↑19 и ↓11+8
Комментарии10

Гости программы «Корпоративные лаборатории тестирования на проникновение»

Время на прочтение1 мин
Количество просмотров5.8K
Всем привет!
Предоставляем видеозаписи выступлений гостей программы «Корпоративные лаборатории тестирования на проникновения», в которой в дополнении к основной, платной программе, приглашенные эксперты делятся своими глубокими знаниями и опытом на различные темы практической ИБ.

1. Гость программы обучения «Корпоративные лаборатории» Григорий Земсков, руководитель компании Revisium, эксперт в области ИБ и автор уникального отечественного веб-сканера Ai-Bolit, провел мастер класс на тему: «Поиск и удаление редиректов c сайта».



2. Гость программы обучения «Корпоративные лаборатории» Олег Михальский, директор по облачным сервисам Acronis, выступил с докладом на тему:
«Облачное хранение данных. Возможности и угрозы». Олег рассказал об облачной модели ИТ и проблемах безопасности, продемонстрирует практические решения и осветит тему будущих угроз и возможностей в данной области.


Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии0

Зачем регистрировать программу для ЭВМ? Актуально на 2021 год

Время на прочтение3 мин
Количество просмотров112K
Статья актуальна на 2021 год!

По российскому законодательству права на программное обеспечение (ПО) охраняются так же, как авторские права на произведения литературы. Однако в отличие от литературных произведений государство предусмотрело в отношении программы для ЭВМ дополнительное средство защиты — регистрация в федеральном органе исполнительной власти по интеллектуальной собственности (Роспатент).

Это наиболее очевидный и простой способ защиты прав на ПО. Но насколько этот способ защиты действенный и какие преимущества в защите прав дает регистрация?

Внимание! Апгрейд статьи в связи с изменением порядка регистрации с 18 июля 2016 г. здесь.

image

Попробуем разобраться
Всего голосов 47: ↑38 и ↓9+29
Комментарии34

Тестирование производительности популярных (и не очень) CMS

Время на прочтение5 мин
Количество просмотров26K
php script load total time seconds


Приветствую тебя, хабражитель! Разрабатывая FFCMS для своих проектов одной из основных своих целей я выделял быструю скорость работы и минимальное потребление ресурсов оборудования — однако все значения можно оценить лишь в сравнении, что я и постараюсь сделать в данной статье.

В прошлой моей публикации некоторые пользователи поинтересовались вопросом производительности системы и я решил провести тестирование различных популярных и молодых CMS по состоянию на 18 октября 2014 года. Хочется отметить — тестирование системы проводилось сразу же после ее установки и данные могут существенно измениться в ту или иную сторону в зависимости от периода использования системы — увеличения базы данных, количества файлов и прочие условия.
Читать дальше →
Всего голосов 53: ↑28 и ↓25+3
Комментарии68

Еще одна коробочная CMS — знакомство с FFCMS

Время на прочтение5 мин
Количество просмотров24K
FFCMS logo Добрый день, читатели и авторы habrahabr! Сегодня я хочу рассказать вам о еще одной небольшой коробочной системе управления содержимым сайта FFCMS, разработкой которой (ранее — для собственных проектов, а теперь и для всего сообщества) я занимаюсь чуть более года. В данной статье я хочу кратко рассказать о том, что умеет данная система, кратко коснуться освещения возможностей основных интерфейсов системы и немного рассказать о технических деталях.

Дисклеймер: я не претендую на звание разработчика «инновационной системы» и я ничего не продаю, а лишь хочу представить открытую систему управления сайтом, которая возможно упростит жизнь разработчику и веб-мастеру. Система не основана на каком-либо популярном фреймворке — реализованы лишь минимальные методы для взаимодействия между расширениями, роутингом и шаблонными представлениями.
Читать дальше →
Всего голосов 45: ↑28 и ↓17+11
Комментарии77

Несколько интересностей и полезностей для веб-разработчика #29

Время на прочтение4 мин
Количество просмотров54K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

HumHub



Открытая социальная сеть, построенная на Yii — достойный аналог Diaspora. Разработчики вообще говорят, что это фреймворк, который предоставляет инструменты для лёгкой и продуктивной командной работы. Гибкая модульная система и ряд плагинов: заметки, таск-менеджер, календарь, голосование, рассылки и др. Еще HumHub — это очень красиво. Клевый современный интерфейс, асинхронность, всплывающие подсказки и прочие детали.

Читать дальше →
Всего голосов 73: ↑67 и ↓6+61
Комментарии21

Шпаргалка для сравнения классов Twitter Bootstrap и Zurb Foundation

Время на прочтение3 мин
Количество просмотров40K


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

Эта короткая статья является по сути шпаргалкой, призванной помочь разработчикам начать работать с Foundation после работы с Bootstrap. Мы сравним основные классы для обоих фреймворков. По большей части, оба фреймворка имеют набор основных компонентов (сетка, кнопки, формы, таблицы), под катом представлена таблица сравнения классов для этих компонентов.
Читать дальше →
Всего голосов 39: ↑24 и ↓15+9
Комментарии20

Проекты на WordPress: советы по оптимизации

Время на прочтение9 мин
Количество просмотров52K
wordpress

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

Wordpress используют многие наши клиенты, которые довольно часто обращаются к нам с вопросами по настройке этой CMS.

Подробных инструкций по установке и настройке Wordpress в Интернете опубликовано немало. В этой статье мы бы хотели затронуть вопросы, которым в большинстве публикаций о Wordpress не уделяется достаточно внимания. Мы расскажем о том, как оптимизировать работу сайтов на Wordpress, а также дадим ряд рекомендаций по повышению уровня безопасности и стабильности работы. Во всех примерах используется Ubuntu 12.04.
Читать дальше →
Всего голосов 64: ↑51 и ↓13+38
Комментарии70

Безопасный и шустрый веб-сервер на Debian 7

Время на прочтение8 мин
Количество просмотров87K
Статья, находится в процессе написания, но я готов выслушать дельные советы и комментарии, а затем доплнить или поправить материал.
Прежде всего, данный материал ориентирован на новичков и тех, кто держит на одном VPS сразу несколько сайтов, при этом хочет иметь как безопасный, так и шустрый веб-сервер.
В качестве веб-сервера у нас будет выступать связка:

Apache 2.2 + PHP 5.4.4 + MySQL 5.5 + NGINX 1.2.1 + eAccelerator + memcached + vsftpd 3.0.2 + exim.

Все это чудо будет крутиться на Debian 7.

Начнем.

Читать дальше →
Всего голосов 58: ↑21 и ↓37-16
Комментарии82

Оптимизируем LIMIT offset

Время на прочтение2 мин
Количество просмотров83K
Везде, где используется LIMIT offset для больших таблиц, рано или поздно начинаются тормоза. Запросы вида

SELECT * FROM test_table ORDER BY id LIMIT 100000, 30

могут выполнятся очень долго. Например, в моем случае, на одном из сайтов кол-во комментариев перевалило за 200к и постраничная навигация по комментариям начала ощутимо тормозить, а в mysql-slow.log все чаще стали попадать запросы с временем выполнения 3-5сек.
Читать дальше →
Всего голосов 77: ↑61 и ↓16+45
Комментарии30

Шаблоны проектирования PHP. Часть 1. Порождающие

Время на прочтение13 мин
Количество просмотров233K
Тема заезженная до дыр, не спорю… Вероятно, для опытных разработчиков моя статья будет мало, чем полезна. Я бы рекомендовал её к прочтению тем, кто только начал осознавать, что его коду чего-то не хватает, и что он созрел для вникания в это далёкое понятие – «паттерны». По себе помню, что довольно долгое время я путался в шаблонах, иногда даже не понимая, чем один отличается от другого. Именно этот факт стал основой для моей статьи. Примеры в ней не будут реальными. Они будут абстрактными и максимально простыми. Однако я постараюсь все примеры держать в едином контексте, чтобы можно было наглядно видеть отличия их использования в одной и той же ситуации. Я не буду нагружать классы лишним функционалом, чтобы можно было понять, какая именно часть кода имеет непосредственное отношение к шаблону. Главными героями примеров станут Factory (фабрика) и Product (продукт, производимый этой фабрикой). Возьмём это отношение за отправную точку. Возможно, в некоторых примерах это будет не очень уместно, но зато очень наглядно…

Статья будет разбита на несколько частей. В каждой я буду рассказывать о новом типе шаблонов проектирования. Всем, кого эта тема может заинтересовать, прошу под кат.
Меня заинтересовала...
Всего голосов 61: ↑43 и ↓18+25
Комментарии83

Elementary OS: получайте деньги за исправление багов

Время на прочтение3 мин
Количество просмотров31K
Elementary OS logo

Перспективный свободный проект Elementary OS, основанный на Ubuntu, но предлагающий собственную рабочую среду с упором на простоту, интуитивность и минимализм, предлагает деньги за исправление ошибок. Далее следует перевод записи в блоге проекта.

Со времени выхода Luna благодарные пользователи перевели нам некоторое количество заработанных потом и кровью денег. Мы внимательно рассмотрели лучшие способы инвестировать эти деньги в развитие Elementary OS и дать людям возможность финансировать развитие того, что важно именно для них. Сегодня мы хотим представить вам одно из таких решений: вознаграждения.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии57

ElasticSearch 1.0 — новые возможности аналитики

Время на прочтение9 мин
Количество просмотров32K
Многие слышали о высокоуровневом поисковом сервере ElasticSearch, но не все знают, что многие используют его не совсем по прямому назначению. Речь идет о реалтайм-аналитике различных структурированных и не очень данных.

Эта статья также назрела ввиду того, что многие крупные интернет-проекты рунета в 2014 году получили письма счастья от Google Analytics с предложением заплатить $150 000 за возможность использовать их продукт. Я лично считаю, что ничего плохого в том, чтобы оплатить труд программистов и администраторов нет. Но при этом это довольно серьезные инвестиции, и, может, вложения в собственную инфраструктуру и специалистов, даст большую гибкость в дальнейшем.

Аналитика в ElasticSearch основана на полнотекстовом поиске и фасетах. Фасеты в поиске — это некая агрегация по определенному признаку. Вы часто сталкивались с фасетами-фильтрами в интернет-магазинах: в левой или правой колонке есть уточняющие галочки. Ниже пример тестового фасетного поиска у нас на главной странице http://indexisto.com/.



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

Так как тема еще не освещалась на Хабре, я хочу рассказать, что из себя представляют аггрегации в ElasticSearch, какие возможности открываются и есть ли жизнь без Hadoop.
Читать дальше →
Всего голосов 81: ↑75 и ↓6+69
Комментарии19

Установка ADB driver для телефонов малоизвестных производителей

Время на прочтение3 мин
Количество просмотров268K
Здравствуйте!
Возникла необходимость получить root на смартфоне DNS S5301, почитал в сети, 4pda и т.д. в основном ссылки устаревшие или не внушающие доверия, попробовал решить сам. Возникла проблема с установкой драйверов ADB режима.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии11

Информация

В рейтинге
Не участвует
Откуда
Керчь, Республика Крым, Россия
Дата рождения
Зарегистрирован
Активность