param

php引入PHPMailer发送邮件

偶尔善良 提交于 2019-12-30 06:38:24
昨天做了一个发送邮件的功能,如果直接用mail()函数,需要拥有自己的邮件服务器,所有引入PHPMailer类方便快捷,简单写一下开发步骤: 一、拥有自己的邮箱账号(作为发件人邮箱)   分两种情况:   1、如果是企业邮箱,需要用到的参数为邮箱号和密码   2、如果是个人邮箱,需要用到的参数为邮箱号和授权码(只有开启之后才能通过PHP代码,控制邮件的自动发送) 二、PHPMailer的下载   下载地址:https://github.com/PHPMailer/PHPMailer   我这里是用的thinkphp 5,下载后放到vendor目录 三、封装发送邮件方法,设置相关参数 具体代码如下,这里我用的是企业邮箱,如果是个人邮箱,需更改以下几个参数值: $mail->Host, $mail->Port, 发件人邮箱密码(授权码) <?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/10/15 0015 * Time: 13:33 */ namespace app\common\model; require VENDOR_PATH . 'PHPMailer/src/Exception.php'; require VENDOR_PATH . 'PHPMailer/src/PHPMailer.php'

错误监控原理解析

元气小坏坏 提交于 2019-12-30 02:58:37
文章目录 错误监控 前言 常见错误 语法错误 同步错误 异步错误 window.onerror 注意事项 网络错误 `window.onerror` 与 `window.addEventListener` Promise 错误 上报方式 Script error JavaScript 错误剖析 推荐做法 SourceMap 参考网站 错误监控 原文地址 前言 作为一个前端,在开发过程即便十分小心,自测充分,在不同用户复杂的操作下也难免会出现程序员意想不到的问题,给公司或个人带来巨大的损失。 这时一款能够及时上报错误和能够帮助程序员很好的解决错误的前端错误监控系统就必不可少了。 接下来我们就聊聊常见的错误发生与处理。 本文主要围绕以下几点讨论: 常见JS错误类型 常见JS处理错误方式 上报的方式,和上报内容的几点思考 问题: JS、CSS、img等资源加载失败(CDN或图床挂了,无意删了、文件名变了)怎么实时获知?而不是用户告诉你? 如何上报有用的错误信息能够让程序员快速定位错误并修复?而不是上报一些迷惑信息? 在当今无不用压缩丑化代码的工程化中,怎么利用好 SourceMap 文件,处理错误信息? 如何出了问题,不用在让用户帮助你复现?要机型?要操作步骤? 如何更好统计问题的分布(机型设备、浏览器、地理位置、带宽等),自主根据数据来取舍兼容倾向性? … 常见错误 脚本错误 语法错误

Mybatis常见错误及纠错

最后都变了- 提交于 2019-12-29 22:13:41
properties 属性优先级问题 typeAliases 别名 typeHandlers 涉及到数据类型之间的转换 一般情况下mybatis是帮你写好的了 一般不会涉及这一步1 复写mybatis配置文件 一般的低级码农还是不要动 一般要重写必须保持代码严谨 settings 默认配置一般是友好的 如果你不会你可以看官方的文档, www.mybatis.org/mybatis-3/zh/configuration.html#settings mappers resources url class <package name> 第二章 mybatis参数问题 单个基本数据类型 如果仅仅是简单的一个单值传入,那么#{}表达式里面随便写什么都可以,只有一个参数,mybatis没有入参绑定的烦恼,建议还是要写有含义的名称。 关于 Unknown column 'name' in where 'clause' 问题的解决,肯定是SQL语句的列名写错导致 关于 org.aphace.ibatis.exceptions.TooManyResultException:Excepted one result (or null) to be returned by selectOne () but found 2 问题的解决 我们所要求的结果是一个对象,而查询返回为两个,这个时候不匹配

java http请求工具类

