Недавно понадобилось сверстать резиновый трёхколоночный макет с высотой 100% и колонками одинаковой высоты. К моему удивлению, это оказалось не очень простым делом: вместо планируемого получаса это заняло намного больше времени.
Требования к макету:
- кросс-браузерность (куда без неё);
- минимальная высота: 100% (полное окно, независимо от высоты контента);
- минимум кода;
- все три колонки должны быть одинаковой высоты;
- никакого JavaScript.
Читать статью «Кросс-браузерный резиновый трёхколоночный макет в высоту окна» полностью…
У WordPress 2.5.1 есть одна весьма нехорошая ошибка: не работает сброс пароля. При попытке сброса WordPress выдает следующую ошибку: "Sorry, that key does not appear to be valid". Данная ошибка исправлена в dev-версии WordPress 2.5.2.
Тем не менее, все мы люди, и нам, к сожалению, свойственно забывать. В том числе и пароли. Для восстановления пароля ждать выхода официальной версии 2.5.2 не кажется логичным, поэтому будем исправлять то, что есть. Читать статью «Сброс пароля в WordPress 2.5.1» полностью…
В статье "CodeBox: подсветка синтаксиса для WordPress" я говорил, что вместо того, чтобы постоянно исправлять старые и новые баги в плагине WP CodeBox, я сделал форк, который будет жить своей жизнью, но при этом будет совместимым с WP CodeBox, чего бы Eric Wang там ни творил.
Обещания, как говорится, нужно держать
Сегодня у меня выдались пять часов свободного времени, и я занялся доработкой/исправлением плагина. Фактически, из исходного кода остались только имена параметров, всё остальное было переписано в "родном, мудром, обьектно-ориентированном" стиле.
В результате получился CodeBox 0.5 (функционально соответствующий WP CodeBox 1.2.2.1). К версии 1.0 планирую довести до ума поддержку TinyMCE (в своё время несовместимость WP CodeBox с TinyMCE привела к тому, что я не использую WYSIWYG), поменять кое-что в JavaScript, добавить новые опции и т.п. Поддержка интернационализации уже есть, осталось заняться переводом
Как говорится, планов очень много, где бы время взять?
Скачать CodeBox 0.5 для WordPress.
PS - по сравнению с предыдущей версией, плагин "похудел" практически на 200 килобайт. Работа идёт!
Два с половиной месяца назад я писал про альтернативную версию плагина ОднаКнопка для WordPress. Что же, пришла пора Русскому Программисту написать что-то своё.
В результате появился небольшой такой плагинчик, по функциональности идентичный (и в чём-то даже превосходящий) ОднуКнопку.
Достоинства:
- не требует внешних скриптов (всё, что нужно для работы, присутствует на сервере);
- запросы отсылаются непосредственно сервису закладок и никуда более — если у Вас паранойя, Вам это понравится (ОднаКнопка отсылает их еще и на свой сервер);
- для отображения бокса с сервисами закладок используется XHTML-шаблон, который пользователь может переделать по своему вкусу;
- очень легко добавлять новые сервисы закладок;
- поддерживается больше сервисов закладок;
- для добавления статьи (которая отображается шаблоном single.php) в сервис закладок не требуется поддержка JavaScript (любители Lynx, специально для вас);
- все иконки сервисов закладок хранятся в одном файле (техника, известная как CSS rollovers); как следствие, для загрузки всех иконок требуется один запрос, а не двадцать четыре;
- zero configuration — поставил и забыл.
Установка
Копируете файл onebutton.zip в каталог с плагинами WordPress (wp-content/plugins), разархивируете, после чего активируете в wp-admin/plugins.php.
Скачать плагин OneButton for WordPress.
История изменений:
- Версия 0.2:
- поддержка интернационализации;
- поправлены иконки и недочеты в разметке (bersy, большое спасибо!);
- улучшена поддержка Internet Explorer 6 (как я его не люблю!).
- Версия 0.2.1:
- добавлены новые сервисы закладок (RuCity, LinkStore, NewsLand);
- исправлены потенциальные проблемы с форматированием (Настя, Alex, спасибо за тестирование!);
- улучшена поддержка Internet Explorer 6 (как я его не люблю!).
- Версия 0.3b — Alex, спасибо за идеи:
- возможность открывать сервисы в новом окне (путём добавления в ссылку
target="blank");
- возможность добавлять отключать
rel="nofollow" в ссылке на сервис;
- возможность показывать кнопку только в полной версии статьи/страницы (в этом случае не подгружается ненужный более JavaScript — минус один запрос);
- кнопка не должна попадать в фид или трэкбэк;
- возможность выбора показываемых сервисов закладок.
-
Версия 0.3b2:
- добавлены сервисы Lopas и Закладки I.UA (подсмотрено здесь);
- автоматическое использование описания (мета-тэг
description статьи) и тэгов (tags + category) для сервисов, которые это поддерживают (Закладки I.UA, Blink, Simpy, Spurl, Текст 2.0, RuCity).
-
Версия 0.3b3:
- добавлены сервисы: Connotea, Bibsonomy, Trucking Bookmarks, Коммунизм и UCA закладки в UA.IX;
- появилась возможность не показывать OneButton для выбранных статей (путём добавления поля
disable_onebutton с ненулевым значением);
- добавлена поддержка отключения иконок сервисов закладок.
Недавно вышла очередная версия WassUp, и, что характерно, остались все старые проблемы. Для их решения готов новый патч
Но что меня очень разочаровывает, с разработчиками WassUp очень трудно разговаривать
За последние несколько месяцев я им неоднократно говорил о различных багах, но они так и остались неисправленными.
Из-за проблем с производительностью я наконец-таки снёс WassUp (слишком много переделывать, чтобы исправить все проблемы, а написан он всё же кривовато), так что данный патч будет всё же последним. Читать статью «Патч для WassUp 1.6» полностью…
Всё-таки как можно переставить всё с ног на голову… Прочитал сегодня статью на CNews.com; она небольшая, привожу полностью:
Исследователь безопасности разработал сайт, наглядно демонстрирующий риск, с которым сталкиваются пользователи Windows при использовании браузера Safari от Apple.
ИБ-команда Microsoft уже предупредила, что «смешанная угроза» настолько серьезна, что пользователям Windows следует ограничить использование Safari до тех пор, пока не выйдет патч. В своем блоге исследователь Лю Ди Ю (Liu Die Yu) показал, что это предупреждение не было преувеличением.
При клике по указанной исследователем ссылке в Safari с настройками по умолчанию на рабочий стол пользователя Windows загружается файл-ловушка. В следующий раз, когда пользователь открывает Internet Explorer, файл автоматически запускает notepad.exe и открывает несуществующий файл. Разумеется, злоумышленники могут найти менее безобидное применение данной уязвимости
, пишет The Register.
По словам Apple, уязвимость не является критической. Эта демонстрация свидетельствует об обратном.
Читать статью «Доказана критичность уязвимости в Safari для Windows» полностью…
Устав от того, что ко мне на компьютер ломятся всякие придурки юные кулхацкеры, я решил принять меры.
Товарищи кулхацкеры лезут в систему с трёх сторон:
- Путем подбора пароля на SSH.
- Путем подбора пароля на FTP.
- Пытаясь использовать компьютер в качестве релея (это уже спамеры).
Есть и другие поползновения (например, попытки достучаться до MySQL, к которому снаружи добраться в принципе невозможно; или пытаясь навести "злобные пинги"), но три вышеописанных метода меня раздражают больше всего.
Стратегия защиты: Читать статью «Скажи “Нет!” взломщику» полностью…
Меня всегда интересовало, насколько эффективно WordPress работает с базой данных, и насколько хорошо спроектирована база данных.
Практически в каждом проекте, над которым я работаю, я использую те или иные средства для анализа производительности скрипта и поиска его слабых мест. Для разработчиков не является секретом, что во многих случаях плохая производительность работы скрипта обусловлена низкой производительностью SQL-запросов. И, как правило, низкое быстродействие запросов связано с их неоптимальностью (что включает в себя отсутствие необходимых индексов в базе данных).
Однажды столкнувшись с ужасной производительностью WordPress и не имея возможности анализировать код десятка поставленных плагинов, я стал решать задачу иначе, в результате чего родился плагин для анализа SQL-запросов. Читать статью «SqlMon: плагин для анализа SQL-запросов» полностью…
Решив уделить пару часов оптимизации своего собственного блога, я с удивлением обнаружил, что страница может генерироваться несколько секунд (!). Отойдя от шока и выяснив, в чем там дело (этому можно будет посвятить отдельную статью), я быстро разобрался с запросами к базе данных и уменьшил общее время запросов в среднем до одной секунды (ну медленный у меня сервер).
Тем не менее, это заставило меня задуматься о том, как WordPress использует собственный кэш и что можно сделать, чтобы улучшить производительность. Читать статью «WP File Cache: замена WP_Object_Cache с поддержкой долговременного кэширования» полностью…
Сегодня мне наконец-то посчастливилось найти концы (в смысле, оригинал) статьи, которую публикуют многие блоггеры (в переводе на родной язык). Статья носит название "13 Тэгов, которые следует удалить из вашей темы" (с ней можно ознакомиться, например, здесь).
В переводе меня смутило то, что автор, на мой взгляд, "экономил на спичках", вместо того, чтобы использовать что-либо стоящее, поэтому я решил обратиться к оригиналу, в надежде на то, что автор хоть как-нибудь обосновал свою точку зрения. Читать статью «Ответ на “13 Тэгов, которые следует удалить из вашей темы”» полностью…
Небольшой плагин для любителей HTTPS — помещает панель управления WordPress (админку, если по-русски) за HTTPS. Shane, специально для тебя!
Возможно, кому-нибудь даже пригодится. Скачать WP Secure Admin.
Update: специальный бонус: плагин WP Secure Login — безопасный логин/регистрация/восстановление пароля. Скачать WP Secure Login.
Древнейшая профессия — проститутка.
Вторая древнейшая — вор.
Третья древнейшая — политик — результат естественного симбиоза первой и второй.
С целью тотального снижения коррумпированности государственных органов власти МВД Украины не рекомендует чиновникам брать взятки мечеными купюрами. Список номеров помеченных купюр ежедневно обновляется на официальном сайте МВД.
Какая самая демократическая страна в мире? Украина. Где еще в Новогодний вечер жители могли выбирать, поздравление какого Президента им смотреть по телевизору?
Сегодня явно день патчей
Полтора месяца назад я уже писал про замечательный плагин Wassup, а также о его нелюбви к Windows. Помимо этой ошибки, я обратил внимание на нелюбовь плагина к строкам, состоящим из многобайтных символов (например, UTF-8).
Сегодняший патч исправляет:
- проблему с разделителями каталогов (традиционно);
- мелкие ошибки, связанные с невалидностью генерируемого HTML-кода;
- добавляет поддержку строк, состоящим из многобайтных символов (поддержка таких строк требует наличия активированного расширения PHP mb_string);
- добавляет
rel="nofollow" к ссылкам в блоках типа 'Top 5 Referrers', 'Top 5 Search Terms'.
Скачать патч в формате unified diff.
Патч нужно применить рекурсивно к каталогу /wp-content/plugins/wassup.
Наверное, многие знают о плагине WP-CodeBox, написанном Eric Wang. Данный плагин provides clean syntax highlighting and AJAX advanced features for embedding source code within pages or posts
, то есть всё то, что нужно блоггеру, который часто постит код. Для подсветки синтаксиса используется GeSHi. Читать статью «CodeBox: подсветка синтаксиса для WordPress» полностью…
Заказчик сегодня меня просто шокировал. Читать статью «Такие дела» полностью…