自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网络随笔四

(1)网络应用程序体系结构: 1、客户——服务器结构:这个结构的话就是服务器是中心,客户与中心服务器连接。客户端之间不会相互通信,并且服务器有一个固定的公共的IP地址。 2、p2p结构:(这个结构与客户——服务器结构的区别就是在这个结构中不存在中心服务器)括号里是我自己写出的P2P结构的理解,是错误的,实际上,在P2P结构中客户端对位于中心的服务器依赖很小甚至没有依赖,客户端和客户端是可以相互通

2017-12-26 21:53:55 357

原创 网络随笔三(cookie & session)

cookie AND session首先cookie是用来标识用户身份以及追踪用户状态的,下面我用自己的话来描述一下cookie的工作流程~ 某一天,mendy第一次登录baidu这个网站。Baidu发现mendy是第一次登录,于是baidu会创建一个唯一的标识码给mendy,同时baidu会以这个标识码作为索引将标识码添加到后端的数据库中(这个标识码可能是cookie:1008),接下来,bai

2017-12-26 21:53:16 398

原创 网络随笔二

…. 1、先来回忆一下因特网网络层最基本的概念,采用自上而下的结构 (1)应用层 应用程序及应用层协议所在的位置(HTTP,FTP),位于这一层的分组叫报文 (2)运输层 应用层产生的报文到了这层,运输层给上一层的报文加上运输层头部(允许接收端的运输层向上一层应用程序交付报文信息,差错控制信息,在应用程序两个端点间传输) (3)网络层 运输层产生的报文段在这一层加上网络层头信息,包括

2017-12-26 21:51:48 325

原创 网络随笔一

1、什么是因特网? 我们平时使用的电脑,手机都可以称为端系统。因特网就是利用路由器(分组交换机)和链路将各个终端互联起来。 2、一些基本概念 (1)分组: 一个主机要向另外一个主机发送数据时,数据被分成很多段,每段前面还会加上特定的首部字节,这样的数据包就称为分组。 (2)因特网服务提供商(ISP): 主机就是通过ISP连接进互联网的,。ISP是一个由多个分组交换机和段通信链路组成的网络

2017-12-26 21:50:53 417

原创 nginx——浅谈跨域访问

1、什么是跨与访问跨域访问简单来说就是有两个域名去同时访问一个页面。提到跨域访问就很容易想到现在最常见的CSRF攻击。那么何为CSRF攻击呢?接下来我就简单的用语言描述一下~2、什么是CSRF攻击现在有用户usr,网站A,恶意网站B。 1、用户usr去访问A 2、usr得到了A的cookies 3、在没有关闭登录网站A页面的情况下登录了恶意网站B 4、恶意网站B要求访问网站A 5、此时用户

2017-11-15 19:55:33 593

原创 nginx——文件缓存机制

1、nginx的文件缓存是基于http协议的文件缓存机制。2、浏览器第一次请求url在浏览器第一次请求url的时候,服务器端无缓存,大致过程如下: 浏览器——>无缓存——>请求web服务器——>请求响应——>呈现3、浏览器不是第一次请求url若浏览器不是第一次请求url的时候,服务端有缓存,大致过程如下: 浏览器——>有缓存——>校验过期——>呈现 既然着这里提到了校验过期,那么接下来我们就来

2017-11-15 17:05:00 4051

原创 初识nginx

1、什么是nginx服务器nginx是一个开源且高性能可靠的HTTP和反向代理服务器。2、正向代理与反向代理1、正向代理服务: 假设用户A要访问服务器C,但是由于某些原因用户发现无法访问的到服务器C,这时候,用户A就设置了代理服务器B,告诉B帮助自己去访问服务器C。于是,用户A将请求发送给服务器B,B将请求转发给服务器C,C接收到请求并处理后将反馈结果发送给B,再由B转发回给A

2017-10-24 20:29:41 377

原创 va_list及vsnprintf的用法

