Category: 程序设计
C++ 智能指针教程 C++ 中的智能指针提供了自动且安全的内存管理。它们通过 RAII(资源获取即初始化)机制,帮助开发者避免内存泄漏和悬空指针的问题,确保对象在生命周期结束时被正确释放。 本教程将介绍 C++ 中三种主要的智能指针: std::unique_ptr:独占式所有权 std::shared_ptr:共享式所有权 std::weak_ptr:非拥有式弱引用 1. std::unique_ptr unique_ptr 拥有独占所有权。一个资源只能被一个 unique_ptr 拥有。 示例:管理简单对象 #include <iostream> #include <memory> int main() { std::unique_ptr<int> p = std::make_unique<int>(42); …
程序员的未来?Vibe Coding + AI 一起上! 借助 AI 快速开源了三个小工具 最近,我利用 ChatGPT-4o 和 o4-mini 快速开发并开源了几个小工具。起因其实很简单——每次想转换 YAML/JSON 或进行 Base64 编码时,我总是得去 Google 搜索在线工具。时间一久,我不禁开始思考:既然每次都要用,为什么不自己动手实现一个呢?正好我也在学习 React,把这个过程当作练习岂不是一举两得? 于是我开始“扮演”产品经理,向 ChatGPT 提出需求,它很快就为我搭建好了基础框架。包括项目结构、CI 工具(单元测试、ESLint——后来我换成了 Prettier)、README 文档,甚至是 GitHub Actions 上的自动化测试和部署流程,全部一气呵成。 …
检查运行 curl命令 后的HTTP响应代码,您可以使用 curl 的 -w` 选项,这样可以指定自定义输出格式。以下是命令: curl -o /dev/null -s -w "%{http_code}\n" <URL> 您可以将HTTP响应代码保存到BASH变量中,如下所示: resp=$(curl -o /dev/null -s -w "%{http_code}\n" <URL>) 解释: -o /dev/null: 丢弃响应体的输出。 -s: 以静默模式运行curl(不显示进度或错误信息)。 -w …
当使用像 Steem 这样的去中心化平台时,重要的是要预期偶尔的故障——网络问题、API 限制或暂时的停机。这就是为什么你构建的任何集成、机器人或工具都应该能够优雅地失败并智能地恢复。 在这篇文章中,我将带你了解一个简单而强大的 Steem 区块链见证人(也就是STEEM上的矿工)投票检查工具: 第一版:检查是否由某个见证人投票 这是一个实用的 Node.js 函数,用于检查一个 Steem 用户是否投票支持了某个特定的 见证人——无论是直接投票还是通过代理。 function is_voted_by(witness, id) { return new Promise((resolve, reject) => { steem.api.getAccounts(, function(err, response) { if …
知道Delphi这个编程语言的估计暴露年龄了。很多人以为Delphi这门程序已经挂了,但实际上没有:IsDelphiDead.com 我最后一次用Delphi是2018年,在我离开一个剑桥初创企业,当时我从2009年到2018年,用Delphi写了超过40万行Delphi代码。其中包括了一些C++还有WIN32内链汇编。 Delphi 30周年纪念日 2025年,Delphi迎来了其发布30周年纪念日。自1995年首次亮相以来,Delphi凭借其高效、稳定的特性,成为众多开发者的首选工具。在这30年间,Delphi经历了辉煌、低谷,如今在全球范围内依然拥有忠实的用户群体。 Delphi的诞生与辉煌 Delphi最初由Borland公司于1995年推出,作为Windows平台下的快速应用程序开发工具(RAD),其前身是DOS时代盛行的“Borland Turbo Pascal”。Delphi以其可视化组件库(VCL)和高效的编译器,使开发者能够快速构建复杂的应用程序。在1999年发布的Delphi 5版本中,Delphi达到了用户数量的巅峰,一度超越了Visual Studio,成为开发者的首选工具。 挑战与低谷 然而,好景不长。在推出Delphi 7之后,Borland公司因内部管理问题和市场竞争激烈,逐渐走向衰败。Delphi的创始人Anders Hejlsberg离开公司,转投微软并开发了C#语言,这对Delphi造成了沉重打击。同时,Java和.NET等新技术的兴起,进一步挤压了Delphi的市场空间。高昂的定价策略也使得许多开发者转向其他工具,Delphi的用户群体急剧萎缩。 重生与发展 尽管经历了低谷,Delphi并未消失。在被Embarcadero公司收购后,Delphi不断进行技术革新,推出了支持多平台开发的版本,如Delphi XE系列。这些版本支持Windows、Android、iOS和Linux等平台,满足了现代开发的需求。在全球范围内,Delphi在巴西、中国、德国、俄罗斯和非洲等地仍然拥有广泛的用户基础。特别是在中国,Delphi在教育领域和企业级应用中依然发挥着重要作用。 展望未来 随着技术的不断发展,Delphi也在积极适应新的趋势。从最初的单一平台开发工具,到如今支持多平台、多设备的综合性开发环境,Delphi始终在追求创新。在未来,Delphi将继续优化其跨平台能力,提升开发效率,为全球开发者提供更强大的支持。 在这30周年之际,让我们向Delphi致敬,感谢它为全球开发者带来的卓越贡献。期待Delphi在未来继续引领技术潮流,为开发者创造更多可能。 聪明的程序员用Delphi “真正的程序员用C++,聪明的程序员用Delphi”这句话曾在IT界广为流传,体现出Delphi简单、高效等优点。 Delphi最初的版本, Delphi被称为是VB Killer, 在Windows下可以快速开发Native的WIN32/64代码。代码执行效率高因为是编译(Compiled)的而不像VB解释式的(Interpreted)。 Delphi作为Windows平台下的快速应用程序开发工具(RAD:Rapid Application …
创建一个 GitHub Pages 站点是一个简单的过程,可以免费为你的个人、项目或组织创建网站/博客。按照此指南开始。 步骤 1:创建 GitHub 仓库 登录你的 GitHub 账户。 点击“新建”来创建仓库。 对于个人站点,命名为 .github.io。 对于项目站点,使用任何有效的名称。 步骤 2:添加你的站点文件 使用以下命令克隆仓库到本地机器: git clone https://github.com/<username>/<repository-name>.git 创建一个 index.html 文件,包含你想要的内容。这里是一个例子: <!DOCTYPE html> <title>我的 GitHub 页面</title> …
在区块链开发的世界中,理解和管理gas费用对于优化交易至关重要。Sui作为一个相对较新但功能强大的区块链平台,有其独特的方式来处理gas价格。让我们来探讨如何使用Node.js和JavaScript获取Sui的gas价格。 Sui中的Gas理解 在区块链语境中,gas指的是执行交易或智能合约所需的费用。在Sui中,gas以MIST计量,其中1个SUI等于10^9个MIST。这意味着gas价格通常以每个交易或操作的MIST来报价。 获取Gas价格 这里有一个简单的异步函数来从Sui节点获取当前的gas价格: const QUICKNODE_URL = "https://sui-mainnet-endpoint.blockvision.org"; // 你可以使用你自己的节点。 async function getGasPrice() { try { const response = await axios.post(QUICKNODE_URL, { method: "suix_getReferenceGasPrice", jsonrpc: "2.0", id: 1, …