分类: 开发

横向评测:九款电子表格软件的终极对决

2025-05-23
横向评测:九款电子表格软件的终极对决

2024年6月底,一次对现有电子表格软件功能的调查揭示了其能力的差异。评测涵盖功能集、公式和函数支持、计算精确度以及计算速度等方面,力求量化各引擎的复杂程度。结果显示,Excel仍是事实标准,但Google Sheets、GRID、SpreadJS等也各有千秋。GRID在与Excel和Sheets的兼容性方面表现突出,而其他一些引擎(如HyperFormula、jSpreadsheet等)则在功能和精确度方面存在不足。此次评测旨在帮助用户了解不同引擎的优缺点,并为开发者提供改进方向。

超越注意力机制:高效Transformer架构的最新进展

2025-05-23

本文探讨了近年来在Transformer架构中超越原始注意力机制的若干关键技术。这些技术主要关注于降低计算复杂度和内存需求,例如分组查询注意力(GQA)通过共享键值投影减少内存占用;多头潜在注意力(MHA)利用潜在向量降低计算复杂度;Flash Attention通过巧妙的内存管理优化计算速度;环形注意力(Ring Attention)则利用多GPU并行计算处理超长序列。此外,文章还介绍了预归一化、RMSNorm、SwiGLU等激活函数和归一化方法以及学习率预热、余弦调度等训练技巧,以及混合专家模型(MoE)、多标记预测和推测解码等高效Transformer架构设计。这些技术共同推动了Transformer模型在处理长序列和高维数据方面的能力,提升了模型效率和性能。

开发

透镜设计终极指南:从单透镜到自由曲面

2025-05-23
透镜设计终极指南:从单透镜到自由曲面

本文是透镜设计形式的终极指南,涵盖了从简单单透镜到复杂自由曲面的各种光学系统。作者Kats Ikeda博士分享了多年的经验,将教科书知识提炼成易于理解的概念,并结合大量实例、图表和射线图,解释了不同透镜设计形式的优缺点、适用场景以及背后的历史渊源。指南还深入探讨了像差校正、模式识别等技术,并介绍了现代光学系统如激光应用、手机镜头和微光刻镜头等。

开发 光学系统

微软用Copilot给记事本加AI,网友:这谁要啊?

2025-05-23
微软用Copilot给记事本加AI,网友:这谁要啊?

微软在其内置的Windows应用程序中持续集成AI,最新更新的记事本加入了Copilot文本生成功能。用户需要登录微软账户,选择位置,然后使用Copilot菜单中的“撰写”功能来生成文本。此举引发争议,不少人质疑其必要性,认为对于简单的记事本来说,AI辅助写作功能显得多余且累赘。相比之下,微软对画图软件的AI升级,例如贴纸生成器和智能选取工具,则显得更实用一些。总而言之,微软似乎热衷于在各种应用中添加AI功能,但部分功能的实用性仍有待考证。

开发

Superlinked:无需重排序的统一向量搜索

2025-05-23
Superlinked:无需重排序的统一向量搜索

传统的向量搜索常常依赖耗时且计算密集型的重排序来提升结果相关性。Superlinked,一个用于构建高性能搜索和推荐系统的Python框架,通过将结构化和非结构化数据融合到多模态向量中,巧妙地解决了这个问题。它在索引时使用混合编码器将文本语义、数值范围和类别属性结合成统一嵌入,从而在查询时无需重排序就能获得更相关、更快速、更高效的结果。Superlinked支持动态意图捕获和硬过滤,允许用户在查询时调整权重并过滤掉不相关的结果,进一步提升搜索精度和效率。

开发

Glitch平台将于2025年停止核心应用托管功能

2025-05-23
Glitch平台将于2025年停止核心应用托管功能

Glitch,一个允许开发者共享和混搭项目的编程平台,宣布将于2025年7月8日停止其核心功能——网页应用托管。这意味着用户届时将无法再在Glitch上托管项目,个人资料也将被关闭。尽管Glitch CEO Anil Dash未明确表示平台完全关闭,但这一举动无疑对其未来发展蒙上阴影。用户可在2025年底之前下载代码和访问其项目,Glitch也正在开发项目子域重定向功能。 此次变动是由于维护成本增加以及恶意行为的增多造成的,Glitch的未来走向尚不明朗。

开发

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

2025-05-23
arXivLabs:与社区协作的实验性项目

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

开发

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

2025-05-23
arXivLabs:与社区协作者的实验项目

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

开发

告别神秘的类型错误:PolySubML 如何改善类型推断的错误信息

2025-05-23

