分类: 开发

Red Hat为企业开发者推出免费的RHEL

2025-07-10
Red Hat为企业开发者推出免费的RHEL

Red Hat发布了Red Hat Enterprise Linux for Business Developers,这是一个免费的企业级Linux发行版,旨在让开发者能够快速便捷地访问生产环境中使用的相同操作系统,用于业务开发和测试。开发者可以直接访问,无需IT部门批准,最多可部署25个实例。此举旨在减少开发和运维团队之间的摩擦,并应对日益增长的软件供应链安全威胁。该版本包含经过签署和精选的开发人员内容,例如编程语言、开源工具和数据库,以及Red Hat的容器开发工具Podman Desktop。

开发

告别繁杂:tududi任务应用的极简主义设计

2025-07-10
告别繁杂:tududi任务应用的极简主义设计

大多数任务应用像仪表盘一样复杂,充斥着无尽的控件和选项。tududi则另辟蹊径,专注于流畅的工作流程。它摒弃了繁琐的色彩选择器、优先级设置、重复设置等,让你可以立即开始输入任务,而不是被各种设置淹没。与其提供工具,tududi提供的是效率。

开发

Rust数学表达式解析器的极致优化:从43秒到0.98秒

2025-07-10
Rust数学表达式解析器的极致优化:从43秒到0.98秒

本文讲述了作者如何将一个Rust编写的数学表达式解析器的运行时间从43秒优化到0.98秒的历程。通过一系列优化,包括避免不必要的内存分配、直接处理字节流、移除`Peekable`迭代器、使用多线程和SIMD指令以及内存映射文件,最终实现了显著的性能提升。文章详细解释了每个优化步骤的原理和实现方法,并用火焰图和性能数据进行了佐证。这是一个关于性能优化的精彩案例,展现了精益求精的编程精神以及对Rust语言特性的巧妙运用。

Thunderbird 140 “日蚀”发布:更暗、更流畅的邮件体验

2025-07-10
Thunderbird 140 “日蚀”发布:更暗、更流畅的邮件体验

Thunderbird 140 “日蚀”版本正式发布!此扩展支持版本在128版的基础上,整合了月度更新的诸多改进,带来了自适应暗色主题、改进的视觉控制、简化的账户中心等功能。用户可轻松自定义外观设置,使用原生操作系统通知,并享受更便捷的账户添加和文件夹排序体验。此外,该版本还包含实验性的Exchange原生支持、移动端二维码导出、表格视图水平滚动等功能,以及数千个错误修复和性能提升。目前已支持Windows、Linux和macOS系统手动升级,自动更新将在稍后推出。

开发

终端神器cmdk:告别cd和ls,用⌘-k快速访问任何文件

2025-07-10
终端神器cmdk:告别cd和ls,用⌘-k快速访问任何文件

厌倦了终端里繁琐的cd和ls命令?cmdk为你带来革命性的改变!这个工具让你只需按下⌘-k,即可快速访问文件系统中的任何文件或目录,并支持预览功能。它整合了fzf,支持模糊搜索,并能根据文件类型选择合适的打开方式。安装简单,只需几行命令即可体验到如同Notion或Slack中⌘-k般便捷的访问体验。

开发

CockroachDB 25.2 版本发布:强大的行级安全功能

2025-07-10
CockroachDB 25.2 版本发布:强大的行级安全功能

CockroachDB 25.2 版本引入了强大的行级安全 (RLS) 功能,允许开发人员直接在数据库中定义和执行行级访问策略。这解决了传统表级权限的不足,尤其在多租户和多区域部署场景下,有效隔离数据,满足法规要求,并简化应用逻辑。文章通过多租户和多区域两个案例详细讲解了 RLS 的配置和使用方法,展示了其在提高数据安全性和简化操作方面的优势。RLS 与 CockroachDB 的区域按行 (RBR) 功能结合使用,可以实现基于地理位置的访问控制,满足数据驻留法规要求。

HyAB距离公式改进CIELAB颜色量化

2025-07-10

本文探讨了一种改进的CIELAB颜色量化方法,使用名为HyAB的新距离公式替代传统的欧几里得距离。HyAB公式在亮度和色度维度上分别采用绝对差和欧几里得距离,实验表明其更符合人类感知。作者将其应用于k-means算法,并通过将L分量的均值计算改为中位数计算,进一步优化了结果。虽然HyAB在某些情况下能提升图像质量,但作者也指出,整体系统设计和例如抖动等后处理技术对最终结果的影响更大。

CPU分支预测:性能优化的关键

