分类: 开发

MySQL 8.0 性能增强:开源项目带来显著提升

2025-06-01
MySQL 8.0 性能增强:开源项目带来显著提升

一个开源项目对MySQL 8.0进行了全面的性能优化,解决了自8.0.28版本以来存在的连接性能下降、批量插入性能问题以及其他一些性能瓶颈。优化涵盖InnoDB存储引擎可扩展性、redo日志、哈希连接成本模型、内存使用和高可用性等多个方面。测试表明,该优化版本在高性能硬件上尤其有效,为用户提供更稳定、高效的服务,尤其适用于互联网公司的高并发场景。该项目还提供持续的版本维护和易于使用的二进制版本下载。

开发

Berb:无需服务器的P2P文件共享应用

2025-06-01
Berb:无需服务器的P2P文件共享应用

Berb 是一款轻量级的、注重隐私的 Web 应用,使用 WebRTC 技术实现点对点文件传输。无需服务器上传,文件直接在发送者和接收者之间传输。它安全快速,因为文件不会经过任何服务器。目前该项目仍处于开发阶段,未来计划增加断线重连、多文件支持和流保存等功能。

开发

渐进式JSON:像渐进式JPEG一样加载数据

2025-06-01
渐进式JSON:像渐进式JPEG一样加载数据

本文探讨了一种改进JSON数据传输效率的方法——渐进式JSON。传统JSON传输需要等待所有数据加载完毕才能解析,而渐进式JSON则类似于渐进式JPEG,先传输数据框架,再逐步填充细节。文章比较了深度优先和广度优先两种数据流方式,并指出React Server Components (RSC) 便是利用广度优先方式,结合Suspense组件,实现了渐进式UI加载,提升用户体验。

开发 渐进式JSON

Bucket 与 Linear Agents 集成:提升开发者效率的 AI 协作

2025-05-31
Bucket 与 Linear Agents 集成:提升开发者效率的 AI 协作

Bucket 团队与 Linear 的 Agents 平台深度集成,打造了一个 AI 驱动的特性标记管理代理。该代理能够直接在 Linear 的 issue 中创建和管理 Bucket 的特性标记,通过自然语言交互简化了开发流程。开发者只需在 Linear 中评论,即可创建或修改特性标记,AI 代理会自动完成操作并提供反馈。此举旨在将 AI 融入开发流程,使开发者能够更快速、更高效地交付高质量功能。

开发 AI 集成

算法生成自指句:程序员的文字游戏

2025-05-31

本文介绍了一种算法,可以生成“自指句”(autogram),即句子本身描述了自身每个字符出现的次数。作者首先解释了自指句的生成原理,即通过迭代生成一个描述前一句字符计数的句子序列,最终该序列会形成一个循环,其中包含自指句。作者进一步改进算法,通过随机更新单个字符计数的方式,提高了找到自指句的效率。文章最后展示了几个生成的示例,包括生日贺卡、包含所有字母的句子等,并提供了相关代码和资源链接。

开发 自指句

Oniux:利用Linux命名空间增强Tor网络隔离

2025-05-31
Oniux:利用Linux命名空间增强Tor网络隔离

Oniux是一个新的命令行工具,利用Linux命名空间为第三方应用程序提供更强大的Tor网络隔离。它将应用程序放入独立的网络命名空间中,通过Tor路由流量,有效防止数据泄露,即使应用出现错误或恶意代码尝试绕过Tor。与torsocks相比,Oniux更安全,支持更多类型的应用,包括静态二进制文件。它基于Arti和onionmasq,用Rust编写,为注重隐私的开发者提供更可靠的Tor保护。

开发

开源高级数据保护:OpenADP 项目招募贡献者

2025-05-31
开源高级数据保护:OpenADP 项目招募贡献者

一个名为 OpenADP 的开源项目旨在为每个人提供高级数据保护,抵抗国家级攻击和秘密大规模监控。该项目采用分布式信任系统,将用户的加密密钥分成多个份额,存储在不同的保护服务器上。用户需要从足够数量的服务器中获取密钥份额才能恢复数据。目前项目需要 Android 和 iOS 客户端开发人员以及愿意运行保护服务器的人员。这是一个雄心勃勃的项目,旨在增强用户的隐私和数据安全,欢迎各位开发者加入!

开发

高校计算机课程抄袭泛滥:制度性问题而非道德缺失

