![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
服务端
文章平均质量分 79
Codex_97
计算机爱好者。!
展开
-
PHP正则表达式相关
文章目录前言一、正则表达式是什么?二、正则基本语法1.行定位符(^ 和 $)2.选择字符( | ),‘或’3.单字符匹配(`[]`)4.排除字符(^),‘非’5.限定符(`?` 、`*` 、`+`、 `{n,m}`)4.排除字符(^),‘非’4.排除字符(^),‘非’4.排除字符(^),‘非’总结前言开发中遇到关于字符串匹配和校验,使用正则表达式可以高效快速的实现上述的功能,现记录一下一、正则表达式是什么?正则表达式又称为匹配模式(Pattern) , 由一组具有特定含义的字符串构成,通常用于匹原创 2020-11-05 21:09:07 · 343 阅读 · 1 评论 -
Thrift_02——实践:搭建Golang、PHP间的远程服务调用RPC
一、简述下面我将通过thrift框架实现以Golang为服务端,PHP为客户端的RPC调用,实现的功能为:GetSumAndTime–即实现对指定整型入参a、b完成求和操作并返回其运算的开始计算的、计算结束的毫秒级时间戳。二、实现步骤1、安装thrift工具包,见Thrift_01——简介:远程过程调用协议2、构建IDL数据定义文件(.thrift),使用thrift工具生成Golang和PHP的接口代码(1)编写calSum.thrift:struct Result{ 1:i64原创 2020-07-12 11:08:52 · 477 阅读 · 0 评论 -
Thrift_01——简介:远程过程调用协议
一、RPC (Remote produce call)远程过程调用协议特点:使用自定义的TCP协议,请求报文体积小,基于Thrift可以实现高效的二进制传输,提高了传输性能,一般都会自带负载均衡,能做到自动通知,不会影响上游。二、远程调用的步骤:一次远程的调用经历了一下10个步骤:1.调用客户端以本地方式调用远程服务2.client stub将请求(方法和参数)组装成网络消息3.client stub找得到服务器地址,将消息传送到远程主机4.server stub得到传送过来的请求,进行解码原创 2020-07-11 20:52:57 · 331 阅读 · 0 评论 -
快速统计代码行,利用git命令快速统计
普通版author换成你在git中的昵称/代号git log --author="yourNAME" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", ...原创 2020-04-02 14:37:03 · 182 阅读 · 0 评论 -
Golang时间包的“坑” time.Parse
开发过程中,无意发现的bug首先看一段代码:func main() { st := "2019-11-21 11:59:01" fmt.Printf("%s\n", st) t, _ := time.Parse("2006-01-02 15:04:05", st) fmt.Println(t.Unix()) tt := time.Unix(t.Unix(), 0) fmt.P...原创 2020-02-27 21:41:54 · 8738 阅读 · 0 评论 -
对Golang的nil的理解和认识
1.简介按照Go语言的规范,任何类型在未初始化的时候都对应一个零值:布尔型零值为:false整型零值为:0字符串的零值为:""而指针,函数,interface,slice,channel,map的零值均为nilGo文档中说明:nil是预定义的标识符,代表指针,通道,函数,接口,映射或者切片的零值,并并不是Go的关键字之一。还有,nil只能赋值为以上的几个类型,若赋值给基础类型,则会引...原创 2019-08-27 21:48:26 · 732 阅读 · 2 评论 -
Golang之单元测试
golang提供了极为简洁的编写单元测试的方式,只需几行代码,即可轻松创建出一个测试用例,并且可以直接运行。1.testing单元测试使用testing可以提供自动化的测试支持,通过go test 命令能够执行形如一下结构的函数:func TestXXX(t *testing.T)XXX可以是任何的字符串,通常为被测试的方法名。其中的*testing.T包含测试打印测试日志、输出断...原创 2020-01-07 21:58:08 · 535 阅读 · 0 评论 -
golang并发编程——wg.WaitGroupWrapper
首先看一段程序:package mainimport "fmt"func main() { for i := 1; i <= 10; i++ { //并发计算每个数的立方数 go func() { fmt.Println(i * i * i) }() }}点击运行程序后,发现程序只解结束,没有输出任何内容:这是因为main函数没有等待刚刚启动的协程...原创 2019-12-30 22:09:24 · 1594 阅读 · 0 评论 -
golang的初始化
Go程序的初始化总是从main包下的main方法开始的,如果main包中引入了其他的包,则会首先导入其他的包,并执行对应包中的inti()方法,若只需要某个包中的init函数,不需要其中的其他方法则可以通过以下方式实现:_ "net/http"Go文件的初始化顺序:1 从main方法开始,若包含其他的包,首先引入其他包2 若其他包也引用了别的包,则首先引入其他的包,然后创建和初始化这个包...原创 2019-12-09 22:01:04 · 389 阅读 · 0 评论 -
MySQL之深究select...count(*)
关于CountCOUNT(exper)1.Count函数是返回select语句检索行中expr的值不为NULL的数量,结果为一个BIGINT。2.若查询结果中没有命中任何的记录,则返回0.3.count(*)中包含值为NULL的记录行create table #bla(id int,id2 int)insert #bla values(null,null)insert #bla va...原创 2019-11-08 21:11:57 · 958 阅读 · 0 评论 -
常用Linux命令,做个记录,以供查询
tail 查看文件内容{-f :循环读取,用于查阅不断变化的日志文件}ps 用于显示当前进程(process)的状态「」原创 2019-08-15 16:30:10 · 118 阅读 · 0 评论 -
supervisor的简介和使用
简介supervisor是一个基于Python开发的c/s服务,用于Linux/unix环境的一个进程管理工具。可以很方便的监听/启动/停止和重启一个或者多个进程。当一个进程意外被杀死或者由于异常等原因导致程序的终止,supervisor可以监听到进程死后将其自动的重新拉起,可以很方便的做到进程自动恢复。supervisor的配置文件运行supervisor服务的时候,需要指定对应的配置文件...转载 2019-10-29 22:02:42 · 290 阅读 · 0 评论