首页 文章 精选 留言 我的

精选列表

搜索[云压测],共10000篇文章
优秀的个人博客,低调大师

亲测Ubuntu18下安装MySQL未提示密码不能登录问题

1.Ubuntu18.04 安装采用sudo apt install mysql-server 后,发现在安装过程中没有提示设置root密码,但是登录的时候还要求输入root密码,百度各种,依然没有解决问题。 并且安装MySQL8.0时虽然设置了root密码,但是该密码进不去。 2.首先考虑的就是版本问题,考虑Ubuntu18.04是否还兼容MySQL,问题1中直接用命令安装的话是默认安装MySQL5.7版本。于是去MySQL官网安装指南翻译了一下,发现MySQL刚刚出了新版本8.0,这么凑巧,Ubuntu刚发布了18.04版本,MySQL就发布8.0版本,严重怀疑是因为Ubuntu18.04不支持MySQL5.7了,所以MySQL才发布了8.0版本,为了验证这个问题,在离线安装指南页面发现MySQL5.7版本最高只是适配到Ubuntu17.04,而MySQL8.0最高适配到Ubuntu18.04 3.这就没什么好说的了,只能安装MySQL8.0版本了。在MySQL官网安装指南写的很清楚了,一共就三步,去http://dev.mysql.com/downloads/repo/apt/.下载一个xxxx.deb,然后安装,弹出界面如下图所示,目的是让你选择安装8.0还是5.x版本,当然选择8.0了。 然后sudo apt update更新一下,sudo apt install mysql-server 直接安装就行了,这时你就会发现默认安装的是8.0版本了。 安装到最后会弹出设置root密码的界面,设置好密码后会弹出如下的界面: 命令:linux@ubuntu:~/下载$ sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb linux@ubuntu:~/下载$ sudo apt updatelinux@ubuntu:~/下载$ sudo apt install mysql-serverlinux@ubuntu:~/下载$ mysql -uroot -p密码是:root更详细方法浏览:https://blog.csdn.net/zyqblog/article/details/80159990

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

Mavenjar包冲突的问题解决(亲测有效、实力证明)

一、今天在Pom中添加了一个依赖,导致Jar包冲突。 在启动项目的时候,会包jar包冲突的问题。下面以SpringBoot项目为例。 我在Pom.xml文件中添加了一个依赖: <dependency> <groupId>org.ethereum</groupId> <artifactId>ethereumj-core</artifactId> <version>1.6.3-RELEASE</version> </dependency> 二、在启动项目的时候就会报一个错误 Connected to the target VM, address: '127.0.0.1:57577', transport: 'socket' SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/Users/wangdong/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.7/log4j-slf4j-impl-2.7.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/Users/wangdong/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] The Class-Path manifest attribute in /Users/wangdong/.m2/repository/com/sun/xml/bind/jaxb-core/2.3.0/jaxb-core-2.3.0.jar referenced one or more files that do not exist: file:/Users/wangdong/.m2/repository/com/sun/xml/bind/jaxb-core/2.3.0/jaxb-api.jar The Class-Path manifest attribute in /Users/wangdong/.m2/repository/com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.3.0.jar referenced one or more files that do not exist: file:/Users/wangdong/.m2/repository/com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-core.jar Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.apache.logging.slf4j.Log4jLoggerFactory loaded from file:/Users/wangdong/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.7/log4j-slf4j-impl-2.7.jar). If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml: org.apache.logging.slf4j.Log4jLoggerFactory at org.springframework.util.Assert.instanceCheckFailed(Assert.java:389) at org.springframework.util.Assert.isInstanceOf(Assert.java:327) at org.springframework.boot.logging.logback.LogbackLoggingSystem.getLoggerContext(LogbackLoggingSystem.java:274) at org.springframework.boot.logging.logback.LogbackLoggingSystem.beforeInitialize(LogbackLoggingSystem.java:98) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationStartingEvent(LoggingApplicationListener.java:230) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:209) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:69) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:48) at org.springframework.boot.SpringApplication.run(SpringApplication.java:292) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) at com.gws.GwsWebApplication.main(GwsWebApplication.java:19) ... 5 more Disconnected from the target VM, address: '127.0.0.1:57577', transport: 'socket' Process finished with exit code 0 三、仔细看一下这里面的报错 关于日志的两个冲突了,我自己用的是log4j,结果还有一个slf4j SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/Users/wangdong/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.7/log4j-slf4j-impl-2.7.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/Users/wangdong/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar!/org/slf4j/impl/StaticLoggerBinder.class] 四、定位一下冲突的这个slf4j在哪里。 通过下面这个找: /Users/wangdong/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar 五、下面看看红线框部分的jar包是不是刚刚引入的 把刚刚引入Maven项注释掉,重新编译导下包。 六、发现第四部的那两个jar包消失了,那么就说明是刚刚添加的依赖产生了jar包冲突的问题了。 七、那么现在就开始来排除依赖 八、这个一定要放到对应的依赖里面 groupId和artifactId一定要根据IDEA的提示写正确。 <exclusions> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> </exclusions> 九、写完后就会发现,冲突的包不见了,就解决啦 最后再启动项目,就会成功了。

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

