自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 Linux常用命令

生成公钥git config --global user.name zh805git config --global user.email 771662863@qq.comcd ~/ && ssh-keygen -t rsa -C 771662863@qq.comls -a ~/.sshcat id_rsa.pub #拷贝到github

2020-04-16 16:22:36 194

原创 HTTP协议原理

文章目录HTTP协议原理1. HTTP浏览器输入URL后HTTP请求返回的完整过程2. HTTP2新功能3. URI、URL、URN4. 浏览器缓存4. Cookie和SessionHTTP协议原理1. HTTP浏览器输入URL后HTTP请求返回的完整过程2. HTTP2新功能所有数据以二进制传输同一个连接里面发送多个请求,不再需要按照顺序来头信息压缩以及推送等提高效率的功能3...

2019-12-11 17:51:41 335

原创 django restframework学习笔记

django restframework 学习1.课程介绍2.开发环境搭建2.1 python环境配置pip豆瓣源安装windows下python虚拟环境Linux下python虚拟环境windows系统下python包源码地址2.2 Vue开发环境搭建安装nodejs安装cnpm运行前端代码1.课程介绍2.开发环境搭建2.1 python环境配置pip豆瓣源安装pip install ...

2019-11-26 11:27:44 464

原创 windows命令

端口占用查看哪个进程占用了8000端口netstat -ano | findstr 8000查看对用pid的进程详细信息tasklist | findstr xxxx杀掉xxx进程taskkill /pid xxxx /F

2019-10-14 14:23:17 136

原创 Win10+Apache+Django部署

系统配置Python: 3.6.3_32位Django:2.0.2Apache2.4:mod_wsgi:

2019-10-14 09:03:30 244

原创 LeetCode分类题解

文章目录1. 双指针1. 双指针3.无重复字符的最长子串76. 最小覆盖子串438. 找到字符串中所有字母异味词

2019-09-08 15:19:18 241

原创 单例模式C++

文章目录单例模式懒汉饿汉单例模式保证类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享单例模式的要点有三个:单例类只能有一个实例必须自行创建这个实例必须自行向整个系统提供这个实例注意点实例控制: 单例模式会阻止其他对象实例化自己的单例对象的副本,从而确保所有对象都访问唯一实例灵活性: 因为类控制实例化过程,所以类可以灵活更改实例化过程开销: 虽然数量...

2019-03-25 11:54:48 2782

转载 数据库引擎与索引

文章目录数据库引擎MyISAM:InnoDB:索引1. 为什么要创建索引(优点)?2. 建立索引的不利因素(缺点)3.创建方向索引的准则4.创建索引的方法5.索引的特征6.索引的类型7.聚簇索引的体系结构8.非聚簇索引的体系结构9.索引的选项10.索引的维护数据库引擎MyISAM:不支持事务,但是每次查询都是原子的;支持表级锁,即每次操作是对整个表加锁;存储表的总行数;一个MYISA...

2019-03-17 18:51:06 446

原创 数据库事务与隔离等级

文章目录事务ACI1.原子性(Atomicity)2.一致性(Consistency)3.隔离性(Isolation)4.持久性(Durability)并发一致性问题1.脏读2.不可重复读3.幻读隔离级别1. Serializable (串行化):强制事务串行执行。2. Repeatable read (可重复读):保证在同一个事务中多次读取同样数据的结果是一样的3. Read committed...

2019-03-12 10:18:38 231

原创 面经

2019.03.08 腾讯地点:知春路西格玛大厦二楼,内容与平台事业群时间:上午十点一面面试过程:自我介绍;物流工程学的什么;聊项目,数传终端的实现;图片怎么上传的;怎么实现服务端;如果不使用多路复用会怎么样;如何处理超时的连接?说用一个小根堆;面试官说用setsockopt()就可以,不用那么麻烦三次握手及其状态;四次挥手的状态;linux查看网络命令netst...

2019-03-08 14:16:55 354 2

原创 剑指Offer_C++题解2

