![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
知识
文章平均质量分 61
李澎昆
期望越大 压力越大,不断努力 超越自己的极限
展开
-
设计模式六大原则
1、单一职责原则(Single Responsibility Principle,简称SRP )核心思想:应该有且仅有一个原因引起类的变更问题描述:假如有类Class1完成职责T1,T2,当职责T1或T2有变更需要修改时,有可能影响到该类的另外一个职责正常工作。好处:类的复杂度降低、可读性提高、可维护性提高、扩展性提高、降低了变更引起的风险。需注意:单一职责原则提出了一个编写程序的标准,用“职...原创 2018-12-27 20:11:43 · 166 阅读 · 0 评论 -
电商订单状态【2】
1)等待到款如果您选择“网上支付”和“银行转账”这两种付款方式,当当在暂未收到您款项时,订单会显示“等待到款”,建议您在订单保留期限内及时付款。2)等待预售商品到货若您订购的商品为预售商品,商品到货前订单会显示“等待预售商品到货”。3)正在配货此状态说明您的订单正在库房配货。4)等待移仓若您订单中的商品当地库房缺货,我们将从北京仓库调货至当地仓库,此时订单显示“等待移仓...原创 2019-01-08 18:48:53 · 2222 阅读 · 0 评论 -
电商中防止订单重复提交
首先我们分析下原因:1、在网络延迟的情况下让用户有时间点击多次提交按钮导致表单重复提交。2、表单提交后用户点击浏览器的刷新导致表单重复提交3、用户提交表单后,点击浏览器的【后退】按钮回退到表单页面后进行再次提交 1、用JavaScript的方式在客户端处理。a、设置一个标识,让他只能提交一次var isCommitted = false;//表单是否已经提交标识,默认...原创 2019-01-08 19:01:59 · 2810 阅读 · 0 评论 -
电商中事务的特性之一【隔离性】的乐观锁和悲观锁
引言为什么需要锁(并发控制)? 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6...原创 2019-01-08 19:12:27 · 330 阅读 · 0 评论 -
电商之下完订单如何实现发货流程
我们首先借鉴一下淘宝的发货流程:买家拍下商品并付款后,交易状态变成“等待卖家发货”,这时卖家就可以发货了。发货的流程是:卖家拣货——打包商品——联系快递上门收取——快递上门收货——卖家登陆淘宝点击“发货”并输入快递公司名称和快递单号——发货成功。...原创 2019-01-08 19:55:35 · 7779 阅读 · 2 评论 -
电商中订单使用事务
在一个电子商务系统中,正常的应该是订单生成成功后,相应的库存进行减少必须要保证两者的一致性,但有时候因为某些原因,比如程序逻辑问题,并发等问题,导致下单成功而库存没有减少的情况。这种情况我们是不允许发生的,MySQL的中的事务刚好可以解决这一问题,首先得选择数据库的存储引擎为InnoDB的,事务规定了只有下订单完成了,并且相应的库存减少了才允许提交事务,否则就事务回滚,确保数据一致性。...原创 2019-01-09 07:20:49 · 2091 阅读 · 3 评论 -
ajax 同步和异步区别?
ajax 同步和异步区别?我们在使用 ajax 一般都会使用异步处理。异步处理呢就是我们通过事件触发到 ajax,请求服务器,在这个期间无论服务器有没有响应,客户端的其他代码一样可以运行。同步处理:我们通过实践触发 ajax,请求服务器,在这个期间等待服务器处理请求, 在这个期间客户端不能做任何处理。当 ajax 执行完毕才会继续执行其他代码。 同步:提交请求->等待服务...原创 2019-01-09 08:57:06 · 63586 阅读 · 0 评论 -
支付宝的同步和异步的区别
第一种理解同步是给客户看的,异步是服务器处理请求。同步是客户充值或者支付成功了,给客户一个提示,告诉客户这个操作的结果是成功还是失败。起到的作用就是提示客户这个操作的结果是成功还是失败。异步是服务器在后端处理支付成功或失败时的业务逻辑。同步通知:用于用户在支付宝页面付款完毕后自动跳转;异步通知:其实是处理业务逻辑,比如说修改客户的支付状态;同步得到通知后跳转到自己的网址,然后根...原创 2019-01-09 08:59:12 · 6483 阅读 · 2 评论 -
常见的kafka面试题
1、请说明什么是Apache Kafka?Apache Kafka是由Apache开发的一种发布订阅消息系统,它是一个分布式的、分区的和重复的日志服务。2、请说明什么是传统的消息传递方法?传统的消息传递方法包括两种: 排队:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人。 发布-订阅:在这个模型中,消息被广播给所有的用户。 3、请说明Kafka...原创 2019-01-09 09:10:42 · 327 阅读 · 2 评论 -
关于kafka 保证消息不丢失问题
kafka 保证消息不丢失。原因如下有:1)生产者如果异步发送,会造成消息丢失,发送的过程中kafka会先把消息缓存起来。然后批量发送。 若批量发送之前client宕机会造成消息丢失。生产者不丢失消息需要同步发送2)kafka服务器默认异步刷盘,先刷到系统页缓存,然后再刷新到日志文件。页缓存的数据可能会丢失。解决可以同步的方式刷盘,但是这样效率很低,比rabbitmq低。 对于我说的第...原创 2019-01-09 09:13:56 · 562 阅读 · 3 评论 -
电商订单状态【1】
当用户点击“一键购买”或者是从购物车里点击 “去结算” ,会跳转到 “核实订单信息” 页面,当全部核实以后点击“提交订单按钮”,此时会跳转到支付页面,并且订单提交成功,此时此刻才算刚刚开始:订单提交成功 此时的订单状态默认为未确认支付成功 此时订单状态为已确认当订单提交成功以后24小时未支付 此时订单状态为无效当在订单列表页面 点击取消...原创 2019-01-08 18:42:53 · 1198 阅读 · 0 评论 -
购物车如何实现的
购物车的实现可以使用多种方式,主流的有以下3种:存储在用户游览器中:如使用cookie记录,也可以使用HTML5的本地存储等存储在服务器中:存储在用户会话(session)中,用户在关闭游览器后存储信息会被销毁存储在数据库中:可以存储在Mysql、Redis等数据库中...原创 2019-01-08 16:19:26 · 188 阅读 · 1 评论 -
面向对象三大特性五大原则
三大基本特性:封装,继承,多态封装封装,就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。继承...原创 2018-12-27 20:14:35 · 437 阅读 · 2 评论 -
PHP经典面试题:PHP语言的一大优势是跨平台,什么是跨平台?
PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所以叫跨平台。原创 2018-12-27 20:20:40 · 2647 阅读 · 1 评论 -
PHP网站常见的安全漏洞
打开php得安全模式 php得安全模式是个非常重要的内嵌的安全机制,能够控制一些php中得函数,比如system(),同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件得文件。 用户组安全 安全模式下执行程序主目录 如果安全模式打开了,但是确却是要执行某些程序得时候,可以指定要执行程序得主目录 安全模式下包含文件 控制php脚本能访问得目录 关闭危险函数 关闭php版本信息...原创 2018-12-28 13:56:14 · 1625 阅读 · 1 评论 -
PHP效率调优
50个PHP程序性能优化的方法1、 用单引号代替双引号来包含字符串,这样做会更快一些。因为 PHP 会在双引号包围的 字符串中搜寻变量,单引号则不会,注意:只有 echo 能这么做,它是一种可以把多个字符 串当作参数的“函数”(译注:PHP 手册中说 echo 是语言结构,不是真正的函数,故把函数 加上了双引号)。2、如果能将类的方法定义成 static,就尽量定义成 static,它的速度...原创 2018-12-28 18:55:52 · 194 阅读 · 0 评论 -
Mysql数据库基础考点
请写出下面Mysql数据类型表达的意义(int(0) 0代表的是宽度、char(16)、varchar(16)、datetime、text) 这是mysql数据类型答:int 0是宽度 他是个整形 char是一个定长的储存字符串的类型 他定长16、varchar可变长的字符串,长度也是16、datetime保存时间日期的、text存储一些大文本数据的 整数类型: TINYINT、S...原创 2018-12-31 17:41:01 · 637 阅读 · 0 评论 -
Mysql创建高性能索引
面试真题: 简单描述Mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响?Mysql索引的基础和类型索引的基础: 1.索引类似于书籍的目录,要想找到一本书的某个特定主题,需要先查找书的目录,定位对应的页码储存引擎使用类似的方式进行数据查询,先去索引当中找到对应的值,然后根据匹配的索引找到对应的数据行索引对性能的影响大大减少服务器需要扫描的数据量,比如我...原创 2018-12-31 17:43:31 · 427 阅读 · 0 评论 -
2018 年最新 PHP 面试题大全
1.请自我介绍一下?答:我叫 xxx,来自北京,20xx 年毕业于 xx 大学计算机 xx 系,毕业后在武汉从事了 x 年的 php 开发工作,公司是一个外包公司,主要做微信开发,公众号推广,商城,论坛的开发2.你在公司负责那些项目?答:由于我们公司是一个外包公司,不可能只做一个项目,公司的项目都是交叉进行的,论坛,微信,商城我都做过?3.你为什么来深圳?答:因为我哥...原创 2019-01-10 18:38:37 · 1084 阅读 · 0 评论 -
面试之缓存系列
一、数据缓存这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存表或文件中获得。用的最广的例子看Discuz的搜索功能,把结果ID缓存到一个表中,下次搜索相同关键字时先搜索缓存表。举个常用的方法,多表关联的时候,把附表中的内容生成数组保存到主表的一个...原创 2019-01-08 08:10:08 · 154 阅读 · 1 评论 -
电商中的订单号如何实现
订单是整个电子商务的核心,整个电子商务的流程也是围绕订单展开的;本文与大家分享一下各大电子商务网站订单号的生成方式。首先我们要先知道订单号是什么?它是您在购物网站购物后获得的订单号,记录的是购物订单信息;在您需要与购物网站进行订单查询等操作时,需要给购物网站提供商家订单号。大部分的几种常见下单途径如下? Web网站下单。 打电话到呼叫中心(CallCenter)下单。 手机Wa...原创 2019-01-08 16:12:42 · 3297 阅读 · 0 评论