- 博客(26)
- 收藏
- 关注
原创 面试官:说一说http和rpc的区别
HTTP:是一种应用层协议,主要用于在Web浏览器和服务器之间传输数据,如HTML、CSS、JavaScript等资源。它是一个请求-响应协议,定义了客户端如何发送请求以及服务器如何响应这些请求。HTTP协议广泛用于构建Web应用程序和前后端分离的项目。RPC:是一种远程过程调用协议,允许一个程序调用另一个地址空间(通常是在另一台计算机上)的过程或方法,就好像这些过程或方法是本地的一样。RPC主要用于分布式系统和互联网应用程序中,特别是在需要高性能、低延迟的微服务架构中。
2024-10-24 14:22:03 308
原创 新一代消息中间件pulsar
Pulsar是Apache软件基金会的一个开源项目,是下一代云原生分布式消息流平台。它提供了高性能、高可靠的企业级消息队列和流处理功能,支持多租户隔离、持久化存储、多机房跨区域数据复制等特性。Pulsar采用计算与存储分离的架构设计,支持水平动态扩容,能够处理百万级别的Topic数量,并且保持低延迟和高吞吐量。这些特性使得Pulsar非常适合于大数据生态和实时数据分析场景,如。
2024-08-28 14:59:20 659
原创 揭秘Fabric交易流程:一文带你深入了解
随着区块链技术的日益普及,作为一种联盟链解决方案,受到了广泛关注。那么,Fabric的交易流程究竟是怎样的呢?本文将为您一一揭晓。
2024-05-04 22:55:53 579 1
原创 Hyperledger Fabric:构建企业级区块链网络的利器
Hyperledger Fabric(简称Fabric)是Hyperledger项目中的一个子项目,是一个开源的区块链解决方案,专门为企业级应用而设计。它提供了一个高度模块化、可配置的架构,支持智能合约的执行和链码的开发,旨在打造一个灵活、高效、安全的区块链平台。Hyperledger Fabric以其开源、灵活、安全的特点,正逐渐成为企业级区块链解决方案的首选。无论是金融、供应链、物联网还是数字身份认证等领域,Fabric都展现出了强大的潜力和应用价值。
2024-05-04 22:52:39 660 2
原创 VUE小结项目实战,实现双色球单式机选
基于vue2.0和elementUI实现的双色球单式选球界面,页面可以进行机选号码、增加投注倍数、增加投注期数、自动计算最终金额等功能。本项目是使用vue从零入门第一至第五节中涉及的知识点实现的,辅助配合了一些css样式。
2024-01-07 23:49:30 639 3
原创 redis分布式锁的实现
分布式锁是一种在分布式系统中实现互斥访问共享资源的机制。它用于控制多个节点对共享资源的并发访问,以确保数据的一致性和完整性。分布式锁的实现方案有很多,其目的就是为了在分布式环境中提供一种可让多个进程顺序操作共享资源。本文主要介绍了使用redis实现分布式锁的几种方案,读者可根据实际场景灵活选择。分布式锁的大部分实现方式都是通过设置一个分布式标志位来实现的,其思想大致相同,如有其他可提供分布式操作的中间件,我们也可以进行基于其中间件的拓展。
2024-01-06 12:05:53 363 2
原创 stable diffusion web ui界面功能思维导图
stable diffusion web ui是对stable diffusion方便使用的开源的web工具。stable diffusion web ui界面功能整理。Stable Diffusion,是一种。
2023-12-25 19:51:01 492
原创 关于分布式系统中jwt token主动过期的方案总结
jwt token本是为了解决服务间无状态调用确认调用身份合法性的问题出现的解决方案。其设计是为了去中心化、无状态的设计,无需一个统一的token管理服务。为了解决无法主动过期token的问题,就需要人为引入状态对token进行管理,需要服务端记录某些token,这又违背了jwt token的设计初衷。在实际生产中如果有类似需求,我们可以根据实际情况结合每种解决方案的优缺点来选择解决方案。我个人比较推荐黑名单的解决方案,因为其对存储的要求适中,且可以实时使token主动过期生效,提高了系统的安全性。
2023-12-10 22:23:54 2097 1
原创 关于国密X.509证书规范笔记,及相关国标文档整理
格式正确级主要考虑证书和CRL的基本格式、PKI系统的基本功能,确保达到本等级的PKI实体拥有基本的互操作能力,能够正确生成证书和CRL,以及正确地使用私有拓展项。本级PKI应用能正确理解证书和CRL中的各项内容,支持重要的证书拓展项和CRL拓展项,能够使用增量CRL或者OCSP,使用LDAP或者HTTP获取证书和CRL。本级PKI系统的重要特征是具备证书服务的完善功能,能够同时支持增量CRL和OCSP,同时支持LDAP和HTTP发布证书和CRL,正确地设定证书拓展项、CRL拓展项及OCSP拓展项的取值;
2023-11-28 23:29:28 2371
原创 springboot中的springMVC
springMVC是一个基于Java的实现MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将Web层进行职责解耦,把复杂的Web应用分成逻辑清晰的几个部分,简化开发,减少出错,方便开发人员之间的配合MVC介绍:Model:负责实现业务功能(如登录,下单,创建用户等)和数据的封装(封装DTO对象,状态码等)View:负责展示界面,和用户进行交互等等。使用到的技术有html/jsp/js等。
2023-11-27 15:58:46 988 1
原创 spring中开启了异步任务,让我的数据库事务失效了
虽然声明式事务使用起来很方便,对业务代码入侵很小,但是当我们使用不当时,就会使事务不生效。1. 事务的属性配置不正确(事务类型、回滚异常、超时时间等等属性)2. 调用事务方法时没有经过spring管理的对象进行调用我们在遇到事务不生效的问题时可以从这两个角度进行分析。当声明式事务无法满足我们的业务需求时,我们可以使用编程式事务来满足需求,编程式事务可以更灵活更细粒度的控制事务。
2023-11-25 18:43:03 1365 2
原创 一文读完常用MySQL基础知识
先改写查询,如果要查100条数据,则根据分库个数将100条查询平均非配到每个库里,拿到查询数据后,找到其中创建时间最小的一条,然后按照这一条当作最小时间,对每个库再次发出between请求,最小时间是这个查询时间,最大时间是上一次各个库返回的数据的最大时间,然后计算第二次查询比第一次各个库都多了几条,算在偏移量里,然后往后推当前页需要的数据返回,比如第二次查询比第一次多了五条,则证明当前最小数据是上一页的倒数第五条,需要往后推五条后返回即可。并且可以根据需求,增多从库,缓解查询压力。
2023-11-14 10:43:44 232 1
原创 实现主动消息推送数据秘籍之webSocket协议
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。WebSocket协议是建立在tcp协议上的一种通讯协议,代表其是面向稳定连接的通讯协议,可以保证通信双方数据传输的稳定和可靠。因为其又是全双工通信协议,因此其天生就具备通信双方一段向另一端的主动推送数据的能力。
2023-11-11 16:43:37 834 1
原创 springboot中的mybatis
mybatis是一款轻量的半ORM框架(因为SQL要自己编写,所以是半ORM)和持久化框架,它将业务代码和SQL语句进行解耦,并且内部封装了JDBC,减免了开发者对数据库连接和释放等代码的控制,使开发者专注于SQL和业务代码的编写,并且提供了ORM映射(支持XML或注解方式配置映射信息),减少了大量getset代码的编写和JDBC代码的编写,还支持外部连接池。半自动和全自动ORM框架半自动:需要自己定义查询结果和目标对象属性的关联关系,用户编写完映射关系后才能够拿到对应的java对象。
2023-11-02 17:20:32 228
原创 Java的类加载,为什么org.test.TestLoadedClass cannot be cast to org.test.TestLoadedClass?
众所周知java是一门解释型语言,其运行的最基本环境就是jre,在jre内部有一个核心虚拟机称为jvm,其功能就是将我们的class文件中的内容解释为机器码来让计算机运行。class文件是由我们编写的.java文件编译而来的字节码文件,其后缀为.class。类加载就是将.class文件从我们的计算机硬盘解析到jvm内存空间的过程。当一个类被加载完成后,其类信息将被存储到jvm内存区域的方法区中,类信息包括类的成员属性、成员方法、构造方法等等。注:本文所介绍的类加载均是在hot spot虚拟机环境下的类加载,
2023-10-19 00:12:36 75
原创 从0开始学习vue第五节,Class与Style绑定
html标签的class和style虽然也是属性,可以使用v-bind进行属性绑定,但是需要进行字符串拼接才可以。当遇到比较复杂的样式或类的组合时,需要拼接很复杂的字符串,容易出错,因此vue为class和style的绑定提供了特殊语法来增强v-bind的功能。针对这两个属性的属性绑定不仅可以传递字符串,还可以传递对象或数组。
2023-09-30 23:55:16 91 2
原创 从0开始学习vue第三节,计算属性与侦听器
通过控制台打印可以看出,计算属性fullInfo对应的方法只被调用了一次,而getFullInfo方法则被调用了三次,因此可以证明通过计算属性能够对数据进行缓存,即相同的输入属性值(参与计算属性运算的data中的属性)的计算属性只会被运算一次,以后再次运算的结果会从缓存中直接获取。但在某些场景中,我们希望在创建侦听器时,立即执行一遍回调。计算属性的set方法是在直接修改计算属性本身时才会被调用的,当修改参与计算属性计算的属性时,set方法并不会被调用,通过点击例子中的两个button按钮即可证明。
2023-09-25 23:58:52 190 1
原创 从0开始学习vue第二节,vue的事件处理
在text1上用“1”修饰符,当在text1中按下键子“1”时事件才会被触发。我们可以使用.exact修饰符来控制系统按键修饰符的准确性,如果我们希望仅按下ctrl键的时候触发事件,可以使用.ctrl.exact来修饰事件。vue为内置了一些键的别名,分别为.enter、.tab、.delete、.esc、.space、.up、.down、.left、.right。我们在调用事件时也可以传入参数,参数可以是data中的数据也可以是字面值,当想获取事件对象时需要在调用方法时传入$event对象。
2023-09-21 20:58:16 142
原创 从0开始学习vue第一节,vue介绍和数据绑定
两种方式的核心原理其实都是数据代理(将两个不同对象的某个属性做映射,当一个对象的属性变化是可以使另一个对象的属性也变化),即将页面dom元素的输入给通过数据代理的方式绑定到js属性上,当js属性变化时通过代理监听得到变化值,然后将变化的值渲染到页面dom元素里。为了解决表单数据的双向数据绑定问题,即让页面上的修改能映射回属性上,vue为我们提供了新的指令v-model,用法为v-model="要绑定的js属性值"。可以证明,我们的数据不仅从属性传导到了页面,还能通过修改页面上的值将数据传导回属性上。
2023-09-16 16:59:17 177
原创 非spring工程使用Maven打包bouncycastle出现JCE cannot authenticate the provider BC的原因及解决
我们在遇到JCE验签错误时,使用以上五种方式均可解决。最简单直接地是方案1,适合我们在生产环境可以灵活操作jdk的情况。最符合规范的是方案2,适合我们已经有合法CA颁发的证书的情况。方案3和方案5适合我们在对工程定制化要求不高的情况下使用,允许我们的项目中出现一些额外的依赖。如果需要高度定制化工程则需要用方案4的方式,自定义我们加载的class对象,有时甚至需要定制化我们的classloader实现一些特殊的要求。
2023-09-13 00:05:48 7139 12
原创 ES6知识点总结,第二部分(模块化应用)
ES6为JS带来了模块化开发功能,模块化开发的好处显而易见,能够帮助我们更方便的构建大型项目。如果没有模块化开发我们的代码可能会都写在一个或几个超大的js文件中。这对于开发、维护和将来的拓展都是极为不便的,很有可能在出现bug时改了这里那里又不好用了,或者加了新功能旧功能不好用了。import方法调用后会返回一个promise对象,我们使用then方法进行订阅,在success的处理中就能拿到module对象,这个module对象就可以直接使用export暴露的属性。
2023-09-10 14:29:35 379 2
原创 ES6知识点总结,第一部分
ES(ECMAScript)是JavaScript的标准化脚本语言,用于Web浏览器和服务器端编程。ES有许多版本,每个版本都引入了一些新功能和改进。目前,最新版本的ES是ES2023,也被称为ES11,引入了一些新功能,如私有类字段、CSP支持等。ES规范定义了JavaScript的核心语言特性,包括语法、数据类型、运算符、控制结构、对象、数组、函数等。ES规范是Web浏览器和服务器端开发人员的基础,它提供了编写JavaScript代码所需的全部信息。
2023-09-09 14:12:00 217 1
vue实现双色球单式投注
2024-01-07
WebSocket推送端和接收端实现
2023-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人