欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

2015年工作中遇到的问题:21-30(这10个问题很有价值)

程序员文章站 2022-05-31 16:01:07
...
21.mysql数据库的数据类型numberic和double是不同的。

numberic只能表达最长65位精度的定点数

而double可以描述的是允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308

虽然numberic的小数位数可以更长些,但是表达的值的范围远不及double。

就这些区别。

不能光考虑精度,同时要考虑值域范围。

另外一个是定点,一个是浮点,运算时间效率也是不一样的。

参考网友的答案。

22.代码中是否有必要使用代码块。

method a(){

{

}

有的时候,一段代码使用到了多个变量,提取成单独的方法比较麻烦,但是代码太长的情况下,可读性变差了。

看到Boos部分地方使用了代码块,代码可读性提高。

让人纠结的是,一直以来不用代码块,个人倾向于在不同代码块的头部,加上一行注释,简要描述一段代码的核心逻辑。

23.密码的安全性问题。

表单输入的密码加密,安全控件,https,传输过程使用对称加密,

程序内部增加校验密码的接口,让“程序员也不知道实际的密码”。

处于简单考虑,前期没有怎么处理。

24.资金、利息等Double比较时,经常会出现误差。

我个人的一种想法时,资金保留到分的下一位“粒”,在四舍五入,或者只舍不入的情况下,也更精确。

Double相减,不与0直接比较,而是相减取绝对值,与目标误差,比如0.001比较。

25.VIM设置行号。

修改/etc/vimrc,增加一行配置 "set nu"。

这样,每次打开文件就显示了行号。

但是,又发现一个问题,有了行号,选择直接复制的,带了行号,粘贴之后,还需要手动删除行号,尼玛。

26.最近p2p跑路平台太多,*部门和第三方支付的担忧比较大。

支付宝和财付通已经停止对不知名的p2p平台,提供第三方支付服务了。

某好友正在帮人开发p2p系统,第三方支付这一块卡住了,只能找一家提供服务的第三方支付公司了。

要不然,帮客户开发的系统卖不出去,钞票无法到账。

听说国富宝还是可以接入的,这样还好,可能是国富宝这种量级的,客户不太多,还没有到挑选客户的地步吧。

不知道,这是个好事,还是坏事呢。

27.SpringMVC表单验证。

网上说Spring自己也有一套验证组件,spring-modules-validation.jar;没有用过。

公司项目中,用的是Hibernate的Validator。我个人对Hibernate的印象是,比较大,很笨重。

我还是更倾向于Jodd的vtor验证组件。

http://jodd.org/doc/vtor/index.html

jar包非常小,还需要实践看看。

28.Mybatis配置文件。

ChargeLogSummaryDao.xml

为了偷懒,直接copy然后修改的,结果只修改了部分内容,namespace没有修改。

导致项目启动的时候,总是提示ChargeLogDao.add已经存在。

找了半天,才定位到问题原因,通过搜索“ChargeLog”。

29.Nginx配置文件测试是否正确。

nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

nginx -s reload,重新加载的过程中可能会发生语法错误,先检查下,比较靠谱~

30.Cache有2套实现。

Cache定义缓存接口,底层可以是Redis和Memcache,这是底层技术方面的选择。

但是,需要注意的是,同样是Redis实现,业务方面也可以不同。

比如登录和Session相关业务与缓冲普通对象数据,需求是不一样的。

用户登录的数据,更加关键。

根据Boss的经验,数据量过大的情况下,最旧的缓存数据可能会被覆盖。

对于普通的业务数据,完全是可以接受的。

但是,对于Session数据,则不行,会导致已登录用户突然掉线。

以上就介绍了 2015年工作中遇到的问题:21-30(这10个问题很有价值),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。