文档章节

简要总结最近遇到的5个问题

FansUnion
 FansUnion
发布于 2015/10/22 10:29
字数 701
阅读 1
收藏 0

1.数据库字段命名的3种方式。
  uid、user_id、userId。
  从数据库角度来说,最好的是user_id。
  从Java程序来说,最好的userId,查询的时候,不用再做字段映射。
  从简洁的角度来说,uid最好,看了简单,而且也不用做字段映射。

  目前主要使用的是user_id这种风格,再考虑是否使用uid和userId这种。按照数据库的标准来定义字段,感觉也没啥实际好处样的。
强迫症扔扔纠结啊。
  类似的,还有3个时间字段create_time用ctime,update_time用uptime,delete_time用deltime。

2.冻结资金也是有类型的。
   投标、提现、转账等场景可能都有冻结需要。
   项目中,用的少,简化了,没有要这个冻结类型字段。


3.收费接口。
  收费,不一定要实时去扣费。 

  插入收费log后,维护一个待处理的数组,待处理的收费id。定时,去处理。而不是定时去数据库查询,耗费性能。
  启动服务器时,需要新建一个线程,加载数据库中待处理的收费id到数组。
  因为,服务器异常关闭时,上次没有处理完的数组,需要再次加载才行。

4.收费统计等统计功能的表结构。
  2种不同形式的表结构
  第1种:我以前主要用这种。
 
id、user_id、interest_management_fee、service_fee
  好处是,可读性很好,更新也方便。
  不好的地方是,如果需要新增收费类型,升级的时候,需要修改数据库,升级比较麻烦,而且存在风险。
 

 另外,根据Boss的经验,一套系统卖给不同客户时,每家支持的收费类型可能还不一样。

  因此,有了第2种,Boss比较推荐这种:
  id、user_id、type
 用type来标记收费类型,新增收费类型,升级,应对不同客户需求时,都很好扩展。
 
  缺点嘛,自然是有的。

5. 现在的产品,越来越拼体验了,而不是以前那样堆功能。

  worktile和淘宝钉钉的默认头像是,首字母或者姓名的第一个字母,比如“雷文”的“雷”。这个时候,不同用户的默认头像是不一样的,感觉非常友好。

   产品体验方面,支付宝、worktile等越来越好了,功能感觉倒是不太多。

   以前感觉很多产品,都是拼功能,现在拼体验。
   我觉得,应该是现在的产品太多了,用户的选择多了,光拼功能是不能应对市场竞争的。
   这一点,正需要注意。 

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
FansUnion
粉丝 57
博文 858
码字总数 825464
作品 0
丰台
高级程序员
架构组件之--ViewModel

前言:这是自己的的第一篇文章,希望可以把自己所学到的东西都能总结并分享出来,希望可以做好。 一、简介 2017Google I/O大会上google引入了lifeCycle组件,说来惭愧,最近才来使用,这也是...

墨迹_T
05/27
0
0
markdown语法 简要整理

最近由于写文章博客多了的原因, 用到markdown比较多, 对于markdown只是了解了一点, 而markdown的语法写法方式比较多,那么现在来做一个总结整理, 选一些比较简单的记录下来, 以后用起来就得心...

董启凡
2016/01/21
35
0
深入理解Docker ulimit

深入理解Docker ulimit 【编者的话】Docker大规模应用后,如果你没踩过坑,说出去肯定没人信。昨天就遇到一个ulimit的经典问题:业务Container内ulimit值太小,导致启动失败。ulimit问题,老...

fdhay
2016/08/03
138
0
Shareplex 错误 can't open or read object cache file

Shareplex 是一款数据复制软件,功能和性能都还不错,最近在安装中,遇到如下问题,解决后将记录总结成此篇,以便以后查询。注:shareplex 不是开源软件 问题描述: spctrl (win2008:2100)>...

MartinKing
2016/05/02
134
0
2015vs web应用IIS发布

最近学习的过程中接触到了web应用的发布。 我们电脑中自带web应用的发布服务器IIS,但是需要开启相应的服务。 一、开启IIS服务器过程 1.打开控制面板里的程序和功能 2. 3. 如果这个不打开的话...

cjune
04/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

启动线程以及安全终止线程

启动 使用start()方法可以启动线程。 start()方法的含义是告知线程规划器线程已初始化完毕,可以分给这个线程时间片了(执行run()方法)。 安全终止线程 示例代码 import java.util.concurr...

karma123
10分钟前
1
0
Python+OpenCV 图像风格迁移(模仿名画)

现在很多人都喜欢拍照(自拍)。有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma、versa 等,可以把你的照片变成 梵高、毕加索、蒙克 等大师的风格。 这...

crossin
14分钟前
1
0
karabiner json语法

karabiner json语法 to_if_alone 如果同时制定了to, 那么to对应的key必须是非可见字符,例如control,shift或者command, 为什么呢? If to events are specified, to events are released befo...

黄威
15分钟前
1
0
学习设计模式——工厂方法模式

1. 认识工厂方法模式 1. 功能:定义一个用于创建对象的接口,让子类决定实例化哪一个类,该模式使一个类的实例化延迟到其子类中。 2. 组织结构: Product: 定义工厂方法中用来创建对象的接口...

江左煤郎
15分钟前
1
0
常用的大数据技术有哪些?

大数据技术为决策提供依据,在政府、企业、科研项目等决策中扮演着重要的角色,在社会治理和企业管理中起到了不容忽视的作用,很多国 家,如中国、美国以及欧盟等都已将大数据列入国家发展战...

董黎明
18分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部