无分类 前缀树 – 一种好玩的树型数据结构 上篇内容有在介绍 Gin 的路由实现时提到了前缀树,这次我们稍微深入探究一下前缀树的实现。本文以一道编程题为例,讲述前缀树的实现,以及前缀树的一种优化形态压缩前缀树。
无分类 用Go写算法:求最小可用自然数 前一段时间在 reddit 上看到有人推广一篇名为 GopherCon 2018 – Demystifying Binary Search Tree Algorithms 的博客,博客中列举了传统大学里学习算法的种种弊端,并强调了用 Go 实现算法是多么简单有趣,然后拿…
无分类 Gin 框架的路由结构浅析 路由是web框架的核心功能。在没有读过 gin 的代码之前,在我眼里的路由实现是这样的:根据路由里的 / 把路由切分成多个字符串数组,然后按照相同的前子数组把路由构造成树的结构;寻址时,先把请求的 url 按照 / …
无分类 io.Reader游标引发的血案 线上运行了一个图片合成程序,默认的小程序二维码中奖是小程序LOGO,不满足需求,所以将微信小程序二维码和用户头像合成在一张图片。由于微信图片有时候返回的Content-Type不对应(比如内容是PNG的,头确是image/…
无分类 再来一波PHP程序员必看书籍 前言 [链接] 内列出的是已看过的。 本篇文章内列出的书籍是准备要看或者正在看的,与大家分享。 知识无价,还是建议各位童鞋把更多的资金投入到学习中。书名排名不分前后 《编码:隐匿在计算机软硬件背后的语言》 …
无分类 Golang – 调度剖析【第二部分】 回顾本系列的第一部分,重点讲述了操作系统调度器的各个方面,这些知识对于理解和分析 Go 调度器的语义是非常重要的。在本文中,我将从语义层面解析 Go 调度器是如何工作的,并重点介绍其高级特性。Go 调度器是一…
无分类 Go 程序是如何编译成目标机器码的 今天我们一起来研究 Go 1.11 的编译器,以及它将 Go 程序代码编译成可执行文件的过程。以便了解我们日常使用的工具是如何工作的。本文还会带你了解 Go 程序为什么这么快,以及编译器在这中间起到了什么作用。