Архивы за месяц: июня 2009

Phing: backup и сохранение в Subversion базы данных

Владимир | | MySQL, Phing, Subversion.

В этой заметке я хочу показать несложный пример использования Phing для создания резервных копий базы данных (MySQL) и их отправки в репозиторий Subversion.

Ни для одной из этих операций готовых задач для Phing я не нашел. Но, если подумать, они и не очень нужны. Ведь с помощью Phing можно выполнить любую команду. Т.е. если вы знаете как решить задачу с помощью консоли, значит вы можете автоматизировать решение с помощью Phing.

Примечание. Если вы слышите слово Phing впервые, то, думаю, вам будет интересно почитать статью Программирование на PHP. Избавляемся от рутинных операций с помощью Phing, а может быть и весь раздел Phing этого блога 😉

Возвращаемся к нашей задаче.

Для создания резервной копии базы можно использовать утилиту mysqldump. В её параметрах нужно указать имя пользователя базы, его пароль и название базы. Дополнительно нужно задать имя файла в который мы сохраняем дамп.

Например, так
Читать дальше

Откат базы данных и проблема с кодировками

Владимир | | MySQL.

Сегодня я хочу рассказать об одних граблях на которые сам недавно наступил.

Даже немного стыдно признаваться, но я столкнулся с проблемой кодировок в базе данных и какое-то время вообще не мог понять, в чём дело.

А ситуация была такая. Я написал статью «jqGrid: редактирование табличных данных с помощью inline редакторов» и сделал демонстрационную страничку.

Для того, чтобы таблица не была пустой, я сделал дамп моей локальной базы и через phpMyAdmin залил его в базу на сервере.

При этом никаких проблем с кодировками не возникало вообще. Т.е. у меня везде была указана utf-8, она и использовалась.

Тут возникает обычная проблема.
Читать дальше

Динамическая загрузка картинок для анонсов с помощью Ajax, jQuery и PHP

Владимир | | Ajax, CSS, HTML, JavaScript, PHP, Web разработка.

Идею этого эффекта я нагло стырил позаимствовал на сайте jomsocial. Там есть блоки (под кнопкой Learn More) с анонсами. При наведении мышки на эти блоки к ним добавляется картинка.

Реализовать такой эффект можно разными способами. Например, можно теги картинок вставить прямо в страницу и прятать/показывать их с помощью JavaScript.

Основное достоинство такого варианта – отсутствие задержек при появлении картинок (если конечно вы подождали пока страница полностью загрузится).

Но при этом увеличивается размер страницы и не факт, что посетитель вообще будет эти картинки рассматривать.

Поэтому я решил привести пример своей реализации этого эффекта.

Картинки будут загружаться только если посетитель наведет мышку на какой-нибудь блок с аннотацией. Естественно, что загрузка будет выполняться только один раз.

Если посетитель наведет курсор мышки на другую аннотацию, будет загружена картинка для неё, а предыдущая – исчезнет.

Говорят, что одна картинка стоит тысячи слов, поэтому я сделал демонстрационную страничку для этого примера.
Читать дальше

jqGrid: редактирование табличных данных с помощью inline редакторов

Владимир | | Ajax, JavaScript, MySQL, PHP, Web разработка.

В одной из прошлых статей (jQuery Grid Plugin — "продвинутое" решение для создания таблиц) я рассказывал об использовании jqGrid для создания таблиц.

jqGrid представляет собой плагин к библиотеке jQuery предназначенный для работы с таблицами. С его помощью можно создавать многостраничные таблицы, выполнять сортировку и, конечно, редактировать данные.

В прошлой статье речь шла только о самых простых возможностях и, как справедливо заметили в комментариях, о самой интересной части, редактировании, не было ничего сказано. Я пообещал это исправить и сегодня постараюсь это обещание выполнить.

Прежде всего, напомню, что данные хранятся на стороне сервера (в базе данных) и плагин к ним непосредственного доступа не имеет. Он может только вызвать серверный (PHP) скрипт и передать ему новые значения.

Редактировать записи в таблице можно 2 способами.
Читать дальше

WampServer: как я обновлял MySQL

Владимир | | MySQL, Web разработка.

Эта история началась с того, что на днях я решил обновить софт для web разработки (apache + php + mysql). И для этого скачал последнюю версию wampserver'а.

Примечание. Почитать об этом дистрибутиве для web разработки можно в статье Инструменты web разработчика. WAMPSERVER 2 – только новый софт.

В принципе, отличия в номерах версий серверов были не большие и я думал, что никаких проблем не возникнет. Но, как оказалось, я ошибся. Серьезных проблем, конечно, не было, но «поиграться» с конфигами пришлось.
Читать дальше

Как найти спамера в твиттере 2

Владимир | | Разное.

Что-то последнее время не дает мне покоя twitter 🙂

Сервис очень интересный и предоставляет интересные возможности как для общения, так и для рассылки спама. Т.к. я рассылкой спама не занимаюсь, то меня больше интересуют методы борьбы со спамерами в твиттере. В одном из предыдущих постов я уже рассказывал о способе поиска «специалистов по продвижению», но за это время возникло ещё несколько идей, которыми я и хочу поделиться.

Идея очень простая — подсчет ответов пользователю.

Обратите внимание, не тех ответов, которые пользователь сам написал, а тех, которые написали ему.

Давайте порассуждаем. Для администрации узнать количество ответов, которые пришли данному пользователю не сложно. Для этого достаточно посчитать количество сообщений в которых есть @ник_пользователя.

Дальше возникает тонкий момент. При каком количестве ответов нужно считать пользователя спамером?
Читать дальше