2025-07-10
CPU分支预测:性能优化的关键

程序中的分支指令是CPU决策的核心机制。本文探讨了分支指令的类型(条件/无条件,直接/间接),以及分支预测如何影响CPU性能。虽然分支预测技术能有效提升效率,但频繁的分支仍会带来性能瓶颈。文章建议通过简化条件语句、内联函数、避免过度嵌套调用、谨慎使用间接分支以及利用条件移动指令等方法来优化代码,从而减少分支指令的数量并提高程序性能。

开发

从许可到共享:开源许可证选择的演变

2025-07-10

作者回顾了他对开源许可证选择的转变,从最初偏好宽松许可证(如MIT)以最大化作品传播,到如今更青睐复制左许可证(如GPL)。这种转变源于三个主要因素:开源已成为主流,企业更易于接受;加密货币领域的竞争加剧,单纯的“友好”分享已不足以保证开源;以及基于Glen Weyl经济学理论,在规模报酬递增的情况下,积极推动开源是最佳策略。作者认为,复制左许可证通过强制共享衍生作品的源代码,有效地促进了知识的传播和技术的共享,防止少数参与者垄断资源。

开发 复制左

Petrichor:一款macOS离线音乐播放器

2025-07-10
Petrichor:一款macOS离线音乐播放器

Petrichor是一款为macOS打造的离线音乐播放器,它具备你期望的所有功能:组织良好的音乐库浏览、交互式播放列表和播放队列管理、文件夹视图浏览、侧边栏收藏夹快速访问、便捷的导航功能、原生macOS集成(菜单栏和Dock控制,支持深色模式)、强大的搜索功能以及智能播放列表等。开发者因怀念Swinsian,并希望学习Swift和macOS应用开发而创建了它,它使用Swift和SwiftUI构建,并使用SQLite数据库管理音乐文件信息。

开发

Tailscale + Pi-hole 实现灵活的 Split Horizon DNS

2025-07-10
Tailscale + Pi-hole 实现灵活的 Split Horizon DNS

作者使用Tailscale构建Mesh网络,并通过配置Pi-hole实现Split Horizon DNS,从而为局域网和Tailscale网络客户端提供不同的DNS解析结果。这解决了部分服务不支持二次认证以及地理位置限制带来的访问问题,提升了安全性并简化了网络管理。过程中作者还遇到了Docker网络配置和Pi-hole接口绑定等问题,最终通过使用host networking并修改Pi-hole配置解决了这些问题。

一种改进的碰撞检测算法:基于高斯映射图遍历的SAT优化

2025-07-10
一种改进的碰撞检测算法:基于高斯映射图遍历的SAT优化

本文介绍了一种改进的用于凸多面体碰撞检测的算法。该算法将分离轴测试(SAT)重新定义为球面上的优化问题,通过分析支持函数的特性,发现其最小值位于高斯映射图上大圆的交点处。利用图遍历算法,避免了多次计算支持函数,仅需一次完整计算,然后通过遍历高斯映射图,高效地更新支持点,从而显著提升了碰撞检测效率。实验表明,该算法比传统的SAT算法快5-10倍。

Go泛型接口的巧妙运用:构建高效自适应的树形结构

2025-07-10

本文探讨了Go语言泛型接口的高级用法,特别是如何在构建二叉搜索树等数据结构时,通过自引用泛型接口优雅地处理类型约束。文章以树形结构为例,对比了三种实现方式:使用`cmp.Ordered`、自定义比较函数和自引用泛型接口。最后,文章深入探讨了如何结合`comparable`约束构建有序集合,以及如何避免因指针接收者导致的复杂性,并建议在设计时优先考虑简洁易读性。

(go.dev)
开发 Go泛型

Clojure代码片段:电影分类索引

2025-07-10
Clojure代码片段:电影分类索引

这段Clojure代码巧妙地构建了一个电影分类索引。它从一个包含电影信息(标题、类型、烂番茄评分)的map开始,通过reduce函数和zipmap函数,将电影按类型分类,最终生成一个类型到电影列表的map。这个索引方便了根据类型查找电影,并按评分排序。例如,可以轻松查找所有惊悚片并按烂番茄评分排序。代码简洁高效,体现了函数式编程的优雅。

开发

Anna's Archive MCP 服务器:一个文档搜索和下载工具

2025-07-10
Anna's Archive MCP 服务器:一个文档搜索和下载工具

