Pull to refresh
7
0
Send message

Как заставить работать расширения yii-user и rights совместно?

Reading time4 min
Views19K

Предисловие


Доброе время суток хабравчане.

Для начала представлюсь. Меня зовут Роман, и я занимаюсь разработкой сайтов (в основном на php-фреймворке «yii», но проскакивают и другие php\python фреймворки\цмс\велосипеды\быдлокоды). В своих проектах на yii всеы нам часто приходится реализовывать тривиальные функции регистрации, авторизации и тд. Плюс ко всему прибавьте к этому ещё и распределние прав доступа для различных пользователей. Готов поспорить, что у каждого толкового разработчика есть хотя бы одна заготовка реализации этого функционали, либо он использует сторонее расширение. Вот и я каждый раз использовал одну и туже реализацию, от пректа к проекту допиливал её, интегрировал с другими частями системы. Но недавно я всё же решил порыть в сторону готовых решений, которые удовлетворяли бы мои потребности и таковые нашлись довольно быстро. 2 самых популярных расширения для yii из оффициального репозитория«yii-user» и «rights».
Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments19

Шардинг MySQL на Yii Framework

Reading time6 min
Views21K
Начну с того, что наш проект находится на начальной стадии развития, а его запуск планируется на 1е ноября. И, чтобы сразу отсечь всю возможную критику касаемо преждевременной оптимизации, скажу, что перед командой была поставлена задача разработать приложение, справляющееся с резкими скачками нагрузки (от 1000 до 50000 и т. п.). В связи с этим было решено закладывать хорошо масштабируемую архитектуру, позволяющую легко и быстро увеличивать производительность системы за счет аппаратной части (по принципу scale-out).

Что мы для этого сделали...
Total votes 56: ↑53 and ↓3+50
Comments35

Способ разделения frontend/backend-частей в Yii

Reading time5 min
Views68K

О чем это я?


Хочу немного рассказать, как я разделяю фронтэнд/бекэнд-части сайта во всех своих проектах на Yii. Не претендую на авторство этого способа, просто хочу немного объяснить, что и как организуется и работает.

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

Есть несколько способов добиться этого. Не буду вдаваться в подробности каждого из них, если вам интересно — можете поискать на форуме yiiframework.com.
Самым элегантным и удобным мне показался вариант с использованием своего “поведения” запуска приложения. Он позволяет очень удобно разграничить приложение в плане директорией, использовать разные конфиги для каждой части сайта и т.п.
Читать дальше →
Total votes 53: ↑50 and ↓3+47
Comments52

Практикум AngularJS — разработка административной панели

Reading time12 min
Views137K
При создании сайтов часто возникает задача создания админки для редактирования контента. Задача, в общем, тривиальная, но сделать удобную админку не так-то просто.

Под удобством в первую очередь подразумевается возможность сортировки таблицы со списком материалов и работа без перезагрузки страницы. Если материалов в таблице становится много, то возникает задача разбивать её на страницы.

Всем известный jQuery-плагин tablesorter с tablesorterPager-ом и менее известный, но гораздо более функциональный DataTables хороши, но обладают некоторыми недостатками. Главный из них — сложность динамического добавления новых строк в таблицу (после добавления строки в таблицу, новая строка потеряется при следующем вызове сортировки). tablesorter вообще не даёт средств для добавления строки в свой кэш, DataTables предоставляет широкое и функциональное API для управления внутренним представлением таблицы, но это API довольно многословно и не очень гибко.

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

Сразу приведу, что получится в итоге (кликабельно):


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments28

Internet Explorer 7-9: выбор инструментов для максимальной поддержки CSS3, HTML5

Reading time3 min
Views20K
Наверное, вы уже слышали о таких вещах как CSS3 Pie, Selectivizr, HTML5 Boilerplate, CSS3 Media queries и т.п. Речь пойдет о том, как использовать все эти инструменты вместе: дело в том, что неоднократно были замечены конфликты между ними. Ну, а если вы не совсем понимаете, зачем вам HTML 5 и CSS 3, тогда не стану навязывать эти технологии; просто скажу, что они позволяют сократить время верстки (хотя, это не единственный плюс).
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments15

Различия асинхронной и многопоточной архитектуры на примере Node.js и PHP

