程序员赶快收藏了,这个网站有各种编程语言和框架的知识点备忘录
在编程的世界里,不论你是资深开发者,还是刚入门的新手,都会遇到一些你不太记得的代码语法、命令或配置细节。这种时候,速查表(Cheat Sheets)就是你的好朋友。今天我想给大家介绍一个非常实用的网站——Quick Reference 中文版,它提供了各种编程语言、工具的速查表,可以说是开发者们的宝藏资源。
这个网站是由开发者 Kenny Wang 创建和维护的,目的是为中文开发者们提供一个快速参考的编程知识库。网站内容涵盖了编程语言、前端框架、命令行工具、配置文件格式、数据库系统以及快捷键大全等多个领域。下面我详细介绍一些我认为特别有用的功能和内容。
Quick Reference 中文版为各种主流编程语言提供了详尽的速查表,涵盖了从基础语法到高级用法的多种内容。无论你在开发过程中忘记了如何使用某个函数,还是需要快速查阅一些常见的语法错误,像 Python、Java、C++ 这些语言的速查表都可以帮助你迅速找到答案。
比如,你是否曾经忘记了 Python 中的字典如何快速遍历?或者 C++ 中复杂的模板语法让你感到头疼?在这个网站上,所有这些都可以通过几秒钟的搜索找到,省去你大量翻阅文档的时间。
如果你是前端开发者,那么你一定会喜欢这个网站提供的 Vue、React、Tailwind CSS 等前端框架的速查表。特别是对于一些大型项目中的框架和工具,像 Vue 3 的 Composition API、新的状态管理工具 Pinia、或是 React 中的 Router 设计,这些速查表可以帮助你快速上手,或者复习那些你不常用的细节。
前端开发过程中,CSS 预处理器(如 Sass 和 Less.js)的复杂语法、Tailwind CSS 的实用类名可能有时候会让你记不住具体用法,这时打开 Quick Reference 网站会让你事半功倍。
对于需要频繁使用命令行工具的开发者来说,这个网站特别有帮助。Git、Docker、FFmpeg、Curl 等命令行工具的使用方法,甚至像 chmod 和 chown 这样稍有些棘手的权限修改命令,Quick Reference 都有详细的命令速查表。每次你想不起来某个命令的具体选项时,打开这个网站,马上找到答案。
此外,配置文件格式的参考,比如 YAML、JSON、TOML 等,也让你在调整服务配置时更加得心应手。特别是对于一些经常出现的缩进问题或数据结构设计,速查表可以让你迅速避免低级错误。
数据库部分,Quick Reference 提供了 MySQL、MongoDB、PostgreSQL 等主流数据库的参考文档。不仅如此,它还涵盖了一些 NoSQL 数据库和分布式数据库,如 Elasticsearch 和 Neo4j,让你在数据处理时有更多的参考。
同样地,网站还提供了一系列常用的工具箱类速查表,例如 Homebrew、Conda、YUM 等包管理工具,不论你使用的是 Windows、macOS 还是 Linux 系统,都能找到适合的速查内容。
对于需要使用多种开发工具的开发者,快捷键可以大大提升工作效率。Quick Reference 提供了从 VSCode 到 IntelliJ IDEA 再到 Photoshop 的多种快捷键速查表。当你想要快速记住或复习一个新的 IDE 或工具的快捷键时,参考这里的内容能帮助你轻松找到提升效率的最佳方式。
有意思的是,Quick Reference 是一个开源项目。也就是说,任何开发者都可以参与其中,帮助完善速查表。如果你觉得某些速查表的内容不完整,或者想要分享自己的备忘清单,都可以通过 GitHub 提交 PR(Pull Request),为中文开发者社群做出贡献。网站作者 Kenny Wang 强调这是一个为中文用户服务的项目,所以你看到的内容都经过细心翻译和本地化,保证符合国内开发者的使用习惯。
考虑到国内的网络环境,Quick Reference 还提供了多个国内镜像,保证用户可以流畅访问。不论你是通过 quickref.cn 这样的国内域名,还是其他镜像站点,都能轻松打开和使用。
这些镜像网站也非常适合你将自己的本地备忘录进行网页部署。只需克隆 gh-pages 分支的代码到静态服务,甚至通过 Docker 快速部署,便可以自建本地化的速查表。
Quick Reference 中文版是一个非常贴心且高效的工具,特别是对中文开发者来说,拥有这样一个全面的速查网站可以大大节省查找资料的时间。无论是编写代码、配置服务器,还是查询命令行参数,都可以速找到需要的资料。同时,开源贡献机制也让更多的开发者能够参与到完善内容的过程中,进一步提高这个网站的实用性和可靠性。
如果你还没试过这个网站,不妨现在就收藏一下吧。
Java:数据结构与算法中的字典树你学会了吗?
字典树 Trie 这个词来自于 retrieval,于 1912 年,Axel Thue 首次抽象地描述了一组字符串数据结构的存放方式为 Trie 的想法。这个想法于 1960 年由 Edward Fredkin 独立描述,并创造了 Trie 一词。你看看,多少程序员为了一个词、方法名、属性名,想破脑袋!
在计算机科学中,字典树(Trie)也被称为”单词查找树“或”数字树“,有时候也被称为基数树或前缀树(因为可以通过前缀的方式进行索引)。—— 它是一种搜索树,一种已排序的数据结构,通常用于存储动态集或键为字符串的关联数组。
与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。
- 这是一个把 battle 单词字符串,按照字母拆分到字典树进行存放的图。
- 键标注在节点中,值标注在节点之下。每一个完整的英文单词对应一个特定的整数。也就是26个字母对应的 ASCII 转换后的值。
字典树字母的存放有26个,也就是说在实现的过程中,每一个节点的分支都有26个槽位用来存放可能出现的字母组合。同理如果是数字树的话就是10个数字的组合,每个字典树上的节点对应的分支则有10个操作存放可能出现组合的数字。
接下来我们就基于 Java 语言实现一个字典树的存放和遍历索引的功能。
- 源码地址:https://github.com/fuzhengwei/java-algorithms
- 本章源码:https://github.com/fuzhengwei/java-algorithms/tree/main/data-structures/src/main/java/stack
字典的树的节点需要包括此节点内嵌的关联节点,之后是节点的字母、到此字母是否为单词、单词的前缀、单词字符串和当前单词的非必要注释。
insert 方法接收单词和注释信息,并对一个单词按照 char 进行拆分,拆分后则计算出索引位置并以此存放。存放完成后标记单词和附属上单词的注释信息。
从字典树从检索元素的过程分为2部分,第1部分是根据提供的索引前缀精准匹配到单词信息,第2部分是根据索引前缀的最后一个单词开始,循环递归遍历从当前位置所能关联到的字母直至判断为是单词标记为结束,通过这样的方式把所有匹配动的单词索引出来。
list.size() >= 15 是判定索引的最大长度,超过这个数量就停止索引了,毕竟这是一种O(n)时间复杂度的操作,如果加载数十万单词进行匹配,执行速度还是比较耗时的。
这里提供一些有相近字母的单词和名词,用于测试。你也可以尝试读取txt文件,检索存入数十万单词进行检索验证。
通过测试结果可以看到,把所有以ba开头的单词全部检索出来了。这也是字典树最核心功能的体现。
读者在学习的过程中,可以尝试在检索的方法体内打一些断点看一下具体的执行过程,方便学习整个执行步骤。
+字典树
最佳在线 Java 编译器和编辑器
在线 java 编译器的功能范围可以从将 .java 文件转换为 .class 文件的简单转换器到可用于管理 java 项目的基于云的综合在线 java IDE。
市场上的顶级 Java 编译器
JDoodle
JDoodle 具有简单而简约的用户界面。你可以在浏览器中修改 Java 代码、保存、执行、调试、与他人共享等等。它包括学习编程基础知识或执行教科书、课程和程序中的代码示例所需的所有基本 Java 库。
但是,如果你需要安装任何第三方库或框架,只需单击几下即可从 Maven 公共存储库中进行安装。
Collaborate 功能可生成可与他人共享以进行结对编程的 URL,这是主要功能之一。
立即在网页/博客上插入你的 JDoodle 片段的选项。
显示软件消耗的 CPU 时间和内存量。
你可以使用编译器 API 创建自己的编译器服务。
还可以更改字体、主题颜色和保存项目等。
JDoodle 还支持多种其他编程语言,包括 Ruby、Groovy、Go、Kotlin、Rust、Scala、Python、C/C++ 等。
Repl.it
Repl.it 是一个基于 Web 的动态编程环境,支持多种语言,包括 Java。它带有一个 Java 代码编译器、几个现成的示例和一个功能齐全的终端仿真器。随着团队多年来引入了其他功能,该工具受到了越来越多的关注。你可以与其他人分享你的内容并将会话保存在 repl.it 上,以便以后继续处理。
Repl.it 上还提供 API 集成等高级功能。Repl.it API 可用于将编译器和编辑功能集成到自己的网站、应用程序或用于黑客马拉松、面试或编码竞赛的工具中。
Ideone
Ideone.com 是用于试验该语言的最有用的免费在线 Java 编译器之一。语法高亮显示、源代码下载以及将代码呈现为公共或私有(只有你可以访问)的可能性只是 Ideone.com 的几个主要功能。在执行 java 代码时,你还可以跟踪执行代码所花费的时间、内存使用和错误消息等。
它是最先进的代码编译器之一,它使用专有的 Sphere 引擎来处理多种编程语言。Sphere 引擎也可用于商业用途,广泛用于编码竞赛、黑客马拉松、培训机构和教育部门,用于教授编码和进行编码面试等。Sphere 引擎提供的 API 可用于第三方应用程序。
Rextester
因为这个免费的网络软件是作为正则表达式测试器开发的,所以 Rextester 这个名字来源于正则表达式测试器。许多 C# 程序员使用它,因为它在支持 Java 之前为 C# 实现了功能。
Restester 使远程用户协作变得简单;你可以立即发起编码研讨会、生成 URL、与你的合作者共享并一起编写代码。Restester 有几个限制,例如只使用一个名为 Rextester 的文件并且该类不是公共类。
Browxy
这是另一个易于使用但具有许多功能的 Java 在线编译器。Browxy 包括 3 个工作区视图,如下所示:
小程序视图
控制台视图
用于分析和错误报告的日志视图
你无需注册或登录即可执行代码片段。如果你希望存储代码片段以供将来使用,与他人交换你的代码,它完全免费使用。
构建整个系统来执行一些片段可能对许多人来说是耗时且不必要的,因此,在线即用型编辑器和编译器非常有用。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。