自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 05计组课后习题:输入输出系统

5.1 I/O有哪些编址方式?各有何特点?解答:I/O的编址方式有两种:统一编址和不统一编址(单独编址)1. 统一编址:即在主存地址空间划出一定的范围作为I/O地址,这样通过访存指令即可实现对I/O的访问。但是主存容量相应减少。2. 不统一编址:I/O和主存地址是分开的,I/O地址不占主存空间,故这种编址不影响主存容量,但访问I/O时必须有专用的I/O指令。5.2 简要...

2019-11-24 13:27:13 11641 5

原创 Java使用JNA调用Golang编译生成的动态库(dll 和 so 文件)

参考文档:JNA的官方文档:http://java-native-access.github.io/jna/5.5.0/javadoc/ JNA的github:https://github.com/java-native-access/jna github的一个case:Calling Go Functions from Other Languages using C Shared Lib...

2019-11-14 11:45:20 5372 2

原创 04计组课后习题:存储器

第4章 存储器教材课后思考题与习题:4.1解释概念:主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory主存:主存储器,用于存放正在执行的程序和数据。CPU可以直接进行随机读写,访问速度较高。 RAM:(Random Access Memory),随机存取存储器,是一种可读/写存储器,一般用于计算...

2019-10-07 11:31:58 46490 11

原创 03计组课后习题:系统总线

第3章 系统总线教材课后思考题与习题:2.1什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?总线:连接多个部件(模块)的信息传输线,是各部件共享的传输介质。 总线传输特点:某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。 为了减轻总线上的负载,各种 I/O 设备要通过 I/O 接口接在总线上,而且还要通过三态...

2019-10-04 16:08:59 7659 2

原创 02计组课后习题:计算机的发展与应用

第2章 计算机的发展与应用教材课后思考题与习题:2.1 通常,计算机的更新换代以什么为依据?主要以组成计算机基本电路的元器件为依据,如电子管、晶体管、集成电路等。2.2 举例说明专用计算机和通用计算机的区别?按照计算机的效率、速度、价格和运行的经济性和实用性可以将计算机划分为通用计算机和专用计算机。通用计算机适应性强,但牺牲了效率、速度和经济性,而专用计算机是最...

2019-10-04 14:34:50 2612 1

原创 01计组课后习题:计算机系统概论

第1章 计算机系统概论教材课后思考题与习题:1.1 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?计算机系统:由硬件和软件两大部分组成。 计算机硬件:是指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成,如主机、外部设备等。 计算机软件:看不见摸不着,由人们事先编制的具有各类特殊功能的程序组成。用来充分发挥硬件功能,提高机器工作...

2019-10-03 14:37:20 7986 3

原创 案例总结:京东图书信息爬取

代码地址:https://github.com/Fonzie9527/spider_JDbooks爬取起始url:https://book.jd.com/booksort.html爬取需求:抓取京东图书的相关信息抓取目标字段:大分类,大分类页面url,小分类,小分类页面url 封面图片连接,详情页面url 作者,出版社,出版时间 价格,书名注意点...

2019-05-14 11:08:57 1100

原创 排序算法 --- 堆排序