PolySubML 是一种结合全局类型推断、子类型和高级多态性的编程语言。本文探讨了 PolySubML 如何设计良好的类型错误信息,并解释了现有语言在改进类型推断错误信息方面常常不足的原因。作者提出了五条规则:1. 切勿猜测或回溯;2. 不要妄下结论;3. 要求用户澄清意图;4. 允许用户编写显式类型注释;5. 不要将静态类型推断包含在运行时执行模型中。通过遵循这些规则,PolySubML 成功地解决了类型推断带来的许多常见问题,显著提高了代码的可调试性。

开发

VS Code PostgreSQL 扩展:AI 赋能的数据库管理

2025-05-23
VS Code PostgreSQL 扩展:AI 赋能的数据库管理

微软发布了Visual Studio Code的PostgreSQL扩展预览版,该扩展利用AI辅助功能简化了PostgreSQL数据库的管理和开发流程。它集成了GitHub Copilot的@pgsql代理,允许开发者在VS Code内进行查询编写、数据库对象管理以及模式优化等操作,并提供上下文感知的IntelliSense和丰富的上下文菜单功能,例如“重写查询”、“解释查询”和“分析查询性能”。该扩展还支持Azure Database for PostgreSQL和Entra ID身份验证,提高了安全性并简化了连接管理。总而言之,这个扩展旨在通过AI辅助和集成的工具来解决开发过程中常见的效率问题,从而提升开发者的生产力。

开发

Samchika:一款超高速Java文件处理库

2025-05-23
Samchika:一款超高速Java文件处理库

Samchika是一个为Java设计的可重用、易用且极速的文件处理库。它充分利用多线程并行处理CPU密集型文件任务,即使处理海量文件也能保持高性能。Samchika拥有简洁的API,支持自定义行处理器,并可选地显示运行时统计信息。它非常适合处理和分析大型文本文件(例如日志、数据集),并在日志分析、ETL操作、大型文本语料库处理等场景中表现出色。基准测试显示,与传统的BufferedReader方法相比,Samchika在处理200MB到16GB的文件时,性能提升显著,尤其是在多核系统上,性能提升超过70%。

开发

arXivLabs:与社区协作者一起进行实验性项目

2025-05-23
arXivLabs:与社区协作者一起进行实验性项目

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

开发

OpenAI的PostgreSQL大规模应用实践与挑战

2025-05-23

OpenAI在PGConf.dev 2025大会上分享了其使用PostgreSQL的最佳实践。他们采用单写多读的非分片架构,成功支撑了5亿活跃用户的海量读请求。然而,写请求成为瓶颈,为此他们进行了多方面优化,包括:控制主数据库负载(尽可能卸载写操作、使用延迟写等)、查询优化(避免长事务、优化复杂查询)、解决单点故障(优先处理高优先级请求)、精细的Schema管理(限制Schema变更)。尽管如此,OpenAI仍然遇到一些问题,例如索引管理、可观察性、Schema变更历史记录等,并向PostgreSQL社区提出了改进建议。资深PostgreSQL专家老冯对这些问题给出了基于其自身经验的见解,并指出许多问题可以通过已有工具或方法解决,甚至可以直接使用其开源的Pigsty系统。最终,OpenAI的PostgreSQL集群成功处理了超过百万QPS的请求,证明了PostgreSQL在大规模应用场景下的潜力。

开发

Creatr:解放生产力,加速开发流程

2025-05-23
Creatr:解放生产力,加速开发流程

Creatr 是一款强大的开发工具,极大地提升了开发者的效率。用户反馈显示,Creatr 简化了编码过程,使开发者能够专注于更高级别的开发工作和设计理念,从而更快地构建更优质的项目。其与 Supabase 的无缝集成更是锦上添花,让应用的部署更加便捷。无论是快速原型设计还是完整应用的开发,Creatr 都能显著缩短开发周期,帮助开发者将创意快速落地。

提升网页表格可访问性:Tab Roving 技术详解

2025-05-23

本文探讨了网页表格中焦点管理的挑战,特别是对于键盘用户而言,传统Tab键导航效率低下。作者介绍了一种名为“Tab Roving”的技术,通过使用箭头键在表格单元格之间导航,并将整个表格作为一个单一焦点元素处理,极大提升了键盘用户的操作体验。文章详细解释了该技术的实现原理,包括`tabindex`属性的运用、焦点追踪和React框架下的代码示例,并讨论了其他应用场景,例如Mega菜单和自定义数值输入框。

开发 焦点管理

CRDTs 的基石:半格结构到底有多重要?

2025-05-23

