在前面一节我们介绍了几个数据库的安装方式,但这仅仅是用来存储数据的数据库,它们提供了存储服务,但如果想要和 Python 交互的话也同样需要安装一些 Python 存储库,如 MySQL 需要安装 PyMySQL ,MongoDB 需要安装 PyMongo 等等,本节我们来说明一下这些库的安装方式。 验证安装 为了验证库是否已经安装成功,可以在命令行下测试一下: $ python3 >>> import pymysql >>> pymysql.VERSION (0, 7, 11, None) >>> 1.4.3 RedisPy的安装 对于 Redis 来说,我们要使用 RedisPy 库来与其交互,本节我们来介绍一下 RedisPy 的安装方法。 1. 4.
HTTP网络编程 网络接口文档 用来描述客户端和服务端的数据交互 Http的格式规范 请求部分 请求消息行:定义请求类型,请求的地址,http的版本号 请求消息头:定义请求的消息头 请求消息内容实体:消息的内容实体 : zh-CN,zh;q=0.8 Cookie: BAIDUID=BECE0B98C5D5A8EA4C5A93221901CC58:FG=1; BAIDUPSID=BECE0B98C5D5A8EA4C5A93221901CC58 ; BDUSS=l1MmM3MEVEclRYR1RZc1ZJTnBDb2RBUTY1YktTUFc0a2pBYVlHNkxOZDk4N0JVQVFBQUFBJCQAAAAAAAAAAAEAAABoRLMjd2FuZ2Rha2U4ODgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH1miVR9ZolUVm 因此在主线程中调用异步任务时需要设置回调 开发过程中UI控制层访问网络最关心的是什么 UI控制层访问网络的目的是为了获得网络返回数据,UI层最关心返回的数据结果;在java开发中,一切皆有面向对象的思想 如何为UI控制层封装好网络请求 异步 + 回调 + 接口文档规范 http 后台任务 后台任务是处理 及时性不高的任务,不需要耗用太多资源去做网络请求,UI也不是很关心数据返回 通常应用程序只会给到一个线程去处理所有的后台任务
HTTP网络编程 网络接口文档 用来描述客户端和服务端的数据交互 Http的格式规范 请求部分 请求消息行:定义请求类型,请求的地址,http的版本号 请求消息头:定义请求的消息头 请求消息内容实体:消息的内容实体 : zh-CN,zh;q=0.8 Cookie: BAIDUID=BECE0B98C5D5A8EA4C5A93221901CC58:FG=1; BAIDUPSID=BECE0B98C5D5A8EA4C5A93221901CC58 ; BDUSS=l1MmM3MEVEclRYR1RZc1ZJTnBDb2RBUTY1YktTUFc0a2pBYVlHNkxOZDk4N0JVQVFBQUFBJCQAAAAAAAAAAAEAAABoRLMjd2FuZ2Rha2U4ODgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH1miVR9ZolUVm 因此在主线程中调用异步任务时需要设置回调 开发过程中UI控制层访问网络最关心的是什么 UI控制层访问网络的目的是为了获得网络返回数据,UI层最关心返回的数据结果;在java开发中,一切皆有面向对象的思想 如何为UI控制层封装好网络请求 异步 + 回调 + 接口文档规范 http 后台任务 后台任务是处理 及时性不高的任务,不需要耗用太多资源去做网络请求,UI也不是很关心数据返回 通常应用程序只会给到一个线程去处理所有的后台任务
BeautifulSoup4库 和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。 Beautiful Soup 3 目前已经停止开发,推荐现在的项目使用Beautiful Soup 4。 安装和文档: 安装:pip install bs4 中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html 几大解析工具对比 在Python2.7.3之前的版本和Python3中3.2.2之前的版本,必须安装lxml或html5lib, 因为那些Python版本的标准库中内置的HTML解析方法不够稳定. 我们可以利用 soup 加标签名轻松地获取这些标签的内容,这些对象的类型是bs4.element.Tag。但是注意,它查找的是在所有内容中的第一个符合要求的标签。
缺点: 功能单一,没有个性化设置,响应速度相对慢一些. 2.网络通信原理 80年代,固定电话联系,(还没有推广普通话) 1. 两台电话之间一堆物理连接介质连接. 2. 拨号,锁定对方电话的位置. 你必须知道对方的mac地址你才可以以广播的形式发消息.实际上,网络通信中,你只要知道对方的IP与自己的IP即可. 网络层 **IP协议**: 确定局域网(子网)的位置 找到具体软件的位置,上一层的事情 IP协议: ip地址:四段分十进制 192.168.0.12 取值范围 传输层 端口协议:确定软件在计算机的位置 端口协议: UDP协议,TCP协议 65535端口 1~1024操作系统专门使用的端口 举例: 3306 数据库 自己开发软件都是8080以后的端口号 应用层 缓冲区存在如果你的网络波动,保证数据的收发稳定,匀速.
属于网络层协议。 控制消息:是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 (前4个位都是一样的) (2)代码:8位 (3)校验和:16位 以上是三个长度固定的字段,共4字节。 (4)参数: 不同的ICMP类型有不同的参数。 (这4个字节取决于ICMP报文的类型) (5)信息(可变长): 长度也取决于类型。 3.ICMP协议分类 可分为 差错报告报文 和 ICMP询问报文。 4.不同的ICMP类型代表不同意义: (重要考点) 重定向、回声、不可达常考。 (1)类型4(源抑制报文) 堵塞时会发类型4,源抑制报文告诉它降速。 时间戳报文和Traceroute命令有关 (4)类型17/18(地址掩码报文) 类型17:请求。类型18:应答。 总结:ICMP 会和 PING 、Traceroute命令结合。
网络层 1.作用 网络层控制子网的通信,通过路由选择算法为分组通过通信子网选择最适当的传输路径,实现流量控制、拥塞控制与网络互联的功能。 IP是TCP/IP体系中的网络层协议(相当于OSI模型的网络层),同时是整个TCP/IP协议族的核心,也是构成互联网的基础。 (1)版本号:4位. 占4位。 就是IP协议的版本,通信双方的IP协议必须要达到一致,IPv4的版本就是0100。 (2)首部长度(IHL):4位 (5-4-32;20-15-60)占4位,所以首部长度的最大值为1111,15,又因为首部长度代表的单位长度为32个字(也就是4个字节),所以首部长度的最小值就是0101 ,IPv4的首段长度一定是4字节的整数倍,要是不是怎么办呢?
,但由于网络飞速发展,以及过度分类浪费了大量地址,导致IPv4地址池逐渐枯竭 2011年2月,IPv4总地址池彻底枯竭 解决方案-替换还是修补 如果替换IPv4协议,表示网络中所有的系统均需要升级,所有设备也都需要升级或更换 Working Group 制订IPv6规范和标准 IPv6 Operations 为运营IPv4/IPv6共存的Internet和在已有的IPv4网络或者新的网络安装中部署IPv6提供指导 其它IPv6 IPv6共存策略 短时间内IPv4迁移到IPv6是不可能的 在较长一段时间内都要保证二者共存的状态 问题 加快IPv6网络的成熟与稳定 解决IPv4与IPv6网络之间的相互通信问题 三种基类过渡技术 双协议栈 ,则采用IPv4 隧道技术 通过隧道技术,IPv6分组,被作为无结构,无意义的数据封装在IPv4分组中,被IPv4网络传输 同样的,也存在将IPv4分组看作无结构无意义的纯数据封装在IPv6中的情况 适用于第一阶段与第三阶段 ,也就是IPv4或IPv6是孤岛时的通信 翻译转换技术 从IPv4转换到IPv6,或反过来,不仅发生在网络层,还有传输层和应用层。
Py4DS|4 函数和库 内容结构: 1 函数定义、创建和调用 2 库的作用和引入 3 匿名函数 目标管理: 阅读本文后,你可以得到: 1 使用已有的Python库 2 掌握函数的写法和用法 Python丰富的库也提供了功能多样和强大的函数。 1.1 help()函数 我们使用help()来查看帮助信息,有助于我们理解某个函数。 有些内置函数包含在Python库里面,为了使用它们,我们需要先导入Python库。 比方说,常用的math库。 # 02 库 import math print("圆周率的大小:", math.pi) # 或者 from math import pi print("圆周率的大小:", round(pi, 3))
由图可知,IPSec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构。 Exchange,IKE)和用于网络认证及加密的一些算法等。 IPSec规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供访问控制、数据源认证、数据加密等网络安全服务。 (4)安全参数索引SPl:专有32位值,用以区分那些目的IP地址和安全协议类型相同,但算法不同的数据包。 (5)序列号:32位整数,它代表一个单调递增计数器的值。 通常,当用于IPv6时,AH出现在IPv6逐跳路由头之后,IPv6目的选项之前;而用于IPv4时,AH跟随主IPv4头。
虽然两个输出链路都不能精准送到某个同学手中,但是1号链路比2号链路精确,所以优先输出到1号链路 3.IPv4协议 3.1 IP数据报结构 (1)版本:指明协议的版本,IPv4就是4,IPv6就是 6 (2)首部长度:单位是4字节,表示IP报头的长度范围是20~60字节 (3)8位区分服务:实际上只有4位TOS有效,分别是最小延时,最大吞吐量,最高可靠性,最小成本 (4)总长度:报头+数据部分 地址转换为域名(如:www.example.com)来方便人们记忆 域名系统(Domain Name System,DNS)是互联网的一项核心服务,它是一个将IP地址和域名相互映射的分布式层次式数据库, 主要用于缓解IPv4地址短缺的问题,同时提供一定的网络安全性。 -> IPv6过渡 隧道(tunneling):IPv6数据报作为IPv4数据报的载荷进行封装,穿越IPv4网络
IP 地址 IPv4 地址概述 分配给每一台主机(或路由器)的每一个接口 IPv4 地址的编址方法 分类编址 划分子网 无分类编址 32 比特不方便, 采用点分十进制表示方法 image.png 分类编址的 Ipv4 地址 注意事项 只有 A,B,C 类地址可以分配给网络中的主机 主机号全为 0 的是网络地址, 不能分配给主机或者路由器的各个接口 主机号全为 1 的是广播地址, 不能分配给主机或者路由器的各个接口 地址, 那个作为源地址使用, 表示”在本网络上的本主机”, 封装有 DHCP Discovery 报文的 IP 分组源地址使用 0.0.0.0 划分子网的 IPv4 地址 需求 随着网络发展, 主机数目不断增加 IPv4 地址与相应的子网掩码做逻辑与运算就可以得到 IPv4 地址所在的子网的网络地址 image.png 划分子网的细节 image.png 默认的子网掩码是指未划分子网的情况下使用的子网掩码 A: 255.0.0.0 B: 255.255.0.0 C: 255.255.255.0 无分类编址的 IPv4 地址 划分子网一定程度上解决了困, 但是没有充分利用 C 类网, IPv4 面临消耗殆尽的局面
图4-2 判断一张图片是否为汽车 4.2 Neural Model(神经元模型) 神经网络是一种模拟大脑的算法。 图4-8给出了在一个具体的神经网络使用前向传播算法的例子,其中,激活函数是sigmoid函数g(x); ? 假设我们需要识别一张图片是行人,汽车,摩托车,还是卡车,也就是有4种类别。所以我们设计如图4-10所示的神经网络。 由于一共有4类,所以该神经网络有4个输出单元,分别将其标号为1,2,3,4,对应行人,汽车,摩托车,卡车。每次预测输出的是一个4维向量。 图4-11 一个处理4分类问题的神经网络 参考: 《机器学习》 周志华 链接: http://weibo.com/5501429448/DxsgrEmDz?
常用名词 集群 集群通常指使用关系集群数据库HHDB Server所需要搭建的整套架构组件的整体。一般包含计算节点、存储节点、配置库、管理平台、备份程序等。 配置库 配置库主要负责存储计算节点或管理平台相关配置信息,也用于暂存部分复杂查询语句的中间结果集。配置库可通过主从或MGR进行高可用配置。 存储节点 存储节点(Datasource,可以简称为DS)是实际存储业务数据的数据库,一个实例(IP+端口+物理库)即为一个存储节点。 逻辑库 逻辑库(LogicDatabase,可以简称为LDB)指客户端程序连接计算节点服务器后,可以访问的数据库,描述数据库表的集合。逻辑库是产品引申出来的概念,在实际中没有单一具体的实体。 垂直库 逻辑库下的所有表仅关联同一个数据节点的库称为垂直库。 表信息 表信息指在管理平台中定义的用户自身业务的数据库表的配置规则信息,定义的表需要在计算节点数据服务端口创建表结构后才能正常使用。
</if> #{birthday}, #{head} ) </insert> 需要注意 test 中的 sex,是传入对象中的属性,不是数据库字段 = null”> 中的 createTime 是传入对象的属性,不是数据库字段 三、标签 传入的用户对象,根据属性做 where 条件查询,用户对象中属性不为 null 的,都为查询条件。 你可以根据自己的需求和情况,结合使用这些特性来构建更灵活、可维护的数据库操作语句。记得阅读MyBatis的官方文档以深入了解动态SQL的更多用法和细节。
一、基础知识(了解) 背景知识: 如官网描述,dl4j-examples含有丰富的深度学习神经网络应用案例,这是一个为Java和Scala编写的首个商业级开源分布式深度学习库。 e.ND4J:线性代数库,较Numpy快一倍 f.Deeplearning4j包括了分布式、多线程的深度学习框架,以及普通的单线程深度学习框架。 定型过程以集群进行,也就是说,Deeplearning4j可以快速处理大量数据。神经网络可通过[迭代化简]平行定型,与Java、Scala和Clojure均兼容。 代码习得:(初步学习) Deeplearning4j是一种用于配置深度多层神经网络的领域专用语言。首先都需要用MultiLayerConfiguration来设定网络的层及其超参数。 它是在初始词汇构建之后进行了模型权重更新的展示案例,也就是构建好了一个w2v模型后,这个模型还可以训练额外新的语料库,我们可以从这个案例中学到这种方法,但是要注意的是,本次案例中第二次训练没有新词被添加进语料库中
requests库 虽然Python的标准库中 urllib模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests宣传是 “HTTP for Humans requests.get('http://www.baidu.com/') print(resp.cookies) print(resp.cookies.get_dict()) session: 之前使用urllib库, 那么如果使用requests,也要达到共享cookie的目的,那么可以使用requests库给我们提供的session对象。
遵从Reactor模型,简单阅读了下。 来到目录examples/ace/loggin/server.cc server.cc main->LogServer->EventLoop和TcpServer
4 pandas基本功能 4.1-4.5见之前文章 4.6 排名 排名这个功能目前我用的不怎么多,但还是简单说明一下。排名用到了rank方法。 a 4 b 3 d 2 dtype: int64 3、过滤操作——isin方法 mask = series1.isin(['a', 'c']) #过滤操作 print('过滤后的值: \n', series1[mask]) #子集 过滤后的值: 0 a 2 c 4 a 5 c 7 a 9 c 10 a 12 c 某些情况下, 可能要计算DataFrame多个相关列的直方图,使用方法如下: data = pd.DataFrame({'A':[1, 5, 4, 100, 5], 'B' :[4, 100, 3, 2, 1], 'C':[2, 3, 101, 5, 2]}) result = data.apply(pd.value_counts)
UE4 需要在xx.Build.cs中添加动态链接库路径; // Fill out your copyright notice in the Description page of Project Settings