摘要: 背景 去面试的时候遇到一道和 string 相关的题目,记录一下用到的知识点。题目如下: 问以上代码的输出是什么。 分析 很容易可以看出 s 和 ps 代表同一个 string,b 和 pb 代表同一个 byte 的切片。关键在于 根据 "The Go Programming Language" 的阅读全文
posted @ 2018-05-24 23:29 DilonWu 阅读(280) 评论(0) 编辑
摘要: queue 简介 队列是一种非常常见的数据结构,日常生活中也能经常看到。一个典型的队列如下图(图片来自 "segmentfault" ): 可以看出队列和我们日常生活中排队是基本一致的。都遵循 FIFO(First In First Out)的原则。 实现 队列可以使用链表或者数组实现,使用链表的优阅读全文
posted @ 2018-04-29 23:06 DilonWu 阅读(708) 评论(0) 编辑
摘要: 背景 最近在学习 redis,看到redis中使用 了skip list。在网上搜索了一下发现用 golang 实现的 skip list 寥寥无几,性能和并发性也不是特别好,于是决定自己造一个并发安全的 skip list 轮子。代码在这里: https://github.com/AceDarkk阅读全文
posted @ 2018-04-16 17:20 DilonWu 阅读(984) 评论(0) 编辑
摘要: 在知乎看到有人分享了几道笔试题,自己总结了一下其中与channel有关的题目。全部题目在这里: https://zhuanlan.zhihu.com/p/35058068 题目 5、请找出下面代码的问题所在。 go func main() { abc := make(chan int, 1000) 阅读全文
posted @ 2018-03-30 17:50 DilonWu 阅读(147) 评论(0) 编辑
摘要: 背景 写爬虫的时候总会遇到爬取速度过快而被封IP的情况,这个时候就需要使用代理了。在https://github.com/henson/ProxyPool 的启发下,决定自己实现一个代理池。项目已经开源在github。 https://github.com/AceDarkknight/GoProxy阅读全文
posted @ 2018-03-25 16:38 DilonWu 阅读(1409) 评论(5) 编辑
摘要: glide是golang的一款包管理工具,就像Java下的Maven(当然Maven的定位不只是包管理工具)。今天试用了一下,记录一下使用过程和遇到的一些坑。 环境 Windows 7,Goland,Go 1.8.4 安装 在Goland中打开File——Settings——Tools——Exter阅读全文
posted @ 2018-03-16 13:21 DilonWu 阅读(231) 评论(0) 编辑
摘要: 开通了一个阿里云来玩,记录一下环境搭建的过程 运行环境 ECS Ubuntu 16.04 64位 过程 输入 如果看到go环境的信息说明配置成功。 安装Git Reference: http://www.cnblogs.com/rookie404/p/6358596.html https://jin阅读全文
posted @ 2018-02-09 10:55 DilonWu 阅读(497) 评论(0) 编辑
摘要: 项目中需要读取数据库中的多张表。由于表的数据比较多,串行读取时耗时比较多,所以对程序做了一点优化。 环境 .NET 3.5,SQL Server 2012,Visual Studio 2015 过程 项目中使用存储过程串行地读取数据库,存储过程接受同一个表变量作为参数。但是当在多线程中复制DataT阅读全文
posted @ 2018-02-08 15:50 DilonWu 阅读(773) 评论(0) 编辑