Идеальная среда веб-разработки, доступная всегда и везде?

StackOverflow https://stackoverflow.com/questions/815651

Вопрос

Причина:

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

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

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

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

Соображения:

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

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

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

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

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

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

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

Решение

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

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

Другие советы

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

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

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

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

СВН:Слишком много проблем с необходимостью везде устанавливать одно и то же программное обеспечение (клиент репозитория, FTP, текстовый редактор, MySQL и т. д.).

Мое решение — то, которым я пользуюсь лично... USB-накопитель!

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

Китти (SSH)

Файлзилла (SFTP)

USBВеб-сервер (Apache 2, PHP 5, Mysql 5, PHPMyAdmin)

Notepad++ 5, Eclipse PDT (PHP IDE)

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

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

HeidiSQL (аналог PHPMyAdmin)

Меню (небольшое меню на панели задач)

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

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

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

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top