Организация работы фрилансера — 1 // Инструменты

Содержание:

  • Компьютеры
  • Связь
  • Операционная система
  • Среда разработки
  • Текстовой процессор
  • Контроль версий
  • Автоматизация
  • Браузер
  • FTP клиент
  • SSH клиент

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

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

Третье правило — один из компьютеров должен быть максимально автономным. Используйте ноутбук или нетбук в качестве второго компьютера. Главное моё требование к мобильным рабочим станциям — время автономной работы. Сейчас, с радостью избавившись от ноутбука Acer, использую Asus Eee 1001H, который позволяет мне уйти работать в ближайший «Старбакс» с интернетом на весь день, оставив дома зарядное устройство сейчас остался моим единственным рабочим компьютером, в связи с изменившимися жизненными обстоятельствами. Для программирования его хватает, пожалуй, с запасом.

Как написано в посте про облака, в доме, где я раньше проживал, случилась авария — электрик начудил в распределительном щите и электричество вырубило на пол-дня. И периодически выключалось на протяжении недели, пока всё чинили. Попутно умудрились где-то обрезать телефонные провода, и лишили интернета. Поэтому стоит соблюдать все три правила неукоснительно.

Четвёртое правило — никому не говорить о Бойцовском клубе.

Связь
Связь тоже должна дублироваться. Так как и поиск заказов, и сама работа проходит в Интернете, важно, чтобы доступ к этому самому Интернету был постоянно. Я использовал СТРИМ как основной и Yota в качестве резервного канала. Справедливости ради замечу, что когда упомянутый электрик перерезал телефонные провода, базовая станция Yota была перегружена. Так что имеет смысл присмотреть ещё кафе с Wi-Fi неподалёку. На Wi-Fi не скупитесь, используйте платный — качество лучше.

В общении с клиентами основные приоритеты отдайте электронной почте и мобильной связи — это не требует постоянного подключения. Да и отвлекаться будете меньше. Некоторые заводят два телефона – рабочий и домашний, но поверьте мне, геморрой с проводами, зарядками и синхронизацией контактов того не стоит. Просто заведите голосовую почту и устанавливайте на неё полную переадресацию в особенно напряжённые рабочие часы, и всё время пишите “время работы” рядом с телефоном.

Операционная система
Так уж сложилось, что основной своей операционной системой я выбрал Windows. Причин тому несколько — и наибольшая её распространённость, и совместимость с любым оборудованием, и обилие софта, и большой опыт разработки приложений для неё. Ну а главное — отсутствие больших временных трат для выполнения банальнейших задач. Например, я чуть не умер, подключая второй монитор к Fedora. Да, второй монитор у меня вертикальный. Временные затраты составили около шести часов, причём максимальное разрешение на втором мониторе выставить не удалось. Подключение Windows Mobile коммуникатора заняло три часа, при этом настроить нормально синхронизацию контактов не получилось — русские символы не хотели нормально отображаться. О комбайне фотопринтере/сканере Epson и лазернике Canon LBP-810 тактично умолчим — о них Федора не знает ничего, и, видимо, никогда не узнает.

Получилось, что Linux обошёлся дороже, так как за эти два дня можно было заработать больше, чем на одну лицензию Windows, в которой всё решилось за 5 минут парой галок и установкой драйверов. Вывод: популярность кое-где имеет большее значение, чем качество.

Что до стоимости — заплатить 200$ раз в три-четыре года может абсолютно любой человек. Лицензионная OEM версия Windоws входит в стоимость практически любого продаваемого в России ноутбука, например, лицензионная Windows XP в комплекте с EeePC обошлась в целых 15$.

Операционная система — прежде всего среда, служащая для запуска нужного для зарабатывания денег прикладного софта. Если операционная система препятствует работе или требует к себе слишком большого внимания — с ней стоит расстаться. В итоге осталось выбрать между огрызком юникса и окошками, и исходя из опыта и ориентации, я выбрал последние. Но Федора всё равно живёт на отдельном разделе, для тестирования скриптов в нативной среде и отдыха от тормозов Windows.

Среда разработки
В качестве среды разработки веб-приложений я использую NetBeans. Среда написана на JAVA, работает под любой операционной системой и поддерживает любой язык программирования и разметки. Для программирования серверной части и вёрстки страниц её возможностей хватает с запасом. Автодополнение и форматирование кода, рефакторинг, макросы — все плюшки на месте и работают достаточно удобно. У NetBeans множество плагинов, которые быстро устанавливаются из центрального репозитория.

Текстовой редактор
Редактор несомненно нужен. Иногда нужно мгновенно поправить строчку кода, а ждать загрузки IDE лень. В качестве текстового редактора использую PSPad. Возможностей у него столько, что не каждая IDE сможет сравнится. Прежде всего — богатые возможности шаблонных строковых операций — мановением руки данные посетителей выставки из Excel таблицы превращаются в SQL скрипт добавления в список рассылки PHPMailer.

