首页 文章 精选 留言 我的

精选列表

搜索[提高],共10005篇文章
优秀的个人博客,低调大师

GRUB 2.12 将于今年发布,继续提高引导安全性

在上周末举办的 FOSDEM 2022 大会上,Oracle 工程师 Daniel Kiper 就 GRUB 引导加载程序的开发工作进行了年度汇报,展示了这款领先的开源引导加载程序的最新成果,以及介绍今年的计划和已达成的任务。比如 GRUB 2.12 将很快发布,并会持续致力于提升引导的安全性。 在过去的一年中,GRUB 开发者完成了 BootHole 和 BootHole2 安全修复程序,制定了 LUKS2 支持、针对许多加密磁盘和其他 LUKS(2) 的更改、更新 miniLZO 支持以及各种其他更新。 GRUB 2.12 的目标是在今年年中发布最新的修复程序。GRUB 目前的开发工作主要是围绕用 Rust 编程语言编写新的 GRUB 模块、提供 LoongArch 架构支持而进行。至于 TrenchBoot,目前因正在进行的设计讨论而暂停,其他的计划包括围绕加密磁盘和机密计算的更多工作。 若希望了解更多 GRUB 项目的状态,查看Daniel Kiper 的完整演示文稿。

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

提高意识,构建规则|深圳开源合规研讨会回顾

2021 年 8 月 20 日,Gitee 与 openEuler 联合举办的开源合规研讨会于深圳顺利举行。通过本次深圳开源合规研讨会,各位嘉宾从企业和组织、个体开发者、贡献者以及项目维护者等不同的角度,为大家分享了开源合规的重要性及必要性以及不同角色可能产生的不同风险。 上午首先进行的是闭门研讨会,研讨会由 openEuler Compliance SIG 的高琨主持,参会的有来自于百度、华为、腾讯、VIVO、招商银行、微众银行、平安科技、前海股权交易中心、天际资本等企业和投资机构的开源管理及法务人员。 高琨首先从开源软件的定义展开,通过开源软件的六大特征和相关案例,引出为何正确使用开源软件如此重要,以及如何正确使用开源软件。 随后各位嘉宾针对开源许可证的权利与义务和多个国内外开源合规案例进行了深入探讨,并对多个开源许可证进行了深入分析。 在闭门研讨会的最后,各企业的负责人通过分享自身的业务场景,对于企业使用开源软件时产生过的问题和风险进行了讨论与交流。 下午场的开放研讨会于 14:00 正式开始,首先进行分享的是来自 openEuler 的杨聪与郑志鹏。 杨聪首先带来的是开源合规知识详解,他通过什么是知识财产、常见的软件许可证类型、开源软件合规中的关键概念几大部分,详细阐述了知识产权的概念、软件中的版权(著作权)的概念以及其中与软件相关的权利和其中的专利概念。 杨聪通过对目前常用开源许可证的介绍,分析了不同许可证所适用的不同场景及权利、义务、限制的特点等。 紧随着杨聪的是郑志鹏,他分享的主题是 OpenChain 组织的开源合规 ISO 标准 。 郑志鹏以开发者开源合规指南为起点,介绍到开发者开源合规的基础是SBOM(Software Bill Of Materials),即软件成分分析,通过建立SBOM树,可以清楚知道每个组件的信息及组合方式和传染的范围,了解引入过程中的冲突性和兼容性等。 随后郑志鹏分享了许可证合规指南,以详细的流程和步骤引导,确保引入开源项目的合规性。并从开发者和组织的角度,解释了为什么组织内部需要开源软件合规流程。 郑志鹏还提到了开源软件合规的目标:了解对你的软件的开源构成和义务,并通过增加认识、了解管理风险从而促进目标达成。而要达成这些目标,对于开源软件的审核流程同样重要。 最后郑志鹏分享了常见的开源合规陷阱,如知识财产陷阱、许可证合规陷阱、合规流程陷阱来提醒组织在引入开源项目时所需要注意的事项。 研讨会的第三部分为圆桌讨论环节,由开源中国 CTO 红薯主持,以社区/企业对开源合规落地的工具需求为主题,邀请到了 openEuler 社区运营总监马全一、百度开源办公室工作组组长沈朝华、微众银行开源管理办公室负责人钟燕清以及 Tapdata 合伙人王永和。 四位嘉宾对开源合规所使用的工具、管理流程及效果进行了讨论,并讨论分析了对于开源软件的使用需要拥有的制度应该有哪些。 最后由 openEuler 社区运营总监马全一分享了 openEuler 社区 CLA 的实践,介绍了什么是 CLA(Contributor License Agreement),阐述了贡献者、使用者和代码之间的关系。以 openEuler 为例介绍了 CLA 与其的故事及随着经验增长而不断地进化,逐步保证了 openEuler 的 CLA 在全球范围内的合规性。 对于 CLA 和 DCO 的区别,马全一说道:“DCO 就是简版的 CLA,区别在于是否拥有管理能力,机制是否复杂。而 CLA 是更复杂,具有管理能力的协议。” “要不要对公司员工贡献开源做一些合规方面的限制,这是我今天主要想表达的主题”,马全一最后的总结给今天的开源合规研讨会画上了完美的句号。 Gitee 和 openEuler 也希望通过本次研讨会,引起广大开发者和厂商对开源合规问题的重视,在引用和贡献开源项目时有遵循开源合规的意识,并以此为基础开始构建开源合规的规则和政策,让开源合规逐渐不再成为问题,而是正常流程中的一环。

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

