自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 【Nginx学习05】nginx 联合tomcat实现动静分离

前言Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat、Resin出来动态页面。动静分离从目前实现角度来讲大致分为两种:一种是纯粹的把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;这种的实现方案比较简单,缺点就是需要额外的配置...

2019-01-01 22:53:37 11775 3

原创 【Nginx学习04】nginx服务器上https站点解析php

前言双十一的时候在阿里云上买了一个学生机,趁着没过期,拿来折腾一下。基于WordPress搭建了一个个人网站,用来记录自己的技术博客,后来网站升级换成了https的,发现原来的http+php不能使用,遂记录一下升级过程。http升级为https后,怎么修改配置文件,使其可以解析php在server模块中加入以下配置。server { .... #新加入的 ...

2018-12-29 12:04:40 16265 1

原创 【Nginx学习03】nginx: [warn] conflicting server name "www.XXX.com" on 0.0.0.0:443, ignored

当我们在配置nginx server时,如果出现同样的server_name ,我们在nginx -s reload重新加载配置文件的时候,就会出现如下警告。nginx: [warn] conflicting server name "www.xxx.com" on 0.0.0.0:443, ignored解决办法其实很简单,那就是检查是否在server_name中有相同的ip或域名,修改一...

2018-12-28 21:56:52 41039

原创 【Nginx学习02】--nginx上配置多个站点

前言有时候我们想在一台nginx上配置多个站点,比如我们将www.webA.com以及www.webB.com同时部署到一台nginx上,但是我们不能在nginx目录里同时运行两个不同的站点。此时,我们可以利用虚拟目录,比如,我们将站点A放在 /www/webA下,将站点B放在/www/webB下,具体配置过程如下:我们的nginx 配置文件在 /etc/nginx下,我们在/etc/ngi...

2018-12-28 15:20:25 24064 2

原创 【Nginx学习01】--Nginx的安装

前言nginx 在现如今服务器开发中扮演着越来越重要的作用。nginx的安装一般有yum方式从源中安装以及源码编译安装。本例中我们采用的是yum方式从源中安装。正文1.从源中安装nginx,-y表示不用确认,直接安装yum install -y nginx2.查看nginx版本nginx -V可以看到该nginx的版本是1.12同时从这里我们可以看到很多信息,安装目录 ...

2018-12-28 14:41:30 14043

原创 Linux查看某个端口占用情况,必会

前言Linux查看某个端口的占用情况,这一个命令在实际应用中使用的非常广泛,只要涉及Linux开发,基本会涉及到这个指令正文1. 查看某一端口号使用情况,查看7890 websocket端口使用情况 netstat -apn | grep 7890可以看到7890端口已经被占用了,LISTEN表示监听状态,该端口是被goaccess进程所使用,进程号为42593,使用的是TCP协议...

2018-12-28 13:58:15 16465

原创 Linux采用yum方式安装及卸载软件

前言很多时候,我们在Linux中安装了软件,但是却不怎么会卸载,Linux不像Windows可以直接在控制面板中卸载。这篇文章肯定会帮助到你。收藏好了。正文1.采用yum方式安装软件yum方式安装软件是最方便的,自己一直践行的理论是能用yum绝不用源码编译,当然,yum方式的优点就是简单方便,但是它的不能自己定义安装插件,这点在我们需要自定义安装包时很不方便,在实际中,要看自己的应用场景...

2018-12-28 12:13:22 39802 1

原创 《C++ Primer》读书笔记-第二章 变量和基本类型

变量变量提供一个具名的,可供程序操作的存储空间。 C++中的每个变量都有其数据类型。 数据类型决定着变量的所占内存空间的大小、存储值得范围、能参与的运算。变量定义int a = 0;//首先是类型说明符(int),随后是变量名,最后是初始化(赋予一个初值)//也可以连续定义变量,注意变量之间是逗号int a = 0, b = 1;对于初始化,C++的规定比较特殊,说明如下。``...

2018-11-28 21:41:14 6171

原创 手把手教你搭建自己的个人博客(上)

前言双十一的时候,趁着阿里云作活动,买了一年最便宜的云服务器,准备搭建一个自己的个人博客(当然主要是为了装13),目前域名正在备案之中,自己以前主要偏向于c++底层,基于Qt做一些网络通信方面的开发,对于服务器没有多少认识,也算是边实践边学习吧。搭建环境服务器: 阿里云(1核/1GB)操作系统: CentOS / 7.5 x86_64 (64bit)本地计算机: Windows7 +...

2018-11-27 21:50:44 8364 1

原创 最全Linux常用命令,面试必备

这是本人花了两天时间整理得来的,一些最常用的地球人都知道的命令就省去啦!1. 更改文件拥有者命令 : chown [-cfhvR] [–help] [–version] user[:group] file…功能 : 更改文件或者文件夹的拥有者参数格式 :   user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)   -...

