201711月工作总结

今天是201711月最后一天了,对自己这个月的历史做个回顾:

1.对后台查询数据的SQL做了一些优化

(1)对需要分组(group by)的数据,先加过滤条件筛数据,再进行分组。也就是用WHERE …….GROUP BY ……代替GROUP BY……HAVING……

(2)用union all代替or,这个我没有合适用的场合。

(3)如果一个查询语句中包含子查询,将过滤条件加在子查询中。如:

SELECT c.name,c.age
FROM(
      SELECT a.name,a.age
      FROM a
      UNION ALL
      SELECT b.name,b.age
      FROM b
    )c

将过滤条件加在查询a,b表的子查询中。

(4)去掉查询不必要的字段。

2.想将公司的项目整合成Maven+SpringBoot的形式,但是最后整合失败了。总结了几点经验教训:

(1)自己对maven的熟悉度不够,对maven的使用仅仅停留在用maven建过几个maven project,写过几个小demo,但是对maven常用的命令和部署方式不了解,以致在整合的时候,不能利用maven命令帮助自己找出出错的依赖。

(2)在整合的过程中,经常出现classnotfound,这个错误大多是因为jar包的版本不匹配或是jar包冲突了。我都是使用谷歌浏览器搜索答案的,在百度上基本就找不到类似的问题,而谷歌浏览器可以找到更多的英文网站,尽管有一些回答,自己的英文水平看起来是云里雾里的。自己在整合的过程中没有把出现的错误保存整理下来,现在遇到又得再试错一遍,是很浪费精力的。所以建议大家要学会把错误整理下来,可以节省自己很多时间,也可以形成自己的知识库。

(3)自己是花了很多时间在这上面的,最后在昨天晚上放弃了,因为有天下午跟人讨论的时候,才有点恍然大悟,自己掉进自己打的洞里,maven和springboot都只是一种工具,无论使不使用,都不会影响我最终的业务逻辑。

3.公司准备将一个旧版的.net系统转成java版本
(1)这个.net系统原本的开发离职了,这个系统上线也至少有6,7年了,资料非常少,数据库字段都没有完整的说明,涉及的工作流流程也没有人说明,只有两份某一个时期的文档,而目前也没有.net研发参与,只有java的开发。

(2)完成这个任务,最困难的是这个系统和产品上的区别没有人去做一个全局的对比,只能一个模块一个模块摸着做,自己得一点一点对比两者之间有什么区别,也没办法看之前的代码,数据库的表关联都不清楚。

(3)最近着手开始做一个模块的编码,先做出点东西,不然总是看着,也看不出什么东西。因为和产品上有些区别,产品原本做好的一些组件现在都使用不了,对于一些常用的功能,如果不做成通用的组件,就会比较冗余,做起来又比较费时间,这个任务什么时候可以完成也是一个未知数。

4.在原本的增加和取消功能上增加手机验证码
(1)这个需求不是一个特别有技术含量的需求。自己建立了一个表用于存储验证码的发送记录。在处理字符串类型的字段时,默认都设置成了Empty String,主要考虑的是索引对NULL不起作用,而NULL实际上还是需要空间的,而Empty String不需要。字段的长度设置也尽量符合实际大小,不设置过大的长度避免浪费存储空间。而对于主键,自己考虑要不要设置成int类型,数字的查询速度会更快,但是因为主键的生成是采用的UUID,所以最后还是用的varchar。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值