当前位置:K88软件开发文章中心编程语言C/C++C/C++01 → 文章内容

C/C++开发人员需要的技能

减小字体 增大字体 作者:阿烈的博客  来源:Bcoder资源网  发布时间:2018-12-30 5:00:37

洞,被挂马是常有的事。
网站代码出错、数据库出错、网站占CPU太高、空间占满、空间过期。
域名解析出错、域名过期。
网站或者服务器由于有害信息、备案等原因被关或封IP。
网站或者服务器被攻击。同台服务器网站或者网段被攻击也殃及池鱼。
服务器出现故障或者需要维护。
网络运营商线路出现故障,特别是南北互通。
很多故障是不定时、不可预料的。最勤快的站长网管都不可能24小时去刷新网页,去Ping服务器。这自然需要自动的监控服务。

(4) 集群化,对开发的影响?存储、缓存、session等
(5) 数据库扩展(主从复制和读写分离,分库,分表)的过程中,你要做什么?
4.3. 日常工作中的问题
也许大家会说,我们的网站的访问量这么少,还没有必要考虑上面的问题。 好,我列出工作中一些问题:

(1) 为什么我们的服务器都是windows机器,而不是linux
(2) hui99存储空间不足,导致hui99邮件服务器挂掉。
(3) 北京农商行,手机银行服务端连接到网银服务器,为什么自己写负载均衡策略?
(4) 为什么建行团,迁移机房后,远程登录用户不用administrator了。
(5) 21的数据服务器僵死,导致hui99的tomcat线程到达200,而不能提供正常服务!(2012-03-25)
(6) 建行团有一个200M的日志文件,你如何查看其内容?如果是2G的呢?(一般的文件编辑器打不开这么大的)
(7) 建行团秒杀过程中,如何监控CPU,内存,磁盘IO等?
(8) 如何提供7*24*365的服务(项目更新必须停机重起,服务会暂停)?
(9) ...


4.4. 问题的实质是什么?
服务器(集群)架设。

服务器的监控。

服务器的优化。

服务器的安全。

。。。

实现这些,你还需要掌握运维的知识。

那什么是运维呢? 运维关键技术点:

大量高并发网站的设计方案 ;
高可靠、高可伸缩性网络架构设计;
网站安全问题,如何避免被黑?
南北互联问题,动态CDN解决方案;
海量数据存储架构;
等等…
5. 如何写出高性能的系统?
从当当网上搜”高性能”,你可以看到下面列出来的图书:

《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》
《高性能网站建设指南》
《高性能MYSQL影印版》
《构建高性能Web站点》
《实战Nginx:取代Apache的高性能Web服务器》
………


一个高性能的系统,不仅涉及到开发的程序代码,也与服务器、数据库、web服务器等息息相关。

罗马不是一日建成的,高性能系统不是一下子就能实现的?高性能系统是PDCA(Plan Do Check Act)持续改善的过程,是开发、上线、监控、优化反复循环的过程。

6. 结论:开发者需要什么技能?
(1) 开发技术

(2) 数据库技术

(3) 运维技术

技术之间是相辅相成的。

7. 知道结论后,我做了什么?
(1) 学习linux

(2) 参加运维培训班

(3) 学习python

(4) 多思考、总结、实践

8. 参考资料
(1) Java应用运维 by bluedavy

http://blog.bluedavy.com/?p=363

(2) 我们需要专职的QA吗? by 陈皓

http://coolshell.cn/articles/6994.html

(3) 程序员技术练级攻略 by 陈皓

http://coolshell.cn/articles/4990.html

(4) Why Python? By Eric Raymond

http://www.linuxjournal.com/article/3882

Eric Raymond的Why Python?的中文翻译

http://blog.donews.com/ygao/archive/2005/10/25/602051.aspx

(5) 程序员需要具备的基本技能 by 陈皓

http://coolshell.cn/articles/428.html

初稿写于2012年5月,2015年4月9日修改了部分内容。

(全书完)

上一页  [1] [2] [3] 


C/C++开发人员需要的技能