文档章节

2015年工作中遇到的问题:61-70

jtn
 jtn
发布于 2015/04/13 15:06
字数 1197
阅读 9
收藏 0
61.实名认证的故事。
据说,官方公安提供的实名认证接口只有1个,一次调用5元钱。
阿里由于量大,和公安谈判,貌似1元1次。
经过多年,阿里积累了大量的实名认证数据,后来还对外提供了这项服务,一次调用只需要1元钱。
后来,被官方给叫停了。

还有一个故事,微博实名之后,新浪需要对几亿用户进行实名认证,需要花大笔钱。
据说,为了节省一些钱,把这个事包装成一个项目,交给了第三方公司,然后搞定了认证。

权力垄断导致的坑爹事件,这些商业公司花了好多冤枉钱啊。

62.p2p实名认证。
某小公司,为了节省钱,从网上下载了3000万的实名认证数据,导入到自己的库中。

具体到项目中,投标不需要实名认证,降低门槛。实名认证之后,才能提现。

不过呢,我发现存在“洗钱”的可能,投标的时候,用A账户,实名认证用B账户,提现用B账户。
钱就从A到B了。

63.把一个没用的表给删除了,通知了下boss,随手发了个“删了”。
  应该发“已删”,“删了”有歧义

64.有线网络与无线网络的优先级问题。
同时接入有线网络和无线网络,网络信号显示的是,“无线网络的信号”。

65.移动大型文件时,电脑会非常卡,应该是磁盘IO比较差。
I5的CPU,8G内存,按说还是不错的。

66.Windows7安装IIS,测试安装是否成功。
进入Win7的控制面板,选择“程序”然后在点击“程序和功能”,在左侧选择的“打开或关闭Windows功能”在出现的列表中选择IIS7然后确定。

iis7更改默认连接80端口的方法

67.SpringMVC的RedirectView与post请求。
网上有传言,说new RedirectView(" https://a.com/payindex", true,false, false)
第4个参数为false,是post请求。

但官方的文档不是这么说的,“exposeModelAttributes whether or not model attributes should be exposed as query parameters”,是否需要暴露参数。
RedirectView的底层实现还是response.sendRedirect,url是get实现的。

