自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL--操作简记(联结表,组合查询(UNION))

联结表1.创建联结SELECT vend_name,prod_name,prod_priceFROM vendors, productsWHERE vendors.vend_id = products.vend_id上面的语句与之前最大的区别在于,指定的列位于两张表内,使用where进行联结。 返回表vendors与表products中vend_id相等的vend_name,prod_name

2017-08-17 17:39:48 1155 1

原创 MySQL--操作简记(汇总数据(聚集函数),分组数据,子查询)

表order1中的数据: 汇总数据1.聚集函数 聚集函数:运行在行组上,计算和返回单个值的函数。SQL聚集函数 函数 说明 AVG() 返回某列的平均数 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列之和SELECT AVG(order_price) AS avg_priceF

2017-08-17 14:56:44 760

原创 MySQL--操作简记(创建计算字段,数据处理函数(文本,时间日期,数值))

表accounts的内容 创建计算字段1.计算字段【1】当存在数据库表中的数据不是应用程序所需要的格式,就需要从表中检索,计算或者格式化,变成我们所需要的数据,(例如表中人名为一列,电话号码为一列,但是在一个字段中既要显示人名,又要显示对应的电话号码)这就是需要计算字段的原因。 【2】计算字段并不实际存在,是运行时在SELECT语句内创建的。 字段:基本上与列的意思相同,经常互换使用,不过数

2017-08-16 14:47:47 889

原创 MySQL--操作简记(正则表达式进行搜索)

REGEXP REGEXP告诉MySQL,其后跟的东西为正则表达式 【1】基本字符匹配. 匹配任意一个字符SELECT numberFROM accountswhere number REGEXP '00.';查找表accounts中包含00,以及其后跟一个任意字符的number ——————————————————————————————- LIKE和REGEXP

2017-08-12 16:32:57 597 2

原创 MySQL--操作简记(where过滤,通配符过滤数据)

表accounts中的数据 过滤数据where【1】SELECT numberFROM accountsWHERE address = 'XUPT';从表accounts中查找address为XUPT的number【2】WHERE 字句操作符 操作符 说明 = 等于 <> 不等于 > 大于 < 小于 <=/ >= 小于或等于/大于或等于 B

2017-08-12 14:46:06 597

原创 MySQL--操作简记(select检索、order by排序数据)

检索数据SELECT【1】检索单个列SELECT numberFROM accouts;从表accounts中检索一个名为number的列 【2】检索多个列SELECT number, phoneFROM accouts;select后跟多个列名即可,列名之间以逗号分隔,最后一个列名后没有逗号【3】检索所有列 使用(*)通配符SELECT *FROM accounts;【4】检索不同的行

2017-08-12 10:11:04 936

原创 MySQL--基本概念(查看数据库及表)

想了想还是把一些基本概念整理一下比较好,这一篇提到了一些基本的小概念,以及查看数据库及表了解SQL【1】什么是数据库?数据库是一个以某种有组织的方式存储的数据集合。我们通常说的数据库其实是数据库管理软件(DBMS),我们使用这些软件来访问数据库。数据库是通过DBMS创建和操纵的容器。【2】表某种特定类型数据的结构化清单;数据库中的每个表都有一个名字,用来标识自己,此名字是唯一的。表由列组

2017-08-11 11:08:23 11738

原创 MySQL--操作简记(create创建操纵表、insert插入、update更新、delete删除数据)

