分类: 开发

NGINX原生支持ACME:简化SSL证书管理

2025-08-14

NGINX发布了对ACME协议的原生支持,通过新的ngx_http_acme_module模块,直接在NGINX配置中申请、安装和更新证书,无需依赖外部工具如Certbot。这简化了SSL/TLS证书管理,减少了手动错误和安全漏洞,提高了可移植性和可靠性。ACME协议自动化了证书管理流程,NGINX的原生支持进一步提升了效率和安全性,为现代Web基础设施提供了可靠的解决方案。

开发 ACME

Astral发布Pyx:下一代Python包注册中心

2025-08-14
Astral发布Pyx:下一代Python包注册中心

Astral公司发布了Pyx,一个原生Python包注册中心,也是其下一代Python生态系统基础设施Astral平台的首个组件。Pyx优化了uv包管理器,不仅作为包注册中心,还解决了传统包注册中心无法解决的问题,例如加快速度、增强安全性、支持GPU。Pyx目前已与Ramp、Intercom和fal等早期合作伙伴合作,旨在为团队提供新一代Python体验。Astral致力于构建高性能的Python开发者工具,其目标是使Python成为地球上生产力最高的编程生态系统。

开发 Astral平台

Linux内核维护者Torvalds怒斥低质量代码提交

2025-08-13
Linux内核维护者Torvalds怒斥低质量代码提交

Linux内核的缔造者Linus Torvalds因八月行程繁忙,警告开发者尽早提交代码。然而,Meta工程师Palmer Dabbelt却在合并窗口截止日期临近时提交了一批低质量的RISC-V补丁。Torvalds对此大为不满,批评代码中“垃圾”般的辅助函数,并指出其将代码添加到通用头文件,而非RISC-V树中,这可能会对整个Linux社区造成负面影响。虽然Torvalds过去以脾气暴躁著称,但在2018年之后有所改善,这次的回应虽然严厉,但与以往相比已有所收敛。最终,Dabbelt为自己的失误道歉,承诺改进。

开发

Apache Iceberg 的等值删除难题:RisingWave 的解决方案

2025-08-13
Apache Iceberg 的等值删除难题:RisingWave 的解决方案

Apache Iceberg 成为数据基础设施领域的热门话题,但实时数据流入存在挑战。主流系统不支持直接将变更数据捕获(CDC)写入 Iceberg。文章深入探讨了 Iceberg 中的两种删除机制:位置删除和等值删除。等值删除适合流式 CDC,但会影响查询性能,许多主流引擎不支持。RisingWave 通过混合删除策略(批量更新使用位置删除,其他使用等值删除)和可调度压缩解决了此问题,实现了端到端的流式 CDC 到 Iceberg 的方案,并成功应用于 Siemens 等企业,显著提升了数据可用性。

开发

1980年代的拼写检查:一场与内存的战争

2025-08-13

在1984年的MS-DOS时代,编写一个拼写检查器是一项巨大的挑战。当时的电脑内存极其有限,通常只有256K,这需要程序员想方设法压缩字典,并设计高效的查找算法。与如今只需几行代码就能实现拼写检查相比,当时的程序员们付出了巨大的努力,开发出令人印象深刻的数据压缩和数据结构技术。这篇文章生动地展现了科技进步带来的巨大变化,从内存的瓶颈到如今的轻而易举,拼写检查的演进也反映了软件工程的巨大飞跃。

开发

Blender震撼来袭:iPad上的专业级3D建模

2025-08-13
Blender震撼来袭:iPad上的专业级3D建模

备受期待的免费3D建模软件Blender终于登陆iPad!完整的专业级Blender体验将适配iPad Pro和Apple Pencil,这标志着艺术家创作方式和地点的重大变革。此次并非简化版,而是完整功能的Blender,针对触屏设备重新设计,这将彻底改变移动创作。Blender团队致力于让3D技术触手可及,新界面并非简化版,而是为触控操作重新设计,支持多点触控和手势操作,并与桌面版保持一致性。未来还将支持Android等平台。

开发

「让我知道」协议:一种匿名事件通知方案

2025-08-13
「让我知道」协议:一种匿名事件通知方案

作者提出了一种名为“让我知道”(LMK)的新协议,旨在为用户提供一种匿名的方式,在特定事件发生时收到通知。例如,用户想在某个博主发布系列文章的第三部分时收到通知,但不想提供个人信息或订阅其他内容。LMK协议通过一个按钮注册一个URL端点,一个后台服务定期检查该端点。当事件发生时,端点返回相关信息,并向用户发出通知(弹出窗口、邮件或推送通知),然后自动删除该端点。作者认为,虽然该协议简单易行,但由于其匿名性和一次性特性,可能难以被内容创建者广泛采用。

