github-webhook 小工具

2020-01-09
阅读 2 分钟
2.5k
最近写了一个小工具, 用来接收github webhook消息, 以在服务器上自动执行脚本 gaopengfei123123/hook github hook server 一个用来接收webhook的server 环境 golang v1.11+ (因为用到了go mod) 安装 执行: {代码...} 创建文件 main.go {代码...} 执行命令 {代码...} app 这个二进制文件就是本体了, 放到合适的地方, 执行...

golang 通过channel控制并发数量

2020-01-09
阅读 2 分钟
6.2k
使用 go 关键字有时候需要控制一下并发的数量, 但不至于去修改 runtime.GOMAXPROCS 这个数值, 这里就用到了缓冲channel的特性

golang 通过 context 控制并发的应用场景

2020-01-06
阅读 4 分钟
7.5k
golang 里出现多 goroutine 的场景很常见, 最常用的两种方式就是 WaitGroup 和 Context, 今天我们了解一下 Context 的应用场景

Redis 统计uv

2020-01-06
阅读 2 分钟
4.2k
日常接需求的时候, PM提出来一个需要统计页面UV/PV的需求你怎么做? 场景 下面有三个选择: 甩给公司的大数据部门, 让他们搞去 开始记录ip ,然后去重统计, b数/mysql/redis/hashMap等等 bitmap 使用 HyperLogLog 算法 首先, 选1的时候看公司架构怎么说, 如果人家给你排期到半个月后了你这需求还做不做了? 其次, 选2是我们...

centOS7 搭建k8s, 少受翻墙的苦

2019-07-04
阅读 4 分钟
7.1k
都是走的国内镜像源 -- 鲁迅 关闭 selinux {代码...} 关闭交换分区 {代码...} 网络配置文件 {代码...} yum换国内源 {代码...} 配置k8s资源的下载地址 {代码...} 安装依赖 {代码...} docker换源 {代码...} 开机启动 {代码...} 下载k8s依赖镜像 获取依赖的镜像 {代码...} 国内用户通过阿里云镜像下载k8s依赖组件 {代码...}...

用gorilla websocket 搞一个聊天室

2019-01-22
阅读 2 分钟
7.6k
这个demo实现了: 消息广播 心跳检测 通过命令行来进行聊天 具体逻辑都在 websocket.go 这个文件里 这里的核心就是 aliveList 这个全局变量, 负责把消息分发给各客户端, 事件用channel来传递, 减少阻塞 单个链接会在 aliveList 中注册, ConnList 就是所有活跃的链接 {代码...} 服务启动后会执行事件监听循环 {代码...} 因...

使用 docker-compose 搭建一个 elk 系统

2018-08-20
阅读 2 分钟
6.4k
找了不少使用 docker-elk 搭建的博客, 英文的阅读吃力不说, 镜像源也是慢的让人头皮发麻, 因此重新编排了一个docker-compose,源都是从 [链接] 上找的, 即使拉的国内镜像源应该也能很好的支持了吧?

php开发过程中不怎么常见的问题

2018-08-15
阅读 5 分钟
3.2k
把 timestamp 这个参数放在 urlQuery 的最前面, ?timestamp=1234567890 这样避免出现 &time发生转义的情况

不正宗 docker 入门教程-使用 docker-compose (3/3)

2018-07-20
阅读 7 分钟
7.2k
在构建一个完整的服务时,我们通常启动一个容器, 一旦出现多个容器需要同时启动的时候手打是下下之策, 因为时间一长难免会忘记细节,写脚本也不是不可以,但是大家没有达成共识时脚本也很难维护...

不正宗 docker 入门教程-构建一个镜像(2/3)

2018-07-10
阅读 6 分钟
3.1k
这个命令是将先有的容器制作成镜像, 不过建议仅用在排查问题的时候使用, 平时生成容器时最好不要用这种镜像, 因为不知道里面有什么改动, 对于开发者来说完全是一个黑盒

不正宗 docker 入门教程-启动一个容器(1/3)

2018-07-10
阅读 6 分钟
7.6k
从命名上就知道这是一篇简单粗暴的docker新手入门教程, 为什么要简单粗暴? 我认为有自学能力的人帮他入门就够了, 不能自学的一时半会儿也教不会, 不符合入门教程的初衷, 建议出门左拐去找找视频教程...

基于 rabbitmq 实现的延时队列

2018-05-15
阅读 4 分钟
6.8k
基于第一点,我利用的是消息存在过期时间这一特性, 消息一旦过期就会变成dead letter,可以让单独的消息过期,也可以设置整个队列消息的过期时间而rabbitmq会有限取两个值的最小值