重定向2种方式实现:
@RequestMapping(value = "/recharge/applyPayment")
	public RedirectView applyPayment(@RequestParam Long id,
			ModelMap modelMap, HttpServletRequest request,
			HttpServletResponse response) {

		P2PRecharge p2pRecharge = p2pRechargeService.findP2PRechargeById(id);
		Double inputOrderAmount = p2pRecharge.getMoney();
		Money orderMoney = new Money(inputOrderAmount);
			
		modelMap.putAll(baofuConfig.getApplyParams());
		modelMap.put(BaofuConfig.BaofuApplyKey.OrderMoney.name(), orderMoney.getCent());
		modelMap.put(BaofuConfig.BaofuApplyKey.TradeDate.name(), dateformat.format(p2pRecharge.getAddTime()));
		modelMap.put(BaofuConfig.BaofuApplyKey.TransID.name(), p2pRecharge.getId());
		modelMap.put("signature", getApplySign(modelMap,baofuConfig.getKey()));
		
		//方法1,用RedirectView
		return new RedirectView(
				"https://vgw.baofoo.com/payindex", true,
				false, true);
		//方法2,直接用原生的
		 try {
			 String p="";
			for(Entry<String, Object> entry:modelMap.entrySet()){
				p+=entry.getKey()+"="+entry.getValue()+"&";
			}
			//p+=BaofuConfig.BaofuApplyKey.OrderMoney.name()+"="+
			response.sendRedirect("https://a.com/payindex?"+p);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}


重定向是否存在get和post这个概念?

68.金钱Money的小数位被吃了。
我们在“2015年工作中遇到的问题:51-60”第56个问题“SpringMVC接收参数疑问。”说道,为了能够“不创建字段,但是通过set方法接收参数”,
结果,尼玛,出大问题了。
自从增加了这个方法,
/* public void setIntegerPart(Long integerPart) {
this.cent = integerPart*100;
}*/
所有涉及资金转账的地方,浮点数部分都没有了,只留下了整数部分。
这是为何呢?

我们只能根据结果分析,WebService调用的时候,Money序列化出了问题。
调用的时候,Money是101,结果到WebService实现的时候,Money是100。

从严谨出发,我个人不喜欢在Bean中创建没有实际字段的getter和setter方法。
69.WebService通信,把Money序列化,为什么会调用setIntegerPart方法。
  经过多次对比分析,只要有setIntegerPart方法,资金相关的就不正确。
  本来以为,只要把“long cent;”改成“private long cent;”就好了。
  据Boss所说,用WebService的时候,它遇到过类似的情况,如果变量没有设置为private的,可能会和public的get方法冲突,出现异常情况。

70.Redis的几个小问题。
a.连接redis客户端
  redis-cli,全都是默认的配置
b.显示所有的keys
   keys (
c.删除key
   del key_name
d.查看1个key的过期时间
  ttl key_name,-1表示永不过期,-2表示不存在
  今天遇到一个很棘手的问题
  
  //如果这个key不在redis中,就设置,并缓存一段时间。
//TODO 问题,如果setIfAbsent执行之后,没有设置过期时间,且此时,服务器挂了,那么后面的设置缓存时间就失败了,然后这个key一直缓存在redis中。
public boolean setIfAbsent(String key, Object value, long timeout){
ValueOperations<String, Object> valueops = businessRedisTemplate
.opsForValue();
boolean result = valueops.setIfAbsent(key, value);
if(result){
this.add(key, value, timeout, TimeUnit.SECONDS);
}
return result;

© 著作权归作者所有

jtn

jtn

粉丝 12
博文 879
码字总数 879609
作品 0
武汉
程序员
私信 提问
mina 多线程解码问题

自己用mina写了个 http的解析器,发现,在模拟多线程访问的时候,出现如下错误: org.apache.mina.filter.codec.ProtocolDecoderException: java.lang.IllegalStateException: doDecode() c...

zerochen
2013/12/06
1K
1
C#构造函数的重载的几种方式

今天工作中遇到了点小麻烦,关于构造函数重载的问题,以前方法重载的时候直接使用相同的函数名传入不同的参数即可。如下面代码: 1 public class UserData 2 { 3 4 5 public bool UpdateUser...

长平狐
2012/09/06
119
0
建议考前多熟记的知识点(1)-(3)《系统集成项目管理工程师软考辅导》

2014.11.8项目经理考试的小伙伴们,开考在即,提醒大家静下心来,梳理一下自己的知识框架,扎扎实实打牢基础,才是通关之本。 真诚感谢您的信任与支持!选用《系统集成项目管理工程师软考辅导...

wg_wg
2018/06/29
0
0
Java每天10道面试题,跟我走,offer有!(七)

61.什么是并发修改异常? 什么是并发修改异常:当我们在遍历实现了collection接口与iterator接口的集合时(List、Set、Map),我们可以通过遍历索引也可以通过迭代器进行遍历。在我们使用迭代器...

Java干货分享
2018/11/22
26
0
致即将逝去的2016 【再出发】

2016年还有最后的2个工作日,也该写写年终总结了,我把2016年的年终总结主题定义为【再出发】。 关于工作 2015年底,由于一些原因,告别一个日活过200W的超级App,移交给别的团队。回想起自己...

hsbirenjie
2016/12/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 开发语言和语言开发的能一样么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌:#今日歌曲推荐# 分享The Score的单曲《Revolution》 《Revolution》- The Score 手机党少年们想听歌,请使劲儿戳(这里) @批判派...

小小编辑
今天
1K
16
oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
3
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
聊聊DubboDefaultPropertiesEnvironmentPostProcessor

序 本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor DubboDefaultPropertiesEnvironmentPostProcessor dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/au......

go4it
昨天
3
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部