6

理由:

如何尽可能轻松地从多个相距较远的位置和计算机使用相同的代码进行编辑和推进?

我有这个想法有一段时间了。当我不得不从不同的计算机上处​​理一个项目时,我经常遇到问题,因为我没有采取任何措施或任何措施来缓解这种情况。这部分是由于我很少做自由项目,而且它们通常是小型网站。

想象一下,你需要在家里处理一个项目,在那里你有设置数据库、网络服务器、phpmyadmin 以及让你的应用程序运行所需的一切。然后你去你女朋友家过周末,但你需要推进项目,在那段时间你想做一些编码。

我目前正在做的是归档我的整个项目,通常还有一个 DB 转储,并将其放在 ftp 主机上,以便以后需要时可以访问它。我可能不必解释这可能是多么乏味,特别是如果您需要在当前所在的 PC 上设置整个环境。

注意事项:

  • 将我的家用 PC 变成启用了远程桌面的开发服务器 - 这样做的问题是远程连接并不总是快速而简洁的,因为人们需要它才能进行 RAD。这也意味着必须始终在家里打开 PC,不管我什至可能不需要它,如果说,周末有更好的事情要做。我可能需要购买 UPS,因为这里时常发生停电。我已经不喜欢这个解决方案了。

  • 在公共托管服务和结帐代码处创建数据库和 SVN 存储库。这仍然存在一些问题,因为您可能需要在每次更换计算机时安装软件、SVN 客户端并最终编辑一些配置。哦,和之前的“解决方案”一样——你完全依赖互联网访问。

  • 购买一台 Eee PC 并随身携带 - 这样您就可以随身携带所有环境。也不需要网络。你必须把这该死的东西拖到周围,即使它很小,也不是你口袋里装得下的东西。我还认为这些 EEE PC 不太适合普通编码(小键盘、屏幕等)。

  • 最后,我一直在考虑一个理想的场景,我有一个 Linux 发行版,它可以放在一张 CD 甚至一个闪存驱动器上。在最新版本中,您可以始终拥有所有环境以及所有项目。你可以把它放在你的口袋里。Nova days 所有的电脑都有内置的 USB 端口,相反并不是每台电脑都有 CD ROM。

考虑到这一点,我认为最后一个解决方案是最佳的并且完全令人满意。问题是,我不是很精通 linux,而且我也没有太在意它。尤其是闪存驱动器操作系统。

底线问题

  1. 您是否同意闪存驱动器是最佳解决方案?有没有更好的实践可以投入工作?也许我应该重新考虑这种工作方式?:)
  2. 你认为像http://www.pendrivelinux.com/这样的闪存驱动器操作系统完全适合这种 Web 开发环境吗?有更好的操作系统候选者吗?
  3. 通常从 USB 启动有什么问题吗?当然,我想这在大多数 PC 上应该不是问题?
  4. 您在同一个项目的多个地点工作的个人经历是什么?
4

8 回答 8

11

这是另一种解决方案:携带一个便携式硬盘驱动器,该硬盘驱动器具有便携式安装的虚拟机播放器和具有您需要的所有开发工具的虚拟机。只需将其插入任何可用的计算机,启动 VM,将其置于全屏模式,您就可以开始使用了。具有不必弄乱 live-cd 或 live-usb Linux 设置的优点,特别是因为您说您对 Linux 不是很熟悉。

编辑:你也可以从闪存驱动器上运行你的虚拟机,尽管性能会很糟糕。

于 2009-05-02T21:36:46.523 回答
3

你真的应该买一台笔记本电脑,在这台机器上完成所有的编码。使用上网本和/或拇指驱动器并不是一个长期的解决方案。我有一台 MacBook,我用它来完成所有的编码工作。当我在家时,它连接到一个 21 英寸的显示器和一个完整的键盘和鼠标。当我需要旅行时,我会拔下所有电源线并将其放入包中。由于我使用同一台机器,我不必担心来回迁移文件或设置,虽然屏幕有点小,但在旅途中完成一些工作也不错。

如果我不能随身携带笔记本电脑,我会在 Linux 服务器上建立一个开发环境。但是,此解决方案高度依赖于您正在进行的开发类型以及您对 Linux 和命令行的熟悉程度。对于刚起步的人,我绝对不推荐它。但是,使用 Screen 和 Emacs(或者 vim,如果您喜欢这种方式),您可以在任何可以访问 Internet 的地方拥有一个成熟的开发环境。

于 2009-05-02T21:23:17.350 回答
2

笔记本电脑:太贵了,键盘太小了,写代码很烦人。

远程处理桌面:你会感觉到延迟,甚至几分之一秒,一天后你会发疯。

SVN:总是需要到处安装相同的软件(存储库客户端、FTP、文本编辑器、mysql 等)太麻烦了。

我的解决方案是我个人使用的……USB闪存驱动器!

安装所有软件的便携式版本。我设法找到了我需要的所有东西的便携版本:

小猫 (SSH)

Filezilla (SFTP)

USBWebserver(Apache 2、PHP 5、Mysql 5、PHPMyAdmin)

记事本++ 5,Eclipse PDT(PHP IDE)

SNES9X (snes 模拟器) ;)

Keepass(密码加密器数据库的东西)

HeidiSQL(类似于 PHPMyAdmin)

Menu(有点系统托盘菜单的东西)

我所有项目/音乐/笔记的目录

这是一个很好的链接,我在其中找到了我的大部分软件。

PS 适用于 Windows 和 Linux(通过 wine)。我还在上面放了一个自动运行的 ini 文件,所以当我插入它时,我的系统托盘菜单程序运行并且 apache/mysql 启动。

于 2009-05-02T21:38:55.083 回答
1

我认为 SSH 可以解决所有问题。无论我身在何处,它都能让我完全控制我的服务器,它不仅让我可以访问 shell,还可以上传和下载文件,以及使用端口转发。

如果我只需要做一些快速的调整,我通常只是通过 SSH 连接到服务器并使用 nano 或类似的东西来进行编辑。结合屏幕,它实际上可以是一个令人惊讶的高效环境。

当我需要做更严肃的工作时,我会下载 notepad++(免费)和 expandrive(Windows 等效于 sshfs,30 天演示可用)。这使我可以远程编辑文件,就像它们存在于我的本地硬盘上一样(尽管它需要良好的连接)。非常有成效。:)

于 2009-05-02T21:24:35.740 回答
1

上网本怎么样?我听说 Scott Hanselman 之类的人使用效果很好的一款来运行 Visual Studio 和 SQL Server 进行 ASP.NET 开发,所以我相信它们的功能足以满足您的需求。

屏幕尺寸可能是一个限制,但更小、更轻的单元具有很大的优势。与我共事的几个人推荐了华硕 Eee 901 。

于 2009-05-02T21:39:24.630 回答
1

我将Dropbox用于不依赖安全性的代码项目。

至于开发环境,我的需求很少,所以通常一份 Notepad++ 就足够了。目前,这是在我使用的每台机器上本地安装的,但我已经考虑过在 USB 驱动器上使用便携式安装的想法。

但是,您的需求比我的要复杂得多,在我看来,建议的笔记本电脑可能是您的最佳选择

于 2009-05-02T21:48:08.337 回答
1

我认为开发人员的计算机就像一件泳衣。当您使用的不是您的时,您会非常清楚。此外,众所周知,我们发现的任何计算机都极有可能存在一千个问题,这些问题将影响我们的假设以及我们的 USB/VM 选项的持续成功。我想大多数人都会同意这将取决于我们项目的优先级以及我们对在特定时刻无法运行的可能性的容忍度。

于 2009-05-03T10:57:10.983 回答
0

简单的答案:笔记本电脑。是的,它不像手机那么小……但它让你的编码变得如此容易。

于 2009-05-02T21:24:37.893 回答