自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

咖啡色的羊驼

只是当作自己的备忘录

原创 一看就懂系列之Golang的pprof

前言 这是一篇给网友的文章,正好最近在研究分析golang的性能,我觉得是时候来一个了断了。 正文 1.一句话简介 Golang自带的一款开箱即用的性能监控和分析工具。 (全篇看的过程中没必要特意记忆、看完自然让你有不一样的感觉) 2.使用姿势? 2.1 runtime/pprof 手动调用ru...

2020-03-02 15:26:30 227 0

原创 踩坑系列之go的unexpected directory layout

前言 在本地起了一个test项目,用于日常的小测试,然后写了一个单测的代码,发现报错了。 网上找了一下答案,发现也有小伙伴遇到。说实话没看懂,写的太不直接了。 所以用最短的话,记录一下。 正文 在执行go test命令的时候,报错内容: unexpected directory layout: ...

2020-02-29 16:35:14 1314 0

原创 2020年的第一篇技术文章

前言 说实话,没想到这个是我2020年第一篇技术文章。真正意义上不算技术文章。 正文 促使我想起csdn的的还是,今天看到的一个文章。 讲的是:为什么MySQL的索引机制不借鉴Kafka索引机制? 我回想了我知道的所有知识记忆点,甚至连前女友的裤子型号这个记忆点都翻出来了,勉强能答上一些。 当看...

2020-01-12 19:39:02 245 0

原创 一看就懂系列之Golang的Map如何做到最省空间?

前言 今天在看源码的时候,发现一个东西,“空间”和“时间”一直是对立的,那么在“空间换时间”的时候,通常使用的是map中的key来快速判断,很多时候其value是用不到的。 那么问题来了,既然很多时候value用不到,那么怎么写才是最节省空间的? 正文 说实话,我没有直接想到这个问题的答案。 不...

2019-12-01 17:17:59 303 3

原创 踩坑系列之 mysql的effect rows

前言 这周的时候,和老铁就GoLang中mysql的“effect rows”这个问题讨论起来。 关键点在于:在进行update操作的时候,如果不进行更新(也可以理解为当前数据库就是这样子了)或者没这条数据,effect rows都会为0。 假设一个场景,需要区分这两种情况,就没法解决了。 正文 ...

2019-11-10 21:49:43 333 2

原创 由浅入深聊聊Golang的sync.Pool

前言 今天在思考优化GC的套路,看到了sync.Pool,那就来总结下,希望可以有个了断。 用最通俗的话,讲明白知识。以下知识点10s后即将到来。 1.pool是什么? 2.为什么需要sync.Pool? 3.如何使用sync.Pool? 4.走一波源码 5.源码关键点解析 6.用上池子效率怎么样...

2019-07-31 02:02:41 423 0

原创 由浅入深聊聊Golang的sync.Map

前言 今天在技术群中有小伙伴讨论并发安全的东西,其实之前就有写过map相关文章:由浅入深聊聊Golang的map。但是没有详细说明sync.Map是怎么一回事。 回想了一下,竟然脑中只剩下“两个map、一个只读一个读写,xxxxx”等,关键词。有印象能扯,但是有点乱,还是写一遍简单记录一下吧。 1...

2019-07-21 01:22:34 707 2

原创 如何处理Golang中int64类型变为科学计数法?

背景 这周时候在处理订单消息传递的时候,发现定义的orderID大多数时候是正常的(例如:1152921570135310348)偶现科学计数法(例如:1.1529215701353103e+18)。 传参的结构是这样的:map[string]interface{} 赋值:data[“id”] =...

2019-05-11 16:21:36 2180 4

原创 一看就懂系列之Golang的String

前言 今天在写代码的时候,遍历Golang中的字符串时候,发现竟然和想象中不同,从而认真研究了一下,做个记录与string做一给了断,这是一篇实战贴。 你将知道一下知识点: 1.字符串的组成? 2.如何遍历字符串? 3.如何将字符串与整型互转? 4.如何改变其中某个字符? 5.如何截取字符串? 6...

