2009-11-11 32 views
9

没有我的笔记本电脑,我总是发现自己几乎没用。它有我需要的所有东西,firefox,notpad ++,photoshop,文档等等。但是,偶尔我喜欢在我的桌面上编码,因为它更快更好,但有时候,除非我将网站文件传输给我桌面或保持我的FTP更新。我知道那里有一些同步解决方案,比如dropbx,但我有兴趣遵循一个良好的实践并对专业人士的聪明见解感兴趣。程序员如何在多台计算机上工作?

有时,我甚至没有我的笔记本电脑,当我在学校时需要编辑某些东西时,我拔出USB驱动器。我使用记事本++在我的USB记忆棒上安装了带有FireFTP和FireBug的便携式Firefox。这就是我喜欢打电话的,我的网站开发工具包。

更新:关于源代码控制和颠覆的有趣评论,它让我发现DreamHost已经颠覆(我将与之一起玩)。阅读材料(关闭或在线)的任何建议?把任何一条信息都扔给我,我不知道要问哪些问题或要问什么问题,因为我是新手。在此先感谢你们!

回答

12

源代码管理。颠覆是好的。

还有一些很好的在线源代码控制系统,值得一试。

+1

这是一个软件开发人员的重要组成部分。我想这对学生来说有点困难(假设),但有一些在线解决方案。 – Jimmeh 2009-11-11 10:03:00

+1

是的,源代码管理似乎是答案。我只想发表评论,强调一个事实,即如果你想认真对待代码,可以忽略源代码控制。 (我假设你是一名学生,如果你已经从事这项业务,没有冒犯的意思)。 – Mizipzor 2009-11-11 10:05:41

+0

@jimmeh你的假设是正确的,但我不介意在游戏中取得领先:) – Strawberry 2009-11-11 10:09:43

4

我使用SVN(作为@Jimmeh建议),我把它放在一个公共服务器上(这会让事情变得缓慢),但是我可以从世界任何地方访问它并从我停止的最后一个地方继续。

我建议强制锁定并使文件只在未锁定的情况下读取。

0

+1在线源代码管理。

但是,这并不能帮助所有东西(比如特定的工具或[在我的情况下]特殊问题,如加入笔记本电脑和公司设置的VPN的域)。我经常使用远程桌面登录到我的笔记本电脑,为笔记本电脑做特定的事情(内联网,办公室通信)和我的桌面,因为它的速度要快很多。

6

很多人正转向分布式源代码管理,如gitmercurial。这些不需要用于源代码管理的中央服务器 - 所有版本都存储在所有计算机上,只要将计算机放在一起,就可以合并更改。

+3

不要使用“社交”persuring工具(“很多人都转向”),而不会明确各自的权衡。使用分布式源代码控制,您将需要执行更多合并,如果没有组织,任何时候都会有多个当前的“顶级”源代码版本。使用服务器时,只有一个版本的“顶级”源(服务器上的源)。 – Quibblesome 2009-11-11 10:54:47

+0

但另一方面,使用dvcs进行脱机工作非常容易,而且您仍然可以设置中央服务器。特别是像Bazaar这样的dvcs,明确地允许任何一种风格的工作流程,在颠覆中使用分布式软件包确实没有任何缺点。 – mavnn 2009-11-11 12:22:27

+0

@Quibblesome:说到澄清权衡,DVCS并不要求*存在“主”版本,但它确实允许一个和有一个指定的服务器(比如说github),它维持一个单一的“顶级”源代码版本是一种常见模型。我还得到这样一种印象,即OP在问他正在进行独奏的一个项目,即使没有指定一个主版本,这也会大大缓解您所描述的不断分支和合并混乱。 – 2009-11-11 13:43:43

0

我使用Subversion的组合来控制源代码,我的文档空间的其余部分在使用Unison的许多机器上保持同步(http://www.cis.upenn.edu/~bcpierce/unison/)我有一个为此设置的中心和辐条布置,并且从未有过问题与此设置。它使用rsync作为核心。

Dropbox现在很受欢迎,因为它仅用于共享文件。我不使用统一的Subversion或Dropbox目录。

我认为git(当然对于版本控制的源代码)非常棒,如果你在移动并进行更改,而不在线

1

对于未连接的机器(防火墙,vpn,气隙等后面)的同步,我一直在使用SyncBack。它是免费的,可配置的,我可以在我使用的所有机器上复制配置文件,并设置一键式同步。

4

分布式版本控制是解决您的问题的答案。

它只需要一个主机(或者一个ftp文件夹将完成这项工作)。

有人说Mercuial和Git,但我收回Darcs。

http://darcs.net/

这是写在一个漂亮的函数式编程语言,它是非常容易使用,功能强大。

0

使用synergy您可以使用键盘和鼠标控制一台机器,并使用复制和粘贴。

对于共享文件,您可以使用NFS或Windows共享或...取决于您的系统。

一些IDE支持“远程工作”,其中的细节取决于IDE和您正在使用的语言。 (例如,我使用NetBeans在一台机器上编译和调试我的代码,在一些随机数据中心使用不同的系统,同时在本地机器上工作)。

0

那么,既然你提到你只是编码,因为它是更快/更好,我们可以假设你仍然会有你的笔记本电脑(我也经历了笔记本电脑和桌面编码阶段)?

  1. 如果因鼠标和键盘/数字键盘更快,请尝试使用VNC来使用笔记本电脑屏幕。

  2. 在笔记本电脑上创建共享文件夹,并通过网络工作。

+0

VNC滞后!它不如电脑使用的实际字体。 – Strawberry 2009-11-11 21:24:43

+0

那么,一些VNC程序有不同的“速度”设置可能会有所帮助,如果你只是打字,它可能不会太糟糕。这只是一个没有提到的想法。 我使用共享文件夹和颠覆。因为我有dbs的web应用程序,并且我不想更新多个本地版本进行测试,所以如果我正在做大量数据库测试,则使用共享文件夹,如果仅使用代码和类进行颠覆。我只是想确保你所有的角度都被覆盖了。 – Cryophallion 2009-11-12 01:19:18

0

如果您选择Subversion路由来存储您的源代码,我建议尝试给Beanstalk - 一个存储库是免费的(100 MB限制)。然后,您可以通过TortoiseSVN访问您的文件,这是一个Windows外壳(Explorer)扩展形式的Subversion客户端 - 也是免费的。

相关问题