SSO英文全称Single SignOn,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。一、 实现机制当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,
领域驱动设计总结——如何构造领域模型 本文为领域驱动设计系列总结的第三篇,主要对领域驱动设计概念做个介绍,本系列领域驱动设计总结主要是在Eric Evans 所编写的《领域驱动设计》 一书的基础上进行归纳和总结。本文主要介绍在领域驱动设计中如何构造领域模型。 了解了如何创建和运用模型之后,我们再来探讨下如何构造一个领域模型。这就需要我们对领域进行分离,了解领域对象的分类及生命周期的管理。 一 分离
1、抽象工厂模式介绍抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,围绕一个超级工厂创建其他工厂,也称作为工厂的工厂(大工厂里的小工厂)。在抽象工厂模式中,接口负责创建一组相关对象的工厂,而不需要显式指定它们的类。这种设计模式能够将客户端与具体的实现分离,从而使得客户端可以在不必知道具体产品的情况下创建多个相关的产品对象。1.1 抽象工厂的结构图抽象工厂模式(
1.1、导入黑马点评项目1.1.1 、导入SQL1.1.2、有关当前模型手机或者app端发起请求,请求我们的nginx服务器,nginx基于七层模型走的事HTTP协议,可以实现基于Lua直接绕开tomcat访问redis,也可以作为静态资源服务器,轻松扛下上万并发, 负载均衡到下游tomcat服务器,打散流量,我们都知道一台4核8G的tomcat,在优化和处理简单业务的加持下,大不了就处理1000
Java21虚拟线程实践 一个月之前,java21正式版发布了,作为继java17之后的又一个长期支持版本 (LTS),为我们带来了很多新的特性,其中我最感兴趣的就是虚拟线程(virtual thread),相信大家对虚拟线程也很好奇。趁着空闲时间安装了jdk21来体验一把,顺便把我查到的关于java21虚拟线程相关的资料也分享下。 虚拟线程的使用 首先来看下虚拟线程怎么使用,jdk21在Thre
分布式事务seata的AT模式介绍 seata是阿里开源的一款分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,本文主要介绍AT模式的使用。 seata安装 下载seata服务,官方地址:https://github.com/seata/seata/releases 在Linux下,下载完成后,直接解压,通过命令
大白话DDD(DDD黑话终结者) 一、吐槽的话 相信听过DDD的人有很大一部分都不知道这玩意具体是干嘛的,甚至觉得它有那么一些虚无缥缈。原因之一是但凡讲DDD的,都是一堆特别高大上的概念,然后冠之以一堆让人看不懂的解释,。作者曾经在极客时间上买了本DDD实战的电子书,被那些概念一路从头灌到尾,灌得作者头昏脑涨,一本电子书那么多文章愣是没有一点点像样的案例,看到最后也 没明白那本电子书的作者究竟想写
21、Redis 集群的主从复制模型是怎样的?答:为了使在部分节点失败或者大部分节点无法通信的情况下集群仍然可用,所以集群使用了主从复制模型,每个节点都会有 N-1 个复制品.22、Redis 集群会有写操作丢失吗? 为什么?答 :Redis 并不能保证数据的强一致性,这意味这在实际中集群在特定的条件下可能会丢失写操作。23、Redis 集群之间是如何复制的?答:异步复制24、Redis 集群最大
面试还搞不懂redis,快看看这40道面试题(上) 1、什么是 Redis? Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点: (1)Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 (2)Redis 不仅仅支持简单的 key-value
设计模式系列教程 - 设计模式分类及六大原则1. 设计模式分类【创建型模式】共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。【结构型模式】共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。【行为型模式】共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。2. 设
设计模式系列教程- 设计模式分类及六大原则 1. 设计模式分类 【创建型模式】共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 【结构型模式】共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 【行为型模式】共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
初学Redis简介以及入门 一.Redis的介绍 1.什么是redis? Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统。它支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。与传统的关系型数据库相比,Redis 是一种更加快速高效的数据存储方式。 Redis 在内存中存储数据,可以提供非常快速的读写性能。同时,Redis 还支持数据持久
Canal+Kafka实现MySQL与Redis数据同步(二) 创建MQ消费者进行同步 在application.yml配置文件加上kafka的配置信息: spring: kafka: # Kafka服务地址 bootstrap-servers: 127.0.0.1:9092 consumer: # 指定一个默认的组名 group-id: c
Canal+Kafka实现MySQL与Redis数据同步(一) 前言 在很多业务情况下,我们都会在系统中加入redis缓存做查询优化。 如果数据库数据发生更新,这时候就需要在业务代码中写一段同步更新redis的代码。 这种数据同步的代码跟业务代码糅合在一起会不太优雅,能不能把这些数据同步的代码抽出来形成一个独立的模块呢,答案是可以的。 架构图 canal是一个伪装成slave订阅mysql的bi
Kafka入门教程与详解(一) 一、Kafka入门教程 1.1 消息队列(Message Queue) Message Queue消息传送系统提供传送服务。消息传送依赖于大量支持组件,这些组件负责处理连接服务、消息的路由和传送、持久性、安全性以及日志记录。消息服务器可以使用一个或多个代理实例。 JMS(Java Messaging Service)是Java平台上有关面向消息中间件(MOM)的技术
「软件设计」权威领域驱动设计(DDD)简介今天的企业应用程序无疑是复杂的,并依赖一些专门技术(持久性,AJAX,Web服务等)来完成它们的工作。作为开发人员,我们倾向于关注这些技术细节是可以理解的。但事实是,一个不能解决业务需求的系统对任何人都没有用,无论它看起来多么漂亮或者如何很好地构建其基础设施。领域驱动设计(DDD)的理念 - 首先由Eric Evans在他的同名书[1]中描述 - 是关于将
DDD实战之二:看看代码结构长啥样 真正开始 DDD 旅程前,我想让您看到经过 DDD 设计之后的代码长啥样。我想,这是所有本着“talking is easy, show me your code”理念的程序员都比较在乎的观念。 为此,我特别将“群买菜”生鲜电商系统服务端代码新旧代码结构都显示出来,让您看看原来的旧代码——也就是“事务脚本式”代码长啥样(应该是目前大部分 java 程序员写代码的
Elasticsearch【正则搜索】分析&实践 Regexp Query regexp允许使用正则表达式进行term查询.注意regexp如果使用不正确,会给服务器带来很严重的性能压力。比如.*开头的查询,将会匹配所有的倒排索引中的关键字,这几乎相当于全表扫描,会很慢。因此如果可以的话,最好在使用正则前,加上匹配的前缀。在正则中如果使用.*?或者+都会降低查询的性能。 注意:是term查
面试官问 Spring AOP 中两种代理模式的区别?很多初学者栽了跟头,快来一起学习吧!代理模式是一种结构性设计模式。为对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象,并允许在将请求提交给对象前后进行一些处理。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象。代理模式主要有三种不同的形式:静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序
结构型设计模式07-享元模式 1、享元模式介绍 享元模式是一种结构型设计模式,旨在通过共享对象来减少内存使用和提高性能。它主要用于处理大量细粒度对象的情况,其中许多对象具有相似的属性和行为。 在享元模式中,对象分为两种类型:内部状态(Intrinsic State)和外部状态(Extrinsic State)。 内部状态是对象的固有属性,它们不随外部环境的改变而改变。 外部状态取决于外部环境,它们
设计模式之禅之设计模式-原型模式 一:原型模式的定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式(Prototype Pattern)的简单程度仅次于单例模式和迭代器模式。正是由于简单,使用的场景才非常地多。 原型模式的核心是一个clone方法,通过该方法进行对象的拷贝,Java提供了一个Cloneable接口来标示这个对象是可拷贝的,为什么说是“
一:原型模式的定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式(Prototype Pattern)的简单程度仅次于单例模式和迭代器模式。正是由于简单,使用的场景才非常地多。 原型模式的核心是一个clone方法,通过该方法进行对象的拷贝,Java提供了一个Cloneable接口来标示这个对象是可拷贝的,为什么说是“标示”呢?翻开JDK的帮助看看Cloneabl
创建型设计模式05-抽象工厂模式 1、抽象工厂模式介绍 抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,围绕一个超级工厂创建其他工厂,也称作为工厂的工厂(大工厂里的小工厂)。在抽象工厂模式中,接口负责创建一组相关对象的工厂,而不需要显式指定它们的类。这种设计模式能够将客户端与具体的实现分离,从而使得客户端可以在不必知道具体产品的情况下创建多个相关的产品对象。
前言单例设计模式是23种设计模式中最常用的设计模式之一,无论是三方类库还是日常开发几乎都有单例设计模式的影子。单例设计模式提供了一种在多线程情况下保证实例唯一性的解决方案。单例设计模式虽然简单,但是实现方案却非常多,大体上有以下7种最常见的方式。饿汉模式所谓饿汉式,就是不管你用不用这个对象,都先把这个对象进行创建出来,这样子在使用的时候就可以保证是单例。特点线程安全性 在加载的时候已经被实例化,所
1. 设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 模式的经典定义:每个模式都描述了一个在我们的环境中不断出现
1. 走进 DDD1.1 为什么要用 DDD ?面向对象设计,数据行为绑定,告别贫血模型;降低复杂度,分而治之;优先考虑领域模型,而不是切割数据和行为;准确传达业务规则,业务优先;代码即设计;它通过边界划分将复杂业务领域简单化,帮我们设计出清晰的领域和应用边界,可以很容易地实现业务和技术统一的架构演进;领域知识共享,提升协助效率;增加可维护性和可读性,延长软件生命周期;中台化的基石。1.2 DDD
生物传感是人类与机器、人类与环境、机器与环境交互的重要媒介。其中,触觉能够实现精准的环境感知,帮助使用者与复杂环境交互。为模仿人类的触觉,科研人员开发了各种传感器,以模拟皮肤对环境的感知。然而,触觉传感的要求高、参数变化多样,需要大量的研发经验、充分的文献调研和大量的试错实验,研发周期很长。为此,浙江大学的研究者利用支持向量机进行摩擦电纳米发电机触觉传感器的参数优化。优化后的触觉传感器能够识别多种
今天就来说说手写数字识别,我们上课的时候老师要求我们使用前馈神经网络和卷积神经网络两种神经网络实现手写数字识别。做一下这两个实验还真的挺有意思啊。举个例子,识别图片中的 : 3不管了上代码先,下面是所有的代码""" @author 不败顽童 程序采用前馈神经网络识别手写数字 """ import numpy as np import paddle as paddle import paddle.f
1、安装库各位小伙伴们,大家好,今天就让我们一起来看一下使用python实现深度学习中的手写数字识别,首先咱们需要安装几个库文件,numpy库、matplotlib库和tensorflow库。可以打开命令行进行安装,也可以再PyCharm下的命令行安装,建议在PyCharm下的命令行进行安装,因为我有许多同学在cmd控制台安装的时候,会报许多的错误。其实在PyCharm中安装实际上在一个虚拟环境下
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号