【专栏】`ripgrep`(rg)是Linux下快速、内存高效的文本搜索工具,用Rust编写,支持PCRE2正则表达式
【4月更文挑战第28天】`ripgrep`(rg)是Linux下快速、内存高效的文本搜索工具,用Rust编写,支持PCRE2正则表达式。相比`grep`,它在处理大文件和复杂模式时更具优势。安装`rg`可通过软件包管理器,如在Debian系系统中使用`sudo apt install ripgrep`。基本用法包括简单搜索、递归搜索、忽略大小写、显示行号等。高级功能包括固定字符串搜索、多文件匹配、并行搜索、排除选项和区域搜索。适用于日志分析、代码审查等场景,是提升工作效率的利器。
【sheetjs】纯前端如何实现Excel导出下载和上传解析?
本文介绍了如何使用`sheetjs`的`xlsx`库在前端实现Excel的导出和上传。项目依赖包括Vite、React、SheetJS和Arco-Design。对于导出,从后端获取JSON数据,通过`json_to_sheet`、`book_new`和`writeFile`函数生成并下载Excel文件。对于上传,使用`read`函数将上传的Excel文件解析为JSON并发送至后端。完整代码示例可在GitHub仓库[fullee/sheetjs-demo](https://github.com/fullee/sheetjs-demo)中查看。
Rust图形革新:2D与3D编程的全新体验,它能否颠覆传统?
【8月更文挑战第31天】随着Rust语言的日益成熟,其在图形编程领域的应用逐渐增多。本文将探讨Rust在图形编程中的表现,从2D扩展至3D。通过使用`pixman`库处理2D图形,以及借助`naga`库实现3D渲染,展示了Rust在图形编程中的潜力。尽管与C++相比,Rust的生态仍在发展中,但其安全性与性能使其成为图形编程的重要工具之一,值得开发者关注和学习。
常见浏览器内核
常见浏览器内核包括:Blink(用于 Chrome、Edge 等),注重性能与现代网页支持;WebKit(用于 Safari 和早期 Chrome),强调高效能;Gecko(用于 Firefox),支持强大扩展;Trident(用于 IE,已被 Edge 替代);EdgeHTML(用于早期 Edge,现已转为 Blink);Servo(实验性,基于 Rust)。这些内核负责渲染网页内容、处理 CSS 和 JavaScript,直接影响用户体验,并随技术发展持续演进。
Tauri 开发实践— Tauri 怎么样
Tauri 是一个用于构建高效、小型二进制文件的框架,适用于所有主流桌面及移动平台。开发人员可以利用任何可编译为 HTML、JavaScript 和 CSS 的前端框架构建应用,并借助 Rust、Swift 或 Kotlin 进行后端开发。Tauri 采用三层架构,包括 tauri-app、WRY(跨平台 Webview 库)和 TAO(跨平台窗口管理器)。相较于 Electron,Tauri 使用系统内置浏览器引擎执行 Web APP,具有更小的资源占用和更高性能。详情见:[Tauri 官网](https://tauri.app/)。
Tauri 开发实践 — Tauri HTTP 请求开发
本文介绍了如何在 Tauri 中发起 HTTP 请求。首先通过安装 Tauri 生态中的工具包并配置 `tauri.conf.json` 文件来允许特定域名的 HTTP 通信。接着封装了一个简单的 HTTP 客户端类,并在页面中使用该客户端实现 GET 和 POST 请求。最后提供了完整的源码地址以供参考。此功能使得桌面应用能够与远程服务器进行交互,增强了应用的实用性。
Tauri 开发实践 — 使用 CI/CD 自动构建发布 Tauri 桌面端应用
本文介绍如何使用 CI/CD 自动构建发布 Tauri 应用。Tauri 是一个轻量级跨平台客户端框架,适合个人应用。文章首先概述了 CI/CD 的基本流程,并介绍了 GitHub Actions、GitLab CI 和 Jenkins 三种工具。最终选择了 GitHub Actions 进行配置。文中详细展示了使用 GitHub Actions 脚本实现 Tauri 应用构建的过程,并解决了权限和安全问题。项目源码可在 GitHub 上获取。
渣总滑块和点选图片坐标计算(rust版)
最近get到了一个新的知识点,rust可以通过FFI(Foreign Function Interface),来编写Python的方法和函数, 然后就想到了用rust来实现一下渣总的滑块和点选图片坐标计算的算法,因为之前py的位运算是在太诡异的原因,我一直是拒绝用py来实现的,现在突然发现rust可以直接构建生成Python可以直接调用的package了,算是个小惊喜,也当学习一下这个用法了。在这里感谢渣总提供的Java版本的算法,渣总yyds。
针对 Minecraft 的 JVM 调优
Java 和 JVM 一直是一个很庞大的系统。Java 语言在 JVM 的基础上隐藏了很多细节,从而让程序员更关注功能而非性能。而 JVM 的作用则是对程序员编写的代码进行优化,因此 JVM 中引入了垃圾回收、即时编译等一系列先进而复杂的子系统。这种复杂度也使得 JVM 的性能并不像 C++、Go 或者 Rust 这样值观:你以为一段循环即可测量某个操作的性能,实际上这个操作可能随着循环的进行被即时编译机制优化。