本人就是文科生,从对HTML感兴趣到能做小规模webapp的全栈开发,断断续续花了差不多七八年,在完全自学的条件下,现混饭吃的工作内容包括Web开发。分享一下,希望对题主有帮助。
简洁版回答你肯定猜到了:现实。稍微复杂一点的回答应该也不新鲜:无论学科背景,只要有兴趣,再投入足够的时间,没有做不到。
主要原因是,我认为Web开发不需要考虑太多数据结构和算法方面的问题,所以无论文理科,在数学方面只要有中学数学基础就够了,最重要的是要适应工程师的语言和行事方法,这对“文科生”来说可能最有挑战性,但是只要跨过这个门槛,你一定会觉得豁然开朗。
办法只有一个,就是找靠谱的资料,跟着做tutorial,做的时候必须自己手动敲代码和调试,这个不用多说了,懂英文的话推荐http://codecademy.com。进阶之后最主要的是学会查文档,我个人认为文档的质量是项目活力的重要指标。有不明白的地方就上社区问,首推http://stackoverflow.com,没有第二。
另外,所谓web开发包括的内容太多,楼主可以慢慢学习了解后,找自己喜欢的钻研下去,或者做一个generalist,两者需要的精力都差不多,对文理科生来说,十年磨一剑算正常吧。总之,下面每一个关键词都是一个大坑,你要学会取舍和分配精力(不好意思,后端以PHP为例,因为只会这个):
·前端
oHTML+CSS
o基础Javascript->jQuery->其他框架和库(Bootstrap,React,AngularJS,D3.js...)
oDesignpattern,UX(要关注JakobNielsen的文章,篇篇经典)
·后端
o基础PHP->框架和库(墙裂安利Laravel。当然还有许多,如Yii,CodeIgniter等,都是极其优秀的工具)
oOOP概念->MVC概念->softwaredesignpattern
o学会版本控制、单元测试、数据库迁移
o数据安全(关注各种安全博客,了解基本的XSS,CSRF,SQL注入/远程执行、白名单)
o有兴趣的话了解一下Node.js
·数据库
o关系型数据库的特点->mySQL基本语法->复杂的statement
oMongoDB
·服务器
oLinux操作(基本文件操作、设置访问权限、白名单、数据备份、CRONjob、分析accesslog等等)
·工具
o版本控制、合作:Git(windows下有gitbash)
o代码编写:Notepad++;SublimeText;Eclipse或phpStorm
o虚拟机:vagrant,XAMPP等
个人认为,不像其他专业,关于Web开发的知识最容易获取,因为有无数优秀的开源项目和优秀做法,很多项目的文档做的都非常好。
功夫不负有心人,少年,动手吧,奔跑吧。
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有