Amp

封装php的RabbitMq

℡╲_俬逩灬. 提交于 2020-08-14 13:00:54
简单封装了一个rabbitmq类(业务代码随便写的) 首先是账号密码配置 config.php <?php return $arr = [ 'RabbitMq' => [ // Rabbitmq 服务地址 'host' => '127.0.0.1', // Rabbitmq 服务端口 'port' => '5672', // Rabbitmq 帐号 'login' => 'guest', // Rabbitmq 密码 'password' => 'guest', 'vhost'=>'/' ] ]; 基类 base.php <?php include dirname(__FILE__).'/object.php'; include dirname(__FILE__).'/config.php'; class RabbitMq implements object { //保存类实例的静态成员变量 static private $_instance; static private $_conn; static private $amp ; static private $route = 'key_1'; static private $q ; static private $ex ; static private $queue; public static function

shiro验证流程

和自甴很熟 提交于 2020-08-14 12:47:45
shiro验证流程 @Author:zxw @school:吉首大学 1. 前言 最近开发项目的时候,连续两个项目使用的都是shiro权限验证框架,虽然以前使用过该框架并且也做过项目不过并没有了解底层的执行原理,懵懵懂懂的了解在接手现在这个项目的时候,使用的方式与之间大为不同,所以决定先花点时间了解shiro的执行流程以便更方便弄懂项目。 2. 业务流程 首先看看登录代码 // 一个简单的认证对象 UsernamePasswordToken token = new UsernamePasswordToken ( username , password , rememberMe ); Subject subject = SecurityUtils . getSubject (); subject . login ( token ); 看看login()方法里面具体做了什么,有Subject的实现类 DelegatingSubject 实现 public void login ( AuthenticationToken token ) throws AuthenticationException { clearRunAsIdentitiesInternal (); // 构造一个已认证的subject实例 Subject subject = securityManager .

Windows驱动_WFP之四WFP代码基本流程的剖析

六月ゝ 毕业季﹏ 提交于 2020-08-14 10:31:28
总说程序员是孤独的,因为,大部分的时间都在和机器打交道。大部分的时间都在自言自语。我的内心需要足够的强大。这种强大时建立的自信的基础上的。而自信又是建立在实力基础上的。实力又是建立在积累的基础上。积累又是建立在时间的基础上。所以归根结底,就是,需要花费更多的时间。第二,需要有足够的兴趣爱好。这两点对于现在的我来说,都有。既然,自己选择了这条路,就应该义无反顾的走下去,坚持的走下去。孤独,我不怕,困难,我也不怕,永远向上的动力,爱好,对知识的渴望,支持者我。相信自己,相信明天。 今天实际看一下,WFP的Callout驱动的代码。先从DriverEntry开始: 1,在DriverEntry需要创建驱动对象和设备对象, 1.1 由于不是PNP设备,需要设置创建驱动对象的标志为config.DriverInitFlags |= WdfDriverInitNonPnpDriver. 1.2 调用WdfDriverCreate创建驱动对象。 1.3 调用WdfControlDeviceInitAllocate通过驱动对象创建 WDFDEVICE_INIT结构体。 1.4 调用WdfDeviceInitSetDeviceType设置设备类型为FILE_DEVICE_NETWORK. 1.5 调用WdfDeviceInitSetCharacteristics设置设备的特性为FILE_DEVICE

Binder相关

守給你的承諾、 提交于 2020-08-14 10:22:41
Binder分析 需了解C/S还有管理这些的ServiceManager。 简单来讲你(client)有个包裹(parcel)让快递员(proxy)送到公司(server),   公司(server)接到包裹(parcel)后检查是否是自己的,是的话解开包裹,找相应的部门(corresponding method)处理。然后告诉你(client)。 ProcessState一个进程只能有一个。 首先打开/dev/binder设备,可以与binder交互了。 Fd使用mmap使binder分配一块内存来接收。 getContextObject函数返回一个IBinder指针。 BpBinder与BBBinder BpBinder是client端创建的用于消息发送的代理,而BBinder是server端用于接收消息的通道。 IServiceManager中调用asInerface的时候回创建BpBinder。 这两个类都是有IBinder派生出来的。 BpBinder是客户端用来与Server交互的代理类,p即为Proxy的意思。 BBinder是与proxy相对的一端,如果说Bpbinder代表客户端BBinder则是服务端。 BpBinder与BBinder 是一一对应的。Binder系统通过handler来表示对应的BBinder。 BnServicexxx是由BBinder派生

C++左值引用与右值引用

感情迁移 提交于 2020-08-14 09:22:49
本文翻译自: https://docs.microsoft.com/en-us/cpp/cpp/references-cpp?view=vs-2019   引用,类似于指针,用于存储一个位于内存某处的对象的地址。与指针不同的是,引用在被初始化后不能再指向另一个对象,或设置为null。引用分为两种:左值引用,右值引用,其中左值引用指向一个命名的变量,右值引用指向一个临时对象(temporary object)。操作符&表示左值引用,而&&根据其上下文的不同可表示右值引用或a universal reference。   注:universal reference: https://isocpp.org/blog/2012/11/universal-references-in-c11-scott-meyers 左值引用 作用:持有一个对象的地址,但是其行为类似于一个对象   格式:type-id & cast-expression   我们可以将左值引用看为一个对象的别名。左值引用的声明包含一个可选的说明符列表,后面跟一个引用声明符。左值引用必须被初始化,且不能再指向另外一个对象或设置为null。   任何可以将其地址转换为一个指定类型指针的对象也可将其地址转换为一个类似的引用对象。例如,任何可以转换为char*的对象的地址也可以转换为char &。   注意不要将引用声明符(&

【融职培训】Web前端学习 第11章 微信开发5 微信支付

家住魔仙堡 提交于 2020-08-14 09:20:18
一、概述 如果需要实现微信支付功能,需要有一个已认证的微信服务号,并且开通微信支付,开通后微信会提供一个商户ID。有了这个ID才能成功调用微信支付接口。 开通微信支付后,需要在微信支付后台【产品中心】=>【开发配置】中配置【JSAPI支付授权目录】和【Native支付回调链接】,如下图所示: 微信支付可以分为两种情况,微信浏览器之外的扫码支付(需要配置Native支付回调链接,支付完成后,微信服务器会调用这个链接,并传入参数。)和微信浏览器之内直接支付(需要配置JSAPI支付授权目录,只有这个域名下的链接才能调用支付接口)。两种支付都需要调用【统一下单接口】。所以本节针对统一下单接口来分别讲解如何实现这两种支付方法。 一、统一下单接口 通过调用下面的统一下单接口,就可以实现微信支付功能。 https: // api.mch.weixin.qq.com/pay/unifiedorder 统一下单接口需要传入的参数包括如下内容(以下为必填项),并且参数要为xml格式: appid:公众号id body:商品描述 mch_id:商户号id nonce_str:随机字符串 notify_url:异步接收微信支付结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。 openid:用户标识 out_trade_no:商户订单号 spbill_create_ip:终端IP

【融职培训】Web前端学习 第9章 教务管理系统开发7 项目发布

て烟熏妆下的殇ゞ 提交于 2020-08-14 09:18:48
一、服务器与域名 如果希望把自己的web项目发布到公网,需要有自己的域名和服务器。【腾讯云】【阿里云】这些厂商给我提供了完善的服务器部署需求,我们可以直接在【腾讯云】【阿里云】官网购买域名和服务器即可。 1.在XX云上面购买服务器 2.下载 Xshell 软件连接到服务器 主机填写网站的公网(打开网站的控制台可以查看) 用户名密码填写购买服务器时的用户名密码 3.在Xshell软件命令行输入以下代码下载Linux宝塔面板,下载完成后会给出宝塔网址和账号密码(此过程可能需要几分钟) yum install -y wget && wget -O install.sh http: // download.bt.cn/install/install_6.0.sh && sh install.sh 4.这时候我们可以先购买一个域名,域名解析,解析地址就是服务器的公网地 (域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。) 5.打开给出的网址输入账号密码进入管理页面,添加一个网站和数据库 域名填写自己刚才购买的域名 6.这个时候我们在浏览器打开域名会有一个默认的站点创建成功页面 二、服务器部署

深度前馈网络

左心房为你撑大大i 提交于 2020-08-14 09:17:35
本文首发自公众号: RAIS ,点击直接关注,公式格式错误请点击原文查看。 前言 本系列文章为《Deep Learning》读书笔记,可以参看原书一起阅读,效果更佳。从本文开始将继续学习本书的第二部分,将从第一部分介绍深度学习所需要的基础知识过渡到构建深度网络,是理论的应用与提高。 深度前馈网络 也叫 多层感知机 或者是 前馈神经网络 ,是典型的深度学习模型。这种模型是一种前向的映射模型,由最初的输入,经过函数 f 映射到结果 y,模型的输出和模型本身没有反馈(有反馈的称作循环神经网络)。这里网络的概念是一种有向无环图,最简单的是链式连接,输入的 x 经过 f1 再经过 f2 再经过 f3,最后的到结果 y。引入层的概念,如 f2 就是一层,f3 为输出层,训练数据给出了 x 和 y,却没有定义其中中间层的输入和输出,因此中间层也被称为隐藏层。 线性模型分为逻辑回归(分类问题)和线性回归(连续值预测问题),可以高效可靠的拟合,但问题是其能力距现在了线性函数范围内,无法理解输入变量间的相互作用,因此我们考虑将输入 x,先做非线性变换 φ(x),然后线性函数作用在 φ(x) 上。这里涉及到的问题是 φ(x) 如何选择: 通用的 φ,有足够高的维数,则可以将输入与输出很好的拟合,问题是泛化往往很不好。 手动设计 φ,专家去设计算法,手动编码 φ,问题是这是针对特定问题进行的算法设计

Mybatis源码之美:2.12.解析`environments`元素,完成`Mybatis`中的多环境配置

亡梦爱人 提交于 2020-08-14 08:57:55
解析 environments 元素,完成 Mybatis 中的多环境配置 在完成枯燥的基于 settings 配置 Configuration 对象的过程之后,就到了解析 environments 标签,配置 Mybatis 的多环境的过程了。 Mybatis 默认是支持多环境配置的,在 Mybatis 中有一个 Environment 的对象,该对象有三个简单的参数: /** * Mybatis环境容器 * * @author Clinton Begin */ public final class Environment { // 环境唯一标志 private final String id; // 事务工厂 private final TransactionFactory transactionFactory; // 数据源 private final DataSource dataSource; } 其中 id 是当前环境的唯一标志,属于语义化属性。 transactionFactory 属性对应的是 TransactionFactory 对象,他是一个事务创建工厂,用于创建 Transaction 对象。 Transaction 对象包装了JDBC的 Connection ,用于处理数据库链接的生命周期,包括链接的:创建,提交/回滚和关闭。 dataSource

【华为云技术分享】LwM2M协议的学习与分享

给你一囗甜甜゛ 提交于 2020-08-14 08:23:50
【摘要】 本文主要对于LwM2M协议进行了简单的介绍,包括协议的体系架构以及特性、对象、资源、接口的定义等,希望对你有所帮助。 1协议简介 LwM2M(Lightweight Machine-To-Machine)协议是由OMA提出并定义的一个适用于资源有限的终端设备的轻量级物联网协议,可以用于快速部署客户端、服务器模式的物联网业务。LwM2M为物联网设备的管理和应用建立了一套标准,它提供了轻便小巧的安全通信接口及高效的数据模型,以实现M2M设备管理和服务支持。 2 协议特性 1) 基于资源模型的简单对象 2) 资源操作:创建/检索/更新/删除/属性配置 3) 资源的观察/通知 4) 支持的数据格式:TLV/JSON/Plain Text/Opaque 5) 传输层协议:UDP/SMS 6) 安全协议:DTLS 7) NAT/防火墙应对方案: Queue模式 8) 支持多LwM2M Server 9) 基本的M2M功能:LwM2M Server,访问控制,设备,网络连接监测,固件更新,位置和定位服务,统计 3 体系架构 4 对象定义 首先对象是逻辑上用于特定目的的一组资源的集合。在使用对象功能之前,必须对该对象进行实例化,对象可以有多个对象实例,对象定义的格式如下。 OMA为LwM2M协议内置了8个对象。具体如下 LiteOS SDK端云互通组件配合Huawei Ocean