Пингвин-вебмастер
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 редактор
Не пропустите интересное!
Підписывайтесь на наши каналы и читайте анонсы хай-тек новостей, тестов и обзоров в удобном формате!


Обзор микрофона Ugreen CM769: студийный звук недорого



Расскажем про еще одну интересный микрофон для записи подкастов и видеоблогов. Ugreen CM769 – бюджетная модель, посмотрим, как она справляется с записью голоса и звуков.

Windows 11 получит экранную клавиатуру с набором текста при помощи контроллера Xbox Windows Xbox контроллер обновление
Обновленная клавиатура Windows 11 поддерживает ряд быстрых команд, знакомых владельцам Xbox.
Новый ноутбук Asus Vivobook Pro 15 оснащен Intel Core Ultra 9 и RTX 4050 Asus Intel Nvidia ноутбук
Asus Vivobook Pro 15 оснащен портами Thunderbolt 4, HDMI 2.1, USB 3.2 Gen 2 Type-C, кардридером и разъемом Ethernet.