引言最近准备给自己之前写的项目做重构,这是一个单体架构的小项目,后端采用的是最常见的三层架构。因为项目比较简单,其实采用三层架构就完全够了。但是呢,小编最近在做DDD架构的项目,于是就先拿之前写的一个老项目试试手。在重构的过程中,对DDD设计思想也有一些体会。于是我就写了这一个系列的博客来记录我从学习DDD架构思想再到将这种架构思想投入到实践的过程。这一篇博客主要是先学习一下DDD架构思想(也就是先入个门),我会先介绍DDD架构思想中的一些概念,然后再介绍根据DDD架构思想所设计出来的常见的架构分层,最后就是入门实战,根据上面介绍的架构分层搭建一个单体架构项目。DDD分层架构前言介绍DDD(D
文章目录一、前言二、了解ES2.1elasticsearch的作用2.2ELK技术栈2.3elasticsearch和lucene2.4为什么不是其他搜索技术2.5总结三、倒排索引3.1正向索引3.2倒排索引3.3正向和倒排四、es的一些概念4.1文档和字段4.2索引和映射4.3mysql和elasticsearch一、前言前一段时间在接触一个新项目的时候,学习和运用了elasticsearch(简称es),后期会不定期出一系列es的学习笔记内容(从初识到安装再到应用部署)。事实证明,本科做课设涉及查询搜索的时候数据量不大,基本不需要考虑太多应用性能的问题,但是当运用的数据量级别开始变成“大数
HarmonyOS(二)初识ArkTS开发语言(下)之TypeScript入门声明式UI基本概念应用界面是由一个个页面组成,ArkTS是由ArkUI框架提供,用于以声明式开发范式开发界面的语言。声明式UI构建页面的过程,其实是组合组件的过程,声明式UI的思想,主要体现在两个方面:描述UI的呈现结果,而不关心过程状态驱动视图更新类似苹果的SwiftUI中通过组合视图View,安卓JetpackCompose中通过组合@Composable函数,ArkUI作为HarmonyOS应用开发的UI开发框架,其使用ArkTS语言构建自定义组件,通过组合自定义组件完成页面的构建。自定义组件的组成ArkTS通
文章目录前言一、LInux的背景及发展史二、Linux下的基本指令1、ls指令2、pwd指令3、cd指令4、touch指令5、mkdir指令(重要)6、tree指令7、rmdir指令和rm指令(重要)8、man指令(重要)9、cp指令(重要)10、mv指令(重要)重命名操作剪切操作11、cat指令tac指令12、more指令13、less指令(重要)14、head指令15、tail指令使用管道|16、时间相关的指令date显示17、cal指令18、find指令(灰常重要!)-name19、grep指令20、zip和unzip指令zipunzip21、tar指令(重要):打包/解包,不打开它,直
HarmonyOS(二)初识ArkTS开发语言(中)之TypeScript入门浅析ArkTS的起源和演进1引言Mozilla创造了JS,Microsoft创建了TS,Huawei进一步推出了ArkTS。从最初的基础的逻辑交互能力,到具备类型系统的高效工程开发能力,再到融合声明式UI、多维状态管理等丰富的应用开发能力,共同组成了相关的演进脉络。ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,扩展了声明式UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。TS是JavaScript(简称JS)的超集,ArkTS则是TS的
动态规划(简称DP)是一种将复杂问题分解成很多子问题,并将子问题的求解结果存储起来避免重复求解的一种算法。动态规划一般用来解决最优问题。而解决问题的过程,需要经历多个决策阶段。每个决策阶段都对应着一组状态。最后通过一组决策序列(动态转移方程),产生最终期望的最优解。(看不懂概念?)我也是简单说jiu's利用历史记录避免重复计算,用空间换时间,一般使用一维或二维数组保存。解决动态规划步骤大致分五部(动规五部曲)1.了解dp数组的含义2.列出递推公式3.dp数组初始化4.遍历顺序5.打印dp数组(用于检查是否有错误,一般省略)下面根据例题熟悉解题步骤。题目描述辰辰是个天资聪颖的孩子,他的梦想是成为
初识MQ同步通讯和异步通讯同步通讯是实时性质的,就好像你用手机与朋友打视频电话,但是,别人再想与你视频就不行了,异步通讯不要求实时性,就好像你用手机发短信,好多人都能同时给你发短信,你都可以收到,而且不用及时回复。同步调用的问题微服务间基于Feign的调用就属于同步方式,存在一些问题比如用户调用支付服务时,它需要先后调用订单服务、仓储服务、短信服务等,都调用结束后,支付服务再返回用户相关信息,故这个过程的响应时间实际上就是所有这些相关服务执行之后所用时间之和,这样是非常影响效率的。但是也有优点,时效性较强,可以立即得到结果同步调用存在的问题1.如果我们想对支付服务增加一些功能,增加一些别的服务
文章目录前言1.date时间相关的指令1.1date1.2在设定时间方面示例如下:1.3时间戳示例如下:2.Cal指令示例如下:类似windows3.find指令:(非常重要)-name示例如下:类似windows4.grep指令示例如下:类似windows5.zip/unzip指令:示例如下:类似windows6.tar指令(重要):打包/解包,不打开它,直接看内容示例如下:7.bc指令:示例如下:8.uname–r指令:示例如下:类似windows9.重要的几个热键[Tab],[ctrl]-c,[ctrl]-d[Tab]+[Tab]自动补齐Ctrl+R对历史命令进行搜索10.关机文件传输L
Elasticsearch什么是Elasticsearch?Elasticsearch是一个分布式文档存储。Elasticsearch存储的是序列化为JSON文档的复杂数据结构,而不是以行列数据的形式存储的信息。当集群中有多个Elasticsearch节点时,存储的文档分布在整个集群中,可以立即从任何节点访问。当存储文档时,它几乎是实时的——在1秒内就可以被索引和完全搜索。Elasticsearch使用一种名为倒排索引的数据结构,它支持非常快速的全文搜索。倒排索引列出任何文档中出现的每个唯一单词,并标识每个单词出现的所有文档。可以将索引看作是文档的优化集合,每个文档都是一个字段的集合,这些字段
1、初识SQL注入1.1、什么是注入?将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。注入能导致数据丢失、破坏或泄露给无授权方,缺乏可审计性或是拒绝服务。注入有时甚至能导致主机完全被接管。注入攻击的本质:就是把用户输入的数据当做代码执行。(过于信任用户)1.2、什么是SQL注入?SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的入侵行为。(图片来源网络)1.3、SQL