12 2018 档案

摘要:在演示实际代码前,先说明我们的目标:能对函数参数类型进行断言,类似下面这样: @typeassert(int, int) ... def add(x, y): ... return x + y 我们可以自己实现这样一个装饰器。首先介绍下inspect.signature sig=signature( 阅读全文
posted @ 2018-12-28 15:22 red_leaf_412 阅读(393) 评论(0) 推荐(0) 编辑
摘要:在开始本节之前,首先介绍下偏函数partial。首先借助help来看下partial的定义 首先来说下第一行解释的意思: partial 一共有三个部分: (1)第一部分也就是第一个参数,是一个函数,这个函数可以是你定义的,也可以是Python内置函数 (2)第二部分是一个可变参数,*args,比如 阅读全文
posted @ 2018-12-25 14:07 red_leaf_412 阅读(510) 评论(0) 推荐(0) 编辑
摘要:书写命令 每条规则中的命令和操作系统 Shell 的命令行是一致的。 make 会按顺序一条一条的执行命令, 每条命令的开头必须以[Tab]键开头, 除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略, 但是如果该空格或空行是以 Tab 键开头的, 那么 make会认为其 阅读全文
posted @ 2018-12-23 15:26 red_leaf_412 阅读(615) 评论(0) 推荐(0) 编辑
摘要:Wireshark是可以解析LTE的空口数据。但是在wireshark的实现中,这些数据都是被封装到UDP报文中。然后根据wireshark的格式文件对LTE的数据加上头信息。头信息的定义参考附件packet-mac-lte.h文件 大致结构如下: typedef struct mac_lte_in 阅读全文
posted @ 2018-12-19 17:39 red_leaf_412 阅读(1138) 评论(0) 推荐(0) 编辑
摘要:介绍 在过去20几年里,网络已经在各个方面改变了我们的生活,但是它的核心却几乎没有什么改变。多数的系统依然遵循着Tim Berners-Lee在上个世纪发布的规则。大多数的web服务器都在用同样的方式处理消息 背景 多数在web上的服务器都是运行在IP协议标准上。在这协议家族里面我们关心的成员就是T 阅读全文
posted @ 2018-12-19 14:15 red_leaf_412 阅读(524) 评论(0) 推荐(0) 编辑
摘要:多目标 Makefile 的规则中的目标可以不止一个,其支持多目标,有可能我们的多个目标同时依赖于一个文件,并且其生成的命令大体类似。于是我们就能把其合并起来。但是如果多个目标的生成规则的执行命令是同一个,这会给我们带来很多的工作量。在makefile中可以使用$@。这个变量表示目前规则中的所有目标 阅读全文
posted @ 2018-12-15 21:31 red_leaf_412 阅读(230) 评论(0) 推荐(0) 编辑
摘要:前面介绍了采用go语法的并行操作以及channel。既然是并行操作,那么就涉及到数据原子性以及同步的问题。所以在Go里面也需要采用同步的机制。 互斥锁: 由标准库代码包sync中的Mutex结构体类型表示。Sync.Mutex类型只有两个公开的指针方法-Lock和Unlock。声明方法如下: var 阅读全文
posted @ 2018-12-13 10:05 red_leaf_412 阅读(423) 评论(0) 推荐(0) 编辑
摘要:在开始之前,我们先限定下python解释器的意思。当讨论Python的时候,解释器这个词可以用在不同的地方。有的时候,解释器指的是Python Interpreter,也就是你在命令行交互界面上输入python的时候。有的时候人们或多或少的交换使用python和python解释器来表明python从 阅读全文
posted @ 2018-12-10 15:25 red_leaf_412 阅读(12905) 评论(0) 推荐(0) 编辑
摘要:GNU 的 make 很强大, 它可以自动推导文件以及文件依赖关系后面的命令,于是我们就没必要去在每一个[.o]文件后都写上类似的命令,因为,我们的 make 会自动识别,并自己推导命令 只要 make 看到一个[.o]文件,它就会自动的把[.c]文件加在依赖关系中, 如果 make 找到一个 wh 阅读全文
posted @ 2018-12-09 20:44 red_leaf_412 阅读(459) 评论(0) 推荐(0) 编辑
摘要:在C和C++中,首先要把源文件编译成中间代码文件,在windows下就是obj文件,linux下就是.o文件:object file。这个动作叫做编译,然后再把大量的object file合成执行文件。这个动作叫做链接(link) 编译时,编译器需要的是语法的正确,函数与变量的声明的正确。对于后者, 阅读全文
posted @ 2018-12-09 10:02 red_leaf_412 阅读(3758) 评论(0) 推荐(0) 编辑
摘要:单向channel: 单向通道可分为发送通道和接收通道。但是无论哪一种单向通道,都不应该出现在变量的声明中,假如初始化了这样一个变量 var uselessChan chan <- int =make(chan <- int,10) 这样一个变量该如何使用呢,这样一个只进不出的通道没有什么实际意义。 阅读全文
posted @ 2018-12-06 11:35 red_leaf_412 阅读(449) 评论(0) 推荐(0) 编辑
摘要:前面介绍了goroutine的用法,如果有多个goroutine的话相互之间是如何传递数据和通信的呢。在C语言或者JAVA中,传输的方法包括共享内存,管道,信号。而在Go语言中,有了更方便的方法,就是channel。在同一时刻,仅有一个goroutine能向一个通道发送元素值,同时也仅有一个goro 阅读全文
posted @ 2018-12-04 09:55 red_leaf_412 阅读(810) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示