堆排序是选择排序思想上的进阶,先来了解一下选择排序。1.选择排序选择排序的策略:一个数组中,将元素分为前后两堆:已排序 + 未排序; 然后从未排序 序列中,去 “选择” 一个最小值的元素,把它放到前面已排序的序列中去; 然后不断的重复这个过程。时间复杂度显而易见:O(n2)public class sort { //写一个交换数组中两个元素的方法 pu...

2019-05-01 12:46:30 498

原创 关于“希尔排序”的一点思考(参考浙大陈越老师的教学视频)

最近复习了一下七大排序算法,到 “希尔排序” 这里时,看了一下浙大的数据结构视频(网易云课堂)。看了几分钟就开始尝试着自己用java实现(先不看视频中给出的源代码),结果发现一个有意思的过程,现在记录一下。要理解 “希尔排序” ,得先理解 “插入排序”,因为前者相当于后者的进阶。1.插入排序插入排序的排序策略很简单,将数组分为两堆:已排序 + 未排序,然后将未排序的元素,一个...

2019-04-30 14:59:24 336

转载 Python内存管理机制

参考于:https://www.cnblogs.com/geaozhang/p/7111961.htmlpython的内存管理机制:引用计数、垃圾回收、内存池机制1.变量与对象关系图如下:1.变量:通过变量指针引用对象。变量指针指向具体对象的内存空间,取对象的值。2.对象:类型已知,每个对象都包含一个头部信息(头部信息:类型标识符 和 引用计数器)注意: ...

2019-04-23 10:49:47 286

翻译 元类实现ORM

1.ORM是什么ORM是python编程语言后端web框架Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM。一句话理解就是:创建一个实例对象,用创建它的类名当作数据库表名,用创建他的类属性对应数据表的字段,当对这个实例对象操作时,能够对应MySQL语句。demo:class User(父类省略): ...

2019-04-23 09:51:12 304

翻译 Python中的元类

1.类也是对象在大多数面向对象的编程语言中,类就是一组用来描述如何生成一个对象的代码段。在Python中这一点仍然成立的。但是,Python中的类还远不止如此,类同样也是一种对象。只要你使用关键字class,Python解释器在执行的时候就会创建一个对象。如下代码段:>>> class ObjectCreator(object):… pass…...

2019-04-23 09:21:42 108

原创 22.Celery 分布式任务队列

用户发起request,并且等待response返回。在某些视图函数处理中,可能需要执行一段耗时的程序,那么用户就会等待很长时间,造成不好的用户体验。这时候可以放到Celery分布式任务队列中去处理。客户端:发起异步任务的一方任务队列(broker):任务处理者(worker):保存异步处理结果(backend):将耗时的任务添加到队列queue中,也就是用redis实现...

2019-04-14 14:34:59 157

原创 6. 谈一下你对 uWSGI 和 nginx 的理解

1.什么是 ‘Web服务器’ 和‘Web框架’?在python web开发中,我们经常使用uwsgi配合nginx,来部署一个web框架,例如Django或flask。同时我们又会说,框架和web服务器之间要符合WSGI协议,才能相互配合工作。以下先理清几个概念:web服务器用来接收客户端请求,建立连接,转发响应的程序。至于转发什么样的响应,则交由web框架来处理,即处理具体的业务逻辑...

2019-04-14 10:00:02 806

原创 5. django 中间件的理解以及如何使用

1.什么是中间件Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增加了Django框架的健壮性。我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预。2.如何定义中间件def simple_middleware(get_r...

2019-04-13 17:10:41 589

原创 4. Django 中 models 利用 ORM 对 Mysql 进行查表的语句(多个语句)

1.基本查询get查询单一结果,如果不存在会抛出模型类.DoesNotExist异常。all查询多个结果。count查询结果数量。BookInfo.objects.get(id=1)BookInfo.objects.all()BookInfo.objects.count()其中:BookInfo 是模型类objects 是模型类BookInfo的管理...

2019-04-13 16:10:21 381

原创 3. 对 MVC,MVT 解读的理解

1.什么是MVCM:Model,模型,和数据库进行交互V:View,视图,负责生产Html页面C:Controller,控制器,接受请求,进行处理,与 M 和 V 进行交互,返回响应。按照以上图例进行说明MVC是如何工作的:用户点击注册按钮,将要注册的信息发送给网站服务器 Controller控制器接收到用户的注册信息,Controller会告诉Model层,将用户的...

2019-04-13 15:49:40 671

原创 14.跨站请求伪造和跨站请求保护的实现

1.什么是跨站请求伪造CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。 CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求。 包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账...... 造成的问题:个人隐私泄露以及财产安全。2.CSRF攻击原理图中 Browse 是浏览器,WebServ...

2019-04-13 15:23:12 450

原创 10.Flask 中请求钩子的理解和应用

在客户端 和 服务器 交互的过程中,有些准备工作或扫尾工作需要处理,比如:1.在请求开始时,建立数据库连接;2.在请求开始时,根据需求进行权限校验;3.在请求结束时,指定数据的交互格式;为了让每个视图函数避免编写重复功能的代码,Flask提供了通用设施的功能,即请求钩子。请求钩子是通过装饰器的形式实现的,Flask支持如下四种请求钩子:before_first_req...

2019-04-13 11:22:46 549

原创 9. Flask 中 url_for 函数

一般情况下,都是通过url,找到对应的视图函数的。而URL反转,则是根据视图函数的名称 得到当前所指向的url。url_for() 函数最简单的用法是以视图函数名作为参数,返回对应的url,还可以用作加载静态文件:<link rel="stylesheet" href="{{url_for('static',filename='css/index.css')}}">...

2019-04-13 11:00:01 853

原创 6. Flask 中 WTF 表单数据验证

1.Web表单web表单是web应用程序的基本功能。它是HTML页面中负责数据采集的部件。表单有三部分组成:表单标签、表单域、表单按钮表单允许用户输入数据,负责HTML页面数据采集,通过表单将用户输入的数据提交给服务器。在Flask中,为了处理web表单,我们一般使用Flask-WTF扩展,它封装了WTForms,并且它有验证表单数据的功能。2.WTForms支持的...

2019-04-13 10:37:21 772

原创 5. 对 Flask 蓝图(Blueprint)的理解

1.什么是蓝图蓝图/Blueprint 是一个存储操作方法的容器,这些操作在这个Blueprint被注册到一个应用之后就可以被调用,Flask可以通过Blueprint 来组织URL以及处理请求。Flask使用 Blueprint 让应用实现模块化,在Flask中,Blueprint 具有如下属性:1.一个应用可以具有多个Blueprint,也就可以分割为多个模块。2.可以将...

2019-04-13 10:06:32 578

原创 3. Flask 中数据库设置

1.在 Flask-SQLAlchemy 中,数据库使用URL指定,而且程序使用的数据库必须保存到Flask配置对象的SQLALCHEMY_DATABASE_URI键中app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:[email protected]:3306/test'2.其他设置# 动态追踪修改设置,如未设置只会提示警...

2019-04-12 16:42:28 356

原创 2. Flask 中请求上下文和应用上下文的区别和作用?

1.什么是上下文上下文,相当于一个容器,保存了Flask程序运行过程中的一些信息。Flask中有两种类型的上下文,请求上下文 和 应用上下文2.请求上下文(request context)思考:在视图函数中,如何获取到当前请求的相关数据?比如:请求地址、请求方式、cookies等等信息在flask中,可以直接在视图函数中使用request这个对象进行获取相关数据...

2019-04-12 16:18:47 928 1

原创 1. Flask 中正则 URL 的实现?

在flask默认的路由匹配规则中,一个动态的路由可以匹配int,float,path三种类型例如:# 匹配path的情况@app.route('/user/<username>')def user(username)# 匹配int的情况@app.route('/user/<int:user_id>')def user(user_id)# 匹配f...

2019-04-12 15:35:08 1355

原创 4.简述浏览器通过 WSGI 请求动态资源的过程?

过程:1.“浏览器” 向 “web服务器” 发送了一个请求动态资源的请求2.“web服务器”收到请求后,通过WSGI,调用一个属性给“应用程序框架”3.“应用程序框架”通过引用WSGI,调用“web服务器”的方法,设置返回的状态和头信息4. 调用后返回,此时“web服务器”保存了刚刚设置的 状态和头信息5.”应用程序框架“查询数据库,进行逻辑处理,生成动态页面的bo...

2019-04-12 13:02:39 251

原创 3.关于TCP的总结

1."客户端"和"服务器端"基于TCP通信模型2.“客户端”使用TCP 发送/接收 数据步骤:1.创建TCP的socket套接字2.链接服务器3.发送数据给服务器4.接收服务器端发送来的消息5.关闭套接字示意代码:import socketdef main(): # 1、创建客户端的 socket # socket.AF_INET...

2019-04-12 10:52:45 173

原创 2.关于UDP的总结

1. “客户端”与“服务器” 基于UDP通信的流程图2.“客户端”使用UDP 发送/接收 数据步骤:1.创建“客户端”套接字2.发送/接收数据3.关闭套接字示意代码:import socketdef main(): # 1、创建 udp 套接字 # socket.AF_INET 表示 IPv4 协议 AF_INET6 表示 IPv6 ...

2019-04-12 10:20:35 226

原创 1.关于socket的总结

1.什么是socket?中文译为 “套接字”通信前提:完成通信需要一对套接字(socket),网络通信的一端成为一个socket本质:对底层网络协议TCP/IP的封装,并且提供了一套应用程序接口(API)2.socket用来干嘛的?用来实现不同主机间的进程间的通信3.如何创建socket?使用socket模块的socket函数import sock...

2019-04-12 09:08:08 339

原创 Flask Web Development ---关于应用上下文

应用上下文:应用上下文是用来跟踪在一次请求中的应用级别的数据。请求上下文是用来跟踪在一次请求中的请求级别的数据。当一个请求上下文被推送后,其相应的应用上下文也会被推送。上下文的目的:Flask应用对象有一些属性,例如:“config”,有时候在视图中访问会很有用。然后,把程序实例(application instance)导入到项目的模块中去容易导致循环导入的问题。flas...

2018-08-14 17:02:09 550 1

原创 flask web 开发 --- 关于路由app.route

要理解路由,首先得理解什么是装饰器(Decorator),参考廖雪峰python教程中对装饰器的讲解装饰器:在代码运行期间,动态的增加函数的功能的方式,称为“装饰器”。def now(): print('2015-3-25')比如我们定义了一个now函数,调用它就回输出一个字符串。现在我们希望给now() 增加一个打印日志的功能,但又不希望修改now()函数的内部代码。我...

2018-08-14 11:02:03 13334 1

原创 数据挖掘项目---航空公司客户价值分析

1. 背景与挖掘目标客户关系管理的关键问题是客户分类,通过客户分类,区分无价值客户、高价值客户,企业针对不同价值得客户制定优化个性化服务方案,采取不同营销策略,将有限营销资源集中于高价值客户,实现企业利润最大化目标。航空公司采集了大量会员档案信息和其乘坐航班记录,经过加工获得了以下部分数据样例:完整详细的数据见  ....\chapter7\demo\data\air_data.csv我们的挖掘目...

2018-07-05 21:20:45 8061

原创 数据挖掘项目---电力窃漏电用户自动识别

1.挖掘目标1) 归纳出窃漏电用户的关键特征,构建窃漏电用户的识别模型2) 利用实时监测数据,调用窃漏电用户识别模型,实现实时诊断2.分析方法与过程1) 从电力计量自动化系统、营销系统有选择性的抽取部分大用户用电负荷、终端报警及违约窃电处罚信息等原始数据。2) 对样本数据探索分析,剔除不可能存在窃漏电行为行业的用户,即白名单用户,初步审视正常用户和窃漏电用户的用电特征。3) 对样本数据进行预处理,...

