自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 MySQL group by语句总是取各分组排序后的第一行吗?

group by语句在不同的版本下可能有不同的执行结果,本期给您一一对比排雷。

2024-11-17 17:48:14 1007

原创 ORM提供的FirstOrCreate方法,你用对了吗?

又因为间隙锁之间不互斥,导致了这种加锁查询语句是可以并发进行的。iii. sessionA修改了区间间隙,没有通知此时正在操作同一区间间隙的其他Session。既sessionA往区间间隙插入数据后,没有阻塞sessionB。因为sessionA和sessionB申请到的自增值不一样,在主键唯一索引上是不同的行,无需互斥。

2024-09-16 18:42:59 1179

原创 Laravel Onion洋葱模型

看Laravel框架的洋葱模型的一些所思所想

2022-10-05 13:56:45 565

原创 记录一下laravel $request->input无法取到值的问题

先说结论,一定要注意GET请求用Params,POST请求用Body抛出问题进入正题,同事A利用guzzle包写了这样的一个请求方法sendGetRequest()方法中$query为url带参 $params为Body带参同事B调用上面的这个方法sendGetRequest('http://mydomain.com/myroute', [], ['keyA'=>'valueA'])并且在http://mydomain.com/myroute对$request..

2021-09-12 21:34:37 2452

原创 审批系统 设计思路

需求设计一个通用的审批系统,模仿钉钉无论是申请电脑补贴,申请餐补,申请账号,总是可以发现审批流程相关的行为都是差不多的,既经过XXX、YYY、ZZZ各节点同意,审批最终通过。策略审批完成后,再通过不同脚本进行发放电脑补贴,发放餐补,告知账号等操作,我们对这些执行不同行为的脚本称为一个个策略。为了降低审批系统与策略的耦合性,审批系统不应当关心策略的执行过程。对象关系观察钉钉的审批系统,易得出以下对象关系审批单,审批单下有多层审批每一层审批只要其中一个审批人.

2021-09-12 18:11:06 1811

原创 读《大话设计模式——第15章 抽象工厂模式》有感

上周末看了一下抽象工厂模式,然后对比了一下简单工厂模式、工厂模式和抽象工厂模式。对比工厂模式和抽象工厂模式,看得我一愣一愣的。一个工厂生产一个产品叫工厂模式,生产多个产品就叫抽象工厂模式?不要试图去理解它,而是去感受它。——ChristopherNolan按照《大话设计模式》第15章抽象工厂模式的案例走下去,有提到使用简单工厂模式去改进db软件的切换,但有新数据库软件("新工厂")引入的时候,就需要增加相应的工厂类(实现工厂接口)和数据表("产品")类(实现相应的产品接口)。这种场景下.

2021-09-12 17:51:39 182

原创 读《大话设计模式——状态模式》有感

状态模式对象的行为依赖于它的状态(属性),并且可以根据它的状态改变而改变它的相关行为。个人观点:状态模式可能是应用中比较冷门的一种模式,也有可能是我对面向对象的理解不深入。主类中以状态对象作为属性(当前的状态)。并且主类实现方法去切换状态,本质是该方法调用主类的属性(状态对象)的切换方法。当然,状态类需提供方法进行状态间的流转以及当前状态的行为。状态模式相当于将我们平时一大串的if(x){...}elseif(y){...}elseif(z){...}else{}语句,变为一个个的状态.

2021-09-12 17:50:48 94

原创 读《大话设计模式——适配器模式》有感

之前Jagger偶有提起宏指令的作用,这周抽时间看了Laravel的macroabletrait的代码。原文链接url = "https://www.jb51.net/article/143539.html"这个trait中的macro方法除了可以注册closure之外,还支持传入重写了__invoke魔术方法(以调用函数的方式调用一个对象时触发)的对象。此前,没碰到或没留意重写__invoke()的代码,对这个东西比较陌生,也算是新get到一个魔术方法了。另外,macroabletr...

2021-09-12 17:48:31 150

转载 宏指令macroable trait

之前Jagger偶有提起宏指令的作用,这周抽时间看了Laravel的macroabletrait的代码。原文链接https://www.jb51.net/article/143539.htm这个trait中的macro方法除了可以注册closure之外,还支持传入重写了__invoke魔术方法(以调用函数的方式调用一个对象时触发)的对象。此前,没碰到或没留意重写__invoke()的代码,对这个东西比较陌生,也算是新get到一个魔术方法了。另外,macroabletrait中的mixin()...

2021-09-12 17:43:20 103

转载 数据库“页”数据结构

上周看了一篇关于数据库索引的推文我叫小M,我用 007 打败一堆 996 的应聘者https://mp.weixin.qq.com/s/kK4ufbiM5nOhiDgvPoDACw文章是通过数据量的增加为线,思考怎么改良数据结构来优化查询速度。文章很好地填补了只会建索引和只会基础数据结构之间的知识盲区。在数据量很少的时候,单向链表(每个节点就是一行数据)遍历一遍去找某行数据不会耗时很多。这时候数据稍微多了一点,我们可能会想到使用二分法快速筛选和数组能快速地定位,但数组在内存中需开辟连续的存储空.

2021-09-12 17:33:34 537

原创 读《算法——符号表》有感——符号表之从链表到红黑二叉查找树

读《算法(第4版)》——符号表之从链表到红黑二叉查找树什么是符号表?说人话就是,一系列的key-value结构,e.g.PHP的关联数组、JAVA的map用什么数据结构表示,以及存储和查询的效率如何都是研究的关键。当然,笔者作为一个渣渣,简便地理解其中的奥义更重要。在日常使用中,查询key对应的value比存储key-value更频繁,所以一般情况下,查询效率比存储效率要重要。先从最简单的实现讲起,链表。链表中的节点存储这个key-value结构structNode{t...

2021-09-12 17:28:43 171

原创 公司某部门的PHP本地开发环境 DNMP讲解

dnmp讲解

2021-09-12 17:19:17 611

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除