一、VA_LISTVA_LIST 是在C语言中解决变参问题的一组宏,用于获取不确定个数的参数。1、用法(1). 首先在函数里定义一具VA_LIST型的变量,这个变量是指向参数的指针; (2). 然后用VA_START宏初始化刚定义的VA_LIST变量; (3). 然后用VA_ARG返回可变的参数,VA_ARG的第二个参数是你要返回的参数的类型(如果函数有多个可变参数,依次调用V

2017-09-06 22:32:52 503

原创 I/O复用——select与poll

I/O复用——select与poll1. select(1). 作用:在一段指定时间内,监听用户感兴趣的文件描述符上的可读、可写和异常事件。(2). 函数原型:int select (int nfds,fd_set* readfds,fd_set* writefds,fd_set * exceptfds,struct timeval* timeout) <1>. nfds:指定被监听的文件描述

2017-07-31 17:24:58 362

原创 利用C API连接数据库

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-07-26 17:16:08 736 2

原创 暴力字符串算法

并假设现在文本串S匹配到 i 位置,模式串P匹配到 j 位置,则有:如果当前字符匹配成功(即S[i] == P[j]),则i++,j++,继续匹配下一个字符;如果失配(即S[i]! = P[j]),令i = i - (j - 1),j = 0。相当于每次匹配失败时,i 回溯,j 被置为0下赋代码:#includeusing namespace std;int main(

2017-03-29 22:00:29 397 1

原创 讲座总结(数据结构与算法概述)

一、数据结构及其概念数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。数据:客观事物的符号表示数据元素:数据的基本单位数据对象:性质相同的数据元素的集合数据结构:是指相互之间具有一定联系的数据元素的集合。元素之间的相互关系称为逻辑结构。数据的逻辑结构:1、线性结构(1)一般线性表(2)受限线性表:栈

2016-08-03 22:00:12 535 1

转载 线程调度策略

对于一个嵌入式多任务、多线程操作系统,所启动的应用进程至少拥有一个线程或多个线程,线程在进程中执行代码。一个进程能够“同时”运行多个线程,“同时”加上引号,因为实际上,在单处理CPU平台上,任何时刻,只有一个线程在执行。操作系统通过任务调度算法快速切换线程来模拟多线程并行,交替地停止一个线程,然后切换到另外一个上运行。支持任务优先级,高优先级线程比低优先级线程更先执行,也就是说低优先线程必须等到高

2016-08-02 11:18:21 2112

原创 进程讲座总结。

一、相关概念进程:程序具体的实现过程。进程映像:某时刻进程的内容。二、进程相关内容进程包括了:正文段、数据用户段、系统数据  正文段、数据用户段是程序也有的,系统数据是进程特有的

2016-07-30 11:35:36 455

原创 进程

首先这是一个验证孤儿程序#include#include#include#includeint main(int argc,char *argv[]){ pid_t pid; pid=fork(); switch(pid) { case 0: while (1) { printf

2016-07-29 16:10:14 405

原创 输入重定向,输出重定向,管道相关内容及实现方法

近期,通过实现shell了解了输入重定向,输出重定向,管道-用自己的话总结定义:输入重定向:把输出重定向:把运行>左边命令得出的结果输入到>右边的文件中。(若以>输出到一个已经存在的文件中,那么文件就会被覆盖掉,如果想追加内容而不想删除原来文件的内容则可以用'>>')管道命令:a|b,a和b分别是两个命令,执行a命令后得到的结果可以被b接受,b命令继续对结果进行相应的处理。

2016-07-29 15:33:10 2099 2

原创 讲座总结

一、fork()函数:创建虚拟空间进行映射确定入口fork在创建子进程后,并没有给它的子进程分配它所需要的物理内存,而是仅仅复制了虚拟内存空间。当要给进程写变量的时候,这时候才给进程分配相应的物理内存。将进程的开始地址,结束地址赋给存储至结构体,从而确定物理内存。整个过程相当于:进程->虚拟空间->实际物理空间。二、内核 官方定义内核是操作系统最基本的部

2016-07-29 10:57:00 670

原创 怎样获取用户及用户组信息

利用 struct passwd这个结构体就可以获取用户的信息此结构体如下所示:struct passwd  {    char *pw_name;                /* 用户登录名    */    char *pw_passwd;              /* 密码(加密后)*/    __uid_t pw_uid;             

2016-07-21 15:25:30 903

原创 关于 chmod

chmod函数的作用:对文件权限进行修改:运用该命令的格式:chmod +相应权限对应的数字+ 所要修改权限的文件名称(可读:4,可写:2,可执行:1)函数原型:#include                  #include                  int chmod(const char *path,mode_t mode)int chmod(cons

2016-07-20 19:56:12 514 1

原创 如何在github上传c语言代码

创建新仓库:1.New repository2.复制创建新仓库的地址3. cd git:进入本机git目录4.git clone+新建仓库地址若在已有仓库中添加C代码则从此步开始:5. cd 进入要添加的c代码所在目录6. cp 所要添加c代码的名称 /home/*****/git/所要git添加进的仓库的名称7. cd 进入git目录  ls查找8. cd 进

2016-07-20 16:52:05 1327

空空如也

空空如也

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

TA关注的人

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