2018-11-26 21:39:29 27379 6

原创 Linux查看进程、杀死进程、启动进程等常用命令

关键字: linux 查进程、杀进程、起进程查进程ps 命令查找与进程相关的PID号:ps a 显示现行终端机下的所有程序,包括其他用户的程序。ps -A 显示所有程序。ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。ps -e 此参数的效果和指定"A"参数相同。ps e 列出程序时,显示每个程序所使用的环境变量。ps f 用ASCII字符...

2018-11-26 11:48:51 15921

原创 centos 7.5安装配置FTP服务器

centos 7默认是没有开启FTP服务的,我们必须手动开启。具体安装开启步骤如下:安装vsftpdyum -y install vsftpd # -y表示不用输入确定,直接一路安装到底设置开机启动ftpsystemctl enable vsftpd启动ftpsystemctl start vsftpd.service查看ftp是否启动 ps -e |gr...

2018-11-26 10:40:25 18778 2

原创 解决yum install mysql报错:Unknown system variable 'validate_password_policy'

问题描述在安装Mysql时,我们第一步就是修改密码临时密码,因密码过于简单(如:123456),不符合MySQL密码规范,会触发一个报错信息:错误代码如下: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。 解决办法1、解决办法调整MySQL密码验证规则,修改 *p...

2018-11-24 15:17:30 18311 1

原创 【Nginx学习00】CentOS7 搭建nginx+php运行环境

前言这是一篇手把手教你搭建云服务器LNMP环境的教程。目的主要是记录自己在搭建云服务器LNMP环境的过程中所踩过的坑,以及为后面的同学们顺利完成环境搭建做个指引。搭建环境服务器: 阿里云(1核/1GB)操作系统: CentOS / 7.5 x86_64 (64bit)本地计算机: Windows7 + SecureCRT+FlashFXP几点说明服务器 : 本教程中我们使用...

2018-11-24 10:56:35 16748

转载 Linux如何查看进程、杀死进程、启动进程等常用命令

关键字: linux 查进程、杀进程、起进程1.查进程    ps命令查找与进程相关的PID号:    ps a 显示现行终端机下的所有程序,包括其他用户的程序。    ps -A 显示所有程序。    ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。    ps -e 此参数的效果和指定"A"参数相同。    ps e 列出程序时,显示每个程序所使用的环境变...

2017-02-22 20:13:48 21818

原创 《C++ Primer》读书笔记-第二章 变量和基本类型

   第一篇文章写完后收到了很多同学的后台留言,有鼓励的,也有提出建议的,还有说错别字的,每一条都一一回复了,当然提出建议的大都是说排版问题,现在已经换到MarkDown编辑器了,大家凑合着看就行了,肯定不影响阅读了,至于错别字的,哈哈,你懂就行。   第二章主要讲变量和基本类型,这一章内容很多,我会分很多章节来写。数据类型是程序的基础:它告诉我们数据的意义以及我们能在数据上执行的操作。 C+...

2017-02-06 21:14:12 19746

原创 《C++ Primer》读书笔记-第一章 Hello World

好吧,不管怎么说,总算可以开讲了,那些什么授人以渔无量功德的话就不说了,因为不知道我所说的能否真的能够帮助大家,然而该感谢的人一个人都不能少,首先感谢牛客网ID为我知道啥,我是读了他的文章后收受到了启发,萌发了也要写一篇读书笔记的念头,感谢CSDN,上面有很多人总结不少C++的读书笔记。要感谢的人很多,好了,废话就不说,直接开始吧。       和所有的语言开篇一样,我们还是以“Hello W...

2017-02-06 21:07:17 19712

原创 (1) C++:重载、覆盖与隐藏

 C++之中的重载、覆盖、隐藏 重载 覆盖 重载与覆盖的区别 相关代码 隐藏 重载重载是指函数不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数。在同一可访问区域内被声明的几个具有不同参数列表(参数类型、个数、顺序不同)的同名函数,程序会根据不同的参数列来确定具体调用哪个函数。对于重载函数的调用,在编译期间就已经确定,是静态的,它们的地址在编译期间...