这是一个用于搜索和下载 Anna's Archive 中文档的 MCP 服务器。它支持搜索符合指定条件的文档并下载先前搜索结果中的特定文档。该软件声明其不认可未经授权获取版权内容的行为,并应仅被视为实用程序。用户需尊重作者的知识产权。使用该服务器需要 API 密钥 (ANNAS_SECRET_KEY) 和下载路径 (ANNAS_DOWNLOAD_PATH) 两个环境变量。

开发 文档下载

浏览器JavaScript禁用导致网站显示异常

2025-07-10
浏览器JavaScript禁用导致网站显示异常

访问一个网站时,浏览器提示“JavaScript已在您的浏览器中禁用”,导致网页显示异常,仅显示了简单的导航、搜索、内容、页脚和联系方式等基本元素。这说明网站依赖JavaScript进行页面渲染和功能实现,建议启用浏览器JavaScript功能以获得完整网站体验。

开发

大型语言模型难以编写q/kdb+代码:从右到左的代码编写难题

2025-07-09
大型语言模型难以编写q/kdb+代码:从右到左的代码编写难题

大型语言模型(LLM)在编写q/kdb+代码方面存在挑战,其原因在于q/kdb+的从右到左、无运算符优先级的求值顺序。作者发现,LLM难以根据这些规则编写正确的代码,常常混淆Python和q的语法。文章探讨了LLM难以处理这种从右到左编写方式的原因,并提出了一种名为Qython的解决方案。Qython是一种类似Python的语言,可以编译成q代码,从而利用LLM在Python方面的优势,绕过q语言的编写难题。文章还展示了Qython的实际应用案例,证明了其可行性。

开发 q/kdb+

Ruby 3.4 默认冻结字符串字面量的过渡计划

2025-07-09
Ruby 3.4 默认冻结字符串字面量的过渡计划

Ruby 3.4 开始逐步实施默认冻结字符串字面量的计划,此计划将分三个版本完成。目前,Ruby 3.4 仅在启用弃用警告时发出警告,不会改变现有代码的行为。未来 Ruby 3.7 将默认启用警告,Ruby 4.0 将默认冻结字符串字面量。冻结字符串字面量可以提高性能,减少垃圾回收,节省内存。文章详细介绍了如何启用警告、修复问题以及迁移策略,建议开发者逐步升级并修复警告。

开发

Astro:一个颠覆传统前端框架的新星

2025-07-09
Astro:一个颠覆传统前端框架的新星

Astro是一个2021年发布的全新前端框架,它颠覆了传统框架的理念,将内容优先、服务器端渲染作为核心,默认情况下不输出任何JavaScript代码,极大地提升了网站加载速度。它采用“岛屿架构”,仅对需要交互的组件加载JavaScript,其余部分保持为静态HTML,从而实现闪电般的加载速度。Astro支持多种框架集成,开发者可以使用React、Vue等框架构建部分组件,同时享受Astro带来的性能优势和简易的开发体验。如果你正在寻找一个专注于内容、性能卓越的前端框架,Astro将是你的理想选择。

开发

API Platform大会2025:AI赋能API开发的盛会

2025-07-09
API Platform大会2025:AI赋能API开发的盛会

API Platform大会将于2025年9月18日至19日在法国里尔和线上同步举行。此次为期两天的盛会将聚焦API Platform及其生态系统(包括PHP、Symfony、JavaScript、AI、FrankenPHP、性能和工具)的最新趋势、最佳实践和案例研究。大会将提供近30场英语和法语演讲,面向创新型公司、项目负责人和技术娴熟的开发人员。开发者、CTO和技术决策者不容错过!论文征集截止日期为3月23日,最终演讲嘉宾将于5月14日公布。

开发 API Platform

REST API 的真相:超越 CRUD 的架构风格

2025-07-09

本文深入探讨了 REST 架构风格的本质,揭示了其核心原则——超媒体即应用状态引擎 (HATEOAS)。许多所谓的“RESTful API” 仅仅停留在 CRUD 操作层面,忽略了 HATEOAS 的关键约束,导致客户端与服务器紧密耦合,难以维护和扩展。文章通过 Roy Fielding 的论述和实例,阐明了真正的 REST API 如何通过超媒体链接引导客户端交互,实现资源的动态发现和状态转换,最终构建出松散耦合、可演进的分布式系统。

开发 HATEOAS

React Native地图聚类库:RN Maps Clustering

2025-07-09
React Native地图聚类库:RN Maps Clustering

RN Maps Clustering是一个高性能、类型安全的React Native地图聚类库,基于supercluster构建。它提供简洁的声明式API,轻松为react-native-maps组件添加高效美观的标记聚类功能。支持自定义聚类渲染、点击事件处理,并具有自动分散标记、高性能等特性,极大提升了开发效率。

