Идеальная "всегда / везде доступная" среда веб-разработки? - PullRequest
5 голосов
/ 03 мая 2009

Казус:

Как легко и просто редактировать и использовать один и тот же код из нескольких удаленных мест и компьютеров?

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

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

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

Вопросы:

  • Превратите мой домашний ПК в dev-сервер с включенным удаленным рабочим столом - проблема в том, что удаленное соединение не всегда быстрое и прерывистое, как это требуется для RAD. Кроме того, это подразумевает, что ПК всегда должен быть включен дома, независимо от того, что он мне может даже не понадобиться. Если, скажем, есть более интересные занятия в выходные дни. Возможно, мне придется купить ИБП, поскольку время от времени здесь случаются перебои в подаче электроэнергии ... Мне уже не нравится это решение.

  • Создание базы данных и SVN-репозиториев на общедоступном хостинге и код проверки. Это все еще имеет некоторые проблемы, так как вам может понадобиться установить программное обеспечение, клиент SVN и в конечном итоге редактировать некоторые конфигурации каждый раз, когда вы меняете компьютер. Да, и как и в предыдущем «решении» - вы полностью зависите от доступа в Интернет.

  • Купите Eee PC и носите его с собой - таким образом, вы можете иметь все свое окружение с собой. Также не требуется сеть. Вы должны тащить эту чертову вещь вокруг себя, и даже если она маленькая, это не то, что вы можете поместить в свой карман. Я также считаю, что эти EEE ПК не очень подходят для обычного кодирования (маленькая клавиатура, экран и т. Д.).

  • И, наконец, я подумал об идеальном сценарии, где у меня есть один из тех дистрибутивов linux, которые идут по одному CD или даже flashdrive . На последнем вы можете иметь всю свою среду всегда с вами вместе со всеми проектами. Вы можете поместить это в свой карман. В наши дни все компьютеры имеют встроенные порты USB, напротив, не на каждом компьютере есть компакт-диск.

Размышляя об этом, я считаю последнее решение оптимальным и полностью удовлетворяющим. Проблема в том, что я не очень разбираюсь в Linux, и я не слишком много с этим связывался. Особенно с flashdrive OS.

Итоговые вопросы :

  1. Согласны ли вы с тем, что флэш-накопитель является оптимальным решением? Есть ли лучшая практика, которую я могу применить на работе? Возможно, мне стоит пересмотреть этот способ работы вообще? :)
  2. Как вы думаете, операционная система flashdrive, как, скажем, http://www.pendrivelinux.com/ подходит для такой среды веб-разработки; Есть ли лучшие кандидаты на ОС?
  3. Есть ли вообще проблемы с загрузкой с USB? Естественно, я думаю, что это не должно быть проблемой на большинстве ПК?
  4. Каков ваш личный опыт работы в нескольких местах в одном проекте?

Ответы [ 8 ]

10 голосов
/ 03 мая 2009

Вот альтернативное решение: носите переносной жесткий диск с переносной установкой проигрывателя виртуальной машины и виртуальной машины со всеми необходимыми вам инструментами разработки. Просто подключите это к любым доступным компьютерам, запустите виртуальную машину, переведите ее в полноэкранный режим, и все готово. Преимущество в том, что вам не нужно связываться с Linux-установками live-cd или live-usb, тем более что вы заявили, что не очень знакомы с Linux.

РЕДАКТИРОВАТЬ: вы также можете запустить виртуальную машину с флэш-накопителя, хотя производительность будет ужасной.

3 голосов
/ 03 мая 2009

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

Если бы я не мог носить свой ноутбук, я бы создал среду разработки на сервере Linux. Однако это решение сильно зависит от типа разработки, которую вы делаете, и от того, насколько вы знакомы с Linux и командной строкой. Я определенно не рекомендую это для тех, кто начинает. Однако с Screen и Emacs (или vim, если вы так поступаете) вы можете получить полноценную среду разработки в любом месте с доступом в Интернет.

2 голосов
/ 03 мая 2009

Ноутбук: слишком дорогой, клавиатура слишком маленькая, раздражает кодирование.

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

SVN: Слишком много проблем, когда везде нужно устанавливать одни и те же программы (клиент репозитория, FTP, текстовый редактор, mysql и т. Д.).

Мое решение - это то, что я использую лично ... USB Flash Drive!

Установите переносную версию всех ваших программ. Мне удалось найти портативную версию всего, что мне было нужно:

Китти (SSH)

Filezilla (SFTP)

USBWebserver (Apache 2, PHP 5, Mysql 5, PHPMyAdmin)

Блокнот ++ 5, Eclipse PDT (PHP IDE)

SNES9X (эмулятор snes);)

Keepass (база данных шифрования паролей)

HeidiSQL (аналог PHPMyAdmin)

Меню (маленький пункт меню в системном трее)

Каталог всех моих проектов / музыка / заметки

Вот хорошая ссылка , где я нашел большинство своих программ.

P.S. Работает на Windows и Linux (через вино). Я также поместил в него файл автозапуска ini, поэтому при его подключении запускается программа меню в системном трее и запускается apache / mysql.

1 голос
/ 03 мая 2009

Я думаю, что компьютер разработчика похож на купальный костюм. Вы очень хорошо знаете, когда тот, который вы используете, не ваш. Кроме того, как мы все знаем, существует высокая вероятность того, что любой найденный нами компьютер будет иметь одну из тысячи проблем, которые повлияют на наши предположения и последовательный успех наших вариантов USB / VM. Я думаю, что большинство согласится с тем, что это будет зависеть от приоритета наших проектов и нашей терпимости к возможности не работать в данный момент.

1 голос
/ 03 мая 2009

Я использую Dropbox для проектов кода, которые не зависят от безопасности.

Что касается среды разработки, мои потребности минимальны, поэтому обычно достаточно копии Notepad ++. В настоящее время он устанавливается локально на каждой машине, которую я использую, но у меня возникла идея использовать портативную установку на USB-накопителе.

Однако ваши потребности гораздо сложнее, чем мои, и мне кажется, что ноутбук в соответствии с предложением может быть вашим лучшим вариантом

1 голос
/ 03 мая 2009

Как насчет нетбука? Я слышал, как Скотт Хансельман использовал один с хорошим эффектом для запуска Visual Studio и SQL Server для разработки ASP.NET, поэтому я уверен, что они будут достаточно мощными для ваших требований.

Размер экрана может быть ограничением, но с большим преимуществом меньшего, более легкого устройства. Asus Eee 901 был рекомендован несколькими людьми, с которыми я работаю.

1 голос
/ 03 мая 2009

Я думаю, что SSH - это ответ на все вопросы. Он дает мне полный контроль над моим сервером независимо от моего местоположения и позволяет мне не только получать доступ к оболочке, но также загружать и скачивать файлы, а также использовать переадресацию портов.

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

Когда мне нужно будет выполнить более серьезную работу, я скачаю notepad ++ (бесплатно) и расширяю (Windows-эквивалент для sshfs, доступна 30-дневная демоверсия). Это позволяет мне удаленно редактировать файлы так, как они существовали на моем локальном жестком диске (хотя для этого требуется хорошее соединение). Очень продуктивно :)

0 голосов
/ 03 мая 2009

Простой ответ: ноутбук. Да, он не крошечный, как мобильный телефон ... но делает кодирование намного проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...