本节内容概要:1.测试驱动开发的好处;2.测试驱动开发的痛点;3.两全其美。1.测试驱动开发的好处测试驱动开发(TestDrivenDevelopment,TDD)是一种不同于传统软件开发流程的新型的开发方法,它要求在编写某个功能的代码之前,先编写测试用例。TDD的过程通常遵循以下几个步骤:A.红阶段(编写测试用例):开发人员首先根据当前要解决的问题,编写一个或多个测试用例,描述代码应该如何工作。这些测试用例通常包含预期的输入和预期...
2023-08-16 20:43:13 2700浏览 1点赞 0回复 0收藏
本章首先介绍了一款完全免费Quakus项目代码生成器工具网站码农网,然后演示了如何通过该网站实现领域驱动开发的基本步骤:创建项目、创建微服务、领域类设计和快速生成Quarkus微服务项目代码。通过生成的示范代码,我们可以感受到这个工具对于快速开发高质量Quarkus项目的威力。下一章,我们继续讲解如何做详细设计和测试驱动开发,让我们生成更高质量的项目代码,生成的代码质量越高,我们开发的速度和质量也越高。
2023-08-14 22:19:43 2382浏览 0点赞 0回复 1收藏
本节内容概要:1.生成Quarkus微服务代码;2.在线预览代码;3.下载项目代码。经过前两节的步骤,快速创建项目、微服务和领域类设计后,就可以1秒钟快速生成整个Quarkus微服务代码了。1.生成Quarkus微服务代码在码农网工作台的左侧栏菜单中选择“后端代码”下的“Quarkus”菜单,点击“生成微服务代码”按钮,如下图所示:2.在线预览代码现在我们可以在类IDEA的风格体验中预览代码了。根据需要,展开代码目录,选择要预览的代码文...
2023-08-11 18:47:40 2703浏览 2点赞 0回复 0收藏
本节内容概要:1.新增领域类;2.领域类设计。回顾上节,创建了一个项目和一个微服务,本节继续在微服务下设计领域类。1.新增领域类点击左侧栏菜单“项目设计”下的“领域类”,默认进入当前活跃项目的第一个微服务下的领域类列表,如下图所示:如果希望查看其它微服务里的领域类,可以切换项目和微服务,以及通过关键字搜索。这里可以找到你所有项目中及微服务下的领域类,便于设计和查看,如下图所示:点击领域类列表页右上角...
2023-08-11 18:21:44 2468浏览 2点赞 0回复 0收藏
本节内容概要:1.什么是领域驱动开发,及领域驱动开发的好处;2.如何创建项目;3.如何创建微服务。1.什么是领域驱动开发,及领域驱动开发的好处“领域驱动开发”(domaindrivendevelopment),简称DDD。是一种处理高度复杂领域的设计思想,它试图分离技术实现的复杂性,并围绕业务概念构建领域模型来控制业务的复杂性,以解决软件难以理解,难以演进的问题。在我还没有接触“领域驱动开发”之前,我一直采用的是“数据驱动开发”...
2023-08-10 18:58:44 3261浏览 0点赞 0回复 1收藏
在疫情结束后的日子里,各个企业都更加注重员工的性价比,减少不必要的用人成本。在相同薪资成本的情况下,开发效率更高的技术人员更容易保住“饭碗”。在相同开发时长的情况下,更高产出的技术人员更容易得到企业的青睐。开发Quarkus项目有没有更高效的方式?答案是:有。“工欲善其事,必先利其器”。今天介绍一个免费的Quarkus开发神器——码农网(manon.wang)。码农网是一个充分实践"领域驱动开发,测试驱动开发"理念的“前...
2023-08-09 21:07:18 2953浏览 1点赞 1回复 1收藏
既然云原生势不可挡,我们能做的就是拥抱云原生!无论是学生、刚进入职场的新人或已非常熟悉SpringBoot框架的Java开发者,笔者强烈建议学习为云原生量身设计的优秀Java框架Quarkus!并示范了如何搭建开发环境、创建及运行第一个Quarkus项目、自动生成OpenAPI规范文档和开发GraphQL风格的API,最后介绍了三种常用的打包方式。
2023-08-08 21:03:34 1545浏览 0点赞 0回复 0收藏
本节介绍常用的几种Quarkus应用打包方式。1.6.1开发模式点击IDEA底部的“终端”,调出终端面板,执行如下指令:.mvnwcompilequarkus:dev如图128所示:图128开发模式打包有可能需要下载相关依赖包,耐心等待,直到出现图129的界面,就代表打包完成,可以点击链接,在浏览器中访问Quarkus应用,此时更改代码是支持热更新的:图129开发模式打包1.6.2普通打包方式使用mavenpackage命令打包项目。这是默认的方式,打包出来的jar不包...
2023-08-08 21:01:50 3045浏览 0点赞 0回复 0收藏
传统RestAPI是由后端决定请求接口时输出的数据结构。GraphQL是一种用于API的查询语言,使得客户端能根据自己的需要获取数据,没有任何冗余,从而减少不必要的网络传输浪费。本节介绍使用Quarkus来实现GraphQL基本功能。1.5.1添加GraphQL功能扩展在pom.xml文件中添加smallryegraphql扩展来启用GraphQL支持:<dependency><groupId>io.quarkus<groupId><artifactId>quarkussmallryegraphql<artifactId><dependency>1.5.2创建领域类...
2023-08-07 21:50:53 4010浏览 0点赞 0回复 0收藏
让Quarkus微服务自动生成OpenAPI规范文档的方法很简单,只需要在pom.xml文件中添加OpenAPI扩展即可:<dependency><groupId>io.quarkus<groupId><artifactId>quarkussmallryeopenapi<artifactId><dependency>如图119所示:图119OpenApi依赖运行项目,访问http:localhost:8080qswaggerui,可访问项目中各API接口描述的SwaggerUI界面,如图120和图121所示:图120swaggerui界面图121展开查看API详情
2023-08-07 21:20:07 2325浏览 0点赞 0回复 0收藏
1.3.1通过IntelliJIDEA创建Quarkus项目在IDEA中新建项目,类型选择“Quarkus”,填写项目名称,如,“hello”,设置语言为“Java”,构建系统选择“Maven”,根据项目实际填写“组”(一般根据项目部署时采用的域名反向拼接来设定,比如,“码农网”项目的域名为“manon.wang”,那么组可以设置为“wang.manon”),默认会自动选择上节安装的JDK版本graalvm17,然后点击“下一步”,如图111所示:图111通过IDEA创建Quarkus项目...
2023-08-03 11:29:54 2556浏览 1点赞 0回复 0收藏
提示笔者的开发环境如下:操作系统:windows10(64位)开发工具:IntelliJIDEA2022.3.2(UltimateEdition)JDK版本:graalvmcejava1722.3.1Maven版本:apachemaven3.9.11.2.1安装JDK环境为了充分体现Quarkus的性能优势,JDK的版本建议使用GraalVM17。GraalVM下载地址:https:github.comgraalvmgraalvmcebuildsreleasestagvm22.3.1,下载graalvmcejava17windowsamd6422.3.1.zip,如图11所示。图11下载graalvmcejava1722.3...
2023-08-02 22:02:55 3097浏览 2点赞 0回复 1收藏
1.1.1云原生已经成为软件开发和部署的主流趋势云原生是一种新的软件开发和部署模型,旨在更好地支持云环境下的应用程序。它是一个综合性的解决方案,包括容器化、微服务、DevOps、自动化等多个方面。当前一些炙手可热的新技术,如,量级量子计算、5G、区块链以及AI等,都会涉及到云原生。云原生不再是我们考虑需不需要的问题了,它已经在很多的新的技术里面起到作用。以下是云原生的一些优势:1.增长迅速云原生已成为软件开发和...
2023-08-02 10:44:01 2921浏览 1点赞 0回复 1收藏
第一篇Quarkus快速上手第1章HelloQuarkus1.1云原生时代的宠儿Quarkus1.2搭建开发环境1.3HelloQuarkus1.4生成OpenAPI规范文档1.5使用GraphQL组合API1.6应用打包方式1.7总结与回顾第2章领域驱动开发2.1Quarkus开发神器——码农网(manon.wang)2.2创建Quarkus项目及微服务2.3领域类设计2.4快速生成Quarkus微服务代码2.5总结与回顾第3章测试驱动开发3.1测试驱动开发的好处3.2Quarkus常用数据校验注解3.3详细设计:校验组、校验配置及...
2023-08-02 00:50:35 3636浏览 0点赞 0回复 0收藏
本节学习一个二维码展示组件QRCode。调用方式很简单,接口参数输入我们希望被读取的字符串内容即可,可通过color属性设置二维码的颜色(如果不设置颜色属性,则默认为黑色),通用事件仅支持点击事件:javascript3.11QRCode组件显示二维码信息。接口:QRCode(value:string)value:string二维码内容字符串。属性:.color(Color)默认值Black,设置二维码颜色。事件:通用事件仅支持点击事件。本节教程演示的目标为:二维码上面嵌入头像,...
2022-07-06 13:11:05 8536浏览 1点赞 1回复 1收藏
今天来学习一下两个简单易用的图表组件Progress和DataPanel。1.Progress组件Progress是一个进度条组件,用于显示内容加载或操作处理进度。鸿蒙官方文档只给出了其接口和属性的说明,如下:javascript3.10.1Progress组件进度条,用于显示内容加载或操作处理进度。接口:Progress(value:{value:number,total:number,style:ProgressStyle})value:number指定当前进度值。total:number默认值100,指定进度总长。style:ProgressStyle默...
2022-07-01 13:32:15 1.1w浏览 1点赞 1回复 1收藏
本节讲解评分条组件Rating的两种基本使用方法:用作表单组件和用作展示组件。首先我们看下Rating组件的接口、属性和事件的说明:javascript3.9Rating组件评分条组件。接口:Rating(options:{rating:number,indicator:boolean})rating:number默认值0,设置并接收评分值。indicator:boolean默认值false,仅作为指示器使用,不可操作。属性:.stars(number)默认值5,设置评星总数。.stepSize(number)默认值0.5,操作评级的步长。.sta...
2022-06-28 20:40:34 8355浏览 1点赞 1回复 1收藏
滑动条组件,用来快速调节设置值,如音量、亮度等。Slider组件默认宽度为父容器宽度的100%,可自动适配横竖屏切换。Slider组件的接口、属性和事件说明如下:typescript3.8Slider组件滑动条组件,用来快速调节设置值,如音量、亮度等。接口:Slider(value:{value:number,min:number,max:number,step:number,style:SliderStyle})value:number默认值0,当前进度值。min:number默认值0,设置最小值。max:number默认值100,设置最大值...
2022-06-21 20:21:35 8998浏览 3点赞 1回复 2收藏
登录虚拟机,用户名使用root,密码使用123456,登录成功后使用如下命令查看虚拟机配置是否正常:ipacatetcsysconfignetworkscriptsifcfgens33pingbaidu.com拍照前先使用命令关机:shutdownhnow注意:1.开机状态下拍快照占用很大空间,且容易丢失数据。2.不要使用关闭客户机的方式,如下图:关机状态下选择快照拍摄快照:后面安装K8S出错了,可以利用快照还原。
2022-06-20 21:52:28 6439浏览 2点赞 0回复 2收藏
本节介绍通过VMware安装K8S集群所需要的Master节点和Node节点,安装方法一模一样。其中Master节点安装3台虚拟机,分别命名为k8smaster01、k8smaster02和k8smaster03。Node节点安装2台虚拟机,分别命名为k8snode01和k8snode02。由于虚拟机数量很少,而且只是用于学习测试,所以IP并没有使用不同网段。点击“创建新的虚拟机”:选择“自定义(高级)”,点击“下一步”按钮:点击“下一步”按钮:选择“稍后安装操作系统”,点击“...
2022-06-17 15:28:37 1.1w浏览 5点赞 1回复 2收藏