Как избежать пауз при редактировании кода на сетевом диске? - PullRequest
4 голосов
/ 29 августа 2008

Я планирую делать больше кодирования из дома, но для этого мне нужно иметь возможность редактировать файлы на диске Samba на нашем dev-сервере. Проблема, с которой я столкнулся с несколькими редакторами, заключается в том, что сетевая задержка заставляет редактор блокироваться на длительные периоды времени (Eclipse, TextMate). Некоторые редакторы справляются с этим намного лучше, чем другие, но есть ли какая-нибудь файловая система или другие настройки, которые я могу сделать, чтобы минимизировать влияние задержки?

Несколько дополнительных очков:

  • Существует политика, запрещающая размещение данных компании на персональных компьютерах, поэтому я хотел бы не проверять код локально.
  • Монтируется через VPN-соединение PPTP.
  • Монтирование в Linux или OS X клиент

Ответы [ 4 ]

9 голосов
/ 29 августа 2008

Используйте систему управления исходным кодом - Subversion, Perforce, Git, Mercurial, Bazaar и т. Д., Чтобы никогда не редактировать код на общем сервере. Вместо этого вам следует редактировать локальную рабочую область и вносить изменения в репозиторий, расположенный в сети.

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

Я делал это все время, когда консультировался, и ни у одного из моих клиентов - у некоторых из которых не было схожих правил в отношении корпоративного кода - никогда не возникало с этим проблем, когда я объяснял, как все работает. (Я думаю, что некоторые из них даже начали использовать зашифрованные образы дисков даже в своих офисах.)

5 голосов
/ 22 октября 2008

Remate Плагин просто отключает эту ужасную функцию обновления на фокусе.

Загрузите, распакуйте, дважды щелкните и выберите «Отключить обновление при восстановлении фокуса» из меню «Окно» (вы можете обновить вручную, щелкнув правой кнопкой мыши проект в ящике). Voila!

1 голос
/ 29 августа 2008

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

Ваше решение - это ОЗУ. Скопируйте туда файлы, которые вам нужно отредактировать, используя любой метод, который вы предпочитаете (я бы предложил управление исходным кодом), и затем вы можете редактировать их без задержек. Когда вы закончите, отправьте их обратно на сервер.

Как указывалось, ваш редактор может кэшировать изменения в вашем временном каталоге или даже в вашем файле подкачки (если он находится в памяти, его можно заменить). Решение этой проблемы - получить гораздо больший объем ОЗУ и запустить виртуальную машину в ОЗУ. Не знаю, какую ОС вы используете, но вы можете получить довольно тонкую установку большинства ОС, если все, что вы делаете, это редактирование исходного кода.

Если у вас недостаточно ОЗУ, тогда приобретите твердотельный накопитель Gigabyte i-RAM и извлеките аккумулятор, чтобы при отключении питания он потерял все.

Настройте VMWare так, чтобы ОС не позволяла подкачке любой виртуальной машины. Сохраните базовую виртуальную машину на жестком диске и скопируйте ее на свой RAM-диск перед загрузкой. Затем вы можете использовать жесткий диск в виртуальной машине как жесткий диск, даже если это ОЗУ.

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

Полагаю, все сводится к тому, насколько детальна эта политика и как ее интерпретируют.

Удачи!

0 голосов
/ 29 августа 2008

Краткий ответ: вы не можете сделать трюк. CIFS действительно ориентирован на локальную сеть с довольно спокойным трафиком, поэтому у вас нет нулевого шанса не испытать прерывистую задержку доступа к общему ресурсу через VPN. Редактор в какой-то момент должен получить доступ к файлу при блокировке ввода-вывода, потому что в действительности нет смысла делать иначе.

Вы можете переключить редактор и использовать Emacs + TRAMP , который предназначен для работы с удаленными файлами.

...