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


     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
    <mapper namespace="com.p2p.user.dal.dao.ChargeLogDao">
    为了偷懒,直接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数据,则不行,会导致已登录用户突然掉线。
  • 相关阅读:
    javascript Date.prototype
    Mac 安装node.js
    element-ui适配pad 遇到的问题
    GCD实现异步任务同步的两种方式
    颜色判断
    ARC下方法重复问题
    检查IDFA的方法
    mac 下安装ecplise
    注释使用
    Xcode 8.0 控制台打印问题解决办法
  • 原文地址:https://www.cnblogs.com/qitian1/p/6462908.html
Copyright © 2020-2023  润新知