我在学习网络开发。我的主要操作系统是windows 7,但我使用了Linux,目前使用Ubuntu进行双引导。然而,我的Linux知识是相当有限的。我可以在简单的任务上使用命令行,但差不多就是这样。我不做任何shell脚本,不太了解最重要的命令,也不了解一般的系统。
我对网络开发很感兴趣。我应该让自己更熟悉Linux吗?考虑到我所感兴趣的领域,这是未来工作的必修课吗?
发布于 2012-03-19 14:30:30
如果您想在Linux上进行web开发,您应该了解Linux。事实是,如果雇主使用一种不需要窗口的网络技术,他们将为自己省下一些钱,并给他们的开发者Linux机器。
这样的雇主会希望在Linux上有效率的员工,因此不管您对框架或IDE的了解如何,了解Linux有助于提高您的效率,因此雇主将更有利可图。
Linux工作流通常与Windows工作流不同。您可以使用小型命令行工具(现有的和自定义的)更容易地自动化linux。了解环境有助于您实现这一目标。例如,最大的范式转变之一可能是配置文件“在哪里”,而且在Linux中,您更可能在文本编辑器中编辑配置,而不是通过配置对话框单击。
另一种思维方式是:除了其他一位在语言/框架技能上与你不相上下的潜在员工之外,还会考虑你,但他更了解Linux。
另一方面,
有许多基于Windows的web开发作业,或者混合环境,您可以在相同的工作位置上执行一些PHP和.Net。ASP.WindowsMVC是非常有趣的,这需要.Net知识。IIS现在甚至可以运行PHP应用程序
我最后的建议是,如果您喜欢web开发,最好的选择就是非常了解Windows和Linux。Linux已经变得越来越容易使用,所以它不再是那么多的努力学习。在许多情况下,开发是在Windows上进行的,但服务器是Linux。如果你能适应你最喜欢的网络开发框架,看看它运行的是什么样的平台,那也是件好事。然后把重点放在它的主要运行时平台上,作为您的专长。
发布于 2012-03-18 21:19:29
这当然是必须的,因为您看到的大多数web (stackexchange是一个显著的例外)运行在Linux和其他类似Unix的OSs上。大多数web开发技术和框架都是Unix本地的--尽管有一些技术和框架也运行在Windows上,但很少有针对Windows部署的。
开发人员必须彻底了解程序运行的环境。在大多数情况下,它不会是Windows。您应该学习Unix (和Linux)哲学,使您的应用程序更容易集成。
好的是,有了Cygwin这样的工具,您甚至不需要离开Windows就可以熟悉类似Unix的环境,并且您可以在Windows上使用非常强大的命令行。具有多种语言、源代码管理和文本处理工具的编译器和解释器.
发布于 2012-03-18 12:25:14
这不是必须的,但肯定是一种优势。大多数服务器运行某种类型的linux/unix,因此它将对您提供帮助。我建议你这样做,也许过一段时间你甚至会更喜欢它而不是窗口:)
https://softwareengineering.stackexchange.com/questions/140260
复制相似问题