param

摩杜云通用免认证的短信接口,每天单个号码100条以上

感情迁移 提交于 2020-03-30 20:43:53
下面介绍一下 摩杜云 平台的短信php接口。demo下载: https://www.mordula.com/experience.html#anchor-1 // Works well with php5.3 and php5.6. namespace Moduyun\Sms; require_once('SmsSenderUtil.php'); class SmsSingleSender { var $url; var $accesskey; var $secretkey; var $util; function __construct($accesskey, $secretkey) { $this->url = " https://live.moduyun.com/sms/v1/sendsinglesms "; $this->accesskey = $accesskey; $this->secretkey = $secretkey; $this->util = new SmsSenderUtil(); } /** 普通单发,明确指定内容,如果有多个签名,请在内容中以【】的方式添加到信息内容中,否则系统将使用默认签名 @param int $type 短信类型,0 为普通短信,1 营销短信 @param string $nationCode 国家码,如 86 为中国 @param

图片上传(方法一:jquery.upload.js)

社会主义新天地 提交于 2020-03-30 06:53:03
一、在JSP页面引入jquery.upload.js 文件: <script type="text/javascript" src="${ctx}/script/jquery.upload.js"></script> 二、JSP页面代码: <!-- 弹窗 开始 --> <div class="dialog_teachermanage" id="addDialog" style="width:923px; display:none" > <div class="dialog_title" data-operateType="add"></div> <form id="formId" method="post" enctype="multipart/form-data"> <div class="dialog_body"> <div class="left"> <!-- 上传头像 ajax提交 class="hide" --> <div class="head_photo"> <input type="button" id="head_pic_btn" value="点击上传头像" /> <img src="${ctx}/static/images/common/head_default.jpg" data-img="head_default.jpg" width="180px"

WebGL编程笔记3:纹理图片texture

北城以北 提交于 2020-03-29 17:41:06
HTML部分 <script type="text/javascript" src="gl-matrix.js"></script> <canvas id="myCanvas" width="400" height="400" style="border: 1px solid red"></canvas> JavaScript部分 以下两点若不注意texture2D有可能取不到值,一片黑色。 老的显卡只支持图片尺寸为2的n次幂的纹理图片。 TEXTURE_MAG_FILTER和TEXTURE_MIN_FILTER参数需要制定。 const vertex = ` attribute vec3 v3Position; uniform mat4 u_matrix; attribute vec2 inUv; varying vec2 outUv; void main() { gl_Position = u_matrix * vec4(v3Position, 1.0); outUv = inUv; } `; // texture2D(u_texture, vec2(outUv.x, outUv.y)); // texture2D(u_texture, outUv; // 从纹理texture中根据outUv坐标取色素rgba const fragment = ` precision

上传图片本地预览

百般思念 提交于 2020-03-29 13:00:33
自己动手写了这么一个demo。并且支持客户端判断文件大小和文件格式。其实原理就是通过各种版本的浏览器实行不同的实现机制。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Firefox3,IE6,IE7,IE8上传图片预览</title><style type="text/css">#preview_wrapper{ display:inline-block; width:300px; height:300px; background-color:#CCC;}#preview_fake{ /* 该对象用于在IE下显示预览图片 */ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);}#preview_size_fake{ /*

AspNetCore3.1_Secutiry源码解析_8_Authorization_授权框架

浪尽此生 提交于 2020-03-29 03:22:30
目录 AspNetCore3.1_Secutiry源码解析_1_目录 AspNetCore3.1_Secutiry源码解析_2_Authentication_核心流程 AspNetCore3.1_Secutiry源码解析_3_Authentication_Cookies AspNetCore3.1_Secutiry源码解析_4_Authentication_JwtBear AspNetCore3.1_Secutiry源码解析_5_Authentication_OAuth AspNetCore3.1_Secutiry源码解析_6_Authentication_OpenIdConnect AspNetCore3.1_Secutiry源码解析_7_Authentication_其他 AspNetCore3.1_Secutiry源码解析_8_Authorization_授权框架 简介 开篇提到过,认证主要解决的是who are you,授权解决的是 are you allowed的问题。各种认证架构可以帮我们知道用户身份(claims),oauth等架构的scope字段能够控制api服务级别的访问权限,但是更加细化和多变的功能授权不是它们的处理范围。 微软的Authorization项目提供了基于策略的灵活的授权框架。 推荐看下面博客了解,我主要学习和梳理源码。 https://www