2025-05-31

本文作者以自身在大学计算机课程中打击剽窃的经历为例,揭示了高校中普遍存在的学生抄袭现象及其背后的制度性原因。尽管教师们普遍认识到抄袭的严重性,但由于缺乏学校的支持、工作量巨大以及可能面临学生和学校管理层的负面评价等因素,导致大多数教师选择视而不见。作者认为,解决问题的关键在于改变激励机制,让抄袭行为付出代价,同时简化并提升剽窃检测工具的效率,并为教师提供更多支持。

开发 剽窃检测

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

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

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

开发

Sguaba:Rust库简化坐标转换,避免坐标系统混淆

2025-05-31
Sguaba:Rust库简化坐标转换,避免坐标系统混淆

Sguaba是一个Rust库,旨在简化处理不同坐标系(如WGS84、ECEF、NED、FRD)的坐标和向量转换。它利用Rust的类型系统,强制类型检查以避免混淆不同坐标系,从而减少错误。Sguaba针对工程师设计,提供易于理解的类型(如Coordinate、Vector、Orientation、Pose)和RigidBodyTransform用于坐标转换,即使不熟悉线性代数也能轻松使用。该库附带详细文档,并提供示例代码,演示如何进行坐标转换。目前Sguaba缺少ENU和ECI坐标系的支持,欢迎开发者贡献代码完善该库。

开发

使用eBPF追踪Firefox的内存分配

2025-05-31

作者使用eBPF(扩展伯克利分组过滤器)技术追踪Firefox JavaScript引擎SpiderMonkey中的内存分配。最初目标是定位频繁创建Rooted对象的源码位置,以优化内存管理。通过bpftrace工具和用户探针(uprobe),作者成功追踪到`registerWithRootLists`函数,并利用ustack函数获取调用栈信息。最终,作者成功生成报告,并据此提交了多个bug报告,优化了内存分配,减少了数千万次`registerWithRootLists`调用。

开发 bpftrace

程序员五年UTC时间实验:告别时区混乱,提升效率

2025-05-31
程序员五年UTC时间实验:告别时区混乱,提升效率

一位程序员五年来坚持使用协调世界时(UTC),彻底告别了时区转换的困扰。他发现,使用UTC不仅简化了时间管理,还提高了工作效率,即使频繁跨时区旅行也从未错过会议或航班。虽然需要一些时间适应,并偶尔解释手机显示的“错误时间”,但这种方法带来的便利性远大于不便。文章详细讲述了他的实验过程和经验,并建议读者尝试使用UTC,掌控自己的时间。

开发

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

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

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

开发

用Lean证明分析I:一个交互式学习项目

2025-05-31
用Lean证明分析I:一个交互式学习项目

作者将自己20年前的实分析教材《分析I》用Lean证明助手进行了形式化。这个项目并非简单的翻译,而是将书中的定义、定理和习题转化为Lean代码,读者可以通过填补代码中的“sorries”来完成习题,并逐步学习Lean和Mathlib数学库。项目目前已完成部分章节的转换,并设计了从“手工”构建自然数到使用Mathlib标准库的过渡,方便学习者逐步掌握。作者邀请志愿者参与测试和完善项目。

开发 实分析

用ed(1)构建静态网站:一个古怪的尝试

2025-05-31

作者Artyom Bologov分享了他用古老的文本编辑器ed(1)构建静态网站的奇特经历。他尝试过多种方法,从Lisp到C预处理器,最终选择ed(1)作为他的静态网站生成器。虽然ed(1)功能有限,缺乏文件包含等特性,但它足够灵活,允许作者使用自定义语法,并能处理旧的预处理器格式。作者用ed(1)脚本实现了预处理和格式转换,支持多种输出格式(txt, gmi, 7, tex等)。虽然这并非最佳实践,但这篇文章展现了ed(1)的意外潜力,以及作者对文本处理的独特探索。

开发 ed(1)

Go语言迭代器:纯净与杂糅的较量

2025-05-31

Go 1.23 引入了标准化的迭代器,它们功能强大,可作为闭包使用。然而,官方文档对迭代器的分类含糊不清。本文作者建议将迭代器分为“纯”和“杂”两类,“纯”迭代器在每次调用时都从头开始,而“杂”迭代器则可能保留状态。文章探讨了不同类型的迭代器,以及在性能和一致性之间如何权衡利弊,最终指出Go迭代器仍在发展中,其规范和术语仍需完善。

