2014-2015 个人总结

随手记:总结

{

1.2013-6月份毕业,2014-6-23在达内培训完,就职于济南巨数信息薪资3000元,此时懂得不多,除了uc 和c++写写简单的网络编程,处理问题思维开放外,想ctdb,lvs,dns,长连接,网络的原理(网卡,网管,路由,域名服务器),python,前端页面html,js,shell脚本,apache,tomcat,nginx,tornado,php,ruby,hadoop,stmp,snmp,ntp,samba,sendmail,mysql,sqlite,pop3,yum,inux系统优化,知之甚少。。。更不用说解决的问题

2.来到公司 第一个小项目是 tfsweb的测试

测试:

需要:测试用例,测试环境

测试分为:{在对测试对象了解程度上分成了 黑盒测试,白盒测试}

{在针对侧重点上分为功能测试,性能测试}

测试用例的测试内容:测试内容要根据 产品的每个需求来  细分测试点

测试阶段:测试分为building阶段,即开发内测;测试通过 再由第三方测试;测试通过后上线,有问题再改。(这可能不正规)

行动:测试主要是自己根据需求写一些shell脚本,或用c或c++、python写程序对相应接口进行测试。

感想:当时测试时,并没有去先了解 测试(测试的目的,测试的种类,测试的正规流程,测试的表达样式即测试用例的格式,测试的处理方式(如何处理bug),有没有现成的测试流程系统可用,同行业的测试,都),当时测试很零散,没有一个测试流程,也没有去了解测试目的,只是想当然的决定,测试就是为了找出bug,并没有想最主要的目的是什么(是客户有需求,所以才做了软件,软件没有达成顾客的需求所以才叫bug,所以测试针对需求),测试中出现的问题如何解决(测试系统中的提交,针对到某一个测试点(出现问题的环境),解决问题想要的时间)。

3.tfsweb测试完成后,进行ctdb,和 lvs的搭建,了解搭建一个服务 或使用一个库 一个编程语言

这里以lvs为例

了解:什么问题亟待解决,才会出现了lvs(当一个(高并发tcp)服务,在一台机器上运行时,硬件上是有连接数的极限,并且一台机器一直高负荷运行,使用年限,和出现问题的频率,不断更新机器费用上,为了①突破硬件极限,来提高性能,②增加机器寿命,来减少成本,③均衡负载,来减少出错次数,提高可用性。)

行动:从运行环境(依赖关系,依赖的库)入手,工欲善其事必先利其器,环境有了,就从hello world的等级开始,这很重要(增加兴趣和自信),然后根据需求(一切的目的在于需求,你的需求,即你用它来解决什么问题)完成搭建。

验证:如何判断你的 库,你的环境,你的服务搭建成功,一般有命令或程序来验证

笔记:整个过程 记录在案,方便以后搭建

总结:对该软件的优缺点进行总结,给出建议。

4.搭建玩完vs和ctdb的组合环境后,又进行了 企业邮箱的搭建,和http访问svn搭建

了解:企业邮箱解决了

①公司内部信息的安全性,服务器使用的自己公司内部,

②对公司人员根据部门进行分组,可以的对一个组进行发邮件,提高了效率

③使用自己的域名,公司的正规性

行动:企业邮箱运行环境(smtp(发送邮件的server服务)、pop3(80年代以前--接受邮件的server服务,client端读取邮件后,server会把邮件从服务器上删除)、IMAP(新款80年代--接受邮件server服务器,将邮件分类整理,读取邮件后不会在服务器端删除邮件)、sendmail(mail服务,解决了3个需求,添加用户)、openwebmail(web服务)、apache(http服务器))

1.安装apache,从页面访问一个hello world页面

2.安装IMAP、SMTP、sendmail、实现局域网内邮件收发

3.安装web,把apache和sendmail连接起来。

4.进行ICP工备案--》域名,域名持有人照片,身份证,公司证本号、阿里云服务器编号-》等待通过-》备案号和密码。

5.对tfsweb系统的二次开发,和优化。

二次开发要求,对一个陌生的的程序添加自己独有的需求来解决客户的问题。

程序:逻辑(架构,如:多线程、多进程、事件驱动epoll,select)、业务(请求和响应,如:请求处理和响应处理函数。)、配置文件(IP,port,等等)

行动:

1.对原程序使用的完全掌握,(包括:搭建,所有操作)

2.修改和添加业务(一般的二次开发,框架是很少去改动的(一个好的程序框架是健壮的),优化开发 以业务为主(增加什么功能,修改什么功能,去掉什么地方)),一般有文档或例子,安部举办即可,没有的就需要去了解这个框架,开源框架例子很多,自己写的。。跟踪日志 先找分发函数--》分发的的各个类--》各个业务实现 如:

修改A功能:-》一边看日志一边操作A功能,来跟踪对应代码

添加A功能(自己先完成一个独立的A功能):-》在分发函数,添加A功能类-》测试

3.优化框架(二次开发到第2步就可以,第3步主要是优化:如果对程序架构改动量很大的话,建议自己重写一个,或使用开源框架。):优化的目的:提高稳定性(保证长年运行下去,不会有cpu、mem高占用,卡死等等状况),反应速度(页面的响应速度,大文件传输的压缩率,局部响应ajax,配置文件优化不用重启自动加载)

4.文档整理,日志优化,添加必要注释(部署文档(部署环境,依赖关系、安装步骤、问题解决方案),日志设置等级,注释方便以后自己修改)

实例:客户的问题 1.有些功能为实现 2.有些功能操作时有问题 3.添加程序的实时性,去掉数据库(sqlite)。

tfsweb采用tornado架构(高性能python http服务器框架)web服务和一个自己写的server端(负责 agent交互,tfsmaster交互、sqlite交互)、页面(以bootstrap样式为主样式的,的网上开源的后台页面)、配置(配置项很多明知故写,给一般用户太多权限)

根据 行动2 跟踪日志,和浏览器日志chrome,找到对应的业务函数,明确它目的的前提,来读懂他的代码。再进行更改;

根据其他业务的实现,找到一个业务实现的整个过程,从客户端请求-》分发函数-》业务实现,按照整个例子,添加一个自己的功能,测试。

去掉数据库,需要找每个对数据库进行操作的函数,进行修改。

总结:(用户是没有理论知识的,所以有些操作,给他一个条条框框限制住他,使他的操作有限可控。)

6.tfsweb2 优化,验收通过后,重心以raid卡为主

1.raid卡项目讨论(架构(1主对多从,对树形结构是高效的,对web多对多是低效(配置文件是高效解决方案)),传输协议(protobuff),框架(父进程监控,子进程线程池处理),逻辑业务(map分发-》逻辑处理函数--》logic的具体实现-》结果返回给主控))

2.调用raid的库文件,包装一下库反馈的结果,结果返回给 主控

3.raid卡的库 自带了一个test命令,每个函数都是根据,这个程序进行的拆分作为实现。

总结:通过这次开发,我对整个开发流程有个一个详细的认知,掌握了开发流程,对开发充满自信

反思:开发的周期要预留出2倍以上的时间,给自己预留余地,开发过程要有 主次先后(保证先开发的东西可以给用户使用,未开发的功能,用户未察觉(隐藏))

7.raid卡开发完毕后,又接受了 2个程序的迁移(租这儿网,和),和一个java程序的部署(地主汇,web端,和安卓端)

1.使程序在新的环境中能正常运行,可访问和使用。

了解:1.通过接触到这个几个项目,了解到  数据库(mysql)的重要性,mysql的远程访问,用户添加,设置编码格式,导出,导入。一个web2.0的网站,用户的数据都存储在 数据库中。

2.地主汇是java程序,他需要的环境为apache(或nginx)服务器,tomcat(动态页面服务器),mysql,jdk(java运行环境),2个java程序可以配置2个tomcat启动这个两个java程序。

3.租这儿网是ruby程序,采用了rails框架来完成的。同样需要nginx(apache),mysql,ruby(未接触过,需要了解按步骤),rvm(类似于yum)没有文档,不知道还需要什么

行动:最后 租这儿网 没成功,主要原因,前期没有先去按照步骤了解(ruby),花了很多时间,再者,后期需要很多插件,这些插件很多无迹可查,再加上在root下操作的习惯,在某个用户下没有经验,ruby的环境搭建的有问题。后期的从雅虎把域名转出上,因为环境问题,也未能成功。从失败中,反思得出了,了解学习一个语言的过程,和部署文档的重要性,还有错误日志也是查找依赖关系的依据。

8.因为做的是存储,所以我去了解了同类产品 ceph,glusterfs ,通过对同行业的产品的了解,让我接触到了很多优秀的框架和思想,为后期的 gangla等监控系统的学习 ,为tfsweb3尊定了坚定基础。

9.tfsweb3的设计和开发。

前期调研(了解同类产品): 前期通过对同类产品的了解、使用,和对开发流程的认识,一些大产品的思想,集10个月的所有成果结晶。

①tornado很高效便捷,所以继续沿用,agent端以前采用c和c++写的,架构上有潜在漏洞,考虑过boost库的框架,但是c++开发周期上要比python长几倍,性能又不要求极致,所有决定采用python开发,后来发现twisted框架,tornado就是基于它开发的,很多游戏也是次优的twisted框架,通过了解使用几个例子,发现很便捷。

了解(需求):①对tfs多机的支持(主要)

②对每个cluster上服务的监控和设置

③信息的实时性,去掉对数据库的强依赖性

④安装部署的简洁性,很对用户的限制

行动(设计,开发):

(框架)①web采用1对多对多架构,一个代理对多个web对多个agent,web只负责接收客户端请求分发,去除繁琐的agent的主次关系agent只负责处理并返回结果,集群内配置文件要一致,配置文件要注明集群内主机的IP和port。

(架构)②web采用tornado架构,agent采用twisted架构,二者都以deaom形式运行,日志写在/var/log/目录下。web启动要指定配置文件路径

(开发)③开发以agent为开始,然后web,界面依旧采用bootstrap样式,开发周期*3进行申请,最后要 实际开发时间*2的周期来完成,2个月的时间挺清闲,本可以提前完成的,但是心态上没有及时调整,也比较懒散,很颓废啊····,完全不积极,值得反思,“不做垃圾”,“超越自己”

(测试)④书写测试用例,功能测试通过后,性能测试不是很理想。后期以优化

(总结)⑤部署(需要依赖的库,环境)文档,设计文档的完善,接口文档的书写

10.看一些运维精英的 博客,高性能服务器集群了解,他们的职业经验中遇到的问题,解决的问题。

11.自己的几个项目:

}

