Pull to refresh
25
0
Benderlidze @Benderlidze

User

Send message

Система разделения прав доступа в веб-приложении

Reading time14 min
Views70K
В этой статье мы пройдём с вами полный цикл от идеи, проектирования БД, написания PHP-Кода, и завершающей оптимизации. Постараюсь рассказать обо всем, как можно проще. Использовать для примеров буду PHP и Mysql. Заодно потренирую новичков :).

В этой статье я коснусь вопросов:
  1. Идея ACL
  2. Проектирование БД
  3. Нормализация БД
  4. Рефакторинг кода
  5. Оптимизация рабочего кода

Статья является ответом на Бинарное распределение прав доступа в CMS. Пока автором пишется практическая часть, я хочу предоставить мой вариант, который я использую довольно давно.
То, что я сейчас расскажу, похоже на ACL.

Читать дальше →
Total votes 94: ↑71 and ↓23+48
Comments103

ajax загрузка нескольких файлов с php формой

Reading time2 min
Views36K
Как-то для личных целей мне понадобилось сделать ajax загрузку сразу нескольких файлов. Но хотелось сделать это красиво и удобно.
Для этой задачи я выбрал горячо мной любимый jquery и несколько плагинов к нему.
подробнее
Total votes 56: ↑49 and ↓7+42
Comments55

Покорим Ruby вместе! Капля пятая

Reading time4 min
Views35K
Продолжаем (1, 2, 3, 4) штудировать Руби. На этот раз дело коснётся массивов. Но начнем с диапазонов.

Диапазоны значений


Иногда полезно иметь возможность сохранить «концепт» простого списка, причём хочется, чтобы объявить его мы могли бы максимально просто, например: список из букв от A до Z, или числа от 1 до 25. С помощью диапазонов это возможно, они в Руби максимально интуитивно понятны. Вот простые числовые диапазоны:

digits = 0..9
scale1 = 0..10
scale2 = 0...10 #digits = scale2

Идем дальше
Total votes 56: ↑49 and ↓7+42
Comments47

Создание простой MVC-системы на PHP 5

Reading time18 min
Views208K

Предисловие


В этом руководстве Вы узнаете, как построить простую систему по архитектуре MVC (Model-View-Controller, Модель-Отображение-Контроллер) на PHP 5.1 с использованием возможностей библиотеки SPL (Standard PHP Library, Стандартная Библиотека PHP).

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments116

Знакомство с Ruby on Rails (часть 2)

Reading time11 min
Views14K
В продолжении статьи ”Первое знакомство с Ruby on Rails” мы научимся работать с базой данных, и создадим каталог статей.
Узнаем как написать плагин, попробуем использовать AJAX и рассмотрим некоторые проблемы при развёртывании приложения на хостинге.

Начнем с базы данных.


Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments16

RubyConf08

Reading time15 min
Views769
В ноябре месяце прошлого года прошла конференция RubyConf2008. Она прошла абсолютно мимо славянской части Ruby коммьюнити. Об этой конференции не упоминается практически нигде в укрнете/рунете. Я сам узнал об этой конференции абсолютно случайно из какого-то блога возможно даже не связанного с Ruby.

Я посмотрел одно выступление с этой конференции и мне захотелось его пересказать в виде текста на Хабре. Написав первые два абзаца я посмотрел еще несколько выступлений и понял что они ничем не хуже того, которое я начал пересказывать. Дальше — больше. Я просмотрел еще десяток докладов и понял, что если буду пересказывать все то это займет время до следующей Ruby конференции. Наступив на горло собственной песне я решил поменять формат изложения. Я расскажу обо всех выступлениях по чуть-чуть. Пусть это будет формат похожий на RSS где будет в сжатой форме рассказано о теме выступления, длительности и ключевых словах и понятиях. Такой формат даст понимание того, стоит или не стоит обращать внимание на этот доклад и узнавать подробности или нужно посмотреть какой-то другой.

Отдельным абзацем выделю тот факт, что доклады на английском.

Кому может быть это интересно. В первую очередь рубистам и рельсовикам. Во вторую очередь — программистам из Java вселенной. Некоторые темы могут быть интересны остальным разработчикам.

Для удобства я разделил доклады по группам (докладов в группе):

1)Ruby core (5)
2)На пересечении с Java (4)
3)Автоматическое тестирование (5)
4)Низкоуровневый Ruby (2)
5)Ruby и JavaScript (2)
6)Ruby on Internet (4)
7)Кодоводство (6)
8)Ruby в консоли (2)
9)Доклады несвязанные с Ruby напрямую (3)
10) Разное (2)

Читать дальше →
Total votes 57: ↑50 and ↓7+43
Comments12

Эмулятор капчи школьного портала

Reading time1 min
Views2.1K
Все помнят недавнюю статью про занимательную капчу на сайте Школьного Портала?
Сколько радости нам приносили эти слова:


Написал на PHP компактный генератор слов, работающий по такому же принципу.
Читать дальше →
Total votes 118: ↑89 and ↓29+60
Comments130

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

