我想在 Linux 中设计一个项目,它可以包含编程语言(C、perl、PHP、HTML、XML 等),基本上是一个基于 Web 的项目。我之所以选择在 Linux 上构建,是因为它是开源的,而且很多事情都可以通过脚本语言实现自动化,而这在 Windows 上我不知道。
因此,我在虚拟机(主机 Windows 2007 和客户 Linux CentOS)上安装了 Linux,CentOS(命令行界面)。由于我是初学者,所以我想知道可以使用哪些工具来促进和简化我的开发过程。下面列出了我知道的一些工具,并请您分享您的经验。
1)使用 Putty 以便可以从网络中的任何位置访问 Linux 机器。
2) 因为我想在 Linux 上开发,但想使用 Windows 作为开发平台。所以在 Windows 上下载了 Eclipse Editor (C/PHP)。但想知道如何从这里访问 Linux 文件吗?
3)安装了Samba,并且仍在尝试弄清楚如何在Windows上远程访问Linux文件。
4)请分享您的经验,如何才能简化我的开发过程?以及我可以使用哪些工具?
如果您需要任何其他说明,请告诉我。
答案1
- Putty 可能是命令行访问的最佳选择。安装 VNC 服务器或 RDP 服务器将允许您访问图形控制台,但需要做更多工作。我会坚持使用 Putty,直到您需要图形界面为止。
- 使用 CVS、Subversion 或 GIT 作为文件版本控制的存储库。Windows 和 Linux 有不同的方法来标记文本文件中的行尾。Eclipse 可以与其中任何一种集成。在 Linux 上查看更新。
- 在 /etc/smb.conf 中配置要共享的目录。您可以像挂载其他网络共享一样挂载它们。Windows 将像查看其他网络驱动器一样查看这些共享。您的 Windows 工具(尤其是记事本)在处理 Linux 文本文件时会遇到问题。您可以设置 Eclipse 以正确处理 Linux 共享,但您实际上应该在 Eclipse 中使用本地文件。
- 在 Eclipse 中创建项目。使用 Eclipse 中的团队工具将它们共享到存储库。从 Eclipse 中签入它们。在 Linux 上设置构建/测试环境,并从 Eclipse 中签出项目。您需要规划适当的目录结构。在 Linux 上自动执行构建和测试部署。使用打包方案,以便您可以将构建打包,以便通过测试环境推广到生产中。设计您的应用程序,以便您不需要为每个环境构建。
答案2
您可能还想考虑切换到 Linux 桌面。我在家里和工作场所都使用 Ubuntu 10.04,它很棒。以下是我的设置:
- Dell Vostro 200 上的 Ubuntu 10.04 64 位
- VMware 运行 Windows 7 和 Windows XP 以用于测试目的。
- 带有 Subclipse Subversion 插件的 Eclipse。
- Jetty 6.1.5 和 Tomcat 6.0.14 在 Ubuntu 上运行。
- Apache 2.2 在 Ubuntu 上运行。
这种设置的主要优点是,除非我在 Windows 中测试更改,否则我不需要运行虚拟机。我的所有代码以及 Eclipse IDE 都在同一台机器上,Apache、Jetty 和 Tomcat 服务器也是如此。无需在文件系统之间设置 Samba 或任何类型的网络。
Apache 提供 PHP 文件,Jetty 和 Tomcat 提供 Java 文件。对于 C,我手头有 gcc 编译器。
Linux 中的命令行非常强大,如果我需要使用它,它就在我的指尖。
这当然是一个重大举措,因为并不是每个人都准备好放弃 Windows,而且没有理由不能先使用当前设置,然后再尝试这种设置。
答案3
7 个出色的 Web 开发工具
- Sublime Text
让我们从基础开始:一流的代码编辑器 - 具有精心设计、超高效和超快速的用户界面。有好几个编辑器在这方面做得很好,但可以说最好的(也是最受欢迎的)是 Sublime Text。
Sublime 由一个单人开发团队精心运营,其成功的秘诀在于该程序拥有丰富的键盘快捷键 - 例如能够同时进行编辑(对多个选定区域进行相同的交互式更改)以及快速导航到文件、符号和行。当您每天花 8 个小时以上使用编辑器时,为每个过程节省的宝贵几秒钟确实会累积起来……
- Chrome 开发者工具
如果您可以实时编辑 HTML 和 CSS,或者调试 JavaScript,同时查看网站的全面性能分析,那不是很好吗?
Google 内置的 Chrome 开发者工具可让您实现这一目标。这些工具与 Chrome 和 Safari 捆绑在一起,可让开发者访问其网络应用程序的内部。除此之外,一系列网络工具可帮助您优化加载流程,而时间轴可让您更深入地了解浏览器在任何特定时刻正在做什么。
Google 每六周发布一次更新 - 因此请查看他们的网站以及 Google DevelopersYouTube 频道,以使您的技能保持最新。
- jQuery
JavaScript 长期以来一直被开发人员视为一种必不可少的前端语言,尽管它也不是没有问题:充斥着浏览器不一致,其有点复杂且难以理解的语法意味着功能经常受到影响。
直到 2006 年,jQuery 出现了。jQuery 是一个快速、小型、跨平台的 JavaScript 库,旨在简化前端流程。通过抽象出许多通常留给开发人员自己解决的功能,jQuery 为创建动画、添加插件甚至只是浏览文档提供了更大的空间。
它显然是成功的——jQuery 是 2015 年迄今为止最受欢迎的 JavaScript 库,Web 上访问量最大的 1000 万个网站中有 65% 都安装了 jQuery。
- GitHub
这是每个开发人员最可怕的噩梦——你正在开发一个新项目功能,然后你搞砸了。进入版本控制系统 (VCS)——更具体地说,GitHub。
通过使用该服务开展项目,您可以查看所做的任何更改,甚至可以返回到以前的状态(让令人讨厌的错误成为过去)。存储库托管服务还拥有一个丰富的开源开发社区(使团队之间的协作变得轻而易举),并为每个项目提供其他几个组件,例如错误跟踪、功能请求、任务管理和 wiki。
许多雇主都会寻找精通 Git 技能的人才,所以现在是报名的最佳时机——而且这也是参与各种开源项目并从最优秀的人才那里学习的好方法。
- Twitter 引导
厌倦了为容器输入相同的样式?那个不断出现的按钮怎么办?一旦你开始定期构建前端应用程序,你就会开始注意到相同的模式正在出现。
UI 框架试图通过将公共元素抽象为可重用的模块来解决这些问题 - 这意味着开发人员可以快速轻松地构建新应用程序的元素。
这些框架中,使用最广泛的是 Bootstrap,这是 Twitter 团队开发的一款综合 UI 软件包。Bootstrap 配备了规范化样式表、构建模式对象、添加 JavaScript 插件以及大量其他功能的工具,可以大大减少构建项目所需的代码量(和时间)。
- Angular.js
HTML 通常是任何前端开发人员工具箱的基石,但它有一个被许多人认为的严重缺陷:它不是为管理动态视图而设计的。
这正是 AngularJS(一个开源 Web 应用程序框架)的作用所在。AngularJS 由 Google 开发,它允许您扩展应用程序的 HTML 语法,从而构建一个更具表现力、可读性更强、开发速度更快的环境,而这种环境是无法仅使用 HTML 构建的。
该项目并非没有批评者:有些人认为这种数据绑定会导致代码混乱、不分离,但我们仍然认为这是前端工具包中一项非常宝贵的技能。
- 萨斯
节省时间的 Web 开发工具是你最好的朋友,而你首先会学到的关于代码的事情之一就是它需要 DRY(“不要重复自己”)。你可能会学到的第二件事是 CSS 通常不是很 DRY。
进入 CSS 预处理器的世界,这个工具将帮助您编写可维护、面向未来的代码,同时减少您必须编写的 CSS 数量(保持 DRY)。
其中最受欢迎的可能是 Sass,这是一个已有 8 年历史的开源项目,它几乎定义了现代 CSS 预处理器的类型。虽然一开始有点难以掌握,但 Sass 的变量、嵌套和混合组合将在编译时呈现简单的 CSS,这意味着您的样式表将更具可读性,并且(最重要的是)更符合 DRY 原则。