用户接口

大话接口隐私与安全

安稳与你 提交于 2020-04-07 10:29:37
作为后端程序猿自己写的 接口 就像自己的 孩子 一样,尽然制造出来了,那就要对他以后的人生负责到底; 随着业务的壮大,需要支撑业务接口也越来越多,使用的用户量变大,虎视眈眈的黑客们视机而动,总是在业务中寻找着可以窃取他人利益的入口,所以我们应该多考虑安全性问题,防范于未然。 场景 服务端程序猿根据需求开发出业务相关的接口,用来满足需求中用户和服务器交互的功能,提供给前端或者客户端(PC端软件,APP端应用)使用, 大部分程序猿在开发接口的时候就仅仅去考虑如何实现业务上的逻辑功能,而往往很少会去考虑接口的安全性问题, 一般服务端提供的接口都是http/https协议的,通过Fiddler,Wireshark,Charles等抓包工具,可以抓取到请求,然后进行分析,模拟请求,进行并发请求,或者修改信息的攻击。 例子: 问题1. 接口暴露用户隐私信息就相当于在光天化日下裸奔,被看光了 描述:程序猿在做业务接口的时候往往没有保护用户隐私的意识,把用户的隐私信息暴露在外面,一旦被人利用起来会给用户带来麻烦,同时被发现会降低平台的信任度; 防: 用户隐私数据加密,加*号,如用户的相关数据的JSON中有用户手机号,用户邮箱,支付账号,邮寄地址等隐私数据; 用户请求接口时需要对其隐私参数加密:如用户登陆请求登陆接口,需要将用户密码进行可逆加密,以免接口被恶意代理捕捉请求后获取明文密码;

微信应用js-sdk自定义分享图文

大兔子大兔子 提交于 2020-04-06 08:46:03
之前写过步骤 但是代码很少 这里奉献上我自己写的代码 我是用js做的 先奉上js部分的代码 <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>众悦学车无忧险 免费申领</title> <meta name="description" content="李才桃"> <meta name="keywords" content="李才桃"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="renderer" content="webkit"> <meta http-equiv="Cache-Control" content="no-siteapp" /> <link rel="icon" type="image/png" href="assets/i/favicon.png"> <link rel="stylesheet" href="assets/css/amazeui.min.css"> <link href="css/app.css" rel="stylesheet"

CTP接口

瘦欲@ 提交于 2020-04-06 07:03:59
【前言】对上海期货交易平台CTP接口的一个学习总结.(参考vn.py官方文档) 一、引言   目前本人所在的公司一共有三款平台,分别基于C++, C#和Python。其中C#和Python平台都是由交易员开发;C++平台则是由专职IT团队作为一个通用平台开发,内部组件进行了封装(交易员不可见),对外提供行情、交易的API用于策略开发(除了C++ 外也包括C#和Python可用的API)。 用C++ 开发的交易系统:    理论上这款C++平台应该是最为稳定和强大的,由专业人士设计,同时采用封装核心,暴露API,支持组件模块开发,linux服务器运行的形式。   但是在实际运用中,交易团队表达了一个强烈的观点:这个平台实在是太难用了! 由IT团队设计的API功能非常强大,但是也太过繁琐,导致学习曲线极为陡峭。 为了追求速度,没有设计原生GUI(本来就为了在Linux服务器上跑),但是今天绝大多数的非超高频(追求微秒级延迟的那种)交易策略, 几乎都需要有人实时监控 ,你总不能让交易员盯着个linux shell上不断print出来的内容或者盘中去翻日志吧,这个运维风险就扛不起。尽管可以作为插件的形式开发GUI,但C++本身的GUI开发还是较为复杂的,非专业IT很难搞的定。 交易员团队的需求变化很快,通常等不及IT去排班开发,最好是今天收盘有个点子,明天开盘就能开始接实盘数据验证

计算机基础