先把 quantile 的计算方法写进回测配置

做横截面选股时,经常会用“因子排名前 20%”作为入选条件。样本足够大时,分位点的算法差异不明显;但股票数量较少、因子值重复较多,或者滚动窗口刚启动时,同样的 80% 分位数可能得到不同阈值,最终连持仓名单都会变化。 问题通常藏在 `quantile` 的默认参数里。NumPy 的 `np.quantile` 默认使用 `method="linear"`,当目标分位点落在两个样本之间时,会做线性插值。假设排序后的因子只有 `[1, 2, 4, 8]`,计算 0.75 分位数时,结果不一定直接等于其中某个观测值。如果策略规则是“因子大于等于阈值就买入”,插值得到的阈值会影响边界股票是否入选。 如果业务含义要求阈值必须来自实际观测,可以明确选择离散方法,例如: ```python threshold = np.quantile(factor, 0.8, method="higher") selected = factor >= threshold ``` `highe` 会取上侧观测值,`lower` 取下侧观测值,`nearest` 取最近值;它们没有统一的“最好”,关键是和策略定义一致。需要注意的是,NumPy 1.22 之后参数名由 `interpolation` 改为 `method`。如果研究环境和生产环境版本不同,最好在依赖文件里锁定版本,并为阈值写一个小型单元测试。 我还会同时记录三个条件:计算前是否剔除缺失值、相同因子值如何处理、入选条件用 `>` 还是 `>=`。特别是大量股票因子值相同时,单靠分位数无法保证持仓数量正好等于 20%,这时应再加稳定的次级排序规则,例如股票代码或流动性指标,避免每次运行因原始顺序不同而换股。 分位数看起来只是一个函数调用,但它其实属于策略口径。把 `method`、缺失值处理和边界比较写进配置,比只写“取前 20%”更容易复现,也能减少研究端与实盘端的信号差异。

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

【揭秘】淘宝AI购物技术:AI替用户下单,付款链路怎么测?