Reading time22 min
Views16K

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

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

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

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

Итак, приступим...
Total votes 73: ↑62 and ↓11+51
Comments82

Представления (VIEW) в MySQL

Reading time10 min
Views451K
В комментариях Хабра упоминались вопросы по использованию представлений. Данный топик является обзором представлений, появившихся в MySQL версии 5.0. В нем рассмотрены вопросы создания, преимущества и ограничения представлений.

Что такое представление?


Представление (VIEW) — объект базы данных, являющийся результатом выполнения запроса к базе данных, определенного с помощью оператора SELECT, в момент обращения к представлению.

Представления иногда называют «виртуальными таблицами». Такое название связано с тем, что представление доступно для пользователя как таблица, но само оно не содержит данных, а извлекает их из таблиц в момент обращения к нему. Если данные изменены в базовой таблице, то пользователь получит актуальные данные при обращении к представлению, использующему данную таблицу; кэширования результатов выборки из таблицы при работе представлений не производится. При этом, механизм кэширования запросов (query cache) работает на уровне запросов пользователя безотносительно к тому, обращается ли пользователь к таблицам или представлениям.
Читать дальше →
Total votes 105: ↑104 and ↓1+103
Comments22

Деревья, двоичные деревья

Reading time1 min
Views9.2K

5й выпуск медленно, но двигающегося вперед видеопроекта Computer Science Student. На этот раз — небольшая «лекция» о такой структуре данных, как деревья.
Видео доступно в HD-качестве, но, как всегда, придется идти на vimeo.com.

Читать дальше →
Total votes 49: ↑42 and ↓7+35
Comments29

разбираем файлы MS-office

Reading time2 min
Views4.6K
Недавно передо мной была поставлена задача: вытащить некую информацию из файлов MS-office (.xls, .doc) для ее последующей обработки. По факту, нужно было вытащить текст, содержащийся в документе.

Как без особого труда вытащить текст, содержащийся в файлах XLS или DOC
Total votes 40: ↑36 and ↓4+32
Comments28

Верстаем, верстаем!

Reading time1 min
Views3.8K
После того, как я опубликовал давече тему о создании макета страницы, нам с тов. CurlyBrace пришла в голову одна интересная мысль: а не сделать ли того, что мы умеем делать лучше всего?

Да, вы правы! Денис любезно сверстал данный макет валидным и семантичным XHTML. Он — молодец, а я ему немного в этом подсобил, доделав небольшую деталь. Он большое внимание уделил размеру страницы и её исходного кода.

Come on, user


Внимание: топик не содержит WYSIWYG!
Total votes 74: ↑56 and ↓18+38
Comments87

Проблема одновременного перестроения кэшей

Reading time4 min
Views9.8K
Серия постов про “Web, кэширование и memcached” продолжается. Начало здесь: 1, 2 и 3.
В этих постах мы поговорили о memcached, его архитектуре, возможном применении, выборе ключа кэширования, кластеризации, атомарных операциях и реализации счетчиков в memcached.

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

Следующий пост будет посвящен тэгированию кэшей.
Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments34

jQuery in Action. Глава 2

Reading time9 min
Views23K
Как я и обещал, вторая глава из книги «jQuery in Action» (авторы Bear Bibeault и Yehuda Katz). Как и из первой главы, выбрал все самое вкусное и интересное ;-)

Напоминаю, что первую главу можно прочесть здесь.

Читать дальше →
Total votes 61: ↑56 and ↓5+51
Comments19

Построение графики на javascript

Reading time1 min
Views12K
dg
Raphaël — небольшая библиотека(20 килобайт) для построения векторной графики на веб-сайтах.

Она использует SVG и VML в качестве базы для создания графики. Учитывая то, что каждый созданный объект — DOM объект, то при помощи JavaScript обработчиков можно легко изменять их свойства и действия.
Читать дальше
Total votes 107: ↑103 and ↓4+99
Comments58

Что такое полиморфизм на самом деле. В PHP он тоже существует.

Reading time3 min
Views93K
Написать этот пост побудила недавняя статья о полиморфизме. Она вызвала много споров, но знающие люди понимают, что автор написал скорее о наследовании и о переопределении методов, чем о полиморфизме. Не буду говорить ни хорошее ни плохое о той статье, а просто расскажу, что такое полиморфизм на самом деле. Дабы начинающие php-программисты не остались в заблуждении.
Читать дальше →
Total votes 133: ↑116 and ↓17+99
Comments82

Стилизация файл-инпутов

Reading time5 min
Views38K
Результат стилизации файл-инпута
Привет. Сегодня я хочу вам рассказать о том, как можно изменить внешний вид файлового инпута.

Дело в том, что изменение внешнего вида инпутов, как правило, не вызывает трудностей, но этот вид инпутов отличается от остальных. В первую очередь это связано с безопасностью, во вторую с тем, что каждый браузер по своему отображает этот элемент, и на это почти нельзя повлиять.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments163

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity