Пингвин — веб-мастер #2

 | 17.16

Мой Компьютер, №23 (527), 27.10.2008

На мой взгляд, для платформы Windows лучшим менеджером для СУБД MySQL является EMS MySQL Manager. Есть версия этой программы и под Linux, но более старой версии (1.4 против уже существующей 3.2). Под Ubuntu мне ее удалось установить только на i386-версии.

Инсталлятор можно скачать по адресу ftp://download.us.ems-hitech.com/pub/software/mymanager/mymanager-1.4.1.7.sh.

После скачивания надо сделать файл mymanager-1.4.1.7.sh исполняемым (chmod +x mymanager-1.4.1.7.sh) и запустить от имени суперпользователя (sudo ./mymanager-1.4.1.7.sh). Возможно, при запуске программа будет ругаться из-за отсутствия библиотеки libborqt-6.9-qt2.3.so, тогда придется доустановить пакет teamspeak-client (sudo apt-get install teamspeak-client).

Более свежих версий для Linux не выходило, и, по всей видимости, EMS вообще прекратила разрабатывать Linux-версию своего продукта. Но есть возможность (правда, с некоторыми тормозами) запустить более свежие Windows-версии под wine.

Также мне не понравилось, что, как Windows-версия, программа оказалась пробной, с 30-дневным сроком (вот буржуи!). Поэтому я решил найти хороший свободно распространяемый MySQL менеджер и потратил довольно много времени на его поиски. Когда я уже совсем отчаялся, то все-таки нашел — причем, по закону подлости, именно там, где меньше всего ожидал — под самым носом. То есть. в составе дистрибутива Ubuntu.

Если зайти в synaptic (Приложения > Установка/Удаление) и провести поиск по ключевому слову mysql, то вы найдете следующие программы: MySQL Navigator, gMySQLcc, TOra, MySQL Administrator, MySQL Query Browser.

Первая программа очень похожа по возможностям на продукт от EMS, но хорошо работает только с базами на локальном ПК или в интранете. С базами на удаленных серверах MySQL Navigator работает крайне нестабильно, постоянно теряет соединение.

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

TOra оказался утилитой для Oracle — непонятно, как он вообще «всплыл» в поиске по ключевому слову mysql.

Таким образом я остановил выбор на MySQL Administrator и MySQL Query Browser. Это — официальные утилиты от MySQL AB. Первая позволяет администрировать СУБД — управлять правами пользователей, снимать/восстанавливать backup’ы и т.д. (рис. 1).

Надо сказать, что скорость снятия резервной копии и восстановления базы с нее значительно выше, чем при использовании EMS MySQL Manager.

Вторая утилита предназначена для прогона запросов и также частично реализует функции менеджера БД — редактирование таблиц, индексов (рис. 2), данных в таблицах.

У программы крайне простой интерфейс, чем-то напоминающий интерфейс браузера — сверху поле для ввода запроса и кнопка «выполнить», кнопки «назад», «вперед» и «стоп». Можно запускать несколько запросов одновременно, результаты каждого отображаются в отдельной вкладке, как веб-страницы в браузере (рис. 3).

Новая вкладка, как и в Firefox, открывается нажатием комбинации Ctrl+T. В правой части — дерево со схемами и таблицами. Двойной щелчок по таблице помещает в поле запроса текущей вкладки SQL-код для выбора всех данных из таблицы, Правая кнопка вызывает контекстное меню с опциями удаления, редактирования, создания новой таблицы, копирования DDL буфер и другими. Если запрос делает выборку полей из одной таблицы, включая ее первичный ключ, становится доступен режим редактирования, в котором можно добавлять новые записи в таблицу и редактировать/удалять уже имеющиеся.

Собственно, данная программа по возможностям не особо уступает EMS MySQL Manager’у. Может, она не такая удобная, зато более быстрая и более стабильная в работе с удаленными БД. Единственные недостатки — уж очень маленькое по высоте окошко для ввода запроса (причем увеличить его нельзя L) и отсутствие возможности выделить для удаления сразу несколько записей в режиме редактирования. К остальному у меня претензий нет.

Если же ваш хостер не поддерживает услуги удаленного доступа к MySQL, на выручку придут утилиты с web-интерфейсом phpMyAdmin (менеджер баз данных) и Sypex Dumper (создание бэкапов и восстановление баз данных с них).

Отладка