时间: 2024-11-08 23:08:40

2014-2015 个人总结的相关文章

2012 2013 2014 2015 Skype for Business MVP-变迁

2005年,初识Live Communications Server 2003 2008年,相识Office Communication Server (OCS) 2007 2010年,相知Lync Server 2010 2012年,相恋Lync Server 2013 2015年,告别Skype for Business Server 2015 或许,我应该走了,不是您不好! 为您付出够多,但还是得离开! 不是吗? 2012 2013 2014 2015 从Lync MVP到Skype fo

2014 -> 2015

2014年初在公司的发展不太顺利, 发现比好多小伙伴的发展速度都要慢了,钱不多,职位也不高,做的事情成长也不快. 为了职业发展考虑,年中就一直想换一个好一点的工作机会, 年中拿了好几个offer, 有些Offer也挺好的 (去阿里也挺好的,他们股价现在涨的这么高是当初没有想到的,而且阿里给钱确实多,就是工作累了点:而创业公司的待遇不错,万一能做好,股票更是很大的收益) 结果最终选的还是第一个Offer, 也算是牺牲了职业发展吧,求个稳定,为家庭换一个更好的环境.人生总是面临一个个选择 2014年

2014——2015总结

从上次总结到现在已经有6个月了,是该沉淀一下这段时间的学习了. 一.学习内容. 权限系统: 这半年我做了两版权限了也对权限系统有了一个深刻的认识了.对权限的核心部分也有了一定的提炼. Spring: 这半年主要对Spring的源码.SpringIOC如何设计与实现.SpringAOP如何设计与实现.Spring中的IOC与AOP如何结合的设计与实现.SpringMVC的用法.SpringJDBC的用法这几个方面进行了研究,对于Spring团队的智慧感到非常震撼.Spring里面的源码没有一句是浪

