代码之家  ›  专栏  ›  技术社区  ›  Dana the Sane

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

  •  4
  • Dana the Sane  · 技术社区  · 16 年前

    我计划在家里做更多的编码工作,但为了做到这一点,我需要能够在开发服务器上的Samba驱动器上编辑文件。我在几个编辑器中遇到的问题是,网络延迟导致编辑器长时间锁定(eclipse、textmate)。有些编辑器比其他编辑器更好地处理这个问题,但是是否有任何文件系统或其他我可以做的调整来最小化延迟的影响?

    其他几点:

    • 有一项政策禁止在个人计算机上使用公司数据,因此我希望避免在本地签出代码。
    • 安装在PPTP VPN连接上。
    • 安装到Linux或OS X客户机
    4 回复  |  直到 7 年前
        1
  •  9
  •   Chris Hanson    16 年前

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

    另外,说服你的公司调整他们的政策,这样公司代码就可以在个人机器上使用。 如果 它在加密卷上。可用于此的加密磁盘映像是 琐碎的 使用磁盘实用程序创建,并且可以使用强加密。您可以通过不将加密密码短语存储在您的密钥链中来获得更高的安全性,而不是每次装载加密卷时都键入密码短语;这意味着即使您的本地用户帐户受到威胁,只要您没有装载该卷,其他人也无法装载该卷。

    我在咨询的时候一直这样做,我的客户中没有一个有过类似的公司代码规则,一旦我解释了事情是如何工作的,他们中的一些人就不会有问题。(我想他们中的一些人甚至开始在办公室使用加密的磁盘图像。)

        2
  •  5
  •   Kornel    16 年前

    Remate 插件只是禁用了这个可怕的焦点刷新功能。

    下载、解包、双击并从“窗口”菜单中选择“禁用恢复焦点刷新”(右键单击抽屉中的项目可以手动刷新)。哇!

        3
  •  1
  •   Siyual Lee    9 年前

    如果您从个人计算机访问数据,它就在您的RAM中,因此我们假设您不能将其存储在硬盘、软盘、U盘等上。

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

    正如前面指出的,您的编辑器可能正在缓存对临时目录的更改,甚至可能缓存交换文件(如果它在内存中,那么它可以被交换出去)。解决方案是获得一个更大的RAM驱动器并在RAM驱动器中运行虚拟机。不确定您运行的是什么操作系统,但是如果您所做的只是编辑源代码,那么您可以非常轻松地安装大多数操作系统。

    如果你没有足够的内存,那么就用一个千兆字节的i-ram固态驱动器,然后取出电池,这样当你断电时,它就会失去一切。

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

    关闭电源前在RAM驱动器上运行安全擦除可能是个好主意。还要记住,他们发现,如果你在将RAM芯片从正常工作的计算机上卸下之前,对其进行超级冷却,并将其快速放入一台新的计算机中,数据可能仍然完好无损。

    我想这一切归根结底都取决于该政策的详细程度和解释方式。

    祝你好运!

        4
  •  0
  •   Damien B    16 年前

    简短的回答:你不能耍花招。CIFS真正面向局域网,具有相当平静的流量,因此您没有机会不受通过VPN访问共享的间歇性延迟的影响。编辑器有时需要在阻塞IO中访问该文件,因为这样做没有实际意义。

    您可以切换编辑器并使用emacs+ TRAMP 它适用于远程文件。