分布式事务-Seata-详细图文讲解 一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产生分布式事务问题Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
SpringBoot前后端分离项目,打包、部署到服务器详细图文流程 前端和后端的项目打包都可以在本地完成,上传服务器可以最小化上传jar包和dist文件夹,这种方式最节省服务器空间资源。修改Nginx的配置文件(修改conf文件夹下的nginx.conf文件)将location位置的root后面跟的路径修改为前端项目打包后的文件地址。修改Redis地址,修改需要部署的Redis密码(如果需要的话)防止出现权限相关的问题,将文件开头的user修改为root。将修改后的两个文件上传到服务器(上传对应文件并替换即可)修改MySQL地址,修改需要部署的数据名,账号和密码。
一文让你了解Docker的前世今生 说了这么久的Docker的历史,我们主要来真正的认识一下,Docker到底是什么?我们先来看一下百度百科给出的解释:“Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。我们学习使用Docker也需要知道Docker的官方文档地址文档地址:https://docs.docker.com/ 内容非常详细。
通俗易懂理解——布隆过滤器 很长的二进制向量(数组):判断一个数据在这个数组中是否存在,如果不存在为0,存在为1:将“你好”存入到布隆过滤器中——插入过程:我们可以根据下标到布隆过滤器中查询数据是否存在,只有当三个下标查询的结果都为1的时候才能确认数据存在。只要有一个下标的二进制数据不是1就证明不存在。现状:下标为2的位置存储了两个数据:你好 & hello,在这种情况下,我们就不知道下标为2的这个地方是你好还是hello。这是由于这些数据由于一系列的hash运算计算出来的,哈希值相同导致根据哈希值计算出来的。
依赖和关联的对比和区别 关联理解分析关联的关系用实线加箭头的形式表示,箭头指向的类时被关联的类关联体现的关系比依赖更强关联(Association)关系是类与类之间的联接,它使一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。在Java语言中,关联关系一般使用成员变量来实现。UML图依赖和关联的区别● 从耦合性的角度对比发生依赖关系的两个类都不会增加属性。其中的一个类作为另一个类的方法的参数或是某个方法的变量发生关联关系的两个类,其中一个类作为另一个类的属性,属性是一种更为紧密的耦合关系,是
Redis6.0新特性——ACL(权限控制列表)实现限制用户可执行命令和KEY ACL是Access Control List(访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接展示用户权限列表查看当前用户创建和编辑用户ACL
设计模式——从简单的程序变化到设计理念 近期参加米老师的设计模式课程,老师对一个非常简单的程序进行了不断的版本更新迭代,让我们去看到这些细小的版本变化背后的设计理念,收获颇丰。以下内容使用Visual Basic语言实现:版本一:版本二:这些显而易见的变化,都是流于表面的,其实从版本一到版本二的变化是有质的变化的,其内在的变化是从设计理念的一个变化,而这些都是我们往往在日常的开发过程中经常忽视的。两个版本的代码都很简单,我们每个人都写过这种代码,但是是不是我们再写这两种不同版本的代码的时候能想到两者的区别,看代码的角度要多样化,要有想象力
从计算器小例子的总结思考 老师前段时间给我安排了一个小任务,使用面向对象的编程思想实现一个能支持加减乘除的计算器,并且要符合开闭原则,可以随意添加新的运算符(例如添加一个开方运算符)。这个小例子,从老师布置给我到现在已经过去了好几天,由于自己的不理解,一直没有动手开工。偶然今早老师找我过问起这件事,老师帮我梳理了这其中的业务以及一些技术问题,好几天没有头绪的小例子,今天半天的时间就做出来了。不知道你们在遇到问题的时候会怎么处理,我是习惯先自己凭空琢磨,然后再根据琢磨的结果去查资料找答案,往往在这个过程中就已经浪费了大部分的时间,而且
理解面向对象——多态 导语什么是多态?我们先来看看百度百科给出的回答——在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。 多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。而我理解的多态其实究其根本就只有一句话就是——子类的实现指向父类的引用。下面我们通过实例来学习了解一下面向对象中的多态。简单工厂什么是简单工厂?我们将实例化子类的过程交由一个单独的类来去创造实例,这个单独的类就是我们说的工厂。所有的实例化字类的过程都交由工厂去
架构学习——ER图 一、什么是ER图?E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。二、为什么要画ER图?它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。三、怎么画ER图?用“矩形框”表示实体型,矩形框内写明实体名称用“椭圆图框”或圆角矩形表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来用”菱形框“表示实体型之间的联系成因,在菱形框内写明联系名,并用”实心线段“分
面向对象和面向过程的理解 导语前一阵老师找我聊了一件日常生活中的一件小事,但是通过这件小事,老师分别从面向对象和面向过程两个方面给我进行了分析和讲解,由此,我也对面向对象和面向过程进行一个总结。背景1、何老师拿着米老师办公室的钥匙。2、米老师下午下班,通知何老师锁门。3、第二天,米老师上班,需要开门。何老师和米老师,有几种办法,解决这个问题。解决方案面向过程:米老师下班后,何老师锁好门,告诉米老师将钥匙放在前台,第二天,米老师到前台拿到钥匙,开门。面向对象:米老师下班后,何老师锁好门,何老师保存好钥匙,第二天,米老
架构设计——类图 一、什么是类图?类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。二、为什么要画类图?从软件设计的角度出发,整体性的安排和布局我们开发过程中涉及到的所有类和类之间的关系设计模式中的类间关系很复杂,如果将这些类通过类图的形式展示出来,更便于我们理解这些设计模式类图可以很好的描述系统具体实现,以及系统的整体结构三、怎么画类图?首先我们要熟悉并了解UML中各种图例以及类与类之间的六大关系——
架构学习——原型图 一、什么是原型图?“原型”的最基本定义是“最终产品的仿真或样本版本,用于发布之前方便测试。” 原型的目标是在花费大量时间和金钱进入开发产品前,让开发者以及对应的需求方能够快速的了解产品创意以及产品的样式布局。二、为什么要画原型图?...
架构学习——业务架构图 一、什么是业务架构图?业务架构图,顾名思义就是对于产品的业务架构进行梳理和整合,它表达的是业务系统之间的关系,帮助开发人员梳理业务结构。二、为什么要画业务架构图?业务架构图帮我们更好的从宏观的角度整体性的审查我们的产品帮助用户和需求方从业务角度出发更好的了解我们的产品功能有了业务架构图我们可以更好的对目前已有的功能和以后计划开发的功能进行抽象、设计、开发三、如何画业务架构图?站在巨人的肩膀上我们要学会站在巨人的肩膀上学习,先看看一些比较牛的公司他们是怎么画的业务架构图,借鉴他人的画法和思
理解面向对象,看这一篇就够了 导语对于面向对象的理解,大多数的人都还停留在理解概念,但是在真正实现的过程中还是保持着面向过程的思想在开发和编写代码,下面我通过这篇博客重新梳理什么是面向对象。一、面向对象的特征和基础特征封装、继承、多态基础抽象二、为什么说面向对象的基础是抽象?想要真正理解这句话,先看一下下面的这个问题:如何理解下面这句话?这与面向对象的抽象有什么关系?1)我们要注重多少人来干事,而不是干多少事。2)我们要注重谁来干事,而不是怎么干事。分析:我们先从这两句话的字面意思来分析,我们在分析的过程中.
产品设计——按钮(四宝) 一、自适应按钮前端在设计按钮的时候,我们很多的时候都是设置的静态的按钮,不管你是不是需要使用它,它都在那里。这样的按钮时最普通的按钮,但是就是这种普通的按钮也可以做一些产品设计的优化,例如,我们对表格数据添加筛选条件的时候,我们可以设置一个清除筛选的按钮,但是这个按钮不是常驻的,是只有在我们设置了筛选条件之后才会自动的显示出来,如果没有设置则可以不让其显示。二、按钮二合一我们在做页面数据展示的时候,很多时候会设计到排序按钮,这种排序按钮我们一般会这么设计,例如:对于评论进行排序,一个是按照时间排序的按
产品设计——无处不入口,无处不按钮 引言“无处不入口,无处不按钮”不知道你是不是看懂了这句话,我们从字面意思来分析,所谓“无处不入口,无处不按钮”可以理解为,任何一个地方都可以作为按钮,任何一个地方都能作为进入下一个区域的入口。产品设计——悬浮最能体现这个理念的一个产品设计就是悬浮了,如下图:从这张原型图我们可以看出,整个页面只有三条文本框、一个时间组件和一个小号的柱状图表按钮。但是这些只是停留在表面的样式和入口,实际上我们可以通过鼠标悬浮的操作,扩展出很多的功能例如下图:这就是很好的体现了“无处不入口,无处不按钮”的理念。通过
产品设计——你的老师每天都坐在你面前 引言作为一名程序员,我们长时间面对的是什么,毋庸置疑,一定是电脑。这就是为什么我会有如此的一个标题——你的老师每天都坐在你面前。我们每天都要使用的工具,他其实也是你的老师。让我们看看跟着这位“老师”能学到什么。产品设计资源管理器我们都使用过Windows的资源管理器,其实资源管理器从产品设计的角度,有很多需要我们学习的地方。比如下图中的文件列表页面:看似是一个很普通的列表设计,但是其中包括的设计原理有很多。比如我们可以通过点击其中某一列的小箭头进行更详细的筛选操作。我在途中打开的是关于修改日期的
如何刻意练习,普通人也能快速成为精英 什么是刻意练习刻意练习是一种有目的的练习,有别于我们盲目的进行努力。它定义了明确的目标,将注意力保持到我们需要执行的任务上,最后每次的练习都需要有反馈,通过反馈让我们了解自己有哪些不足,还有就是要走出舒适区。如何做到刻意练习1. 避免自动完成什么叫做自动完成?自动完成就是无意识的进行一些操作,例如我们在开车的时候遇到了紧急情况就会无意识的去踩刹车,我们在练习足球技巧的时候,对于别人的一些动作进行防守的准备,在一开始练习的时候我们会有意识的去分析他的动作,然后进行防守动作,但是随着练习时间的增长,我们