Полезные программы и утилиты

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

Все перечисленные программы бесплатны и распространяются свободно. Большинство из них - open source.

  • Среды разработки NetBeans, Eclipse.
  • Файловый менеджер Far. Must have инструмент, в чьи обязанности входит:
    • Все операции с файлами - копирование, переименование, итд. Для работы понадобится запомнить несколько "горячих клавиш": F5, F6, F7, F8, F4, F3 и так далее :). Если освоите хотя бы основные операции - работа с файлами будет занимать считанные секунды (гуй винды, а тем более гуй линукса отдыхают).
    • Командная строка. В Far Manager она отображается внизу окна.
    • Редактирование файлов в любых кодировках: Windows-1251, UTF-8, и так далее (поддерживаемых кодировок довольно много). В редакторе выбрать кодировку можно, нажав комбинацию Shift-F8.
    • Работа с архивами - запаковка/распаковка/редактирование файлов прямо в архиве. Для всего этого понадобится бесплатный архиватор 7-zip и плагин 7-zip для Far, который присутствует в комплекте. Архиватор 7-zip, кстати, умеет создавать и распаковывать архивы многих типов (zip, rar в их числе).
    • Просмотр информации о работающих процессах, возможность быстрого "убивания" процесса. Этот функционал аналогичен тому, что предоставляет системный Task Manager. Если вы отлаживаете PHP-скрипт, а скрипт зацикливается, то быстрее всего исправить ситуацию можно, завершив рабочий процесс апача, httpd.exe. В Фаре это делается за считанные секунды. Выполнение скрипта прекратится, а апач автоматически перезапустит убитый процесс.
    • Доступ к серверам FTP - встроенная возможность фар менеджера.
    • Доступ к серверам SFTP - работает при установленном плагине WinSCP. WinSCP является SSH-клиентом для доступа к SFTP серверам. Плагин для Фара, естественно, позволяет делать тоже самое из Фара.
  • Wget - консольная утилита для скачивания файлов по протоколам HTTP, FTP. Вгетом удобно пользоваться, если, например, надо быстро посмотреть, что возвращает веб-сервер в заголовках ответа HTTP. Для этих целей также можно пользоваться cURL (cURL в Windows легко установить через Cygwin, см. ниже).
  • При использовании Subversion обязательно иметь под рукой и уметь пользоваться консольным клиентом SVN. Получить его можно в комплекте с каким-нибудь из пакетов SVN.
  • Cygwin: консольные утилиты из пакета Base. Cygwin пакет Base позволит в Windows-системах пользоваться теми же утилитами, что и на Линукс: tar, gzip, bzip2, tail, less, и так далее. Кроме этого могут понадобиться и другие утилиты, повсеместно доступные в Linux, но отсутствующие в Windows. Большой плюс Cygwin ещё и в том, что он слегка стирает различия между Linux и Windows. Это очень удобно: и на рабочем сервере, и на домашнем компьютере выполнять одни и те же действия, используя одни и те же команды. Думать и вспоминать приходится меньше, а дело идёт быстрее.
  • Набор программ Putty для работы по SSH: создание туннелей к удалённым серверам, работа с консолью сервера и так далее.
  • Автоматизация процесса сброрки веб-проектов: Apache Ant, Apache Maven. Оба инструмента работают на Java. Эти инструменты по своей сути аналогичны make - автоматизированной системе для сборки (compile. build, etc) программ. Ant и Maven различаются в подходах к процессу сборки. Обе ориентированы в основном на Java-проекты, но никто ведь не запретит нам использовать их возможности и для PHP, правда :)?

Все утилиты командной строки оказываются весьма удобны, но только если пути к ним добавлены в переменную окружения PATH. Для работы с командной строкой очень удобно пользоваться FarManager.

Если я вспомню что-то ещё, обязательно добавлю в список. Пишите в комментариях, какие полезные инструменты (бесплатные!) используете вы.