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

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等越来越好了,功能感觉倒是不太多。

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

时间: 2025-01-13 18:05:15

简要总结最近遇到的5个问题的相关文章

linux命令格式,获取帮助及其目录结构简要理解

我们都知道,一台计算机要是没通电,和一堆废铁没什么区别.那么,通电开机进入系统后,会进入交互界面,等待用户操作,人与计算机交互界面有两种: GUI:图形用户接口.如我们平时使用的Windows  ,linux的X window,有KDE和GOME. CLI:命令行接口,使用的SHELL类型有bash ,csh,tcshell,zshell等. 例如:[[email protected] ~]# commandbin root:当前登录的用户名. dxlcentOS:当前主机的主机名.@是一个分隔

0-Android编译系统简要介绍和学习计划

Android编译系统简要介绍和学习计划 来源:http://blog.csdn.net/luoshengyang/article/details/18466779 导语: 在Android源码环境中,我们开发好一个模块后,再写一个Android.mk文件,就可通过m/mm/mmm/make等命令进行编译.此外,通过make命令还可制作各种系统镜像文件,例如system.img.boot.img和recovery.img等.这一切都得益于Android编译系统,它为我们处理了各种依赖关系,以及提

用自己的话简要阐述struts2的执行流程

Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher.业务控制器Action和用户实现的企业业务逻辑组件.核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制.业务控制器Action和业务逻辑组件是需要用户来自己实现的.用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用. 基本简要流程如下:1.客户端浏览器发出HTTP请求.2.根据web

《亿人帮》与《新米公益》竞品分析报告(简要版)

<亿人帮>与<新米公益>竞品分析报告(简要版) --白斌 [email protected] iOS. APP版本皆为最新版 2016.12.12 竞品选择:<新米公益> 理由:都是互联网+公益,项目模式相同,两款APP均在2015年第二季度上线,SWOT四方面两者几乎是同样的起点.下面从产品的五个层次对二者进行分析并提出建议 一.战略层: 1.产品比较 产品名称 志愿者参与方式 slogan <新米公益> 走路.早起.答题 不止更好的自己 <亿人帮&

markdown简要说明显示样式

markdown 什么是markdown: ????Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. ??Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表格.脚注.内嵌HTML等等),这些功能原初的Markdown尚不具备,它们能让Markdown转换成更多的格式,例如LaTeX,Docbook.Markdown增强版中比较有名的有Markdown Extra.MultiMarkdown. Maruku等

UIResponder简要

关于UIResponder,我这边就简要的说一下响应链,firstResponder 1.响应链: 在UIResponder中有一个非常重要的概念叫做Responder Chain,个人的理解是这是按照一定规则组织的响应.处理事件的一条链表.在了解UIResponder之前还得在了解一个概念Hit-Testing.在IOS中通常使用hit-testing去找到那个被触摸的视图.这个视图叫hit-test view,当IOS找到hit-test view后就把touch event交个那个视图来处

JavaScript权威设计--JavaScript函数(简要学习笔记十)

1.函数命名规范 函数命名通常以动词为前缀的词组.通常第一个字符小写.当包含多个单词时,一种约定是将单词以下划线分割,就像"like_Zqz()". 还有一种就是"likeZqz()".有些些函数是用作内部用的或者为私有函数通常以一条下划线为前缀,就像"_zqzName()". 2.以表达式方式定义的函数 如: var zqz=function (){ return "zhaoqize"; } 在使用的时候必须把它赋值给一个变

Android内存泄露分析简要思路

工作中遇到挺多需要分析内存泄露问题的情况,现在大致简要写下思路,等之后时间相对比较充裕再进行补充. 1.明白内存泄露的判断依据? 个人总结为:持续增加,只增不减! 理解一下这8个字,配合几个命令和工具来确定一下你的应用是否存在内存泄露问题,这是很关键的,如果一开始就判断错误了,那么没有继续往下进行的理由. 命令如下: adb shell dumpsys meminfo 应用包名 [当然,比较粗略地话,可以用adb shell procrank] 这时候你可以看到一个内存使用情况表 而我们首先关注

内存溢出与内存泄漏的简要解析

我们在实际编程中经常会说到内存溢出和内存泄漏,特别对于C/C++程序来说(以下代码示例均为C/C++),因为这时我们会跟内存直接打交道.然而很多时候我们并不能完全搞明白这两个概念,有时甚至会将二者颠倒混淆. 其实从命名上也能明白内存溢出和内存泄漏的大概,举个可能并不恰当的例子.好比是往水缸里打水,本来这个缸只能装下5桶水,第5桶装完你还硬要装第6桶,缸里的水自然就溢出来了,此为“内存溢出”:缸里打满水后并没有人用,第二天发现缸里的水少了一半,第三天一滴不剩了,原来是缸底打了个洞忘补了(为什么要在

loosejar原理简要分析

loosejar这个小工具可以动态分析出应用中有每个jar包的实际使用情况,详情请参阅<通过loosejar清理应用中冗余的jar包>基本原理是利用instrumentation的特性用 Instrumentation,开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义.有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了.关于instrumentation的详细介绍,可以参阅这篇文章&l