《网络是怎样连接的》读书笔记

简介:本书是是一本不错的计算机网络入门书籍,能够对网络有一个全面的认识,力荐!! 不过,本书内容没有较深的理论,所以对于一些深入的问题,还需进一步阅读其他专业书籍。  下面是根据自己的理解整理的思维导图(点击放大),以及相关补充知识。  补充知识点 第1章 浏览器生成消息  1...

2018-08-01 12:57:12

阅读数 257

评论数 0

Bridge桥模式

“单一职责”模式: 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同事充斥着重复代码,这时候的关键是划分责任。 动机 由于某些类型的固有的实现逻辑,使得它们具有两个纬度的变化,乃至多个纬度的变化。 如何应对这种"多维度的变化&qu...

2019-05-02 23:32:40

阅读数 28

评论数 0

使用Flask搭建简单的服务器

以用户注册为例子,我们需要向服务器/register传送用户名name和密码password。 from flask import Flask, request app = Flask(__name__) @app.route('/') def hello_world(): re...

2019-02-03 02:27:11

阅读数 53

评论数 0

C++读写XML--TinyXML

C++语言解析XML文件使用最广泛的库是TinyXML,TinyXML对应的官方文档如下: TinyXML官方文档:http://www.grinninglizard.com/tinyxmldocs/index.html TinyXML官方教程:http://www.grinningliza...

2019-01-20 10:22:18

阅读数 90

评论数 0

C++读写JSON--JsonCpp和RapidJSON

目前C++语言解析JSON文件,使用最多的两个库分别是JsonCpp和RapidJSON,这两个库对应的官方文档分别如下: 几乎所有用C++解析JSON的操作都可以在下面两个文档中查询到。 JsonCpp:https://en.wikibooks.org/wiki/JsonCpp Rapi...

2019-01-20 00:28:08

阅读数 230

评论数 0

链接总结

本文主要参考书目为《深入理解计算机系统》和《程序员的自我修养》      链接的主要内容就是把各个模块之间相互引用的部分处理好,使得各个模块之间能够正确的衔接。链接的过程主要包括了地址和空间分配、符号决议和重定位等这些步骤。 ----《程序员的自我修养》     链接是将各种代码和数据片段收...

2018-12-30 15:09:47

阅读数 92

评论数 0

虚拟内存总结

本文主要参考《深入理解计算机系统》和《现代操作系统》两本经典书籍。  虚拟内存的基本思想:每个进程拥有自己的地址空间,这个空间被分割为多个块,每个块称作一页。每一页有连续的地址范围。这些页被映射到物理内存,但并不是所有的页都必须在内存中才能运行程序。当程序引用到一部分在物理内存中的地址空间时,...

2018-12-28 13:38:26

阅读数 164

评论数 0

C++11--智能指针详解及实现

本文主要参考: 1)《Effective Mordern C++》 2)《C++ Primer》 3)https://en.cppreference.com/w/cpp/memory/shared_ptr --可在线做实验测试代码 1、shared_ptr的实现原理 智能指针的一种通...

2018-09-10 10:51:17

阅读数 199

评论数 0

C语言实现C++继承和多态

C++中的多态 我们知道的是在C++中会维护一张虚函数表,根据赋值兼容规则,我们知道父类的指针或者引用是可以指向子类对象的。如果一个父类的指针或者引用调用父类的虚函数则该父类的指针会在自己的虚函数表中查找自己的函数地址,如果该父类对象的指针或者引用指向的是子类的对象,而且该子类已经重写了父类的虚...

2018-08-23 14:08:54

阅读数 71

评论数 0

VC++使用pdb和dump恢复“案发现场”

目录   pdb文件 PDB文件简介  EXE、DLL等与pdb文件的匹配 编译器产生符号的过程 Release程序生成pdb文件  dump文件 使用背景介绍 dump文件的生成 调试dump文件 VS调试  本地dump调试 无源代码dump调试 WinDbg调试 ...

2018-08-06 14:15:06

阅读数 417

评论数 0

线程同步总结--临界区 事件 互斥量 信号量

在WIN32中,同步机制主要有以下几种: 临界区(Critical section) 事件(Event); 互斥量(mutex); 信号量(semaphore);   临界区(Critical section) 临界区(Critical Section)...

2018-07-31 13:43:34

阅读数 228

评论数 0

套接字编程入门

代码中使用到的API参见官网:https://docs.microsoft.com/zh-cn/windows/desktop/api/winsock2/ UDP套接字关键步骤:                  服务端                  客户...

2018-07-30 10:50:47

阅读数 157

评论数 0

Simple Factory Pattern--简单工厂模式

介绍:简单工厂模式不能说是一个设计模式,说它是一种编程习惯可能更恰当些。因为它至少不是Gof23种设计模式之一。但它在实际的编程中经常被用到,而且思想也非常简单,可以说是工厂方法模式的一个引导。动机:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。定义:简单...

2018-06-09 17:19:23

阅读数 103

评论数 0

Observer/Event观察者模式(C++)

动机: 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”--一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松...

2018-06-03 22:46:45

阅读数 294

评论数 0

STL--allocator分配器

首先介绍一下执行new后的函数调用关系:new -> operator new -> malloc(CRT) -> 调用操作系统的内存分配API(Windows、Linux、Unix)介绍:std::allocator是STL容器使...

2018-06-03 15:48:33

阅读数 215

评论数 0

Template Method 模板方法

Template Method是一种组件协作模式:通过晚绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。动机:在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或者由于固有的原因而无法和任务的整体结构同时实现。如何在确定稳定操作结构的...

2018-06-02 11:01:01

阅读数 317

评论数 0

C++11 变参模板(variadic templates)

Variadic Template是C++11的一个很重要的特性;变体现在两个方面:(1)参数个数:利用参数个数逐一递减的特性,实现递归调用;(2)参数类型:参数个数逐一递减导致参数类型也逐一递减;两个注意点(1)递归调用(2)递归终止:使用重载的办法终止递归调用;举两个例子1.print函数//...

2018-05-26 11:52:12

阅读数 220

评论数 0

C++模板特化

【理论待补充...】下面是一个函数模板特化的例子;/// 模版特化 template <class T> int compare(const T left, const T right) { std::cout <&am...

2018-05-25 23:51:05

阅读数 79

评论数 0

C++11下的单例模式

动机:在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。  绕过常规的构造器,提供一种机制来保证一个类只有一个实例。 定义:保证一个类仅有一个实例,并提供一个该实例的全局访问点。 1、C++11中可以保证static变量时多线程...

2018-05-25 13:29:15

阅读数 778

评论数 1

C++实现多项式曲线拟合--polyfit

基本原理:幂函数可逼近任意函数。上式中,N表示多项式阶数,实际应用中一般取3或5;假设N=5,则:共有6个未知数,仅需6个点即可求解;可表示为矩阵方程:Y的维数为[R*1],U的维数[R * 6],K的维数[6 * 1]。R> 6时,超定方程求解:下面是使用C++实现的多项式...

2018-04-04 21:58:57

阅读数 4067

评论数 2

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