go规范

1 . 多个 if 语句可以折叠成 switch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// NOT BAD
if foo() {
// ...
} else if bar == baz {
// ...
} else {
// ...
}

// BETTER
switch {
case foo():
// ...
case bar == baz:
// ...
default:
// ...
}

查看更多

分享到 评论

反射

反射来自元编程,指通过类型检查变量本身数据结构的方式,只有部分编程语言支持反射。反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。

查看更多

分享到 评论

Go字符串

修改字符串

要修改字符串,需要先将其转换成[]rune或[]byte,完成后再转换为string。无论哪种转换,都会重新分配内存,并复制字节数组。

查看更多

分享到 评论

MySQL基础

基础知识

  • mysql默认的引擎是InnoDB(MySQL5.5.5版本起)

三大范式

  • 属性具有原子性,不可再分解;
  • 不存在部分依赖;
  • 不存在传递依赖;

MySQL InnoDB 概览

InnoDB的数据存储在表空间,表空间是由InnoDB管理的一个黑盒子,由一系列的数据文件组成。InnoDB采用MVCC来支持高并发

MySQL执行

mysql.png

Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。

查看更多

分享到 评论

golang-defer

defer的使用特点

其实其中一点特性我理解起来就有点像java中的finally的用法

关于官方解释

1
2
3
A defer statement defers the execution of a function until the surrounding function returns.

The deferred call's arguments are evaluated immediately, but the function call is not executed until the surrounding function returns.

这里提到了defer调用的参数会立即计算,但在周围函数返回之前不会执行函数调用。

查看更多

分享到 评论

2018年总结

帝都的生活

       依稀记得在18年初的时候,毅然决定从重庆离职,离开这个舒适区,因为我明白,在这边待越久,差距就会越来越大,等到过完年来帝都搬砖。来到这边才感知和重庆的天壤之别。

查看更多

分享到 评论

我所读过的书

这里记录一下关于我读过的书籍

查看更多

分享到 评论

elasticsearch社区分享会

在前段时间加班的时候错过了两场我想去的技术会,这次终于没落空了。大佬也多,涨了不少姿势。特此记录一下分享,由于全凭记忆叙述,可能就没啥顺序而言的还原出之前的收获。

查看更多

分享到 评论

关于生成订单号规则的一些思考

关于我为什么写这篇文章是因为今天在做订单模块的时候,看到之前的PRD上描述的订单生成规则是由 年月日+用户id2位+企业id位
+四位自增长数。然后竟被我反驳的突然改成了精确时间+4位自增长数,于是我更失望了。

我们考虑一下,据我所常见的订单基本都14-20位。(年月日时分秒和随机数)基本上就有14位了。虽然一般项目做不到淘宝双11这种
支付峰值达到每秒10万笔订单.但是我觉得至少事先可以考虑到,想必当初淘宝或许也没意识到以后发展得这么好。

查看更多

分享到 评论

关于iframe跨域传输

至于我为什么想写这篇文章是因为最近在项目中使用到了iframe,是的。生无可恋的又写上了一点js,可能是因为前端的人对单点登录啥的或者是页面跳转以及要和后端的逻辑
处理起来不是很熟练吧。各大网站,包括淘宝,京东,这些大网站有很多自己的产品,至于前期是怎么样的不是很清楚,网易云至少是用的iframe。参考了一些博客,至于使用
不使用iframe,我觉得能解决问题就好,而且如果考虑的多的话就考虑以后扩展以及拆分啥的,毕竟前端又不像后端这样。

查看更多

分享到 评论