2019-02-24 16:36:58 330 0

原创 Golang优化之内存对齐

前文 话说今天在用uintptr进行指针运算的时候,突然想起来有个内存对齐的东西,那么对这个uintptr计算是否会有影响? 带着疑问,开始吧。 你将获得以下知识点: 1.什么是内存对齐? 2.为什么需要内存对齐? 3.如何进行内存对齐? 4.golang的内存对齐如何体现? 5.如何利用内存对齐...

2018-12-18 03:57:12 1498 7

原创 如何判断Golang接口是否实现?

前言 在看一个底层库的的时候,看到了一个比较奇怪的写法,于是乎有了本文。 主要探讨两个问题: 1.利用编译来判断Golang接口是否实现 2.延伸出的make和new的区别 正文 1.利用编译来判断Golang接口是否实现 看了一个底层通用链接池的库,有这么一行代码: var _ Pooler =...

2018-10-27 14:45:07 4441 0

原创 关于goroutine的一些小理解

前言 今天看一个大神的代码,看到了runtime.Gosched(),瞬间把我看懵了。。 后面梳理了下,其实这个竟然之前学习goroutine的时候没学到,所以顺便记录下,以便日后留恋。 知识点 理解这个goroutine必须要知道以下三大块东西。 进程、线程、协程 并发、并行 Golang中的...

2018-10-11 21:55:04 1718 0

原创 由浅入深聊聊Golang的context

前言 正文

2018-10-07 01:49:13 10942 4

原创 由浅入深聊聊Golang的slice