Buffcraft——ACM ICPC 2014–2015, NEERC, Northern Subregional Contest-B(模拟)

Input file: buffcraft.in Output file: buffcraft.out Time limit: 2 seconds Memory limit: 256 megabytes Brenda enjoys a new role-playing game Buffcraft. Shields, swords, books and other carry-on items do not affects character stats in Buffcraft. The on

ToolDesigner.v7.5+InventorCAM 2014

Flow Science Flow3D 10.1.1 win_linux\ Golden.Software.Surfer.v12.0.626.x86.x64\ InventorCAM 2014 SP4\ Mician Microwave Wizard v7.5 Win32_64\ NUMECA FINETurbo 9.1-2 Win(x86,x64)+ linux(x64)\ SofTech.ToolDesigner.v7.5\ Thermoanalytics RadTherm(IR) 11.0

ccf历年真题(截至2015年9月)

问题描述 试题编号: 201509-1 试题名称: 数列分段 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? 输入格式 输入的第一行包含一个整数n,表示数列中整数的个数. 第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔. 输出格式 输出一个整数,表示给定的数列有多个段. 样例输入 8 8 8 8 0 12 12 8 0 样例输出 5 样例说明 8 8

写给2014的自己

2014 | 2015 时序更替,忽而岁末,礼仪之邦,感谢有你! 回顾历史: 2014年,那是一个阳光明媚的春天,我鼓足勇气,卯足干劲儿,给自己一次选择的机会,果断从上一家公司裸辞,重新踏上Web征途.几经纠结之后,最终选择了正能量满满的礼仪之邦,一年的时光悄然而逝,感恩这一路上给予我鼓励和帮助的家人,让我收获的不仅仅是年龄.感恩!!! 初识Web: 打酱油阶段,也称熟悉公司业务.了解了短信平台,微信平台. Asp.Net+NHibernate+LigerUI 时代,学习本框架,以及实践研发报表

