Василий Наумкин
С нами с 08 декабря 2012; Место в рейтинге пользователей: #1Работа с #хэшем в url + history api
Последний проект, который я делал состоит из одной страницы, и все действия выполняются через Ajax.
Конечно, понадобилось сохранять состояние страницы, и самое универсальное решение — хэш.
Если кто не в курсе, хэшем url зовется всё, что идет после символа #. Изначально это было придумано для якорей и используется до сих пор всякими способами из-за одной особенности — изменение хэша не обновляет страницу.
Конечно, понадобилось сохранять состояние страницы, и самое универсальное решение — хэш.
Если кто не в курсе, хэшем url зовется всё, что идет после символа #. Изначально это было придумано для якорей и используется до сих пор всякими способами из-за одной особенности — изменение хэша не обновляет страницу.
Новый год у Linode
И сразу же хорошая новость — Linode бесплатно увеличивают HDD своих юзеров на 20%.
На моём тарифе прибавилось дополнительно 6144 Mb.
На моём тарифе прибавилось дополнительно 6144 Mb.
Подсчёт значений из присоединённой таблицы на xPDO
Сегодня понадобилось вывести список блогов с подсчетом количества тикетов внутри. Желательно, за один запрос, и чтобы обращал внимание на состояние дочернего тикета.
В итоге вышел простой и быстрый сниппет getSections:
В итоге вышел простой и быстрый сниппет getSections:
Открытие внешних ссылок в новом окне
Не знаю, кому как, а лично мне очень не нравится, когда при клике на ссылку в тексте статьи меня переслыают на другой сайт. Я же еще не дочитал!
Это очень неудобно и со временем вырабатывается привычка кликать везде средней кнопкой мыши. Однако, есть и более культурный способ, ведь у ссылок давно существует атрибут target="_blank", который открывает эту ссылку в новом окне. Но, его нужно проставлять вручную у каждой ссылки и это быстро недоедает, а юзеры тем временем уходят с сайта не дочитав заметку.
Задачу нужно решить, причем быстро, просто и навсегда. Поэтому я решил переложить выставление аттрибута ссылки на крепкие плечи jQuery — он не подведёт!
Это очень неудобно и со временем вырабатывается привычка кликать везде средней кнопкой мыши. Однако, есть и более культурный способ, ведь у ссылок давно существует атрибут target="_blank", который открывает эту ссылку в новом окне. Но, его нужно проставлять вручную у каждой ссылки и это быстро недоедает, а юзеры тем временем уходят с сайта не дочитав заметку.
Задачу нужно решить, причем быстро, просто и навсегда. Поэтому я решил переложить выставление аттрибута ссылки на крепкие плечи jQuery — он не подведёт!
Внимание, серьезнейшая уязвимость во всех версиях Revolution
Ну что ребята, дождались. Евгений Борисов откапал 2 просто чудовищных дыры безопасности в MODX Revolution.
Подвержены все сайты на Revo.
Первая: функция eval() в фильтре math. Позволяет вызывать произвольный php код. Багрепорт. Модыксеры сказали, что это не ошибка, мол так и надо. Хотя, на мой взгляд, там где есть eval() — всегда есть потенциальная уязвимость.
Подвержены все сайты на Revo.
Первая: функция eval() в фильтре math. Позволяет вызывать произвольный php код. Багрепорт. Модыксеры сказали, что это не ошибка, мол так и надо. Хотя, на мой взгляд, там где есть eval() — всегда есть потенциальная уязвимость.
Про xPDO
Эта заметка назревала уже очень давно, полгода минимум. Вокруг замечательного MODX Revolution сломано много копий. Ходят слухи, что он «тормозной», «прожорливый» и «неповоротливый». И главным виновником всегда называют xPDO.
Конечно, это чушь и цель заметки — развенчание мифов. Закрыть, наконец, вопрос с «тормозами» и «прожорливостью». Показать, насколько Revolution удобен и гибок, что он позволяет работать как через ORM xPDO, так и без него — через обычный PDO.
Конечно, это чушь и цель заметки — развенчание мифов. Закрыть, наконец, вопрос с «тормозами» и «прожорливостью». Показать, насколько Revolution удобен и гибок, что он позволяет работать как через ORM xPDO, так и без него — через обычный PDO.
Работа с кэшерами в Revolution
Не все знают, что MODX Revolution умеет работать с разными системами кэширования, для чего применяет следующие классы:
- xPDOFileCache — стандартный обработчик по умолчанию, хранит кэш в файлах.
- cache.xPDOAPCCache — обработчик для расширения php-apc
- cache.xPDOMemCached — обработчик для memcached. Есть заметка про него
- cache.xPDOMemCache — обработчик для memcache.
- cache.xPDOWinCache — обработчик для wincache. Это для windows хостингов, на IIS.
Сервер: резервное копирование и выгрузка в Dropbox
Первым делом всегда-всегда-всегда нужно заботиться о резервной копии. Вариантов огромное множество, но лично я написал для себя простой и понятный скрипт для ежесуточного запаковывания данных с любого сервера, в том числе и shared-хостинга.
Образ Ubuntu для локальной разработки
Сегодня в комментариях хороший человек Денис Артамонов поделился ссылкой на собранную им виртуальную машину для работы с MODX.
«Это гениально!», подумал я, и немедленно принялся делать такую же, тольколучше на Ubuntu — ибо сам на ней работаю и все свои скрипты\инструкции пишу именно для нее. Теперь многие люди смогут сказать «Прощай, Denwer!».
«Это гениально!», подумал я, и немедленно принялся делать такую же, только
Про лишнее барахло на сайтах
На днях прислали совершенно замечательную заметку о тестовых файлах и дампах, оставленных на сайте после разработки.
Вроде, все знают, что так делать не надо — но масштабы разгильдяйства поражают.
Текст привожу как есть, с небольшими правками.
Вроде, все знают, что так делать не надо — но масштабы разгильдяйства поражают.
Текст привожу как есть, с небольшими правками.