optional

python2与python3下的base64模块

℡╲_俬逩灬. 提交于 2020-04-27 19:25:58
Python2的编解码 python2中程序数据类型默认为ASCII,所以需要先将数据解码(decode)成为Unicode类型,然后再编码(encode)成为想要转换的数据类型(gbk,utf-8,gb18030,gb2312),然后再解码成为对应的数据类型显示在屏幕上; Python3的编解码 python3中程序默认数据类型为Unicode,所以直接将数据编码(encode)成为想要转换的数据类型(gbk,utf-8,gb18030,gb2312),然后解码成为对应的数据类型显示在屏幕上。 base64 Base64编码是一种“防君子不防小人”的编码方式。广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符。 因此对于python2来说,编解码相对要容易一些。python3因为要从Unicode转换一下,相对麻烦一些。一切见下例: Python2 1 def b64encode(s, altchars= None): 2 """ Encode a string using Base64. 3 4 s is the string to encode. Optional altchars must be a string of at least 5 length 2 (additional characters are

物联网时代 跟着Thingsboard学IOT架构-CoAP设备协议

末鹿安然 提交于 2020-04-27 10:03:02
thingsboard官网: https://thingsboard.io/ thingsboard GitHub : https://github.com/thingsboard/thingsboard thingsboard提供的体验地址: http://demo.thingsboard.io/ BY Thingsboard team 以下内容是在原文基础上演绎的译文。除非另行注明,页面上所有内容采用知识共享-署名( CC BY 2.5 AU )协议共享。 原文地址: ThingsBoard API参考: CoAP设备API CoAP 协议介绍 CoAP是一种在物联网世界的类web协议,它的详细规范定义在 RFC 7252 。COAP名字翻译来就是“受限应用协议”,顾名思义,使用在资源受限的物联网设备上。物联网设备的ram,rom都通常非常小,运行TCP和HTTP是不可以接受的。 协议特点 CoAP协议网络传输层由TCP改为UDP。 它基于REST,server的资源地址和互联网一样也有类似url的格式,客户端同样有POST,GET,PUT,DELETE方法来访问server,对HTTP做了简化。 COAP是二进制格式的,HTTP是文本格式的,COAP比HTTP更加紧凑。 轻量化,COAP最小长度仅仅4B,一个HTTP的头都几十个B了。 支持可靠传输,数据重传,块传输。

cocos creator基础-(十一)spine骨骼动画组件使用

不打扰是莪最后的温柔 提交于 2020-04-27 08:38:54
1: 掌握sp.Skeleton组件的使用; spine骨骼动画工具 1: 骨骼动画: 把动画打散, 通过工具,调骨骼的运动等来形成动画 2: spine是一个非常流行的2D骨骼动画制作工具 3: spine 动画美术人员导出3个文件:   (1) .png文件:动画的”骨骼”的图片集;   (2).atlas文件: 每个骨骼在图片集里面位置,大小;   (3).json文件: 骨骼动画的anim控制文件,以及骨骼位置等信息; 4: 骨骼动画导入: 直接把三个文件拷贝到项目的资源目录下即可; 5: 使用骨骼动画:   (1) 直接拖动到场景;   (2) 创建一个节点来添加sp.Skeleton组件; sp.Skeleton 1: sp.Skeleton: 控制面板属性:   Skeleton Data: 骨骼的控制文件.json文件;   Default Skin: 默认皮肤;   Animation: 正在播放的动画;   Loop: 是否循环播放;   Premuliplied Alpha 是否使用贴图预乘;   TimeScale: 播放动画的时间比例系数;   Debug Slots: 是否显示 Slots的调试信息;   Debug Bone: 是否显示Bone的调试信息; 2: sp.Skeleton重要的方法: Skeleton是以管道的模式来播放动画

cocos creator学习--骨骼动画入门教程

*爱你&永不变心* 提交于 2020-04-27 07:07:31
参考: Mark_Liu -- cocos creator--DragonBones 骨骼动画入门 1.首先在网上下载dragonBones 的文件解压后有三个文件      2.将文件夹放入cocos creator,      3.新建一个空结点并添加渲染组件dragonBones,新建一个js文件,将js文件和节点绑定。将资源的两个json文件放入dragonBones对应的框中      4.查看SwordsMan的json文件,搜索 gotoAndPlay ,该关键字对应的就是动作名称   5.打开js文件,写入代码    cc.Class({ extends: cc.Component, properties: { // foo: { // default: null, // The default value will be used only when the component attaching // to a node for the first time // url: cc.Texture2D, // optional, default is typeof default // serializable: true, // optional, default is true // visible: true, // optional, default is

springboot通过maven下载依赖失败解决

醉酒当歌 提交于 2020-04-27 05:23:23
公司直接用不了内网遇到的好的坑。导入网上的springboot项目的启动入口一致有报错,如:Cannot resolve symbol 'SpringApplication' maven配置设置都做了还是不行,但是idea下载依赖包没有过程,看到repository中也没有架包,经过一系列判断找到maven的setting.xml文件要配置代理(一直以为是intellij idea里面配置),还有就是pom.xml文件需要的依赖jar如果没有下载成功会被intellij idea标红的。(开源项目:https://github.com/HeyJC/QRCodeLogin) 解决方法: 到的maven的安装目录,修改conf/settings.xml < proxies > <!-- proxy | Specification for one proxy, to be used in connecting to the network. | <proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>proxyuser</username> <password>proxypass</password> <host>proxy.host.net</host> <port>80<

Scrapy笔记12- 抓取动态网站

ぃ、小莉子 提交于 2020-04-27 04:29:13
Scrapy笔记12- 抓取动态网站 前面我们介绍的都是去抓取静态的网站页面,也就是说我们打开某个链接,它的内容全部呈现出来。 但是如今的互联网大部分的web页面都是动态的,经常逛的网站例如京东、淘宝等,商品列表都是js,并有Ajax渲染, 下载某个链接得到的页面里面含有异步加载的内容,这样再使用之前的方式我们根本获取不到异步加载的这些网页内容。 使用Javascript渲染和处理网页是种非常常见的做法,如何处理一个大量使用Javascript的页面是Scrapy爬虫开发中一个常见的问题, 这篇文章将说明如何在Scrapy爬虫中使用 scrapy-splash 来处理页面中得Javascript。 scrapy-splash简介 scrapy-splash利用 Splash 将javascript和Scrapy集成起来,使得Scrapy可以抓取动态网页。 Splash是一个javascript渲染服务,是实现了HTTP API的轻量级浏览器,底层基于Twisted和QT框架,Python语言编写。所以首先你得安装Splash实例 安装docker 官网建议使用docker容器安装方式Splash。那么首先你得先安装docker 参考 官方安装文档 ,这里我选择Ubuntu 12.04 LTS版本安装 升级内核版本,docker需要3.13内核 $ sudo apt- get

webapi框架搭建-依赖注入之autofac

≯℡__Kan透↙ 提交于 2020-04-27 02:33:08
webapi框架搭建系列博客 前言   c#的依赖注入框架有unity、autofac,两个博主都用过,感觉unity比较简单而autofac的功能相对更丰富(自然也更复杂一点),本篇将基于前几篇已经创建好的webapi项目,引入autofac功能。   前面我们已经搭建好webapi,并用了owin技术。这篇的autofac也将基于这两种技术进行开发。 步骤 引入包 共三个nuget包:Autofac.WebApi2,Autofac.Owin, Autofac.WebApi2.Owin autofac注册组件 using System.Reflection; using Autofac; using Autofac.Integration.WebApi; using webapi.example; namespace webapi.AutoFac { public static class ContainerBuilerCommon { public static IContainer GetWebApiContainer() { var builder = new ContainerBuilder();        // 注册webapi的所有控制器 builder.RegisterApiControllers(Assembly.GetExecutingAssembly())

Intellij IDEA 4种配置热部署的方法【转】【补】

拈花ヽ惹草 提交于 2020-04-27 02:25:12
热加载 热加载可以使代码修改后无须重启服务器,就可以加载更改的代码。(其实分java和非java代码,本处可以让java代码立即生效且不重启服务) 第1种:修改服务器配置,使得IDEA窗口失去焦点时,更新类和资源 菜单Run -> EditConfiguration , 然后配置指定服务器下,右侧server标签下on frame deactivation = Update classes and resource。 优点:简单 缺点:基于JVM提供的热加载仅支持方法块内代码修改,只有debug模式下,并且是在idea失去焦点时才会出发热加载 热部署 热部署修改代码后,需要重启服务器,才能加载更改的java代码。(本处,可以让java代码和非java代码,都生效,但必须重启服务) 第2种:使用springloaded.jar包 a. 下载jar包,github: https://github.com/spring-projects/spring-loaded b. 启动应用时添加VM启动参数:-javaagent:/home/lkqm/.m2/repository/org/springframework/springloaded/1.2.7.RELEASE/springloaded-1.2.7.RELEASE.jar -noverify 优点:对Spring系列框架支持好

protobuf--数据序列化及反序列化

北慕城南 提交于 2020-04-26 23:36:30
ProtoBuf 是一种灵活高效的独立于语言平台的 结构化数据表示方法 ,可用于表示通信协议和数据存储等各方面,与 XML 相比, ProtoBuF 更小更快更简单。你可以用定义自己 ProtoBuf 的数据结构,用 ProtoBuf 编译器生成特定语言的源代码,(如 C++ , Java , Python 等,目前 ProtoBuf 对主流的编程语言都提供了支持)方便的进行序列化和反序列化。 protobuf 是 google 旗下的一款平台无关,语言无关,可扩展的序列化结构数据格式。所以很适合用做数据存储和作为不同应用, 不同语言之间相互通信的数据交换格式,只要实现相同的协议格式即同一 proto 文件被编译成不同的语言版本,加入到各自的工程中去。 这样不同语言就可以解析其他语言通过 protobuf 序列化的数据。目前官网提供了 C++ 、 Python 、 JAVA 、 GO 等语言的支持。 1. ProtoBuf 安装 protobuf 包含两部分,一个是 protobuf 编译器,用于解析编译 .proto 文件为 .pb.cc 和 .pb.h 文件,另一部分是 protobuf runtime 。不同编程语言有不同的 runtime ,主流语言基本都支持,如 C++ , Java , Python , Go 等。 1.1 protoc 安装 可直接从 https:/

20200114 python3.8下载及安装

家住魔仙堡 提交于 2020-04-26 19:49:34
操作系统: Windows7 64bit Python版本: 3.8 下载地址: https: //www.python.org/downloads/release/python-380/ , 选择下方的 Windows x86-64 executable installer 安装步骤: 双击安装文件python-3.8.0-amd64.exe 勾选下方“Add Python 3.8 to PATH” , 并选择“Customize installation” 把Optional Features全部勾选上 , 点击“Next" Advanced Options勾选2/3/4项 , 然后选择安装路径 , 点击”Install“ , 等待安装完成 页面出现Successful字样 , 说明安装成功。 按win+R , 输入”cmd“ , 回车 , 输入”python“ , 如果能如下正常回显 , 则成功。 在下方光标输入“print(‘Hello World!') , 回车 , 就算成功输出第一个Python程序了。 如果Step1中未勾选下面的Add Python3.8 to PATH,安装成功后就需要配置环境变量。 因此通过我的电脑 - 属性 - 高级设置 - 环境变量 - 编辑Path - 新建(Win10)/直接添加路径,路径以分号隔开(Win7)。因为我安装过程中勾选了