api接口

QTWebkit中的webkit/qt/api文档

那年仲夏 提交于 2020-01-24 22:42:42
QTWebkit中的webkit/qt/api文档 概述 该目录下的文件均以前前缀qweb开头,主要用于支持前端的实现。核心的类为:qwebview、qwebpage、qwebframe等三个类。这三者间的关系由图描述。(注:图来自QTWebkit自带文档) 图1 qwebview,qwebpage,qwebframe三者关系 View是一个逻辑视图,真正的工作分别由page和frame完成。Page负责处理用户action、navigation和text editor等工作;frame则负责绘制工作。从webkit的角度来看,page与frame是一对多的关系,因为一个page下可以有frame tree,但通常是一对一的关系。从构造顺序来看,Page先于frame构造。 类qwebsetting是管理配置信息的,比如主页地址、代理、是否启用javascript、是否显示图片、是否支持插件等。 类详解 类图 QWebView QWebView为QWidget的子类。QWidget是QT平台的PlatformWidget。 QWebView.cpp对类QWebView有较为详细的说明。感兴趣的话,大家可以看看。 QWebView提供了一个widget用于显示和编辑web文档。 QWebView是QtWebKit web browsing模块的主要widget组件。 常用API

深入Gin框架内幕(二)

天大地大妈咪最大 提交于 2020-01-24 20:41:43
在上一篇文章 深入gin框架内幕(一) 中,主要介绍了Gin框架中是如何创建一个HTTP服务以及内部的核心结构和常用的一些结构体方法,并在最后以一个简单的示例来详细讲解Gin框架内部具体是如何运行的,但是在最后我们会发现使用了一个 Context 引用对象的一些方法来返回具体的HTTP响应数据,在本篇文章中,我们将继续学习和分析Gin框架内幕。 在开始分析之前,我们先简单回顾一下上一个章节中讲到的Gin框架中的几个核心的结构. Gin框架中的几个核心结构 Gin框架中的几个重要的模型: Engine : 用来初始化一个 gin 对象实例,在该对象实例中主要包含了一些框架的基础功能,比如日志,中间件设置,路由控制(组),以及handlercontext等相关方法. 源码文件 Router : 用来定义各种路由规则和条件,并通过HTTP服务将具体的路由注册到一个由context实现的handler中 Context: Context 是框架中非常重要的一点,它允许我们在中间件间共享变量,管理整个流程,验证请求的json以及提供一个json的响应体. 通常情况下我们的业务逻辑处理也是在整个Context引用对象中进行实现的. Bind: 在Context中我们已经可以获取到请求的详细信息,比如HTTP请求头和请求体,但是我们需要根据不同的HTTP协议参数来获取相应的格式化

eggjs全栈开发规范

家住魔仙堡 提交于 2020-01-24 17:43:47
eggjs全栈开发规范 编码规范 编码格式与语法 代码注释 函数/方法注释 单行注释 代码分段及缩进 使用空格作为缩进 代码块符号 空白行分隔 命名规则 文件命名 变量与常量命名 函数/方法命名 引号 分号 项目规范 项目生成 安装第三方库 项目运行 项目开发运行 项目部署运行 项目docker运行 项目相关文件说明 extend 配置文件 Middleware Service Controller router.js路由文件 安全配置 Sequelize 安装 启用与配置 model数据模型开发 migrations的使用 操作数据库 Redis 安装 启用与配置 使用方法 Socket.IO 安装 启用与配置 文件格式 Socket.IO路由配置 使用方法 参数校验 安装 启用 使用方法 模板渲染(选用nunjucks) 安装 启用与配置 使用方法 静态文件 Git规范 分支类型 分支命名 开发流程 提交格式 接口自测 软件 操作规范 RESTful API规范 请求协议 请求方法 状态码 成功状态码 错误状态码 服务器错误状态码 自定义状态码 版本号 URL规范 请求体格式 返回体格式 过滤、分页与排序 过滤 排序 分页 请求格式 编码规范 编码格式与语法 项目默认编码格式统一为UTF-8格式,语法采用ES6+语法 代码注释 注释符号后要有一个空格 函数/方法注释 函数