2018-07-04 11:29:46 5223 5

原创 机器学习实战--AdaBoost集成学习方法

from numpy import *def loadSimpData(): datMat = matrix([[ 1. , 2.1], [ 2. , 1.1], [ 1.3, 1. ], [ 1. , 1. ], [ 2. , 1. ]]) classLabels = [1.0, 1.0, -1.0, ...

2018-06-21 21:00:41 245

原创 机器学习实战---Logistic回归

from numpy import *def loadDataSet(): #讲文本中的数据解析成矩阵 dataMat=[];labelMat=[] fr=open('testSet.txt') for line in fr.readlines(): lineArr = line.strip().split() #每个数据变成单个的字符串,存放在lineArr列表里 dataMa...

2018-06-21 20:39:30 246

原创 机器学习实战---朴素贝叶斯分类方法

from numpy import *def loadDataSet(): postingList=[['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'], ['maybe', 'not', 'take', 'him', 'to', 'dog', 'park', 'stupid'], ...

2018-06-21 20:25:50 414

原创 机器学习实战---使用Matplotlib注解绘制树形图

&gt;&gt;&gt; help(pyplot.annotate)Help on function annotate in module matplotlib.pyplot:annotate(*args, **kwargs)    call signature::      annotate(s, xy, xytext=None, xycoords='data',               t...

2018-05-18 15:34:03 1210

原创 机器学习实战---k近邻算法

kNN算法具体描述可以参见李航的《统计学习方法》kNN算法的伪码过程如下:(1)计算已知类别数据集中的点与当前点之间的距离;(2)按照距离递增次序排序;(3)选取与当前点距离最小的k个点;(4)确定前k个点所在类别的出现频率;(5)返回前k个点出现频率最高的类别作为当前点的预测分类;kNN代码详解如下:def classify0(inX, dataSet, labels, k):    dataS...

2018-05-15 09:44:06 221

原创 PTA练习题---树的同构

问题描述:给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点数(此时假设结点...

2018-02-28 17:18:43 500

原创 关于最大子序列求和O(n)阶算法的理解

     看到数据结构与算法分析(c语言描述)第二章,关于子序列之和的O(n)阶算法,有点难理解,书里面也没有讲明白。网上看了2~3篇博客,总算有点明白了,自己整理一下,以便以后再遇到类似问题的时候可以翻出来看看快速理解。书上源码:int MaxSubsequenceSum(const int A[],int N){ int ThisSum,MaxSum,j; ...

2018-02-12 13:30:34 1304

Flask Web开发:基于Python的Web应用开发实战

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。

2018-08-01

空空如也

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

TA关注的人

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