自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (3)
  • 收藏
  • 关注

原创 MongoDB

0. 背景由于工作原因,初识MongoDB,结合使用过程中的经验和教训,写下此文,即是一个自我学习的过程,也是一次review。1. Mongo DB是什么?简而言之,Mongo DB是一种数据库。它一种基于分布式文件存储的数据库,高性能、可扩展、易部署、易使用、存储数据非常方便。一般最早接触的数据库都是MySQL, 这两者的主要区别在于:Mongo DB是一个内存数据库,数据都是放在内...

2020-04-19 12:16:44 1134

原创 Qt之为TableView添加控件(SpinBox、按钮Button)

在使用TableView时,读取到数据显示后,为了能够方便其修改和删除,有如下显示的功能需求:为了实现该结果,实质牙签哦完成的工作是对TableView表中的项目添加控件,能够实现该功能的方式有两种,一种是直接添加控件;另一种是为其某项天添加代理,可以使用基于继承QItemDelegate、QStyledItemDelegate 代理添加控件。本文首先介绍第一种直接使用的方式,比较简单,也符...

2019-04-15 15:09:28 8522 4

原创 Qt之 TableView右键弹出菜单

TableView右键弹出菜单关于TableView的控件使用,这里不做解释了,直接说诉求,右键点击选中的某一行(术语称item),弹出菜单。操作结果如下图:

2019-04-15 14:34:46 9538 5

原创 gocv的初步使用

哇哦,我花了一天时间终于配置好了go+opencv,具体以参见上一篇。gocv安装配置我必须打开视频,打开图片,打开摄像机试一波。啊啊啊啊,疯了啊,为什么网上关于go的opencv使用这么少,行吧,自己看文档,慢慢来呗,谁让我自己做,要用go+opencv尼。这是官方文档呀,牛逼,贼好用,看懂就会用,信不信由你啦。我倒啊,我为啥一起拿不知道看官方文档呢。https://godoc.org/...

2019-03-20 21:40:36 7312 8

原创 gocv的安装配置

网上安装配置教程真的少,花了一天时间才成功。官网 英文版的,按照步骤一步步来,基本OK。https://gocv.io/getting-started/windows/1. 配置环境64bit win10go 11.9(首先要有go环境,一定要有,没有是准备闹啥)https://golang.org/dl/Windows系统下安装你可以选择本地安装目录:D:\Go,把D...

2019-03-20 21:12:31 6181 3

原创 Golang语言中的goroutine和channel

1. goroutine的基本概念介绍1.1 引入进程与线程的说明:进程与线程举例(这是我见过最好理解的例子了):百度网盘的启动之后,百度网盘软件就是一个进程。百度网盘下载文件时,可以同时下载好几个文件,此时每一个文件的下载过程就是线程。并发与并行的区别:1)多线程程序在单核上运行,就是并发。(同一时刻,只有一个任务在执行)2)多线程程序在多核上运行,就是并行。1.2 Go协程和...

2019-01-03 10:13:11 359

原创 Goalng的测试框架testing

Golang有自带的轻量级测试框架testing。1. 官方文档官方文档1.1 import “testing”testing 提供对 Go 包的自动化测试的支持。通过 go test 命令,能够自动执行如下形式的任何函数:func TestXxx(*testing.T)其中 Xxx 可以是任何字母数字字符串(但第一个字母不能是 [a-z]),用于识别测试例程。在这些函数中,使用 E...

2018-11-23 15:06:53 343

原创 Golang中JSON的使用

1. 基本介绍1)概念JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。2)...

2018-11-22 17:43:50 570

原创 Golang文件操作

