MIT-6.828-JOS-lab5:Network Driver
MIT-6.828 Lab 6: Network Driver (default final project) tags: mit-6.828 os 概述 本lab是6.828默认的最后一个实验,围绕网络展开。主要就做了一件事情。 从0实现网络驱动。 还提到一些比较重要的概念: 内存映射I/O DMA 用户级线程实现原理 The Network Server 从0开始写协议栈是很困难的,我们将使用lwIP,轻量级的TCP/IP实现,更多lwIP信息可以参考lwIP官网。对于我们来说lwIP就像
利用trie树实现前缀输入提示(python)
代码来自https://github.com/wklken/suggestion/blob/master/easymap/suggest.py 还实现了缓存功能,搜索某个前缀超过一定次数时,进行缓存,减少搜索时间:将词后缀部分存储在节点 使用了词频信息,可以对返回的列表进行排序 使用dict实现trie,效率较高 trie的原理及实现参考https://segmentfault.com/a/1190000008877595 trie有三种实现方式,其中DoubleArrayTrie时间复杂度最
idhttp采集时遇到乱码问题解决
关键部分代码: FIdhttp.Request.Referer := SQL; stream := TStringStream.Create(''); stream.Position := 0; FIdhttp.Get(SQL, stream); if Pos('utf-8',FIdhttp.Request.ContentType)>0 then //根据返回类型获取编码 s := Utf8ToAnsi(stream.DataString) else if UTF8Decode(stream.
初步学习Spring Aop使用之配置方式
前言: 初步学习接触Spring框架使用,而在这里对自己刚学的Aop使用做个小篇幅的总结,方便日后需要用到是可以快速入手! 仅用于对自己学习个人笔记,不做任意分享,纯属个人理解不想误认子弟! 一、Aop知识点理解 AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待 (1)Aspect(切面):通常是一个类,里面可以定义切入点和通知 (2)JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用 (3)Advic
《Python语言及其应用》学习笔记
第二章 ========== 对象的类型决定了可以对它进行的操作。对象的类型还决定了它装着的数据是允许被修改的变量(可变的),还是不可被修改的常量(不可变的)。 Python是强类型的,你永远无法修改一个已有对象的类型,即使它包含的值是可变的。 变量,就是在程序中为了方便地引用内存中的值而为它取的名字,在Python中,用 = 来给一个变量赋值。python中的变量有一个非常重要的性质:它仅仅是一个名字。赋值操作并不会实际复制值,它只是为数据对象取一个相关的名字,名字是对对象的引用而不是对象本
利用python实现简单词频统计、构建词云
1、利用jieba分词,排除停用词stopword之后,对文章中的词进行词频统计,并用matplotlib进行直方图展示 # coding: utf-8
import codecs
import matplotlib.pyplot as plt
import jieba
# import sys
# reload(sys)
# sys.setdefaultencoding('utf-8')
from pylab import mpl
mpl.rcParams['font.sans-serif'
redis笔记-3-命令
一,通用命令 1, 支持正则表达式 在redis里,允许模糊查询key 有3个通配符 *, ? ,[] *: 通配任意多个字符 ?: 通配单个字符 []: 通配括号内的某1个字符 keys * (查找所有key) keys s* keys site key sit[em] (匹配 site sitm) Redis对于key的操作命令 del key1 key2 ... Keyn 作用: 删除1个或多个键 返回值: 不存在的key忽略掉,返回真正删除的ke
Java操作XML(1)
XML简介 XML(Extensible Markup Language)是一种非常有用的迷哦书结构化信息的技术。XML工具使处理和转化信息变得十分容易。 在程序中,可以使用属性文件(property file)来描述程序配置,属性文件中包含了一组名/值对 缺陷:属性文件采用的是一种单一的平面层次结构,并且要求键值是唯一的。 在想要描述的信息结构比较复杂时,可以使用XML格式的文件,比属性文件的平面结构更加灵活,且其中重复的元素并不会被曲解。XML与HTML同为SGML(Standard Ge
One Person Game ZOJ - 3329(期望dp, 数学)
There is a very simple and interesting one-person game. You have 3 dice, namely Die1, Die2 and Die3. Die1 has K1 faces. Die2 has K2 faces. Die3 has K3 faces. All the dice are fair dice, so the probability of rolling each value, 1 to K1, K2, K3 is ex
Alpha项目冲刺! Day4-产出
各个成员今日完成的任务 林恩:任务分工,博客撰写,了解安卓环境搭建 杨长元:安卓本地数据库基本建立 李震:学习 胡彤:完善服务端 寇永明:学习 王浩:学习 李杰:学习 各个成员遇到的问题 林恩:为自己不够努力而苦恼 杨长元:被数据字典困住 寇永明:学习好难,我感到了绝望 王浩:问题就是安卓编程的理解问题 李杰:后悔不已,不好好学java,现在安卓也不会 明日各个成员的任务安排 林恩:任务分工,博客撰写,了解后端搭建 杨长元:建立数据字典 胡彤:完成服务端后端框架 寇永明:研究测试代码 王浩:研
指向函数的指针数组的小测试
代码: #include<iostream> using namespace std; void fun(void) { cout << "hello world" << endl; } void fun1(void) { cout << "mio" << endl; } int main() { void(*pa[2])(void); //直接定义一个指向该类型函数的指针数组 //不可以这样写,void*pa[2](void),因为()的优先级高于* pa[0] = fun; pa[1] =
拼多多店铺采集如何采集?【爬虫技术】
一、如何采集拼多多店铺数据呢? 拼多多如今已经成为继淘宝、京东之后的第三大电商平台,最近两年也是火的不行,很多的客户需求会提到拼多多这个电商平台,首先要直到拼多多大部分商品都是在手机端的,PC电脑端展示的商品数据很少,我们采集一个店铺的 数据,首先找到这个店铺的ID! 1.例如我们打开手机拼多多APP,搜索关键词"飞科剃须刀",随便点击一个宝贝,进入这个店铺,我们就以推荐的这个店铺为例,点击进入店铺 2.下面可以看到整个店铺的页面,点击右上角的分享,分享给自己 3.在电脑端打开微信,在文件传输
Java 3-Java 基本数据类型
Java 基本数据类型 变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。 因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。 Java的两大数据类型: 内置数据类型 引用数据类型 内置数据类型 Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 byte: byte数据类型是8位、有符号的,以二进制补码表示的整数; 最
Linux 下通过crontab 执行定时任务
第一步:进去命令编辑模式 crontab -e 备注:如果你进去后的编辑器不是你所熟悉的,你可以之下一下命令,进行编辑器的选择 select-editor 第二步:编写自己的命令 # 实例 */1 * * * * /root/.local/python3/bin/python3 /root/t.py >> /root/t.txt 备注: 1、前面五个 * 表示 时间,分、时、天、月、周 2、后面跟的是命令 3、时间后面可以跟执行的用户,默认应该是 root 4、执行的命令建议用绝对路径,例
day06-python元祖
1.创建空元组 temp1 = ();
如果元祖中只包含一个值,需用逗号隔开消除歧义
temp1=(1,) 2.元祖的基本操作 访问元祖,可以使用下标索引访问元素的值 temp1=('hello','world')
print(temp1[1])
world
temp1=(1,2,3,5,7,6)
print(temp1[1:5])
(2, 3, 5, 7) 3.修改元祖 元祖中的元素值不允许修改,但可以对元祖进行连接组合 temp1=('hello','world')
num =(2018
c# List 转 string 以及 string [] 转 List
List<int> 转 string :
list<int>: 1,2,3,4,5,6,7 转换成字符串:“1,2,3,4,5,6,7”
List<int> list= new List<int>() { 1, 2, 3, 4, 5, 6, 7 };
string depaid = string.Join(",", list);
string 转 List<string>:
string s = "1, 2, 3";
List<string> list = new List<strin
周排行