500英里邮件:匪夷所思的软件漏洞故事集

2025-07-09

500 Mile Email 收集了各种离奇的软件漏洞故事,每周更新。从数据库服务器因不明原因超时,到Wi-Fi只在下雨天工作,再到应用软件居然会因为喝可乐而崩溃,这些故事充满了黑色幽默和技术难题。网站汇集了来自世界各地的开发者、工程师和用户的投稿,展现了软件开发中令人捧腹却又令人深思的瞬间。

开发 编程故事

Shopify 的 LLM 文档机器人:猜想胜过事实?

2025-07-09
Shopify 的 LLM 文档机器人:猜想胜过事实?

Shopify 的 LLM 驱动的开发者文档机器人给出了一个关于 Shopify Collective 订单项检测的错误 Liquid 语法。尽管机器人迅速给出了答案,但该代码在实际应用中无效,因为 Shopify Collective 标签是在订单确认邮件生成后才添加的。作者质疑了这种“猜测式”文档机器人的价值,认为其错误的建议所带来的负面影响远大于快速获得帮助的益处。他认为,与其依赖可能出错的机器人,不如参考官方文档。

Thunderbird 140 发布:暗色模式、简易设置同步及 Exchange 支持

2025-07-09

Thunderbird 邮件客户端发布了 140 版本,带来了诸多新特性。其中最引人注目的是“暗色消息模式”,可使邮件内容适应暗色主题;此外,该版本还支持轻松将桌面设置传输到移动版 Thunderbird 客户端,并提供对 Microsoft Exchange 的实验性支持,以及全局的消息线程和排序控制。此版本为扩展支持版本 (ESR),将获得 12 个月的支持,但 Thunderbird 项目鼓励用户采用每月更新的 Release 版本。为了在广泛部署前捕获重大错误,项目正在分阶段为现有 Thunderbird 用户升级到 140 版本,但用户也可以通过“帮助 > 关于”菜单手动升级。

开发 ESR

Gmail 推出全新订阅管理工具,告别邮箱杂乱

2025-07-09
Gmail 推出全新订阅管理工具,告别邮箱杂乱

谷歌于周二宣布推出Gmail全新订阅管理功能,帮助用户轻松管理订阅邮件,清理邮箱。此功能将陆续在网页端、安卓和iOS平台上线。用户可在一个地方查看和管理订阅邮件,快速取消不需要的订阅。Gmail会代用户发送取消订阅请求。该功能补充了去年推出的“一键取消订阅”工具,进一步提升邮箱管理效率,预计在未来两周内全面覆盖所有用户。

500英里邮件传输限制:一个有趣的实验

2025-07-09

一个关于大学校长无法发送超过500英里邮件的有趣故事,引发了作者对网络连接和邮件传输距离的实验。通过编写简单的网络连接代码并测试不同大学的服务器,作者发现实际的连接距离受限于服务器位置和网络基础设施,而非物理距离。实验最终揭示了云计算和邮件服务器的地理分布对邮件传输的影响,500英里限制更多的是一个巧合而非物理定律。

开发

关系数据库中多态数据的五种建模方法

2025-07-09
关系数据库中多态数据的五种建模方法

本文探讨了在关系数据库中建模多态数据的五种方法,包括单表、可空外键、标记联合、子表到父表外键以及JSON。每种方法都有其优缺点,例如单表方法简单但性能可能较差,而JSON方法易于扩展但缺乏数据验证。作者建议根据实际情况选择最易于阅读、维护和调试的方法,不必过早优化。

开发 多态数据

arXivLabs:社区协作的实验性项目

2025-07-09
arXivLabs:社区协作的实验性项目

arXivLabs是一个允许合作者直接在arXiv网站上开发和分享新功能的框架。参与arXivLabs的个人和组织都认同并接受了arXiv关于开放性、社区、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,并且只与遵守这些价值观的合作伙伴合作。如果你有想法可以为arXiv社区增值,那就了解更多关于arXivLabs的信息吧!

开发

libpostal:全球地址NLP神器

2025-07-09
libpostal:全球地址NLP神器

libpostal是一个强大的C语言库,利用统计自然语言处理和开放数据解析和规范化全球地址。它支持多种语言,能将人类使用的自由格式地址转换为机器可比对和全文索引的规范形式,极大提升地理编码应用的效率和准确性。该库提供多种语言绑定,并可通过贡献数据或资金支持其持续发展。

开发
1 2 44 45 46 48 50 51 52 213 214