资料搜集-JAVA系统的梳理知识8-JDK8

柔情痞子 提交于 2020-01-23 21:01:37
> 本文由 JavaGuide 翻译,原文地址:https://www.baeldung.com/foreach-java ## 1 概述 在Java 8中引入的*forEach*循环为程序员提供了一种新的,简洁而有趣的迭代集合的方式。 在本文中,我们将看到如何将*forEach*与集合*一起*使用,它采用何种参数以及此循环与增强的*for*循环的不同之处。 ## 2 基础知识 ```Java public interface Collection<E> extends Iterable<E> ``` Collection 接口实现了 Iterable 接口,而 Iterable 接口在 Java 8开始具有一个新的 API: ```java void forEach(Consumer<? super T> action)//对 Iterable的每个元素执行给定的操作,直到所有元素都被处理或动作引发异常。 ``` 使用*forEach*,我们可以迭代一个集合并对每个元素执行给定的操作,就像任何其他*迭代器一样。* 例如,迭代和打印字符串集合*的*for循环版本: ```java for (String name : names) { System.out.println(name); } ``` 我们可以使用*forEach*写这个 : ```java names.forEach

Python编写API接口

旧巷老猫 提交于 2020-01-23 01:23:01
本文转载自: https://www.cnblogs.com/dreamer-fish/p/5512294.html 作者:dreamer-fish 转载请注明该声明。 要求通过http://192.168.50.74/aptest/calc/?a=aa&c=00&b=bb进行访问,参数a="aa",b="bb",c="00" 1.编写url:浏览器会自动将?后面识别为参数。 urlpatterns = [ url(r ' ^calc/$ ' , aptest.calc, name= ' calc ' ), ] 2.编写view: def calc(request): a = request.GET[ ' a ' ] b = request.GET[ ' b ' ] c = request.GET[ ' c ' ] print a,b,c m = a+b+ c return HttpResponse(str(m)) 浏览器返回json类型结果: import json def calc(request): a = request.GET[ ' a ' ] b = request.GET[ ' b ' ] c = request.GET[ ' c ' ] print a,b,c m = a+b+ c n = b+ a rets = { " m " :m, ' n ' :n}

高德APP全链路源码依赖分析工程

徘徊边缘 提交于 2020-01-22 06:04:06
一、背景 高德 App 经过多年的发展,其代码量已达到数百万行级别,支撑了高德地图复杂的业务功能。但与此同时,随着团队的扩张和业务的复杂化,越来越碎片化的代码以及代码之间复杂的依赖关系带来诸多维护性问题,较为突出的问题包括: 不敢轻易修改或下线对外暴露的接口或组件,因为不知道有什么地方对自己有依赖、会受到影响,于是代码变得臃肿,包大小也变得越来越大; 模块在没有变动的情况下,发布到新版本的客户端时,需要全量回归测试整个功能,因为不知道所依赖的模块是否有变动; 难以判断 Native 从业务实现转变为底层支撑的趋势是否合理,治理是否有效; 这些问题已经达到了我们必须开始治理的程度了,而解决此类问题的关键在于需要了解代码间的依赖关系。 二、高德 APP 平台架构 为了消除一些疑惑,在讨论依赖分析的实现前,先简单说明一下高德 APP 的平台架构,以便对一些名词和场景有一些背景了解。 高德 APP 从语言平台上可以分为 4 个部分,JS 层主要负责业务逻辑和 UI 框架;中间有 C++层做高性能渲染(主要是地图渲染),同时实现了一些切面 API,这样可以在双端只维护一套逻辑了;Android 和 iOS 层主要作为适配层,做一些操作系统接口的对接和双端差异化的(尽可能)抹平。 这里的切面是指 JS 层与 Native/C++ 层的分界线,这里会实现一些切面 API,也就是 JS 层与

3. laravel 5.5 多子域名 + dingo + jwt 简单环境搭建

