自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

深邃 精致 内涵 坚持

天行健君子以自强不息 地势坤君子以厚德载物

  • 博客(58)
  • 资源 (11)
  • 收藏
  • 关注

原创 Python学习10:@perporty

本文学习Python的笔记,仅供参考一般情况下在面向对象的编程中,属性不暴露在外面,而是通过一个接口函数去设置,比如下面的例子,定义了一个student的类,里面有两个私有的成员变量name和score,同时也有4个方法,print_name,set_name,set_socre,get_score。class Student(object): def __init__(self,

2016-11-13 15:10:24 1907

原创 Python学习09:继承与多重继承

本文学习Python的笔记,仅供参考继承熟悉C++的都应该了解继承了,简单的说一个类继承另外一个类, 可以获得继承类的属性和方法,继承的类称为子类,被继承的类称为父类,比如说人类算是非常大的一个类了,如果按照职业分可能会分为学生类,教师类,工程师类等,其实人类一些共有的属性,学生类和教师类都有,所以学生类完全就可以继承人类,拥有公用的属性。下面我写了一个Person类,这个类有

2016-11-13 15:08:51 845

原创 Python学习08:面向对象思想

本文学习Python的笔记,仅供参考原来大Python也有面向对象的思想啊,看来思想是唯一的,产物的多样的。 C++/JAVA 等!面向过程:程序都是按照顺序一个一个执行,这种变成方式侧重于程序执行的流程。面向对象:程序可以看做一组对象的集合,每个对象在不断进行交互,这种编程的方式侧重与将事物抽象成一个对象,并注明属性和方法面向对象的设计思想是从自然界中来的,因

2016-11-13 00:23:25 867

原创 Python学习07:高级特性

本文学习Python的笔记,仅供参考本文介绍一下Python的高级特性:切片,迭代切片对于List和tuple数据结构,会经常取其中的部分进行操作,如L = [1,2,3,4,5,6] ,取前三个元素,这样的话需要L[0],L[1],L[2] 这样操作才能依次取出,如果多的话比较繁琐。Python中的切片功能就很nice的完成这个任务L = [22,33,44,55,6

2016-11-12 22:49:18 511

原创 Python学习06:函数

本文学习Python的笔记,仅供参考函数同C语言中的函数作用是一样的,可以将完成特定功能的代码写成一个函数,在使用的时候调用,避免频繁重新的写同样的代码。调用函数在Python库中提供了非常多的接口函数,可以按照使用手册进行调用,比如说之前常用的print()函数来打印值,input函数来输入参数,hex()函数可以将一个数字转换成16进制并输出>>> hex(20)'0x1

2016-11-12 18:26:44 493

原创 Python学习05:循环

本文学习Python的笔记,仅供参考循环学过C语言的,对循环一定不陌生了,循环的做一些事情。在Python中有两种循环,一种是for in  , 一种是while,其作用大概都是差不多的。for 循环for in基本构造for 元素 in 序列: statement举个例子,遍历打印List中的所有元素。x = [1,2,3,4,5,6,7,8]for

2016-11-12 15:58:36 475 1

原创 Python学习04:运算和条件

本文学习Python的笔记,仅供参考运算1. 算数运算,这些东西基本雷同于C语言的操作,包括加减乘除乘方求余. 比较简单,下面列出运算的实例>>> print(1+2)3>>> print(2*4)8>>> print(2-1)1>>> print(4/3)1.3333333333333333>>> print(2**2)4>>> print(10%3)1

2016-11-12 14:59:43 511

原创 Python学习03:序列

本文学习Python的笔记,仅供参考序列一组有顺序的序列集合,这个集合可以包括一个或者多个元素,当然也可以为空集合,类似于数学中的集合概念。序列有2中:Tuple 和 ListList这种数据类型是Python内置的一种,是一种有序集合,类似于C语言中的数组,可以看下例子,a中有3个元素,他们是顺序排列,类型为list>>> a = [1,2,3]>>>

2016-11-12 12:51:35 380

原创 Python学习02:基本数据类型

本文学习Python的笔记,仅供参考基本数据类型1. 整型,可以使用type()函数来获取数据的类型,比如下面的例子整数10 位整型。>>> a = 10>>> print(type(a))>>> 2. 浮点型,也就是小数了,Python不用声明变量的类型,非常智能>>> a = 1.2>>> print(a,type(a))1.2 >>> 3.字符串,一般情况

2016-11-12 12:03:20 386

原创 Python学习01:Python简介

本文学习python的笔记,仅供参考学习原因:1. 可以让你高效率的做一些事情,比如日常任务自动备份,可以以短小精悍的程序完成复杂的任务2. 目前很多网站后台脚本都是用python,不愁无用武之地3. 找工作的时候,总是会要求至少会一种脚本语言,Python首选4. 简答 优雅 明确 容易入门

2016-11-12 09:58:20 553

原创 Linux Kernel数据结构:链表

数据结构中链表是 节点中包含数据 , kernel中的链表是链表包含在数据结构中linux内核链表的好处:    设计思想:尽可能的代码重用,化大堆的链表设计为单个链表。    链表的构造:如果需要构造某类对象的特定列表,则在其结构中定义一个类型为list_head指针的成员,通过这个成员将这类对象连 接起来,形成所需列表,并通过通用链表函数对其进行操作。其优点是只需编写通

2016-10-20 22:58:25 2095

原创 IPV6详解:Stable Privacy Address Kernel实现分析

主要分析Stable Privacy Address在kernel中的实现codeKernel Version: 4.6无状态地址配置过程一般情况下,在对应的网卡启动的时候,如果支持IPV6,且软件的IPV6功能使能,就会自动配置一个Link local地址,这个link local地址就是以fe80开头,同时有了link local地址之后,系统就会发送一个RS的packet到网络中

2016-10-16 10:45:42 5764

原创 IPV6详解:Stable Privacy Address

参考资料:RFC7217本文主要介绍下Stable Privacy Address,目前在kernel-4.4版本已经引入并且可以使用,默认情况下是关闭的。但是这种类型的地址有一些好处。两种常用地址类型1.全球单播地址Global Unicast Address    这个地址类似IPV4的公网地址,和全球网络上的IPV6服务器进行通信就会使用该类型的地址,全球独一无二。地址格

2016-10-15 17:40:30 5281 1

原创 IPv6详解:SHA1算法实现及详解

安全哈希算法(Secure Hash Algorithm)SHA1是一种数据加密的算法,其思想就是将一段明文加密成一个不可逆的密文。 因为是不可逆的,所以是无法通过密文推测出明文的内容,所以这个算法不会被用来进行传输,一般主要是用来进行数据完整性校验。在数字签名之中应用比较广泛, 数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘要),报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表

2016-10-15 11:59:16 3089

原创 C/C++:__packed

主要是解析Linux kernel中一些C语言知识点的妙用在X86系统中,默认情况下系统是4字节对齐,比如以下结构,在输出的时候是8个字节长度,而不是5个,因为编译器会进行对齐, 所以也不要单纯的认为结构体的大小是所有元素的之和。

2016-10-13 23:04:33 4981

原创 TCP-IP详解:ESP(IPSec Encapsulating Security Payload)

ESP(IPSec Encapsulating Security Payload) ESP相比AH来讲,拥有我们想要的加密功能,协议会通过加密算法将数据和Key将数据进行组合,转换成加密格式,然后送给目的端,先来看下几个比较重要的域。

2016-09-29 23:09:12 26207 8

原创 TCP-IP详解:AH(Authentication Header)

IPSec核心协议是AH和ESP,本文主要介绍下AH协议的数据封装与传输

2016-09-29 08:22:17 18283

原创 Netfilter: 利用iptables进行负载均衡

目的 1. 实现多个网络接口同时运作,完成多连接的真正并发,多个连接正在的同时访问网络 2. 实现负载均衡,有效扩展带宽增加吞吐量

2016-09-27 22:50:24 10835 4

原创 TCP-IP详解:IPSec OverView

参考教材:TCP-IP GuideIPSec 介绍IPSec是IP层的一种安全协议,主要作用就是为了解决网络通信中的安全问题。在一般的网络中,暴露这很多的安全问题,比如说数据包被监听窃取,被篡改,以及伪造身份,拒绝服务等。可能在我们使用网络的过程中体会不到网络安全的重要性,可以试想一个场景,你在网络上操作你的网上银行账号,如果你的路由器被窃听,你发送的数据包会被攻击者接收,如果没有

2016-09-26 23:26:31 6448

原创 TCP-IP详解:快速重传与快速恢复

快速重传算法快速重传算法在之前的文章中有介绍,如果收到一个out-of-order的报文段时, TCP需要立刻产生一个ACK,这个ACK不应该被延时,目的在于让对方知道收到一个失序的报文,并告诉对方自己希望收到的报文seq,我们不知道这个重复的ACK的原因,因为还是会等待少量的重复ACK到来,如果连续收到3个或者3个以上的dup ACK,就被判断这个报文被丢失了,于是就需要立即重传丢失的数据段

2016-09-23 23:20:19 40367 3

原创 TCP-IP详解: 慢启动和拥塞控制

在网络实际的传输过程中,会出现拥塞的现象,网络上充斥着非常多的数据包,但是却不能按时被传送,形成网络拥塞,其实就是和平时的堵车一个性质了。TCP设计中也考虑到这一点,使用了一些算法来检测网络拥塞现象,如果拥塞产生,变会调整发送策略,减少数据包的发送来缓解网络的压力。

2016-09-12 23:03:23 13347 2

原创 TCP-IP详解: RTT和RTO的计算方法

对于segment的重传,重传的时间RTO设定是非常重要的,如果设置太短,可能会导致并没有丢包而重传,如果设置太长了,可能因为等待ACK而浪费掉很多时间,牺牲传输的效率。从思想上来讲,其实我们还是希望重传的时间需要稍稍的大于RTT就可以了。但是这个RTT没有什么可以使用的定值,他是不断变化的。

2016-09-11 23:33:30 36855 7

原创 TCP-IP详解:SACK选项(Selective Acknowledgment)

参考教材:TCP-IP Guide引入理由在文章TCP-IP详解:超时重传机制中,有介绍到快速重传和超时重传都会面临到一个重传什么包的问题,因为发送端也不清楚丢失包后面传送的数据是否有成功的送到。主要原因还是对于TCP的确认系统,不是特别的好处理这种不连续确认的状况了,只有低于ACK number的片段都被收到才有进行ACK,out-of-order的片段只能是等待,同时,这个

2016-09-11 18:16:59 36652 6

原创 TCP-IP详解:超时重传机制

超时重传是TCP保证数据传输可靠性的又一大措施

2016-09-11 00:52:22 34346 1

原创 TCP-IP详解:糊涂窗口综合症(Silly Window syndrome)

主要介绍再接收端和发送端速率不匹配的状况下,TCP协议栈滑动窗口动态调整机制产生的一种问题 叫糊涂窗口综合症,有关滑动窗口的知识可以参考文章TCP-IP详解:滑动窗口(Sliding Window)

2016-09-08 23:02:46 15913

原创 TCP-IP详解:滑动窗口(Sliding Window)

从传输数据来讲,TCP/UDP以及其他协议都可以完成数据的传输,从一端传输到另外一端,TCP比较出众的一点就是提供一个可靠的,流控的数据传输,所以实现起来要比其他协议复杂的多,先来看下这两个修饰词的意义: 1. Reliability ,提供TCP的可靠性,TCP的传输要保证数据能够准确到达目的地,如果不能,需要能检测出来并且重新发送数据。 2. Data Flow Control,提供TCP的流控特性,管理发送数据的速率,不要超过设备的承载能力为了能够实现以上2点,TCP实现了很多细节的功能来保证数

2016-09-07 22:32:23 122764 22

原创 TCP-IP详解:Nagle算法

Small Packet Problem 在使用一些协议通讯的时候,比如Telnet,会有一个字节字节的发送的情景,每次发送一个字节的有用数据,就会产生41个字节长的分组,20个字节的IP Header 和 20个字节的TCP Header,这就导致了1个字节的有用信息要浪费掉40个字节的头部信息,这是一笔巨大的字节开销,而且这种Small packet在广域网上会增加拥塞的出现。

2016-09-04 19:18:50 36149 6

原创 TCP-IP详解:Delay ACK

先了解一下,TCP传输的数据流的分类:TCP交互数据流:一般情况下数据总是以小于MSS的分组发送,做的是小流量的数据交互,常见的应用比如SSH,Telnet等TCP成块数据流:TCP尽最大能力的运载数据,数据基本都是按照MSS发送,常见的应用有FTP,Iperf等

2016-09-04 12:40:39 20127 1

原创 TCP-IP详解:TCP的头部与选项

TCP的头部 TCP属于协议层的第三次,封包被称为segment,现在主要来看下TCP头部的格式,如下图

2016-09-03 16:37:06 18188 3

原创 TCP-IP详解:TCP半打开连接及同时打开同时关闭

TCP半打开连接 如果一方已经关闭或者异常终止连接而另外一方却还不知道,这样的连接就称为半打开连接(Half open connection)。处于半打开的连接,如果双方不进行数据通信,是发现不了问题的,只有在通信是才真正的察觉到这个连接已经处于半打开状态,如果双方不传输数据的话,仍处于连接状态的一方就不会检测另外一方已经出现异常

2016-09-03 14:23:33 7332 2

原创 TCP-IP详解:TCP的状态变迁图

TCP的状态变迁图 一个连接从开始建立到断开,经历了一连串的状态变化,这次主要分析下它的状态变迁图,首先上经典的状态变迁图

2016-09-02 21:56:36 13093

原创 ADB server didn't ACK问题解决

问题描述:在使用adb的连接手机的时候,使用adb shell命令,报出ADB server didn‘t ACK的错误?

2016-09-01 22:18:16 488

原创 TCP-IP详解:TCP的连接与终止

参考书籍:TCP-IP详解基本概念:ISN: 初始的序列号,Sequeue Number,TCP 协议栈为每一个封包都会分配一个sequence number,主要用来保证顺序的问题MSS:最大报文长度,发送的报文不要超过这个值,一般情况下MTU-IP Header - TCP HeaderACK:确认序号,表明下一个需要接收的包的Sequeue number,可以通过

2016-09-01 20:29:20 2338

原创 JAVA中的集合框架

集合框架:是为表示和操作集合而规定的一种统一的、标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。 –接口:即表示集合的抽象数据类型。接口提供了让我们对集合中所表示的内容进行单独操作的可能。 –实现:也就是集合框架中接口的具体实现。实际它们就是那些可复用的数据结构。 –算法:在一个实现了某个集合框架中的接口的对象上,完成某种有用的计算的方法,例如查找、排序等。

2016-08-20 23:34:57 613

原创 NETLINK_INET_DIAG:Socket Monitoring

新版本中,Android逐渐使用起了socket monitoring的功能,先说应用场景,一般情况下 如果我们使用wifi在看视频的时候,数据包会从server源源不断的输送过来,送到上层的视频APP,但是如果中途我们的wifi断掉的时候,这个connection会怎么样呢? 其实这时候上层会收到ETIMEOUT的错误,但是这个并不是真正意义上的超时,实际上是Android在kernel做了一种

2016-08-12 22:29:41 4846

原创 设计模式之装饰者模式

装饰者模式: 以对客户透明的方式动态的给一个对象加上更多的附加责任,客户端并未觉得对象在装饰前和装饰后有什么变化,可以在不用创造更多子类的情况下,将对象的功能加以扩展! 使用装饰者模式的场景:一般情况下一个接口或者父类可以通过扩展子类来实现功能的扩展,如果需要扩展的功能种类繁多,势必要生成很多很多子类增加系统的复杂性,通过装饰者模式,可以一些子类的功能进行扩展组合,也从而达到功能扩展的目的。

2016-08-06 23:26:09 571

原创 Android 学习 广播机制

作为一个庞大的系统,每时每刻都发生着各种各样事件,那么系统是如何通知大家的呢? 这里就是使用的广播机制,系统或者相关的APP有事件发生了,可以发送一个广播,然后对这些事件刚兴趣的模块可以将其接受过来,根据相关的事件,来做一些事情! 思考一下,其实广播就是一种单通道的IPC机制,可以使进程间通信,也可以使不同的进程之前的通讯,其实就是一种通知,我只是告诉你,但是具体你收不收,干不干,与我无关

2016-08-04 22:44:31 437

原创 Android 学习之 Fragment(一)

本文作为阅读郭霖老师《第一行代码Android》的一次笔记!Android为什么引入碎片Fragment?    现在形形色色的Android设备,屏幕尺寸各有不同,同样的布局,可能在不同的设备上有着不同的效果,比如在手机上显示很完美,到了大屏的平板上也许就拉伸的很难看了,所以Android引入碎片这个概念,就是让一个APP能够兼容不同屏幕大小的Android设备,一个apk可以在

2016-07-29 22:22:36 587 6

原创 Android基本问题汇总

本文主要记录在android学习过程中遇到的问题,基本上都是一些共性的问题

2016-07-28 21:56:38 1661

原创 Android UI学习篇:ListView

本文主要讲述一下Android UI 中ListView的使用方法,ListView无论是在APP中还是在Android系统中,都有着广泛的应用!基本上所有的应用程序中都能够看到,一般情况下,鉴于手机屏幕的空间有限,一次显示的信息并不是很多,但是当程序需要显示比较多的类似信息的时候就需要用到这个ListView!

2016-07-25 21:25:34 912

软件研发面试宝典:纸上谈兵

主要是对各大互联网公司面试常见到的题目进行总结,适合在准备找工作的同学

2016-11-27

韦东山Android系统视频使用手册20160303

韦东山Android系统视频使用手册

2016-09-11

linux邻居协议的功能分析

linux邻居协议的功能分析,主要介绍了linux中ARP 协议的实现

2015-09-09

MBIM v1 0_USBIF_FINAL

MBIM v1 0_USBIF_FINAL Spec about USB mobile networking

2015-08-29

poll机制分析

让你彻底征服poll机制,不在烦恼,非常实用 韦东山老师的文档

2012-10-17

内核配置参考

嵌入式开发中内核配置项,介绍 及 配置参考,方便进行内核移植的你。

2012-10-17

S3C2410数据手册(完整版)

S3C2410的数据手册,英文版的,很全面 希望能对大家有帮助

2012-10-17

U-boot 移植

讲述了 嵌入式开发中 U-boot移植的一些知识,让你深入了解U-boot的移植方法,U-boot的目录结构和启动过程。相信 会对你的学习 帮助很大

2012-03-05

2010年中科院信号与系统真题

考研必备真题 2010 年中科院 信号与系统 真题

2011-10-18

单片机实验板的制作过程

自制单片机学习板过程实 可以有利于做毕业论文设计 和对电子爱好者比较好玩

2010-07-15

空空如也

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

TA关注的人

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