Reading time9 min
Views91K
В последнее время наблюдается рост платформ, построенных на асинхронной архитектуре. На асинхронной модели построен самый быстрый в мире веб-сервер nginx. Активно развивается шустрый серверный javascript в лице Node.js. Чем же хороша эта архитектура? Чем она отличается от классической многопоточной системы? На эту тему было написано огромное множество статей, но полного понимания предмета они дали далеко не всем. Часто приходится наблюдать споры вокруг Node.js vs PHP+apache. Многие не понимают, почему некоторые вещи можно сделать на Node.js, но нельзя на PHP или наоборот — почему вполне правильный рабочий код на PHP сильно замедлится в Node.js, а то и повесит ее. В данной статье я бы хотел еще раз подробно объяснить разницу в их архитектуре. В качестве примеров двух систем, возьмем вебсервер с PHP и Node.js.
Читать дальше →
Total votes 82: ↑72 and ↓10+62
Comments173

Yii в phar'е

Reading time2 min
Views5K
Как только я узнал об исполняемых PHP-архивах phar, сразу же захотелось их попробовать. Разработчиками, да и на хабре, это добро было довольно неплохо разрекламировано. Была информация о том, что использование архивов +APC даёт прирост производительности в 6 раз.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments19

JSON-RPC 2.0 и PHP

Reading time8 min
Views62K
Если вы разработчик, и у вас есть проект на PHP, и ему наконец-то понадобилось реализовать собственное API — эта статья определенно для вас ;).

JSON-RPC v1.0 появился в 2005 году, спустя 5 лет появилась и вторая версия. В век javascript'а и мобильных приложений многие разработчики до сих пор используют свои собственные велосипеды вместо готового простого стандарта.
Попробуем разобраться в вопросе
Total votes 51: ↑48 and ↓3+45
Comments26

Вывод уведомления об устаревшем браузере с помощью jReject

Reading time3 min
Views31K
Многие веб-сайты выводят предупреждения об устаревших браузерах или и вовсе отправляют пользователя устанавливать новый браузер или Google Chrome Frame.
jReject — специальный плагин для jQuery, позволяющий отображать подобные уведомления с помощью нескольких строчек кода.

jQuery jReject
Применение
Total votes 72: ↑54 and ↓18+36
Comments70

Возьми от Firefox все для веб-разработки

Reading time4 min
Views37K
=========

Обновление от 24.03.13
Neatbeans 5.3 бесплатная IDE подходящая для верстки умеет на лету отображать набранный html в хроме через свой плагин.
Тоже самое умеет webstorm.
Куча костылей описанных ниже уже не нужны!

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

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

Со многими вы знакомы, а что есть еще, или вы твердо убеждены, что у вас всего пара рук?

Начнем с самого известного:

1.

Говорят, если бы капитан мочевидность был веб-разработчиком, он бы всем советовал ставить Firebug. Это Джастин Бибер в мире попсы, это почти половина самого firefox.
В представлениях не нуждается, самая дописанная и навороченная панель разработчика FireBug есть только в Firefox.


Ошалеть от увиденного...
Total votes 142: ↑127 and ↓15+112
Comments105

PHP и Dropbox. Удаленное хранилище пользовательских файлов

Reading time3 min
Views15K

Применение


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

Решение


В качестве решения я предлагаю схему PHP<->Dropbox. Dropbox нам интересен тем, что каждому новому пользователю выделяеся 2Gb виртуального дискового пространства, а так же возможность отката на предыдущие версии файлов. Это обеспечивает нам стабильное хранилище, в котором не возникнет случаев безвозвратно удаленных файлов.
Читать дальше →
Total votes 82: ↑76 and ↓6+70
Comments26

Фриланс как средство заработка. Ч.3. Немного теории

Reading time7 min
Views11K
Для начала — начало.

Часть 1
Часть 2

С официальной частью покончено, переходим к делу.

Сразу предупрежу — сегодня я расскажу о скучной нужной теории, в следующем посте перейдем к рассмотрению методики на основании проекта — примера.

Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments26

Фриланс как средство заработка. Ч.2. Приступаем к работе

