自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 MySQL导入sql 文件的5大步骤

以下的文章主要介绍的是MySQL导入sql 文件,即MySQL数据库导入导出sql 文件的实际操作步骤,我们主要是将其分成5大步骤对其进行讲述,如果你对其有兴趣的话你就可以点击以下的文章进行观看了。步骤如下:一、MySQL的命令行模式的设置桌面->我的电脑->属性->环境变量->新建->PATH=“;path\MySQL\bin;”其中path为MySQL的安装路径。...

2018-05-31 14:50:10 1577

转载 一个小时学会MySQL数据库

致谢:一个小时学会MySQL数据库一个小时学会MySQL数据库目录一、数据库概要1.1、发展历史1.1.1、人工处理阶段1.1.2、文件系统1.1.3、数据库管理系统1.2、常见数据库技术品牌、服务与架构1.3、数据库分类1.3.1、关系型数据库1.3.2、非关系型数据库1.4、数据库规范化1.4.1. 什么是范式1.4.2. 三大范式1.4.3. 范式与效率二、MySQL介绍2.1、MySQL概...

2018-05-31 10:42:14 1056

转载 win7-MySQL数据库安装与配置详解

致谢:MySQL数据库安装与配置详解目录一、概述二、MySQL安装三、安装成功验证四、NavicatforMySQL下载及使用 一、概述  MySQL版本:5.7.17  下载地址:http://rj.baidu.com/soft/detail/12585.html?ald  客户端工具:NavicatforMySQL  绿色版下载地址:http://www.cr173.com/soft/3815...

2018-05-31 10:16:50 424

原创 树莓派3B--Python-TCP

一、介绍本例程使用python下的TCP,其中server端使用多进程,client端与server通信。实现的功能如下:(1)客户端发送数据1时,树莓派3b的GPIO口0引脚会置高电平,如果连接RGB灯会亮。 二、代码(1)客户端client.py//#! /usr/bin/env python3# -*- coding:utf-8 -*- from socke...

2018-05-29 12:10:46 1760

原创 深入理解计算机系统之十: 并发编程(4)

七、使用线程提高并行性到目前为止,在对并发的研究中,我们都假设并发线程是在单处理器系统上执行的。然而,大多数现代机器具有多核处理器。并发程序通常在这样的机器上运行更快。因为操作系统内核在多个核上并行地调度这些并发线程,而不是在单个核上顺序地调度。在像繁忙的Web服务器、数据库服务器和大型科学计算机代码这样的应用中利用这样的并行性是至关重要的,而且在像Web浏览器、电子表格处理器程序和文档处理程...

2018-05-26 17:30:19 175

原创 深入理解计算机系统之十: 并发编程(3)

六、用信号量同步线程共享变量是十分方便,但是它们也引入了同步错误(synchronization error)的可能性。///* WARING: This code is buggy */#include "csapp.h"void *thread(void *vargp); /* thread routine prototype *//* globle shared var...

2018-05-26 16:29:56 242

原创 深入理解计算机系统之十: 并发编程(2)

四、基于线程的并发编程1、线程的简介(1)多进程并发编程中,我们为每个流使用了单独的进程。内核会自动调度每个进程,而每个进程有自己的私有地址空间,这使得流共享数据很困难。I/O复用并发编程中,我们创建自己的逻辑流,并利用I/O多路复用显式地调度流。因为只有一个进程,所有的流共享整个地址空间。线程是这两种方法的混合。(2)线程(thread)就是运行在进程上下文中的逻辑流。线程由内核...

2018-05-26 16:28:08 178

原创 深入理解计算机系统之十: 并发编程(信号量与互斥锁)

工程代码下载连接一、信号量的介绍 Edsger Dijkstra,并发编程领域的先锋人物,提出了一种经典的解决同步不同执行线程问题的方法,该方法就是基于一种你叫做信号量(semaphore)的特殊类型变量的。信号量s是具有非负数值的全局变量,只能由两种特殊的操作来处理,这两种操作称为P和V:(1)P(s): 如果s是非0的,那么P将s减1,并且立即返回。如果s为0,那么就挂起这个线...

2018-05-25 09:10:28 673

原创 深入理解计算机系统之十: 并发编程(代码示例)

一、代码//#include <stdio.h>#include <stdlib.h>#include <pthread.h>/* define struct */struct member{ int num; char *name;};/* 定义线程pthtead */static void *pthread(void *arg...

2018-05-24 12:14:57 156