文章目录二叉树的镜像顺时针打印矩阵包含min函数的栈栈的压入弹出序列从上往下打印二叉树二叉树的后序遍历序列二叉树中和为某一值的路径复杂链表的复制二叉搜索树与双向链表字符串的排列二叉树的镜像题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树8/ 6 10/ \ / 5 7 9 11镜像二叉树8/ 10 6/ \ /...

2019-02-27 11:54:33 277

原创 剑指Offer_C++题解1

文章目录二维数组中的查找替换空格从尾到头打印链表重建二叉树两个栈实现队列旋转数组的最小数字斐波那契数列跳台阶变态跳台阶矩形覆盖二进制中1的个数数值的整数次方调整数组顺序使奇数位于偶数前面链表中倒数第K个结点反转链表合并两个排序的链表树的子结构二维数组中的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函...

2019-02-27 11:28:53 245

原创 高性能服务器网络框架设计细节----笔记摘要

https://gitbook.cn/books/59bf1f236b22c21db4056e9d/index.html[高性能服务器网络框架设计细节]

2019-01-15 17:32:03 339

原创 Makafile编写

源代码://main.c#include <stdio.h>#include "complicated.h"int main(){ printf("%s\n",HELLO_STRING); printf("%s\n",PROJECT_NAME); complic

2019-01-14 17:40:22 217

原创 GDB调试

1.调试信息与调试原理-g 在编译后的程序中保留调试符号信息gcc -g -o hello_server hello_server.c启动调试gdb hello_server移除某个程序中的调试信息strip hello_server生成调试文件时关闭编译器优化选项,从O0到O4-O0//表示不优化2.启动GDB调试三种方式:直接调试目标程序gdb filename...

2019-01-11 16:08:24 306

原创 数据库与文件备份

rem auther:zhanghuirem date:20181122rem ******MySQL backup start********@echo offrem forfiles /p "G:\bupt_backup" /m backup_*.sql -d -30 /c "cmd /c del /f @path"rem forfiles 用来对备份目录下的过期备份进行删除。re...

2018-11-24 11:36:33 210

原创 排序算法

1.冒泡排序

2018-11-22 10:51:15 315

原创

1. 概念无向完全图:任意两个顶点都有边。 n 个定点 n(n-1)/2 条边有向完全图:任意两个顶点都存在方向相反的两条弧。 n 个顶点 n(n-1) 条边连通图:任意两个顶点都是连通的连通分量:无向图中的极大连通子图2. 图的遍历深度优先搜索(DFS)类似树的先序遍历基本思想: 首先访问图中某一起始顶点v,从v访问与之邻接但未被访问的任一顶点 w1 ,再访问与 w1 邻接但未被...

2018-11-21 18:24:15 132

原创 XAMPP配置

1. 安装XAMPP2. 配置端口点击xampp界面的Apache的Config的httpd.conf,将所有80更改为8000点击httpd-ssl.conf,把所有443改为4433;3. 配置MySQL修改my.ini,去掉注释,字符集改为utf-8,支持中文4. 修改MySQL默认密码进入 http://localhost:8000/phpmyadmin进入账户...

2018-11-20 09:46:51 767

原创 二叉树的应用

