郭全祯的博客

vue在html中出现{{}}原因及解决办法

场景:优化以前就项目,部分页面改为vue渲染。问题:页面渲染可以明显看到{{}}等闪现。以为这是渲染先后的问题,无法避免的。以前做法就是数据渲染前加v-if 判断。然后整块渲染。其实官方文档又给出解决办法,只是当时学习的时候,走马观花,没有仔细的阅读文档和demo例子。其实解决办法还挺多的。现在来复现下问题:

Redis简单实现单机锁及SETNX陷阱

Redis 实现锁功能主要是借助SETNX方法。在 Redis 里,所谓 SETNX,是「SET if Not eXists」的缩写,也就是只有不存在的时候才设置,可以利用它来实现锁的效果,不过很多人没有意识到 SETNX 有陷阱!比如说:某个查询数据库的接口,因为调用量比较大,所以加了缓存,并设定缓存过期后刷新,问题是当并发量比较大的时候,如果没有锁机制,那么缓存过期的瞬间,大量并发请求会穿透缓...

只要一行代码,实现五种 CSS 经典布局

常用的页面布局,其实就那么几个。只要掌握了它们,就能应对绝大多数常规页面。 这几个布局都是自适应的,自动适配桌面设备和移动设备。代码实现很简单,核心代码只有一行,有很大的学习价值,内容也很实用。

经典mysql面试题 - 学生成绩

现有 student(sid.sname)学生表,course(cid,cname)课程表,sc(sid,cid,score)成绩表。CREATE TABLE `student` ( `sid` int(11) NOT NULL AUTO_INCREMENT, `sname` varchar(255) DEFAULT NULL, PRIMARY KEY (`sid`) ) ENGINE...

windows开发神器-WSL2

因为在windows平台上开发的种种优(bi)势(duan).。开发完以后我们需要再以服务器的平台测试一下。以前我的选择是 虚拟机 或者 Docker。本地安装linux环境,但是效率很感人。。。最近发现微软6月份更新了wsl(以前也看过,但是限制很大)。网上查看资料发现,这次更新还是很巨大的。基本上可以windows上实现linux运行代码的要求了。下面开始记录安装过程。1.先打开微软文档htt...

phpstudy2018的mysql版本升级至5.7/8.0

使用laravel执行数据迁移命令的时候报错,查看文档,说是数据库版本太低了。解决方法是修改个程序文件或者升级数据库版本。想了想还是升级下数据库版本吧。升级数据库可以用最新版的phpstudy,他支持自定义数据库版本。但是用我着没有老版的顺手,就在老版的基础上升级下吧。这个见仁见智怎么操作取决个人。现在开始~第一步:下载mysql包,建议使用国内的mysql镜像下载,下载数据快点。镜像地址:htt...

使用myslq锁解决并发问题

案例说明银行两操作员同时操作同一账户。比如A、B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户扣除50元,A先提交,B后提交。最后实际账户余额为1000-50=950元,但本该为1000+100-50=1050。这就是典型的并发问题。用mysql的悲观锁和乐观锁都可以解决这个问题。使用悲观锁来实现:悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的...

Laravel中间件总结

Laravel有三种中间件:$middleware,$routeMiddleware,$middlewareGroups。$middleware 属性:这个属性称为全局中间件,为什么说是全局中间件呢?因为你的每一次请求,这里面的每个中间件都会执行。$routeMiddleware 属性:这个属性称为路由中间件,为什么说是路由中间件呢?因为定义在该属性内的中间件,只能在定义路由时候引用。假设这是我们...