2.ASP.NET HttpRuntime.Cache缓存类使用总结

我的未来我决定 提交于 2020-03-28 23:27:36
   1.高性能文件缓存key-value存储—Redis    2.ASP.NET HttpRuntime.Cache缓存类使用总结   备注:三篇博文结合阅读,简单理解并且使用,如果想深入学习,请多参考文章中给出的博文地址。 1.前言    a.Memcached是一个高性能的分布式缓存系统,用于Web应用减轻数据库负载,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高网站的访问速度。   b.Memcached是一个给予存储键/值对的HashMap,底层使用C语言完成,但是客户端可以使用任何语言来编写(Java,.NET,PHP).   c.Memcached中的数据都是存储在memcached内置的内存存储空间中,由于数据仅存在于内存中,因此当某个服务器停止运行或者出现问题之后,所有存放在服务器上的键/值对都会丢失。   d.下面这幅图可以说明Memcached的工作过程,当首次访问系统的时候,系统从数据库中取得数据保存到Memcached中,在第二次访问的时候则直接从Memcached中读取出来需要的值信息。        e.Memcached的特征      Memcached作为高速运行的分布式缓存服务器,具有以下的特点:      e.1:协议简单(客户端通信并不是使用复杂的XML格式,而是使用简单的基于文本行的协议)     e.2

仿log4j 写 log 代码

我的梦境 提交于 2020-03-28 15:29:48
log4j 一直有个问题无法满足我,有可能我还不知道怎么去使用它。 就是他会把项目中所有的日志信息都记到一个文件里面,而业务系统往往需要根据某个业务流程查看日志分析。 public class BusinessLogUtil { public enum Level { ERROR(40, "ERROR"), WARN(30, "WARN"), INFO(20, "INFO"), DEBUG(10, "DEBUG"), TRACE(0, "TRACE"); private int levelInt; private String levelStr; private Level(int i, String s) { this.levelInt = i; this.levelStr = s; } public int toInt() { return this.levelInt; } @Override public String toString() { return this.levelStr; } } /** * 得到记录日志所有的文件:行号 * * @return */ private static String getLineInfo() { StackTraceElement ste = new Throwable().getStackTrace()[3]; return

javascript、js数组排序、多条件数组排序

旧城冷巷雨未停 提交于 2020-03-26 02:31:21
开发时经常遇到 排序问题, 比如 遇到 对数据进行 多条件排序 /** * 搜索表单 * @typedef {Object} Condition * @property {string} key 关键字 * @property {boolean} isAscending 是否升序 */ /** * 数组排序 (带条件类型) * @param arr 原数据 * @param {[Condition]} condition 条件列表 * @returns {[]} */ var fns = function (arr, condition) { /** * 开始排序 * @param {object} itemA 对比值A * @param {object} itemB 对比值B * @param {[Condition]} condition 条件列表 * @param {number} index 当前条件排序下标 * @returns {number} */ var sort = function (itemA, itemB, condition, index) { if (!condition[index]) return 0 const { key, isAscending = true } = condition[index] const a = itemA[key]

Redis+Spring缓存实例

前提是你 提交于 2020-03-23 14:44:58
转自: 小宝鸽 一、Redis了解 1.1、Redis介绍: redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 Redis数据库完全在内存中,使用磁盘仅用于持久性。相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。Redis可以将数据复制到任意数量的从服务器。 1.2、Redis优点: (1)异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。 (2)支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。 (3)操作都是原子性:所有Redis操作是原子的

C#工具类OracleHelper,基于Oracle.ManagedDataAccess.Client封装

£可爱£侵袭症+ 提交于 2020-03-23 10:41:08
基于Oracle.ManagedDataAccess.Client封装的Oracle工具类OracleHelper,代码如下: using System; using System.Data; using System.Collections.Generic; using System.Configuration; using System.Text; using System.IO; using Oracle.ManagedDataAccess.Client; //using System.Data.OracleClient; System.Data.OracleClient类已经不推荐使用 namespace Fly.Util.DataBase { /// <summary> /// Oracle数据库操作类 /// </summary> public static class OracleHelper { /// <summary> /// 执行数据库非查询操作,返回受影响的行数 /// </summary> /// <param name="connectionString">数据库连接字符串</param> /// <param name="cmdType">命令的类型</param> /// <param name="cmdText">Oracle存储过程名称或PL