CSS锚点定位:告别JavaScript,轻松创建响应式菜单

2025-08-13
CSS锚点定位:告别JavaScript,轻松创建响应式菜单

本文介绍了CSS的新特性——锚点定位,它允许你基于页面上其他元素的位置来放置元素。通过简单的CSS代码,就能轻松创建响应式菜单和工具提示,无需JavaScript。文章详细讲解了`position-anchor`、`position-area`、`position-try`以及`anchor()`函数的用法,并比较了使用物理属性和逻辑属性的优缺点,最终实现了一个响应式菜单,在不同屏幕尺寸下都能完美显示。

开发 锚点定位

用Neovim打造个性化日记系统

2025-08-13

作者利用Neovim、coreutils和dateutils构建了一个基于Ryder Carroll子弹日记法的个性化日记系统。系统以年份为目录,月份为文件,使用`cal`命令生成日历,并用`todo`、`done`等前缀标记任务,结合vim的缩写和排序功能,实现了高效的任务管理和可视化。此外,作者还添加了语法高亮和习惯追踪功能,并利用`awk`脚本计算每月支出。最后,作者还提供了脚本,方便快速打开当前月份或前后两个月的日记文件,提升了日记书写的效率。

开发 日记系统

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

2025-08-13
arXivLabs:与社区协作的实验性项目

arXivLabs是一个允许协作者直接在arXiv网站上开发和分享新功能的框架。参与arXivLabs的个人和组织都秉持着开放、社区、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,只与遵守这些价值观的合作伙伴合作。如果您有想法能够为arXiv社区增值,请了解更多关于arXivLabs的信息。

开发

Fennel 单文件库的挑战与解决方案

2025-08-13
Fennel 单文件库的挑战与解决方案

本文探讨了在 Fennel (一种基于 Lua 的 Lisp 方言) 中构建单文件库的挑战,尤其是在处理宏和函数同时存在的情况下的复杂性。作者详细分析了 Lua 的模块系统,包括 package.loaded、package.preload 和 package.searchers 的工作机制,并解释了 Fennel 如何利用这些机制来编译和加载模块。文章的核心在于解决 Fennel 宏的局限性,例如无法直接导出宏以及宏之间相互依赖的问题。作者提出了一种巧妙的方案,利用 `eval-compiler` 和 `relative-require` 技术,将宏和函数打包到同一个文件中,并通过在编译时手动设置 `fennel.macro-loaded` 表来解决宏加载问题。最后,作者还展望了 Fennel 宏系统未来的改进方向,建议取消宏模块,直接在编译时加载整个模块,并借鉴 Clojure 的处理方式来解决宏依赖问题。

开发

Omnara:你的AI助手任务控制中心

2025-08-12
Omnara:你的AI助手任务控制中心

Omnara是一个移动优先的平台,让你可以监控和控制你的AI代理(如Claude Code、Cursor、GitHub Copilot等)。它提供实时监控、交互式问答、智能通知等功能,让你随时随地了解AI代理的工作进度,并及时提供指导。告别因AI代理卡住而浪费时间的情况,Omnara 让你高效管理AI工作流,提升生产力。

开发

arXivLabs:与社区协作者共建arXiv新功能

2025-08-12
arXivLabs:与社区协作者共建arXiv新功能

arXivLabs是一个开放平台,允许开发者与arXiv社区合作,直接在arXiv网站上开发和分享新功能。参与者必须遵守arXiv的开放、社区、卓越和用户数据隐私的价值观。如果你有想法为arXiv社区增值,欢迎了解arXivLabs。

开发

从Neon到PlanetScale:OpenSecret的数据库迁移之旅

2025-08-12
从Neon到PlanetScale:OpenSecret的数据库迁移之旅

OpenSecret,一家构建基于AWS Nitro Enclaves的机密计算平台的公司,因其数据库提供商Neon的多次宕机而被迫迁移到PlanetScale。Neon的“无服务器”数据库在关键时刻出现数小时的宕机,严重影响了其核心应用Maple AI的稳定性。PlanetScale凭借其出色的可靠性、可预测的定价和强大的可观察性工具(包括P99延迟和查询级洞察),赢得了OpenSecret的青睐。迁移过程顺利且零停机,显著提升了性能并降低了成本。PlanetScale的专业支持和清晰的关注点——专注于数据库卓越性——让OpenSecret能够专注于其核心业务:构建卓越的机密计算平台。

Radicle 1.3.0 发布:增强协作和 Windows 支持

2025-08-12
Radicle 1.3.0 发布:增强协作和 Windows 支持

Radicle 1.3.0 版本发布,带来了诸多改进。核心更新包括:引入规范引用规则,增强代码协作安全性;创建 radicle-protocol 组件,简化协议实现;初步支持 Windows 系统,可以使用 rad CLI;改进日志轮换机制,并优化节点 ID 显示。此次更新提升了 Radicle 的稳定性和易用性,为开发者提供了更流畅的协作体验。

Depot招聘社区及活动经理:打造开发者生态

2025-08-12
Depot招聘社区及活动经理:打造开发者生态

快速发展的软件构建加速平台Depot正在招聘社区及活动经理。这并非传统市场营销角色,而是需要你亲力亲为地策划开发者线下活动,从小型聚会到大型展会,创建开发者真正关心的时刻,建立Depot的线下影响力,并与开发者社区建立持久联系。你需要有丰富的开发者活动经验,能够独立运作,并适应快速变化的环境。Depot是一家重视数据驱动、透明沟通和高效协作的远程公司,致力于帮助开发者提升效率,加速软件开发进程。

开发

Qodo Command:在SWE-bench上取得71.2%的惊人成绩

2025-08-12
Qodo Command:在SWE-bench上取得71.2%的惊人成绩

Qodo Command,一款命令行AI代码助手,在SWE-bench Verified基准测试中取得了71.2%的令人印象深刻的成绩。该测试模拟真实的软件工程场景,评估AI代理在代码审查、测试编写、bug修复和特性生成等方面的能力。Qodo Command凭借其上下文总结、执行规划、重试和回退机制以及LangGraph框架等特性,在无需微调的情况下实现了这一成绩。它支持多种大型语言模型,目前与Anthropic的Claude 4合作,致力于构建更具适应性和学习能力的代码代理。

开发

为了最大化Claude Pro的使用,我开始像水手一样睡觉

2025-08-12

为了充分利用Claude Pro的五小时使用限制,作者调整了自己的睡眠时间,采用类似水手短时间睡眠的方式,每次睡2-3小时,从而最大化编程效率。这种方法让他在B2B SaaS项目开发中效率提升了10倍。作者认为,这种方法虽然牺牲了睡眠质量,但目前来看非常有效,并计划在Claude Pro限制收紧后继续使用这种策略。

代码行长最佳实践:88字符的秘密

2025-08-12

本文探讨了代码行长的最佳实践。作者从80字符限制的历史渊源谈起,深入分析了人类视觉生理特性对阅读代码的影响,并指出现代宽屏显示器虽然提供了更多空间,但过长的代码行反而降低了可读性。最终,作者结合实际情况,推荐使用88字符作为代码行长的上限,并解释了这一选择背后的原因,包括代码缩进、diff工具兼容性等因素。

开发

递归与循环的等价性:尾递归优化详解

2025-08-12

本文深入探讨了递归函数和循环的等价性,以及尾递归优化技术。递归函数易于理解和推理,但效率较低,因为它需要使用堆栈存储中间结果。循环效率更高,但可读性可能较差。尾递归是一种特殊的递归,它将递归调用放在函数的末尾,编译器可以将其优化为循环,从而避免堆栈溢出并提高效率。文章通过示例代码比较了递归、迭代和尾递归三种方式实现求和函数的效率,并提出了两个练习题,引导读者深入理解尾递归的原理和应用。

开发 尾递归 循环

颠覆传统:Decipad 的时间区间革命

2025-08-12
颠覆传统:Decipad 的时间区间革命

Decipad 提出了一种全新的时间处理方式,将日期视为区间而非精确时刻。这改变了我们处理日期的方式,告别了对毫秒的依赖,让日期计算更直观、更符合人类思维。例如,'2023' 代表整一年,'2024年3月' 代表整个三月,避免了传统日期库中对特定时刻的假设而导致的逻辑错误。这种区间表示法也简化了日期计算,例如,直接计算两个日期之间的差值,得到以天、小时、分钟等单位表示的时间间隔。这种方法更简洁、更易于理解,也避免了时区转换等复杂问题。

PlanetScale团队发布Neki:面向Postgres的分布式数据库

2025-08-12
PlanetScale团队发布Neki:面向Postgres的分布式数据库

PlanetScale团队近日宣布推出Neki,一个基于他们构建Vitess的经验而开发的Postgres分布式数据库。不同于Vitess对MySQL的适配,Neki从一开始就针对Postgres进行设计,旨在将Vitess的水平扩展能力带给Postgres用户。目前Neki尚处于开发阶段,团队正与规模化设计合作伙伴一起构建,未来将作为开源项目发布,以满足最苛刻的Postgres工作负载需求。

开发

用Game Boy玩转Wayland锁屏:一个极客的Pokemon锁屏挑战

2025-08-12
用Game Boy玩转Wayland锁屏:一个极客的Pokemon锁屏挑战

一位Linux爱好者开发了一个独特的Wayland锁屏程序,它将Game Boy模拟器和修改后的Pokemon游戏结合起来,用户需要通过在游戏中完成一个小挑战来解锁系统。这个项目巧妙地将娱乐与技术结合,展示了Wayland的高度定制能力。开发者不仅深入研究了Wayland协议和锁屏机制,还独立实现了低级别Wayland窗口,并修改了Pokemon游戏代码以实现密码解锁逻辑。虽然该项目仍处于实验阶段,但它充分展现了创造力和技术实力,为个性化系统定制提供了新的思路。

开发 锁屏

Tilf:一款轻量级像素艺术编辑器

2025-08-12
Tilf:一款轻量级像素艺术编辑器

Tilf是一款使用PySide6构建的简洁强大的像素艺术编辑器,用于创建精灵图、图标和小型2D素材。它具有必要的工具、实时预览、撤销/重做和导出选项,无需账户注册或邮箱,可在Windows、MacOS和GNU/Linux上运行。作者在业余时间开发了Tilf,代码质量还有提升空间,欢迎贡献代码。

开发

告别云端,拥抱极简:两位开发者在帆船上的编程冒险

2025-08-12

两位开发者在环太平洋航行的七年间,亲身体验了现代软件的脆弱性,以及依赖云端服务的风险。他们决定抛弃复杂的现代技术栈,转向复古的8位游戏机和极简编程语言,构建一个自给自足的、可离线运行的个人计算系统。通过探索虚拟机、汇编语言和极简指令集计算机等技术,他们试图打造一个更具韧性和可持续性的编程环境,以此应对软件“寒冬”并实现数据持久化。

Ollama GGUF模型加载失败:ggml依赖库问题

2025-08-12
Ollama GGUF模型加载失败:ggml依赖库问题

Ollama平台在加载GGUF模型时遇到问题,错误日志显示张量'blk.0.ffn_down_exps.weight'的ggml类型无效(39, NONE)。这可能是由于llama.cpp的ggml依赖库版本过旧导致的,需要更新ggml依赖库以解决此问题。尽管在llama.cpp上运行GGUF模型没有问题,但Ollama平台的加载失败表明需要更新其ggml依赖库。

开发 GGUF

AI代理界面设计:构建面向人类、应用和代理的三重界面

2025-08-11
AI代理界面设计:构建面向人类、应用和代理的三重界面

本文探讨了在构建应用时,需要同时考虑三种界面:用户界面(UI)、应用程序接口(API)和用户代理界面(UAI)。作者强调,随着AI代理的兴起,UAI设计变得至关重要。为了确保应用功能在三种界面中的一致性和可用性,关键在于将核心业务逻辑与界面特定的呈现和交互模式区分开来,并将功能定义抽象到底层应用逻辑中,从而避免在添加新功能时意外降低任何界面的可用性。

开发

Microrim 如何在短短几个月内将 R:BASE System V 移植到 OS/2

2025-08-11

1986年末,Microrim 成为 IBM OS/2 的 Beta 测试站点。他们面临着一个巨大的挑战:在 IBM 正式发布 OS/2 之前,将大型数据库管理软件 R:BASE System V 移植到新系统。Microrim 凭借其模块化的软件设计和经验丰富的工程师团队,巧妙地利用语言转换工具和系统性的方法,在短短几个月内完成了移植工作。他们选择先将 FORTRAN 代码转换为 C 代码,再进行 OS/2 移植,并有效地隔离了操作系统相关的调用,最终成功在 IBM 的 OS/2 发布会上演示了产品。这次成功的移植,不仅证明了 Microrim 的技术实力,也为其他软件开发者提供了宝贵的经验。

开发 软件移植

优化 macOS 磁盘使用率程序 dumac 的性能

2025-08-11

dumac 是一个比 `du -sh` 更快的 macOS 磁盘使用率程序,它利用 macOS 特有的系统调用 `getattrlistbulk` 来提升性能。作者通过社区反馈,改进了程序的并行处理方式,将 Tokio 替换为 Rayon,并优化了 inode 哈希集的分片策略,从而显著提升了性能。通过调整 inode 分片策略,减少了锁竞争,最终使得程序的性能提升了约 33%。

开发
1 2 25 26 27 29 31 32 33 213 214