SF
X先生说
X先生说
注册登录
关注博客
注册登录
主页
关于
RSS
PHPStorm多项目下Test Sources Root设置
X先生
2021-08-27
阅读 1 分钟
5.7k
最近用Lumen来做单元测试的时候遇到一个问题,就是用PHPStorm开了多个项目(用户侧和管理侧),这时候设置了Test Sources Root,会发现测试用例的命名空间PHPStorm无法识别。而如果直接是一个项目就没有这个问题。
MySQL中事务的持久性实现原理
X先生
2020-10-30
阅读 4 分钟
6.9k
说到数据库事务,大家脑子里一定很容易蹦出一堆事务的相关知识,如事务的ACID特性,隔离级别,解决的问题(脏读,不可重复读,幻读)等等,但是可能很少有人真正的清楚事务的这些特性又是怎么实现的,为什么要有四个隔离级别。
深入理解MySQL中事务隔离级别的实现原理
X先生
2020-09-28
阅读 5 分钟
20.5k
说到数据库事务,大家脑子里一定很容易蹦出一堆事务的相关知识,如事务的ACID特性,隔离级别,解决的问题(脏读,不可重复读,幻读)等等,但是可能很少有人真正的清楚事务的这些特性又是怎么实现的,为什么要有四个隔离级别。
干货!如何平稳用户无感知的完成系统重构升级
X先生
2020-09-07
阅读 2 分钟
8.9k
我们在实际开发系统的过程当中,很有可能会遇到需要进行系统重构升级的情况,需要重构的原因可能是之前的设计不合理,导致现在维护起来非常的困难,也有可能是现在的业务发展非常迅速,需要进行分库分表了又或者之前用的是单机的本地的文件存储,现在需要用到统一的网络存储。总而言之,就是当初的系统设计已经不符合现...
你应该了解的MySQL锁分类
X先生
2020-09-02
阅读 5 分钟
16k
锁是为了解决并发环境下资源竞争的手段,其中乐观并发控制,悲观并发控制和多版本并发控制是数据库并发控制主要采用的技术手段(具体可见我之前的文章),而MySQL中的锁就是其中的悲观并发控制。
git cherry-pick:挑选指定commit来合并
X先生
2020-07-29
阅读 2 分钟
14.9k
在我们使用Git进行日常开发的过程中,常常需要进行的操作就是代码合并了。常见的操做命令是 git merge branch-name,这个命令会合并的是整个分支的commit,然而有时候我们需要的可能是仅仅某一个 commit或者某几个commit,这时候就需要用到git cherry-pick了。
保障服务稳定之服务限流
X先生
2020-07-28
阅读 5 分钟
2.6k
我们系统运行过程中有时候可能会遇到突发异常大流量,如果系统无法正确处理这些突然涌入大量请求,就会导致系统轻则响应慢,经常超时,重则导致整个系统宕机,因此这就要求我们系统能以一定的策略处理大流量的涌入,这样才不对被突发大流量压垮,导致完全无法对外提供服务。
linux上强大的字符串匹配工具详解-grep
X先生
2020-07-28
阅读 3 分钟
9.3k
grep 可以从文件或者标准输入设备中读取数据,若不指定任何文件名称,或是所给予的文件名为 -,则 grep 会从标准输入设备读取数据,否则从文件读取数据进行匹配。
好用的shell通配符
X先生
2020-07-28
阅读 1 分钟
5.2k
我们在使用 shell 执行任务的过程中,常常会遇到需要处理一批数据的情况,如果我们一个一个的传递参数就会非常的麻烦,这时候就需要用到 shell 的通配符功能了。例如rm *.txt可以删除当前目录下所有的 txt 文件。
一文读懂数据库中的乐观锁和悲观锁和MVCC
X先生
2020-07-22
阅读 4 分钟
11.2k
在数据库的实际使用过程中,我们常常会遇到不希望数据被同时写或者读的情景,例如秒杀场景下,两个请求同时读到系统还有库存1个,然后又先后把库存更新为0,这时候就会出现超卖的情况,这时候货物的实际库存和我们的记录就会对应不上了。
MySQL 连接查询超全详解
X先生
2020-07-03
阅读 4 分钟
6k
1 作用 在MySQL中join操作被称为连接,作用是能连接多个表的数据(通过连接条件),从多个表中获取数据合并在一起作为结果集返回给客户端。例如: 表A: id name age 1 A 18 2 B 19 3 C 20 表B: id uid gender 1 1 F 2 2 M 通过连接可以获取到合并两个表的数据: select A.*,B.gender from A left join B on A.id=B.uid ...
常见PHP框架CSRF防范方案分析
X先生
2020-05-21
阅读 8 分钟
4.4k
CSRF(跨站请求伪造)是一种恶意的攻击,它凭借已通过身份验证的用户身份来运行未经过授权的命令。网上有很多相关介绍了,具体攻击方式就不细说了,下面来说说Laravel和Yii2是如何来做CSRF攻击防范的。
分布式session一致性解决方案
X先生
2020-05-21
阅读 2 分钟
2.3k
在早期的时候,很多网站由于用户规模较小,都是采取的单机部署的模式,只用一台服务器来承载用户的请求,这时候Session是存在同一台服务器上,所以能够很容易实现会话跟踪和保持。然而随着用户规模的扩大,单机部署模式已经无法承载所有用户的请求了,这时候人们自然而然想到用多台服务器来处理用户的请求,用户的请求会...
中文文案排版纠正器
X先生
2017-04-26
阅读 2 分钟
3.3k
项目地址 [链接]演示地址 [链接] 描述 统一中文文案、排版的相关用法,降低团队成员之间的沟通成本,增强网站气质。 比较以下排版: 排版1 LeanCloud数据存储是围绕AVObject进行的.每个AVObject都包含了与JSON兼容的key-value对应的数据。数据是schema-free的,你不需要在每个AVObject上提前指定存在哪些键,只要直接设...
WordPress 主题检测器
X先生
2017-04-12
阅读 1 分钟
2.8k
常常我们看到一些优秀的 WordPress 博客,被它们的主题吸引了,却没办法找到其所用的主题。有时候你留言去问,博主可能好心会告诉你,也可能太忙了没看到到。这时候就需要一个 WordPress 主题检测器来帮忙了。
如何把要想保存的文章转为 Markdown 格式
X先生
2017-04-12
阅读 1 分钟
9.7k
网上我们看到一些好文章的时候,总会想要把它转载过来,或者保存到自己的 Markdown 文档里,但是这时候就有一个问题,那就是网页上的文章都是 HTML 格式的,如何能够保存成 Markdown 格式呢?本文将告诉你一个简单的办法。
如何在 ThinkPHP 中整合 Laravel Eloquent ORM
X先生
2017-04-12
阅读 2 分钟
4.2k
之前维护的旧项目采用的 ThinkPHP 3.2,后面学习了 Laravel 后,觉得 TP 的 Model 功能没有 Laravel 强大和方便,并想把 Laravel 里的 Eloquent 用在 TP 里。
Centos 7 环境下 LNMP 服务器配置步骤记录
X先生
2017-04-07
阅读 5 分钟
3.2k
环境:阿里云 Centos7 64位 环境配置 1、更新 yum 源 [链接] 备份 {代码...} 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/ {代码...} 更新 {代码...} 2、设置免密码 ssh 登录 {代码...} 3、安装 Git 参考 [链接] 4、安装 oh-my-zsh 参考 [链接] 5、安装 autojump 参考 [链接] 6、安装 lnmp [链接] 7、安装composer {...
Markdown 语法简单说明
X先生
2017-04-07
阅读 2 分钟
2k
Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版、字体设置。它使我们专心于码字,用「标记」语法,来代替常见的排版格式。