首页 文章 精选 留言 我的

精选列表

搜索[分片功能],共10000篇文章
优秀的个人博客,低调大师

一行Python可以实现的功能

手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建。基础工作之一,就是要把这些图片数据读出来,组织成一个三维的数据结构(实际上是四维的,因为每个像素有 RGBA 四个通道)。 这个数据结构,自然是 numpy 的 ndarray 对象,读取图像文件我习惯使用 PIL。因此,需要导入两个模块: import numpy as np from PIL import Image 接下来,我用一行代码就把 109 张图片读到了一个 109x256x256x4 的 numpy 数组中,耗时 172 毫秒: ata = np.stack([np.array(Image.open('head%d.png'%i)) for i in range(109)], axis=0) ​ 突然,想要分享一些经验的感觉袭来,需要更多分享的可以点击 https://jq.qq.com/?_wv=1027&k=5CwKvd6 一行代码打印乘法口诀 print('n'.join([' '.join(["%2s x%2s = %2s"%(j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)])) 一行代码打印迷宫 print(''.join(__import__('random').choice('u2571u2572') for i in range(50*24))) 一行代码表白爱情 print('n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x0.05)2+(y0.1)2-1)3-(x0.05)2(y0.1)*3 <= 0else' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))

优秀的个人博客,低调大师

Java 后端实现Mock功能返回JSON文件

