自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 tinyhttpd源码分析

http服务初始化:startup函数startup函数用于初始化 httpd 服务,包括建立套接字,绑定端口,进行监听等**通过socket函数建立socket,即资源分配。 socket()函数用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源。 地址族 数据类型 SOCK_STREAM 提供有序的、可靠的、双向的和基于连接的字节流,使用带外数据传送机制,为Inte

2017-09-07 10:02:30 340

原创 知识在超网络中的传播模型

Knowledge diffusion in the collaboration hypernetwork研究背景研究点:知识在学术网络中的传播的模型。 一般的合作网络只能表现科学家以及科学家之间的合作情况,无法表现出科学家发表的论文数量等。 以超图的方式来表现合作网络,其中的超边就是论文,包含了论文的所有作者,研究知识传播的好处有: 1)包含了论文信息,例如科学家发表了多少论文,共同发表的论

2017-03-02 20:47:36 2741 1

转载 数据库事务ACID特性

ACID特性 数据库管理系统中事务(transaction)的四个特性(分析时根据首字母缩写依次解释):原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。(执行单个逻辑功能的一组指令或操作称为事务)详解1. 原子性 原子性是

2017-03-02 19:03:50 367

原创 Socket地址结构解析

Socket地址结构解析Socket地址结构简介  Socket的地址结构里封装了通信一方的地址及端口信息,这些信息在应用程序以及内核之间会进行传递,为建立Socket提供必要的信息。这里介绍四种socket地址结构,分别是IPv4 socket地址结构、IPv6 socket地址结构、通用socket地址结构、新通用socket地址结构。IPv4地址结构  在< netinet/in.h >头文件

2017-03-01 20:20:41 838

原创 STL标准库中的bitset原理解析

STL标准库中的bitset原理解析bitset简介  bitset,中文叫位图,类似于每一个元素都是0或者1的数组,但位图的空间利用率比数组高很多。在Linux系统中,位图广泛应用于进程id的分配和文件描述符(file describer)的分配。并且,位图可以用于排序。位图的基本原理是用一个bit位代表一个整数,如果位图中的第N为1,那么就表示整数N存在。  在c++的STL中实现了位图,包含在

2017-03-01 15:23:22 4260

原创 强类型语言与弱类型语言

强类型语言与弱类型语言强类型语言强类型语言的变量的类型一旦确定,如果不经过显示类型转换,就不会变成其他数据类型,即完全不允类型许隐式转换的语言。比如Java、Python就是强类型语言。弱类型语言弱类型语言是容忍类型隐式转换的语言,即在满足一定条件时可以进行类型隐式转换。比如C、C++就是弱类型语言。无类型语言完全允许类型进行隐式转换的语言,即任何情况下都可进行隐式转换的语言。比如汇编语言。各类型语

2017-02-25 15:01:20 2650

原创 动态类型语言与静态类型语言

动态类型语言与静态类型语言动态类型语言在程序执行期间才做类型检查的语言。在编写程序时,不需要给变量指定类型。在程序执行时,给变量赋第一个值时确定变量的数据类型。动态语言类型优点1.代码简洁,且程序员可以专注于本质设计,大大提升开发效率。动态语言的缺点1.程序执行速度慢,因为类型检查是在运行时做的。 2.不执行就发现不了类型错误问题。静态语言在程序编译期间做类型检查的语言。在编写程序时,必须指明变量

2017-02-25 14:25:07 650

原创 面向对象编程与面向过程编程的区别(翻译版)

面向对象编程与面向过程编程的区别(翻译版)  我们知道现在存在着两种不同的编程方式-1) 面向过程编程(POP)以及2)面向对象编程。我们可以任意选择一种方式来编写程序,但是我们得知道这两种编程方式的区别。这两种编程方式是软件开发历经几十年发展的结果。从计算机被发明起,人们尝试了很多方法来编写程序,例如a)自顶向下编程;b)自底向上编程;c)模块化编程;d)结构化编程等等。这些方法的根本目的只有一个

2017-02-22 20:59:41 6652

原创 Leetcode 刷题助手-legit-python实现

帮助刷Leetcode的简单的自动化工具。

2016-09-16 16:30:20 1030

原创 深入理解linux内核手记

Linux的段式管理是对应于程序结构的,是一种自然的想法,linux共有6个段寄存器,其中有3个专门的段寄存器:cs(代码段寄存器)、ss(程序栈段寄存器)、ds(数据段寄存器)。程序需要6个段:BSS(存放未初始化数据,只有名称和大小)、代码段、数据段(存放已初始化数据)、栈段,堆段。段式管理段缺点:相比喻页式管理复杂,且RISC体系结构对分段支持有限。问题:程序的生命周期?页大小4KB与

2016-09-16 16:00:23 217

原创 深入理解计算机系统-手记

1.小端法:低有效字节在低地址 2.字长:整数和指针地址大小

2016-08-07 19:37:08 289 3

原创 Scrapy-学习笔记

知识点1.assertassert 语句用于判断真假,为真继续,为假抛出AssertionError,后面可附带错误说明 用法 assert 1>2, ‘error’2 scrapy.confscrapy.conf已被crawler.setting替换问题1.scrapy命令的执行入口python程序的入口是if __name__ == '__main__':,这行代码出现在scrapy 的cmd

2016-08-01 10:55:05 237

原创 优先连接算法的多种实现(Python)

优先连接算法的多种实现(Python)实现了优先连接算法实现了优先连接算法的变形算法.

2015-12-13 16:00:43 1023

转载 欢迎使用CSDN-markdown编辑器

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

2015-12-13 15:47:17 227

空空如也

空空如也

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

TA关注的人

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