MrQin

117
获赞数
5
关注数
23
粉丝数
北京
内蒙古科技大学 | 自动化
IP 属地辽宁
2017-03-24 加入
浏览 11.1k

个人网站 : www.qinblog.net
Github : github.com/wazsmwazsm

497 声望|学徒
全站排名超越 97% 用户
php
297
后端
224
设计模式
170
依赖注入
153
ioc
153
黄金勋章
暂未获得该勋章
如何获得
2 白银勋章
个人动态
  • 赞了回答2020-11-05
    golang 中, os.exit() runtime.Goexit() return 有什么区别
    return结束当前函数,并返回指定值runtime.Goexit结束当前goroutine,其他的goroutine不受影响,主程序也一样继续运行os.Exit会结束当前程序,不管你三七二十一
  • 赞了问题2020-09-29
    dockerfile 中的EXPOSE的含义(自问自答)
  • 赞了文章2020-05-20
    深入理解Go-逃逸分析
    How do I know whether a variable is allocated on the heap or the stack?From a correctness standpoint, you don't need to know. Each variable in Go exists as long as there are references to it. The storage location chosen by the implementation is ir...
  • 赞了文章2020-05-19
    基于 etcd 实现分布式锁
    在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLock或Synchronized)进行互斥控制。在单机环境中,Java中提供了很多并发处理相关的API。但是,随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程...
  • 赞了文章2020-05-16
    Redis中bitmap的妙用
    就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身。我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省储存空间。
  • 赞了文章2020-05-04
    gRPC服务发现&负载均衡
    构建高可用、高性能的通信服务,通常采用服务注册与发现、负载均衡和容错处理等机制实现。根据负载均衡实现所在的位置不同,通常可分为以下三种解决方案:
  • 赞了文章2020-03-30
    在 Golang 中针对 int64 类型优化 abs()
    Go 实际上已经在 math 包中实现了 abs() : math.Abs ,但对我的问题并不适用,因为它的输入输出的值类型都是 float64,我需要的是 int64。通过参数转换是可以使用的,不过将 float64 转为 int64 会产生一些开销,且转换值很大的数会发生截断,这两点都会在文章说清楚。
  • 赞了文章2020-02-03
    close和shutdown关闭TCP连接
    内核态用户态读写流程 write调用的过程 用户态的用户程序对socket进行write调用 内核会搬运用户程序缓冲区的数据到内核写缓冲区(发送缓冲区),搬运完毕write调用就会返回(即使缓冲区上的数据还没发送出去) 内核TCP协议栈会搬运数据从内核写缓冲区(发送缓冲区)...
  • 赞了回答2020-01-16
    golang 内存疑问
    首先,这个编译型语言关系不大,很多具有垃圾回收的语言都会遇到这个问题 其次,既然 Golang 有垃圾回收,当然就不需要你手动回收了 最后,那为什么程序的内存不会降低呢?有几种可能: Golang 的 http 库有 bug,会导致内存泄漏 内存已经被 runtime 回收,但并没有...
  • 赞了文章2020-01-06
    死月的二零一九总结
    总得来说,今年跌宕起伏,也是第一次感受到了来自于网络的压力和焦虑,真的是非常难忘的一年。 今年关键字:中年危机。 生活 足迹 成都·文档闭关; 杭州·电子工业出版社技术出版高峰论坛; 上海·FDCon 2019; 仙都·团队同好出游; 塞班·团队 Outing; 苏州·幻奏乐景...
  • 发布了文章2020-01-05
    解放数据库查询, 写一个 go 的查询构造器
    前言 数据库查询 在 go 开发中, 查询数据库一般有两种选择: 使用 orm (gorm\xorm 等) 直接写 SQL 直接编写 SQL 语义清晰, 不易出错, 但是遇到多个可变条件时显得不灵活 ORM 有模型关系, 记录预加载 (sql 生成优化) 等功能, 但是 sql 语句对开发人员相对透明, 管了太...
  • 发布了文章2020-01-02
    100 行写一个 go 的协程池 (任务池)
    go 的 goroutine 提供了一种较线程而言更廉价的方式处理并发场景, go 使用二级线程的模式, 将 goroutine 以 M:N 的形式复用到系统线程上, 节省了 cpu 调度的开销, 也避免了用户级线程(协程)进行系统调用时阻塞整个系统线程的问题。【1】
  • 赞了回答2019-12-23
    nginx是如何实现端口复用的??
    nginx1.9之后,通过SO_REUSEPORT支持端口服用,该socket参数由操作系统提供,允许多个套接字侦听相同的IP地址和端口组合,内核负责调度。[链接]
  • 赞了文章2019-09-26
    golang协程池设计
    go自从出生就身带“高并发”的标签,其并发编程就是由groutine实现的,因其消耗资源低,性能高效,开发成本低的特性而被广泛应用到各种场景,例如服务端开发中使用的HTTP服务,在golang net/http包中,每一个被监听到的tcp链接都是由一个groutine去完成处理其上下文的,...
  • 赞了文章2019-09-05
    深入理解 Go panic and recover
    作为一个 gophper,我相信你对于 panic 和 recover 肯定不陌生,但是你有没有想过。当我们执行了这两条语句之后。底层到底发生了什么事呢?前几天和同事刚好聊到相关的话题,发现其实大家对这块理解还是比较模糊的。希望这篇文章能够从更深入的角度告诉你为什么,它...
  • 赞了回答2019-08-22
    nginx不是使用epoll么? epoll貌似是同步的吧! 那nginx的异步非阻塞到底异步在哪里?
    其实,nginx是在epoll的地方同步监听socketfd的"改变",如果检测到一个sokcetfd“改变”,那么就调用对应的socketfd异步handle.
  • 赞了文章2019-07-20
    用 Consul 来做服务注册与服务发现
    服务注册与服务发现是在分布式服务架构中常常会涉及到的东西,业界常用的服务注册与服务发现工具有 ZooKeeper、etcd、Consul 和 Eureka。Consul 的主要功能有服务发现、健康检查、KV存储、安全服务沟通和多数据中心。Consul 与其他几个工具的区别可以在这里查看 Cons...
  • 赞了文章2019-07-10
    浅析HTTP/2的多路复用
    HTTP/2有三大特性:头部压缩、Server Push、多路复用。前两个特性意思比较明确,也好理解,唯有多路复用不太好理解,尤其是和HTTP1.1进行对比的时候,这个问题我想了很长时间,也对比了很长时间,现在把思考的结果分享出来,希望对大家有帮忙。
  • 赞了文章2019-07-09
    微服务中消息总线架构设计应用
    当一个O2O电商系统到达一定规模之后,就需要考虑系统的可扩展性、松耦合和组件化。一般采用的都是基于时下比较流行SpringCloud和Dubbo的分布式的微服务的架构模式,虽然模块间能够独立部署了,但是模块间的还是强依赖关系,每次改动都需要重新发版上线,产品迭代速度...
  • 赞了回答2019-05-22
    这样的数组,如何通过下级的id,递归来获取所有的上级信息
    可以先对 $all 数组先做一下预处理 {代码...}