2017-01-13 15:11:48 15570

原创 单链表的头插法与尾插法

学习完线性表的知识已经很长时间了,今天有空重新复习整理一下。线性表有两种表示方法,顺序表示和链式表示。顺序表示即就是数组,其特点为:优:(1)用数组存储数据元素,操作方法简单,容易实现        (2)无须为表示结点间的逻辑关系而增加额外的存储开销        (3)存储密度高        (4)顺序表可按元素位序随机存取结点缺:(1)做插入、删除操作时,需大量移动...

2016-10-25 09:27:23 9671

转载 C++静态库与动态库

这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可...

2016-10-20 09:50:56 10193

转载 c/c++的堆与栈 与数据结构的堆和栈的区别

一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(stati...

2016-10-19 16:53:33 19875

转载 深入理解C++的new

“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。new的过程当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。假如我们定义了如下一个类A:class A{...

2016-10-19 12:48:34 16871 2

翻译 并发和并行的区别

并发和并行从宏观上来讲都是同时处理多路请求的概念。但并发和并行又有区别,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。    在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。①程序与计算不再一一对应,一个程序副本可以有多个计算②并发程序之间...

2016-10-11 09:39:11 6279

原创 条款2:尽量以const,enum,inline替换#define

这一条款也被称作:宁可用编译器替换预处理器。对于一般用#defined定义的常量,可以使用const类型代替。但是要注意两种特殊情况:假如我们要在头文件中定义一个不能被修改的字符串,那么需要使用const char* const类型的指针:char a = 'A'; char b = 'B'; char* const pa1 = &b;//近水楼台先得月,const离谁近就修饰谁,c

2016-08-25 21:00:36 6336

原创 条款1:视C++为一个语言联邦。

C++是一个如此复杂的语言,可以分解为4大部分:1.C语言:比如内置数据类型,数组,指针,预处理,语句等内容均来源于C。2.面向对象的C++:类、构造函数,析构函数,封装,继承,派生,多态,虚函数。3.泛型C++:就是使用模板编程。4.STL库:各种容器,迭代器,算法,函数对象。       由于有这4种不同的风格,所以当你对内置数据类型操作时,通过值传递比通过引用传递更高效;但当你使用的...

2016-08-18 16:39:16 1244

转载 为什么基类指针和引用可以指向派生类对象,但是反过来不行?

基类指针和引用BaseClass *pbase = NULL; DerivedClass dclass; pbase = & dclass; 基类指针和引用可以指向派生类对象,但是无法使用不存在于基类只存在于派生类的元素。(所以我们需要虚函数和纯虚函数)原因是这样的:在内存中,一个基类类型的指针是覆盖N个单位长度的内存空间。 当其指向派生类的时候,由于派生类元素在内存中堆放是:前N个是基类

2016-08-10 19:32:27 13866 5

原创 学习c++的50条建议

1.把C++当成一门新的语言学习(和C没啥关系!真的);    2.看《Thinking In C++》,不要看《C++编程思想》(C++编程思想,翻译的非常差);   3.看《The C++ Programming Language》(这本东西有影印板的)和《Inside The C++ Object Model》 ,不要因为他们很难而 我们自己是初学者所以就不看;   4.不要被VC、BCB、...

2016-08-10 10:52:46 9207 3

原创 strcat函数用法的一点看法

最近在刷题时碰到了strcat这个函数,一开始没怎么理解它的用法,出了错,现在写点自己的理解吧。 首先来看两个小程序代码一:#include<iostream>using namespace std;int main(){char *s="abcd";char *c="efgh";strcat(s,c);cout<<s;return 0;} 代码二:int main()

2016-07-17 20:20:50 26587 3

原创 QT串口通信(1)

最近帮老师做的项目中使用到了QT串口,然后首先百度了一下,发现网上的QT串口代码都是同一个版本。而且没有公开源代码,遂自己写了个简单的串口通信代码,并将它公布出来,一方面供有需要的人参考,另一方面记录下来,也可以防止自己忘记了。 本项目没有用到QT自带的串口通信模块,使用了第三方库qextserialport,这个库基本已经满足了串口所有的功能,而且上手也快。好了。废话不多说了,先来张效果图吧

2016-07-03 15:34:59 12022 4

转载 关于内存对齐的问题

在最近的项目中,我们涉及到了“内存对齐”技术。对于大部分程序员来说,“内存对齐”对他们来说都应该是“透明的”。“内存对齐”应该是编译器的 “管辖范围”。编译器为程序中的每个“数据单元”安排在适当的位置上。但是C语言的一个特点就是太灵活,太强大,它允许你干预“内存对齐”。如果你想了解 更加底层的秘密,“内存对齐”对你就不应该再透明了。一、内存对齐的原因大部分的参考资料都是如是说的:1、平台原...

2016-05-31 21:33:31 8166

原创 c++中this指针的用法详解

为什么引入this指针?    最简单的应用场景就是:当我们在类中定义了一个变量,同时在类成员函数中定义了同一变量时,也就是说变量名重复时,但是我们想使用类中定义的变量,这个时候我们该怎么办呢?这个时候就是this指针大显身手的时候了。为此我们引入this指针的概念。1. this指针的用处:  一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this...

2016-05-31 11:15:13 33848 3

原创 字符串逆序问题

最近在学习数据结构中的串,然后就随手记录一下面试题中经常会问到,但是很基础的一些问题,也算是自己的一个笔记吧,主体思想就是交换字符串头部和尾部,不停的轮流交换,直到满足逆序条件,代码很简单啦,一看就可以看懂啦。 #include &lt;stdio.h&gt; #include &lt;string.h&gt;#include&lt;stdlib.h&gt;int main(){...

2016-05-03 22:38:48 19850

原创 字符串删除空格问题

在网上看到的关于删除字符串的都是分为删除字符串前面的空格和字符串后面的空格,然后自己写了个可以直接删除字符串中所有空格的小代码,比较容易看懂 int trimspace(char *inbuf,char *outbuf)//删除所有空格 { char *in=inbuf; //定义一个in指针接受形参指针值,不要直接对形参进行操作 char *out=outbu...

2016-05-03 22:17:54 19795

原创 TP-LINK路由器WR703N刷openwrt固件挂载USB摄像头(下)

固件库刷好之后,接下来就可以进行网络配置了。这个很重要啦。 2、初始配置 首先用一根网线将703N的Lan口和你电脑相连,电脑上设置为DHCP模式。然后运行cmd.exe 输入telent 192.168.1.1 成功后出现OpenWrt的欢迎界面: 然后更改root密码: 输入passwd 更改root密码后dropbear(SSH 服务)就运行了,输入exit退出telent

2015-09-30 21:30:42 17740 2

原创 TP-LINK路由器WR703N刷openwrt固件挂载USB摄像头(上)

哈哈,折腾两天,终于弄好了,先来张照片提提神。 Pc端,火狐,火狐,火狐浏览器(重要的事情说三遍。。。。。。。。) ios终端,5S的成像效果还是不错的 新版的wr703n不支持web方式刷机,无论选择什么样的.bin文件,最后都会提示选择的软件版本和硬件不符,不符,不符,就是不符,当时我走到这一步时下载了很多版本的.bin文件,还是不符,不过我泱泱大国不缺乏大牛,终于找到了一篇大牛写的

2015-09-30 20:22:51 21154 2

原创 linux下安装go protobuf的步骤

安装protobuf首先需要考虑自己的linux主机能否上外网,如果能上外网,则只需要执行一条命令即可,不能的话,则需要执行多条命令1.测试自己的主机能否上外网ping google.com,大部分Linux服务器由于安全性等方面的原因,会限制无法上外网2.可以上外网则执行go get github.com/golang/protobuf/proto,这条命令本质上是先执行 git cl...

2020-03-28 15:48:07 1420

原创 linux下安装grpc的步骤

安装gogrpc首先需要考虑自己的linux主机能否上外网,如果能上外网,则只需要执行一条命令即可,不能的话,则需要执行多条命令1.测试自己的主机能否上外网ping google.com,大部分Linux服务器由于安全性等方面的原因,会限制无法上外网2.可以上外网则执行go get google.golang.org/grpc,这条命令本质上是先执行 git clone下载文件,然后执行...

2020-03-28 15:47:06 4866

原创 linux go重启后export GOPATH失效

go学习

2020-03-27 17:46:14 2768

CC++学习指南 - 应用篇(线程与网络)

CC++学习指南 - 应用篇(线程与网络),自己已经看完了,很不错

2018-11-24

c++ gui编程

对于初学者来说还是不错的资源的,希望帮到大家

2015-09-24

空空如也

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

TA关注的人

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