开发

域的理想:简洁的优雅

2025-05-31

这篇论文探讨了域的理想这一代数概念。域只包含两个理想:零理想和域本身,两者都被称为平凡理想。论文证明了这两个事实:首先,任何域都只有平凡理想;其次,任何具有非平凡加法和乘法单位元的交换环,如果只有平凡理想,则它一定是域。论文通过定义理想、举例说明以及证明过程清晰地阐述了这两个结论的推导过程,展现了数学结论的简洁优雅。

开发 理想

Rigorous:AI赋能的科学论文分析工具

2025-05-31
Rigorous:AI赋能的科学论文分析工具

Rigorous是一个利用AI进行科学论文分析的工具,提供云端版本,用户只需上传稿件和目标期刊信息,即可在1-2个工作日内收到一份全面的PDF报告。该工具包含两个主要部分:Agent1_Peer_Review负责进行同行评审,提供详细的反馈和可操作的建议;Agent2_Outlet_Fit(开发中)则用于评估稿件与目标期刊的匹配度。目前Agent1_Peer_Review已可使用,并能生成包含摘要、详细分析和视觉化表格的专业PDF报告。

开发

重回2007:一个老程序员的复古Web开发

2025-05-31
重回2007:一个老程序员的复古Web开发

厌倦了现代Web开发的复杂流程,一位资深程序员决定回归简单。他用Sinatra、Sequel和SQLite构建了一个简单的排名系统,重温了2007年Web开发的乐趣。没有复杂的MVC框架,没有庞大的数据库,只有轻量级的代码和快速的响应。他巧妙地利用了现代硬件的性能优势,用最简单的技术实现了令人满意的效果,这让他体验到了久违的编程乐趣,并重新燃起了对编程的热情。

AtomVM:适用于物联网设备的轻量级Erlang虚拟机

2025-05-31

AtomVM是一个为物联网设备设计的轻量级Erlang虚拟机,它实现了Bogdan Erlang抽象机(BEAM)的一个子集,能够执行从Erlang或Elixir编译的字节码。AtomVM支持BEAM指令集和Erlang/OTP标准库的子集,并针对微控制器进行了优化。使用AtomVM,你可以用函数式编程语言和actor模型编写物联网应用,使其更易于编写和理解。它支持进程生成、监控、消息传递、抢占式调度和高效的垃圾回收,并能与GPIO、I2C、SPI和UART等外设和协议接口。一些设备(例如Espressif ESP32)甚至支持WiFi网络。所有这些功能都可以在价格低至2美元的设备上实现。

开发

我的小服务器对抗AI数据抓取大军

2025-05-31

作者的个人网站遭遇了大规模数据抓取攻击,主要来自大型科技公司如亚马逊、Facebook和OpenAI。起初,网站资源消耗激增,导致服务器不堪重负。作者利用监控工具Zabbix和Loki发现问题,并通过分析Nginx日志,识别出大量恶意IP和User Agent。最终,作者通过Nginx配置和Fail2Ban,实施了基于User Agent的黑名单和IP地址封禁策略,有效遏制了攻击,维护了网站的正常运行。

开发

四大Android聊天应用的SDK和API调用分析

2025-05-31

本文分析了四大Android聊天应用(OpenAI、Anthropic Claude等)中使用的第三方SDK和API调用。作者使用AppGoblin的公开数据,发现这些应用广泛使用了Kotlin开发,并集成了多种商业工具,包括Google分析、Statsig(产品分析)、Segment(营销分析)、Sentry(部署分析)以及RevenueCat(应用内支付)。值得注意的是,OpenAI和Grok使用了livekit.io的AI语音平台,而Perplexity则使用了Mapbox地图和Shopify电商功能。文章还提到了API调用的分析,但未公开具体数据。

程序员的秘密宝典:一个超棒的工具集合库

2025-05-31
程序员的秘密宝典:一个超棒的工具集合库

这个GitHub仓库汇集了作者日常工作中使用的各种实用工具、脚本、文档和技巧,内容涵盖Bash、Zsh、网络工具、安全工具、数据库工具等等。它就像一本程序员的秘密宝典,为系统和网络管理员、DevOps工程师、渗透测试人员和安全研究人员提供了丰富的资源,并持续更新。

开发 工具集合