本文探讨了无冲突复制数据类型 (CRDT) 的设计原则,指出所有良好的 CRDT 都应基于半格结构。作者批判了那些在 CRDT 内部隐藏假设的做法,强调所有必要的假设都必须内化到半格结构中。文章以添加/删除集合为例,说明了如何通过引入因果关系晶格来解决基于本地时间的过期机制可能导致的非收敛行为。最终,作者总结了 CRDT 设计的几个关键要点,并强调了构建可靠分布式系统的重要性。

开发 半格

Haskell面试题:从回文到词频统计

2025-05-23

本文以Haskell语言解答了几道常见的编程面试题,包括回文判断、FizzBuzz、求和组合、字符串异位词判断和求最小最大值等。作者展示了Haskell简洁优雅的代码风格,并重点讲解了模式匹配、高阶函数、递归等特性在解决这些问题中的应用,以及如何处理空列表等边缘情况。最后,作者还介绍了如何使用Data.Map高效地统计文本中词频。文章深入浅出,适合Haskell初学者和想了解函数式编程风格的读者。

开发 面试题

Stripe惊人的每日1145次代码部署:效率的极致体现

2025-05-23

Stripe在2024年平均每天完成1145次代码提交并上线,全年API故障时间不到一分钟。这在拥有8500名员工(其中约40%为工程师)的规模下,意味着每位工程师平均每三天至少上线一次代码变更。这体现了Stripe强大的工程文化,以及在自动化测试、部署、回滚、可观测性等方面的巨额投入。虽然达到Stripe的规模和效率并非易事,但其成功经验值得借鉴,关键在于减少阻碍快速交付价值的摩擦。

开发 代码部署

程序员的AI副驾:天使还是魔鬼?

2025-05-23
程序员的AI副驾:天使还是魔鬼?

本文以诙谐的笔触,讲述了作者与AI编程助手(类比为能力低下的同事)合作的经历。作者认为,虽然AI能辅助完成一些简单任务,但过度依赖AI会扼杀程序员的创造力和对底层技术的理解,最终导致代码质量下降,系统性能受损。作者呼吁程序员应保持对技术的热情,避免成为AI的傀儡。

开发

Flatpak项目发展受阻:维护者短缺导致创新停滞

2025-05-23

尽管Flatpak应用打包格式在开发者和用户中很受欢迎,并在Fedora等发行版中被采用,但其核心项目却面临发展停滞的困境。主要原因是核心开发者流失,导致代码审查和合并缓慢,许多新功能和改进提案迟迟无法落地。文章探讨了Flatpak在OSTree和OCI支持、权限细化、网络命名空间以及与NVIDIA驱动程序集成等方面的挑战,并提出了基于OCI的重构方案,以期借力更广泛的容器生态系统解决现有问题。

开发 应用打包

DuckDB 新扩展 Airport:赋予 DuckDB 飞行能力

2025-05-23
DuckDB 新扩展 Airport:赋予 DuckDB 飞行能力

DuckDB 数据库迎来重大更新!Airport 扩展插件让 DuckDB 可以通过 Arrow Flight 服务器查询、修改和存储数据,突破了原有数据访问的限制。这意味着 DuckDB 能够访问非表格数据或不支持的格式的数据,甚至外部API。开发者还可以添加自定义SQL函数和远程执行的UDF,并实现细粒度的访问控制。Airport 基于 Apache Arrow 和 gRPC 构建,高效且兼容性强,为数据服务开启了新篇章。

开发 Arrow Flight

bpfilter:提升网络过滤性能的利器

2025-05-23

bpfilter项目旨在提升Linux内核网络过滤性能。它通过将iptables/nftables规则转换为BPF程序来实现,避免了传统方法的性能瓶颈。bpfilter由三个组件构成:守护进程、库和命令行工具,支持用户自定义规则并与iptables集成。测试表明,bpfilter在处理大量规则时的性能远超iptables和nftables,未来计划进一步完善nftables支持并集成用户自定义BPF程序。

开发

开发者的时间都去哪儿了?40年研究告诉你答案

2025-05-22

长久以来,开发者的大部分时间都花在了理解系统上。研究表明,从1979年到2018年,这一比例始终居高不下,即使在考虑了代码导航时间后,仍然高达58%。文章指出,理解系统本质上是决策过程,而阅读代码只是信息收集的手段,效率低下且难以扩展。作者提出了“可塑化开发”的概念,主张根据具体问题创建定制工具,减少对代码阅读的依赖,从而提高开发效率。文章最后推荐了Glamorous Toolkit,一个旨在促进“如何不阅读代码”讨论的可塑化开发环境。

恶意npm软件包攻击:React, Vue, Vite开发者受影响

2025-05-22
恶意npm软件包攻击:React, Vue, Vite开发者受影响

