做服务器端开发需要具备什么样的基础知识?
最近转服务端开发了,但是对知识的补充还是有些茫然,我个人列出一些需要补充和学习的知识,如下:
1. 基本的网络知识(TCP/IP , UDP , Socket等等)
2. 网络操作系统 Linux,有时候需要配置运行环境
3. 开发技术:php , python , 破儿(perl), java(公司需要), nodejs
4. 相关技术的积累:memcache , redis , mongodb
5. 数据库..
我列举的可能有的是多余的,也有遗漏的,请问各位有何看法?
还有网络的基础知识是否需要更佳深入的学习,比如七层模型,子网掩码的分配计算等等
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
1,Http协议用的最多吧,亲
2,数据库方面,Mysql和Oracle至少都要掌握,大数据方向的MongoDB、Hadoop、Hbase得了解
3,各类缓存和队列,Memcache、Redis等,这个在客户端可能用得不多,在服务器就是万金油了,用不得上,都一定要掌握,什么业务都可以用到
4,如果要做web,前端的JS、html得掌握
5,Centost和Ubuntu得掌握,简单的集群、LVS负载能做行,至于你说的7层协议,在服务器这端,只要不碰硬件,基本上遇不到。
6,云时代、大数据时代来了,服务器端编程的挑战,在于数据的存储、计算,现在的工作偏向程序的优化、算法调优。
好像要说,扯半天也说不完,不写了。
我觉得软件开发这个行当是工程性很强的一个行当,这类行当的学习路径和学术研究性的几乎相反:不是先学了一堆“基础知识” “背景知识” 之类的东西再深入研究,而是先从最高级最方便的quick&dirty way开始,向底层细化。
按我说就先挑一门语言,然后选这门语言的前三流行的框架或开源应用中任意一款,先撸个hello world,再撸个博客出来,博客做完发布做评论,做完评论做用户,做完用户再看看你以前写的代码删光从头写起。当然把博客换成其他需求也行,只要自己需要用的都行
至于需要的知识,压力大了自然要缓存,模块复杂了自然要解耦,上线次数多了自然要部署要自动化,一切知识都是以解决问题为导向的。没遇到问题就空学所谓基础知识,在我看来事倍功半。就好比题主提的“服务端开发”,其中也有很多细分,做业务逻辑的,高并发的,事务的,更别说做数挖的dba的devop的等等,又或是小业务的一条龙包干,都是相当不同的技能要求。
知道创宇研发技能表:
http://blog.knownsec.com/Knownsec_RD_Checklist/v2.2.html
5天学会一种 web 开发框架
http://lutaf.com/148.htm
PS:
准备好必要的资料后,把网线拔了效果更好