Category Archives: Programming

Debug javascript в PhpStorm

Почему-то у меня до сих пор здесь нет этого поста, хотя первый раз пользовался года полтора назад. В PhpStorm можно настроить режим отладки javascript, причём и страниц, находящихся на удалённой машине. http://www.jetbrains.com/editors/javascript_editor.jsp?ide=phpstorm#Debugger_for_JavaScript http://wiki.jetbrains.net/intellij/Remote_JavaScript_debugging_with_WebStorm_and_PHPStorm

Алгоритм динамического центрирования меню по нужному элементу

Задача — при возникновении события подсветить нужный пункт меню, показать по 3 пункта сверху и снизу, остальные скрыть. Это относится и к пагинация (paging). Если, к примеру, это второй пункт меню, то снизу показать больше. В общем, чтобы в сумме всегда было показано 7 пунктов. Решил показать алгоритм, которым воспользовался, чтобы всегда быть уверенным, что …

Read more

Кроссдоменные запросы из javascript

Недавно из неожиданного источника поступил вопрос «что такое document.domain«. Я об этом читал давно, толком никогда не использовал, потому решил сохранить на будущее закладочку:) . Вот описание способов кроссдоменной работы javascript: Старый, ограниченный, но кроссбраузерный — поиграться с document.domain http://javascript.ru/ajax/cross-domain-scripting#kross-domennyy-skripting-s-obshchim-naddomenom Более новый, удобный, но поддержка всеми под вопросом — document.getElementById(«iframe»).contentWindow.postMessage() из спецификации HTML5: http://javascript.ru/ajax/cross-origin-2

PHP coding style

Описал часть своего code style для PHP. To be updated.

jQuery-плагин для создания timeline

http://timeline.verite.co/ Получается примерно вот что:

Новое в Django 1.4

Достаточно развёрнуто про новый функционал Django 1.4: http://blog.futurecolors.ru/search/label/Django%20Days

Боремся с Clickjacking

«Clickjacking — относительно новый и не очень широко известный тип атак на веб-сайты. Его суть в том, что пользователь, совершая клик на специально сформированной странице злоумышленника, на самом деле кликает по ссылке на совершенно другом сайте. Это может быть использовано как для относительно безобидных накруток голосований (например, ретвитов или лайков), так и более разрушительных вещей, …

Read more

PHP Fatal error: Exception thrown without a stack frame in Unknown on line 0

Отличная ошибка, на которую обычно просто «забивают», т. к. не понятно, где и что искать. А ошибка вызвана тем, что в кастомном обработчике исключений происходит исключение, после чего php прерывает процесс с таким замечательным и информативным сообщением об ошибке. В моём случае это было своё расширение для класса DateTime

Если не написать тот странный …

Read more

IoC в php

Читал-читал про инверсию управления (Inversion of Control), всякие Pico и Phemto.

Расширение базового функционала jquery-ui-виджетов

Захотелось сделать более правильную работу с триггерением/навешиванием обработчиков на события, чем это реализовано в jquery-ui. При этом сам функционал надоело копировать из виджета в виджет. В общем, вот простой добавить методы к своим виджетам:

Потом для каждого виджета нужно будет указать опциональный второй параметр

Внимание нужно обратить на второй параметр $.my.my_extension, который в …

Read more