前言 今天本来想去外地玩耍,结果睡过头错过了动车,只好总结一下slice,希望能与slice之间做一个了断。 文章由浅入深,遵从能用代码说话就不bb的原则。 正文 1.基本操作 1.1 声明 var stringSlice []string stringSlice := []string{&...

2018-10-04 20:04:09 282 4

原创 由浅入深聊聊Golang的map

前言 今日听了大佬们对于map的讲解,结合自己之前的积累,专门来由浅入深的总结一下,希望可以与map之间做一个了断。 文章的深浅顺序是递进的,当你看完这篇文章,你也基本掌握了map的99%的知识点了,可以装逼和吹牛逼了。 正文 1.map的基本使用 1.1声明 &a...

2018-10-04 00:32:51 9937 7

原创 由浅入深聊聊Golang中select的实现机制

正文 话说今天在玩select的时候发现一个问题,是这样的: 片段1: func main(){ var count int for { select { case <-time.Tick(time...

2018-08-31 01:40:42 12239 4

原创 Golang中defer的三个实战要点

前言 Golang中的defer是使用频次比较高的,能创造出延迟生效特效的一种方式。 defer也有自己的矫情,需要注意的。 本文将从通过代码的方式来说明defer的三点矫情。 1.defer的生效顺序 2.defer与return,函数返回值之间的顺序 3.defer定义和执行两个步...

2018-08-25 16:42:34 3780 0

原创 Golang如何获取Request Payload的数据

前言 话说今天对接fe,发现一直出现参数错误的报错。对了参数格式没问题, 后面发现数据不是Form Data的,而是Request Payload的,所以来总结备忘下。 正文 了解Request Payload 这个要从POST请求说起: POST请求有两种方式: 1.方式一: ...

2018-08-20 23:43:13 4290 1

原创 一看就懂系列之Golang的测试

前言 10s后以下知识点即将靠近: 1.为什么需要测试? 2.Golang的测试规矩 3.功能测试 4.压力测试 5.测试代码的覆盖率测试 6.测试框架 正文

2018-07-30 01:15:27 12934 0

原创 一看就懂系列之Golang的反射

前言 10s后,以下知识点即将靠近: 1.反射的简介 2.为什么使用反射? 3.反射的实现 4.反射具体能做什么? https://www.jianshu.com/p/53adb1e92710 正文 1.反射的简介 Golang提供了一种机制,在编译时不知道类型的情况下,可更...

2018-07-29 09:35:42 8447 1

原创 [详解]由浅入深的了解一下composer自动加载机制

前言 由于对于composer自动加载机制的记忆只剩下了”spl_auto???”和”根据命名空间来推导出文件路径”这两个了。。。还是残缺的。。 本想网上收藏一篇详解,奈何,没发现符合我觉得的”由浅入深”文章。 所以有了这篇笔记。 以下知识点即将赶来: 1.了解一下spl_autoloa...

2018-07-26 02:18:42 8265 0

原创 一看就懂系列之Golang的goroutine和通道

前言 10s后,以下知识点即将靠近: 1.从并发模型说起 2.goroutine的简介 3.goroutine的使用姿势 4.通道(channel)的简介 5.重要的四种通道使用 6.goroutine死锁与处理 7.select的多路复用 8.select死锁 正文 1...

2018-07-24 08:04:03 18913 9

原创 一看就懂系列之Golang的接口

前言 接口在面向对象编程中是经常使用的招式,也是体现多态很重要的手段。 是的。Golang中也有接口这玩意儿。 本文将以通俗易懂的方式,走一波Golang的接口。 10s后,以下知识点即将到达战场: 1.接口是什么?如何定义? 2.为什么需要接口? 3.接口实战初体验 4.如何测试...

2018-07-22 03:12:02 22850 4

原创 一看就懂系列之Golang的方法

前言 在Go里头是没有类的概念的,但是Go一样实现了同样的效果。 本文主要通过Go和PHP的对比来做笔记,致力于”一篇讲清楚go方法”,对于说phper的同学,看完印象会更深刻。 即将get到以下知识小点: 1.Go的方法 vs PHP的类 2.Go的继承 vs PHP的继承 3.重载...

2018-07-20 02:33:34 3710 0

原创 一看就懂系列之Golang实战基础

前言 学习任何东西都是从模仿开始的。 golang最精华的基础部分,在网上找了半天没发现合适的,还是自己总结一篇吧。 本文包括以下内容: 1.Golang的基础语法 2.Golang的基础命令 此文浏览即可无需记住,使用时当字典来查会有惊喜哦~ 正文 Golang的基础语法 ...

2018-07-19 02:40:09 6979 0

原创 一看就懂系列之Golang准备

前言 开始学习之前要做的一些准备: 1.golang的简历 2.本地开发环境的搭建 3.编辑器的选择 4.推荐的书籍 正文 golang的简历 golang的背景和背影都很多,简单一句话介绍: ··· 123123123123 ···...

2018-07-16 01:50:16 2387 0

原创 咖啡色的羊驼学习Golang

前言 四年前便与golang结缘,学了一波由于没有应用场景便雪藏了,前几个月重新开始学习,此篇用于自己的总结备忘录。 正文 [先写标题,先留坑日后再填] 1.golang基础操作总结...

2018-07-16 00:24:03 1656 2

原创 [小技巧]两台mac pro如何更快的传输文件

前言 在同一个网络下,传文件方式有很多,可以通过qq等支持传文件功能软件,但是这个走了一层网络,其实是比较慢的。分享从同事那儿get到的两种方式 正文 1.通过php php -S 172.21.205.xxx:9999 2.通过python python -m Sim...

2018-07-15 12:00:17 6786 0

原创 如何同步本地php代码到远程机器,来实现本地开发?

前言 近期遇到一种情况,本地开发环境的搭建为了快速,很多公司已打包好现成的镜像提供使用,同时开发的时候人手一台云机器。 这边就有一个很重要的问题了。 如何同步本地代码到远程机器,来实现本地开发? 有的同学喜欢VIM的开发环境当让可以直接登上机器开发,包括GIT中啥的都可以用命令行处理,肯定可...

2018-06-23 10:47:47 1228 0

原创 [详解]优化API接口响应速度的套路

前言API接口响应慢? SLA一直提不上去? 其实这是后端程序员想进阶必须要跨过去的坎:就是把它优化掉。 那么这其中到底有没有套路呢?答案是:有的。本文将介绍目前正在用并且十分“无脑”有效的这个套路。正文埋点追踪分析,找出真凶 首先呢,第一部肯定是在关键函数(有db、文件、复杂计算等操作...

2017-09-18 01:53:06 15332 3

原创 如何使用brew将mac本地升级至php7

前言由于公司已经全线升级php7,所以将本地的环境进行升级了下。 由于早年乱跑百度搜索的各种一键安装脚本,导致此次升级困难重重,但发现问题并解决之后,发现升级步骤,还是很清晰的。记录一下sb的一天正文 1.使用brew进行升级(已安装或者知道使用姿势请跳过) 安装命令ruby -e &quo...

2017-09-15 00:06:16 2460 0

原创 记一次偶然遇到mysql的max_connection_errors错误

前言打开项目后台发现数据库连接报错,没仔细看大概看了下,噢,是连接数太多了,应该过一会儿就好了,后面发现同事可以访问,我竟然不行,认真看了下这不仅是连接太多,而且还是同一个ip连接太多。懵。错误关键字Host is blocked because of many connection errors...

2017-08-12 14:22:14 4838 0

原创 一看就懂系列之 由浅入深聊一聊php的垃圾回收机制

转载请附上本文地址:前言是的,平时经常听到大牛说到的gc,就是垃圾回收器,全称Garbage Collection。早期版本,准确地说是5.3之前(不包括5.3)的垃圾回收机制,是没有专门的垃圾回收器的。只是简单的判断了一下变量的zval的refcount是否为0,是的话就释放否则不释放直至进程结...

2017-08-08 03:34:23 8713 0

原创 记录一次解决PHP返回数据被nginx截断的问题

前言今日,发生了一件懵逼的事情,通过内部接口获取数据的时候,概率性出现返回的数据被截断的问题。内部接口好好的为何突然出现问题了?此文将记录这次本应该很快解决却没有很快解决的过程。正文背景内部接口分为5+3=8台机器,为什么这么说呢,5台是一直有的,而3台是刚新增的,问题就出在了这三台,由于负载均衡...

2017-08-01 02:05:12 3239 0

原创 linux查看本机IP、出口IP、gateway、DNS

本机IP: ifconfig 出口IP curl ipinfo.io curl ip.cn curl cip.cc curl myip.ipip.net curl ifconfig.me curl http://members.3322.org/dyndns/getip gat...

2017-07-25 02:58:21 1743 0

转载 分布式发布订阅消息系统 Kafka 架构设计

我们为什么要搭建该系统Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(activity stream)和运营数据处理管道(pipeline)的基础。现在它已为多家不同类型的公司 作为多种类型的数据管道(data pipeline)和消息系统使用。活动流数据是所有...

2017-07-25 01:36:18 533 0

原创 一看就懂系列之 高并发的短链接替换实现方案

转载请附上本文地址:http://blog.csdn.net/u011957758/article/details/75810039前言是的,相信只要是社交类的app,或多或少会涉及到描述。那么当存在链接的时候,我们不知道链接有多长,所以描述字段就没法准确的用varchar(140)了。 难道用...

2017-07-23 01:55:29 4885 0

原创 如何解决BIGINT UNSIGNED value is out of range

前言近日一早上都在解决数据库的问题,这是新遇到的一个报错,特此记录一下。正文背景:需要在sql中之间执行类似:UPDATE {$table} SET point=point-{$point} WHERE `id`={$id}突然发现要被减去的point的数目是大于数据库中存储的。不是前文没做检验是...

2017-07-19 02:45:12 7557 0

转载 详解mysql的悲观锁与乐观锁

悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实...

2017-07-19 02:12:01 457 0

原创 详解mysql的for update

前言近期开发与钱相关的项目,在高并发场景下对数据的准确行有很高的要求,用到了for update,故总结一波以便日后留恋。本文讲解几个点: 1.for update的使用场景 2.for update如何使用 3.for update的锁表 4.for update的注意点 5.for ...

2017-07-16 21:23:18 16837 0

提示
确定要删除当前文章?
取消 删除