1、广告联盟系统
这个项目是从去年末开始的,到今年初完成并上线,后期也有进行一些修改。
这个项目是基于ThinkPHP框架开发的,网页设计师和前端工程师负责设计和制作网页和JavaScript,而我负责数据库设计和后台开发。
项目的需求大致是:用户成为会员后,可以通过我们提供的代码将各种形式的广告投放到网页或客户端,以推广我们的产品。每天会自动定时读取统计数据,如安装量、注册量等,并根据一套算法计算广告推广费用,最后支付给会员。
后台的主要功能包括:会员管理(会员审核、会员资料、网站和软件客户端的绑定等)、广告管理(添加和删除广告,广告类型包括弹窗、对联、软件等)、结算管理(每天自动计算广告费用,生成报表并存档记录,支付管理等)以及客服管理等。
在这个项目中,我主要用到了以下技术和学到了以下知识:
- RBAC(基于角色的访问控制):这是ThinkPHP自带的功能,可以对管理员进行角色分组,不同角色具有不同的权限,可以对控制器的每个方法进行权限结点分配。不过,我也希望有机会研究一下比RBAC更好的权限控制方式,比如Auth类认证。
- 分表和事务:由于每天产生的数据量很大,需要进行分表。ThinkPHP提供了分表的方法,而我主要负责数据库设计,如何合理地建立表和字段。在开发过程中,我也多次调整了表结构。由于涉及到“钱”方面的计算,所以在计算费用时要非常谨慎,计算的过程要先后向四个表中写入数据。为了防止其中某一步出错而导致数据异常,我采用了MySQL事务机制。
- ThinkPHP缓存:许多地方重复用到相同的数据,还有的广告类型可以设定不同的时间出现不同的广告。在一定的时间内,只需读取缓存即可,使用ThinkPHP缓存可以提高程序的效率。
2、下载站转换程序+改版+扩建
之前,9553下载站是ASP程序+MSSQL数据库,现在要转换成PHP程序+MySQL数据库,并且用PHPCMS进行二次开发。
最麻烦的是数据库的转换,需要将之前的MSSQL数据库的表和字段与现在的PHPCMS的MySQL数据库一一对应转换。幸运的是,有了Navicat这个工具,可以方便地将MSSQL数据库导入到MySQL中。然而,关键的还是要编写大量的SQL语句,并结合PHP程序,按照PHPCMS表的设计将数据导入。此外,新站的所有URL也要保持与旧站完全一致。由于两个不同语言的程序差异较大,同时考虑到旧站的一些要素,这是一项让人头疼的任务。
虽然这些问题都解决了,但由于美工忙于其他事情,新界面还没有设计出来,所以暂时还使用着旧的界面。为了解决这个问题,我将所有旧站的页面保存到本地,并修复了以前页面中的许多不规范之处。
我用PHPCMS很好地完成了新站的功能,并重新同步并导入线上数据库。经过多次测试和修复BUG后,新站正式上线了。
接下来,全新改版的界面出来了。新版在界面设计和功能上都有很多不同,是一个全新的升级改版。于是,在原有基础上,我开发了新的功能,并使用了新的页面,一个崭新的下载站应运而生。然而,修改工作从未停止,我不断调整界面并加入新功能。尤其是在后台,我加入了许多方便编辑的功能,可以说有好几十处细节改进。
之后,网站还进行了扩建,包括软件站、单机站、手机软件站、资讯站以及手机站。每个站都是一个独立的子站,每个站都有专门的专题模块。随着站点规模的不断扩大,我们进入了维护阶段。最终,一个庞大的站点呈现在用户面前。
新站的界面和JavaScript由网页设计师和前端工程师负责完成。一开始,我是一个人负责开发,后来另一名PHP开发人员加入,我们一起完成了项目。
希望未来的项目能够有更好的需求分析,而不是在开发过程中不断提出需求的改动。这样会提高效率并减少开发的难度。
在这个项目中,我主要用到了以下技术和学到了以下知识:
- 不同数据库类型(MSSQL和MySQL)以及不同表结构数据库之间的数据转换。我熟练掌握了各种SQL语句,并结合新站程序的功能和数据库表设计。在转换过程中,有一个地方开始转换很慢,后来我将一个表的两个字段查询出来放到数组中,并与SQL查询结合使用,这样大大提高了效率。
- 学到了PHPCMS二次开发的各个方面,包括自定义标签、多站点、独立模块开发等。我还研究了PHPCMS的源码,学到了很多关于web开发的技巧和新的思路。
3、九游游戏数据接口+游戏盒子
这是一个C++开发的游戏盒子客户端中调用的一个网页栏目。这个栏目通过读取UC九游游戏中心的数据,将其保存到本地数据库,并定时进行增量同步。前端页面通过展示这些数据。这个项目被集成到小游戏网站的后台中。
在这个项目中,我主要用到了以下技术和学到了以下知识:
- 学会阅读第三方提供的文档和数据字典,构造签名,读取数据,并实现增量同步。
- 通过编写PHP接口,方便C++获取数据。同时,在前端页面上也可以设置标记,以方便C++在客户端中进行操作。
4、单机站转换程序+改版
这个项目与软件站转换程序+改版过程相似。也经历了几个主要步骤:数据库转换、改版、需求改动和修复BUG。
此外,我还帮助一游改动了一些东西。还有一个WordPress的站点,经过间歇性的折腾之后,没有下文了。
总结
以上就是我今年工作的主要内容。在不断努力和思考的过程中,我获得了很多收获。在做单机站转换程序+改版的过程中,我发现比起软件站转换程序+改版来,我更得心应手。在重新实现相同功能的时候,我采用了更好的方法,程序的实现也更加简洁和高效。
除此之外,我还研究了WordPress的源码。尽管它只是一个流行的博客程序,也不是MVC架构,而是面向过程和面向对象相结合的软件,但它的代码非常优雅,许多地方非常高深。通过研究WordPress的代码,我学到了很多写代码的技巧和巧妙的思路。在编写代码时,思维方式非常重要,我将继续学习和提升。
在新的一年里,除了加强我在web开发方面的工作和学习外,我希望能承担更多技术含量更高的任务,接触到PHP在web开发领域更深层次的知识和技能。
前端工程师个人工作总结汇总6
工作回顾
在我进入公司的这八个月里,我陆续接触了公司的软件开发平台,一些已经完成的项目,如美科斯OA系统、中邮物流管理系统、富阳供销社等。同时,目前还在进行两个物流公路港系统的开发,这让我对公路港的运营模式有了更深入的了解。我也对公路港系统进行了深入的研究,但还需要进一步的理解。期间,我还进行了长达两个多月的出差。在出差期间,我对公路港的运营模式以及结合互联网+,打造全新的双线运营模式有了更深入的理解和学习。
在实施安装和培训我们自己的物流管理系统、信息交易系统和诚信系统的过程中,我学到了很多东西。通过与客户和友商的沟通,我也学到了很多相关专业知识。在来公司之前,我从未接触过信息系统和计算机硬件方面的内容,但在公司给予的机会下,我逐渐熟悉了解了一些相关知识。在工作之余,我也在努力学习,并与同事、客户和友商进行交流,学习先进的开发技术,向他们请教相关问题。
存在问题
1、由于刚开始对公司开发平台不够熟悉,所以在了解客户需求和开发功能以及表单的过程中,多次出现因需求变更而不断修改的情况。这个问题困扰着我,因为客户的需求不明确,每次交流中需求都在变更,导致效率较低。
2、在工作过程中,涉及到很多我不熟悉的领域,我需要不断学习。