亡梦爱人 提交于 2020-04-06 00:32:10
一、为何要学习计算机基础?       Python是一门编程语言,即通俗一点说就是语言。     程序用编程语言来写程序,最终开发的结果就是一个软件。 操作系统 是出现在硬件之上的,是用来 控制硬件的。 所以,我们开发时只需要 调用操作系统为我们提供的简单的接口 就可以了。    如上图所示,我把计算机的系统分为了上面三大块。 硬件,操作系统,应用程序 。 二、计算机硬件介绍 1. 硬件 的目的:为了运行软件给它的一些指令。我们可以优先从硬件中提取出这三个主要的东西,分别是: CPU,内存,硬盘 在计算机中,用来计算的是什么呢?当然是 CPU 了。多数CPU都有两种模式,即内核态与用户态。这里的即内核态与用户态将会在下面的内容中讲到。     CPU是人的大脑,负责运算        内存是人的记忆,负责临时存储        硬盘是人的笔记本,负责永久存储        输入设备是人的耳朵或眼睛,负责接受外部的信息传给CPU        以上所有的设备都通过总线连接,总线相当于人的神经 总线示意图 三、处理器(寄存器及内核态与用户态切换)     1.计算机的大脑是CPU,它从内存中取指令-▶解码-▶执行,然后在取指令,解码,执行,周而复始,直至整个程序被执行完成。    2. 寄存器是一个存储设备, 最快的一种存储设备 就是寄存器。 3.寄存器的分类      

iOS开发:后台运行以及保持程序在后台长时间运行

拟墨画扇 提交于 2020-04-06 00:31:44
第一部分 1.先说说iOS 应用程序5个状态: 停止运行-应用程序已经终止,或者还未启动。 不活动-应用程序处于前台但不再接收事件(例如,用户在app处于活动时锁住了设备)。 活动-app处于“使用中”的状态。 后台-app不再屏幕上显示,但它仍然执行代码。 挂起-app仍然驻留内存但不再执行代码。 按下Home键时,app从活动状态转入后台,绝大部分app通常在几秒内就从后台变成了挂起。 在内存吃紧的时候,iphone会首先关闭那些挂起的app。 从 iOS 4 开始,应用就可以在退到后台后,继续运行一小段时间(10 分钟); 2.还可以把自己声明为需要在后台运行,就能不限时地运行了。 不过限制为播放音乐、使用 GPS 、voip、。 值得一提的是,有的应用为了达到后台不限时运行的目的,在后台播放无声的音乐(审核不一定会被发现)。 iOS 5 开始又多了一种类型:下载报刊杂志。 然后 iOS 7 则可以下载各种玩意和定时抓取。 iOS 7 需要注意的区别:iOS 7 以前,应用进入后台继续运行时,如果用户锁屏了,那么 iOS 会等待应用运行完,才进入睡眠状态。而在 iOS 7 上,系统会很快进入睡眠状态,那些后台应用也就暂停了。如果收到事件被唤醒(例如定时事件、推送、位置更新等),后台应用才能继续运行一会。因为处理过程变成了断断续续的,因此下载时也要使用 NSURLSession

[5分钟]菜鸟修研之设计模式:六大设计原则

浪尽此生 提交于 2020-04-04 14:10:22
[5分钟]菜鸟修研之设计模式:六大设计原则 目录 [5分钟]菜鸟修研之设计模式:六大设计原则 单一职责原则 接口隔离原则 开闭原则 里氏替换原则 依赖倒置原则 迪米特法则 笔者作为一个菜鸟,会尝试以简单的代码和容易理解的语句去解释这几种原则的特性和应用场景。 这六种原则分别为单一职责原则、接口隔离原则、里氏替换原则、迪米特法则、依赖倒置原则、开闭原则。 单一职责原则 单一职责原则(SRP:Single responsibility principle),规定一个类中应该只有一个原因引起类的变化。 单一职责原则的核心就是 解耦和增强内聚性 。 问题: // 假设此类是数据库上下文 public class DatabaseContext { } public class Test { private readonly DatabaseContext _context; public Test(DatabaseContext context) { _context = context; } // 用户登录 public void UserLogin() { } // 用户注销 public void UserLogout() { } // 新增一个用户 public void AddUser() { } // 修改一个用户的信息 public void UpdateUser() { }

ML平台_小米深度学习平台的架构与实践

