Сайт odnaknopka.ru предлагает для загрузки widget для WordPress, который позволяет использовать одну-единственную кнопку для добавления статьи в один из многих сервисов закладок (русский вариант AddThis!). Plugin для WordPress доступен для скачивания со страницы сайта. Читать статью «Русский AddThis — одна кнопка для всех сервисов закладок» полностью…
Принято считать, что замечательный Web-сервер nginx работает только под Unix-подобными операционными системами. Верно, но лишь отчасти. nginx превосходно собирается и в Cygwin. Возникает вопрос: а зачем это надо, собирать nginx под Windows? Ответ: я знаю достаточно много web-разработчиков, работающих в силу тех или иных причин под Windows. И в работе встречаются ситуации, когда на рабочей машине нужно создать конфигурацию, максимально похожую на конфигурацию сервера (production или development в данном случае не важно). Читать статью «Настройка nginx и PHP/FastCGI в Windows» полностью…
Позавчера возникла проблема: нужно было срочно переставить Windows XP (ибо VMWare так больно упала, что Windows пал смертью храбрых). Всё хорошо, но вот родного инсталляционного диска под рукой не было, а инсталлятор жил на NTFS-разделе (кстати, DOS-драйвер для чтения NTFS почему-то оказался бессильным). По счастью, на FAT32-диске нашелся образ загрузочного диска. Одна проблема: образ был сохранен Nero и записан в формате NRG. И, как на зло, не было ничего, что понимает NRG-образы. А так как Internet тоже не было (какой там Internet при загрузке с Реаниматора!), пришлось думать, как можно с ограниченными средствами преобразовать NRG-образ в ISO. Читать статью «Преобразование образов NRG в ISO» полностью…
Если инсталляция второго пакета обновлений Windows XP (aka Service Pack 2) аварийно завершается со словами "Внутренняя ошибка" на стадии "Проверка ключа продукта", значит, вы плохо активировали Windows
Это особенно относится к читателям статей типа "Лицензионный Windows XP всем и каждому"
Читать статью «Если Service Pack 2 не ставится на Windows XP…» полностью…
В Internet есть много статей, посвященных вопросу "to hack or not to hack". Я не хочу обсуждать этот "извечный вопрос", только замечу: что бы там ни говорили противники хаков, хаки весьма и весьма популярны (к счастью или сожалению). Я решил сделать небольшую подборку CSS-хаков для различных браузеров. По сути дела, эта статья является компиляцией очень многих источников. Читать статью «Подборка CSS-хаков для различных браузеров» полностью…
Ранее я уже говорил о причинах, побудивших меня сделать меню на чистом CSS без использования JavaScript. Борясь с IE6, у меня получилась красивая версия вертикального меню — его реализация оказалась проще. Теперь обещанное горизонтальное меню. Читать статью «Кросс-браузерное всплывающее гибридное меню на CSS без использования JavaScript» полностью…
Так случилось, что срочно понадобилось сделать горизонтальное меню, причем для проекта, который нужно было сдавать вчера
Естественно, самому писать не было времени, нужно было взять что-то готовое. Я недавно прочитал статью "Всплывающее гибридное меню на CSS", поэтому взял код именно оттуда. Но не в этом дело. У подавляющего большинства меню камнем преткновения становится IE6 — а всё из-за того, что он понимает :hover только для тэга <a>. Когда-то у меня был заказчик, требовавший, чтобы всё одинаково работало с выключенным JavaScript'ом; вспомнив его, я решил попробовать сделать меню, работающее безо всякого JavaScript. Так получилось, что попутно я нашел еще один очень интресный глюк в IE6 (о нём далее), в борьбе с которым у меня получилось вертикальное меню. Читать статью «Кросс-браузерное одноуровневое вертикальное меню без JavaScript» полностью…
Очередной раз попав не туда, куда надо из Google, я натолкнулся на статью "Трехколоночный макет на CSS с одинаковой высотой колонок". Да, трехколоночные макеты (да еще и резиновые!) очень популярны, я смотрю
Но, несмотря на популярность таких макетов, многие верстальщики почему-то не хотят учиться и городят целый огород на div'ах. Читать статью «Резиновый трехколоночный макет с правосторонними сайдбарами» полностью…
Для WordPress есть замечательный плагин — Wassup. Хороший плагин, но вот беда: не дружит с Windows. Не дружит из-за того, что переменные хардкодить нельзя. Это в Unix/Linux каталоги разделяются ‘/’, а в Windows используется ‘\’. И вот из-за невнимательности автора плагин не работает в Windows. К счастью, всё лечится очень просто.
Патч лежит здесь. Патч нужно применить к файлу /wp-content/plugins/wassup/lib/action.php.
Помимо исправления ошибки с разделителями каталогов, патч исправляет небольшую ошибку, связанную с невалидностью (инвалидностью?) генерируемого (X)HTML-кода.
Я сейчас работаю над очень интересным проектом, который, как надеется заказчик, составит серьёзную конкуренцию Google Analytics. Но речь не об этом. Разбираясь с архитектурой системы, я обнаружил весьма интересную деталь: 8 гигабайт памяти сервера отдается под несколько таблиц типа HEAP. Так как HEAP-таблицы хранятся в исключительно в памяти, то операция вставки (INSERT) должна выполняться очень быстро, так как временные затраты, связанные с перемещением головок диска и физической записью, отсутствуют. Я решил найти подтверждение этой теории. Google is your friend, и я довольно быстро нашел статью MySQL Engine INSERT speed. Читать статью «MySQL и скорость выполнения INSERT для разных типов таблиц» полностью…
Начну сразу с причин, по которым я пишу эту статью. Я периодически просматриваю лог запросов, по которому люди попадают сюда, и вот один из запросов — хранить php сессию в mysql
.
Итак, как же хранить PHP-сессии в базе данных? Читать статью «Хранение PHP-сессий в базе данных» полностью…
Почему-то каждый третий мнит себя экспертом по безопасности, пишет "безопасные" программы для шифрования данных, но даже не подозревает, что существуют и другие режимы шифрования, кроме известного как ECB. И этим грешат не только студенты в своих дипломных работах (головы бы поотрывал их научрукам за такое), но и "серьёзные" разработчики.
Например, программист на сайте uk-swingers.com шифровал номера кредитных карточек (!), используя простой алгоритм RC4 и постоянный ключ. Ломалось очень просто. К счастью, уже исправлено
Другие товарищи использовали сложение по модулю два для шифрования важных данных. Третий товарищ защитил диплом по безопасности, и шифрование секретной базы данных опять-таки выполнялось по модулю два. Четвертый шифровал AES'ом тонны информации (в режиме ECB, разумеется), при этом не потрудившись даже ее сжать. Этот печальный список можно продолжать и продолжать…
Я решил провести наглядный эксперимент, чтобы выяснить, насколько эффективны различные алгоритмы шифрования в различных режимах работы. Читать статью «Режимы шифрования данных, или, когда сильный шифр не спасает» полностью…
Прогуливаясь по Internet в поисках неизвестно чего, я набрёл на статью годичной давности, в которой приводится рецепт по созданию легко изменяемого макета фиксированной ширины. Читать статью «Легко изменяемый макет фиксированной ширины» полностью…
Ранее я рассматривал проблему генерации невалидирующегося кода плагином WP CodeBox. Недавно вышла новая версия плагина, но проблемы остались. И добавились новые.
Скачать патч в формате unified diff.
Читая один замечательный блог, я наткнулся на заметку о том, что в IE6/7 кнопки c "длинным текстом" становятся очень длинными. Читать статью «IE6/7: слишком широкие кнопки» полностью…