佐手、 提交于 2020-01-21 13:22:46
环境介绍   laravel 5.5.* + php 7.2 + mysql 5.7.27 1. 创建 laravel 项目 (自行 配置一下域名 如果 不会 请参考 laravel 的第一篇文章 )   composer create-project --prefer-dist laravel/laravel=5.5.* laravel-dj 2. 引入 dingo 并 进行 部分 配置 ( dingo 文档 )   更改 compose.json 的 require 文件 "require": { "php": ">=7.0.0", "dingo/api": "2.1.0", "fideloper/proxy": "~3.3", "laravel/framework": "5.5.*", "laravel/tinker": "~1.0" }   使用 compose update 进行更新     composer update   发布 dingo     php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"   添加 部分配置到 .env 文件 API_PREFIX=/ API_STANDARDS_TREE=vnd API_SUBTYPE=dj API

淘宝api的简单调用

随声附和 提交于 2020-01-19 11:50:02
api接口开通 api测试 淘宝开放平台的地址:http://open.taobao.com/doc/detail.htm?id=73 SessionKey、AppKey、AppSecret的名词解释: http://open.taobao.com/doc/detail.htm?spm=0.0.0.0.YangbF&id=162 1、当你注册为淘宝开放平台的用户时,就可以建立一个应用: 2、下面的应用的详细信息 3、淘宝api查询的就是该应用下使用的卖家信息,因为淘宝api主要是给卖家做一些扩展功能的,比如装修店铺等。所以如果你的应用下面没有卖家的话,那么调用淘宝api的话就基本上没有什么返回值咯,卖家怎么使用该应用呢?见下图 4、下面是调用淘宝api的简单代码示例: import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import org.junit.Test; import com.taobao.api.ApiException; import com.taobao.api.DefaultTaobaoClient; import com.taobao.api.TaobaoClient; import com.taobao.api.domain

API接口安全性

纵然是瞬间 提交于 2020-01-19 04:59:53
1. 什么是接口 接口简单来说就是服务器端用来返回给其他程序或者客户端数据的桥梁 2. 接口的作用 根据固定参数返回固定数据 3. API接口保障安全性原则 1.有调用者身份 2.请求的唯一性 3.请求的参数不能被篡改 4.请求的有效时间 4. 接口安全需求 1.最好必须启用HTTPS 2.signature签名 3.token登陆的唯一票据 4.验证时间戳 5.对要求安全性高的接口数据进行加密传输(aes+rsa) 5. signature签名 简而言之,签名设计的原则就是保证服务器所接收到的数据是自己的APP端传过来的,而不是其他人非法调用的,在APP端给签名加密时需要加上特有固定参数,服务器也是加上特有固定参数,从而来保证一对一的传输,每个接口都需要调用该签名验证方法 目的: 为了提高传参过程中,防止参数被恶意修改,在请求接口的时候加上sign可以有效防止参数被篡改 API接口的安全性主要是为了保证数据不会被篡改和重复调用,实现方案主要围绕Token、时间戳和Sign三个机制展开设计。 1. Token授权机制 用户使用用户名密码登录后服务器给客户端返回一个Token(必须要保证唯一,可以结合UUID和本地设备标示),并将Token-UserId以键值对的形式存放在缓存服务器中(我们是使用Redis),并要设置失效时间。服务端接收到请求后进行Token验证

Certificate, Key, and Trust Services

北慕城南 提交于 2020-01-19 01:58:44
Certificate, Key, and Trust Services Concepts Certificate, Key, and Trust Services是一个功能集合和数据结构,用来认证和授权用户和使用keys和certificates过程。因为在OS和iOS中,certificates和keys是存储在一个钥匙链中,大多功能在这个API中,必须使用在结合功能在钥匙链服务API。 Certificate, Key, and Trust Services is a collection of functions and data structures used to authenticate and authorize users and processes using keys and certificates. Because in OS X and iOS, certificates and keys are stored on a keychain, many of the functions in this API must be used in conjunction with functions in the Keychain Services API. 这一章讨论一些概念,来使用Certificate, Key, and Trust Services