让人想犯罪 __ 提交于 2020-04-03 22:12:18
( 转载: http://www.36dsj.com/archives/85383 )机器学习与人工智能,相信大家已经耳熟能详,随着 大规模标记数据的积累 、 神经网络算法的成熟 以及 高性能通用GPU的推广 ,深度学习逐渐成为计算机专家以及大数据科学家的研究重点。近年来,无论是 图像的分类 、 识别和检测 ,还是 语音生成、自然语言处理 ,甚至是AI下围棋或者打游戏都基于深度学习有了很大的突破。而随着 TensorFlow、Caffe 等开源框架的发展,深度学习的门槛变得越来越低,甚至初中生都可以轻易实现一个图像分类或者自动驾驶的神经网络模型,但目前最前沿的成果主要还是出自Google、微软等巨头企业。 Google不仅拥有优秀的人才储备和大数据资源,其得天独厚的基础架构也极大推动了AI业务的发展,得益于内部的 大规模集群调度系统Borg ,开发者可以快速申请大量GPU资源进行模型训练和上线模型服务,并且 通过资源共享和自动调度保证整体资源利用率也很高 。Google开源了TensorFlow深度学习框架,让开发者可以在本地轻易地组合MLP、CNN和RNN等模块实现复杂的神经网络模型, 但TensorFlow只是一个数值计算库,并不能解决资源隔离、任务调度等问题,将深度学习框架集成到基于云计算的基础架构上将是下一个关键任务 。 除了Google、微软,国内的百度也

疫情环境下的网络学习笔记 python 4.2

混江龙づ霸主 提交于 2020-04-02 20:25:16
4.2 ATM + 购物车工程 准备 readme.md:项目的说明书 项目需求 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 支持多账户登录 支持账户间转账 记录每月日常消费流水 提供还款接口 ATM记录操作日志 提供管理接口,包括添加账户、用户额度,冻结账户等。。。 用户认证用装饰器xxxxxxxxxx 一个项目如何从无到有 需求分析 拿到项目会先在客户那里一起讨论需求,商量项目的功能能否实现,周期与价格,得到一个需求文档 公司内部开一个会,最终得到一个开发文档,交给不同岗位的程序员开发 不同的岗位: UI:设计软件的布局,会将软件的外观切成一张张图片 前端:根据拿到的图片去搭建网页界面,设计一些页面中,哪些位置需要接收数据,需要进行数据交互 后端:直接核心的业务逻辑,调度数据库进行数据的增删改查 测试:给代码进行全面测试,比如压力测试,界面测试 运维:搭建项 程序的架构设计 程序设计的好处 思路清晰 不会出现写一半代码时推翻重写 方便自己或以后的同事维护 分层 用户视图层 用于与用户进行交互,接收用户输入的数据,交给接口层进行处理,接口层最终会将一个结果返回给视图层,展示给用户看 登陆功能:显示提示信息,接收输入 逻辑接口层 相当于用户视图层与数据处理层的桥梁,专门负责接收用户视图层传过来的数据,并进行核心的逻辑校验

python学习之项目的三层结构

試著忘記壹切 提交于 2020-04-02 20:23:46
1、三层架构 1.1 用户视图层 用于与用户交互的,可以接受用户的输入,打印接口返回的数据。 1.2 逻辑接口层 接受 用户视图层 传递过来的参数,根据逻辑判断调用数据层加以处理, 并返回一个结果给用户视图层。 1.3 数据处理层 接受接口层传递过来的参数,做数据处理的 。 1)保存数据 save() 2)查看数据 select() 3)更新数据 4)删除数据 来源: https://www.cnblogs.com/leilijian/p/12622589.html

前端干货之JS最佳实践

岁酱吖の 提交于 2020-03-30 10:22:54
持续更新地址 https://wdd.js.org/js-best-pr... 1. 风格 一千个读者有一千个哈姆雷特 ,每个人都有自己的code style。我也曾为了要不要加分号给同事闹个脸红脖子粗,实际上有必要吗? 其实JavaScript已经有了比较流行的几个风格 JavaScript Standard Style Google JavaScript Style Guide Airbnb JavaScript Style Guide 我自己使用的是 JavaScript Standard Style , 我之所以使用这个,是因为它有一些工具。可以让你写完代码后,一旦保存,就自动帮你把你的风格的代码修正成标准分割,而不是死记硬背应该怎么写。看完这个页面,你就应该立马爱上 JavaScript Standard Style , 如果你用vscode, 恰好你有写vue, 你想在.vue文件中使用standard风格,那么你需要看看 这篇文章 2. 可维护性 很多时候,我们不是从零开始,开发新代码。而是去维护别人的代码,以他人的工作成果为基础。确保自己的代码可维护,是赠人玫瑰,手留余香的好事。一方面让别人看的舒服,另一方面也防止自己长时间没看过自己的代码,自己都难以理解。 2.1. 什么是可维护代码 可维护的代码的一些特征 可理解 易于理解代码的用途 可适应 数据的变化