红帽与 Qualys 合作提高 Linux 和 Kubernetes 的安全性

近日红帽宣布将与 Qualys达成合作,两者将会共同努力把 Qualys 的 Cloud Agent 引入红帽 RHEL CoreOS 和红帽 OpenShift,以更好地保护两个系统。 Qualys 是云安全联盟(CSA)的创始成员,专门提供云安全、合规性和相关服务的公司,Qualys 也是第一家使用“软件即服务”(SaaS) 模型通过 Web 将漏洞管理解决方案作为应用程序提供的公司。 Qualys Cloud Agent 是一个轻量级的软件代理。一般情况下,它仅占用 2% 左右的 CPU 资源。一旦部署完整,Qualys Cloud Agent 将在后台运行并对其主机进行全面的配置评估,在将评估结果的快照上传到 Qualys 云平台。Cloud Agent 本身能够自动更新并修复漏洞,所以你不需要重新安装或重新启动它来保持最新版本的运行。 OpenShift 是红帽的专用 Kubernetes 发行版,用于协调大型容器群,这些容器承载了现代应用程序的组件,可以在任何云或基础设施上运行。至于 CoreOS,这是红帽企业 Linux 操作系统的一个特殊版本,可以与 OpenShift 配合使用,使公司能够在企业内部或云端运行基于容器的应用程序。 通过将两者集成到一起,这为 OpenShift 堆栈提供了持续的软件包和漏洞的发现。更具体地说,它的工作原理是将 Qualys 代码的一个轻量级片段放入容器镜像中来实现。从而可以在运行时进行策略驱动的监控、检测和阻断不需要的容器行为。 具体来说,Qualys Cloud Agent 为 OpenShift 管理器带来了以下功能: 查看完整清单 —— 通过全面的报告,对所有红帽企业 Linux CoreOS 节点的已安装软件、开放端口和红帽安全公告 (RHSA ) 的持续可见性; 管理主机 —— 完全集成在 Qualys 云平台上,自动检测和管理与已知漏洞的补丁和合规性有关的主机状态; 轻松部署到主机 —— 通过 Qualys Cloud Agent 简化部署,确保主机操作系统的安全。这种方法消除了修改主机、打开端口或管理凭证的需要。 获得完整的覆盖范围 —— 全面覆盖红帽 OpenShift 和 Qualys 容器安全,提供从主机操作系统到OpenShift 上运行的镜像和容器的全面可视性。 Qualys 总裁兼首席执行官 Sumedh Thakar 表示:"通过与红帽合作,我们建立了一个独特的方法来保护红帽企业 Linux CoreOS,对容器化工作负载提供完全的控制,增强 Qualys 帮助客户发现、跟踪和持续保护容器的能力。"

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

每日一博 | 如何提高大规模正则匹配的效能

