Пингвин-вебмастер
02.03.09Мой Компьютер, №22 (526), 20.10.2008
Не так давно я сделал очень решительный шаг — окончательно отправил в небытие «форточки» на своем домашнем компе. Основной причиной было то, что я завязал с программированием на Delphi и полностью переключился на веб-разработку. Поскольку в игры я играю нечасто (да и под Linux игр уже немало), то в Windows меня больше ничего не держало.
Внимание свое я обратил на дистрибутив Ubuntu, о котором так много говорят в последние два года. И не пожалел, установив его себе.
С офисными и мультимедийными приложениями вопросов не было. А вот что Linux может предложить веб-разработчику? Погуглив и полазив по форумам, я пересмотрел довольно много разнообразного ПО и выбрал, на мой взгляд, самое удобное.
Удаленные файлы
Множество php-редакторов как под Windows, так и под Linux поддерживают работу с файлами через ftp. Как правило, редакторы работают по ftp так: файл скачивается с сервера, помещался во временную папку, а при сохранении заливался обратно на сервер. Но Линукс не был бы Линуксом, если бы в нем не присутствовало более элегантное и удобное решение.
Одной из особенностью этой ОС является поддержка множества файловых систем и удобная работа с ними путем монтирования их всех в единую древовидную структуру. Существует проект FUSE, который позволяет монтировать не только физически существующие на носителях системы, но и системы виртуальные (см. МК №1 (432) за 2007 год).
На основе FUSE создано множество утилит для монтирования (в т.ч. и хорошо зарекомендовавшая себя ntfs-3g, монтирующая ntfs-разделы в r/w режиме). Среди них я нашел очень полезную и удобную curlftpfs, позволяющую монтировать содержимое ftp-серверов.
Данная утилита доступна в дистрибутиве Ubuntu 8.04:
cyberadmin cyberadmin ~: sudo apt-get install curlftpfs
Монтирование осуществляется следующим способом:
curlftpfs -o allow_other ftp://user:password@ftpserver/path_to_folder/ /path/to/mount/point/
Например, для монтирования содержимого папки /public_html/ на сервере ftp://myhosting.com/ с логином my и паролем mypass надо ввести:
cyberadmin cyberadmin ~: sudo curlftpfs -o allow_other ftp://my:[email protected]/public_html/ /web/mysite/
ВНИМАНИЕ ! ЕСЛИ В ЛОГИНЕ ВСТРЕЧАЕТСЯ СИМВОЛ @, ЕГО СЛЕДУЕТ ЗАМЕНИТЬ НА %40!
С монтированием samba-ресурсов проблем вообще нет — в Ubuntu есть поддержка файловой системы smbfs, установить которую можно командой cyberadmin cyberadmin ~: sudo apt-get install smbfs.
Монтирование осуществляется следующим образом:
cyberadmin cyberadmin ~: sudo smbmount //сервер/ресурс /path/to/mount/point/ -o username=логин,password=пароль,uid=1000,mask=000
Например, у меня дома стоит сервер для разработки под FC4. Я создал Samba-ресурс root$, соответствующий всей файловой системе сервера, и разрешил к нему доступ только root’у. Монтирую я его следующей командой:
cyberadmin cyberadmin ~: sudo smbmount //192.168.222.5/root$ /web/devel/ -o username=root,password=пароль_root,uid=1000,mask=000
Для удобства можно создать специальную папку, в подкаталоги которой монтировать отдельные проекты, с которыми Вы работаете. Например, у меня все проекты лежат в /web. В этой же папке лежат два скрипта:
mount.sh
smbmount //192.168.222.5/root$ /web/devel -o username=root,password=пароль_root,uid=1000,mask=000
curlftpfs -o allow_other ftp://doomer%40rock-kingdom.com.ua:
парольфтп[email protected] /web/rockkin_devel
curlftpfs -o allow_other ftp://rockkin:парольфтп[email protected]/
public_html /web/rockkin_prod
# и т.д.
umount.sh
smbumount /web/devel
umount /web/rockkin_devel
umount /web/rockkin_prod
# и т.д.
Когда мне надо работать с проектами, я запускаю sudo /web/mount.sh, после работы с ними — sudo /web/umount.sh. Аналогично можно добавить запуск скрипта mount.sh в rc.local для автоматического монтирования при старте системы (как альтернативу fstab).
Поддержка ssh
С поддержкой ssh в Линуксе куда проще, чем в Windows. В то время как даже с Vista поставляется только telnet клиент, и под Windows необходимо устанавливать сторонние утилиты вроде PuttY, в Linux, еще с самых первых версий ОС, была встроенная команда ssh. С ней работать предельно просто:
cyberadmin cyberadmin ~: ssh имя_пользователя@хост
Далее программа запросит пароль, вводим его — и мы в удаленной консоли. Теперь можно chmod’ить файлы, копировать их, архивировать и делать другие операции, которые надо выполнять непосредственно на сервере.
Редактор
Для Linux существует множество php-редакторов — начиная от простых, имеющих не намного большие возможности чем Ubuntu’овские аналоги «Блокнота» (gedit, kate, vim), и заканчивая целыми студиями (Eclipse+PHP-Eclipse, Zend Studio, Net Beans IDE), содержащими оптимизаторы кода, встроенные отладчики и прочую ерунду, которая большинству разработчиков совершенно не нужна.
Обе «крайности» были мною отвергнуты. Первая группа редакторов — за излишнюю простоту и отсутствие необходимых возможностей, вторая — наоборот, за излишнюю громоздкость.
Zend Studio и Net Beans IDE вообще представляют собой Java-приложении и на моем ПК порядочно тормозили.
Мне хотелось найти нечто промежуточное между простенькими редакторами и мощными, хотелось редактор, похожий на уже освоенные мною PHP Expert Editor или PHP Designer. И я нашел такой редактор.
Итак, дамы и господа программисты, я представляю нам гвоздь нашей программы — ActiveState Komodo Edit 4. Заранее предупреждаю, чтобы Вы не путали его с Komodo IDE от той же фирмы. В отличие от своего старшего собрата, Komodo Edit совершенно бесплатный.
Получить Komodo Edit можно на сайте ActiveState: http://www.activestate.com/Products/komodo_ide/komodo_edit.mhtml. Сайт автоматически определяет Вашу ОС и предлагает скачать соответствующую версию программы. Если же автоматическое определение ОС не удалось, то можно нажать ссылку view all binaries и выбрать нужную версию вручную.
Прямая ссылка на последнюю версию для Linux: http://downloads.activestate.com/Komodo/releases/4.4.1/Komodo-Edit-4.4.1-1774-linux-libcpp6-x86.tar.gz (33.9 Мб).
Весьма интересно, что под Linux программа поставляется не в виде исходных кодов или пакета, а имеет собственный installer. Для установки следует распаковать содержимое и запустить install.sh от имени суперпользователя. Далее установка проходит при помощи интерактивного Wizard’a и особых сложностей в ней нет. После установки Komodo Edit появляется в меню Приложения > Программирование.
Продукт компании ActiveState заслуживает для описания всех своих возможностей и преимуществ целой статьи, поэтому здесь я рассмотрю только основные «изюминки», делающие редактор практически уникальным среди подобного ему ПО.
-
Поддержка подсветки синтаксиса для более чем 100 языков программирования и разметки. Среди них как используемые в веб-разработке языки (PHP, HTML, Perl, JavaScript, XHTML, XML, JSON, VBScript, CSS и даже Smarty!), так и другие (Basic, Pascal, C, Java…)
-
Расширенная поддержка проектов. В проекты можно добавлять как локальные, так и удаленные файлы (через протокол ftp). Но изюминкой является поддержка «живых» папок. Содержимое «живой» папки импортируется автоматически, и автоматически обновляется (рис. 1).
-
В настройках можно задать, файлы с какими расширениями следует импортировать, а с какими — нет. Таким образом проект можно создать буквально за несколько кликов мышкой, без добавления в него файлов вручную!
-
Удобное автодополнение тэгов. Когда вы начинаете закрывать тэг, Komodo автоматически анализирует предшествующий код, и пытается определить, какой же открытый тэг Вы закрываете. Варианты закрывающих тэгов отображаются в выпадающем списке. Так же в Komodo превосходно реализовано автодополнение имен и значений параметров в html-тэгах и даже в CSS.
-
Мощная поисковая система. Komodo позволяет вести поиск с использованием регулярных выражений, и не только в текущем файле, а и во всех открытых файлах, в отдельных каталогах и даже во всем проекте (рис. 2)! В режиме мульти-замены выводится список всех найденных файлов с количеством совпадений и для каждого файла можно посмотреть подвергаемые замене участки (рис. 3).
-
Встроенный синтаксический анализатор php. Если в какой-то строке ошибка, она подчеркивается красной волнистой линией, при наведении на нее появляется всплывающая подсказка с описанием ошибки (точно таким же, какое бы выдал php).
Рис. 1. «Живой» импорт файлов проекта в Komodo |
Рис. 2. Не каждый редактор поддерживает поиск регулярных выражний |
Рис. 3. Поиск по всему проекту полезен при глобальных изменениях |
В следующей статье мы продолжим рассматривать Линукс-софт для разработки и уделим внимание ПО для управления базами данных MySQL и браузерной надстройке FireBug, упрощающей разработку AJAX-приложений.
Linux forever!
ЧТО НУЖНО ВЕБ-РАЗРАБОТЧИКУ?
• доступ к удаленным файлам на сервере. Обычно он осуществляется по ftp. При наличии корпоративного сервера разработки на нем могут использовать samba-ресурсы. (Подробнее о методе — в статье С. Яремчука «Что такое SAMBA»? (http://www.mycomp.com.ua/text/4311)). Наконец, файлы могут заливаться через svn или cvs.
• удобный редактор. Набирать код можно и в vi, но в специализированном софте с подсветкой синтаксиса, поддержкой проектов, мощными поисковыми возможностями, инспектором кода и автодополнением тэгов намного удобнее.
• веб-разработка сопряжена с работой с СУБД (в основном с MySQL). Так что понадобится также mysql менеджер для снятия/восстановления бекапов и прогона запросов.
• средства для отладки javaScript, анализа html-документов, их разбития на элементы (например, из одного сверстанного файла сделать несколько шаблонов для Smarty), трассировки POST и GET запросов.
Иногда может понадобиться консоль на сервере. Следовательно, нужен и ssh-клиент.
CyberAdmin
Web-droid редактор
Не пропустите интересное!
Підписывайтесь на наши каналы и читайте анонсы хай-тек новостей, тестов и обзоров в удобном формате!
Лучшие устройства 2024 года: выбор редакции hi-tech.ua
Познайомимося з топ-пристроями року. Серед яких флагманські дорогі моделі та бюджетні девайси.
Искусственный интеллект в холодильниках Samsung будет отвечать за охлаждение продуктов Samsung искусственный интеллект
Samsung анонсировала новый холодильник с технологией «AI Hybrid Cooling Technology», премьера которого состоится на CES 2025 в январе.
Cамые успешные и популярные игры в Steam за 2024 год Steam игры
Steam подвёл итоги 2024 года, опубликовав рейтинг самых популярных и успешных игр платформы. Категории разбиты на группы по уровням успеха: платина, золото, серебро и бронза.