在Yii2的几乎每个controller中,我们都会看到一个函数behaviors(),通常,我们用这个函数来配置控制器的权限,例如:public function behaviors()    {        return [            'access' => [                'class' => AccessControl::className(),//过滤器                'rules' => [                   …
在Yii2的几乎每个controller中,我们都会看到一个函数behaviors(),通常,我们用这个函数来配置控制器的权限,例如:public function behaviors()    {        return [            'access' => [                'class' => AccessControl::className(),//过滤器                'rules' => [                   …
3.0获取接口调用凭据 ①接口说明 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保留512个字符空间.access_token的有效期目前为2h(7200s),需定时刷新,重复获取将导致上次获取的access_token失效. 公众平台的API调用所需的access_token的使用及生成方式说明: 1.为了保密appsecrect,第三方需要一个access_token获取和刷新…
在较早期的随笔<ABP开发框架前后端开发系列---(5)Web API调用类在Winform项目中的使用>已经介绍了Web API调用类的封装处理,虽然这些调用类我们可以使用代码生成工具快速生成,不过自定义接口,还是需要我们对这些接口进行实现,以便发起对Web API的调用,并获得相应的数据返回.本篇随笔介绍使用API调用类的封装类,进行函数的抽象,根据方法名称的推断,构建URL或者WebClient的请求类型,从而实现所有API调用函数的简化处理. 1.ABP框架服务端和客户端的处理 ABP…
在前面几篇随笔介绍了我对ABP框架的改造,包括对ABP总体的介绍,以及对各个业务分层的简化,Web API 客户端封装层的设计,使得我们基于ABP框架的整体方案越来越清晰化, 也越来越接近实际的项目开发需求,一旦整个模式比较成熟,并以一种比较固化的模式来指导开发,那么就可以很方便的应用在实际项目开发当中了.本篇随笔是基于前面几篇的基础上,在Winform项目上进一步改造为实际项目的场景,把我原来基于微软企业库底层的数据库访问方式的Winform框架或者混合框架的字典模块界面改造为基于ABP框架基…
Spring AOP开发时如何得到某个方法内调用的方法的代理对象? 问题阅读起来拗口,看代码 在方法中调用其他方法很常见,也经常使用,如果在一个方法内部调用其他方法,比如 public class UserServiceImpl implements UserService{ @Override public void register(User user) { System.out.println("rg.Service.UserServiceImpl.register"); thi…
现在的信息系统越来越复杂,越来越庞大,不仅需要内部是一个整体,而且还需要提供很多对外的服务调用. 1:别人如何调用最方便?用不同的开发语言调用.例如app.手持设备.服务器.2:服务的返回状态是什么样子的?有利于排查问题.3:服务的安全性.可过渡升级性.性能效率要有保障.4:服务也需要有完整的调用日志记录等. 下面是一个服务调用有效性判断的函数代码,供大家参考. //-----------------------------------------------------------------…
一:servlet开发入门 servlet是sun公司一门开发动态web资源的技术,下面编写一个servlet入门程序: 1:在tomcat服务器webapps目录下新建firstServlet目录,在firstServlet目录下创建WEB-INF/classes目录 在classes目录下,写servlet程序. 类FirstServlet.java /** * */ package com.hlcui.servlet; import java.io.IOException; import…
使用过滤器 过滤器本质上是一类特殊的 行为,所以使用过滤器和 使用 行为一样. 可以在控制器类中覆盖它的 yii\base\Controller::behaviors() 方法来申明过滤器, 如下所示: public function behaviors() { return [ [ 'class' => 'yii\filters\HttpCache', 'only' => ['index', 'view'], 'lastModified' => function ($action, $…
上一节课,我给大家分享了微信API接入以及事件推送的回复,这是微信开发的第二节课,重点给说一说单图文回复,多图文回复,access_token,微信SDK. 公众号消息回复很多种形式,常见的形式有,文本,图片,视频,音频,图文等,常用的也就是文本,图文.文本回复上一节已经说过了,图文回复分为两种,单图文,多图文两种.其实实现的原理的一样的,只要会单图文,多图文自然也就会了. 单图文代码实现 <?php /** 以下的代码是一个方法,接着上一节中的IndexAction.class.php类的,把…
概述 获取接口调用凭证实质就是获取access_token.在微信接口开发中,许多服务的使用都离不开Access Token,Access Token相当于打开这些服务的钥匙,正常情况下会在7200秒内失效,重复获取将导致上次获取的Token失效,本文将首先介绍如何获取Access Token. 按微信官方的说明,access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保留512个字符…
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1.匿名函数 没有函数名 # -*- coding:utf-8 -*- # Author: WUJiang # 匿名函数 calc = lambda x: x*3 print(calc(3)) 2.装饰器 装饰器,本质是函数,装饰其他函数,即为其他函数添加附加功能 原则:不能修改被装饰函数的源代码.不…
一个软件项目的开发,除了需要很厉害的开发能力,同时在软件开发项目时,也需要对项目结构有良好的组织能力,将功能进行拆分,不同的功能放在不同的目录或文件中,方便日后的维护,升级等操作.比如核心代码的目录,配置的目录,公共库的目录,日志的目录等! 示例: 这是个小项目的开发框架,从目录结构上来看,bin目录放的是启动的文件,conf目录放的是配置文件的信息,core的目录放的是核心功能的,docs存放的是一些文档,lib用于存放公共库文件,logs存放日志文件,README对软件进行介绍. 良好的软件…
在前面随笔介绍ABP应用框架的项目组织情况,以及项目中领域层各个类代码组织,以及简化了ABP框架的各个层的内容,使得我们项目结构更加清晰.上篇随笔已经介绍了字典模块中应用服务层接口的实现情况,并且通过运行Web API的宿主程序,可以在界面上进行接口测试了,本篇随笔基于前面介绍的基础上,介绍Web API调用类的封装和使用,使用包括控制台和Winform中对调用封装类的使用. 在上篇随笔<ABP开发框架前后端开发系列---(3)框架的分层和文件组织>中我绘制了改进后的ABP框架的架构图示,如下…
c# 开发 ActiveX 的过程参考我的另一篇文章 :  https://www.cnblogs.com/baqifanye/p/10414004.html 本篇讲如何 在C# 开发的ActiveX 过程中添加事件,并在QT中调用 1.添加一个新的名为 ControlEvents 的接口文件,也可以不添加,,直接添加到主文件中也可,,等下会说明 ControlEvents.cs 文件: using System; using System.Collections.Generic; using…
写在前面 最近由于项目要求,原先的项目只有开发环境的项目配置,后来不利于线上测试,于是,最近对于SpringBoot这部分多环境配置在网上查找了相关资料,并实现了配置,于是为了防止遗忘,特在此进行总结.在此,感谢以下博主的文章:https://blog.csdn.net/qq_35139965/article/details/82255479:https://blog.csdn.net/weixin_33347597/article/details/81039153. 好啦,废话不多说,开启正文…
纪录自己的学习过程,帮助记忆 1.简介 过滤器是服务器端的一个组件,可以接收用户端的请求和响应信息,并且对这些信息进行过滤 过滤器不处理结果,只做一些辅助性操作 2.过滤器的工作原理 3.过滤器的生命周期 过滤器的生命周期 1.在web容器启动时依据web.xml实例化:一次 2.初始化 init():一次 3.过滤 doFilter():多次 4.销毁 destroy():一次,web容器关闭 4.过滤器的web.xml配置 5.过滤器类里的三个重要方法 6.过滤器链 过滤器链就是web.xm…
本文主要是自己之前研究WebRTC代码结构时的一些资料(包括Android,iOS,PC),文章来自博客园RTC.Blacker,转载请说明出处. 1.WEBRTC模块:音频数据采集.发送.接收.播放调用过程: 2.WEBRTC模块:视频数据采集.发送.接收.播放调用过程: 3.libjingle模块:发送.接收数据包调用过程: 3.1.底层包发送(通过注册transport来实现包的发送,逻辑基本上跟之前的一样) 3.2.视频包发送: 3.3.音频包发送: 3.4.收到视频包: 3.5.收到音…
本文主要分析webrtc音视频点对点部分的代码结构,文章来自博客园RTC.Blacker,转载请说明出处. 前段时间在查一个偶尔断线的问题(这种问题最蛋疼,不好重现,只能凭经验去搞),所以理了下webrtc的P2P代码结构,总结如下: 先来张图显示实际会话过程中的两种通讯路径:P2P或转发,92%的情况下是通过P2P实现. 注意:实际通讯过程中每个客户端都会不停地发送和接收Stun包,这样做是为了维护响应的连接和端口. 实际通讯过程中的核心组件为P2PTransportChannel,他代表着本…
本节介绍“手动”构造各个IRP,然后将IRP传递到相应驱动程序的派遣函数里. 获得设备指针 每个内核中的句柄都会和一个内核对象的指针联系起来.ZwCreateFile内核函数可以通过设备名打开设备句柄,这个设备句柄和一个文件对象的指针关联.IoGetDeviceObjectPointer内核函数可以通过设备名获得文件对象指针,而不是获得设备句柄.当调用IoGetDeviceObjectPointer内核函数后,设备对象的引用计数就会加1.当用完这个设备对象后,应该调用ObDereferenceO…
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 二.发送短信代码 VB: Private Sub imgbtnSedM_Click(sender As Object, e As EventArgs) Handles imgbtnSedM.Click Me.Client.SendSMS("测试", "10086") End Sub C#: priv…
一.VerbFilter VerbFilter检查请求动作的HTTP请求方式是否允许执行, 如果不允许,会抛出HTTP 异常 use yii\filters\VerbFilter; public function behaviors() { return [ 'verbs'=>[ 'class' => VerbFilter::className(), //类名 'actions'=>[ //方法 'index' => ['get'], //index方法只能用get请求,如果用po…
在我们的实际开发中,我们用到WebView就是为了在自己的APP中的某个部分来显示指定网页的效果. 但是在学习的过程中,我发现一个问题: 有的网页使用WebView控件显示出来以后,再点击网页中的某个链接,进入到下一个网页,它没有在APP中继续显示,而是要在手机浏览器中显示网址,这显示没有了良好的人机交互体验.(PS:这个问题有的网页是不出现的,本人没有大量测试,估计是我在Fragment中使用WebView的原因,在Activity中就没有这个问题,不管怎么样,加上相应的代码就可以了) 下面来…
接口实现 Scot Commons Impl 接口实现模块 scot-commons-impl, 一方面实现了 scot-commons-api 的接口, 一方面将自己暴露为 REST 服务. 有4个文件, 分别为 pom.xml, application.yml, ServiceImplApplication.xml 和 UserDTOServiceImpl.java pom.xml <?xml version="1.0" encoding="UTF-8"?…
感谢一路走来默默陪伴和支持的你~~~ ----------------欢迎来访,拒绝转载---------------- 关于GP模型的制作请点我! 一.GP发布 ArcGIS Desktop可以作为客户端,将创建好的模型作为GP服务发布到ArcGIS Server上,以供Web端的调用. 1) 模型运行成功后,在Results窗口中会出现执行的结果,右键单击模型,share as为Geoprosessing service. 2) Pulish aservice,下一步. 3) 选择服务连接或…
感谢一路走来默默陪伴和支持的你~~~ -------------------欢迎来访,拒绝转载------------------- 在之前的利用Python分析GP服务运行结果的输出路径 & 实现服务输出路径的本地化 这篇博客中一直留下了一个小小的伏笔,即GP模型的制作技巧,现在才得空整理出来. 很多情况下gp模型的构建需要编写一定得python脚本,然而怎么编写python脚本呢?脚本又将怎么添加到ArcGIS中运行呢?以及怎么制作GP可以实现输出的结果不受ArcGIS Server路径的管…
UI创建按钮及事件 Button mEmailSignInButton = (Button) findViewById(R.id.email_sign_in_button);mEmailSignInButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { //Do Sth }}); 调用Activity Intent intent = new Intent();inte…
根据<Spring in Action>一书中指出,Java开发中常见的远程过程调用(RPC),常见的有一下四种方式: 1.远程方法调用(RMI) 2.Caucho的Hessian和Burlap 3.Spring基于Http的远程服务 4.使用JAX-RPC和JAX-WS的Web服务…
1.什么是过滤器? 过滤器是向WEB应用程序的请求和响应添加功能的WEB服务组件 2.过滤器的作用 1)可以统一的集中处理请求和响应 2)可以实现对请求数据的过滤 3.过滤器的工作方式 4.使用场合 1)对请求和响应统一处理 2)对请求进行日志记录和审核 3)对数据进行屏蔽和替换 4)对数据进行加密和解密 5.使用步骤 1).在java类里面实现Fileter接口 2).在WEB.xml文件中配置过滤器 1. <filter>                                  …
场景描述: 对比了几个定时调度的框架,发现各有优缺点: celery 很强,异步定时调度,异步周期调度,也有延时调度的功能,但是延时调度的案例比较少,遂暂时不使用. queue_job,一个odoo第三方应用模块,同样功能强大,可以满足日常的异步方法执行: 模块github地址:https://github.com/OCA/queue/tree/10.0/queue_job 但是我们的场景稍微有些不同,就是需要在异步调用的基础上增加一个延时(例5秒): 一般的异步调度机制:异步执行避免了任务的阻…