文章目录1. 判断两棵二叉树是否相同2. 求二叉树的深度3. 求二叉树中结点的最大距离1. 判断两棵二叉树是否相同情况1:左右子结点不可旋转情况2:左右子结点可旋转bool is_equal(BiTree* node1,BiTree* node2){ if(node1==NULL && node2==NULL) return 1; if( !node1 || !no...

2018-11-17 16:38:01 136

转载 二叉树遍历

二叉树结构struct BiTree{ int data; BiTree* lchild; BiTree* rchild;};先序遍历void PreOrder(BiTree* root){ if(root == NULL) return; cout<< root->data <<endl; PreOrder(root -> lchil...

2018-11-16 21:21:30 125

原创 单例模式

目的: 保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享用途: 系统的日至输出、GUI应用单鼠标、操作系统只能有一个窗口管理器、一台PC连一个键盘、避免两个打印作业同时输出到打印机中等单例模式通过类本身管理其唯一实例唯一实例是类的一个普通对象,设计类时,让它只能创建一个实例并提供对此实例的全局访问。#include<iostream>using ...

2018-11-16 16:10:46 116

原创 链表

文章目录1.删除指针指向的结点(非头非尾)2. 删除单链表节点3.判断单链表是否有环4. 寻找循环链表的入口节点结构struct node{ int data; node* next;}1.删除指针指向的结点(非头非尾)狸猫换太子 : 当前结点与其后结点交换bool deleteNode(node* pCur){ if(pCur == NULL || pCur -> ne...

2018-11-15 12:38:14 96

原创 海量数据处理

文章目录分治例 1 :a、b文件中相同的 url例 2 :访问最多的IP例 3 :Top K 问题Bit-map例 1:不重复的整数例 2 :快速判断Bloom Filter原理Trie (字典)树例 1 :单词查询判断例 2 :最频繁出现的前10个词倒排索引原理外排序原理例1 :给10^7个数据量的磁盘文件排序分治对于海量数据,无法一次性装进内存处理,通过hash映射分割成相应的小块数据,...

2018-11-14 10:30:18 148

原创 如何限制堆对象的生成?如何限制栈对象的生成?

禁止产生堆对象产生堆对象的唯一操作是使用 new 操作,通过禁止使用 new 就可以禁止产生堆对象。(如何禁止呢?)new 操作执行时会调用 operator new, 而 operator new 是可以重载的。方法有了,就是使 operator new 为 private ,为了对称,最好将 operator delete 也重载为 private禁止产生栈对象创建栈对象时不需要...

2018-11-05 11:14:13 242

原创 引用与指针区别

区别:引用不能为空,当引用被创建时,它必须被初始化;指针可以为空值,可以在任何时候被初始化一旦一个引用被初始化为指向一个对象,它就不能改变为另一个对象的引用。指针则可以在任何时候指向另一个对象不可能有NULL引用,必须确保引用是和一块的合法的存储单元关联sizeof( 引用 )得到的是所指向的变量(对象)的大小;sizeof( 指针 )得到的是指针本身的大小给引用赋值修改的是该引用所关...

2018-11-04 16:15:52 204

原创 全局变量、静态变量、局部变量、const变量

生命周期:一个变量存在的周期作用域:一个变量可以被引用的范围作用域生命周期定义方法内存分布注意全局变量全局作用域(只需在一个源文件定义,就可作用于所有源文件)程序运行期一直存在引用方法:其他文件中要使用必须用 extern 关键字声明,或通过包含头文件的方式全局(静态)存储区如果两个文件中都定义了相同名字的全局变量,则连接出错:变量重定义...

2018-11-02 11:46:57 440

原创 malloc/free 与 new/delete

相同点:都可用于申请动态内存和释放内存不同点:malloc 和 free 是C/C++ 标准库函数, new / delete 是 C++ 的运算符new 自动计算需要分配的空间,而 malloc 需要手工计算所需字节数new 是类型安全的,而 malloc 不是;例:int *p = new float[2]; //编译时指出错误int *p = (int*) malloc...

2018-11-02 11:09:13 99

原创 内存地址、大端小端问题

内存地址一个内存地址可存储 8 bit = 1 byte(字节)32位操作系统可寻址空间为 2^32 (Byte) = 2^10 * 2^10 * 2^10 *4 = 4 GB数据所占内存大小C声明字节数字节数有符号32位64位char11short22int44long48char*48float...

2018-10-31 11:35:50 802

原创 守护进程

文章目录1. 用户信息2. 进程组3.会话4. 守护进程1. 用户信息真实用户ID ( UID )有效用户ID ( EUID )真实组ID ( GID )有效组ID ( EGID )一个进程有两个用户 ID :UID 和 EUID 。EUID 存在的目的是方便资源访问 :它使得运行程序的用户拥有该程序的有效用户的权限2. 进程组是一个或多个进程的集合Linux下每个进程都属...

2018-10-30 18:16:45 107

原创 Linux 高级I/O函数

文章目录1. pip函数2. dup 和 dup2 函数3. readv 函数和 writev 函数4. sendfile 函数5. splice 函数6. tee 函数7. fcntl 函数1. pip函数pip函数用于创建一个管道,用于进程间通信#include <unistd.h>int pip(fd[2]);参数为包含两个 int 型整数的数组指针;两个文件描述符...

2018-10-29 15:21:46 264

原创 strcpy与memcpy

文章目录strcpymemcpystrcpy与memcpy区别strcpystrcpy(dest,src) 把src地址开始且含有 null 结束符的字符串复制到以 dest 开始的地址空间char* strcpy(const char* strDest,const char* strSrc){ assert(strDest != NULL && strSrc != NUL...

2018-10-28 19:01:41 359

原创 gcc编译参数

gcc 编译流程:预处理-Pre-Processing-E 选项指示编译器仅对输入文件进行预处理。当这个选项被使用时, 预处理器的输出被送到标准输出而不是储存在文件里gcc -E code.c -o code.i //.i文件编译-Compiling-S 编译选项告诉 GCC 在为 C 代码产生了汇编语言文件后停止编译。gcc -S code.i -o code.s //.s文...

2018-10-28 16:42:58 2448

原创 链接(linking)

链接是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行预处理 ----> 编译 ----> 汇编 ----> 链接...

2018-10-26 17:03:31 676

原创 生产者和消费者模型(std::condition_variable)

std::condition_variable为了解决死锁而生的当互斥操作不够用而引入的比如,线程可能需要等待某个条件为真才能继续执行,而一个忙等待循环中可能会导致所有其他线程都无法进入临界区使得条件为真时,就会发生死锁。所以,condition_variable 实例被创建出现主要就是用于唤醒等待线程从而避免死锁。std::condition_variable的 notify_one...

2018-10-23 20:58:35 575

原创 Lamada表达式

Lamada以往C++需要传入一个函数的时候,必须事先进行声明,视情况可以声明为一个普通函数然后传入函数指针,或者声明一个函数对象,然后传入一个对象。而Lamada表达式提供了一个类似匿名函数的特性,即在需要一个函数,而又不想费力去命名一个函数的情况下使用形式:[捕获列表(函数对象参数)](参数列表) mutable或exception声明(可选) -> 返回类型{ //函数体 }...

2018-10-23 16:51:45 1206

原创 C++内存分布

一个由 C/C++ 编译的程序占用的内存分为以下几个部分 ,栈(stack)由编译器自动分配释放 ,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等,其操作方式类似于数据结构中的栈由编译器在需要的时候分配,在不需要的时候自动清除。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。堆(heap)一般由程序员分配释放, 若程序员不释放,程序...

2018-10-23 15:35:00 180

原创 UDP实现TCP可靠传输

udp与tcp的区别TCP(TransmissionControl Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。使用超时重传、数据确认、滑动窗口等方式确保数据包被正确地发送至目的端UDP是(User Datagram Protocol 用户数据报协议),一种无连接的、不可靠的、基于数据报的传输层协议,提供面向事务的简单不可靠信息传送服务。可靠性由...

2018-10-22 11:30:12 9148 4

原创 三次握手、四次挥手

文章目录三次握手、四次挥手为什么是三次握手TIME_WAIT状态三次握手、四次挥手为什么是三次握手目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。情况比如:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段...

2018-10-22 10:54:06 98

原创 服务器程序框架

C/S模型服务器启动后,创建一个监听 socket,调用 bind 函数将其绑定到特定端口,调用 listen 函数等待客户连接。服务器稳定运行后,客户端可以调用 connect 函数向其发起连接。由于客户连接请求是随机到达的异步事件,服务器使用某种 I/O 模型(select、poll、epoll)监听这一事件。当监听到连接请求后,调用 accept 函数接受它,并分配一个逻辑单元(新创...

2018-10-12 18:06:43 3168

空空如也

空空如也

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

TA关注的人

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