我计划在家中进行更多编码,但为了做到这一点,我需要能够在我们的开发服务器上编辑 Samba 驱动器上的文件。我遇到的几个编辑器的问题是网络延迟导致编辑器长时间锁定(Eclipse,TextMate)。一些编辑器比其他编辑器处理得更好,但是我可以做任何文件系统或其他调整来最大限度地减少延迟的影响吗?
补充几点:
- 有一项政策禁止在个人机器上保存公司数据,所以我想避免在本地检查代码。
- 挂载通过 PPTP VPN 连接。
- 挂载到 Linux 或 OS X 客户端
我计划在家中进行更多编码,但为了做到这一点,我需要能够在我们的开发服务器上编辑 Samba 驱动器上的文件。我遇到的几个编辑器的问题是网络延迟导致编辑器长时间锁定(Eclipse,TextMate)。一些编辑器比其他编辑器处理得更好,但是我可以做任何文件系统或其他调整来最大限度地减少延迟的影响吗?
补充几点:
使用源代码控制系统——Subversion、Perforce、Git、Mercurial、Bazaar 等——这样你就不用在共享服务器上编辑代码了。相反,您应该编辑本地工作区并将更改提交到位于网络上的存储库。
此外,说服您的公司调整他们的政策,以便在个人计算机上允许公司代码(如果它位于加密卷上)。您可以为此使用的加密磁盘映像使用磁盘工具创建很简单,并且可以使用强加密。通过不在钥匙串中存储加密密码,而是在每次挂载加密卷时输入密码,您可以获得更高的安全性;这意味着即使您的本地用户帐户被盗用,只要您没有安装该卷,其他任何人都无法安装它。
我在咨询时一直这样做,而一旦我解释了事情的运作方式,我的客户(其中一些人对公司代码有类似的规则)都没有遇到过问题。(我认为他们中的一些人甚至开始在他们的办公室内使用加密的磁盘映像。)
Remate插件只是禁用了这个可怕的焦点刷新功能。
下载、解压、双击并从“窗口”菜单中选择“重新获得焦点时禁用刷新”(您可以通过右键单击抽屉中的项目来手动刷新)。瞧!
如果您从您的个人计算机访问数据,它在您的 RAM 中,所以我们假设您不能将它存储在您的硬盘驱动器、软盘、U 盘等上。
您的解决方案是 RAM 驱动器。使用您喜欢的任何方法(我建议源代码管理)复制您需要编辑的文件,然后您可以毫无延迟地编辑它们。完成后将它们提交回服务器。
正如所指出的,您的编辑器可能正在缓存对临时目录的更改,甚至可能是您的交换文件(如果它在内存中,那么它可以被换出)。解决方案是获得更大的 RAM 驱动器并在 RAM 驱动器中运行虚拟机。不确定您正在运行什么操作系统,但如果您所做的只是编辑源代码,您可以轻松安装大多数操作系统。
如果你没有足够的内存,那就买一个技嘉 i-RAM 固态驱动器并取出电池,这样当你断电时它会失去一切。
将您的 VMWare 设置为不允许操作系统交换任何虚拟机。在您的硬盘驱动器上保留一个基准虚拟机,并在启动之前将其复制到您的 RAM 驱动器。然后,您可以像使用硬盘一样使用 VM 中的硬盘,即使它是 RAM。
在关闭电源之前在 RAM 驱动器上运行安全擦除可能是个好主意。还要记住,如果您在将 RAM 芯片从正常运行的计算机中取出之前对其进行超冷处理,并且足够快地将其放入新计算机中,他们发现数据可能仍然完好无损。
我想这一切都归结为该政策的详细程度以及如何解释。
祝你好运!
简短的回答:你不能做任何伎俩。CIFS 真正面向具有相当平静流量的 LAN,因此您通过 VPN 访问共享时不会遭受间歇性延迟的可能性为零。编辑器在某些时候需要在阻塞 IO 中访问文件,因为否则没有实际意义。
您可以切换编辑器并使用适用于远程文件的Emacs + TRAMP 。