Leeon的博客

所有的迷茫都是想得太多,做的太少,共勉!

排序:
默认
按更新时间
按访问量

正则匹配所有括号中的内容&PHP实现

正则表达式:(?<=【)[^】]+ 注:以匹配中文括号中内容为例,如果匹配非中文括号,则需要在括号前增加转义符 PHP实现示例: <?php $strSubject = "abc【111...

2018-06-21 22:00:37

阅读数:662

评论数:0

PHP获取二维数组中指定Key的重复Value

<?php /** * 判断二维数组中指定Key是否存在重复Value * @param array $arrInput 二维数组 * @param string $strKey 键名 * @return bool */ function hasRepeatedV...

2018-05-13 14:59:31

阅读数:285

评论数:0

PHP三种数组合并方式区别示例

一、写在前面 目前工作中接触到的PHP数组合并方式主要有三种: 1、+操作符 2、array_merge() 3、array_merge_recursive() 它们的区别主要体现在对于相关键名(数字键名、字符串键名)的处理方式,下面本文将以两个实际例子来体现~ 二、相同字符串键 ...

2018-05-13 14:55:38

阅读数:185

评论数:0

PHP实现Redis单据锁,防止并发重复写入

一、写在前面: 在整个供应链系统中,会有很多种单据(采购单、入库单、到货单、运单等等),在涉及写单据数据的接口时(增删改操作),即使前端做了相关限制,还是有可能因为网络或异常操作产生并发重复调用的情况,导致对相同单据做相同的处理; 为了防止这种情况对系统造成异常影响,我们通过Redis实现了一...

2018-04-10 00:03:40

阅读数:379

评论数:0

MySQL InnoDB锁机制分享

写在前面:在设计新零售供应链wms(仓库管理系统)库存模块时,为了防止并发情况对库存的影响,查阅了一些资料,对InnoDB锁机制有了更全面的了解,在此做出分享,如有疏漏望不吝指正,愿共同进步!(此篇为1.0版本,后续随理解深入,会逐步迭代完善~) 博客搬家:https://segmentfaul...

2018-04-01 01:40:38

阅读数:540

评论数:1

Mysql 【order by 不唯一字段】与【limit】混用的坑

背景: 分页查询排序后的数据,是一个非常常见的业务场景;但当使用不唯一的字段排序时,分两页查询的数据可能出现同一条数据,并丢失数据! 示例: 同样的查询条件,offset不同,竟然取到了同一条数据?! 原因解析(取自Mysql官方文档): 上面官方文档里面有提到如果你将Limit...

2018-03-30 17:12:22

阅读数:514

评论数:0

通过实际业务场景理解后端接口的幂等性

写在前面:之前在设计接口时因经验尚浅,并未过多考虑幂等性,但这两天出现的一个线上问题让我认识到了某些情况下接口幂等性的重要性; 非幂等场景: 服务A将单据A信息通过RPC远程过程调用传给下游服务B接口(非幂等接口)用于生成关联单据B,服务B接口会校验是否已经接收过单据A,如果已接收过,会报错『...

2018-03-30 17:09:16

阅读数:305

评论数:0

expect实现自动登录脚本

写在前面:目前在公司是一人一台虚拟机,大多数工作都要在虚拟机上完成,为此每天要执行很多次【ssh xxx@xxxxxx】指令登录虚拟机;有很多方式解决这个问题,如使用xshell、secureCRT等工具记录常用的连接,我就写了一个简单的脚本实现一键登录~ login.sh脚本内容如下: #!...

2018-03-30 16:47:46

阅读数:584

评论数:0

RD基本功——Vi基础与最常用指令