啊啊啊啊啊啊啊,最近看了MySQL必知必会,感觉操作上还可以吧,就是关键字也太多多多多多了~~~为了自己查找,复习起来方便,所以把这些操作简单总结一下(→_→) 创建和操纵表1.创建表CREATE TABLE CREATE TABLE customers( cust_id int NOT NULL AUTO_INCREMENT, cust_name

2017-08-10 22:03:24 1239

原创 Linux服务器--信号

一、信号概述1.发送信号【1】#include <sys/types.h>#include <signal.h>int kill(pid_t pid, int sig);该函数将信号sig发送给目标进程;目标进程由pid指定,可能取值如下: pid参数 含义 pid>0 信号发送给PID为pid 的进程。 pid=0 信号发送给本进程组内的其他进程 pid = -1

2017-08-07 16:57:00 751

原创 Linux服务器--I/O复用(select、poll、epoll)

一、select系统调用1.selectAPI原型:#include<sys/select.h>int select(int nfds,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,struct timeval* timeout)【1】nfds参数指定被监听的文件描述符的总数。【2】readfds,writefds,exceptfds分别指向

2017-08-04 15:11:45 395

原创 Linux服务器--两种高效的并发模式(半同步/半异步模式、领导者/追随者模式)

并发模式是指I/O处理单元和多个逻辑单元之间协调完成任务的方法1、半同步/半异步模式1.1半同步/半异步模式【1】同步:程序完全按照代码顺序执行;异步:程序的执行需要由系统事件来驱动。常见的系统事件包括中断,信号等。【2】同步线程:按照同步方式运行的线程;异步线程:按照异步方式运行的线程。 异步线程执行效率高,实时性强,但是程序相对负责,难以调试和扩展,不适合于大量的并发。 同步线程效率相

2017-07-29 15:58:01 4566 7

原创 strspn函数&&strcspn函数

strspn函数【1】函数功能:strspn()从参数s 字符串的开头计算连续的字符,这些字符都是参数accept 所指字符串中的字符。【2】返回值:返回字符串s开头连续包含字符串accept内的字符数目。 若strspn()返回的数值为n,则代表字符串s 开头连续有n 个字符都是属于字符串accept内的字符。 【3】头文件#include <string.h>【4】原型size_t strsp

2017-07-28 16:45:03 1342

原创 strcasecmp函数

strcasecmp函数【1】函数功能 :比较参数s1和s2字符串,比较时会自动忽略大小写的差异。【2】返回值: 若参数s1和s2字符串相等则返回0。s1大于s2则返回大于0 的值,s1 小于s2 则返回小于0的值。【3】头文件#include <strings.h>【4】原型int strcasecmp(const char *s1, const char *s2);【5】例子#include<s

2017-07-28 16:06:31 5722

原创 strpbrk函数

strpbrk函数【1】函数功能:strpbrk是在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到则返回空指针。【2】头文件#include <string.h>【3】原型extern char *strpbrk(const char *s1, const char *s2);char * strpbrk(const char * cs,const char *

2017-07-28 15:44:40 2777

原创 Linux服务器--服务器模型,I/O模型,两种高效的事件处理模式

1、服务器模型1.1C/S模型【1】C/S(客户端/服务器)模型:所有客户端都通过访问服务器来获取所需的资源【2】C/S模型逻辑:服务器启动后,先创建一个或者多个监听socket,并调用bind函数将其绑定到服务器的端口上,然后调用listen函数等待客户连接。服务器稳定运行后,客户端就可以调用connect函数向服务器发起连接。由于客户连接请求时随机到达的异步事件,服务器需要使用某种I/O模型来监

2017-07-28 10:00:25 935

原创 Linux服务器--HTTP

1.HTTP代理服务器的工作原理 在HTTP通信链上,客户端和目标服务器之间通常存在某些中转代理服务器,它们提供对目标资源的中转访问。一个HTTP请求可能被多个代理服务器转发,后面的服务器称为前面服务器的上游服务器。代理服务器按照其使用方式和作用,分为正向代理服务器、反向代理服务器、透明代理服务器。正向代理服务器:要求客户端自己设置代理服务器的地址。客户的每次请求都将直接发送到该代理服务器,并由

2017-07-26 21:25:03 733

原创 basename命令和函数

今天在看书时,遇到了这个函数,查了一下发现还是一条命令1.basename命令basename命令格式: basename [pathname] [suffix] basename [string] [suffix] 给定一个路径,basename会将路径信息去除,只留下文件名,如果指定后缀了,会将后缀也去掉示例: 2.basename函数返回不含路径的文件字

2017-07-25 15:37:41 3363

原创 Linux服务器--TCP协议详解

1、TCP服务的特点传输层协议主要有两个:TCP协议和UDP协议。TCP协议相对于UDP协议的特点是:面向连接、字节流、可靠传输使用TCP协议通信的双方必须先建立连接,然后才能开始数据的读写。双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。TCP连接是全双工的,即双方的数据读写可以通过一个连接进行。完成数据交换之后,通信双方都必须断开连接以释放资源。TCP协议的连接是一

2017-07-24 18:51:02 1037

原创 Linux服务器--IP协议详解

1.IP服务的特点 IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务无状态是指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送、传输和接收是相互独立、没有上下文关系的。所以最大的缺点为无法处理乱序和重复的IP数据报。无连接是指IP通信双方都不长久的维持对方的任何信息。不可靠是指IP协议不能保证IP数据报准确的到达接收端,它只是尽最大努力。IP数

2017-07-24 10:37:12 925

原创 Linux服务器--TCP/IP协议族

TCP/IP协议族体系结构以及主要协议 TCP/IP协议族是一个四层协议系统,每一层完成不同的功能,通过若干协议来实现,上层协议使用下层协议提供的服务1.1数据链路层【1】数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输。 【2】常用的两个协议:ARP(Address Resolve Protocol, 地址解析协议)RARP(Reverse Address Resolv

2017-07-22 15:31:16 991

原创 计算机网络和因特网--协议层次和它们的服务模型

一、分层的体系结构为了给网络协议的设计提供一个结构,网络设计者以分层的方式组织协议以及实现这些协议的网络硬件和软件。协议分层具有概念化和结构化 的优点 分层提供了一种结构化方式来讨论系统组件。模块化使得更新系统组件更为容易。分层的潜在缺点 [1] 某层可能重复其较低层的功能 [2] 某层的功能可能需要仅在其他层才出现的信息,违反了层次分离的目标协议栈 各层的所有协议被称为协议栈

2017-04-24 19:09:00 1854 2

原创 计算机网络和因特网--分组交换网中的时延,丢包和吞吐量

一、分组交换网中的时延概述 节点总时延中最为重要的包括节点处理时延、排队时延、传输时延、传播时延1、处理时延检查分组首部和决定将该分组导向何处所需要的时间,还包括其他因素,如检查比特级错误。2、排队时延在队列中,分组在链路上等待传输。 一个特定分组的排队时延取决于先期到达的,正在排队等待向链路传输的分组的数量。3、传输时延(存储转发时延)将所有分组的比特推向链路所需要的时间。4、传播时延从该

2017-04-11 22:24:00 6843 2

原创 计算机网络和因特网--网络核心

一、电路交换和分组交换在电路交换网络中,沿着端系统通信路径,为端系统之间通信所提供的资源(缓存,链路传输速率)在通信会话期间会被预留。在分组交换网络中,这些资源则不会被预留。1、电路交换 链路中的电路通过频分多路复用或时分多路复用实现2、分组交换各种应用程序在完成其任务时要交换报文 报文:能够包含协议设计者需要的任何东西。报文可以执行一种控制功能或能够包含数据。存储转发传输机制

2017-03-30 20:33:18 873

原创 计算机网络和因特网--什么是因特网&网络边缘

一、具体构成描述1、具体构成描述(构成因特网的基本硬件和软件组件)主机(host)或端系统(end system):与因特网相连,处在边缘的计算机等设备。分组(packet):当一台端系统有数据要向另一台端系统发送时,发送端系统将数据分段,并为每段加上首部字节。由此形成的信息包称为分组 端系统通过通信链路和分组交换机连接到一起通信链路(communication link):通信链路由不同的

2017-03-29 23:04:43 1914

转载 浮点数的二进制表示

1.前几天,我在读一本C语言教材,有一道例题:  #include   void main(void){    int num=9; /* num是整型变量,设为9 */    float* pFloat=&num; /* pFloat表示num的内存地址,但是设为浮点数 */    printf("num的值为:%d\n",num); /* 显

2017-03-26 22:26:28 339 2

原创 Linux系统编程--信号及信号处理(二)

信号处理一、信号的捕捉和处理1、signal函数signal函数用来设置进程在接收到信号时的动作#include <signal.h>typedef void (*sighandler_t) (int);sighandler_t signal(int signum, sighandler_t handler); signal根据参数signum指定的信号编号来设置该信号的处理函数,当指定的信

2016-10-07 18:09:19 670

原创 Linux系统编程--信号及信号处理(一)

Linux信号介绍一、信号解释信号是一种软件中断,它提供了一种处理异步事件的方法,也是进程间唯一的异步通信方式。在linux系统中,根据POSIX标准扩展以后的信号机制,不仅可以用来通知某进程发生了什么事件,还可以给进程传递数据。二、信号的来源硬件方式 1.当用户在终端上按下某些键时,将产生信号。 2.硬件异常产生信号:除数为0,无效的存储访问等。这些事件通常由硬件(如CPU)检测到,并

2016-10-07 15:01:21 824

原创 Linux网络编程--主要系统调用函数

一、字节顺序和转换函数1、大小端不同机器内部对变量的字节存储顺序不同,有的采用大端模式,有的采用小端模式 大端模式:高字节数据存放在低字节处,低字节数据存放在高字节处 小端模式:低字节数据存放在低字节处,高字节数据存放在高字节处2、网络字节顺序在网络上传输数据时,由于数据传输的两端可能对应不同的硬件平台,采用的存储字节顺序也可能不一致,因此TCP/IP协议规定了在网络上必须采用网络字节顺序(也就

2016-08-08 15:06:57 3146

原创 暑假留校--第三周总结

一、知识点1.线程控制,这周之一就是看了线程控制,看进程的时候觉得就挺难的,看线程觉得更难。感觉线程的难点在私有数据和线程同步,因为还没有写程序,也没有用到这,所以还没有感觉到它的实际用处。2.这周还看了网络编程,首先是了解网络编程的基本原理,感觉各种协议满天飞;再是套接字,套接字的创建,建立,绑定,监听,接受连接,数据传输,关闭,还有主要系统调用函数。二、问题1.私有数据和线程同

2016-08-08 08:35:34 512 2

原创 暑假留校--第二周总结

一、 知识点1. 本周看了进程控制这一章,了解了进程的概念,内存映像,进程的各种操作。2. 从进程的内存映像,学习了内存布局,虚拟内存的知识,以及栈和栈帧。3. 看了一些资料,对孤儿进程,僵尸进程,守护进程做了区分。4. 在实现myshell的时候,遇到了输入输出重定向,管道命令,又翻看了鸟哥看了相关内容。二、 问题1. 栈帧这个知识点只是有了一个大概的了解,但是觉得对这个

2016-08-08 08:01:11 384 3

原创 Linux网络编程--套接字编程

一、套接字1、套接字地址结构1.struct sockaddr结构struct sockaddr定义了一种通用的套接字地址,它在linux/socket.h中的定义代码如下:struct sockaddr { unsigned short sa_family; //地址类型 char sa_data[14]; //14字节的协议地址}; sa

2016-08-06 09:55:15 535

原创 Linux网络编程--网络编程基本原理

1.网络模型与协议为了减少协议设计的复杂性,大多数网络模型都是按层的方式来组织的。在分层网络模型中,每一层都为上一层提供一定的服务,而把如何实现本层服务的细节对上一层加以屏蔽。上层只需知道下层提供了什么功能以及对这些功能的接口,而不必关心下一层如何实现这些功能。 TCP/IP各层功能如下: [1].网络接口层网络接口层包括多种逻辑链路控制和媒体访问协议。它负责将网络层

2016-08-04 15:33:26 1096 1

原创 Linux系统编程--线程控制(二)

一、私有数据1.特殊的变量多线程环境下,进程内的所有线程共享进程的数据空间,因此全局变量为所有线程共有。在程序设计中有时需要保存线程自己的全局变量,这种特殊的变量仅在某个线程内部有效。举例来说,errno它返回标准的出错代码,errno不应该为局部变量,几乎每个函数都应该可以访问它,但它又不能为全局变量,否则在一个线程里输出的很可能是另一个线程的出错信息。这个问题可以通过创建线程的私有数据(Thre

2016-08-04 11:35:30 486

原创 Linux系统编程--线程控制(一)

一、线程1.线程是什么 线程是计算机中独立运行的最小单位,运行时占用很少说的系统资源。2.线程的优点多线程相对于多进程的优点 [1].多进程的情况下,每个进程都有自己独立的地址空间,而多线程情况下,同一进程内的线程共享进程的地址空间。因此创建一个新的进程时就要耗费时间来为其分配系统资源,而创建一个新的线程花费的时间则要少的多。 [2].在系统调度方面,由于进程地址独立而线程共享地址空

2016-08-03 10:30:22 507

原创 暑假讲座总结(二)--hello world ?

1.程序为什么要编译?答:因为我们所使用的是高级编程语言,机器并不认识这些语言,机器只能识别机器语言。2.编译器做了哪些事?答:预编译、编译、汇编、链接。这个是我在C Primer Plus上所看到的: 1.首先编译器将源代码转换成机器语言代码,将结果放置在一个目标代码文件(或简称为目标文件)中(这里假设您的代码由单个文件组成)。目标文件包含源代码的转换结果,但它还不是一个完整的程序。2.目标代码

2016-08-01 22:31:04 438

原创 暑假讲座总结(一)

*听了学长的讲座之后,发现自己还有很多不会的东西,有些都没有听过,而且自己并不能完整的掌握,现在只能将一些概念,名词了解记录下来。1.静态链接库百度静态链接库 静态链接库的优点:减少编译时间 静态链接库的缺点:需要大空间;占内存/占磁盘2.共享库&&运行时库百度动态链接库 动态链接库的优点:3.ABI(Application Binary Interfaces 应用程序二

2016-08-01 21:12:33 586

原创 Linux系统编程--进程控制 (三)

一、执行新程序使用fork或vfork创建子进程以后,子进程调用exec函数来执行另外一个函数。exec函数族#include<unistd.h>int execve(const char *path, char *const argv[], char *const envp[]);int execv(const char *path, char *const envp[]);int exec

2016-07-28 16:10:45 581

原创 Linux系统编程--进程控制 (二)

一、创建进程1.创建进程: (1)操作系统创建:它们之间是平等的,一般不存在资源继承关系。 (2)父进程创建:它和父进程存在隶属关系,通常称为子进程。子进程又可创建进程,这样形成一个进程家族。子进程可以继承父进程几乎所有的资源。 子进程继承父进程的很多属性,主要包括:用户ID,组ID,当前工作目录,根目录,打开的文件,创建文件时使用的屏蔽字,信号屏蔽字,上下文环境,共享的存储

2016-07-28 10:42:45 535

原创 Linux系统编程--进程控制(一)

一、linux 进程1、进程概念百度2、进程标识 进程ID:每个进程都通过惟一的进程ID标识, 进程ID是一个非负数。 每个进程除了进程ID外还有一些其他标识信息,都可通过相应的函数获得。 3、Linux进程的结构 Linux中一个进程由3部分组成:代码段、数据段、堆栈段4、Linux进程状态(1)R 运行状态 (2)S可中断等待状态 (3)D不可中断等待状态 (4

2016-07-27 22:09:00 786

原创 暑假留校--第一周总结

一、 知识点Linux-c 这一周看了Linux系统编程的文件部分,知识点在博客上做了相应的总结,看这里能很明显感受到Linux一切皆文件这句话,所以文件操作感觉还是很重要。 看文件操作最大的感觉是接触到了很多新函数,第一次接触到系统调用,大致了解了文件系统模型。这些新概念让我觉得和以前所了解的不同,思路感觉也有所改变。 每一小节后都有相应函数的一个小练习,做完这些,有助于更好的理解函数

2016-07-27 16:59:33 593

空空如也

空空如也

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

TA关注的人

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