自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liitdar的博客

逆水行舟,不进则退

  • 博客(60)
  • 收藏
  • 关注

原创 计算机的发展历史简介

计算工具的演化经历了由简单到复杂、从低级到高级的不同阶段,从“结绳记事”中的绳结到算筹、算盘、计算尺、机械计算机等,它们在不同的历史时期发挥了各自的历史作用,同时也启发了现代电子计算机的研制思想。1889年,美国科学家赫尔曼·何乐礼研制出以电力为基础的电动制表机,用以储存计算资料。1930年,美国科学家范内瓦·布什造出世界上首台模拟电子计算机。

2019-08-30 17:04:00 11063

原创 消息队列(MQ)介绍

本文主要介绍消息队列(Message Queue,即MQ)的相关知识。

2019-08-30 17:03:54 4825

原创 计算机的主要分类介绍

本文主要介绍计算机的主要分类。

2019-08-30 17:03:47 8326

原创 计算机的组成

本文主要介绍计算机的组成。计算机是由硬件系统(hardware system)和软件系统(software system)两部分组成的。传统电脑系统的硬体单元一般可分为输入单元、输出单元、算术逻辑单元、控制单元及记忆单元,其中算术逻辑单元和控制单元合称中央处理单元(Center Processing Unit, CPU)。

2019-08-30 17:03:19 584

原创 使用Hiredis接口(Synchronous API)编写Redis流水线客户端的方法

流水线(pipelining)允许Redis客户端一次性向Redis服务器发送多个命令。Redis服务器在接收到这些命令后,按顺序处理这些命令,然后将(这些命令的)处理结果一次性返回给Redis客户端。通过使用流水线,可以减少Redis客户端与Redis服务器之间的网络通信次数,以此提升Redis客户端在发送多个命令时的性能。为了解释Hiredis如何在阻塞连接中支持流水线,我们通过分析redisCommand函数的执行步骤,了解Hiredis流水线的内部原理。

2019-08-21 17:21:33 755 1

原创 C编程语言中整型数据的溢出问题

1)当前编译器为int类型数据分配了4个字节(对应32比特位),所以有符号int类型变量a和b的取值范围是“-2147483648”到“2147483647”,所以当a取值。b: 1000 0000 0000 0000 0000 0000 0000 0000(共32位)2147483647,再加1时,就会出现“溢出”的情况,其结果b发生了反转,变成了。上述是a、b的二进制补码形式(计算机中存储的都是二进制的补码形式)。2)从b的十进制数值以及二进制补码形式可以知道,最高位1。

2019-08-21 17:21:29 9712 1

原创 数据库连接池简介

本文简要介绍数据库连接池(connection pool)的相关知识。

2019-08-21 17:21:24 923 1

原创 C++编程语言中string类介绍

string类是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行string操作。同时,C++的算法库对string类也有着很好的支持,并且string类还和C语言的字符串之间有着良好的接口。

2019-08-21 17:21:17 310986 12

原创 C++编程语言中命名空间(namespace)介绍

首先讲讲为什么需要命名空间。假设这样一种情况:当一个班上有两个名叫liitdar的学生时,为了在点名的时候能够明确区分他们,让他们知道确实是需要他进行回答(而不是另外一个liitdar),我们在使用名字liitdar的同时,还需要使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等(比如lianmeng的liitdar ,或者buluo的liitdar)。上述假设的情况同样也会出现在C++应用程序中。

2019-08-21 17:20:59 1269

原创 Nginx介绍

Nginx(engine x)是一个HTTP服务器/反向代理服务器、邮件代理服务器、TCP/UDP代理服务器,最初由Igor Sysoev开发的,在很长的一段时间里,Nginx运行在很多高负载的俄罗斯网站上,包括Yandex,Mail.Ru,VK和Rambler。Nginx具有占用内存少,并发能力强的特点。事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。

2019-08-21 17:20:54 1071 1

原创 RPC简介

