摘要: [TOC] 本篇结束muduo网络库部分学习的笔记,总结一下muduo网络库的模块组成,同时会提供笔记中个模块的实现代码,这些模块代码单独抽出同时去除了muduo中对boost的依赖,改用c++11中的组件或者用单独的类替换,会使得muduo的各个组件会更为简洁易学。 基于C++11的muduo :阅读全文
posted @ 2018-12-08 14:16 艾露米婭娜 阅读(887) 评论(0) 编辑
摘要: golang的缓冲channel简单使用 [toc] 我们常用的是无缓冲channel : 其实make() 创建chan的第二个参数可设置缓冲channel的大小。 上述语句等价于 make(chan type, 1) 即创建了一个缓冲区大小为1channel 下面看有缓冲channel的两个例子阅读全文
posted @ 2019-06-29 22:42 艾露米婭娜 阅读(21) 评论(0) 编辑
摘要: golang协程同步的几种方法 [toc] 本文简要介绍下go中协程的几种同步方法。 协程概念简要理解 协程类似线程,是一种更为轻量级的调度单位,但协程还是不同于线程的,线程是系统级实现的,常见的调度方法是时间片轮转法,如每隔10ms切换一个线程执行。 协程则是应用软件级实现,它和线程的原理差不多,阅读全文
posted @ 2019-06-29 20:51 艾露米婭娜 阅读(56) 评论(0) 编辑
摘要: 红黑树原理详解及golang实现 [toc] 在看红黑树原理之前,先看下二叉查找树。 二叉查找树 二叉查找树,又称二叉排序树,二叉搜索树。 性质 它具备以下性质: 1、左子树上的所有节点均小于它的根节点值。 2、右子树上的所有节点的值均大于它根节点的值。 3、左右子树也分别为二叉排序树。 4、没有键阅读全文
posted @ 2019-06-02 17:53 艾露米婭娜 阅读(962) 评论(2) 编辑
摘要: go路由httprouter中的压缩字典树算法图解及c++实现 @[toc] 前言 准备从嵌入式往go后端转,今年准备学习一下gin框架,决定先从这个轻量级的路由请求器着手,本文讲讲它用到的压缩字典树算法。 httprouter简介 HttpRouter是一个Go编写的轻量级的高性能Http请求路由阅读全文
posted @ 2019-05-01 11:53 艾露米婭娜 阅读(109) 评论(0) 编辑
摘要: [toc] golang编译源代码和交叉编译方法 编译源代码 golang编译其实很简单,下载一份最新的源代码后,进入src目录运行all.bash即可, 但是你可能会遇到下面问题,这是因为现在golang都是用go语言编译的了,所以你的系统必须先安装好 = go1.4 的版本. 编译go1.4 1阅读全文
posted @ 2019-04-19 13:55 艾露米婭娜 阅读(224) 评论(0) 编辑
摘要: [toc] cmake使用笔记 之前一直使用MakeFile,看过一些开源项目后,了解到了cmake,它是一个跨平台的编译工具,不但能生成类unix系统下的makefile还能生成windows下project文件,这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使阅读全文
posted @ 2019-04-17 00:37 艾露米婭娜 阅读(61) 评论(0) 编辑
摘要: redis设计关系数据库 [toc] 前言 最近需要一张用户信息表,因为数据量并不大,想先放在内存中,等需求变更了,再移到磁盘上,或者往mysql塞,那么问题来了,怎么用redis的数据类型设计一个关系数据库呢。 redis只有key value这种存储结构,如果想利用它做成想其他数据库一样具备 等阅读全文
posted @ 2019-04-07 00:49 艾露米婭娜 阅读(1087) 评论(1) 编辑
摘要: @[toc] 前言 前面文章介绍了muduo网络库的单线程设计方式,即一个EventLoop 处理所有的事件,包括链接的建立、IO、计算、以及链接的销毁,本文介绍下muduo中的多线程设计方法。 多线程TcpServer EventLoopThreadPool 多线程的muduo::TcpServe阅读全文
posted @ 2019-03-20 11:49 艾露米婭娜 阅读(186) 评论(0) 编辑
摘要: [toc] 前言 这个月我想学一下go语言,于是决定学习一个go实现的缓存服务。 首先本文基于golang的http包实现一个简单http的缓存服务,因为用golang自带的http包实现一个处理请求的服务端十分便利,我们只需要写一个简单的map保存数据,写一个http的handler处理请求即可,阅读全文
posted @ 2019-02-15 09:35 艾露米婭娜 阅读(727) 评论(1) 编辑
摘要: @[toc] 前言 最近小程序要用到定时器,找了一圈也没找到合适的,最后还是绕回来选择了muduo里面的TimerQueue,整理了下它的代码,独立了出来,因为实在懒得从头写一个 !。 原来的muduo中TimerQueue是专为EventLoop提供定时功能的组件,我在笔记[ muduo网络库学习阅读全文
posted @ 2019-01-24 11:00 艾露米婭娜 阅读(332) 评论(0) 编辑