队列是一个先进先出的数据结构,go语言实现一个队列,为了通用队列的元素使用了interface,通常一个队列有如下方法: Push:向队列尾部压入一个元素 Pop:从队列头部弹出一个元素 Front:获取队列头部元素 Size:队列的长度 package queue import "errors" im...
go 连接池
连接池使用场景如数据库连接,通常为了平衡性能和资源会建立多个数据库连接,将他们放到一个池子中,需要的时候从池子里面取,用完了再归还给池子,如果池子里的资源不够会创建新资源,尽量要避免新建资源的速度大于池子的大小,池子的大小要在获取资源和归还资源之间做到平衡最...
go常见排序方法
golang排序写法还是蛮简洁的,不管是简单类型还是复杂的结构,倒序排序的时候可能有点奇怪不知道为什么这样设计 package main import ( "fmt" "sort" ) type Person struct { Name string Age int } func main() { // 整型排序 intList := [...
go学习代码片段
斐波纳契闭包、非闭包、递归三种实现方法 package main import ( "fmt" ) func finImpl() func() int { i, j := 0, 0 return func() int { if j == 0 { j = 1 return 1 } i, j = j, i+j return j } } func fibonacci(n int) [...
vscode go插件安装失败
vscode go插件安装失败 原因是本地没有golang tools,导致其他的插件安装失败,我们可以手动从github上下载。 使用命令查看GOPATH目录: go env GOPATH 找到您的GOPATH目录,我的是 C:\Users\yourname\go 在go/src目录下,新建golang.org目录如下: g...
MySQL的查询优化
说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT 、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,...
有什么你一看到就蹦起来找本子摘抄的句子或台词?
1\. “我啊,长到这么大,特别想回到过去,抱抱那个小时候自己,告诉她,那么多如洪水猛兽般的情绪,虽然不至于,但是我理解啊。” 2\. 你要克服的是你的虚荣心,是你的炫耀欲,你要对付的是你时刻想要出风头的小聪明。 —— 毛姆 3、 其实你我这美梦气数早已...
C++ 的门门道道 | 技术头条
C++是一门被广泛使用的系统级编程语言,更是高性能后端标准开发语言;C++虽功能强大,灵活巧妙,但却属于易学难精的专家型语言,不仅新手难以驾驭,就是老司机也容易掉进各种陷阱。 本文结合作者的工作经验和学习心得,对C++语言的一些高级特性,做了简单介绍;对一些常见的误解...
nginx清理缓存
更新js文件之后发现总是不生效,开始以为是浏览器缓存的原因,但是清理过之后甚至更换浏览器还是不生效。开始怀疑nginx了,于是重启nginx依旧有问题。最后只能求助搜索引擎了搜索清理nginx缓存的方法。 nginx_ngx_cache_purge [nginx_ngx_cache_purge](http://labs.frick...
boost asio获取本机IP地址
直接上代码,这里只获取IPV4的地址,多个IP之间用分号间隔 std::string getLocalIpAddress() { using boost::asio::ip::tcp; std::string result; try { boost::asio::io_service io_service; tcp::resolver resolver(io_service)...
C++保证指针对象正确的销毁
我们知道new一个对象要自己去delete,这样的代码写多了很容易漏掉,常见漏掉的情况如下: 忘了写 写了,但是某个分支提前return了 逻辑中抛出异常,直接跳过正常逻辑 假设有这样一个简单的类: class ConnTest { public: ConnTest() { std::cout << "ConnTe...
本站鼠标滑动效果(仙尘光标)
本站鼠标滑动效果(仙尘光标)大家可能比较感兴趣,我也是无意中从其他地方看到,摘取过来的。2019年4月愚人节的时候看到大名鼎鼎的[stackoverflow](https://stackoverflow.com/)网站上有这个效果,简单查了下发现代码还蛮好找的就截取过来了,如下代码欢迎大家使用,放在body闭...
qpid C++接口简单封装
qpid C++接口简单封装 希望简单的封装能满足大部分场景,并且简单易用。 处理队列请求 如果我想处理某个队列的消息我只需要指定一个队列名和回调处理函数就可以了 server.AddQueueServer("pingpong", [](const Message &msg, Message &reply) { std::cout...
linux 简单服务启动、关闭脚本
linux 简单服务启动、关闭脚本 假如我们的目录结构如下: /home/project/bin/shell 脚本所在目录 /home/project/TestServer/bin 可执行程序目录 /home/project/TestServer/lib 依赖库目录 服务名为:TestServer 启动脚本start.sh: !/bin/bash appNa...
关于Node.js后端架构的一点后知后觉
前言 -- 上周有幸和淘宝前端团队的七念老师做了一些NodeJS方面上的交流(实际情况其实是他电话面试了我╮(╯-╰)╭),我们主要聊到了我参与维护的一个线上NodeJS服务,关于它的现状和当下的不足。他向我提出的一些问题带给了我很大启发,尽管回答的不是很好。问题大意是,对于你...
泪流满面的 11 个 Git 面试题
伯乐在线 在今年的 Stack Overflow 开发者调查报告中,超过 70% 的开发者使用 Git,使其成为世界上使用人数最多的版本控制系统。Git 通常用于开源和商业软件开发,对个人、团队和企业都颇有益处。 Q1: 什么是 Git 复刻(fork)?复刻(fork)、分支(branch)和克隆(clone)之间...
Linux常用命令大全
清理缓存 echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches echo 3 > /proc/sys/vm/drop_caches 查看是否被linux系统OOM killer egrep -i -r 'killed process' /var/log 解压war包 unzip –oq news-test.war –d news-test ...
Apache Ignite c++ linux 编译安装
Apache Ignite c++ linux 编译安装 不要直接拉github上的代码编译,它上面没有libs库编译成功后运行不起来。 到官网上去下载:https://ignite.apache.org/download.cgibinaries 环境 操作系统:centos6 ignite版本: http://mirrors.shu.edu.cn/apache//ignite/2...
JavaScript 栈、队列
Stack 栈,后进先出 class Stack { constructor() { this.list = [] } pop() { const t = this.top() this.list.pop() return t } push(...item) { this.list.push(...item) } ...
QSortFilterProxyModel排序不正确
QSortFilterProxyModel排序不正确 客户端遇到的问题是当频繁的更新model时发现table上的行排序不正确,默认使用的是setDynamicSortFilter为true的方式。 在排除排序逻辑没有问题的情况下,能想到的方法是在model changed之后手动调用一下sort方法再重新排一下,但是这...