1. 文件的基本介绍type Filetype File struct {// 内含隐藏或非导出字段}File代表一个打开的文件对象。1.1 打开与关闭文件1)func Openfunc Open(name string) (file *File, err error)Open打开一个文件用于读取。如果操作成功,返回的文件对象的方法可用于读取数据;对应的文件描述符具有O...

2018-11-22 14:31:29 1050

原创 Golang的面向对象编程【结构体、方法、继承、接口】

Golang也支持面向对象编程。但与以前学过传统的面向对象编程语言有区别。1)Golang没有类class,Go语言的结构体struct和类class有相似的特性。2)Golang中不存在继承,方法重载,构造函数,析构函数,隐藏和this指针。3)Golang有继承,封装,多态的特性,但是实现方法与传统OOP语言不同。1. 结构体structtype 标识符 struct{…fiel...

2018-11-12 16:02:38 2181

原创 Golang的数组array && 切片slice && map

1. 数组和以前学习过的数组类型基本相似。数组可以存放多个同一类型的数据,但是在Golang中,数组属于值类型。1.1 数组的定义var 数组名 [数组大小]数据类型例:var array [5]int1.2 数组在内存中的布局1)数组的地址可以通过数组名获取 &array。2)数组的第一个元素的地址,就是数组的首地址。3)第n个元素的地址是 首地址+n*(元素的大...

2018-11-06 18:55:38 297

原创 Golang的错误处理

引入1)当错误(panic)发生后,程序就会退出(崩溃)2)希望发生错误后,能够捕获到错误,并对其进行处理,保证后续程序能够继续执行Golang错误处理的基本说明Go中引入的处理方式是:defer、panic、recover。其中Go中可以抛出一个panic异常,然后在defer中通过recover捕获这个异常,然后正常处理。自定义错误1)使用error.New(“错误说明”),会...

2018-11-05 20:59:40 235

原创 Golang的strings包

官方文档 :https://studygolang.com/pkgdocfunc Containsfunc Contains(s, substr string) bool判断字符串s是否包含子串substr。func ContainsRunefunc ContainsRune(s string, r rune) bool判断字符串s是否包含utf-8码值r。func Co...

2018-11-05 20:29:19 321

原创 Golang的自定义包基础语法

1. 包的引出很容易理解的就是,函数的调用,类似于C++中的类的存在。将要用的变量函数进行整理分装,便于其他地方的调用。2. 包的原理包的本质实际上就是创建不同的文件夹,来存放程序文件。也就是说,在Golang中的每一个文件都属于一个包。3. 包的作用1)区分相同名字的函数、变量等标识符2)当程序文件很大很多时,便于项目的管理3)控制函数、变量的访问范围和访问权限4. 包的使...

2018-11-05 10:42:39 333

原创 Golang的fmt包学习

1. Printing通用:%v 值的默认格式表示%+v 类似%v,但输出结构体时会添加字段名%#v 值的Go语法表示%T 值的类型的Go语法表示%% 百分号布尔值:%t 单词true或false整数:%b 表示为二进制%c 该值对应的unicode码值%d 表示为十进制%o 表示为八进制%q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义...

2018-11-02 20:01:27 358

原创 Golang的基础语法--基础类型、标识符、运算符

尚硅谷-韩老师Golang视频1. 值类型变量直接存储值,内存通常在栈中分配。基本数据类型 int 系列、float系列、bool、string、数组、结构体struct。2. 引用类型变量存储的是地址,该地址对应的空间是真正存储的数据(值)。内存通常在堆中分配。当没有任何遍历引用这个地址时,该地址对应的数据空间就变成了一个垃圾。指针、slice切片、map、管道channel、i...

2018-11-02 16:56:53 313

原创 基于IP路由的GSLB《CDN技术详解》

基于IP路由的GSLB是基于路由器原有的路由算法和数据包转发能力工作的。如图所示,有两个本地均衡器1和2,放在不同的POP点中,负责各自POP点内的服务器的负载均衡。先为这两个本地均衡器配置一个相同的VIP地址,对IP网上的路由器来说,这是到同一个IP地址的两条不同的路由。1)当终端a输入URL访问网站时,DNS系统会把VIP作为域名解析结果反馈给终端。2)终端向这个VIP发送请求时,请求数...

2018-10-23 13:02:19 1174

原创 基于应用层协议重定向的GSLB《CDN技术详解》

应用层重定向主要利用了HTTP、MMS、RTSP等协议本身的重定向机制来实现,由于各种应用层协议的重定向机制基本相同,因此以HTTP协议为例,介绍相关的知识。1. HTTP重定向基本原理在HTTP协议中,有三类重定向状态码:301 redirect、302 redirect与meta fresh。1)301 redirect代表永久性转移(Permaneutly Moved)2)302 r...

