在网络驱动器上编辑代码时如何避免停顿?

时间:2020-03-05 18:44:48  来源:igfitidea点击:

我打算在家中进行更多的编码,但要这样做,我需要能够在我们的开发服务器上的Samba驱动器上编辑文件。我遇到过几个编辑器的问题是网络延迟导致编辑器长时间锁定(Eclipse,TextMate)。有些编辑人员对此的处理要好于其他编辑人员,但是我可以做一些文件系统或者其他调整来最大程度地减少延迟的影响吗?

其他几点:

  • 有一项政策禁止在个人计算机上存储公司数据,因此我想避免在本地检查代码。
  • 挂载通过PPTP VPN连接。
  • 挂载到Linux或者OS X客户端

解决方案

回答

使用源代码管理系统Subversion,Perforce,Git,Mercurial,Bazaar等,这样我们就永远不会在共享服务器上编辑代码。相反,我们应该编辑本地工作区并将更改提交到位于网络上的存储库。

另外,说服公司调整其策略,以使公司代码在加密卷上时允许在个人计算机上使用。可以使用此功能使用磁盘实用程序轻松创建加密的磁盘映像,并且可以使用强大的加密技术。通过不将加密密码短语存储在钥匙串中,而在每次安装加密卷时都键入密码,我们可以获得更高的安全性。这意味着,即使本地用户帐户遭到破坏,只要我们没有安装该卷,其他任何人都将无法安装它。

当我咨询时,我一直这样做,而我的客户中没有一个对公司代码有类似的规定,一旦我解释了工作原理,就没有遇到过问题。 (我认为其中一些人甚至在办公室内甚至开始使用加密的磁盘映像。)

回答

简短的答案:我们绝不做花招。 CIFS实际上是通过合理的流量来面向LAN的,因此我们几乎没有机会通过VPN访问共享而不会出现间歇性滞后的情况。编辑器有时需要在阻塞IO中访问文件,因为否则这样做没有任何实际意义。

我们可以切换编辑器,并使用适用于远程文件的Emacs + TRAMP。

回答

如果我们要从个人计算机访问数据,则该数据位于RAM中,因此我们假定我们无法将其存储在硬盘,软盘,USB记忆棒等上。

解决方案是RAM驱动器。使用我们喜欢的任何方法将需要编辑的文件复制到那里(我建议使用源代码控制),然后可以无延迟地编辑它们。完成后,将它们提交回服务器。

如前所述,编辑器可能正在缓存对temp目录甚至是交换文件的更改的缓存(如果它在内存中,则可以将其交换出去)。解决方案是使用更大的RAM驱动器,然后在RAM驱动器中运行虚拟机。不确定正在运行什么操作系统,但是如果我们正在编辑源代码,则可以轻松安装大多数操作系统。

如果我们没有足够的RAM,那么请购买一个技嘉i-RAM固态驱动器并卸下电池,这样在断电时它将丢失所有东西。

将VMWare设置为不允许操作系统交换任何虚拟机。在启动之前,将基准VM保留在硬盘驱动器上并将其复制到RAM驱动器。然后,即使它是RAM,也可以像使用硬盘一样在VM中使用硬盘。

掉电之前,最好在RAM驱动器上进行安全擦除。还请记住,他们发现,如果在将RAM芯片从正常运行的计算机中取出之前将其冷却过高,然后将其足够快地放入新计算机中,则数据可能仍然完整。

我想这全都取决于该政策的详细程度和解释方式。

祝你好运!

回答

Remate插件只是禁用了此令人恐惧的"焦点刷新"功能。

下载,解压缩,双击并从"窗口"菜单中选择"禁用重新聚焦时刷新"(我们可以通过右键单击抽屉中的项目来手动刷新)。瞧!