核能气质少年 提交于 2019-12-29 14:43:16
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 提供通过HTTP协议获取内容的方法 <br/> * 所有提供方法中的params参数在内部不会进行自动的url encode,如果提交参数需要进行url encode,请调用方自行处理 * * @author admin * @Description: HTTP请求代理工具 */ public class HttpUtils { private static final Logger logger = LoggerFactory.getLogger(HttpUtils.class); /** * 支持的Http method */ private

C#泛型方法解析

元气小坏坏 提交于 2019-12-29 10:31:48
C#2.0引入了泛型这个特性,由于泛型的引入,在一定程度上极大的增强了C#的生命力,可以完成C#1.0时需要编写复杂代码才可以完成的一些功能。但是作为开发者,对于泛型可谓是又爱又恨,爱的是其强大的功能,以及该特性带来的效率的提升,恨的是泛型在复杂的时候,会呈现相当复杂的语法结构。这种复杂不仅是对于初学者,对于一些有开发经验的.NET开发者,也是一个不那么容易掌握的特性。 接下来我们来了解一下C#2.0加入的特性:泛型。 一.泛型的基本特性概述: 在实际项目开发中,任何API只要将object作为参数类型和返回类型使用,就可能在某个时候涉及强类型转换。提到强类型转换,估计很多开发者第一反应就是“效率”这个次,对于强类型的利弊主要看使用者使用的环境,天底下没有绝对的坏事,也没有绝对的好事,有关强类型的问题不是本次的重点,不做重点介绍。 泛型是CLR和C#提供的一种特殊机制,支持另一种形式的代码重用,即“算法重用”。泛型实现了类型和方法的参数化,泛型类型和方法也可以让参数告诉使用者使用什么类型。 泛型所带来的好处:更好的编译时检查,更多在代码中能直接表现的信息,更多的IDE支持,更好的性能。可能有人会疑问,为什么泛型会带来这么多好处,使用一个不能区分不同类型的常规API,相当于在一个动态环境中访问那个API。 CLR允许创建泛型引用和泛型值类型,但是不允许创建泛型枚举

RabbitMQ之发布订阅

北城以北 提交于 2019-12-29 05:51:55
工作队列中,每个任务之分发给一个工作者。如果需要分发一个消息给多个消费者,这种模式被称为“发布/订阅” 交换器(Exchanges) RabbitMQ完整的消息模型 发布者(producer)是发布消息的应用程序 队列(queue)用于消息存储的缓冲 消费者(consumer)是接收消息的应用程序 RabbitMQ消息模型的核心理念是: 发布者(producer)不会直接发送任何消息给队列。事实上,发布者(producer)甚至不知道消息是否已经被投递到队列。 发布者(producer)只需要把消息发送给一个交换器(exchage),然后由它一边从发布者接收消息,一边把消息推入队列。交换器必须知道如何处理它接收到的消息,是应该推送到指定的队列还是多个队列,或者直接忽略消息。这些规则通过exchange type来定义。 交换器类型 1、direct 处理路由键,需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。 是完整的匹配,与routing_key对应。 2、topic 将路由键和某模式进行匹配。此时队列需要绑定在一个模式上。 符号#匹配一个或多个词,符号*匹配不多不少一个词。 例如audit.#能够匹配到audit.irs.corportate,但是audit.*只会匹配audit.irs 类似消息归类 注:多台服务器访问同一个队列时

SQLServer 数据库封装类

安稳与你 提交于 2019-12-29 05:04:46
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; using System.Configuration; namespace SQLHelper { public static class SqlHelper { //从配置文件中获取连接字符串 readonly修饰的变量只能在初始化或构造函数中赋值;其他地方只能读取 //private static readonly string constr = ConfigurationManager.ConnectionStrings["OperationHistory"].ConnectionString; private static readonly string constr = "Data Source=/*主机名或者目标主机IP地址*/;Initial Catalog=/*数据库名*/;User=sa;PassWord=123"; /// <summary> /// 增、删、改的方法[ExecuteNonQuery] 返回所影响的行数,执行其他 /// </summary> /// <param name="sql

【前端必备】七、页面性能优化

折月煮酒 提交于 2019-12-29 03:14:04
1.文件优化 图片优化 一些修饰类图片可用CSS代替 将多个图标文件整合到一张图片中 (CSS Sprite) 选择正确的图片格式: gif无损压缩,适合logo、线条等小型简单图像 jpeg适合照片、渐变图像 PNG-8相对于GIF来讲有对alpha透明通道的支持,PNG-24会比JPEG,GIF,PNG-8占用更多的存储空间 svg适合简单的平面矢量形状,复杂的渲染时需要较多计算。 计算图片大小  对于一张 100 _ 100 像素的图片来说,图像上有 10000 个像素点,如果每个像素的值是 RGBA 存储的话,那么也就是说每个像素有 4 个通道,每个通道 1 个字节(8 位 = 1 个字节),所以该图片大小大概为 39KB(10000 _ 1 * 4 / 1024)。 其他文件优化 静态资源使用 CDN加载 重要的CSS文件放head中,其他可以放底部或动态加载 将耗时的js代码使用 Web Workers 执行 <script>标签 放在底部,避免阻塞渲染 动态脚本加载,向DOM中插入<script>标签 给标签加上 defer或async defer ,表示该文件会并行下载,但是会放到 HTML 解析完成后顺序执行。 没有任何依赖的JS文件可以加上async,表示加载和渲染后续文档元素的过程将和 JS 文件的加载与执行并行无序进行。 2.懒执行、懒加载、预加载、预渲染

JSTL标签用法

冷暖自知 提交于 2019-12-29 02:01:07
原来一直没有看过,我说过我是新手,但是好多资料上似乎也不重视 JSTL 。我看项目源代码发现其中使用到了这个标签库,感觉其还真是方便,页面看起来更加清爽。减少了 Java 程序员亲自写的代码量,还真验证了,不懒不做程序员,程序员如果写代码不想着偷懒,那么生活是很无趣的。 JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记。 JSP 技术的优势之一在于其定制标记库工具。除了核心 JSP 标记,如 jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述以站点或应用程序为导向的操作。一旦您创建了定制标记库 ( 简称 taglib) ,当您扩展项目或转向另一个项目时您可以重复使用这些标记。您还可以将 taglib 传递给其它开发人员,从而他们可以在自己的网站上使用,或者在您 Web 应用程序的其它部分使用。 JSTL 的目标是为了简化 JSP 页面的设计。对于页面设计人员来说,使用脚本语言(默认值是 JAVA 语言)操作动态数据是比较困难的,而采用标签和表达式语言相对容易一些, JSTL 的使用为页面设计人员和程序开发人员的分工协作提供了便利。 一. 配置 JSTL 包括两个 JAR 文件, jstl.jar 和 standard.jar 。是什么没有必要管,重在应用( 1+1 ?

Mybatis_#{param}和${param}的区别

会有一股神秘感。 提交于 2019-12-28 23:31:37
#{param} 生成的sql中将该参数使用?占位符替换,预编译后传入实际参数,使用PreparedStatement发送sql ${param}生成sql中将该参数的值直接替换到该位置的,如果是字符串一定要添加’’ 使用${param}时,即使statementType使用PREPARED,也可能出现SQL注入 建议使用statementType="PREPARED"和#{param}组合防止SQL注入 来源: CSDN 作者: Chill_Lyn_ 链接: https://blog.csdn.net/Chill_Lyn/article/details/103749110