摘要: package mainimport "fmt"type ListNode struct { Val int Next *ListNode}func main() { l1 := &ListNode{ Val: 1, Next: &ListNode{ Val: 2, Next: &ListNode{ 阅读全文
posted @ 2019-05-11 22:16 山分子 阅读(645) 评论(0) 推荐(0) 编辑
摘要: export GOPROXY=https://goproxy.io 设置好之后就可以用go get 下载被墙的包了 项目地址:https://github.com/goproxyio/goproxy 阅读全文
posted @ 2019-04-24 21:30 山分子 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 一. 编写golang服务端 1.导入必要的websocket包,golang.org/x/net/websocket 或 github.com/golang/net/websocket 2.编写消息处理函数,主要实现接收客户端发送的消息和向客户端发送消息 3.绑定地址及端口 二、编写VUE客户端 阅读全文
posted @ 2019-03-24 22:00 山分子 阅读(1349) 评论(0) 推荐(0) 编辑
摘要: 一、敏捷开发 1.快速开发、快速迭代。 2.组件式开发,避免重复造轮子。 3.制定代码标准。 4.并行开发,高效配合。 5.单元测试必须覆盖所有核心业务。 二、DevOps流程建立起来 1.建立三套环境:测试、SandBox、正式。 2.建立自动化流程:CI/CD。 3.开发人员需全程参与到开发、测 阅读全文
posted @ 2019-01-27 23:13 山分子 阅读(937) 评论(0) 推荐(0) 编辑
摘要: 这次分享的内容很简单,就是一张表的设计思路。 一、背景 在做交易所的时候有个需求,需要统计邀请注册人数,比如 A邀请B, B邀请C, C邀请D。那么A的邀请人数就是3个,B的邀请人数就是2个,C的邀请人数就是1个。除此之外,还要能统计出A直接邀请人数,A下一级邀请人数,A下二级邀请的人数,以此类推。 阅读全文
posted @ 2018-12-16 21:18 山分子 阅读(8157) 评论(3) 推荐(0) 编辑
摘要: 一、背景 在分布式项目中,由于一个服务会有多个实例运行,有些特定的场景需要我们用到分布式锁。 例如:最近我正在做的交易所项目,其中一个服务是钱包模块,需要每半个小时就去归集用户的资金,这个定时任务只能有一个实例执行,要不然就会导致数据错乱。 二、解决方案 针对这种场景,利用redis来实现并发控制是 阅读全文
posted @ 2018-12-04 23:34 山分子 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 首先,不是所有的项目都适合微服务,微服务的开发部署和传统的单体应用是完全两套独立的东西,主要表现为: 1.微服务的架构比单体应用更加复杂; 2.架构搭好后,微服务的开发比传统的应用要简单,每个服务的职责更加单一; 3.微服务主要依赖CI 、CD、Docker、K8s等工具进行部署及运维,更加稳定可靠 阅读全文
posted @ 2018-10-20 22:45 山分子 阅读(531) 评论(0) 推荐(1) 编辑
摘要: 一、必要条件 1.安装go 请根据官方文档安装:https://golang.org/doc/install 要特别注意的是: /etc/profile 添加以下内容: export GOPATH=/home/golang export PATH=$PATH:$GOPATH/bin 保存并运行:so 阅读全文
posted @ 2018-09-07 15:07 山分子 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 用windows版vscode的同学们是否发现它的工具栏是白色的跟整个界面看起来不太搭调,如下图: 其实要改变标题栏颜色也很简单,点击:文件> 首选项>设置 将 "window.titleBarStyle": "custom" 配置到用户设置里边即可,如下图: 改过之后的样式如下: 是不是要好看很多 阅读全文
posted @ 2018-08-18 09:02 山分子 阅读(3428) 评论(0) 推荐(0) 编辑
摘要: 表达式如下: ^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{6,16}$ 阅读全文
posted @ 2018-08-17 12:18 山分子 阅读(680) 评论(0) 推荐(0) 编辑