编程经历回顾

(本文上接第一篇博客(https://www.laoqiange.club/2018/12/24/hello-world/))

16年过春节的时候是我大三下学期,当时已经再考虑毕业之后做什么了。进入大学一开是我就再思考了,当时没有方向,所以找了很多方向。大一第一次其中考试,只考了两门(微积分99,化学97),因为这个成绩我可以进入实验室,接触研究生和博士生,接触完了之后发现他们也很迷茫,有的只是为了一个文凭,因此打消了读研的念头。两年半的时间里每天看书一个小时,看过电子方面的(数电,模电,各种相关的基础书籍,买个实验装备….),嵌入式方面的(51单片机, UC/OS2 操作系统,汇编语言…..),web方面的(htmt,php,mysql ,JavaScript…..),网络技术方面(交换机,路由器,tcp/ip,还会制作网线),文学方面(金庸,古龙,三毛,琼瑶,唐家三少,陈董,土豆,西红柿,王小波,还有一批名著),历史方面的(五千年的历史,重点看的是春秋战国,汉,民国),还有本专业的(植物科学与技术)相关,等还有其他一大批数据和学校相关的课程(别的院的)。当时思考了两条路线,一是做web开发,二是做农业相关的规划调研(学校有一个相关的)

16年开年,大三下学期,进入校园之后,开始自己找实习了,先找的web相关的。当时先投了bat之类的大厂都是在线笔试题一轮游。后面投了一个小一点的( 北京神州绿盟信息安全科技股份有限公司 ),面试的是web开发工程师,当时的面试题师python加js,js我懂,python依据题目给的demo猜测其语法联系php的知识也是做完了。笔试之后又面了两次,就等消息了,两周之后我本以为已经黄了,不料有天中午吃饭的时候接到了offer,通知我去实习。

在绿盟科技实习了三个半月,5月16号到8月31号,大概一百天左右。开始半个月他们在讨论需求,没我啥事,负责带我的那个人就叫我看Linux,把《Linux的私房菜》的博客给我,我白天在公司看博客,晚上回学校了在图书馆里面看Linux相关的书籍,从晚上8点看到10点,半个月的时间把Linux了解的差不多。接下来半个月他们在确定需求,我就看公司的项目的代码了,公司的产品是waf,需要适应国际化需求,要更新升级。公司的代码是自己实现的框架,没有文档,和tp有点类似,我只能一行一行的看代码,碰到不懂的只是点就百度,直到把只是点弄懂。晚上回去看php的数据,看php的视频,还有html,js和css相关的书籍。又花了半个月的时间把公司的代码弄懂了,自己的整个web开发的知识体系慢慢建立了。接下来的两个半月就是开发公司的项目了,项目的开发分为三个阶段,我的第一阶段的任务是升级apache,让它指出tls1.2 。what tls1.2是啥,apache听说过,没法子,自己找文档,看书,最后升级了一下系统的openssl模块,改了下apache配置就好了,花了我两周多的时间,自己也对Linux系统更加熟悉了。后面两个阶段都是普通的web开发,写php,html,js和css比较简单。一百多天的时间,完整的参与了一个项目的开发过程,是自己对web开发项目的开发过程有了更深入的理解。

16年九月初的时候,绿盟科技问我留不留下来,我当时想去杭州和上海,回了一句“我想去外面看看”,就没有留下,九月份我休息了一个月错过了大部分互联网公司的招聘,10月份又放了七天的国庆假,最后再10月中旬找到了第一家公司(51.com游戏),后面又连续的找到了几家,最后还是去了51.com游戏。

17年开年3月初,我拿着行李来上海实习,来了之后发现是51.com的子公司(好像是一个部门分出去的,51.com发展的历史我没搞懂,有个黑桃互动,犀牛互动还有几个其他的),犀牛互动。在上海实习了两个月,每天也是挺轻松的,都是维护老项目,好多08年左右的,闲下来就看公司的代码,也顺便看了下laravel的源码。5月和6月回学校做毕业课题了。6月底7月初,毕业了,自己一个人从学校(武汉)骑行来到上海上班。

武汉到上海9天的独自骑行

17年七月,算是我正式进入职场了,在犀牛呆了一年多,每天的工作很轻松,但是很杂七八年前二三十个php开发的项目现在让你一个人来维护(一次cto说的,以前又好多人),还有新写项目要写。老项目也是自己写的框架,和tp类似,我把这些代码全部都看过一遍,这些老代码里面又很多系统性的可以学习的地方,账号系统,支付系统,商城系统,游戏gm工具,官网,微信公众号,页游的渠道对接等。新项目用的是laravel,目前最流行的mvc框架,自己也接触到了php最新的发展状况。闲暇时间也看了web相关的基础书籍。在犀牛了接触了互联网一个项目的整体体系,让自己对单个产品的构建有了更清晰认识。

18年8月中旬,我来到了恭鑫科技,在这儿的经历甚是精彩,准备写成一部小说了。

来到恭鑫的第一天下午,就开会,说是要开发一个小程序,游戏小盒子。小程序,小程序接口,微信支付,后台所有这些都要开发,而且只有我一个人要在一周之内。当时啥都没想就说好。一天理解需求,一天设计数据库和接口,一天技术选型和搭建基础的框架,3天过去了,剩下的计划是一天写后台,一天写接口。等等一周过去了,小程序界面都没有怎么上线。好在另外有个哥们说他会写小程序,就让他写了。就这样,周五勉强上线了,可以用来接入客户了。接下来的一周花了两天写微信支付,剩下三天优化了项目。总共两周,算是在线上稳定运行了。上线运行了一个月,积累了几千的用户,后面腾讯变了小游戏的政策,这个项目直接死了。

刚到恭鑫的时候,公司的服务器每到下午四点左右老是崩溃,技术负责人(老板新招的,也是把我招进来的人),说是一个月之内弄好,结果两个多月过去了,系统还是没稳定,在一次和老板沟通其他项目时脾气有的躁,双方吵起来了,只好一拍两散。

负责人走了之后,老板让我先管一下服务器,但是他还是老崩,之前的负责人把服务器加到了3台都是4核16G,数据库时一主两从4核16G,通过阿里云后台的监控发现并发在5000左右,但时新建连接数超过200就会崩,开始没法自又加了一台服务器和数据库从库,但是并没有好多少。没法子之后我来了,我先改了一下php-fpm的配置(之前的负责人把这个参数改出了毛病,导致所有服务器死机了一天)和服务的配置,系统崩溃的次数和时长变短了。但是并没有解决问题,开始分析日志了,给php-fpm加上了慢日志还有nginx时长的统计。先看的是php的日志,发现好多curl超时,给代码里面的每个curl超时都加上了超时设置。系统又好了一点。分析nginx日志发现很多499(”客户端断开连接”),有个按钮设置的弹框太短,第一次没有处理玩,又请求了下一次(php的代码也有问题,导致来回重定向),会怎加很多短时间的请求,并发一下子成倍的增加,最好增加了按钮的时间,系统算是下彻底稳定了。但是系统还是又其他的问题,为了降低问题,我有开了一台服务器放了一个nginx在代理,通过url把两个(我们自己家的墙和下游渠道接口,自己家的墙老崩溃)杂在一起的业务分开了,免得彼此影响。

老系统还有很多问题,所有的数据直接打在数据库上,请求没有防并发,所有的服务在一起,数据不准,超卖。。。。

后面我们准备重构,前后端分离,加入redis缓存,功能分离,重新设计数据库等。由于只有三个开发,其中一个后面离职了,我负责写和下游的部分,包括我们自己家墙的前端,接口,和app的交互,还有和下游渠道的交互。元旦之前项目上线,一个月的优化项目线上稳定。

19年也是围绕这个项目进行一些附属的开发,还有一些其他的项目的,学了一下python,在项目中写了苹果开发者账号的模拟登陆,用了验证udid的正确性,还有go,node在项目中用到了一点点(19年的可以看我的博客,主要是每个月遇到的技术问题)。

在恭鑫的一年多的时间里,完全的设计开发上了好几个项目,自己对项目的整体的开发流程从需求到部署上线有了更好的理解。

在恭鑫的这一年半,发生了很多有趣的是,也即将发生很多有趣的事,期待着我有空写成一篇职场小说把。

回顾了编程的几个阶段,每个阶段都感觉自己进步很大,同时自己也在不断的保持学习,希望自己在接下来的日子里也不断的进步

编程经历回顾》有1个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注