写在前面:作为常年与服务器、Linux打交道的后端开发RD,基本的vi操作是一定要运用非常熟练的;本篇文章就记录了一些日常工作中最常用的的指令,希望能和大家共同学习共同进步; 一、vi与vim的区别 vim是vi的升级版本,它兼容vi的所有指令,并提供一些新特性,如以不同颜色标识语法等;(之后...

2018-03-30 16:36:41

阅读数:80

评论数:0

平时工作中一定会用到的Linux指令(一)

一、find指令——查找指令最常用参数:【-name】   根据名称查找【-iname】  根据名称查找,且忽略大小写差异最常用命令:【find 目录名 -name 文件或目录名】     根据文件名在指定目录下查找文件或目录【find 目录名 -iname 文件或目录名】    同上,-inam...

2017-12-03 18:39:19

阅读数:403

评论数:1

Nginx——location常见配置指令,alias、root、proxy_pass

1、【alias】——别名配置,用于访问文件系统,在匹配到location配置的URL路径后,指向【alias】配置的路径。如: location /test/  {      alias /first/second/img/;  } 即:请求/test/1.jpg(省略了协议与域名),将会返...

2017-10-17 10:27:29

阅读数:5078

评论数:0

初识Redis与Memcached

一、Redis与Memcached区别(初识版): 1、Memcached只提供String一种value类型;而Redis除了支持String数据类型,同时还提供Hash、List、Set、Sorted Set等数据类型。 2、Memcached最大键长250个字符,键值最大容量1MB;Redi...

2017-09-12 23:01:23

阅读数:435

评论数:0

亲测GO环境搭建,理解go build、go install、go get

前言: 秉承着作为一个新人,要有着“指哪打哪”的觉悟。在老大的需求下,顶上前端的空缺先干阵子前端。当然,在工作之余还是要好好朝着既定的方向努力的,实习结束后还了电脑,这次毕业再来换了新Mac,重新搭下Go的环境,顺便好好总结下,以后随着学习的深入,也会持续更新。 GO下载: GO语言中文网下载:...

2017-09-09 14:09:59

阅读数:8027

评论数:0

Shell、Bash,与终端配置文件

shell——命令解析器,也是一种程序设计语言 bash——是shell的具体实例,zsh、bash都是shell的实例在终端中可以通过【echo $SHELL】指令查看当前使用的shell实例,可以通过【chsh -s /bin/zsh】切换成zsh或其他shell实例。全局配置文件(都在/e...

2017-09-07 20:26:53

阅读数:805

评论数:0

Git撤销修改场景及对应指令详解

本文原则:开门见山、简明扼要,希望能给大家学习工作提供帮助! 场景一:撤销工作区的修改(未执行git add) 指令:git checkout 【目录或文件名】 实例: 1、修改了test.txt文档,git status 会出现如下提示: 2、git checkout te...

2017-09-06 23:48:38

阅读数:263

评论数:0

回来了&继续加油

博客搬家:https://segmentfault.com/blog/leeonfancy 经历了一些变动,来到了一家『同城物流』公司做『新零售供应链』,运气不错,遇到非常棒的团队,有幸『从零到一』经历了几个大系统的设计研发,要学习的还很多很多,继续加油! 距离我上一篇博客将将近一年了...

2017-09-06 23:44:42

阅读数:538

评论数:2

UML类图中几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)          1. 泛化(Generalizat...

2016-10-07 10:44:55

阅读数:756

评论数:0

多线程编程(二)——面试题,每个线程只打印一种字符,多个线程协同顺序打印n次字符串(求大神的其他实现方案)

(这个是欢聚时刻(YY)的笔试题,在笔试的时候没有写出来,后来自己写了出来,希望大神能给出更优秀的解决方案……ps:现在面试官总有面试时问笔试编程题思路的习惯,呵呵) 题目简述: 输入一个字符串以及打印次数,为每一个字符创建一个线程,这个线程只负责打印一种字符,多线程循环打印字符串。效...

2016-10-04 11:49:29

阅读数:1910

评论数:1

多线程编程(一)——写一个简单的死锁

(整个九月忙着找工作,好多收获,好多遗憾,最终结局还可以接受,技术路还很远,再接再厉!面去哪儿网时,写惯了算法的我突然让写了几个多线程编程,有点蒙蔽,最近好好整理一下) 死锁发生的原因: 1、系统资源有限 2、进程或线程推进顺序不恰当 3、资源分配不当 死锁发生的四个条件: 1、互斥条件:一份资源...

2016-10-03 19:11:50

阅读数:6442

评论数:0

Java远程方法调用RMI简介

Java远程方法调用RMI简介   Java RMI (Remote Method Invocation 远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,...

2016-09-26 21:56:51

阅读数:459

评论数:0

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