背景 日常工作中会大量应用正则表达式,用正则表达式去定义规则,然后去匹配数据。这里先看两个安全场景下的正则应用需求 场景1,FTP账号被成功暴力破解后数据遭窃取 • 数据源:FTP服务器日志 • 关联逻辑:针对特定账号暴力破解,然后利用该特定账号登录成功,之后利用该特定账号下载大量文件 • 告警内容:FTP账号${user_name}被成功暴力破解后窃取数据 • 告警级别:高危 场景1中,正则表达式用于在日志中匹配多次账户登录的行为上。 场景2,Deep packet inspection (DPI) ,例如过滤网络威胁和违反安全策略的流量等 • 数据源:网络数据包 • 检测规则条件:数据命中规则集 场景2中,正则表达式用于时间序列上的多个数据包之间的安全检测。 其实,场景1中只列举了FTP被攻击的一种方式,FTP攻击还有很多其他手段,所以检测FTP被攻击的正则匹配场景的另一个特征就是整个规则集可能很大;场景2中,利用已知的入侵行为构建模式集合,通过检测网络数据包,发现是否存在不符合安全策略的行为或被攻击的迹象,这需要对数据包的载荷部分进行检测,要求匹配的速度非常快,否则将会影响用户体验。 另一方面,这里用到的正则与传统用法又不太一样,对正则的传统用法是,给定一个文本,用一个或少数几个正则规则,去匹配文本,找出文本中匹配的数据。而现在面对的问题,首先是规则的数量大,上千上万或者超过十万的规则集,如果仍然采用之前的做法,用|分割,或者外层用循环去匹配,那么处理的时间将很长,对资源的消耗也很大,基本不可接受;其次在匹配的时候,待匹配的数据不是一个完整的整体,比如说网络数据包,是一个一个接收的,这是一个流式的形式,传统的正则处理引擎不能很好的处理流式数据,需要缓存一批数据去匹配,这样匹配就不够及时,而且目前正则处理有个很大的问题,如果正则表达式写的不好,那么匹配会很慢。所以,需要一个解决方案来应对以下这些挑战: • 规则数量多 • 匹配速度要快 • 支持流式数据 • 资源消耗不能太大 Hyperscan算子介绍 针对上述正则匹配中遇到的挑战,经过调研和对比测试市面上的主流正则匹配引擎,我们最终选择了Hyperscan。 Hyperscan是Intel开源的高性能正则表达式匹配库,提供了C语言API,目前已经在很多商业项目和开源项目中得到应用。 Hyperscan具备这些特性: • 支持大部分PCRE正则语法(如果使用Chimera库,那将支持所有语法) • 支持流式匹配 • 支持多模匹配 • 采用特定指令集加速匹配 • 易于扩展 • 内部多种引擎结合 Hyperscan在设计之初就是为了更好的处理流式匹配和多模匹配,对流模式的支持极大的方便了正则用户,不再需要用户去维护接收到的数据,无需缓存数据;多模匹配允许把多个正则表达式传入并在同一时间进行匹配。 因为需要特定的指令集,所以Hyperscan对CPU有要求,如下图: CPU最低要支持SSSE3指令集,最下面一行的指令集能加速匹配 和大多数正则引擎类似,Hyperscan也包括编译和匹配阶段,编译是把正则表达式解析然后构建成内部需要的database,后续可以多次使用这个database去匹配;如果是多模匹配,编译时每个正则表达式需要有一个唯一的标识id,id在匹配的时候会用到。编译过程如下图所示: 匹配的时候Hyperscan默认会返回所有命中的结果,这点不像有些正则引擎,指定贪婪的时候返回贪婪的匹配结果,指定懒惰的时候返回懒惰的结果。匹配时如果有命中,那么会以回调函数的形式通知用户在哪个位置命中了哪个正则表达式id。匹配过程如下图所示: Hyperscan的缺点是只能是单机执行,没有分布式能力,其可以解决延迟的问题,但无法解决吞吐的问题,解决吞吐问题,可以依靠主流实时计算框架Flink。Flink 是一个在无界和有界数据流上进行状态计算的框架和分布式处理引擎。无界就是有开始但没有结束的数据,无界的数据流计算即流式计算,有界就是有开始有结束的数据,有界的数据流计算即批处理。 Flink可以用于很多的计算场景中,这里列举了3个,Flink可以处理事件驱动的程序,除了简单事件,Flink还提供了CEP库可以处理复杂事件;Flink还可以作为数据管道,做一些数据清洗筛选、转换等操作,把数据从一个存储系统转移到另一个系统;Flink可以做流或批式数据的分析、指标计算,用于大屏展示等。Flink已经成为业界公认的流式处理的第一选择。 把正则匹配引擎整合到Flink中,借助Flink强大的分布式能力,强强联合,那么将会发挥更大威力。所以提供了这样的解决方案,如下图所示: 该解决方案实现了一个自定义的UDF算子,算子支持指定只匹配输入数据中的某几个字段,算子的输出是待匹配的字段文本,匹配最终状态,包括命中,不命中,错误,超时四种状态,如果是命中的状态,那么还会返回匹配中的正则表达式的id,输出还包括输入原始数据,如果有后续处理,这样不受影响;为了进一步方便用户使用,扩展了一个新的datastream,称之为Hyperscanstream,它把算子封装进了进去,用户在使用时只需要把datastream转换为Hyperscanstream,然后通过调用一个方法就可以使用正则的算子了。整个解决方案以一个独立的jar包提供给用户,这样可以保持原来编写Flink作业的习惯,并且与Flink的核心框架解耦。 数据流转的过程是这样,数据源读取到一条记录后交给下游的Hyperscan算子,Hyperscan算子把数据交给Hyperscan子进程,子进程匹配完成后把结果返回给Hyperscan算子,然后Hyperscan算子把原始记录和匹配的结果传递给后续算子。 算子使用说明 私有化部署 针对私有化部署场景,用法如下,用户首先需要去编辑正则表达式文件,然后用工具把正则表达式编译为database并且序列化为本地文件,如果部署的环境中有HDFS,那么可以把序列化后的文件上传至HDFS,如果没有那就不用上传,然后开发Flink作业,引用序列化的文件去匹配数据。 为什么要有工具编译并序列化这一步呢,编辑完正则表达式,直接在Flink作业中使用不行吗?前面说了,Hyperscan执行包括编译和匹配阶段,如果作业中只引用正则表达式,假设作业设置了并行度为5,那么每个task都需要编译一次,一共需要编译5次,浪费资源;而且编译在hyperscan中是个相对缓慢的动作,所以把编译过程单独出来也为了加速flink作业在尽快执行。编译提前进行也有利于提前知道正则表达式是否有语法错误,或者不支持的情况,而不是作业启动后才知道。 私有化部署时,hyperscan相关依赖程序会提供给用户,依赖程序通过全静态编译而来所以无需再添加依赖,只需机器支持需要的指令集即可。 公司内部使用 使用示例 假设现在要匹配的是HTTP报文中的Host字段和Referer字段,如下图所示: 代码示例如下图: 整个逻辑分为四步,第一步要从数据源构建输入流,第二步把输入流转换为Hyperscanstream,第三步调用hyperscan方法进而使用Hyperscan算子,在第一个参数HyperscanFunction中指定要匹配的是Host和Referer字段,第四步使用匹配返回的结果,返回的结果是Tuple2对象,其中第一个字段Event是原始记录,在本例中就是整个HTTP报文,第二个字段是HyperScanRecord组成的List,HyperScanRecord类中包括匹配的字段,例如本例中Host或Referer,匹配命中的正则表达式id(如果匹配命中的话)和匹配的最终状态。 使用1万条规则集以及不同大小的待匹配样本经过测试,方案达到了期望的性能,测试结果如下图, 使用Hyperscan算子的一些建议,如下图: 前面提到,在不使用himera库时,Hyperscan有部分PCRE语法不支持的情况,在使用时要注意,下图列举了不支持的语法(使用Chimera库将会影响匹配性能) 未来展望 一方面,目前Hyperscan算子在安全、威胁感知的场景中已经得到运用,但希望能在更多场景中进行检验,理论上在所有正则匹配的场景中都能使用,比方说文本审核、内容提取等。 另一方面,也在提升Hyperscan算子易用性,比方说现在的规则发生变化时,需要重启作业才能生效,后续希望能做到规则的动态热加载。

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

