- 博客(26)
- 资源 (3)
- 收藏
- 关注
原创 三层结构与MVC
三层架构从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层)。三层是为了解决整个应用程序中各个业务操作过程中不同阶段的代码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑。比如将数据库操作代码封装到一层中,提供一些方法根据参数直接返回用户需要的相应数据,这样在处理具体的业务逻辑的时候,就不用关心数据的存储问题了。三层架构由以下部分组成:界面层(UI)业务逻辑层(BLL)数据访问层(DAL)MVCMVC主要是为了解决应用程序用户界面的样式替换问题,把展示数据的 H
2021-06-17 20:04:33
487
2
原创 Spring Data Redis中的事务陷阱
原文地址,转载请注明出处:https://blog.youkuaiyun.com/qq_34021712/article/details/79606551 ©王赛超之前spring整合redis开启事务,在功能测试环境下跑了N天之后,突然发现服务异常,查看日志报异常的具体内容如下:org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redi
2020-12-03 21:56:51
366
原创 Spring - 学习 - 嵌入式 Servlet 容器
Tomcat、Jetty、Undertow 与 Servlet 关系Tomcat、Jetty、Undertow 都属于 Servlet 容器一个程序中可以由多个 Servlet 组成,Servlet 必须跑在 Servlet 容器中spring-boot-starter-web 默认使用 tomcat 作为 Servlet 容器,利用通过配置切换 Servlet<dependency> <groupId>org.springframework.boot</
2020-08-12 09:50:49
329
原创 Spring - 学习 - 错误处理机制
Spring 错误处理机制浏览器请求返回,返回 error.html 页面通过 POSTMAN 等方式接口请求,返回JSON错误信息原理:@Controller@RequestMapping("${server.error.path:${error.path:/error}}")public class BasicErrorController extends AbstractErrorController { @RequestMapping(produces = MediaTyp
2020-08-12 08:28:27
354
原创 Spring Web 开发学习
1. Spring 国际化使用 i18n资源文件配置资源目录新建 i18n 目录,创建无后缀默认语言文件,要适配的国际化语言文件资源配置文件名格式 xxx_zh_CN.properties,zh_CN 由两部分组成:zh 表示语言文化代码,CN 表示国家地区Spring 通过 Accept-Language 自动识别当前浏览器的语言2. 登录拦截Spring 通过拦截器 HandlerInterceptor 拦截客户端的请求,未登录的请求跳转到登录页面重定向redirect:/xxx.
2020-08-06 11:35:07
141
原创 Spring 学习日志框架
1、在 @Configuration 中配置 @Conditional 可以实现根据条件选择性的将 Bean 添加到 Spring 容器中@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Conditional { /** * All {@link Condition Conditions} that must {
2020-07-15 22:38:59
183
原创 系统解决问题方法
5W2H分析法(1)WHAT——是什么?目的是什么?做什么工作?(2)WHY——为什么要做?可不可以不做?有没有替代方案?(3)WHO——谁?由谁来做?(4)WHEN——何时?什么时间做?什么时机最适宜?(5)WHERE——何处?在哪里做?(6)HOW ——怎么做?如何提高效率?如何实施?方法是什么?(7)HOW MUCH——多少?做到什么程度?数量如何?质量水平如何?费用产出如何?5W1E分析法:(1)WHY——为什么干这件事?(目的);(2)WHAT——怎么回事?(对象);(3).
2020-06-16 10:57:15
1038
原创 CA机构介绍(Certificate Authority 域名SSL证书颁发机构)
SSL证书机构即CA机构的全称为Certificate Authority证书认证中心,只有通过WebTrust国际安全审计认证,根证书才能预装到主流浏览器,成为全球可信的ssl证书颁发机构。HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密
2020-05-22 09:58:20
1188
原创 质品流程
QC 全称 Quality Control,意思为质量控制。在 ISO9000:2015 对质量管理定义是:“在质量方面指挥和控制组织的协调的活动”。质量控制定义是:“质量管理的一部分,致力于满足质量要求”QA 全称 Quality Assurance,意思为质量保证。有些推行ISO9000的组织会设置这样的部门或岗位,负责 ISO9000 标准所要求的有关质量保证的职能,担任这类工作的人员就叫做QA人员IPQC 全称 InPut Process Quality Control,意思为制程控制,是指产
2020-05-15 10:11:32
583
原创 MQTT Broker 的代理实现
broker的主要职责是接受发布者发布的所有消息,并将其过滤后分发给不同的消息订阅者。如今有很多的broker,下面就是一张关于各种broker对比的图片:目前我用过的有mosquitto和emqttd(2.0版本后改叫EMQ),因为目前的需求是希望做每秒10万以上的数据接入,所以需要考虑建立集群。但是在使用mosquitto的过程中发现他不支持集群,所以就放弃了,转投emqttd。在使用...
2020-04-29 11:45:26
1457
转载 将物联网数据和MQTT消息流式传输到Apache Kafka
Apache Kafka是一个实时流媒体平台,在大型和小型组织中得到广泛采用。Kafka的分布式微服务架构和发布/订阅协议使其成为在企业系统和应用程序之间移动实时数据的理想选择。据一些人称,超过三分之一的财富500强公司正在使用Kafka。在GitHub上,Kafka是最受欢迎的Apache项目之一,拥有超过11,000名明星和超过500名贡献者。毫无疑问,Kafka是一个开源项目,正在改变组织在...
2020-04-28 19:16:10
3545
1
原创 MQTT 云服务器方案
MQTT 作为消息网关的集成方案,MQTT 作为 Broker 提供给设备、网关、App端连接,接收来自客户端的订阅消息,以及发布消息MQTT 协议代表 Mosquitto 的优缺点优点缺点程序小,速度快扩展性差,只能通过停服桥接扩展...
2020-04-28 15:51:51
850
原创 MQTT 使用场景
MQTT 应用场景物联网英文名称为The Internet of things,IoT便是物联网的英文缩写,物联网是基于互联网、广播电视网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。它具有普通对象设备化、自治终端互联化和普适服务智能化3个重要特征。物联网是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与...
2020-04-28 15:16:54
6251
原创 消息队列 - MQ 使用场景
MQ 是什么消息总线(Message Queue),后文称MQ,是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,逻辑上和物理上都不用依赖其他服务。什么时候不使用MQ既然MQ是互联网分层架构中的解耦利器,那所有通讯都使用MQ岂不是很好?这是一个严重的误区,调用与被调用的关...
2020-04-27 15:00:11
470
转载 MySql 悲观锁
转载自:使用mysql悲观锁解决并发问题悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。使用场景...
2020-04-27 14:36:37
191
转载 MySql 乐观锁
转载自:使用mysql乐观锁解决并发问题案例说明:银行两操作员同时操作同一账户。比如A、B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户扣除50元,A先提交,B后提交。最后实际账户余额为1000-50=950元,但本该为1000+100-50=1050。这就是典型的并发问题。乐观锁机制在一定程度上解决了这个问题。乐观锁,大多是基于数据版本(Ver...
2020-04-27 14:36:14
177
原创 log4j2 XML 配置
<!-- status="OFF",可以去掉,它的含义为是否记录log4j2本身的event信息,默认是OFF --><configuration status="OFF" monitorInterval="60"> <Properties> <!-- (*必须,各应用需要修改) 部署应用的名称,命名规则 :全部小写字母、中短横线...
2020-04-18 16:41:49
456
原创 网络编程 - Java SSLSocketFactory 创建方式
SSL/TLS 认证需要服务端提供 KeyStore.jks、TrustStore.jks实现方式优缺点服务端提供 CA、Client CRT、Client Key 文件缺点:服务端提供原始签名,不安全服务端提供 KeyStore.jks、TrustStore.jks、Password$121、通过 CA、Client CRT、Client Key,客户端自己...
2020-04-14 15:39:54
7434
5
原创 网络编程 - 居于 OpenSSL 开发
阅读前请先阅读 OpenSSL 相关知识:数字签名TLS、SSL、KEY、CSR、CRT、X.509、PEM、DER证书认证方式有两种:通过权威机构证书中心确保身份不被伪造,一般指用在浏览器方面,权威机构证书中心起到信任库的角色普通开发环境,如通过 Java、C++ 等居于 OpenSSL 进行网络编程,无需借用权威机构证书中心进行身份认证, 开发人员需要在通过编程语言创建信任库,...
2020-04-08 20:34:26
212
原创 TLS、SSL、KEY、CSR、CRT、X.509、PEM、DER
TLS:传输层安全协议 Transport Layer Security的缩写SSL:安全套接字层 Secure Socket Layer的缩写TLS与SSL对于不是专业搞安全的开发人员来讲,可以认为是差不多的,这二者是并列关系,详细差异见 http://kb.cnblogs.com/page/197396/KEY 通常指私钥。CSR 是Certificate Signing Reques...
2020-04-08 15:29:05
623
原创 数字签名
今天,我读到一篇好文章。它用图片通俗易懂地解释了,“数字签名”(digital signature)和"数字证书"(digital certificate)到底是什么。我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。文中涉及的密码学基本知识,可以参见我以前的笔记。数字签名是什么?作者:David Y...
2020-04-08 14:53:14
192
转载 性能评测:MyBatis 与 Hibernate 的性能差异
前言由于编程思想与数据库的设计模式不同,生出了一些ORM框架。核心都是将关系型数据库和数据转成对象型。当前流行的方案有Hibernate与MyBatis。两者各有优劣。竞争激烈,其中一个比较重要的考虑的地方就是性能。因此笔者通过各种实验,测出两个在相同情景下性能相关的指数,供大家参考。测试目标以下测试需要确定几点内容:性能差异的场景;性能不在同场景下差异比;找出各架框优劣,各...
2018-12-14 14:24:50
423
原创 字符串通配符匹配算法
/** * match char * * @param c1 first character * @param c2 second character * @param ignoreCase ignore case * @return true means match, otherwise not match */bool MatchChar(char c1, char c2, b...
2018-11-27 11:28:30
471
MQTT-3.1.1-CN(解密版).pdf
2020-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人