梯度是新的区间:高效渲染复杂SDF模型的新方法

2025-05-31

本文介绍了一种基于Lipschitz属性的SDF分层树剪枝方法,该方法高效渲染复杂模型。该方法利用距离场的梯度限制,通过单点评估获取类似区间的结果,并结合传统区间算法的技巧,实现了显著的性能提升。与传统的区间算法相比,该方法避免了区间运算的保守性,并能更好地处理复杂的变换。虽然在处理非Lipschitz连续的距离场时需要额外的归一化步骤,但整体效率依然显著高于传统方法,为交互式可视化复杂模型提供了新的思路。

开发 Lipschitz

警惕编译器“快速数学”选项的潜在风险

2025-05-31

本文深入探讨了编译器中`fast-math`选项的潜在危险。该选项虽然能提升数学运算速度,但却可能违反IEEE 754标准,导致结果不准确。文章详细分析了`-ffast-math`带来的几种常见问题,例如优化掉NaN和Inf检查、重新关联浮点运算以及启用FTZ(Flush to Zero)等,并指出这些问题可能导致程序错误,甚至难以调试。作者建议谨慎使用`fast-math`,并提出了一些更安全的使用方法,例如开发可靠的验证测试和基准测试,以及使用更精细的控制方法来管理优化过程。最终,作者呼吁改进编译器和编程语言,提供更安全、更易用的工具来充分利用现代硬件性能,避免对`fast-math`的过度依赖。

开发 IEEE 754

AccessOwl:寻求精通TypeScript和AI的资深远程软件工程师

2025-05-31
AccessOwl:寻求精通TypeScript和AI的资深远程软件工程师

AccessOwl,一家由Y Combinator支持的盈利型初创公司,正在寻找一位资深软件工程师,负责其SaaS工具管理平台的集成层开发。理想候选人应精通TypeScript和AI,有Playwright或Puppeteer经验,熟悉IaC,并热衷于解决实际问题。该职位提供具有竞争力的薪水、远程工作和灵活的工作时间。

开发

C++程序员的Rust速成宝典

2025-05-31

这是一本帮助C++程序员学习Rust的实用指南,它将常见的C++编程模式翻译成地道的Rust代码。书中通过具体的代码示例和对工程权衡的高级讨论来解释每种模式。本书既可以从头到尾阅读,也可以随机查阅。如果你在编写Rust代码时想到“我知道如何在C++中这样做,但在Rust中不知道”,那么可以查阅本书中相应的章节。本书由布朗大学认知工程实验室的C++和Rust专家编写,旨在提供准确的信息,并兼顾细节。本书中没有使用AI生成任何文本。

开发

从菜鸟打字员到120WPM:我的高效打字修炼之路

2025-05-31

作者在学习计算机科学期间,因打字速度慢而苦恼,这影响了他的编程学习和求职。为了提升打字速度,他坚持每天练习10-15分钟,从最初的30WPM提升到如今的120WPM。过程中,他尝试了不同的打字软件,最终开发了自己的打字应用TypeQuicker,并分享了他的高效练习方法,包括专注于提升准确率、练习特定字符序列以及利用AI生成自然文本进行练习等。高效打字不仅提升了他的编程效率和求职竞争力,也让他在日常工作和生活中更加高效和自信。

开发 打字技巧

告别复杂循环:用查找表优化指数退避算法

2025-05-31

传统的指数退避算法通常使用循环计算延迟时间,代码冗长且易出错。本文提出了一种更优雅的方案:使用查找表预先定义延迟时间。这种方法代码简洁,可读性强,修改退避策略也更加安全便捷,避免了循环计算带来的潜在错误和复杂性,提高了代码的可维护性。

Hadley Wickham谈大数据采样:小样本也能解决大问题

2025-05-31
Hadley Wickham谈大数据采样:小样本也能解决大问题

Hadley Wickham近期接受采访时指出,许多大数据问题其实可以通过合适的子集、样本或摘要简化为小数据问题。本文探讨了如何在大数据分析中进行有效采样。作者以一家为患有嗜睡症的山羊提供服务的公司Goatly为例,说明了如何计算合适的样本量以进行逻辑回归分析,最终得出需要约2345个样本才能准确代表10万个农场的数据。文章还介绍了计算样本量的Python脚本和在线工具,并简要解释了统计检验功效的概念。

1 2 71 72 73 75 77 78 79 213 214