首页 文章 精选 留言 我的

精选列表

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

Rust 编写的 Linux 网络驱动新增实验性补丁

Linux 内核在本周末新增了一组补丁,主要是为 Linux 网络设备驱动的 Rust 抽象打下基础,以便 Rust 代码能够用于构建新的网络设备驱动。这些补丁还包括一个虚拟的 Rust 网络驱动程序。 据介绍,长期内核开发者 Fujita Tomonori 在周日发布了这组补丁,包括提供网络设备驱动程序的 Rust 抽象和初始的 Rust 虚拟驱动程序,以帮助审查早期代码。到目前为止,网络子系统中 Rust 的实际硬件设备驱动程序还没有发布。 目前,这 800 行新 Rust 代码已发布到 rust-for-linux,以便在将其提交给更广泛的 Linux 网络驱动开发社区之前进行早期审查。 Linux 内核主线现在仍在继续进行许多不同的 Rust 工作,而到目前为止合并的主要是基础设施、子系统抽象,同时在等待任何值得关注的 Rust 驱动 —— 比如 Apple DRM 内核驱动,为上游做好准备。

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

Ambient 0.1 发布,Rust 编写的高性能多人游戏引擎

经过一年多的开发,Ambient 终于发布了 0.1 版本,这是一款采用 Rust 构建的开源多人游戏引擎。 据介绍,Ambient 是一个用于构建高性能多人游戏和 3D 应用程序的 runtime,使用了 WebAssembly 和 WebGPU 技术,与任何编译为 WebAssembly 或在 WebAssembly 上运行的语言兼容,旨在使构建和部署丰富的多人游戏世界和体验变得容易。其开发团队表示,通过Ambient,他们希望构建多人游戏与构建单人游戏一样简单。 特性 Seamless networking:Ambient 既用作服务器,同时也是客户端。开发者只需构建服务器和客户端逻辑,Ambient 可自动处理数据同步。 独立沙盒:开发者为 Ambient 构建的项目通过WebAssembly的隔离功能执行。因此如果出现崩溃,它不会破坏整个程序,这也意味着可以安全地运行不受信任的代码。 面向数据的设计:Ambient 的核心数据模型是每个 WASM 模块都可以操作的实体组件系统。 多语言:开发者能够使用任何可以编译为 WebAssembly 的语言构建 Ambient 模块(目前,Rust 是唯一受支持的语言,团队正在努力扩展到其他语言) 单一可执行文件:Ambient 是一个单一的可执行文件,可以在 Windows、Mac 和 Linux 上运行。它可以充当服务器或客户端。 互操作性:Ambient 允许定义自定义组件和 "concepts"(组件集合)。只要 Ambient 项目使用相同的组件和 "concepts",它们就能够共享数据和互操作。 Asset管道和流处理:Ambient 包含Asset 管道,支持编译多种 asset 格式,包括.glb和.fbx。asset 通过网络流式传输,因此客户端在加入时能够接收所需的一切数据。 强大的渲染器:Ambient 渲染器由 GPU 驱动,裁剪 (Culling) 和细节级别切换完全由 GPU 处理。默认情况下,它使用PBR,此外还支持级联阴影贴图和实例化所有可以实例化的东西。 示例 首先安装 Ambient,然后创建一个新的 Ambient 项目: ambient new 接着打开 _src/lib.rs_,将以下内容添加到 main 函数中,让 IDE 自动导入: spawn_query(player()).bind(move |players| { for _ in players { Entity::new() .with_merge(make_transformable()) .with_default(cube()) .with(translation(), rand::random()) .with(color(), rand::random()) .spawn(); } }); 这将为每个加入的玩家生成一个随机立方体(完整示例点此查看)。开始启动: ambient run 运行上述命令后会看到如下画面: 现在打开一个新的终端窗口,然后输入: ambient join 这时会看到两个框,也就意味已经成功使用 Ambient 构建了第一个多人游戏体验。 Ambient 开发团队介绍了创建项目的初衷,他们发现许多游戏引擎都针对构建单人游戏进行了优化,但很少有旨在简化多人游戏的游戏引擎。于是他们很好奇:如果要让多人游戏能像单人游戏一样容易使用,该如何构建?当开发者从网络的细节中解放出来时,可以想象怎样的非凡体验——新的和有趣的互动? Ambient 便是他们回答这些问题的开始:一个旨在让各种开发者能够构建和分享他们想要构建的体验的运行时。然而,这里的问题不仅仅在于做好客户端-服务器通信。它还包括多人游戏开发中出现的所有其他挑战:服务器资源、分发游戏、可持续地以服务形式运行游戏、与用户交互等等。运行时只是他们朝着这个方向迈出的第一步,接下来还要解决许多其他问题。 Ambient 采用了 MIT License,其团队表示,这是因为他们的目标是建立一个标准来让大家构建多人游戏。作为一家公司,他们的计划是为将采取“货币化”的运行时提供增值服务(包括服务器和资产托管),但运行时本身永远免费和开源。作为运行时的用户,他们可以选择使用 Ambient 团队提供的部分服务,以及选择自己实现其他服务。 未来,开发团队表示 Ambient 将会支持部署到 Web,支持更多可编译成 WebAssembly 的语言(目前只有 Rust),并提供协作编辑器。

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

Ponzu —— 用 Go 编写的开源 HTTP 服务器框架

Ponzu 是一个强大而高效的开源 HTTP 服务器框架和 CMS。它提供自动、免费和安全的基于 TLS 的 HTTP/2(通过Let's Encrypt获得的证书)、一个有用的 CMS 和脚手架来生成内容编辑器,以及一个用于构建现代应用程序的快速 HTTP API。 特性: 自动和免费 SSL/TLS1 HTTP/2 和服务器推送 使用 CLI 控制的代码生成器进行快速开发 用户友好、可扩展的 CMS 和管理仪表板 简单部署 ——单个二进制 + 资产,嵌入式 DB (BoltDB) 快速、有用的框架 TLS: 开发:自动生成自签名证书 生产:自动更新从Let's Encrypt获取的证书 安装 $ go get -u github.com/ponzu-cms/ponzu/... 要求 Go 1.8+ 由于使用 HTTP/2 服务器推送,因此需要 Go 1.8+。但是,客户端不需要连接到 Ponzu 服务器来发出 HTTP/2 请求。 用法 $ ponzu command [flags] < params >

资源下载

更多资源
优质分享App

优质分享App

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

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text

Sublime Text

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