2018-10-23 10:13:45 1081

原创 基于DNS解析的GSLB《CDN技术详解》

基于DNS解析的GSLB工作方式基于DNS解析的GSLB方案实际上就是把负载均衡设备部署在DNS系统中。在用户发出任何应用连接请求时,首先必须通过DNS系统来请求获得服务器的IP地址,基于DNS的GSLB正是在返回DNS解析结果的过程中进行智能决策,给用户返回一个最佳的服务器的IP地址。从用户的视角看,整个应用流程与没有GSLB参与时没有发生任何变化。DNS系统本身是具备简单负载分配能力的,这...

2018-10-23 09:47:05 4015

转载 Linux目录结构

登录系统后,在当前命令窗口下输入命令:ls /你会看到如下图所示:树状目录结构:以下是对这些目录的解释:/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Li...

2018-10-16 14:28:14 150

转载 Linux启动过程和关机

本文大部i分内容转载于 菜鸟教程 菜鸟教程/Linux启动Linux 系统启动过程linux启动时我们会看到许多启动信息。Linux系统的启动过程,其可以分为5个阶段:内核的引导。运行 init。系统初始化。建立终端 。用户登录系统。init程序的类型:SysV: init, CentOS 5之前, 配置文件: /etc/inittab。Upstart: init,Ce...

2018-10-16 10:43:21 637

原创 DNS基本原理

基本概念DNS(Domain Name System,域名系统)实际上是一个应用层协议,通常被其他应用层协议使用,用于将用户提供的主机名解析为IP地址。1. 工作流程DNS最核心的工作就是域名解析,也就是把计算机名翻译成IP地址,这样我们就可以按照自己容易理解的方式来为一台主机或者一个网站取一个名字,其他人也就可以通过这个名字来访问我们的主机或者网站了,而不必去记住那些枯燥晦涩的IP地址,只...

2018-10-15 21:28:52 411

原创 服务器负载均衡 & 链路负载均衡 《CDN技术详解》

1. 服务器负载均衡服务器负载均衡是将客户端请求在集群中的服务器上实现均衡分发的技术。按照位于七层网络协议栈的不同层的划分,服务器负载均衡可以分为四层(L4)负载均衡和七层(L7)负载均衡两种。1)L4负载均衡是基于流的服务器负载均衡,能够对报文进行逐流分发,即将同一条流的报文分发给同一台服务器;2)L7负载均衡是基于内容的服务器负载均衡,能够对七层报文内容进行深度解析,并根据其中的关键字进...

2018-10-15 15:25:29 6236

原创 负载均衡部署方式《CDN技术详解》

1. 负载均衡部署方式负载均衡设备在具体实现中分直连和旁挂两种部署方式。此外,为了提高网络可用性,负载均衡设备的双机热备部署也是十分必要的。常用负载均衡部署方式(1)直连部署方式直连部署方式比较简单,就是将负载均衡设备直接部署在报文必经之路上,作为服务器和客户端之间的路由设备,来往报文均直接由负载均衡设备进行路由。(2)旁挂部署方式负载均衡设备的旁挂部署方式是指负载均衡设备并不作为服...

2018-10-15 13:53:29 3460

原创 负载均衡技术的实现《CDN技术详解》

负载均衡(Server Load Balance),含义是将自载(工作任务)进行平衡,分摊到多个操作单元上进行执行,从而实现整个系统共同完成任务。负载均衡的关键在于使任务负载在集群中的服务器上被尽可能均衡地承载,避免出现集群中某几台服务器超载而其他服务器闲置的情况。在实现了负载均衡的集群中,多台服务器通过网络连接在一起,通过在集群前端部署负载均衡设备,根据预先配置的均衡策略将用户请求在集群中分发...

2018-10-15 13:36:17 921 1

原创 CDN缓存服务器负载均衡集群《CDN技术详解》

