Разработка на компьютере путем удаленного доступа к нему, опыт?
Кто-нибудь (по своему выбору или по принуждению) разрабатывает на компьютере, на котором он должен удаленного рабочего стола?
Как ваш опыт был с этим?
Я вижу преимущества, поскольку вы можете в основном писать код из любой точки мира, если у вас достаточно быстрое соединение.
дублировать
https://stackru.com/questions/424869/reasons-to-use-a-vm-for-development
26 ответов
Я должен был сделать это для проекта sharepoint, и это чуть не довело меня до безумия. Эти небольшие задержки действительно складываются, особенно при прокрутке текста.
Я сделал это. Это работает, но это было немного медленно на мой вкус. Я не знаю, зависело ли это от оборудования и т. Д., Которые мы использовали в то время. Это было нормально для небольшого использования, когда я не был рядом с консолью, но задержка набора текста скоро доберется до меня. Я слышал, что Citrix утверждал, что все их люди без проблем использовали свое решение для удаленного взаимодействия, включая программистов. Это было несколько лет назад.
Да, в прошлом я перебирал телепрограмму, и удаленный рабочий стол в ПК, который находится внутри корпоративного брандмауэра, очень продуктивен. Мы оба знаем, что кодирование - это больше, чем просто ввод в IDE. Речь идет о доступе к ресурсам, которые вам нужны для разработки, тестирования, компиляции, обмена и публикации.
Использование удаленного рабочего стола здесь для разработки на различных виртуальных машинах (обычно где-то в локальной сети, поэтому не так удаленно). Удивительно, но одни и те же (небольшие, непредсказуемые) задержки приводят некоторых разработчиков в безумство, полностью нарушая их рабочий процесс... в то время как другие едва замечают их и столь же продуктивны в удаленной системе, как и на их локальных машинах. Я до сих пор не понял, является ли это какой-то личной чертой или чем-то, что можно обучить.
Пока вы не пытаетесь разрабатывать / отлаживать графически интенсивное приложение, проблем не должно быть. Я использую удаленный рабочий стол на своем Mac-ноутбуке для разработки на своем компьютере с Windows в моем офисе почти ежедневно, и у меня нет жалоб. 50% C++ настольных приложений и 50% php веб-приложений.
Если у вас хорошая скорость соединения, это вполне возможно. Вы должны следить за небольшими задержками в меню и тому подобном. Я работаю дома два-три дня в неделю, и это здорово, потому что у меня 70 миль.
Большую часть времени у меня не так много задержек. Я провожу VPN из NH во Флориду и обратно в NH. Поскольку мой рабочий стол - Vista, а рабочий - XP, я думал, что не смогу жить без двух мониторов, но я использовал RoyalTS. RoyalTS не только позволяет мне управлять всеми серверами и рабочими столами, к которым мне нужно подключиться, но когда я подключаюсь к своему рабочему столу XP, я могу распределить Royal TS по обоим мониторам и получить хорошее широкое окно терминала. Я теряю способность максимизировать до монитора, но я могу адаптироваться.
Это работает довольно хорошо для меня. Вероятно, от 2 до 3 часов в месяц задержка будет ухудшаться и сводить меня с ума.
Это полностью зависит от скорости / задержки вашего соединения. Я разрабатываю удаленно из дома с помощью подключения к удаленному рабочему столу через VPN к моему компьютеру на работе и считаю, что с точки зрения производительности он точно такой же, как физически сидящий на работе. Единственным недостатком является проблема с двумя мониторами, так как у меня есть 2 x 19-дюймовых мониторов на работе и один дома, но это не сильно мешает развитию, которым я занимаюсь.
Что усложняет, так это общение с другими сотрудниками - на работе легко ходить и общаться с кем-то, быстро звонить и т. Д. Поскольку у нас нет системы мгновенных сообщений, удаленные работники ограничены электронной почтой. только общение.
Да уж!! В компании, в которой я работаю, виртуальные машины установлены на сервере в другом месте (если быть более точным, в разных странах)... Это медленно, как сказал Кевин, но я могу работать где угодно.
Я использую удаленный рабочий стол, когда мне нужно скомпилировать копию моего приложения после регистрации. Я считаю, что разработка через удаленное соединение занимает гораздо больше времени, особенно если есть проблема с соединением или задержкой. Я несколько лет так делал свою работу на своем ноутбуке, потому что мой рабочий стол в офисе был гораздо более мощным. Теперь, когда у меня есть четырехъядерный компьютер, гораздо удобнее разрабатывать его дома и проводить все локальные тесты, чем удаленно. Единственный улов - убедиться, что у вас есть надежное решение для резервного копирования, потому что потерять код не вариант. Я использую оба дисковых массива RAID 5, и у меня есть решение для онлайн-резервного копирования. Однако разница в производительности означает, что теперь я экономлю кучу времени на локальном развитии, и это намного приятнее (переход на VS 2008).
итоги: разрабатывайте локально, тестируйте локально и компилируйте локально (копирование файлов в окно развертывания из локальной сети и удаленного компьютера занимает меньше времени). Делайте свою работу близко к тому, где она используется, если вы тестируете дома, то разрабатываете дома.
Я сделал это один раз. Через локальную сеть, потому что ИТ-служба поддержки по соседству была настолько шумной, что я не мог сосредоточиться. Это было в праздничный период, когда у них не было работы (но они должны были быть там в случае поступления звонков в службу поддержки) и играли на XBox. Я пошел в лабораторию в противоположном конце здания и VNCed в мою собственную рабочую станцию оттуда. Это было немного медленнее, но оно того стоит.
Я делаю это дома довольно часто. Это работает очень хорошо на локальной сети, но если я пытаюсь подключиться к домашнему компьютеру из внешнего источника, особенно через сотовую связь, это почти невыносимо.
Я обнаруживаю, что прихожу в офис на выходных, предпочитая делать это, если только у меня нет очень быстрой задачи. У нас был снежный день, и все в офисе пытались подключиться к VPN одновременно, и я даже не мог заставить свой курсор работать.
Тем не менее, в офисе, я все время удаленно на наших серверах в другом состоянии, и это, кажется, работает нормально. Но опять же, я больше не занимаюсь устранением неполадок, быстрым процессом или копированием файлов. Кстати, гораздо быстрее копировать большие файлы с одного сервера на другой, когда оба сервера находятся в другом месте, а я здесь, в штате Вирджиния.
Я делал это, когда мне нужно было скомпилировать свою программу на моем офисном ПК (дома я использую ноутбук Mac). Это не слишком весело, но выполнимо для относительно коротких задач. Короткое отставание в репликах немного раздражает.
Основная проблема заключается в том, что чем выше разрешение, тем больше пропускная способность, а иногда и хуже. Я использую Eclipse, и я могу работать с ним только в очень высоком разрешении.
Они хранят мой ящик для разработки в серверной комнате, где он может быть защищен и сохранен. Я получаю к нему доступ через корпоративный VPN и удаленный рабочий стол с заблокированными функциями, такими как отсутствие копирования / вставки в буфер обмена. Это дает мне быстрый доступ ко всему внутри их брандмауэра (включая базу данных и SVN) и позволяет мне использовать "одноразовый" ноутбук, который не может ничего потерять, если его украдут. Если это произойдет, я просто пойду, куплю другую за 500 долларов, установлю VPN и уйду...
Тем не менее, это довольно скучно. Понравится больше, когда мы вырастем.
Технически это означает, что это сработает, но вы, вероятно, не проживете долго.
Особенно, если вы не находитесь в локальной сети, но получаете доступ к серверу через Интернет, даже линия DSL вам не сильно поможет.
Я пытался работать с Visio таким образом в локальной сети, и в итоге я просто привел свой ноутбук с локальной установкой, чтобы стабилизировать свое психическое состояние.
Сегодня, когда многие люди настолько дискретны, что даже мышка им не подойдет, потому что она недостаточно чувствительна или сверхчувствительна, попытка переключиться в режим удаленного рабочего стола фактически телепортирует вас в каменные века.
Удаленный рабочий стол очень полезен, когда вам нужно подключиться только на короткое время для управления вещами. Это на самом деле не предназначено для организации удаленного использования программного обеспечения. Это будет работать, но вам это не понравится.
Наша команда разработчиков использует сервер ESX, где каждый из нас задействует один или несколько виртуальных серверов и RDC для выполнения всех наших задач разработки. Мы используем наши хост-ноутбуки практически исключительно для личной работы и совместной работы (Office/email/chat/web/etc). Это работает довольно хорошо! У нас приличная сеть, поэтому задержка обычно не проблема. Мне нравится свобода потенциально разрушать мою среду разработки, не затрагивая мой настоящий компьютер, и через час снова подключить другую.
Я бы отказался, если не будет абсолютно вынужден, и даже тогда это должно быть веская причина. Кстати, если клиентский и хост-компьютер работают под управлением Vista, вы МОЖЕТЕ удаленный терминал и использовать два монитора
Однако мы используем чистую виртуальную машину для сборки / CI через Hudson. Я считаю, что это лучшее из обоих миров.
Я делаю это все время, используя X11 (или иногда VNC). И некоторые из них также являются разработкой OpenGL: X11/GLX работает довольно хорошо, если у вас есть пропускная способность и вы работаете с меньшим окном, чем в полноэкранном режиме.
Но независимо от того, сколько у вас пропускной способности, вещь, которая действительно определяет, приятен ли вам опыт или нет, - это ЛАТЕНЦИЯ. <50 мс хорошо; >100 мс начинают сходить с ума.
Это выполнимо для небольших приложений, но, как сказали другие, это сложно.
Основные проблемы
- Скорость - удаленные соединения всегда будут медленнее по сравнению с использованием реальной машины.
- Контроль. Если вы являетесь удаленным пользователем, у вас нет прав администратора.
- Нет двойного экрана - зависит от используемого программного обеспечения. RDP 7 позволяет использовать несколько рабочих столов (спасибо Mystere Man за заметку RDP)
Не совсем отвечаю на ваш вопрос, так как я на самом деле не удаленныйрабочий стол, но:
Я все время работаю (= пишу код) удаленно, используя комбинацию ssh, screen и vim. По базовой линии DSL вы получаете ту же скорость отклика, что и при локальной работе. На любом современном компьютере вы можете одновременно открывать столько окон редактирования и интерпретаторов, сколько вам нужно, а для отключения и возобновления сеанса экрана с другого компьютера требуется всего одна команда.
Конечно, эта настройка не работает, если вы, скажем, программист игры:)
У меня было несколько случаев, когда мне приходилось удаленно работать на машине, обычно для отладки чего-то, чего я не могу сделать на своем локальном компьютере, например, наличие двух веб-сайтов с Windows 2000 Professional или какое-то программное обеспечение, которое необходимо установить, сложнее установить локально, чем работать на сервере, таком как CMS, или запустить промежуточное программное обеспечение.
Для меня самой большой проблемой является то, что на сервере все может быть не так, как на моей локальной машине, что имеет свои плюсы и минусы. Другой момент - наличие разных версий IIS на разных машинах. У Web Server 2008 есть несколько приятных функций, которые делают его похожим на Vista в проводнике, который является хорошим и плохим, IMO. Также обои, кнопки быстрого запуска и некоторые другие личные прикосновения обычно сводятся к минимуму в этой ситуации.
Я бы сказал, что это нормально делать день или два, но гораздо больше, и это становится уродливым. Я помню историю бывшего коллеги, когда нескольким разработчикам приходилось использовать один и тот же сервер для разработки. Я не видел ничего такого плохого в свои годы.
Я делаю это на работе через локальную сеть (что очень быстро), и, кажется, работает очень хорошо. Тем не менее, когда мне приходится удаленно выходить из дома через кабельное соединение 256 КБ, он может дойти до точки, где он непригоден из-за задержки, но обычно в порядке.
Для меня это было слишком медленно, чтобы терпеть прокрутку. Компания, в которой я работал, пыталась разрешить нам проверять ноутбуки на позднюю работу из дома, но они не хотели тратить время на то, чтобы узнать, были ли наши IDE и другие инструменты лицензированы таким образом, чтобы мы могли их использовать. их от ноутбука. Итак, мы должны были VPN и запускать наши настольные компьютеры через ноутбук.
В итоге я проехал 7 миль до офиса, проведя 4 часа в ожидании обновлений экрана, чтобы выполнить задачу, которая должна была занять у меня не более часа. Никогда не пробовал снова после этого.
Использование RemoteDesktop с мультиэкраном - у меня постоянные проблемы с перерисовкой экрана, особенно если окна больше 1 экрана.