下午我被叫去参加“合作服务商资金安全解决方案”项目的codereview。对程序实现逻辑上存疑。简单听他们讲述产品需求后,果然发现程序逻辑有疏漏。为了表达清楚我的意思,上草图。边“画”边阐讲,逐步引导大家思考、讨论,确定更好的改进方案。然后,大家点头默许:还是战哥想的全面! 在我们日常开发讨论过程中,总会出现这样的情况,你在讲的头头是道,别人要么无表情的点头,要么草率的应和。这个时候,其实已经出现无效沟通了。我们要做的,是尽可能通过一定的表现形式,来让对方足够清楚。当然,不管什么形式,以能让对方明白为最好。表现形式就比较多了,比如流程图、时序图、脑图、表格,现在许多在线工具也都支持,比如pr
下午我被叫去参加“合作服务商资金安全解决方案”项目的codereview。对程序实现逻辑上存疑。简单听他们讲述产品需求后,果然发现程序逻辑有疏漏。为了表达清楚我的意思,上草图。边“画”边阐讲,逐步引导大家思考、讨论,确定更好的改进方案。然后,大家点头默许:还是战哥想的全面! 在我们日常开发讨论过程中,总会出现这样的情况,你在讲的头头是道,别人要么无表情的点头,要么草率的应和。这个时候,其实已经出现无效沟通了。我们要做的,是尽可能通过一定的表现形式,来让对方足够清楚。当然,不管什么形式,以能让对方明白为最好。表现形式就比较多了,比如流程图、时序图、脑图、表格,现在许多在线工具也都支持,比如pr
引言前文介绍了Session-Cookie的认证过程,简单回顾下基本步骤:客户端(浏览器)向服务器发送用户名和密码服务器验证通过后,创建Session对象,在Session中保存该用户相关的数据,比如用户角色、登录时间等等服务器向用户返回这个Session对象的唯一标识SessionId,并写入客户端的Cookie客户端随后的每一次请求,都会通过Cookie,将SessionId传回服务器服务器收到SessionId,并据此找到Session对象,由此获取到用户信息这种方法的缺点就是分布式集群情况下无法保证每台服务器都拥有相同的Session,上篇文章也简单介绍了几种Session如何在多个服
引言前文介绍了Session-Cookie的认证过程,简单回顾下基本步骤:客户端(浏览器)向服务器发送用户名和密码服务器验证通过后,创建Session对象,在Session中保存该用户相关的数据,比如用户角色、登录时间等等服务器向用户返回这个Session对象的唯一标识SessionId,并写入客户端的Cookie客户端随后的每一次请求,都会通过Cookie,将SessionId传回服务器服务器收到SessionId,并据此找到Session对象,由此获取到用户信息这种方法的缺点就是分布式集群情况下无法保证每台服务器都拥有相同的Session,上篇文章也简单介绍了几种Session如何在多个服
引言由于HTTP协议是无状态的,完成操作关闭浏览器后,客户端和服务端的连接就断开了,所以我们必须要有一种机制来保证客户端和服务端之间会话的连续性,也称为认证,最常见的应用场景就是保持用户的登录态。最基本的认证方式,就是使用Sesson-Cookie。30s图解Sesson-Cookie认证以保持用户登录态为例,Sesson-Cookie认证的具体步骤如下:1)客户端(浏览器):向服务器发送登录信息(用户名和密码)来请求登录校验;2)服务端:验证登录信息,验证通过后服务器(比如Tomcat)会自动为此次请求开辟一块内存空间(一个Session对象),可以手动将用户信息(比如登录保持时间是否过期)
引言由于HTTP协议是无状态的,完成操作关闭浏览器后,客户端和服务端的连接就断开了,所以我们必须要有一种机制来保证客户端和服务端之间会话的连续性,也称为认证,最常见的应用场景就是保持用户的登录态。最基本的认证方式,就是使用Sesson-Cookie。30s图解Sesson-Cookie认证以保持用户登录态为例,Sesson-Cookie认证的具体步骤如下:1)客户端(浏览器):向服务器发送登录信息(用户名和密码)来请求登录校验;2)服务端:验证登录信息,验证通过后服务器(比如Tomcat)会自动为此次请求开辟一块内存空间(一个Session对象),可以手动将用户信息(比如登录保持时间是否过期)
一、前言下面让我们就一起看下,当你执行CURD时,InnoDB的BufferPool中都发生了什么!以及BufferPool的优化!二、Let‘sgo你知道的,MySQL对数据的增删改查都是内存中完成的,这块内存就是BufferPool。你可以像下面这样查看下你的MySQL的Buffer的BufferPool的默认大小上图中的0.125单位为GB,转换成MB就是1024*1/8=128MB总结来说,就是MySQL启动后就会为我们初始化好这块BufferPool。如下图:你可以看着上图,然后读下面这段话:MySQL以数据页为单位,从磁盘中读取数据。数据页被读取到内存中,所谓的内存其实就是Buff
一、前言下面让我们就一起看下,当你执行CURD时,InnoDB的BufferPool中都发生了什么!以及BufferPool的优化!二、Let‘sgo你知道的,MySQL对数据的增删改查都是内存中完成的,这块内存就是BufferPool。你可以像下面这样查看下你的MySQL的Buffer的BufferPool的默认大小上图中的0.125单位为GB,转换成MB就是1024*1/8=128MB总结来说,就是MySQL启动后就会为我们初始化好这块BufferPool。如下图:你可以看着上图,然后读下面这段话:MySQL以数据页为单位,从磁盘中读取数据。数据页被读取到内存中,所谓的内存其实就是Buff