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

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

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

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

PHP
09/28 10:13
147
因 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
229
golang json.Marshal interface 踩坑

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

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

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

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

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

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

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

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

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

慎用php的array_search函数

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

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

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

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

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

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

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

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

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

08/07 11:22
314
使用supervisord管理swoole服务踩过的一个坑

在一次发版之后,例行去看监控的时候,我发现某一台服务器的内存使用量不正常,比其他服务的内存使用量高了将近一倍。 我登录到服务器上,执行命令 ps -ef | grep php | wc -l 发现,swoole服...

开发环境迁移到Docker笔记

最近因为被苹果爸爸的新系统卡顿的恶心到吐,决定把开发系统迁移到win10,然后又把所有的开发环境docker化,docker大法好 这里记录下常用本地开发的常用的docker操作 一些常用操作 docker searc...

PHP PDO在SWOOLE模式下关闭数据库连接一些注意点

最近在swoole中使用php pdo扩展访问数据库的时候,发现了一个很有意思的事情。 我测试用的版本是 PHP 7.1.13 官方手册明确到告诉我们,使用PDO是这样关闭数据库连接的,只需要将PDO对象置为n...

02/11 20:30
965
PHP嵌入式开发学习小记

出于技术储备和团队目前架构走向等多方面因素,决定稍稍研究下PHP嵌入式开发,入个门。 下载最新的PHP源码,编译,安装,笔者系统Ubuntu 16。 在macOS折腾了下,各种问题,决定老老实实用lin...

MySQL开启GTID主从同步

主库配置 [mysqld] log_bin = /path/mysql/master/data/log_bin gtid_mode = ON enforce-gtid-consistency = true log_slave_updates = 1 basedir = /usr/local/Cellar/mysql/5.7.17 datadir...

2017/08/16 21:09
47

没有更多内容

加载失败,请刷新页面

返回顶部
顶部