>摘要:千问与淘宝打通商品发现、比较、下单和售后后,AI购物不再只是“推荐商品”。本文依据阿里巴巴与支付宝公开资料,把一句自然语言购物需求拆成商品、报价、确认、订单、支付和异步结果六段证据,并给出可运行的行为断言、异常测试矩阵与持续回归方案。 阿里巴巴在2026年5月11日公开宣布,千问App与淘宝全面互通。公开资料描述的范围不只是聊天推荐,而是覆盖商品发现、比较、下单和售后;千问还能调用淘宝天猫商品库,并通过订单管理、物流追踪和售后服务等Agent能力完成电商任务。淘宝App内也上线了千问AI购物助手,提供AI问答、AI试穿、AI种草和AI省钱等功能。 这是一条已经公开的产品事实,但它不等于“淘宝出现过AI错误扣款事故”。为了把公开能力转成可执行的测试任务,本文构造一条技术推演用例:用户对AI说,“帮我选一台3000元以内、256GB、明天能送到的平板,优先官方旗舰店,有合适的就提醒我确认。”Agent完成搜索、比较和优惠计算后,准备创建订单并进入付款链路。 真正需要测试的,不只是AI有没有找到商品。如果推荐页显示2899元,付款前优惠券失效变成3099元怎么办?如果256GB缺货后Agent换成同色128GB怎么办?如果第一次付款响应超时,Agent换一个幂等键重新提交怎么办?这些异常都可能得到一个“订单成功”的结尾,却没有完成用户真正授权的那笔交易。 本文要解决的问题是:当自然语言开始驱动真实订单,测试团队怎样证明AI买的是用户确认的商品、付的是用户确认的金额、只付了一次,而且每一步都有证据可追。 ![image.png](https://developer.qcloudimg.com/http-save/yehe-9678105/1fb1d57ca3e1d70526b6154e26dc9a2c.png) ## AI购物改变的不是入口,而是决策链 传统电商测试有一个清楚的界面边界:用户看商品详情、选择SKU、勾选优惠、确认地址,再主动点击支付。每次关键决策都有页面承载。AI购物把这些选择压缩进对话,Agent可能替用户完成搜索、过滤、比价、选券和下单,用户最后只看到一张确认卡片。 问题也随之变化。以前测试一张结算页,可以直接核对商品、数量、价格和地址;现在这些字段可能来自不同工具和不同时间:商品工具返回SKU,优惠工具计算券,订单工具锁库存,支付工具完成交易。任何一次工具结果过期、参数继承错误或重试失控,都可能让最终订单偏离最初意图。 因此,AI购物不能只做Outcome Evaluation——“订单是否创建、支付是否成功”;还要做Behavioral Evaluation——“Agent为什么选择这个SKU、何时重新询价、确认绑定了哪一版报价、支付工具调用了几次、超时后有没有先查交易状态”。结果是终点,轨迹才是责任链。 ## 先看支付宝公开的三段支付流程 支付宝公开的移动端智能体支付文档,把链路拆成三个阶段:第一阶段由智能体平台提交用户购买意图,商家服务端发起预下单;第二阶段由智能体平台发起智能体支付加签,获取orderStr并唤起支付宝客户端SDK;第三阶段由支付宝服务端异步通知最终支付结果。 这张官方流程图很重要,因为它说明“AI发起付款”并不是一次接口调用。用户意图、商家预下单、支付加签、客户端支付和异步结果属于不同环节。测试如果只拿到最后的成功回调,无法证明前面的商品、金额和授权没有被换过。 ![image.png](https://developer.qcloudimg.com/http-save/yehe-9678105/1faa3505195f92f740887e0b18496742.png) ## 把一句购物需求编译成“购买合同” “3000元以内的平板”不是完整授权。测试团队需要把它编译成一份机器可校验的购买合同,至少包括:商品类别、SKU约束、容量、数量、商家范围、最高实付、收货地址版本、最晚送达时间、允许使用的优惠、是否允许替代,以及哪些变化必须重新确认。 以这条用例为例,可以把红线写清楚:实付不得超过3000元;容量必须是256GB;商家改变、SKU改变或地址改变必须重新确认;优惠失效导致价格上涨时旧确认立即失效;同一购买意图只能产生一笔成功支付;支付状态未知时先查询原交易,禁止直接新建第二笔支付。 这里最关键的不是Prompt,而是独立于模型的业务Oracle。无论换成哪个模型、怎样改提示词,Agent最后都必须接受同一套确定性规则检查。否则,模型既解释需求,又生成订单,还评价自己是否做对,极容易出现“同源共错”。 ## 用Trace断言,而不是看聊天截图 测试数据可以为每次任务生成一个不可变的purchase_intent_id,把用户意图、候选商品、最终SKU、报价、确认、订单、付款和异步结果串在一起。下面这段代码不是为了展示语法,而是承担六个业务判断。 ```python def assert_purchase_trace(trace, contract): # 1. 买到的必须是用户允许的规格 assert trace["selected"]["category"] == contract["category"] assert trace["selected"]["storage_gb"] == contract["storage_gb"] # 2. 商家、SKU、金额必须与用户确认的报价完全绑定 approved = trace["confirmation"] payment = trace["payment_request"] assert payment["sku_id"] == approved["sku_id"] assert payment["merchant_id"] == approved["merchant_id"] assert payment["quote_hash"] == approved["quote_hash"] assert payment["amount"] 本文部分内容参考了霍格沃兹测试开发学社整理的相关技术资料,主要涉及软件测试、自动化测试、测试开发及 AI 测试等内容,侧重测试实践、工具应用与工程经验整理。

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

Jev火了之后,AI质检开始只输出概率:这种模型到底该怎么测?

摘要:从近期决策模型Jev切入,拆解“只输出概率”的AI质检器为什么仍会产生高置信误判,并给出数据集、阈值、校准、漂移和CI门禁的完整测试方法。 客服回复了一句:“已经帮您申请退款,预计三个工作日到账。”AI质检器返回:合规概率0.94。流水线据此放行,第二天业务才发现,这个订单根本不满足退款条件,客服也没有真正发起退款。 ![image.png](https://developer.qcloudimg.com/http-save/yehe-9678105/41eed0c6e60ceafb167b725abc0967a0.png) 这类问题和聊天机器人答错不一样。决策模型不负责写一段漂亮答案,它只做判断:合规还是违规、投诉属于哪一类、图片有没有缺陷、这条请求要不要转人工。输出看起来更简单,却可能直接控制后续流程。一旦概率被当成事实,错误就会从“回答不好”升级为“放错、拦错、分错”。 Liquid AI在10月5日发布了支持文本和图像的d1决策模型。官方介绍中,它不生成长文本,而是针对问题返回各选项概率;页面还展示了工单过滤、代码搜索和视觉质检等案例。官方同时公布了与通用模型的单次对比结果,但这些数字属于厂商自报实验,不能直接当成你业务上的上线结论。 ![image.png](https://developer.qcloudimg.com/http-save/yehe-9678105/1b6751af3e8b30413d333e8fa6805a5b.png) 这里我们不讨论谁的Benchmark更高,而是回答测试工程师真正会碰到的问题: 当AI只返回一个概率,数据怎么准备、阈值怎么定、高置信错误怎么抓、模型升级后怎么回归,以及怎样把它安全接进CI/CD。 ## 准确率高,为什么仍然会放错? 假设质检集有一万条,其中九千条都是清晰、普通的合规回复。模型只要把常见样本判对,总准确率就很好看。但真正造成损失的,往往是少数边界:退款规则存在例外、客服承诺了系统并未执行的动作、图片主体正常但角落出现敏感信息。 因此第一步不是追求一个总准确率,而是把错误拆成业务类型。把违规回复判成合规,是漏放;把正常回复判成违规,是误拦;把本该转人工的灰区样本高置信放行,则是最危险的一类。三种错误的成本完全不同,不能平均掉。 ![image.png](https://developer.qcloudimg.com/http-save/yehe-9678105/c8241f1109aab20151113a513ca7f145.png) 决策模型还多了一个传统分类测试容易忽略的维度:概率是否可信。模型给0.9,不代表同类样本真的有九成正确。如果0.9区间里仍有大量错误,业务阈值就失去了意义。 ## 先把“模型判断”拆成四段证据 一条质检链路至少有四段。第一段是输入:模型到底看到了完整客服对话,还是只看最后一句;图片是否被压缩、裁剪或旋转。第二段是概率:每个类别的分数是多少,模型版本和问题模板是什么。第三段是规则:0.8以上自动放行,0.5到0.8人工复核,还是不同业务使用不同阈值。第四段才是动作:放行、拦截、转人工或者记录观察。 如果只保存最后动作,测试无法区分是模型变了、阈值变了,还是输入被截断。Trace不需要记录模型内部思维,只要保留样本ID、输入版本、各类别概率、阈值版本、最终动作和人工复核结果,就能形成可回放证据。 ## 先写业务损失,再写阈值 同一个0.8,在不同场景里不是同一种风险。商品评论情感分类错一次,影响可能只是统计;把高风险退款话术误判为合规,可能形成资金和承诺风险;把正常用户投诉误判成攻击,则会伤害用户体验。 测试团队应和业务先写清三件事:什么错误绝不能自动放行;什么错误可以进入抽检;人工每天最多处理多少条。阈值不是从模型报告里复制出来的,而是业务损失、人工容量和模型分布共同决定的。 可以先用一段简单代码把门禁写实: ~~~python def decide_quality(sample, probs, policy): risk = probs["policy_violation"] if sample["has_money_commitment"] and risk >= 0.35: return "human_review" if risk >= policy["block_threshold"]: return "block" if risk >= policy["review_threshold"]: return "human_review" return "pass" def assert_release(report): assert report["high_confidence_false_negative"] == 0 assert report["money_case_recall"] >= 0.995 assert report["review_queue_p95"] 本文部分内容参考了霍格沃兹测试开发学社整理的相关技术资料,主要涉及软件测试、自动化测试、测试开发及 AI 测试等内容,侧重测试实践、工具应用与工程经验整理。

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

只测最终答案已经不够了:Agent Regression Testing到底在回归什么?

## 接口没报错,用户的钱为什么退错了? 客服 Agent 收到“这笔订单不要了,帮我退掉”。它最后回复“退款已提交”,用户也看到了退款金额。两小时后财务发现:退款走到了上一笔订单,优惠券却补给了当前订单。 最难排查的地方是,每个接口都正常:查单成功、退款成功、补偿成功。真正错的是 Agent 的路径——它先根据上下文猜了订单号,又在退款失败后自行换了一笔订单重试。最终文本听上去没毛病,业务动作却已经越界。 这正是 AI Agent 和普通接口自动化的分水岭。接口测试验证“给定请求,服务是否正确处理”;Agent 测试还要验证“这个请求该不该发生、参数从哪里来、失败后能不能继续试”。NVIDIA 最近关于 Agent Evaluation 的工程讨论也把重点放在多步工具调用和失败恢复,而不只是最后任务是否完成。 ## 把“退款成功”拆成四个必须成立的事实 先别急着给 Agent 打总分。退款这种高风险动作,至少要拆成订单归属、调用顺序、参数来源和停止条件。只要其中一个不成立,即使最后页面显示“退款成功”,也应该判为失败。 下面的断言故意不关心模型说了什么漂亮话,只关心它实际调用了什么: ![image.png](https://developer.qcloudimg.com/http-save/yehe-9678105/095d56f1500d44de68e35955793977a7.png) ## 用Trace写出能拦业务事故的断言 ```python def assert_refund_trace(trace, owned_orders): calls = [x for x in trace if x["type"] == "tool_call"] names = [x["name"] for x in calls] assert names[:2] == ["list_my_orders", "get_order_detail"] refund = next(x for x in calls if x["name"] == "create_refund") assert refund["arguments"]["order_id"] in owned_orders assert refund["arguments"]["reason"] in {"user_cancel", "defective"} assert names.count("create_refund") == 1 ``` 这段代码拦的不是接口 500,而是“猜订单号”“没核对归属就退款”“失败后重复扣动作”三类高损失问题。它也告诉团队,Trace 不是为了画一条漂亮链路,而是为了让测试能追溯参数来自哪一步。 ## 回归集要收集坏轨迹,不只收集标准问法 坏轨迹不等于故意写很怪的提示词。它来自真正容易发生的业务分叉:订单已部分退款、用户改过收款账户、库存锁定尚未释放、上一步工具超时但服务端其实已经成功。每修复一次线上或灰度问题,就把脱敏后的输入、工具结果和正确处理方式沉淀成一条 Evaluation Dataset。下一次模型、提示词或工具 Schema 变动时,CI 先跑这批“曾经出过事”的 Trace。 这样做的价值是从 Outcome Evaluation 升级到 Behavioral Evaluation。最终余额一样,有时只是碰巧;调用路径正确,才说明 Agent 在下一次边界条件下仍可控。质量门禁也不必一刀切:涉及钱、权限、删除操作的轨迹必须零越权;普通咨询可以允许文字风格波动,但不能允许引用不存在的订单。 第一类案例是用户表达不完整,例如“刚才那单别要了”;第二类是上下文混杂,例如同一会话里既谈上一单又谈当前单;第三类是工具失败,例如退款接口超时或订单不可退。每类都要标注“允许什么、禁止什么、失败后应该停在哪里”。 每次改 Prompt、模型、工具描述或退款规则,就在 CI 中跑这份 Agent Regression Testing。高风险断言直接阻断发布;低风险差异进入人工复核。这样你回归的不是某段固定回复,而是一条能造成真实损失的行为边界。 ## 传统测试能力怎么迁移 做过接口自动化的人已经有一半能力:你会构造数据、检查状态机、验证幂等、看日志。现在要补的是把这些判断前移到 Agent 决策过程里:把请求日志升级为 Trace,把结果断言升级为行为断言,把线上投诉升级为 Evaluation Dataset。 下一次写 Agent 用例时,先问一句:它答对以后,有没有可能还是办错了事?能用 Trace 回答这句话,你就开始在做真正的 AI 测试开发。

资源下载

更多资源
Mario

Mario

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

Nacos

Nacos

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册