有效提高java编程安全性的12条黄金法则

云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 安全性是软件开发中最复杂,最广泛和最重要的考量之一。Java是具有许多内置安全性功能的开发平台,java在长期的发展过程中,已经经过了很多高强度的安全测试,并经常更新安全漏洞。并且Java生态系统还包括用于分析和报告安全性问题的各种工具。 但是,即使有了可靠的开发平台,也同样要保持警惕。应用程序开发是一项复杂的工作,漏洞会隐藏起来不易发现。程序员应该在应用程序开发的每个阶段都考虑安全性,从类级别的代码编程到API端点授权都应该被考虑在内。 以下为大家介绍的基本规则,可以为构建更安全的Java应用程序奠定良好的基础。供参考学习! Java安全规则1:编写简单而强大的Java代码 漏洞喜欢隐藏在复杂代码中,因此在不牺牲功能的情况下使代码尽可能简单。在代码中公开尽可能少的信息,隐藏实施细节,支持可维护和安全的代码。下面三个技巧将大大有助于编写安全的Java代码: 充分利用Java的访问修饰符。为类,方法及其属性声明访问级别,可以设为private的所有内容都应该为private。 避免过度使用反射和内省。在某些情况下,应该使用这种高级技术,但是在大多数情况下,您应该避免使用它们。使用反射消除了强类型化,可能会给代码引入漏洞和不稳定性。将类名与字符串进行比较容易出错,并且很容易导致名称空间冲突。 始终定义尽可能小的API和接口。解耦组件并使它们在尽可能小的区域内交互。即使您的应用程序的某个区域出现漏洞,其他区域也将是安全的。 Java安全规则2:避免使用Java自带的序列化 序列化接受远程输入,并将其转换为完全赋值的对象。它省去了构造函数和访问修饰符,并允许未知数据流成为JVM中的运行代码。Java序列化从根本上来说是不安全的。 Oracle就有长期计划从Java中删除自带的序列化功能,甲骨文公司Java平台小组的首席架构师Mark Reinhold说,Java漏洞中的三分之一或更多都涉及到序列化的问题。 尽可能避免在Java代码中使用自带的序列化/反序列化。可以考虑使用JSON或YAML之类的序列化格式,并且永远不要公开接收并作用于序列化流的不受保护的网络请求端点。 Java安全规则3:永远不要公开未加密的凭证或PII 很多的应用,当用户在浏览器中输入密码时,密码将以纯文本格式发送到您的服务器。正确的做法是:先通过单向密码对密码进行加密,然后再将其持久保存到数据库中,然后在每次与该值进行比较时再次进行加密保存。 密码规则适用于所有个人身份信息(PII):信用卡,社会保险号等。委托给您应用程序的任何个人信息都应得到最高程度的保护。 数据库中未加密的凭据或PII是一个巨大的安全漏洞,正在等待攻击者发现。同样,切勿将原始凭据写入日志,或以其他方式传输到文件或网络。密码与密钥分开保存。 Java安全规则4:使用已知和经过测试的库 尽可能使用已知的可靠库和框架。从密码哈希到REST API授权,都要谨慎的选择第三方库。对于web应用程序安全性,Spring Security已经是事实上的标准。它提供了广泛的选择和灵活性,以适应任何应用程序体系结构,并且融合了多种安全方法。 Java安全规则5:不要对外部输入抱有幻想 无论是来自用户输入表单,数据存储区还是远程API,对于任何外部输入都不要放松警惕。 SQL注入和跨站点脚本(XSS)是由于处理外部输入错误而引起的最常见攻击。每当您收到输入时,都应该对其进行检查和校验。 Java安全规则6:始终使用PreparedStatement来处理SQL参数 每当您构建一条SQL语句时,都有可能被插入一段可执行的SQL代码。始终使用java.sql.PreparedStatement类创建SQL是一个好习惯。对于NoSQL存储(如MongoDB)也存在类似的功能。绝大部分的ORM框架,都支持该功能。 Java安全规则7:不要向用户展示服务异常信息 生产中的服务异常信息可以为攻击者提供丰富的信息来源。堆栈跟踪尤其可以揭示有关您正在使用的技术及其使用方式的信息。避免向最终用户显示堆栈跟踪信息,这非常重要。 Java安全规则8:使安全性发布保持最新 通过定期检查Oracle主页以获取security-alerts确保知道可用的重要补丁程序。每个季度,Oracle都会为Java的当前LTS(长期支持)版本提供一个自动补丁更新。问题是,只有在您购买Java支持许可证的情况下,该补丁才可用。 Java安全规则9:查找依赖库漏洞 有许多工具可以自动扫描您的代码库和依赖项是否存在漏洞。OWASP(开放式Web应用程序安全性项目)是致力于改善代码安全性的组织。OWASP的值得信赖的高质量自动代码扫描工具列表,包括多个面向Java的安全检查工具。 Java安全规则10:监视和记录用户活动 如果您没有积极地监视应用程序运行状态,那么即使是简单的暴力攻击也可能会成功攻陷你的app。使用监视和日志记录工具来监视应用程序的运行状况。监视可以提醒您注意到无法被解释的峰值,而日志记录可以帮助您了解攻击后出了什么问题。 Java安全规则11:当心DoS攻击 每当要执行消耗资源的的操作(例如将压缩文件解压缩)时,都应该监视资源使用量的增长。对其进行监视,并防止服务器资源过度使用,以及更多的自动化的应急响应方案。 Java安全规则12:考虑使用Java安全管理器 Java有一个安全管理器,可用于限制正在运行的进程可以访问的资源。它可以根据磁盘,内存,网络和JVM访问来隔离程序。缩小对应用程序的这些资源的过度占用,可以减少攻击可能造成的危害。 【云栖号在线课堂】每天都有产品技术专家分享!课程地址:https://yqh.aliyun.com/live 立即加入社群,与专家面对面,及时了解课程最新动态!【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK 原文发布时间:2020-07-13本文作者:zimug本文来自:“掘金”,了解相关信息可以关注“掘金”

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