Контроль версий
Сначала использовал родной SVN и утилиту, запускающую её как сервис NT, а потом перешёл на связку VisualSVN Server + TortoiseSVN в качестве клиента. Разумеется, в NetBeans поддержка SVN встроена.

Сейчас я, как и всё прогрессивное человечество, перешёл на децентрализованную систему контроля версий — Mercurial. Почему не GIT? Потому, что Mercurial просто удобнее, а разница во времени коммита 6000 файлов CMS между ними не более минуты. Для сравнения — в SVN первый коммит или экспорт из репозитория занимают минут по 40-60. У Git и Mercurial — 2-5 минут. Mercurial может жать траффик при работе в Интернете и не сжимать в локальной сети — что тоже большой плюс.

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

Автоматизация
Лучше день потерять, но потом за пять минут прилететь — эта пословица применима, если одно и то-же действие вы планируете выполнять более двух раз — например, синхронизировать данные между ноутбуком и рабочей станцией. Можно пойти по пути красноглазиков и написать гору скриптов, можно по пути яблочников и пользоваться DropBox. В первом случае убъёте много времени на то, что не приносит непосредственный доход, во втором будете наблюдать как удалённый сервер справляется с синхронизацией сотен тысяч файлов исходных текстов. DropBox, конечно, работает и в локальной сети, если компьютеры в одной подсети находятся, но программистам он совершенно не подходит.

Есть замечательный бесплатный продукт от отечественного производителя — xStarter. Это продвинутый планировщик, содержащий в себе сотни возможностей — запуск программ, копирование, вывод сообщений, автоматическое резервное копирование. Даже CD-ROM выдвигать может по команде из ICQ. Событий он обрабатывает тоже много — по времени, по свободному месту, по наличию файла, по письму. Редактор заданий — графический, всё настолько просто, что в справку лезть не придётся. Вот он за меня и выполняет всю рутину.

Браузер
Браузеры должны быть установлены все возможные. Для сёрфинга я использую Хром, для разработки — FireFox с незаменимыми плагинами Web Developer и FireBug. Для тестирования в разных версиях Internet Explorer можно скачать или IETester, эмулирующий поведение IE, или MultiIE, представляющий собой инсталлятор отвязанных от системы Microsoft браузеров всех версий (только XP).

FTP клиент
FileZilla — сомнений быть не может. Обладает простым двухоконным интерфейсом и огромными возможностями: игнорирование служебных файлов систем контроля версий, автовосстановление закачки после разрыва связи через заданные периоды времени (что актуально на наших бедовых линиях) и так далее.

SSH Клиент
Пожалуй, под Windows ничего лучше Putty не написали, и, похоже, не напишут. Поддерживает почти все возможные протоколы.

В следующих статьях этого цикла мы обязательно поговорим об организации рабочего места, о регистрации ИП и ведении бухгалтерии, о ведении проектов, внутренней стандартизации, управлении временем. Следите за обновлениями.

  1. Интересно, жду продолжение.

    Про тестирование в разных версиях ИЕ. Пока для меня единственный работающий способ — использование виртуальных машин. Для XP с сайта Майкрософта скачиваются образы XP c IE6 и IE7. А для 7-ки всё гораздо проще — там есть Windows XP Mode, где всё настраивается за полчаса, а браузеры запускаются почти как родные приложения, очень удобно. Всё-таки все эти IETester, Xenocode и прочие довольно глючные, как показывает практика.

    1. Хвалёный XP Mode это тоже виртуальная машина =) Я под самой XP сейчас, по сравнению с 7 ощущаю только выйгрыш в скорости. А весь софт — работает так же. Поэтому MultiIE.
      И клиент дозрел — уже прямо и заявляют, не надо поддержки IE 6, мы слышали, от него все отказываются.

  2. Кстати, в Putty только один недостаток — у него фиговый менеджер сессий. Т.е. Когда идет работа с 5-10 одновременно открытыми сессиями то возникают неудобства с переключениями между окнами.
    Приходится пользоваться SecureCRT.

  3. Да, я знаю, что это тот же VPC, но гораздо более удобный (хотя на маках такое издревле можно делать). Не знаю, что там у кого со скоростью, но у меня и Виста не очень-то тормозила, а по интерфейсу по сравнению с XP разве что только Линукс будет хуже :) Наверное, я особенный :)

    Хорошие клиенты, а! :)

  4. Добрый день Денис! Наш общий ЖЖ френд borimir посоветовал мне к вам обратиться. Можете ли вы мне помочь и с образцом или «рыбой» ТЗ на разработку софта?

          1. Ну вы даете! :(

            15 апреля 2010 г. 14:14 пользователь Disqus написал:

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.