RPC(Remote Procedure Call),即远程过程调用,是一种通过网络从远程计算机程序上请求服务、而不需要了解底层网络技术的协议。RPC协议假定某些传输协议(如TCP或UDP)的存在,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发应用程序(包括网络分布式多程序在内)更加容易。例如,有两台服务器A和B,一个应用部署在服务器A上,想要调用服务器B上的应用提供的函数/方法。

2019-08-21 17:20:49 1795 1

原创 MySQL数据库的安装与连接方法

MySQL是一个关系型数据库管理系统(关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性),由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL所使用的SQL语言是用于访问数据库的、最常用的标准化语言。

2019-08-21 17:20:43 1287

原创 C编程语言中整型常量的表示方法

如0x123,代表十六进制数123,即(123)16,其值为:1*162+2*161+3*160,等于十进制数291。-0x12等于十进制数-18。如0123表示八进制数123,即(123)8,其值为:1*82+2*81+3*80,等于十进制数83。-011表示八进制数-11,即十进制数-9。1. 十进制整数,即按日常接触的数字形式正常表示。如123、-120;3. 十六进制整数,

2019-08-21 17:20:38 28609 2

原创 使用JsonCpp实现JSON解析的方法

JsonCpp是一个可以与JSON进行交互的C++库。官网定义如下:通过使用JsonCpp,我们可以对JSON进行读写。

2019-08-21 17:20:33 46215 2

原创 C++编程语言中成员运算符介绍

点号运算符“.”和箭头运算符“->”用于引用类、结构体和共用体的成员。点号运算符应用于实际的对象;箭头运算符与一个指向对象的指针一起使用。int age;} stu;现要把值“liitdar”赋给对象stu的name成员,分别以点号运算符和箭头运算符实现。1. 使用点号运算符实现。使用具体对象名访问结构体(或类、共用体)的成员时,使用点运算符;而通过指针访问结构体(或类、共用体)的成员时,使用箭头运算符。

2019-08-21 17:20:28 5705 2

原创 Nginx+FastCGI架构的部署方法

Nginx不能像Apache那样直接执行外部的可执行程序,但是Nginx可以作为代理服务器,将Web请求转发给后端(服务器中的)应用程序,这是Nginx的主要作用之一。在本文中,我们使用Nginx接收Web客户端的请求,然后Nginx将该Web请求转发给后端的FastCGI进程。

2019-08-21 17:20:24 10100 1

原创 FastCGI介绍

FastCGI实际上是增加了一些扩展功能的CGI,是CGI的改进,描述了客户端和Web服务器程序之间传输数据的一种标准。FastCGI致力于减少Web服务器与CGI程序之间进行互动的开销,从而使Web服务器可以同时处理更多的Web请求。与CGI为每个Web请求创建一个新的进程不同,FastCGI使用持续的进程来处理一连串的Web请求,这些进程由FastCGI进程管理器管理,而不是Web服务器。

2019-08-21 17:20:20 8968

原创 C++编程语言STL之list介绍

引用list的C++官方描述,如下:;

2019-08-21 17:20:09 4033 1

原创 JSON简介

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人们阅读和编写,同时也易于解析和生成。JSON基于“JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999”的一个子集。JSON采用完全独立于编程语言的文本格式来存储和表示数据,数据层次结构简洁、清晰。

2019-08-21 17:20:04 2850 1

原创 MySQL数据库的常见问题及解决方案

本文主要介绍使用MySQL数据库过程中遇到的常见问题及相应的解决方案。

2019-08-21 17:20:00 10386 1

原创 Linux操作系统中的路由配置方法

本文主要介绍在Linux操作系统中配置路由的方法。

2019-08-21 17:19:54 11342

原创 使用Hiredis接口(Synchronous API)编写Redis客户端的方法

