摘要: Spring Security开发实践 Spring Security 开发实践技术专栏从零开始详细介绍了Spring Security的工作原理和开发实践过程,包括基于内存和数据库的用户认证、自定义用户认证、基于URL地址和访问级别的授权、密码编码、加密模块、默认过滤器链、自定义过滤器、自定义认证和动态授权的开发实践、自定义异常处理、单元测试、自定义登录和登出页面等等。 阅读全文
posted @ 2022-12-30 09:11 Rickie 阅读(32) 评论(0) 推荐(0) 编辑
摘要: Redis 7.x 入门和开发实战 《Redis 7.x 入门和开发实战》技术专栏通过基础知识介绍入门-环境搭建-项目开发实践,让初学者快速掌握Redis。内部包括分布式缓存组件Redis 7.x的安装配置部署、基本数据类型、常用命令、操作实践、HyperLoglog数据结构、事务、慢日志分析、Redis 集成 Spring Boot的开发实践、Redis 集群模式、布隆过滤器等等。 阅读全文
posted @ 2022-09-10 17:49 Rickie 阅读(204) 评论(0) 推荐(0) 编辑
摘要: RedisInsight :Redis 官方可视化工具 RedisInsight是Redis官方出品的可视化管理工具,可用于设计、开发、优化你的Redis应用。支持深色和浅色两种主题,界面非常炫酷。可支持String、Hash、Set、List、JSON等多种数据类型的管理,同时支持远程使用CLI 功能,功能非常强大。 阅读全文
posted @ 2022-08-29 08:05 Rickie 阅读(3342) 评论(1) 推荐(0) 编辑
摘要: Hadoop v3.1 大数据技术快速入门 通过理论讲解-环境搭建-项目案例实战,让初学者快速掌握hadoop大数据技术栈,包括HDFS、MapReduce、YARN、HBase、Hive等等。 阅读全文
posted @ 2022-06-21 14:08 Rickie 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 《Apache RocketMQ 深入浅出》系列文章 Apache RocketMQ是一个纯Java、分布式、队列模型的开源消息中间件,前身是MetaQ,是阿里参考Kafka特点研发的一个队列模型的消息中间件,后开源给apache基金会成为了apache的顶级开源项目,具有高性能、高可靠、高实时、分布式特点。 阅读全文
posted @ 2022-04-11 09:21 Rickie 阅读(99) 评论(0) 推荐(0) 编辑
摘要: Kafka v2.3 快速入门与实践 Kafka是由LinkedIn开发的一个分布式的消息系统,可独立部署在单台服务器上,也可部署在多台服务器上构成集群。它提供了发布与订阅功能。用户可以发送数据到Kafka集群中,也可以从Kafka集群中读取数据。Kafka使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。 阅读全文
posted @ 2022-03-19 21:02 Rickie 阅读(118) 评论(0) 推荐(0) 编辑
摘要: Apache Doris 轻松入门和快速实践 Apache Doris是一个现代化的MPP分析型数据库产品,仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。 Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。令您的数据分析工作更加简单高效! Doris 的定位是面向在线报表和分析的数据仓库系统,可以对标于商业的MPP 数据仓库系统,比如Greenplum、Vertica、Teradata 等。 阅读全文
posted @ 2021-12-16 15:15 Rickie 阅读(2138) 评论(0) 推荐(0) 编辑
摘要: 一步一步编译最新版Apache Doris 0.15版本的详细过程 Apache Doris 于 2021 年 11 月 29 日迎来了 0.15.0 Release 版本的正式发布!有 99 位 Contributor 为 Apache Doris 提交了近 700 项优化和修复。在 0.15.0 Release 版本中,增加了诸多新功能,对 Apache Doris 的查询性能、易用性、稳定性方面等进行了全面优化。 本文将详细演示如何一步一步完成编译最新版Apache Doris 0.15版本。 阅读全文
posted @ 2021-12-04 13:36 Rickie 阅读(700) 评论(0) 推荐(0) 编辑
摘要: COLA 4.x和DDD项目实践精粹 本技术专栏在《COLA 4.x架构入门和项目实践》基础之上,对基于COLA架构的项目开发实践进行了提炼和总结;同时,针对其中的一些知识点进行扩展和延伸,包括COLA架构、CQRS模式、代码落地实践和建议规则、领域事件多种实现方式、聚合根工厂模式、MapStruct实体映射工具开发实践等等。 阅读全文
posted @ 2021-10-30 00:00 Rickie 阅读(1670) 评论(2) 推荐(0) 编辑
摘要: 阿里开源COLA 4.0源码编译和部署过程 COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”。 目前COLA已经发展到COLA 4.0。关于COLA架构详细入门和示例应用项目,可以访问《COLA 4.x架构入门和项目实践》技术专栏。 阅读全文
posted @ 2021-10-16 19:13 Rickie 阅读(1493) 评论(0) 推荐(0) 编辑
摘要: Java实体映射工具MapStruct 与BeanUtils性能比较 本文通过一个简单的示例代码,比较MapStruct和BeanUtils的性能数据,实测一下性能到底有多大的差距。关于MapStruct工具的详细介绍可以参考《Java实体映射工具MapStruct详解》技术专栏,提供完整示例项目代码下载。 阅读全文
posted @ 2021-10-04 15:17 Rickie 阅读(769) 评论(0) 推荐(0) 编辑
摘要: 阿里DDD项目最佳实践-COLA 架构总览 《COLA 4.x架构入门和项目实践》技术专栏首先介绍了COLA框架的使用入门,以及与IDEA开发工具的集成等等;然后基于COLA架构,创建DDD经典示例项目-货物运输系统,详细介绍了DDD领域建模、适配层、应用层、领域层和基础设施层的代码开发、防腐层(ACL)设计与实现、领域事件(Domain Event)入门实践、以及基于Kafka消息中间件的消息发布和订阅等等。内容由浅入深,从开发实战出发,逐步掌握基于COLA架构和DDD领域建模思想构建复杂业务应用系统。 阅读全文
posted @ 2021-09-21 15:13 Rickie 阅读(2013) 评论(0) 推荐(0) 编辑
摘要: Java实体映射工具MapStruct详解 在软件架构中,分层式结构是最常见,各层之间有其独立且隔离的业务逻辑,也因而各层有自己的输入输出对象,也就是代码中见到各种对象,如DO(Data Object)、DTO、Domain Entity(领域实体),这些数据对象之间通常都有很多相同或相近的属性对象,数据在传输的过程中从一个对象到另一个对象,就通常需要赋值,从最初的的getter/setter到后来的BeanUtils(减少了setter的代码量),再到现在的MapStruct。 阅读全文
posted @ 2021-09-20 12:30 Rickie 阅读(749) 评论(0) 推荐(0) 编辑
摘要: Martin Fowler大神 - 微服务、贫血模型、重构、敏捷开发方法论 Martin Fowler大神1963年出生在英格兰的沃尔索耳,并在94年移居到了美国。 而在软件开发领域,大名鼎鼎的敏捷开发方法论,就是他首创的。 除了被公认为全球知名的面向对象分析设计、UML、模式等方面的专家,现在还担任ThoughtWorks公司的首席科学家。 阅读全文
posted @ 2021-09-17 13:02 Rickie 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 领域模型的核心本质是什么? 在指导软件设计时,我们需要对业务知识进行提炼和精简,建立一个所谓的模型来指导设计开发。而 DDD 的真正价值就是在描述该如何建立这个能够指导开发的 "领域模型"。Domain-Driven Design 其实是一种简称,其真正想表达的是 Domain Model Driven Design,即领域模型驱动设计。 阅读全文
posted @ 2021-09-11 10:17 Rickie 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 基于阿里开源的COLA架构和DDD领域驱动设计构建货物运输系统 COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。 COLA既是框架,也是架构。COLA架构融合了常见的DDD代码模型,可以帮助开发人员快速实践并落地DDD领域建模的应用项目。 阅读全文
posted @ 2021-09-10 13:18 Rickie 阅读(1568) 评论(0) 推荐(0) 编辑
摘要: Axon框架快速入门和DDD项目实践 Axon 框架是基于JVM平台的开源产品,由Allard Buijze于2009年创立。2017年7月,成立了一家独立公司AxonIQ,专门与Axon产品合作。 Axon 框架的程序遵循基于领域驱动设计(DDD)思想、命令查询职责分离 (CQRS)、事件驱动架构(Event Driven Architecture,EDA)的架构模式。这些原则的结合,使基于Axon的应用程序更加健壮、适应性更强。 阅读全文
posted @ 2021-08-19 21:32 Rickie 阅读(1394) 评论(0) 推荐(0) 编辑
摘要: Java程序员的macOS手册 针对Java程序员而言,开发服务器端程序,程序的运行环境是Linux,在Mac OS X这个Unix上面开发,其实很方便。 本技术专栏帮忙Java程序员,搭建工作环境,如JDK、Maven、IntelliJ IDEA、Docker、虚机、以及各种常用工具等等,轻松体验在macOS上日常开发工作。 阅读全文
posted @ 2021-08-15 08:38 Rickie 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 推荐IntelliJ IDEA Rainbow Brackets 插件的安装与使用 针对于刚刚学习编程的同学来说,Java编程的过程中,会有很多的括号,而且括号还必须得成对出现,那么这个时候对于很多初学者来说,可能会经常出现多括号或者少括号的问题,而且当代码稍微复杂一点点的时候就更容易出现这种问题了,尤其是编程习惯不是很好的同学,没有严格的缩进,各种俄罗斯套娃式的括号简直让人心碎,那么这个时候如果出现了这些问题就是非常脑阔疼的。 针对这个问题,本文将介绍在IDEA开发工具中使用Rainbow Brackets 插件,也就是彩虹括号,各种鲜明颜色的括号。 阅读全文
posted @ 2021-08-13 18:58 Rickie 阅读(1601) 评论(0) 推荐(0) 编辑
摘要: COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。 COLA既是架构,也是框架。COLA框架继承了DDD的设计思想。 阅读全文
posted @ 2021-08-11 23:23 Rickie 阅读(1165) 评论(0) 推荐(0) 编辑
摘要: 基于DDD领域建模思想、COLA开源架构和CQRS模式设计和构建货物运输系统 技术专栏首先介绍了COLA框架的使用入门,以及与IDEA开发工具的集成等等;然后基于COLA架构,创建DDD经典示例项目-货物运输系统,详细介绍了DDD领域建模、适配层、应用层、领域层和基础设施层的代码开发、防腐层(ACL)设计与实现、领域事件(Domain Event)入门实践、以及基于Kafka消息中间件的消息发布和订阅等等。内容由浅入深,从开发实战出发,逐步掌握基于COLA架构和DDD领域建模思想构建复杂业务应用系统。 阅读全文
posted @ 2021-08-07 15:38 Rickie 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 在领域驱动架构中,通常会将查询和命令操作分开,我们称之为CQRS(命令查询职责分离Command Query Responsibility Segregation)。这张图是来自Martin Fowler大师的文章CQRS(https://www.martinfowler.com/bliki/CQRS.html)。 上图中读模块Query Model和写模块Command Model只是逻辑分离,物理层面还是使用了同一个数据库。我们可以进一步将数据库改成读库和写库做到物理分离,这时候就需要同步读写库。 阅读全文
posted @ 2021-08-01 13:24 Rickie 阅读(755) 评论(0) 推荐(0) 编辑
摘要: COLA(Clean Object-oriented & Layered Architecture)架构是阿里团队自主研发的应用架构,目前已经开源( https://github.com/alibaba/COLA )。 在COLA的设计中,充分汲取了经典架构的优秀思想。除此之外,阿里补充了规范设计和扩展设计,并且使用Archetype的方式,将架构固化下来,以便可以快速地在开发中使用。 阅读全文
posted @ 2021-07-27 20:22 Rickie 阅读(854) 评论(0) 推荐(0) 编辑
摘要: 国内现在有大量的公司都在使用 Elasticsearch,包括携程、滴滴、今日头条、饿了么、360安全、小米、vivo等诸多知名公司。 除了搜索之外,结合Kibana、Logstash、Beats,Elastic Stack还被广泛运用在大数据近实时分析领域,包括日志分析、指标监控、信息安全等多个领域。它可以帮助你探索海量结构化、非结构化数据,按需创建可视化报表,对监控数据设置报警阈值,甚至通过使用机器学习技术,自动识别异常状况。 阅读全文
posted @ 2021-07-24 10:54 Rickie 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 什么是Spring Cloud Alibaba? 是阿里巴巴结合自身微服务实践,开源的微服务全家桶。在Spring Cloud项目中孵化,2019年8月1日在Alibaba仓库发布了第一个毕业版本。在国内已逐渐成为Spring Cloud第二代的标准实现。在业界广泛使用,已有很多成功案例。 阅读全文
posted @ 2021-07-22 08:45 Rickie 阅读(1290) 评论(0) 推荐(0) 编辑
摘要: COLA 是 Clean Object-oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的DDD开源项目。COLA是一套用于帮助开发人员快速实践DDD落地的项目架构。目前COLA已经发展到COLA 4.0。 阅读全文
posted @ 2021-07-21 13:11 Rickie 阅读(1147) 评论(0) 推荐(0) 编辑
摘要: 基于COLA架构(Clean Object-oriented and Layered Architecture,整洁面向对象分层架构)和DDD(Domain Driven Design,领域驱动设计)思想,我们初步完成了包裹预订服务的开发,包括包裹预订和包裹查询服务等等。接下来,继续进行DDD经典项目的开发工作。本文将创建运输微服务routingms,该服务负责与货物路线相关的所有操作,包括获取路线的行程、维护航线(Maintain Voyages)等等。 阅读全文
posted @ 2021-07-13 13:20 Rickie 阅读(478) 评论(1) 推荐(0) 编辑
摘要: 在微服务(Microservices)架构实践中,架构设计借用了DDD中的一些概念和技术,比如一个微服务对应DDD中的一个限界上下文(Bounded Context);在微服务设计中应该首先识别出DDD中的聚合根(Aggregate Root);还有在微服务之间集成时采用DDD中的防腐层(Anti-Corruption Layer, ACL)。 本文介绍了防腐层相关的概念和应用场景。 阅读全文
posted @ 2021-07-10 11:26 Rickie 阅读(12357) 评论(1) 推荐(2) 编辑
摘要: CQRS(Command Query Responsibility Separation,命令查询职责分离)最早来自于Betrand Meyer(Eiffel语言之父,OCP提出者)提出的概念。其基本思想在于,任何一个对象的方法可以分为两大类: 命令(Command):不返回任何结果(void),但会改变对象的状态。 查询(Query):返回结果,但是不会改变对象的状态,对系统没有副作用。 阅读全文
posted @ 2021-07-04 11:34 Rickie 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 下图是2021 年 InfoQ 趋势报告:架构与设计,我们看看技术采用曲线图,可以分为5部分用户类型: 创新者(Innovators) 早期采用者(Early Adopters) 早期多数使用者(Early Majority) 晚期多数使用者(Late Majority) 后知后觉(图中没有显示的长尾部分) 阅读全文
posted @ 2021-06-30 11:04 Rickie 阅读(266) 评论(0) 推荐(0) 编辑