前后端分离的项目中,类似行政区选择,前端控件一般获取全部数据进行渲染,如果这些数据每次都查询数据库开销会很大。 其实方法有很多种,1直接放前端项目中 2使用nginx代理 3Java渲染JSON文件 相对来说第三种方法对我们后端来说容易维护,主要方法如下: /** * 读取json格式文件 * @param jsonSrc * @return */ private String readJson(String jsonSrc) { String json = ""; try { //File jsonFile = ResourceUtils.getFile(jsonSrc); //json = FileUtils.re.readFileToString(jsonFile); //换个写法,解决springboot读取jar包中文件的问题 InputStream stream = getClass().getClassLoader().getResourceAsStream(jsonSrc.replace("classpath:", "")); json = IOUtils.toString(stream); } catch (IOException e) { log.error(e.getMessage(),e); } return json; } 然后Controller直接调用readJson方法得到JSON文件的内容渲染出去 /** * 省市县 */ @GetMapping(value = "/getArea") public String area() { return readJson("classpath:com/mxthd/demo/mock/json/area.json"); }

优秀的个人博客,低调大师

阿里云 BIM可视化功能拓展

写在前面 阿里云物联网提供的三维可视化能力,详见https://iot.console.aliyun.com/scene ,虽然有了三维可视化,但是也局限于三维可视化,能用来什么呢,本文就是引用三维可视化能力,拓展空间应用能力。 开始正文 第一步 准备好需要的模型,如果在模型准备阶段有问题,可以参考下述文章 智慧园区-楼层搭建之复杂CAD处理 智慧园区-楼宇建模技巧之【室内第一篇】 智慧园区-楼宇建模技巧之【建楼篇 】 阿里云三维可视化使用初体验 第二步 选择进入物联网园区平台https://si.iot.aliyun.com 建立好项目之后,出现如下图片, 选择“三维可视化” 上传模型文件 等三维文件上传完成后点击 确定 可以看到三维可视化场景 切换tab到空间管理,可以看到空间信息已经初始化完成 第三步 有了空间数据之后,可以做什么事呢? 空间管理, 举个例子,比如停车场车位管理 空间-设备管理, 工位、机器管理 应用联动,在多个应用间做互动 第四步 如何使用这些空间数据呢?需要在IoT上架应用后,在对应的应用管理里(https://si.iot.aliyun.com),购买相关的应用,即可访问对应的空间数据https://iot.aliyun-inc.com/open-platform#/service/2748

优秀的个人博客,低调大师

SparkSQL ThriftServer 安全相关功能的现状分析

SparkSQL Thrift Server SparkSQL Thrift Server 是 Spark SQL基于 Apache Hive的 HiveServer2开发的,通过SparkSQL Thrift Server 可以使 Spark SQL支持 JDBC/ODBC 的连接方式,用户可以通过 JDBC and ODBC 协议,在Spark上执行 SQL. ThriftServer的安全 HiveServer2 和 SparkSQL 的Thrift Server的安全主要包含以下两方面内容: 认证(Authentication):认证就是验证用户的身份,就是我们通常说的登录 授权(Authorization):授权就是验证用户是否有权限进行特定的操作,有时也叫鉴权。 ThriftServer 认证 Apache Hive HiveSe

优秀的个人博客,低调大师

AutoScaling 支持虚拟服务器组功能

AutoScaling 伸缩组可以通过配置负载均衡实例,在伸缩组扩容时,自动将扩容出来的 ECS 实例添加到负载均衡默认服务器组中,在伸缩组缩容时,自动将待移除的 ECS 实例从负载均衡默认服务器组中移除。 现在,AutoScaling 伸缩组支持配置虚拟服务器组,在伸缩组扩容时,自动将扩容出来的 ECS 实例添加到对应的负载均衡实例虚拟服务器组中,在伸缩组缩容时,自动将待移除的 ECS 实例从对应的负载均衡实例虚拟服务器组中移除。通过使用弹性伸缩组新上线的虚拟服务器组特性,您可以对伸缩组内 ECS 实例的请求转发实现更加精细化的管理。您还可以通过 AttachVServerGroups 和 DetachVServerGroups 接口,随时增加或者减少伸缩组内的虚拟服务器组。 本文将为您介绍如何通过 JAVA SDK 的方式创建带有虚拟服务器组的伸缩组,以及如何使用 AttachVServerGroups 和 DetachVServerGroups 接口来管理伸缩组内的虚拟服务器组。 负载均衡(SLB)虚拟服务器组 虚拟服务器组 (VServer group)是一组 ECS 实例的集合。虚拟服务器组允许您在监听维度上个性化定义服务器组,即负载均衡实例下的不同监听可使用不同的虚拟服务器组,可以满足域名和 URL 转发的个性化需求。 如果您没有创建虚拟服务器组,负载均衡实例会将请求按照您设置的权重和监听规则转发给所有添加到默认服务器组的后端服务器 (ECS 实例);如果您创建了虚拟服务器组,负载均衡实例会将请求按照您设置的监听规则转发给关联的虚拟服务器组,负载均衡实例对应的默认服务器组添加的后端服务器(ECS 实例)不再接收请求。 使用限制 虚拟服务器组只能添加监听所在地域的后端服务器。 一个后端服务器可以属于多个虚拟服务器组。 一个实例可以通过不同的端口号在同一个虚拟服务器组绑定多次。 弹性伸缩服务伸缩组中的虚拟服务器组的唯一性由负载均衡ID+虚拟服务器组ID+端口号确定。 关于虚拟服务器组的更多信息,您可以通过 管理虚拟服务器组 进行了解。 创建带有虚拟服务器组的伸缩组 本章将向您介绍如何使用 JAVA SDK 和 ESS控制台 来创建带有虚拟服务器组的伸缩组。 通过 ESS 控制台 首先登陆 ESS控制台 ,点击创建伸缩组按钮,弹出如下伸缩组创建界面: 选择负载均衡实例,控制台会自动为您配置当前负载均衡实例的默认服务器组,通过点击虚拟服务器组按钮,可以将负载均衡下的虚拟服务器组配置到当前伸缩组,配置虚拟服务器组时需要填写端口号(即弹性伸缩创建出来的ECS实例添加到虚拟服务器组使用的端口号)、权重(即弹性伸缩创建出来的ECS实例添加到虚拟服务器组使用的权重)信息,配置好以后点击确定即可。 伸缩组创建好以后,可以查看当前伸缩组对应的虚拟服务器组信息,如下图所示: 至此,配置有虚拟服务器组的伸缩组创建好了。 通过 JAVA SDK 导入 ESS Java SDK 首先,您需要下载 aliyun-java-sdk-core、aliyun-java-sdk-ess 两个依赖,您可以查看 maven-central 界面,搜索并下载相应的 jar 包,aliyun-java-sdk-ess 对应的 jar 包的版本号需要是 2.2.8 及以上版本才能使用虚拟服务器组特性,aliyun-java-sdk-core 推荐使用最新的版本。 您可以选择使用 maven 来管理您 Java 项目的依赖库,在您的项目对应的 pom.xml 文件中加入下面的依赖项即可: <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-ess</artifactId> <version>2.2.8</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>3.5.0</version> </dependency> 使用 JAVA SDK 创建带有虚拟服务器组的伸缩组 导入 ESS Java SDK 到您的 Java 工程以后,您就可以创建带有虚拟服务器组的伸缩组了,代码如下: import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.ess.model.v20140828.CreateScalingGroupRequest; import com.aliyuncs.ess.model.v20140828.CreateScalingGroupResponse; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; import java.util.ArrayList; import java.util.List; public class EssSdkDemo { public static final String REGION_ID = "cn-hangzhou"; public static final String AK = "xxxxxxxxxxxxxx"; public static final String AKS = "xxxxxxxxxxxxxx"; public static void main(String[] args) throws Exception { IClientProfile clientProfile = DefaultProfile.getProfile(REGION_ID, AK, AKS); IAcsClient client = new DefaultAcsClient(clientProfile); createScalingGroupWithVServerGroup(client); } public static void createScalingGroupWithVServerGroup(IAcsClient client) throws Exception { CreateScalingGroupRequest request = new CreateScalingGroupRequest(); request.setScalingGroupName("测试虚拟服务器组"); request.setMinSize(0); request.setMaxSize(100); //伸缩组配置的交换机列表,推荐配置不同可用区下的交换机,提高伸缩组扩容成功率 List<String> vSwitchIds = new ArrayList<String>(); vSwitchIds.add("vsw-aaaaaaa"); vSwitchIds.add("vsw-bbbbbbb"); request.setVSwitchIds(vSwitchIds); //虚拟服务器组参数列表 List<CreateScalingGroupRequest.VServerGroup> vServerGroups = new ArrayList<CreateScalingGroupRequest.VServerGroup>(); //负载均衡实例 lb-aaaaaaaa 对应的虚拟服务器组列表 CreateScalingGroupRequest.VServerGroup vServerGroupA = new CreateScalingGroupRequest.VServerGroup(); vServerGroupA.setLoadBalancerId("lb-aaaaaaaa"); //虚拟服务器组属性列表参数 List<CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute> vServerGroupAttributesA = new ArrayList<CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute>(); //添加虚拟服务器组rsp-aaaaa,指定实例添加到虚拟服务器组的端口号为20,权重不设置,选择默认值50 CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute vServerGroupAttribute1 = new CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute(); vServerGroupAttribute1.setVServerGroupId("rsp-aaaaa"); vServerGroupAttribute1.setPort(20); vServerGroupAttributesA.add(vServerGroupAttribute1); //添加虚拟服务器组rsp-bbbbb,指定实例添加到虚拟服务器组的端口号为30,权重设置为100 CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute vServerGroupAttribute2 = new CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute(); vServerGroupAttribute2.setVServerGroupId("rsp-bbbbb"); vServerGroupAttribute2.setPort(30); vServerGroupAttribute2.setWeight(100); vServerGroupAttributesA.add(vServerGroupAttribute2); //设置虚拟服务器组属性列表 vServerGroupA.setVServerGroupAttributes(vServerGroupAttributesA); vServerGroups.add(vServerGroupA); //负载均衡实例 lb-bbbbbbbb 对应的虚拟服务器组列表 CreateScalingGroupRequest.VServerGroup vServerGroupB = new CreateScalingGroupRequest.VServerGroup(); vServerGroupB.setLoadBalancerId("lb-bbbbbbbb"); //虚拟服务器组属性列表参数 List<CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute> vServerGroupAttributesB = new ArrayList<CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute>(); //添加虚拟服务器组rsp-cccccc,指定实例添加到虚拟服务器组的端口号为40,权重不设置,选择默认值50 CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute vServerGroupAttribute3 = new CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute(); vServerGroupAttribute3.setVServerGroupId("rsp-cccccc"); vServerGroupAttribute3.setPort(40); vServerGroupAttributesB.add(vServerGroupAttribute3); //添加虚拟服务器组rsp-dddddd,指定实例添加到虚拟服务器组的端口号为50,权重不设置,选择默认值50 CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute vServerGroupAttribute4 = new CreateScalingGroupRequest.VServerGroup.VServerGroupAttribute(); vServerGroupAttribute4.setVServerGroupId("rsp-dddddd"); vServerGroupAttribute4.setPort(50); vServerGroupAttributesB.add(vServerGroupAttribute4); //设置虚拟服务器组属性列表 vServerGroupB.setVServerGroupAttributes(vServerGroupAttributesB); vServerGroups.add(vServerGroupB); request.setVServerGroups(vServerGroups); CreateScalingGroupResponse response = client.getAcsResponse(request); System.out.println(response.getScalingGroupId()); } } 使用上述代码,可以创建配置了四个虚拟服务器组的伸缩组。伸缩组配置的虚拟服务器组信息如下: 负载均衡实例 lb-aaaaaaaa 下的虚拟服务器组 虚拟服务器组 rsp-aaaaa,使用的端口号为 20,权重为 50 虚拟服务器组 rsp-bbbbb,使用的端口号为 30,权重为 100 负载均衡实例 lb-bbbbbbbb 下的虚拟服务器组 虚拟服务器组 rsp-cccccc,使用的端口号为 40,权重为 50 虚拟服务器组 rsp-dddddd,使用的端口号为 50,权重为 50 当伸缩组发生扩容伸缩活动时,扩容创建出来的 ECS 实例自动添加到上述四个虚拟服务器组中,并按照伸缩组中对应的虚拟服务器组设置的端口号和权重添加 ECS 实例;当伸缩组发生缩容伸缩活动时(移出伸缩组并释放),待移出伸缩组并释放的 ECS 实例会自动从上述四个虚拟服务器组中移除。 注意: 上述代码中,AK、AKS、虚拟服务器组ID、负载均衡ID等参数需要您根据实际情况进行设置。 每个伸缩组目前支持配置 5 个虚拟服务器组(负载均衡实例ID+虚拟服务器组ID+端口号相同视为一个虚拟服务器组),如果同一个虚拟服务器组设置了不同的端口号配置到伸缩组中,则视为添加了多个虚拟服务器组 如果参数中同一个虚拟服务器相同的端口号设置了多次,则只取参数中最先设置的,接口会自动进行去重处理,不报错 伸缩组添加虚拟服务器组 如果伸缩组创建完成以后,您想添加虚拟服务器组到伸缩组中,可以通过使用 AttachVServerGroups 接口 或者 登陆 ESS控制台 通过修改伸缩组来实现。 通过 ESS 控制台向伸缩组添加虚拟服务器组 登录 ESS控制台,找到对应的伸缩组,点击修改伸缩组,弹出如下伸缩组修改对话框: 修改虚拟服务器组,点击确定即可。 通过 AttachVServerGroups 接口向伸缩组添加虚拟服务器组 通过 AttachVServerGroups 接口向伸缩组添加虚拟服务器组,对应的 JAVA 代码如下: import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.ess.model.v20140828.AttachVServerGroupsRequest; import com.aliyuncs.ess.model.v20140828.AttachVServerGroupsResponse; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; import java.util.ArrayList; import java.util.List; public class EssSdkDemo { public static final String REGION_ID = "cn-hangzhou"; public static final String AK = "xxxxxxxxxxxxxx"; public static final String AKS = "xxxxxxxxxxxxxx"; public static void main(String[] args) throws Exception { IClientProfile clientProfile = DefaultProfile.getProfile(REGION_ID, AK, AKS); IAcsClient client = new DefaultAcsClient(clientProfile); attachVServerGroups(client); } public static void attachVServerGroups(IAcsClient client) throws Exception { AttachVServerGroupsRequest request = new AttachVServerGroupsRequest(); request.setScalingGroupId("asg-xxxxxxxx"); request.setRegionId(REGION_ID); //待添加的虚拟服务器组列表 List<AttachVServerGroupsRequest.VServerGroup> vServerGroups = new ArrayList<AttachVServerGroupsRequest.VServerGroup>(); //负载均衡实例 lb-aaaaaa 对应的虚拟服务器组列表 AttachVServerGroupsRequest.VServerGroup vServerGroup = new AttachVServerGroupsRequest.VServerGroup(); vServerGroup.setLoadBalancerId("lb-aaaaaa"); List<AttachVServerGroupsRequest.VServerGroup.VServerGroupAttribute> vServerGroupAttributes = new ArrayList<AttachVServerGroupsRequest.VServerGroup.VServerGroupAttribute>(); AttachVServerGroupsRequest.VServerGroup.VServerGroupAttribute vServerGroupAttribute = new AttachVServerGroupsRequest.VServerGroup.VServerGroupAttribute(); vServerGroupAttribute.setVServerGroupId("rsp-aaaaaaa"); vServerGroupAttribute.setWeight(60); vServerGroupAttribute.setPort(100); vServerGroupAttributes.add(vServerGroupAttribute); vServerGroup.setVServerGroupAttributes(vServerGroupAttributes); vServerGroups.add(vServerGroup); request.setVServerGroups(vServerGroups); //true 表示将伸缩组内的ECS实例添加到虚拟服务器组中,false 表示不添加 request.setForceAttach(false); AttachVServerGroupsResponse response = client.getAcsResponse(request); System.out.println(response.getRequestId()); } } 使用上述代码,可以实现向伸缩组 asg-xxxxxxxx 内添加虚拟服务器组 rsp-aaaaaaa,虚拟服务器组使用的端口号为 60,权重为 100,虚拟服务器组所属的负载均衡实例为 lb-aaaaaa。如果 ForceAttach 参数设置为 true,表示需要将组内现存的 ECS 实例按照设置的端口号(60)和权重(100)全部添加到虚拟服务器组 rsp-aaaaaaa 后端;如果 ForceAttach 参数设置为 false,则表示不添加。 注意: 上述代码中,AK、AKS、虚拟服务器组ID、负载均衡ID等参数需要您根据实际情况进行设置。 如果请求参数中的虚拟服务器组已经在伸缩组中存在(负载均衡ID+虚拟服务器组ID+端口号都相同则认为存在),则忽略对应的虚拟服务器组+端口号,并且接口不报错 如果请求参数中的虚拟服务器组重复(负载均衡ID+虚拟服务器组ID+端口号都相同则认为重复),则只取参数中最先设置的,接口自动去重,并且不报错 伸缩组移除虚拟服务器组 如果伸缩组创建完成以后,您想移除伸缩组中已经配置好的虚拟服务器组,可以通过使用 DetachVServerGroups 接口 或者 登陆 ESS控制台 通过修改伸缩组来实现。 通过 ESS 控制台将虚拟服务器组从伸缩组中移除 登录 ESS控制台,找到对应的伸缩组,点击修改伸缩组,弹出如下伸缩组修改对话框: 修改虚拟服务器组,点击确定即可。 通过 DetachVServerGroups 接口将虚拟服务器组从伸缩组中移除 通过 DetachVServerGroups 接口将虚拟服务器组从伸缩组中移除,对应的 JAVA 代码如下: import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.ess.model.v20140828.DetachVServerGroupsRequest; import com.aliyuncs.ess.model.v20140828.DetachVServerGroupsResponse; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; import java.util.ArrayList; import java.util.List; public class EssSdk2Demo { public static final String REGION_ID = "cn-hangzhou"; public static final String AK = "xxxxxxxxxxxxxx"; public static final String AKS = "xxxxxxxxxxxxxx"; public static void main(String[] args) throws Exception { IClientProfile clientProfile = DefaultProfile.getProfile(REGION_ID, AK, AKS); IAcsClient client = new DefaultAcsClient(clientProfile); detachVServerGroups(client); } public static void detachVServerGroups(IAcsClient client) throws Exception { DetachVServerGroupsRequest request = new DetachVServerGroupsRequest(); request.setScalingGroupId("asg-xxxxxxxx"); request.setRegionId(REGION_ID); //待添加的虚拟服务器组列表 List<DetachVServerGroupsRequest.VServerGroup> vServerGroups = new ArrayList<DetachVServerGroupsRequest.VServerGroup>(); //负载均衡实例 lb-aaaaaa 对应的虚拟服务器组列表 DetachVServerGroupsRequest.VServerGroup vServerGroup = new DetachVServerGroupsRequest.VServerGroup(); vServerGroup.setLoadBalancerId("lb-aaaaaa"); List<DetachVServerGroupsRequest.VServerGroup.VServerGroupAttribute> vServerGroupAttributes = new ArrayList<DetachVServerGroupsRequest.VServerGroup.VServerGroupAttribute>(); DetachVServerGroupsRequest.VServerGroup.VServerGroupAttribute vServerGroupAttribute = new DetachVServerGroupsRequest.VServerGroup.VServerGroupAttribute(); vServerGroupAttribute.setVServerGroupId("rsp-aaaaaaa"); vServerGroupAttribute.setWeight(60); vServerGroupAttributes.add(vServerGroupAttribute); vServerGroup.setVServerGroupAttributes(vServerGroupAttributes); vServerGroups.add(vServerGroup); request.setVServerGroups(vServerGroups); //true 表示将伸缩组内的ECS实例从虚拟服务器组移除,false 表示不移除 request.setForceDetach(false); DetachVServerGroupsResponse response = client.getAcsResponse(request); System.out.println(response.getRequestId()); } } 使用上述代码,可以实现将伸缩组 asg-xxxxxxxx 中已经存在的端口号为 60 的虚拟服务器组 rsp-aaaaaaa 移除,虚拟服务器组所属的负载均衡实例为 lb-aaaaaa。如果 ForceDetach 参数设置为 true,表示需要将伸缩组内现存且在虚拟服务器组 rsp-aaaaaaa 中添加了的端口号为 60 的 ECS 实例从虚拟服务器组中移除;如果 ForceAttach 参数设置为 false,则表示不移除。 注意: 上述代码中,AK、AKS、虚拟服务器组ID、负载均衡ID等参数需要您根据实际情况进行设置。 如果请求参数中的虚拟服务器组在伸缩组中不存在(负载均衡ID+虚拟服务器组ID+端口号都相同则认为存在,反之为不存在),则忽略,并且接口不报错 写在最后 您可以在伸缩组中配置虚拟服务器组,对伸缩组内的 ECS 实例实现灵活的请求转发管理,并且通过 AttachVServerGroups 和 DetachVServerGroups 接口,您可以随时增加或者减少伸缩组内的虚拟服务器组,降低了虚拟服务器组与伸缩组的耦合程度,大大增加了您使用上的灵活性与实用性。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册