Reading time6 min
Views26K
Чтож, в первой части я долго и упорно лил из пустого в порожнее, преследуя лишь одну цель — признать, что в провалах проектов по стоимости и срокам виноваты мы, мы и только мы. Не существует мифических дядь Вась, повинных во всех наших бедах, не заказчик выносит мозг нам своими требованиями и сменой приоритетов — это все мы, родимые, учиняем, потом благополучно взращиваем и оберегаем от внешнего воздействия. Так что если вы с этим спорить не будете, то айда под кат, посмотрим что у нас дальше на повестке дня.
Читать дальше →
Total votes 60: ↑42 and ↓18+24
Comments21

Фриланс как средство заработка. Ч.1. Старт проекта

Reading time5 min
Views43K
В предыдущих своих постах я постарался рассказать о том, как взаимодействуют фрилансер и заказчик. Большинство мыслей, представленных в этих статьях, были самим собой разумеющимся, на что мне указывали, и не раз. Сегодня я бы хотел начать разговор о том, как мы, благополучно пройдя все перипетии первоначального обсуждения, начинаем проект. Я опять буду банален до безобразия, вновь и вновь буду перетирать то, что каждому понятно. Но, как показывает практика, все мы с упорством мазохистов наступаем на одни и те же грабли.
Читать дальше →
Total votes 59: ↑46 and ↓13+33
Comments19

8 успешных лет freelance'а, tips and tricks

Reading time9 min
Views34K
Доброго всем дня, вечера, здравствуйте, коллеги.

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

Я бы хотел рассказать об особенностях freelance-занятости для людей, которые никогда этим не занимались, но хотели бы иметь набор полезных советов, когда захотят попробовать. Приступать к какому-либо делу подготовленным — всегда хорошая идея.
Читать дальше →
Total votes 206: ↑193 and ↓13+180
Comments157

Установка SVN+Trac+TracWebAdmin

Reading time3 min
Views18K
Привет всем!
Сегодня я расскажу как правильно и без гемора установить связку SVN + Trac + TracWebAdmin.

Для чего все это...?

Представьте себе ситуацию: у вас есть проект, который находится на стадии разработки. Скрипты содержат тысячи строк кода. Постоянное сохранение, бэкап файлов, удаление фрагментов кода, вставка новых вынуждают вести точный контроль над исходным кодом проекта, чтобы не потерять уже существующее и проверенное. Вам приходится записывать в текстовом файле или на бумаге этапы разработки и тестирования отдельных частей системы, возможно даже записывать версии файлов. Возможно это удобно… но не надолго — насутпают моменты, когда контролировать код вручную становится физически невозможным из-за его размера. Здесь на помощь приходит система контроля за версиями SVN. Начать ознакомление можно осюда: ru.wikipedia.org/wiki/SVN. А Trac — это всего лишь удобный веб-интерфейс для еще более удобного контроля за своим проектом. Рассмотрение Trac'а можно начать отсюда: ru.wikipedia.org/wiki/Trac
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments65

Установка и настройка SVN (сервер+клиент)

Reading time6 min
Views312K
По просьбам трудящихся, а так же учитывая, что есть статья по установке SVN (правда +Trac) под Linux, решил написать краткое описание установки и настройки SVN для Windows.
Ничего нового для людей, хорошо знающих и работающих с SVN, здесь не будет. Цель статьи — помочь некоторому проценту новичков, пребывающих на Хабре, таки осилить изучение этой системы контроля версий.
Читать дальше →
Total votes 75: ↑66 and ↓9+57
Comments37

Пишем PHP extension

Reading time8 min
Views34K
А давайте сегодня взглянем на PHP немного с другой точки зрения, и напишем к нему расширение. Так как на эту тему уже были публикации на Хабре (здесь и здесь), то не будем углубляться в причины того, для чего это может оказаться полезным и для чего может быть использовано на практике. Эта статья расскажет, как собирать простые расширения под Windows с использованием Visual C++ и под Debian с использованием GCC. Также я постараюсь немного осветить работу с PHP-массивами внутри расширений и провести сравнение производительности алгоритма, написанного на native PHP и использующего код, написанный на C.

Писать будем расширение под PHP версии 5.3.
Total votes 121: ↑117 and ↓4+113
Comments16

Information

Rating
Does not participate
Location
Пермь, Пермский край, Россия
Registered
Activity