本文主要介绍使用Hiredis接口(Synchronous API)编写Redis客户端的方法。引用GitHub上的描述:使用Hiredis的Synchronous API接口编写Redis的客户端,通常需要调用以下几个函数:2.1 示例代码完整的示例代码(hiredis_syncAPI.cpp)如下:2.2 编译Redis客户端执行下面的命令编译上述代码,生成Redis客户端:2.3 测试Redis客户端2.3.1 启动Redis服务器在主机(IP地址为“192.168.

2019-08-21 17:19:51 451 1

原创 Linux操作系统中Yum工具的常见用法

本文主要介绍Linux操作系统中Yum工具的相关知识及常见用法。引用官网中对于Yum(yellowdog update modified)的描述,如下:引用官网对于Yum源的描述,如下:1. 进入yum源的存储路径中:2. 使用wget或curl命令下载CentOS 7的阿里源,如下:或3. 运行下面的命令,先清除再重新生成yum缓存:2.1.2 添加EPEL源EPEL(Extra Packages for Enterprise Linux)是由Fedora社区打造的、为R

2019-08-21 17:19:46 12703 1

原创 Redis介绍

本文主要介绍Redis的相关知识及常见用法。说明:本文中的操作系统版本为CentOS 7,Redis版本为“3.2.10”。引用官网概述,如下:可以使用yum命令直接安装Redis软件,如下:2 常见用法1 连接Redis数据库1.1 连接本地Redis数据库打开本机的一个终端,启动Redis服务器:打开本机的另一个终端,启动Redis客户端,连接Redis数据库服务器:从上述命令的操作结果能够看到,Redis客户端连接到Redis数据库服务器后,执行了一个查询命令,Redis

2019-08-21 17:19:40 351 1

原创 libevhtp介绍

libevhtp是libevent's httpd API的一个快速、灵活的替代品。通过使用libevhtp,我们可以很容易地创建速度极快、安全的HTTP服务器。

2019-08-21 17:19:36 6312

原创 ZeroC IceGrid中继承Ice::Application类构建demo的方法

继承Ice::Application类构建IceGrid demo时,实际上是对外提供接口的Ice服务(即server)继承了Ice::Application类。在IceGrid框架工作时,直接调用了该server程序。而使用IceBox搭建IceGrid时,则是通过icebox命令间接地调用了Ice服务。

2019-08-21 17:19:32 587

原创 ZeroC IceGrid介绍

IceGrid是为Ice服务提供的一个定位的、活化的服务。

2019-08-21 17:19:27 6137 2

原创 ZeroC Ice中继承Ice::Application类构建demo的方法

Ice::Application”类封装了所有的初始化和终止操作,用户在使用Ice::Application类时,就不需要过分关注初始化及相关异常,而将重点放在服务代码的实现上。要使用Ice::Application的相关功能,需要继承Ice::Application类、并在派生类中对Ice::Application类中的纯虚方法run进行具体实现,最终的Ice服务接口都是在run方法定义的。

2019-08-21 17:19:22 1038

原创 Windows操作系统DOS的常见用法与常见问题

本文主要介绍Windows操作系统中DOS(Disk Operating System)的常见用法与常见问题。

2019-08-21 17:19:18 1173 1

原创 Linux操作系统中的IP配置方法

本文主要介绍在Linux操作系统中配置IP的方法。

2019-08-21 17:19:12 24680 6

原创 使用libevhtp搭建HTTPS SERVER(双向验证身份)的方法

本文主要介绍使用libevhtp搭建一个HTTPS SERVER(双向验证身份)的方法,非加密的HTTP SERVER搭建方法,请点击本文将针对“双向验证身份”场景,介绍HTTPS SERVER的搭建方法。“单向验证身份”的场景,请点击。有的时候,客户端通过输入账号和密码向服务器端展示自己的身份的方式太过繁琐,尤其是在客户端并不是一个人而只是一个程序的时候。这种情况下,我们希望客户端与服务端双方都利用一个身份证(certificate)、通过SSL/TLS协议向对方展示自己的身份。

2019-08-21 17:19:06 1592 1

原创 使用libevhtp搭建HTTPS SERVER(单向验证身份)的

本文主要介绍使用libevhtp搭建一个HTTPS SERVER(单向验证身份)的方法。非加密的HTTP SERVER搭建方法,请点击本文将针对“单向验证身份”场景,介绍HTTPS SERVER的搭建方法。“双向验证身份”的场景,请点击。一般的HTTPS服务都是只需要客户端验证服务器的身份就可以了。例如,我们想访问银行的网站,我们首先需要确认要访问的这个网站确实是真实的银行网站,而不是一个界面类似的、用来诱骗我们输入银行账号和密码的钓鱼网站,这就是我们作为客户端对银行进行身份验证的过程;

2019-08-21 17:19:01 2147 1

原创 C语言中可变参函数介绍

本文主要介绍C语言中可变参函数的相关内容,同时展示几个简单的可变参函数的示例。在使用C语言时,函数中的形参数目通常是确定的,在调用时要依次给出与形式参数对应的所有实参。但在某些情况下,我们希望函数的参数个数可以根据需要来确定(例如常见的printf()函数,它的函数参数个数就是不确定的),这时我们就需要可变参函数了。采用ANSI标准形式时,可变参函数的原型声明如下:上述函数定义形式至少需要一个普通的形式参数,后面的省略号是函数原型的一部分,表示该函数为可变参函数,type是函数返回值和形参的类型。注意

2019-08-21 17:18:56 843 1

原创 ZeroC IceBox介绍

IceBox是为Ice服务提供的一个易用框架。

2019-08-21 17:18:52 3151 2

原创 C/C++编程语言中typedef关键字介绍

typedef为C/C++编程语言的关键字,作用是为一种数据类型定义一个新名字,这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。typedef本身是一种存储类的关键字,与auto、extern、static、register等关键字不能出现在同一个表达式中。

2019-08-21 17:18:48 313561 62

原创 ZeroC Ice介绍

Ice(Internet Communications Engine)是一个面向对象的RPC(Remote Procedure Call,即远程过程调用)框架,它可以帮助你轻松地构建分布式应用。通过使用Ice,用户可以将更多的注意力放在自己应用程序的逻辑上,至于底层网络程序接口的交互则由Ice负责。通过使用Ice,用户不需要再为一些细节担忧,例如开放式网络连接、网路传输的序列化和反序列化,以及连接的失败重传问题。开发Ice程序的第一步就是编写Slice定义文件,该文件包含了Ice应用程序需要用到的接口。

2019-08-21 17:18:42 14605 1

原创 C++编程语言STL之vector介绍

vector是C++编程语言的STL中的内容,是同一种类型的对象的集合,每个对象都有一个对应的整数索引值,和(C++编程语言中的)string对象一样,标准库负责管理与存储元素相关的内存。有时候会把vector称为容器,是因为它可以包含其他对象,能够存放任意类型的动态数组、增加和压缩数据。一个容器中的所有对象都必须是同一种类型的。vector不是一种数据类型,而是一个类模板(class template)。使用模板可以编写一个类定义或函数定义,用于多种不同的数据类型。

2019-08-21 17:18:38 2703 1

原创 宏定义(#ifndef+#define+#endif)介绍

现已知在fileC.h中,存在nTest的定义。在头文件中,我们经常会见到#ifndef、#define、#endif三者一起使用的宏定义。本文主要介绍#ifndef、#define、#endif三者一起使用的宏定义的相关知识。

2019-08-21 17:18:33 7024 2

原创 gcc与g++编译器介绍

本文主要介绍gcc和g++编译器的区别与联系,以及两种编译器的常用选项。

2019-08-21 17:18:28 1390

原创 STL(Standard Template Library)简介

即标准模板库,是惠普实验室开发的一系列软件的统称。从根本上说,STL是一些“容器”的集合,这些“容器”有list、vector、set、map等。同时,STL也是算法和其他一些组件的集合。STL现在是C++编程语言的一部分,因此不用安装额外的库文件。2 WHY STL开发STL的目的是标准化组件,这样就可以使用现成的组件,而不必在使用时重新开发了。STL是一个标准,只规定了STL的接口,内部实现没有要求。

2019-08-21 17:18:22 615 1

空空如也

空空如也

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

TA关注的人

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