近日,安全研究人员发现一系列恶意npm软件包攻击了React、Vue和Vite等JavaScript开发者的生态系统。这些软件包中包含会在特定日期(2023年)引爆的恶意有效载荷,部分有效载荷甚至没有设定终止日期,持续构成威胁。攻击者还上传了正常工作的软件包来掩盖恶意行为。受影响的开发者应立即检查系统,确保恶意软件包已被清除。

Defuddle: 一款网页内容清理利器

2025-05-22
Defuddle: 一款网页内容清理利器

Defuddle 是一款强大的网页内容清理工具,它能去除网页上的冗余元素(如评论、侧边栏、页眉、页脚等),只留下核心内容,生成简洁易读的 HTML 文档。它支持多种格式处理,包括脚注、数学公式、代码块等,并能提取网页元数据,例如 schema.org 数据。Defuddle 可用于 Obsidian Web Clipper,并作为 Mozilla Readability 的替代方案。它提供浏览器版本和 Node.js 版本,后者支持 Markdown 转换。

开发 网页清理

Windows 11 应用更新:画图、截图工具和记事本迎来AI加持

2025-05-22
Windows 11 应用更新:画图、截图工具和记事本迎来AI加持

微软为Windows 11 Canary和Dev渠道的Insider用户推送了画图、截图工具和记事本的更新。画图新增AI贴纸生成器、智能对象选择工具和欢迎体验;截图工具增加了完美截图和颜色拾取器功能;记事本则引入了AI写作功能,方便用户快速撰写文本。这些新功能大部分需要Copilot+电脑和微软账户登录才能使用,部分功能需要Microsoft 365订阅。

开发 应用更新

R语言多元正态分布采样中的浮点陷阱

2025-05-22
R语言多元正态分布采样中的浮点陷阱

本文讲述了作者帮助同事解决R语言代码中多元正态分布采样结果不可重复的问题。问题根源并非R语言或MASS包本身的错误,而是浮点运算的固有特性导致的。即使使用`set.seed()`设定随机数种子,不同机器上运行相同的代码,由于浮点计算的舍入误差,会导致`MASS::mvrnorm()`函数产生不同的结果。作者深入分析了`MASS::mvrnorm()`和`mvtnorm::rmvnorm()`函数的底层实现,指出`MASS::mvrnorm()`使用特征值分解,对微小的输入扰动非常敏感,可能导致特征向量符号反转,从而影响结果的可重复性。而`mvtnorm::rmvnorm()`使用Cholesky分解,更加鲁棒,解决了这个问题。作者建议使用`mvtnorm::rmvnorm()`并设置`method = "chol"`来提高代码的可重复性。

开发

Rust 异步编程:Pin 和 Pin-Project 的妙用

2025-05-22

本文深入探讨了 Rust 异步编程中 Pin 和 pin-project crate 的使用。作者从 Future 的关联类型和类型推断开始,逐步引出 Pin 的必要性,以解决在异步函数状态机实现中由于可变借用和移动导致的内存安全问题。文章详细解释了 Pin 的作用、使用方法,以及如何结合 pin-project crate 简化代码,最终实现了安全可靠的异步状态机,并指出了在使用 pin-project 时需要注意的细节。

开发

Glitch平台将于2025年7月关闭应用托管服务

2025-05-22
Glitch平台将于2025年7月关闭应用托管服务

Glitch,一个流行的应用开发平台,宣布将于2025年7月8日停止其应用托管服务。此举是由于维护成本过高以及近年来涌现出许多功能更强大的替代平台。Glitch团队表示,他们将全力协助用户迁移项目,并提供代码下载、子域名重定向等服务,以确保用户数据的安全性和项目的持续运行。尽管这是一个令人惋惜的决定,但它也标志着Glitch在适应不断变化的开发环境方面迈出了重要一步。

开发 应用托管

轻量级RedisTimeSeries监控代理rtcollector:告别臃肿,掌控一切

2025-05-22
轻量级RedisTimeSeries监控代理rtcollector:告别臃肿,掌控一切

rtcollector是一个轻量级、插件化的监控代理,专为Redis Stack生态系统设计,用于收集系统和应用指标并推送到RedisTimeSeries。它像Telegraf一样工作,但更轻便、更灵活,可嵌入到任何地方(虚拟机、Docker、家庭实验室、边缘设备)。rtcollector支持多种插件(Linux/macOS CPU、内存、磁盘、网络等),完全YAML可配置,易于扩展。目前已支持Docker监控,并计划支持ClickHouse、MQTT和HTTP POST等输出。

1 2 78 79 80 82 84 85 86 213 214