加载中
Go 重构 PHP 项目的一个神器 jsoniter

Go 和 PHP 通信是痛苦的,PHP 这个神奇的 json ,各种奇奇怪怪的 json 都能生成出来,如果一开始就奇怪直接用interface也就算了,最可怕那种是类型会变。 在用 Go 重构 PHP 项目的时候,两个...

11/06 13:28
24
Go Gin 框架 curl -I 返回 404 的问题

在使用 Go 的 Gin Web 框架的时候,发现一个有趣的问题,curl 一个 router 是正常的,但是加上 -I 参数就 404 了,就像下面这样 package main import "github.com/gin-gonic/gin" func main...

11/01 12:53
278
Go 的 IDE Goland 性能优化

最近在使用 Goland 写代码的时候,感觉 Goland 明显有点卡,快捷键呼出 Package structure 经常半天才响应。 这这这……这不应该是我这 i7-7700 + 32G 内存 + 256G SSD 黑苹果该有的状态,一...

10/31 12:40
76
python 实现 jumpserver 自动登录

现在很多团队都在使用 jumpserver(http://www.jumpserver.org/ )作为跳板机,管理服务器权限,一些对安全要求比较高的团队还会加上 Google authenticator (Google 身份验证器)。 但是安全...

php 日志库获取调用方的代码文件地址和代码行数

在使用其他语言的打印日志的时候,经常能看到打印日志时带上文件地址和代码行数,对于调试和查找问题非常方便,但是 php 日志库里则很少见到这个功能,但这个功能还是可以实现的。 关键点就是...

推荐一款工具可以把 json 转成 go 的 struct

go 这种强类型语言,在 decode json 的时候,一般需要定义一套数据结构用于映射,常用的就是 struct,在没有发现这个工具以前,我都是手写,遇到一些比较大的 json 时候,第一写起来比较恶心...

Go
10/09 10:03
290
一次有趣的 php json_decode error 分析

之前同事问了我一个有趣的问题,说为什么这个 json 字符串从缓存里读出来可以解析,但是作为一个 php 变量却解析错误呢? 先看一个我已经简化了的例子 $str = "\"; $j = json_encode($str); ...

PHP
09/28 10:13
157
因 php 默认的 url encode 编码标准引发的一个问题

先看常用的校验请求合法性的一个方式 function createToken($params) { $secretKey = 'secretKey'; ksort($params); $query = http_build_query($params); $token = md5($query . $secret...

教你一招如何使用 php 父子进程坑人

现在项目中大多都会使用MQ(消息队列)用来解耦和提升服务稳定性,然后都会面临一个问题,就是消息积压,解决这个问题除了提升处理消息的速度以外,另外就是多开些消费者进程,并发的消费数据...

php swoole task 踩坑及优化

如果有仔细看过 swoole task 的文档的话,应该都会注意到这句话 task 操作的次数必须小于onTask处理速度,如果投递容量超过处理能力,task会塞满缓存区,导致worker进程发生阻塞。worker进程...

09/10 08:02
271
golang json.Marshal interface 踩坑

Golang 使用 hprose 调用 php 接口,各种类型不确定,用了好多interface,然后发现了 json.Marshal 在处理map类型的时候,key 不能是 interface,否则就会报错 package main import ( "encod...

08/31 13:01
384
使用 json-forms 生成你的配置

在使用 json 格式存储配置的时候,总是需要在管理后台写一堆代码,去校验参数是否合法,防止用户乱写。 最近发现了一个超级好用的工具,可以把开发人员从这个繁琐的工作中解脱出来。 那就是 ...

08/27 13:03
504
swoole http server 性能优化

上线了一个基于 swoole http server 的服务以后,发现这个服务的请求耗时监控毛刺十分严重,接口耗时波动比较大,经过一段时间的分析,发现这个服务 response 包十分大,有些 response 包高达...

08/21 10:10
97
php require和include 相对路径一个有趣的坑

以前总是被教育,不要使用相对路径,这样性能比较差,但是相对路径的问题不仅仅是性能哦,看下面这里例子 这是项目结构 . ├── main.php ├── t │ ├── t1.php │ └── t2.php └─...

PHP
08/20 17:04
246
想要学好Go语言的必须知道的一个小技巧

由于我转Go语言比较早,很多认识我的,转Go或学习Go的同学遇到问题,经常会过来问我,然后,我发现。 除了学习Go语言可以看那些资料,这个问题以外,第二个经常被问的问题就是 “大佬,这个包...

慎用php的array_search函数

array_search是phper使用频次非常高的一个数组函数,但是array_search也是经常被滥用的一个函数,比如假设下面这种业务场景,需要把两个大数组内相同的元素统计出来(恩,没错有个array_int...

08/10 15:55
133
不要开启 php redis 扩展的自动序列化选项

php redis 扩展有自动序列化选项,在存储kv数据的时候,可以少写点代码就打开了,使用的过程中忽然发现了一个令人郁闷的地方。 扩展没有对你要存储的值做类型判断,任何类型的值都做了自动序...

08/09 15:37
304
memcached value最大限制只能是1M吗

关于memcached的value最大是1M的限制很多人都知道,但是如果你以为我还要说这个事情,那你就错了。 之前的老版本确实是只能是1M,但是根据git记录,其实2009年以后的版本这个value最大值已经...

08/08 17:47
285
小心 php fpm 的超时

一次线上问题,让我意识到,fpm 居然是用这种方式处理超时的,虽然有点震惊,但是想想,这才是我大 PHP 处理问题的方式,简单粗暴而且高效。 问题的现象是这样的,某个接口访问量大增,然后接...

08/08 14:22
322
swoole server 超时控制以及踩过的坑

在选定swoole作为PHP微服务的底层以后,我找了很久swoole server端的超时控制,但是,swoole的官方文档里,没有写server端的超时控制(类似于php-fpm的request_terminate_timeout配置),swo...

08/07 11:22
380

没有更多内容

加载失败,请刷新页面

返回顶部
顶部