转载 visio 2016的使用

致谢:visio 2016破解版32&64位下载(含产品密钥+激活工具)简体中文版visio 2016全称为microsoft visio 2016,是一款由微软官方推出来,在Windows操作系统下运行的流程图、矢量绘图、图表制作的软件。它非常适合在企业的上班人士使用,它能够帮助用户将复杂的信息程序化、步骤化,让整个工作流程变得简洁、明了。同时他还有多种免费的模板供你选择,在使用的过程中...

2018-05-21 16:59:39 32808 6

原创 C--代码规范

一、文件开头注释///************************************************************************* > File Name: test.c > Description: > Author: Sen > Date: 2018-5-21 ...

2018-05-21 12:49:21 233

原创 深入理解计算机系统-- 并发编程(1)

一、基本介绍1、如果逻辑控制流在时间上重叠,那么它们就是并发的。到目前为止,我们主要将并发看作是一种操作系统内核用来运行多个应用程序的机制。当然并发不仅仅局限于内核,应用级并发也属于并发。(1)访问慢速I/O设备。当一个应用正在等待来自慢速I/O设备(如磁盘)的数据到达时,内核会运行其他进程,使CPU保持繁忙。每个应用都可以按照类似的方式,通过交替执行I/O请求和其他有用视为工作来并发。...

2018-05-21 00:10:18 180

原创 深入理解计算机系统--网络编程

一、客户端-服务器编程模型每个网络应用都是基于客户端-服务器模型的。客户端-服务器模型中的操作是事物(transaction)。一个客户端-服务器事物由以下四步组成。1、当一个客户端需要服务时,它向服务器发送一个请求,发起一个事务。例如,当Web浏览器需要一个文件时,它就发送一个请求给Web服务器。2、服务器收到请求后,解释它,并以适当的方式操作它的资源。例如,当Web服务器收到浏览器...

2018-05-21 00:09:33 651

原创 深入理解计算机系统之七--链接

一、简介1、链接(linking)是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行。链接可以执行于编译时(compile time),也就是在源代码被翻译成机器代码时;也可以执行于加载时(load time),也就是在程序被加载器(loader)加载到内存并执行时;甚至执行于运行时(run time),也就是由应用程序来执行。在早期的计算机系统中,链...

2018-05-21 00:05:23 127

原创 深入理解计算机系统之六--存储器层次结构

一、小结1、存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。CPU寄存器保存着最常用的数据。靠近CPU的小的、快速的高速缓存存储器作为一部分存储在相对慢速的主存储器中数据和指令的缓冲区域。主存缓存存储在容量较大的、慢速磁盘上的数据,而这些磁盘常常作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓冲区域。2、作为程序员需要理解存储器层次结构,因为它对应用程序的性能有着...

2018-05-20 19:35:27 563

原创 深入理解计算机系统之五--优化程序性能

一、介绍1、写程序的最主要目标就是使它在所有可能的情况下都正确工作。在很多情况下,让程序运行得快也是一个重要的考虑因素,比如程序实时处理视频帧或者网络包。2、编写高效程序需要做到以下几点:第一、必须选择一组适当的算法和数据结构。第二、必须编写出编译器能够有效优化以转换成高效可执行代码的源代码。对于这一点,需要理解优化编译器的能力和局限性是很重要的。第三、针对处理运算量特别大的计算...

2018-05-20 17:23:53 135

原创 深入理解计算机系统之四--处理器体系结构

一、小结1、处理器必须执行一系列指令,每条指令执行某个简单操作,例如两个数相加。指令被编码为由一个或多个字节序列组成的二进制格式。一个处理器支持的指令和指令的字节级编码称为它的指令集体系结构(ISA)。ISA在编译器编写者和处理器设计人员之间提供了一个概念抽象层,编译器编写者只需要知道允许哪些指令,以及它们是如何编码的;而处理器设计者必须建造出执行这些指令的处理器。2、ISA提供了程序执行...

2018-05-20 17:06:00 105

原创 深入理解计算机系统之三--信息的表示和处理

一、程序的机器级表示1、机器级程序和它们的汇编代码表示,与C程序的差别很大。各种数据类型之间的差别很小。2、程序是以指令序列来表示的,每条指令都完成一个单位的操作。部分程序状态,如寄存器和运行时栈,对程序员来说时直接可见的。3、编译器必须使用多条指令来产生和操作各种数据结构,以及实现像条件、循环和过程这样的控制结构。 致谢1、《深入理解计算机系统》[第3版],作者 Rand...