Jboot v3.2.1 发布,优化细节、完善文档、提高稳定

Jboot 是一个基于 JFinal、JFinal-Undertow、Dubbo 等开发的微服务框架,帮助开发者降低微服务开发门槛。同时完美支持在 idea、eclipse 下多 maven 模块,对 java 代码、html、css、js 等资源文件进行热加载。爽爽开发,快乐生活。 Jboot 3.1.x 主要更新如下: 一:RPC 完全重构 Jboot 3.1.x对 RPC 进行了完全重构,在配置方便需要变更才能正常使用,API 没有变,所有可以平滑升级到 Jboot 3.1.x,虽然 API 没有改变,但是实现发送了彻底的改变。 对于 Dubbo,在 2.7.x 下新增了很多功能,比如元数据中心、配置中心等功能,Jboot 进行重构后,支持对 Dubbo 的所有内容进行配置,同时支持单个 Application 下有多注册中心、多服务协议等支持。配置上更加灵活。 二:新增门户网关 Jboot v3.1.0 还新增了门户网关,网关支持了 host、path、query等不同的条件配置,性能极高,同时支持基于 Sentinel 下的分布式限流、自定义网关拦截器等等功能。 三:分布式缓存运维支持 在很多二次缓存的分布式缓存中,比如 J2Cache、EHRedis 等,由于其一级缓存可能是内存缓存,其更新是需要依赖 MQ 或者 redis 的 Pub/Sub 来进行通知的,但是在某些极端情况下,依然会出现 MQ 通知不到导致某些节点 一级缓存无法更新的问题,Jboot 提供了可以获取所有 cacheName,并可以对其进行刷新(refresh)的功能,在某些特别极端的情况下,可以通过运维手动刷新缓存,让所有分布式缓存节点进行缓存同步。 Jboot v3.1.9 更新内容如下: 新增:JbootController 新增 getParaToBigInteger()、getParaToBigDecimal() 等方法 新增:门户网关新增 hasException() 方法,用于判断目标地址是否可以正常访问 优化:升级 JFinal、jackson、HikariCP、Dubbo 等相关依赖到最新版本 优化:完善支持更多关于 druid 的数据源配置 优化:当未配置任何第三方日志组件的时候,自动使用 JDK 日志进行输出 优化:添加 JbootRedirectRender,防止 nginx -> jboot 跳转时的错误问题 优化:移除 @ValidatePara 注解 和 UrlParaValidate 验证拦截器 优化:移除 Jboot 的 @EnableCORS 注解,使用 JFinal 自带的来替代 优化:修改某些变量命名不直观的问题 优化:默认情况下完全禁用 Fastjson 的 autoType 功能 文档:添加 dubbo rpc 下的 restful 配置文档 文档:配置相关文档添加动态配置的相关描述 文档:数据库配置相关添加多数据源的相关描述 maven 依赖: <dependency> <groupId>io.jboot</groupId> <artifactId>jboot</artifactId> <version>3.2.1</version> </dependency> Hello World: @RequestMapping("/") public class HelloworldController extends JbootController { public void index(){ renderText("hello world"); } public static void main(String[] args){ JbootApplication.run(args); } }

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

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文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

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