
编程开发
文章平均质量分 71
介绍各种编程开发工具和知识!
王廷云的博客
一个热爱科学技术的人,喜欢创新,喜欢技术分享!
展开
-
【编程开发】之 Tomcat 请求数设置与 QPS
maxThreads。原创 2023-07-11 19:04:09 · 2324 阅读 · 0 评论 -
【分布式开发】之 CAP 原则
介绍了 CAP 的定义以及 CAP 的取舍策略原创 2022-07-24 12:49:44 · 1618 阅读 · 0 评论 -
【编程开发】之 Markdown 笔记教程
1. 制作一份待办事宜 Todo 列表 支持以 PDF 格式导出文稿 改进 Cmd 渲染算法,使用局部渲染技术提高渲染效率 新增 Todo 列表功能 修复 LaTex 公式渲染问题 新增 LaTex 公式编号功能2. 书写一个质能守恒公式[^LaTeX]E=mc2E=mc^2E=mc23. 高亮一段代码[^code]@requires_authorizationclass SomeClass: passif __name__ == '__main__': # A原创 2021-12-19 22:08:28 · 186 阅读 · 0 评论 -
【编程开发】之 Ctex 笔记
使用宏包:\usepackage{graphicx}\usepackage{subfigure}并列布置:\begin{figure} \begin{minipage}[t]{0.3\linewidth} % 插入分页图片,0.5 表示该图片占一行宽度的一半 \centering % 图片居中显示 \includegraphics[height=4cm,width=4cm]{Fi原创 2021-11-29 15:29:05 · 870 阅读 · 0 评论 -
【编程开发】之防止登录攻击的方案
场景使用账号密码登录的时候,有可能会出现用户恶意频繁登录攻击,比如写个登录脚本不断地请求登录操作,最后可能造成服务器压力过大崩溃。解决的办法图片验证码: 每次登录操作之前需要填写图形验证码上的验证码,并且每次的登录请求操作使用的验证码都是不一样的。所以这里需要设置一个图形验证码的过期时间。滑动验证: 每次登录操作之前需要进行滑动操作,滑动操作有阿里的滑动验证和滑动拼块验证。...原创 2021-10-09 17:54:34 · 484 阅读 · 0 评论 -
【编程开发】之 OSS 访问和 STS 授权
目录原创 2021-09-06 21:10:54 · 1861 阅读 · 0 评论 -
【编程开发】之 Java 实现邮件发送
一、邮件简介1、邮件服务器与传输协议邮件服务器:要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。SMTP服务器地址:一般是 smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。SMTP服务器:通常把处理用户 smtp 请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)。POP3服务器:通常把处理用户 pop3 请求(邮原创 2020-12-11 10:51:07 · 2376 阅读 · 0 评论 -
【编程开发】之国际号码校验工具 Libphonenumber
一、Libphonenumber 简介1、Libphonenumber 是什么Libphonenumber 是谷歌公司开发的一款用于解析、格式化和校验国际手机号码的软件库,可用于 Java、C++ 和 JavaScript 中。Libphonenumber 官方文档地址为:https://github.com/google/libphonenumber2、国家代号与电话区号国家代号(CountryCode):国家代号,即国际域名缩写,是为了便于区分国家而使用的名称,由两个大写字母组成,比如,原创 2020-12-09 21:25:17 · 8298 阅读 · 0 评论 -
【编程开发】之国家代号与电话区号
国家代号(CountryCode):国家代号,即国际域名缩写,是为了便于区分国家而使用的名称,由两个大写字母组成,比如,中国的代号为 CN,美国为 US。电话区号(AreaCode):国际电话区号,即国际电信联盟根据 E.164 标准 分配给各国或特殊行政区的 代码。所有的号码都是前缀号,也就是说这些号码是用来“拨到”目的国家或特殊行政区。每一个国家还有一个前缀来“拨出”所在国家,这个前缀叫 国际冠码。Countries and Regions国家或地区国际域名缩写电话代码时差原创 2020-12-09 20:42:04 · 10655 阅读 · 0 评论 -
【编程开发】之 ElasticSearch 入门
一、初步检索1、_CAT1)、GET /_cat/nodes :查看所有节点,比如:http://192.168.56.10:9200/_cat/nodes127.0.0.1 16 84 0 0.02 0.02 0.05 dilm * 9bc163ddc58e注:* 表示集群中的主节点2)、GET /_cat/health :查看 es 健康状况,比如:http://192.168.56.10:9200/_cat/health1606116097 07:21:37 elasticsearch原创 2020-11-27 16:02:03 · 208 阅读 · 0 评论 -
【编程开发】之设计模式七大设计原则
介绍了设计模式的七大设计原则原创 2020-11-04 00:29:26 · 224 阅读 · 0 评论 -
【编程开发】之短信注册用户流程
注册用户账号需要使用手机验证码进行操作,而手机验证码发送使用的是阿里云短信服务,发送短信操作可以参考:阿里云短信服务官方文档 。其原理也比较简单,下面是使用步骤:首先我们需要引入相关依赖:<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> </d.原创 2020-11-03 17:12:26 · 749 阅读 · 0 评论 -
【编程开发】之接口的幂等性
一、什么是幂等性接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的接口的结果是一致的,不会因为多次请求操作而产生了副作用。比如说支付场景,用户购买了商品支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,如果用户再次点击支付按钮并返回结果成功,用户的余额应该只扣取一次,流水记录也应该只有一条,这就是接口的幂等性。二、什么情况下需要幂等以SQL为例:SELECT col1 FROM tab1 WHER col2=2,无论执行多少次都不会改变状态,是天然的幂等。UPDATE ta原创 2020-10-23 00:10:05 · 214 阅读 · 0 评论 -
【编程开发】之 Java 开发常用工具 Utils 类
目录JWT 工具类 JwtUtilsMD5 工具类 MD5UtilsHTTP 请求工具类 HttpClientUtils随机数工具类 RandomUtilsJWT 工具类 JwtUtils依赖:<!-- JWT--><dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version原创 2020-10-19 10:48:56 · 880 阅读 · 0 评论 -
【编程开发】之微信登录
一、微信登录介绍1、准备工作网站应用微信登录是基于 OAuth2.0 协议标准构建的微信 OAuth2.0 授权登录系统。如果想了解 OAuth2.0 可以参考我的另一篇博客:【编程开发】之 OAuth2 。在进行微信 OAuth2.0 授权登录接入之前,需要完成以下步骤:(1)、在微信开放平台注册开发者帐号:https://open.weixin.qq.com,注册时需要注意的是:目前只支持企业类型注册,也就是说是对企业开放的,不对个人开放注册之后会得到相应的微信 id(AppID) 和微原创 2020-10-19 10:28:15 · 3175 阅读 · 1 评论 -
【编程开发】之 OAuth2
一、什么是 OAuth21、OAuth2正式定义2、令牌的核心3、OAuth2的历史4、OAuth2的优势5、OAuth2的不足6、Auth2涉及的角色7、OAuth2术语8、OAuth2 令牌的类型9、OAuth2的误解总结二、OAuth2 的使用场景1、OAuth2 解决的问题OAuth2 是针对特定问题的一种解决方案OAuth2 主要解决两个问题:开发系统间的授权问题分布式微服务的安全2、开发系统间的授权问题比如:用户想要在云冲印原创 2020-10-18 18:13:01 · 511 阅读 · 0 评论 -
【编程开发】之单点登录
一、单点登录介绍1、什么是单点登录?为什么要使用单点登录?单点登录解决什么问题?在早期的单一服务器模式下(即服务器只有一台),我们的登录一般使用的是 session 对象来实现的:登录成功后,把用户数据放到 session 中: session.setAttribute(“user”, user)判断是否登录的时候,从 session 中获取数据:session.getAttribute(“user”) 如果可以获取到即为登录在实际项目中,我们的服务器肯定是不止一台,特别是分布式集群模式下原创 2020-10-18 13:35:11 · 672 阅读 · 0 评论 -
【高并发编程】之分布式全局唯一 ID
一、分布式全局唯一 ID 问题1、为什么需要分布式全局唯一 ID 以及分布式 ID 的业务需求在复杂的分布式系统中,往往需要对大量的数据和消息进行唯一标识,如在美团点评的金融、支付、餐饮、酒店,猫眼电影等产品的系统中数据日益增长,对数据分库分表后需要有一个唯一 ID 来标识一条数据或消息;特别一点的如订单、骑手、优惠券也需要有唯一 ID 做标识,此时,一个能够生成全局唯一 ID 的系统是非常有必要的。2、ID 生成规则部分硬性要求全局唯一:不能出现重复的 ID 号,既然是唯一标识,那么这就是最基原创 2020-10-13 23:57:04 · 536 阅读 · 0 评论 -
【高并发编程】之高并发理论
一、前言高并发,几乎是每个程序员都想拥有的经验。原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时、CPU load 升高、GC频繁、死锁、大数据量存储等等,这些问题能推动我们在技术深度上不断精进。但是能系统性地回答好此问题的人并不多,大概分成这样几类:1、对数据化的指标没有概念:不清楚选择什么样的指标来衡量高并发系统?分不清并发量和QPS,甚至不知道自己系统的总用户量、活跃用户量,平峰和高峰时的QPS和TPS等关键数据。2、设计了一些方案,但是细节掌握不透彻:讲不出该方案要关原创 2020-10-17 00:23:32 · 321 阅读 · 0 评论 -
【Maven】之开发常见问题记录
在父模块下有多个子模块,而子模块之间存在引用依赖关系,比如子模块引用 common 模块,这时可能回报 failed to read artifact xxx 的错误。解决办法为:在引用模块之前需要对被引用的模块运行 package 命令,这时再重新导入该模块就不会报错了。...原创 2020-10-02 21:53:11 · 130 阅读 · 0 评论 -
【Maven】之知识总结
Maven 是什么Maven 主要服务于基于 Java 平台的项目构建、依赖管理和项目信息管理。Maven 的主要功能主要分为 5 点:依赖管理系统多模块构建一致的项目结构一致的构建模型和插件机制为什么选用 Maven 进行构建首先,Maven 是一个优秀的项目构建工具。使用maven,可以很方便的对项目进行分模块构建,这样在开发和测试打包部署时,效率会提高很多。其次,Maven 可以进行依赖的管理。使用 Maven ,可以将不同系统的依赖进行统一管理,并且可以进行依赖之间的传递和原创 2020-09-16 13:17:01 · 616 阅读 · 0 评论 -
修改 Tomcat 默认首页
Tomcat 启动默认 webapp/ROOT 目录下的 index.jsp 文件,下面我们通过修改配置文件来指定 Tomcat 的默认启动首页。1、在 webapp 目录下创建 myroot 文件夹,由于存放我们的首页文件,可以把我们写好的 index.html 文件放到里面。2、修改 conf 目录下的 server.xml 文件,找到 <Host> 标签,然后添加代码如下:<Host name="localhost" appBase="webapps"原创 2020-07-10 14:46:25 · 8517 阅读 · 1 评论 -
【编程开发】之常用正则表达式
校验电子邮箱格式:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$解释:检测手机号码:^1(3|4|5|6|7|8|9)\d{9}$解释:^1 表示以1开头,(3|4|5|6|7|8|9) 表示1后面接的数字是3、4、5、6、7、8、9中的任意一个,这是目前手机号码所发展开通的字段,\d{9}$ 表示后面结尾为9个数字,\d 可...原创 2020-03-21 16:19:51 · 375 阅读 · 0 评论 -
一篇文章教你学会【正则表达式】
通配符.表示匹配任意字符\d英文为digit(数字),表示匹配0~9的所有数字\D和\d相反,表示匹配非数字\s英文为space(空白),表示匹配所有空白字符,包括空格、制表符、回车符、换页符、换行符等\S和\s相反,表示匹配所有非空白字符\w英文为word(单词),表示匹配单词字符,包括0-9的所有数字,26个英文字符和下划线(_)\W和\w相反,表示匹配所有非单词字符[]表示...原创 2020-03-14 15:59:55 · 532 阅读 · 1 评论