1. 集群系统1.1 集群系统分类服务器集群的分类,可以分为三种分别是计算集群、负载均衡集群、高可用集群,下面分析对计算集群、负载均衡集群和高可用集群做以详细讲解。根据用途的不同,我们把服务器集群分为如下几类。(1)计算集群服务器计算集群通常被用于承载计算密集型任务,而并不用于I/O密集型的应用场景(例如Web服务或者数据库)。这类计算集群是以并行计算为基础的,它对外而言就好像是一台性能...

2018-10-13 19:26:13 1093

原创 Linux 基本操作-用户及文件权限管理

快捷键通配符使用通配符是一种特殊语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配(比如文件名、参数名)。

2018-10-13 16:47:41 339

原创 Web Cache技术实现《CDN技术详解》

引入Web Cache技术的主要目的:通过对内容副本进行缓存来满足后续相同的用户请求。使用 Cache 可以分担用户对源站点的集中访问负载,从而提高Web 站点请求的响应速度和用户访问并发量。1. Web Cache 关键性能指标并发量在设计Web Cache的初期就应该规划好其能够处理的用户访问并发量,从而在部署完成后能够让其达到预期的并发量。当访问峰值超过Web Cache 和 We...

2018-10-12 15:11:09 2661

原创 HTTP用户身份认证《图解HTTP》

计算机本身无法判断坐在显示器前的使用者的身份。 进一步说, 也无法确认网络的那头究竟有谁。HTTP 使用的认证方式HTTP/1.1 使用的认证方式如下所示:BASIC 认证(基本认证)DIGEST 认证(摘要认证)SSL 客户端认证FormBase 认证(基于表单认证)此外, 还有 Windows 统一认证(Keberos 认证、 NTLM 认证)。一、BASIC 认证步骤...

2018-10-10 22:09:48 1072

原创 HTTP安全协议详细整理《图解HTTP》

一、HTTP的缺点HTTP 主要有这些不足, 例举如下。通信使用明文(不加密) , 内容可能会被窃听不验证通信方的身份, 因此有可能遭遇伪装无法证明报文的完整性, 所以有可能已遭篡改这些问题不仅在 HTTP 上出现, 其他未加密的协议中也会存在这类问题。1.1 通信使用明文可能会被窃听上图是HTTP基于TCP/IP协议的访问请求过程。其实,在互联网中的任何通信线路上的数据,都有...

2018-10-10 21:30:49 1673

原创 正向代理 & 反向代理模式 & 透明代理

一、正向代理正向代理(forward)是一个位于客户端【用户A】和原始服务器(origin server)【服务器B】之间的服务器【代理服务器Z】,为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 所谓的正向代理就是代理服务器 替代访问方【用户A】去访问...

2018-10-10 16:15:06 542

原创 CDN技术详解 第一章

CDN,Content Delivery Network,基于内容的分布式分发网络。CDN完成的是将内容从源站传递到用户端的任务。简单的说CDN就是让原本上海的浏览器要访问北京主站内容的请求转而由部署在上海或南京的缓存来受理,这样请求的数据只需经过一跳或有限的几跳就能到达请求端,有效利用带宽并且降低主站压力,对于电子商务网站和搜索引擎网站以及门户网站,CDN的合理应用显得尤为重要。一、CDN概...

2018-10-10 15:50:02 911

原创 HTTP协议(超文本传送协议)

HTTP协议(超文本传送协议)一、概念二、HTTP请求三、HTTP响应四、HTTP报文4.1 报文结构4.2 请求报文4.3 响应报文五、HTTP的Cookie 和 Session5.1 Cookie1. 基本概念2. 属性4. 缺陷5.2 Session1. 工作机制2. 服务器将session id响应返回给浏览器:5.3 Cookie 和 Session的区别六、HTTP的安全协议6.1 基...

2018-10-10 15:35:02 2430

opencv32_release_x64_tracking.rar

为了使用opencv的扩展库,使用camke工具编译了opencv340版本,得到了opencv340_release版本

2019-06-20

cdn技术详解

CDN学习的第一本必读书。《CDN技术详解》,虽然讲的很粗,但是是对CDN初步认识的一本基础书籍。

2018-10-10

Linux下的QT开发

Linux是一本看着很高大上的书,讲的是QT的方面的东西。我没看多少,有兴趣的可以看啊。

2015-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除