2018-05-20 16:41:11 98

原创 深入理解计算机系统之二--信息的表示和处理

一、小结1、计算机将信息编码为位(比特),通常组织成字节序列。有不同的编码方式用来表示整数、实数和字符串。不同的计算机模型在编码数字和多字节数据中的字节顺序时使用不同的约定。2、大多数机器对整数使用补码编码,而对浮点数使用IEEE标准754编码。在位级上理解这些编码,并理解算术运算的数学特性,对于想使编写的程序能在全部数值范围上正确运算的程序员来说,是很重要的。3、在相同长度的无符...

2018-05-20 16:18:40 101

原创 9、大话设计模式--享元模式 、解释器模式、访问者模式、原则

第二十六章:项目多也别傻做——享元模式 享元模式 :享 元模式英文称为“Flyweight Pattern”,我非常感谢将Flyweight Pattern翻译成享元模式的那位强人,因为这个词将这个模式使用的方式明白得表示了出来;如果翻译成为羽量级模式或者蝇量级模式等等,虽然可以含蓄的 表现出使用此模式达到的目的,但是还是没有抓住此模式的关键。享元模式的定义为:采用一个共享来避免大量拥...

2018-05-20 12:58:47 125

原创 8、大话设计模式--单例模式 、桥接模式、命令模式、职责链模式、中介者模式

第二十一章:那些类也需要计划生育——单例模式 单例模式 :  优点:缺点: 所使用的项目是: 功能: 界面: 设计思路: 收获: 附:单例模式在程序设计中非常的常见,一般来说,某些类,我们希望在程序运行期间有且只有一个实例,原因可能是该类的创建需要消耗系统过多的资源、花费很多的时间,或者业务上客观就要求了只能有一个实例。...

2018-05-20 11:45:09 99

原创 7、大话设计模式--状态模式 、适配器模式、备忘录模式、组合模式、迭代器模式

第十六章:无尽加班何时休——状态模式 状态模式 :  优点:缺点: 所使用的项目是:工作状态 功能: 界面:  设计思路:收获: 附:1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if... ellse语句来做状态判断来...

2018-05-20 11:23:03 393

原创 深入理解计算机系统之一--计算机系统简介

一、系统的硬件系统(1)主存是一个临时存储设备(内存条),在处理器执行程序时,用来存放程序和程序处理的数据。 二、计算机中程序的表示、运行1、示例代码//#include <stdio.h>int main(){ printf("hello world!\n"); return 0;}//2、表示(1)大部分的现代计算机系统都是用ASC...

2018-05-20 10:51:02 159

原创 UNIX网络编程--1个server,多个client

一、概述1、需求使用TCP连接,1个server,多个client。server和多个client之间,可以互相发送消息。 二、分析1、使用fork实现2、基础知识参考TCP套接字编程 三、代码1、服务端server.cpp//#include <sys/types.h> #include <sys/socket.h> #...

2018-05-16 19:33:58 247

原创 UNIX网络编程--TCP三次握手和四次挥手

一、TCP三次握手1、三次握手流程图,其中SYN即synchronous,同步;ACK即Acknowledgement,确认。2、流程介绍(1)在建立一个TCP连接之前,服务器需要准备好接收外来的连接。服务端通常通过调用socket、bind和listen这3个函数来完成。(2)建立一个TCP连接时需要三次握手(three-way handshake),具体如下:第一次握手...

2018-05-16 10:59:04 153

原创 UNIX网络编程--TCP套接字编程

一、典型时间表1、下面是一对TCP客户与服务器进程之间发生的一些典型事件的时间表。2、服务器首先启动,稍后某个时刻客户启动,它试图连接到服务器。我们假设客户给服务器发送一个请求,服务器处理该请求,并且给客户发回一个响应。这个过程一直持续下去,直到客户关闭连接的客户端,从而给服务器发送一个EOF(文件结束)通知为止。服务器接着也关闭连接的服务器端,然后结束运行或者等待新的客户连接。3...

2018-05-16 09:30:07 228

原创 UNIX网络编程--套接字编程简介

一、套接字概述套接字地址结构可以在两个方向上传递:从进程到内核和从内核到进程。地址转换函数在地址的文本表达和它们存放在套接字地址结构中的二进制之间进行转换。多数现存的IPv4代码使用inet_addr和inet_ntoa这两个函数,不过两个新函数inet_pton和inet_ntop同时适用于IPv4和IPv6两种代码。 二、套接字地址结构大多数套接字函数都需要一个指向套接字地址结...