2014年,回顾好程序员不平凡的那些事儿

告别了2014,我们迎来崭新的2015,回顾过去一年,不论你有没有完成自己心中的梦想,有没有离你的梦想更进了一步,都已经成为了2014.然而2014,无疑是互联网科技蓬勃发展的一年,那么作为IT培训潮流的好程序员发生了那些不平凡的事儿呢? 关键词一:颠覆-高端课程 从2013年末,好程序员就在做各种前期准备,挑选最精锐的讲师部队,筛选最实用的课程,不断完善,要做真实意义上的高端课程. 在中国真正做到IOS与Android高端培训的机构几乎没有,放眼望去,底层的培训机构遍地而立,鱼目混珠. 针对这

爱奇艺、优酷、腾讯视频竞品分析报告2016(一)

1 背景 1.1 行业背景 1.1.1 移动端网民规模过半,使用时长份额超PC端 2016年1月22日,中国互联网络信息中心 (CNNIC)发布第37次<中国互联网络发展状况统计报告>,报告显示,网民的上网设备正在向手机端集中,手机成为拉动网民规模增长的主要因素.截至2015年12月,我国手机网民规模达6.20亿,有90.1%的网民通过手机上网. 图 1  2013Q1~2015Q3在线视频移动端和PC端有效使用时长份额对比 根据艾瑞网民行为监测系统iUserTracker及mUserTrac

【巨坑】springmvc 输出json格式数据的几种方式!

最近公司项目需要发布一些数据服务,从设计到实现两天就弄完了,心中窃喜之. 结果临近部署时突然发现.....  服务输出的JSON 数据中  date 类型数据输出格式要么是时间戳,要么是  {"date":26,"day":1,"hours":21,"minutes":38,"month":5,"seconds":22,"time":1498484302259,&qu