VirtualBox Centos6 安装增强功能设置共享文件夹 安装必要的工具 yum -y update yum -y install g++ gcc gcc-c++ make kernel-* yum -y install bzip2* yum -y perl ...

阅读全文 »

用dep ensure安装第三方库的时候总是失败,提示golang.org超时,如果不用代理的话肯定是访问不了的,但是我本地已经开了pgfastss代理而且浏览器上可以访问golang.org,后来调查了下,发现命令行是不能代理的即使开启了全局模式。 网上说可以设置命令行代理,我用pgfast...

阅读全文 »

由于go是静态强类型语言,不像JavaScript那样是动态语言,所以解析json的时候要先定义好解析后的结构体。 以获取豆瓣电影信息接口为例,地址如下: http://api.douban.com/v2/movie/top250?start=0&count=2 应答结...

阅读全文 »

logger package logger import ( "io" "log" "os" ) const ( LTrace = iota LInfo LWarn LError ) var ( Trace *log.Logger ...

阅读全文 »

go工作池,类似如线程池,不断的往池子里丢任务,池子开启多个线程不断的处理任务。go这里其实只是对go chan defer的简单封装。 work/main.go package work import "sync" type Pool struct { wg ...

阅读全文 »

队列是一个先进先出的数据结构,go语言实现一个队列,为了通用队列的元素使用了interface,通常一个队列有如下方法: * Push:向队列尾部压入一个元素 * Pop:从队列头部弹出一个元素 * Front:获取队列头部元素 * Size:队列的长度 package qu...

阅读全文 »

连接池使用场景如数据库连接,通常为了平衡性能和资源会建立多个数据库连接,将他们放到一个池子中,需要的时候从池子里面取,用完了再归还给池子,如果池子里的资源不够会创建新资源,尽量要避免新建资源的速度大于池子的大小,池子的大小要在获取资源和归还资源之间做到平衡最好, 这样才能避免了频繁的建立和销毁资源,...

阅读全文 »

golang排序写法还是蛮简洁的,不管是简单类型还是复杂的结构,倒序排序的时候可能有点奇怪不知道为什么这样设计 package main import ( "fmt" "sort" ) type Person struct { Name string A...

阅读全文 »

斐波纳契闭包、非闭包、递归三种实现方法 package main import ( "fmt" ) func finImpl() func() int { i, j := 0, 0 return func() int { if j == 0 { ...

阅读全文 »

vscode go插件安装失败 原因是本地没有golang tools,导致其他的插件安装失败,我们可以手动从github上下载。 使用命令查看GOPATH目录: go env GOPATH 找到您的GOPATH目录,我的是 C:\Users\yo...

阅读全文 »

说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让...

阅读全文 »

1\. “我啊,长到这么大,特别想回到过去,抱抱那个小时候自己,告诉她,那么多如洪水猛兽般的情绪,虽然不至于,但是我理解啊。” 2\. 你要克服的是你的虚荣心,是你的炫耀欲,你要对付的是你时刻想要出风头的小聪明。 —— 毛姆 ​​​​ 3、 其实你我这美梦气...

阅读全文 »

C++是一门被广泛使用的系统级编程语言,更是高性能后端标准开发语言;C++虽功能强大,灵活巧妙,但却属于易学难精的专家型语言,不仅新手难以驾驭,就是老司机也容易掉进各种陷阱。 本文结合作者的工作经验和学习心得,对C++语言的一些高级特性,做了简单介绍;对一些常见的误解,做了解释澄清;对比较容易...

阅读全文 »

更新js文件之后发现总是不生效,开始以为是浏览器缓存的原因,但是清理过之后甚至更换浏览器还是不生效。开始怀疑nginx了,于是重启nginx依旧有问题。最后只能求助搜索引擎了搜索清理nginx缓存的方法。 nginx_ngx_cache_purge [nginx_ngx_cache_pu...

阅读全文 »

直接上代码,这里只获取IPV4的地址,多个IP之间用分号间隔 std::string getLocalIpAddress() { using boost::asio::ip::tcp; std::string result; try { ...

阅读全文 »

我们知道new一个对象要自己去delete,这样的代码写多了很容易漏掉,常见漏掉的情况如下: * 忘了写 * 写了,但是某个分支提前return了 * 逻辑中抛出异常,直接跳过正常逻辑 假设有这样一个简单的类: class ConnTest { public: C...

阅读全文 »

本站鼠标滑动效果(仙尘光标)大家可能比较感兴趣,我也是无意中从其他地方看到,摘取过来的。2019年4月愚人节的时候看到大名鼎鼎的[stackoverflow](https://stackoverflow.com/)网站上有这个效果,简单查了下发现代码还蛮好找的就截取过来了,如下代码欢迎大家使用,放在...

阅读全文 »

qpid C++接口简单封装 希望简单的封装能满足大部分场景,并且简单易用。 处理队列请求 如果我想处理某个队列的消息我只需要指定一个队列名和回调处理函数就可以了 server.AddQueueServer("pingpong", [](const Message &m...

阅读全文 »

linux 简单服务启动、关闭脚本 假如我们的目录结构如下: /home/project/bin/shell 脚本所在目录 /home/project/TestServer/bin 可执行程序目录 /home/project/TestServer/lib 依赖库目录...

阅读全文 »

前言 -- 上周有幸和淘宝前端团队的七念老师做了一些NodeJS方面上的交流(实际情况其实是他电话面试了我╮(╯-╰)╭),我们主要聊到了我参与维护的一个线上NodeJS服务,关于它的现状和当下的不足。他向我提出的一些问题带给了我很大启发,尽管回答的不是很好。问题大意是,对于你意识到的这些不...

阅读全文 »

鄂ICP备17003086号. Copyright © 2016. All Rights Reserved.