2018-05-16 09:27:29 132

原创 UNIX网络编程--TCP、UDP和SCTP介绍

一、传输层协议工作机制传输层的主要协议为TCP、UDP和SCTP(Stream Control Transmission Protocol,流控制传输协议)。绝大多数客户/服务器网络应用使用TCP或UDP。SCTP是一个较新的协议。UDP是一个简单的、不可靠的数据报协议。TCP是一个复杂、可靠的字节流协议。SCTP与TCP类似是一个可靠的传输协议,但它还提供消息边界、传输级别多宿支持以及将头端...

2018-05-16 08:24:09 102

原创 TX2--wifi模块开启AP路由功能

一、用板载的wifi模块开启AP功能1、有坑,风险较大请参考(1)How to enable Wi-Fi and BT on the TX2.(2)Setting up wifi Access Point on TX2(3)Ubuntu 16.04 创建无线热点(按此博客设置失败)2、会出现覆盖范围很小(3~5m)的情况,或者设置不成功,连接不成功的情况。 二、外接模块...

2018-05-15 10:10:09 3271

原创 树莓派3B--wiringPi for Python

一、介绍1、  WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。WiringPi中的函数类似于Arduino的wiring系统,这使得熟悉arduino的用户使用wringPi更为方便。2、树莓派具有26个普通输入和输出引脚。在这26个引脚中具有8...

2018-05-15 09:30:24 4063 1

原创 TCP/IP--网络安全

一、TCP/IP相关的安全要素1、整个要素如图 2、防火墙组织机构(域)内部的网络与互联网相连时,为了避免域内受到非法访问的威胁,往往会设置防火墙。防火墙的种类和形态有很多种。例如,专门过滤(不过滤)特定数据包的包过滤防火墙、数据到达应用以后由应用处理并拒绝非法访问的应用网关。这些防火墙基本的设计思路就是“暴露给危险的主机和路由器的个数要有限”。3、IDS(入侵检测系统)...

2018-05-11 08:34:15 378

原创 TCP/IP--应用协议

一、应用层协议概要1、应用层协议主要是指OSI参考模型中第5层、第6层、第7层的协议。 2、应用协议的定义利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登陆、文件传输、网络管理等。能够让这些应用进行特定通信处理的正是应用协议。TCP和IP等下层协议是不依赖于上层应用类型、适用性非常广的协议。而应用协议则是为了实现某种应用而设计和创造的协议。例如,远程登陆等应用经常使...

2018-05-11 08:32:43 366

原创 TCP/IP--TCP与UDP

一、传输层的作用1、传输层是OSI中最重要、最关键的一层,是唯一负责总体的数据传输的数据控制的一层。传输层对会话层等高三层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。2、TCP/IP中有两个具有代表性的传输层协议,它们分别是TCP和UDP。TCP提供可靠的通信传输。而UDP则通常被用于让广播和细节控制交给应用的通信传输。 二、套接字(Socket)1、应用在使用TCP...

2018-05-11 08:31:16 224

原创 TCP/IP--IP协议

一、IP基本介绍1、IP(Internet Protocol,网际协议)主要负责将数据包发送给最终的目标计算机。因此,IP能让世界上任何两台计算机之间进行通信。2、IP对应OSI模型中的第三层 二、IP的作用1、数据链路的地址被抽象化为IP地址,使得多个链路之间能进行通信。 三、IP相关的具体技术1、IPv4(1)IP地址(IPv4地址)由32位正整数来表示...

2018-05-10 14:12:49 166

原创 树莓派3B--通过TCP远程控制GPIO(C++)

一、分析1、GPIO口初始化借助wiringPi;2、利用linux下socket中的API,进行TCP通信 二、一个服务端和一个客户端1、server端///************************************************************************* > File Name: server.c ...

2018-05-08 13:13:31 2248

转载 C--快速排序

0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。 0.2 算法复杂度0.3 相关概念...

2018-05-08 09:00:54 142

原创 C--main函数以及入口参数详解

一、main函数的基本介绍1、main函数是工程的入口主函数。 二、main函数的示例1、示例一//#include <stdio.h>int main(){ …… return 0;}//2、示例二怕(谭浩强《C语言程序设计》[第四版]10.7.3)//#include <stdio.h>int main(argc, ...

2018-05-08 08:53:14 2585

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