首页 文章 精选 留言 我的

精选列表

搜索[V模型],共10000篇文章
优秀的个人博客,低调大师

smart-servlet v0.1.2 发布,开源人假期不打烊

smart-servlet 是一款实现了Servlet 3.1规范,支持多应用隔离部署的的 Web 容器。除此之外,smart-servlet 还是一款插件化容器,基于内置的沙箱环境确保 smart-servlet 拥有最精简的运行能力,用户还可以通过自定义插件扩展容器的服务能力。 开发这个项目的过程中会听到一些疑惑的声音:为什么要去开发 servlet 容器?现在还有人用 servlet 吗? 的确,都2021年了,10年前还是香饽饽的技术如今看上去有些过时了。但我认为这只是表象,至少目前几乎绝大多数的 Java 服务都还运行在 Tomcat、Undertow 等服务器上,依托的还是Servlet技术。只是这些服务器的性能瓶颈比较明显,以致于很多场景下被其他语言的解决方案所替代。 而 smart-servlet 要做的就是突破这一瓶颈,成为一款低延迟又具备高并发能力的服务器。 更新内容 本次发布的版本在功能方面相较之前没有太多变化,更多的在于对这个项目发展方向作了一些思考,同时代码设计进行相应的调整。 1. 关于插件的思考 曾经在做业务线开发时,经常出现其他团队提供的 api 包所依赖的三方包与自身系统冲突的情况。即使让对方在pom.xml中加一个简单的<scope>provided</scope>都是一种奢望,更无法期待有某位架构师能站出来统一公司的三方包管理。不得不埋头逐个排除,这种“不痛不痒”的小问题会持续困扰着一线开发。 最近花了一周时间去思考 Plugins 模块该如何设计。当未来更多的人参与进来提供丰富的插件包,smart-servlet 如何进行统筹管理,确保这些插件相互之间不干扰,毕竟包冲突是所有大型系统难解的痛。 为了避免这类问题发生在 smart-servlet 中,后续我们会用类加载器完全隔离插件之间的依赖。先后调研了 sofaark 和 springboot loader 的 fat jar 隔离机制,最终决定选择后者。 2. 关于架构的调整 这个版本的架构图较之前版本有了一些调整,原先的 ContainerRuntime 变成了ApplicationRuntime,ServletHTTPServlet 调整成了 ContainerRuntime。这不是简单的重命名,更多的是考虑定义的合理性,架构关系的设计和命名是否是相契合的。 除此之外,我理想中的 smart-servlet 应该是更具包容性。用户可以自由选择哪些请求走 Servlet 容器,哪些请求直接由 smart-http 作处理(如下代码)。彻底告别用 nginx 作反向代理的架构设计,这样的开发体验不香吗。 new HttpHandle() { @Override public void doHandle(HttpRequest request, HttpResponse response) { if(isStaticRequest(request)){ //加载本地资源文件 ... }else{ //处理Servlet请求 containerRuntime.doHandle(request, response); } } } 3. 其他更新内容 1、新增支持加载HttpSessionListener 监听器。 2、将路由匹配算法定义为工具类 PathMatcherUtil;修复默认 ServletContext 空路径场景下的路由匹配 bug。 3、调整过滤器的执行逻辑。 4、优化输出流缓冲区设计,性能快到不敢相信。 5、优化资源文件加载策略,路径查找失败时尝试从classpath中获取。 6、优化类加载器的使用,Servlet 容器最不好伺候的大爷。 最后 最后祝大家新年快乐吧,并希望这个项目在 2021 年有个好的发展。开源不易,且行且珍惜!

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

数据可视化引擎 G2 v4.1.4 发布

数据可视化引擎 G2 4.1.4 版本发布了,更新内容包括: Documentation Changes 调整文档导航顺序(#3135)(d2f1118a) 修复了案例行 demo 中的图例过滤器错误(#3116)(b3165704) 增加 faq,升级指南等文档(#3119)(2033d030) 增加 element,view.en,数据集等多个文档(#3118)(8d112f15) New Features 增强饼图标签跟随切片颜色 (#3147) (4f0f5665) esm:删除所有 lib 导入(#3141) (72b0275a) Bug Fixes 修复路径错误 (#3148) (bd49fbe1) 修复 element shape 进行 syncShapeStyle 时,可能存在空对象的情况 (#3110) (904202d1) testcases:增加单测,g 层修复 animate shape 在 changesize 的时候报错(#3113) (28d235b0) 更新说明:https://github.com/antvis/G2/releases/tag/4.1.4

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

开源 Servlet 服务器 smart-servlet v0.1.1 发布

smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 服务器。 smart-servlet 在 smart-http 的基础之上,通过继承 HttpHandle 实现了 Servlet 规范。这意味着任何 smart-http 服务都可以通过单独引入 smart-servlet 核心包的方式,将普通的 http 应用改造成 servlet 应用,而且这个成本是极低的。 项目特色 零学习成本,素未谋面,却已相知。保留用户原有的 Tomcat、Undertow 使用习惯。 朴实无华,用最初级的设计手法打造专业级服务器。 实现 Servlet 核心规范:Request、Response、Session、Cookie、Dispatcher、ServletContext。 插件化设计,自由 DIY 服务器。 延续一贯的极简、易用、高性能设计风格。 开箱即用,运行程序包、maven本地开发/调试插件、springboot starter 一应俱全,满足你的开发、部署等各项需求。 更新内容 升级 smart-http 至最新版 1.0.21。 根据《Servlet3.1规范中文版》12.2 映射规范中的定义重新设计 URI 在servlet、filter中的路由解析算法,并通过索引的方式降低过程中字符串的内存开销。 PrintWriter 输出内容支持缓冲区暂存。 重构 url-mapping 处理逻辑。 servlet、filter 匹配结果支持缓存,提升处理性能,降低内存开销。 优化 cookie 解析方式,提升内存利用率。 实现 servlet 规范:getRequestedSessionId、isRequestedSessionIdValid、isRequestedSessionIdFromCookie、isRequestedSessionIdFromURL、isRequestedSessionIdFromUrl。 采用 org.w3c.dom 解析 web.xml,解除 dom4j 的依赖。 项目体验 下载项目进行本地编译。 运行archives模块中的org.smartboot.servlet.starter.Bootstrap启动服务器。 若启动过程无任何异常,打开浏览器访问http://127.0.0.1:8080/examples。 应用集成 根据业务工程实际情况选择相应的集成方式。 maven plugin 适用于传统的 Servlet 或者 Spring MVC 工程,且必须是 maven 工程。需要在 web 模块所在的 pom.xml 中加入以下配置,若存在端口冲突自行调整。完成配置后通过:mvn smart-servlet:run启动服务。 <!-- pom.xml --> <project> <build> <plugins> <plugin> <groupId>org.smartboot.servlet</groupId> <artifactId>smart-servlet-maven-plugin</artifactId> <version>0.1.1</version> <configuration> <port>8080</port> </configuration> <dependencies> <dependency> <groupId>org.smartboot.servlet</groupId> <artifactId>plugin-session</artifactId> <version>0.1.1</version> </dependency> <dependency> <groupId>org.smartboot.servlet</groupId> <artifactId>plugin-dispatcher</artifactId> <version>0.1.1</version> </dependency> </dependencies> </plugin> </plugins> </build> </project> springboot starter 面向 Springboot 提供的集成方式,替换原 spring-boot-starter-web 默认绑定的 Servlet 容器。 <!-- pom.xml --> <project> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.smartboot.servlet</groupId> <artifactId>smart-servlet-spring-boot-starter</artifactId> <version>0.1.1</version> </dependency> </dependencies> </project>

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

Bootstrap 图标集 v1.2.0 发布 —— 喜提 CSS 图标字体!

我们最新的Bootstrap Icons 发布版包含数十个新图标、重新设计的文档和呼声最高的新特性 —— 图标字体! 新的社交网络图标 我们的社交图标工作一开始比较慢 —— 人们可能只需要几个最大的社交网站。我们有意将这个清单设小,因为其目的不是为了全面覆盖。我们的目标是随着时间的推移增加一些,但这暂时就足够了! 新的多媒体图标 另一个主要添加的是我们扩展的媒体图标套件。有些人在涉及媒体控件及不同媒体类型时,向我们寻求更多的选择,所以我们在本次更新中继续这方面的工作。 图标字体! 终于,它们来了!多亏了一个很棒的项目Fantasticon,我们正为我们的图标生成 Web 字体。首先,我们生成 2 种Web 字体格式 ——.woff和.woff2。 借助一个生成的 CSS 文件,我们还引入了一个包含所有 Web 字体图标的HTML 索引。 这是我们首次涉足图标字体,并且在此过程中可能会进行一些调整。通过自行测试字体和在 issue 中分享任何反馈,您可帮我们清除任何 bug。 更新的文档 多亏了一个更新了的页首,Bootstrap Icons 主页有了新面貌。新页首拥有一个新的彩色图标图片、更清晰的项目描述和一个前置的npm i代码段来帮助人们更快入门。顶部还有一个连接到博文的新提示来告诉大家有什么更新。 各个图标的永久链接页面也做了更新,并大大简化。我们将主要示例缩减为一个图标实例,并在其下方扩展了示例,以在更多的 Bootstrap 组件中引用该图标。 新永久链接侧边栏还具备新改进的图标访问方式。只需要一两个 SVG?用新的Download SVG按钮。找新图标字体的 HTML?只需复制、粘贴。和往常一样,想要原始的 SVG HTML?它仍然在那里。 安装 通过 NPM 安装,快速开始: npm i bootstrap-icons 你也可以从 GitHub 下载发布包,或者只下载 SVG和字体(没有代码库的其它文件)。 Figma 对于 Figma 用户,你也可以从 Figma 抓取图标。 <3, @mdo与Bootstrap 团队 翻译自https://blog.getbootstrap.com/2020/12/11/bootstrap-icons-1-2-0/ 译注(插曲) 因为 Bootstrap Icons 1.0 只是个 SVG 图标库,Chrome 又不支持SVG 引用跨域的雪碧图,译者基于 Bootstrap 的组件库 BootCell早早支持官方图标库的同时,只能强依赖于 bootstrap-icons 包,增大了安装、打包体积,也增加了打包时间,无法利用 CDN 来加速页面访问。 所以译者一直关注着Bootstrap Icons 1.1 的 CSS 字体图标进展,但又因核心开发者工作繁忙,这一重大特性又跳票到 1.2。 刷推时意外看到官方发版消息,分外欢喜,便立马去官网、GitHub 查阅更新,但不料全无 CSS font 踪影,包内依然全是 SVG 文件…… 急戳官方之后,官方迅速发布“一字之差”的配置文件补丁,才算填上这个坑 😂 「点击下方卡片,立即使用 Bootstrap 图标组件」

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

分布式监控系统 WGCLOUD,v3.2.9 新增大屏

WGCLOUD,server端基于springboot开发,agent端使用go编写。支持高并发高性能,核心模块包括:服务器集群监控,ES集群状态监控,CPU监控,温度监控,内存监控,数据监控,docker监控,网络流量监控,服务心跳检测,应用进程管理,磁盘IO监控,系统负载监控,端口监控,日志文件监控,监控告警信息推送。 更新说明: 1.新增,大屏可视化看板,每10分钟自动渲染图表 2.新增,守护进程端口9997,可自定义配置 3.新增,监控数据开放接口 4.新增,logo和软件名称可自定义,在配置文件里配置 5.bug,对已发现的bug进行修复 码云源码下载:https://gitee.com/wanghouhou/wgcloud GITHUB源码下载:https://github.com/tianshiyeben/wgcloud 安装包下载:http://www.wgstart.com

资源下载

更多资源
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应用均可从中受益。

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等操作系统。

用户登录
用户注册