摘要: 已知一个的struct组成的数组,现在要按照数组中的一个字段排序。python有sort方法,那golang要怎么实现呢?其实golang也有sort方法,并且使用简单,功能强大。 我们先看一下sort.Sort()的源码 通过quickSort方法我们看出,根据数据不同的状况,quickSort会 阅读全文
posted @ 2018-06-10 17:42 熔遁丶螺旋手里剑 阅读(3043) 评论(0) 推荐(1) 编辑
摘要: 1.添加PRIMARY KEY(主键索引) alter table `table_name` add primary key ( `column` ) 2.添加UNIQUE(唯一索引) alter table `table_name` add unique ( `column` ) 3.添加INDE 阅读全文
posted @ 2018-05-27 20:10 熔遁丶螺旋手里剑 阅读(287) 评论(0) 推荐(2) 编辑
摘要: 最近模块拆分,独立出了几个服务。上线流程并不复杂,只需要在指定目录执行bash deploy.sh master即可上线master分支。但是架不住模块太多,每天在上线流程上也花费了不少时间,所以尝试搭了个jenkins来自动化上线。上线时遇到了一个小坑,jenkins已经输出了启动成功的日志,但是 阅读全文
posted @ 2018-05-24 00:03 熔遁丶螺旋手里剑 阅读(5178) 评论(0) 推荐(1) 编辑
摘要: golang操作redis主要有两个库,go-redis和redigo。两者操作都比较简单,区别上redigo更像一个client执行各种操作都是通过Do函数去做的,redis-go对函数的封装更好,相比之下redigo操作redis显得有些繁琐。但是官方更推荐redigo,所以项目中我使用了red 阅读全文
posted @ 2018-05-13 20:02 熔遁丶螺旋手里剑 阅读(7073) 评论(0) 推荐(1) 编辑
摘要: go 阅读全文
posted @ 2018-05-06 21:11 熔遁丶螺旋手里剑 阅读(5093) 评论(0) 推荐(1) 编辑
摘要: 很简单的需求,将用户微信名写入MySQl即可,但是测试过程中却遇到了问题,微信名中的emoji写入数据库失败。解决步骤如下 1.了解utf8mb4 MySQL从5.5.3版本开始支持utf8mb4编码,默认编码还是utf8。目前最新的MySQL的默认编码已经改为utf8mb4了,因为utf8可以表示 阅读全文
posted @ 2018-04-22 18:51 熔遁丶螺旋手里剑 阅读(610) 评论(0) 推荐(2) 编辑
摘要: 公司升级了服务器的配置,内存吃紧的问题得以解决,由此想到了几个优化MySQL的简单方法。首先明确两件事,我们的业务场景是常见的高并发web服务,查询速度是重中之重。还有就是优化前一定要备份数据库,不然出问题就只能跑路了。 1.使用固态硬盘 这个优化方法毫无技术含量,完全就是花钱买性能,但是不得不说这 阅读全文
posted @ 2018-04-15 18:35 熔遁丶螺旋手里剑 阅读(1062) 评论(0) 推荐(3) 编辑
摘要: 当需要定时修改数据库时,一般我们都选择起一个定时进程去改库。如果将这种定时任务写入业务中,写成一个接口呢,定时进程显得有些不太合适?如果需要定时修改100次数据库,常规做法会启动100个进程,虽然这种进程非常轻量级,但还是会感觉不爽。实际上我们可以使用threading.Timer创建相应的线程来执 阅读全文
posted @ 2018-04-07 19:50 熔遁丶螺旋手里剑 阅读(1818) 评论(1) 推荐(1) 编辑
摘要: 最近一段时间接手了一个golang编写的模块,从python转到golang这种静态语言还是有些不适应的,接手模块后的第一个需求是实现一个加权分配的方法。 简单来说数据库中存有3个链接,3个链接的权重比是1:2:3,当前端请求链接时,按照权重比,随机返回一个链接。无论那种语言,解决这个问题的思路都基 阅读全文
posted @ 2018-04-01 19:07 熔遁丶螺旋手里剑 阅读(1266) 评论(0) 推荐(1) 编辑
摘要: 由于前端资源紧缺,我的后端系统迟迟等不来它的前端,没办法只好自己来写了。从html,js入门学起,然后照着vue.js的官方教程写了几个实例,从github上clone了一个不错的vue.js模版,填充了一个星期。虽然界面有些丑,但是总算是走通了全部的业务,期间被跨域,跳转,cookie等问题折磨得 阅读全文
posted @ 2018-03-25 20:08 熔遁丶螺旋手里剑 阅读(469) 评论(3) 推荐(1) 编辑