Для отладки php приложений существуют специальные приложения, аналогичные возможности есть и в специализированных IDE (например, Zend Studio). Все они предполагают установленный на локальном ПК php и web-сервер. Поскольку я веду разработку в основном на целевом хостинге или на отдельном сервере, который стоит у меня дома, то этими функциями мне пользоваться не доводилось.

Для отладки я использую старые добрые echo и print_r(), также собираюсь для разрабатываемого движка порталов написать отладочную консольку.

Другое дело — JavaScript. Если php сразу выдает детальную информацию об ошибке, то браузер при ошибках JavaScript в лучшем случае сообщит о наличии ошибок и выдаст ее краткое описание и номер строки, в которой ошибка возникла (Internet Explorer). А то и вовсе молчит (Firefox).

Лишние хлопоты возникают и при отладке AJAX-приложений. Если в скрипте, выдающем обычную страничку, можно в нужном месте поставить echo и посмотреть отладочную информацию на экране, то AJAX-скрипт придется открывать в отдельной вкладке и передавать ему параметры через адресную строку. Было бы намного легче, если бы существовала возможность просматривать содержимое GET- и POST- запросов.

И еще одна трудность, с которой сталкиваются разработчики — необходимость быстро обработать результаты работы верстальщика. К примеру, я на данный момент участвую в разработке сайта для одной фирмы. Я работаю в команде с дизайнером-верстальщиком, который мне присылает сверстанные HTML-странички. Наш движок предусматривает разбиение страничек на блоки (например, шапка, меню сайта, список новостей, нижняя полоса), каждый их которых выводится методом отдельного класса на основе отдельного Smarty-шаблона. Соответственно, для того чтобы интегрировать движок сайта с дизайном, мне надо эти блоки выделить в странице. Приходится рыться в чужом коде и выискивать, где начинается и где заканчивается код нужного мне участка страницы.

Так вот, все эти три проблемы, а также много других задач, легко решаются при помощи одного замечательного дополнения к не менее замечательному браузеру Firefox — Fire Bug (http://getfirebug.com/). Скачать текущую версию можно по прямой ссылке https://addons.mozilla.org/ru/firefox/downloads/file/37452/firebug-1.2.1-fx.xpi.

После установки FireBug попросит перезагрузить Firefox. После перезагрузки в строке статуса справа появится изображение жука. Если щелкнуть по нему, откроется окошко плагина.

Данный продукт заслуживает отдельной статьи, поэтому здесь я лишь кратко опишу некоторые предоставляемые им возможности:

  • вкладки Console и Script содержат консоль ошибок и отладчик Java Script’ов. Поскольку данные средства несколько притормаживают работу браузера, есть возможность включать/выключать их вообще или для отдельных сайтов (рис. 4).
  • При возникновении ошибки в консоли появляется ее подробное описание и текст строки, в которой она возникла. При клике на текст ошибки FireBug покажет код скрипта полностью. Если же Firebug закрыт, а при загрузке страницы возникли ошибки, то соответствующее сообщение с указанием числа ошибок возникнет слева от картинки с жуком.
  • вкладка Net содержит консоль для трассировки POST- и GET- запросов. Очень удобная вещь для отладки AJAX-приложений. В консоли отображаются все запросы с указанием запрошенного URI, возвращенного кода ошибки и времени обработки (рис. 5).

Если «раскрыть» запрос, то можно просмотреть заголовки, переданные параметры и результат работы серверного AJAX-скрипта.

  • вкладка HTML — это очень удобный HTML-инспектор кода. В этом инструменте код представляется в древообразной модели. Если наводить мышкой на тэги, то соответствующее им содержимое страницы подсвечивается. HTML-код нужного участка можно быстро скопировать в буфер.

Я надеюсь, что данный обзор поможет как начинающим веб-мастерам-линуксоидам, так и профессионалам, которые только что перешли с платформы Windows на Linux. Для подготовки статьи я просмотрел и опробовал немало Linux-софта для веб-разработки, и могу смело сказать: уже сегодня Linux может вполне успешно конкурировать (и конкурирует!) с «форточками» не только как юзер-десктоп, а и как рабочее место программиста.

Посему завершаю статью немного заезженной, но не устаревающей фразой: Linux forever!

CyberAdmin

ПОЛЕЗНЫЕ КОМАНДЫ

sudo apt-get install teamspeak-client — установить пакет с библиотекой libborqt-6.9-qt2.3.so, необходимой для запуска EMS MySQL Manager

sudo apt-get install mysql-admin — установить MySQL Administrator

sudo apt-get install mysql-query-browser — установить MySQL Query Browser

Robo User
Web-droid editor

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *