分类: 开发

在终端中玩转巨型表情符号:1978年科技的现代应用

2025-06-24

文章介绍了一种利用VT100终端的DECDHL转义序列来显示放大表情符号的方法。通过将表情符号的上半部分和下半部分分别输出到连续的两行,可以实现表情符号的垂直放大效果。文章还展示了如何组合不同的表情符号来创造出新奇的效果,例如将无表情脸和无嘴脸组合成一个新的表情。此外,文章还提到了Kitty终端中更现代的调整文本大小的方法。总而言之,文章以一种轻松有趣的方式介绍了在终端中玩转表情符号的技巧,并探讨了不同终端技术的应用。

(dgl.cx)
开发

Solid Queue:深度解析Rails后台任务处理利器

2025-06-24
Solid Queue:深度解析Rails后台任务处理利器

Solid Queue 是一个强大的 Ruby on Rails 后台任务处理系统,它巧妙地利用数据库而非外部依赖(如 Redis)来存储和管理任务。本文深入探讨了 Solid Queue 的高级特性,包括任务调度、周期性任务和并发控制。调度程序和计划程序分别负责处理定时任务和周期性任务,利用数据库表 `solid_queue_scheduled_executions` 和 `solid_queue_recurring_tasks` 来存储和管理任务信息。并发控制功能则通过 Semaphore 和 BlockedExecution 模型来限制特定类型任务的并发执行数量,有效避免资源竞争。文章还介绍了如何使用 AppSignal 监控 Solid Queue 的运行状态,确保系统稳定可靠。Solid Queue 的设计理念简洁可靠,充分体现了其在 Rails 生态系统中的价值。

开发

iOS 26 的救星:无需电脑即可恢复 iPhone

2025-06-23
iOS 26 的救星:无需电脑即可恢复 iPhone

iOS 26 推出了一个名为“恢复助手”的新功能,无需电脑或 Mac,即可修复启动失败的 iPhone。该功能会在 iPhone 遇到启动问题时自动启动恢复模式,并尝试修复问题。此外,它还可以通过其他 Apple 设备(例如 iPad)进行远程修复,下载并安装更新的 iOS 版本,从而使受影响的 iPhone 恢复正常工作。这项功能拓展了去年 iPhone 16 推出的恢复功能,为用户带来了更便捷的设备修复方案。

Pigz 的 Windows 移植:一个轻松的跨平台之旅

2025-06-23
Pigz 的 Windows 移植:一个轻松的跨平台之旅

Pigz,一个 Unix 风格的压缩工具,其 Windows 移植过程出乎意料地顺利。文章详细描述了移植过程中遇到的挑战,例如 pthreads 线程库和 dirent 函数库的差异,以及一些 C 库函数名称的细微差别。作者巧妙地利用现有的兼容性补丁和 Premake 构建系统解决了这些问题。Premake 的使用简化了 Visual Studio 项目文件的创建和维护,最终实现了 Pigz 在 Windows 系统上的成功运行。

开发

LibT9:轻量级T9输入法C语言库

2025-06-23
LibT9:轻量级T9输入法C语言库

LibT9是一个轻量级的C语言库,用于创建T9输入系统。它无需依赖任何外部库,仅需标准C库即可编译。LibT9提供三种使用方法:作为Linux驱动程序(位于driver/目录下)、命令行工具(需要ncurses库和cmake)以及网页版(foxmoss.github.io/libt9/)。该项目目前仍在开发中,欢迎贡献代码,未来计划支持标点符号、IBus驱动程序以及非单词输入。

Pickaxe:构建可扩展AI智能体的TypeScript库

2025-06-23
Pickaxe:构建可扩展AI智能体的TypeScript库

Pickaxe是一个基于TypeScript的轻量级库,用于构建容错且可扩展的AI智能体。它处理了持久化执行、排队和调度等复杂性,让开发者专注于核心业务逻辑。Pickaxe并非框架,所有组件都是函数,易于集成到现有代码库。它支持智能体调用工具、其他智能体或自定义函数,并利用Hatchet实现持久化任务队列,确保容错性和可恢复性,即使在机器故障时也能自动恢复执行。Pickaxe支持分布式部署,可在各种容器平台运行,并提供配置选项用于重试、限速和并发控制等。

开发

PostgreSQL 语法解析器:那些你意想不到的特性

2025-06-23

本文深入探讨了 PostgreSQL 语法中一些鲜为人知的特性,例如自定义操作符、复合SELECT语句的优先级、百分比类型、字符串续行、带引号的标识符以及 Unicode 转义等。作者发现,PostgreSQL 的自定义操作符与其他主流语言差异较大,实现起来较为棘手。例如,PostgreSQL 允许使用自定义操作符,这使得它能够原生解析 Trino 的 lambda 表达式语法,但也带来了优先级问题。文章还详细解释了字符串续行和注释之间的语法差异,以及如何在标识符中使用双引号和 Unicode 转义符。最后,作者还介绍了如何使用操作符函数,并指定操作符的模式。

uv: 比pip快10-100倍的Python包和项目管理器

2025-06-23
uv: 比pip快10-100倍的Python包和项目管理器

uv是一个用Rust编写的极速Python包和项目管理器,速度比pip快10到100倍。它集成了pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv等工具的功能,并提供项目管理、依赖项管理、虚拟环境管理、Python版本管理等功能,支持跨平台(macOS、Linux和Windows),使用简单方便。无论是单个脚本的依赖管理还是大型项目的构建发布,uv都能高效胜任,极大提升开发效率。

开发

最小布尔公式:算法的优雅与挑战

2025-06-23

本文讲述了计算五变量布尔函数最小运算符个数的历程。起初,作者使用Floyd-Warshall算法的变体,但效率低下。后来,作者与Alex Healy合作,利用函数对称性等特性,大幅优化算法,最终计算出结果为28。文章详细介绍了算法优化过程,包括利用函数的对称性和等价类减少计算量,以及从自底向上构建到自顶向下搜索的转变。最终算法将计算时间从预计的数月缩短至半天。

开发 布尔函数

告别繁琐!用tmux打造高效的开发工作流

2025-06-23

本文介绍了一种利用tmux构建高效开发工作流的方法。作者通过巧妙的tmux配置和脚本,实现了在远程服务器上直接打开文件、跨pane跳转、以及无缝在不同文件间切换等功能,极大提高了开发效率。文章详细描述了配置过程及涉及的正则表达式和脚本,并对比了其他工具,最终目标是摆脱VSCode的卡顿和繁琐的键位冲突。虽然配置复杂,但作者认为其带来的效率提升弥补了配置成本。

开发

Rivulet:一种以书法为灵感的编程语言

2025-06-23
Rivulet:一种以书法为灵感的编程语言

Rivulet 是一种独特的编程语言,它抛弃了传统的关键词,转而采用类似书法作品的视觉风格。代码以流畅的线条书写,其逻辑不同于大多数编程语言,更像是自然语言的演变。演讲者将介绍 Rivulet 以及其他几种从自然语言和人工语言的鲜为人知方面汲取灵感的编程语言,展示其模糊性和表达力。Rivulet 代码将数字零以七种不同的“线段”方式展现,这些线段的组合构成“字形”。其视觉风格受到迷宫、Anni Albers 的作品以及空间填充算法的启发。

开发

优化Emacs TRAMP远程访问速度:实战指南

2025-06-23

作者分享了优化Emacs TRAMP远程访问速度的经验。TRAMP虽然强大,但远程操作速度常常令人沮丧。文章通过调整配置(如tramp-copy-size-limit、tramp-direct-async-process),选择合适的复制方法(scp或rsync),以及对Magit等包进行优化(例如使用magit-dispatch),显著提升了远程工作效率。此外,作者还介绍了利用缓存机制减少TRAMP调用次数的技巧,并分享了自定义函数来进一步优化LSP和Magit的性能。最终,作者实现了几乎无感知的远程工作体验,并预告后续将探索更深层次的性能优化方案。

在 Go 汇编中存储指针的技巧与陷阱

2025-06-23
在 Go 汇编中存储指针的技巧与陷阱

本文探讨了如何在 Go 的汇编代码中安全地操作指针,避免与 Go 垃圾回收器冲突。由于 Go 的垃圾回收机制,直接在汇编中操作指针需要显式地通知垃圾回收器,这通常需要调用 `runtime.gcWriteBarrier2` 和 `runtime.writeBarrier` 函数。文章还介绍了如何分配 128 位对齐的内存,以利用 AVX 指令,并提供了一种巧妙的解决方法。但需要注意的是,直接操作底层运行时函数存在风险,未来版本可能不再支持。

开发 Go 汇编

CyberScript: 一种快速、高效且并发的脚本语言

2025-06-23

CyberScript 是一种静态类型(也支持动态类型)的脚本语言,其语法简洁易读,具有高性能和并发性。它支持多种数据类型,包括布尔值、数字、字符串、数组、列表、表、映射等,并提供丰富的操作符和控制流语句。CyberScript 还支持面向对象编程、元编程、异步编程和并发编程等高级特性,以及与 C 语言的互操作性。

开发

从Advent of Code到自制CPU:一个编程语言爱好者的虚拟机之旅

2025-06-23
从Advent of Code到自制CPU:一个编程语言爱好者的虚拟机之旅

作者讲述了其从Advent of Code 2015的Day 7难题出发,逐步深入系统编程和语言开发的历程。他先尝试自行设计编程语言“mango”,后转向构建自己的字节码虚拟机“turbine”。为了实现虚拟机,他深入研究了图灵机和CPU架构,设计了简单的指令集和寄存器,并用C语言编写了虚拟机和简易汇编器。整个项目展现了作者对系统编程的热情和扎实的技术功底,最终实现了一个可运行简单程序的虚拟机。

开发

拓扑空间中的洞:同伦等价与弱同伦等价

2025-06-23
拓扑空间中的洞:同伦等价与弱同伦等价

本文探讨了拓扑空间中“洞”的概念,并引入了两种等价关系:同伦等价和弱同伦等价。同伦等价允许空间在保持“洞”数量不变的情况下进行变形,例如咖啡杯和环面是同伦等价的。弱同伦等价则更宽松,它只要求空间具有相同的同伦群,即使它们在局部结构上存在差异。文章深入解释了同伦群的概念,并以环面为例说明如何通过同伦群来识别空间中的“洞”。最后,文章提到了Grothendieck的猜想,即无限群胚可以捕捉拓扑空间在弱同伦等价下的所有信息,这与弱分解系统和Quillen模型范畴密切相关。

仿《怪物猎人》风格的自定义下拉菜单:CSS与JS的魔幻结合

2025-06-23
仿《怪物猎人》风格的自定义下拉菜单:CSS与JS的魔幻结合

本文详细介绍了一个极具创意的自定义下拉菜单,其设计灵感源于《怪物猎人》游戏界面。作者巧妙地运用CSS和JavaScript,实现了横向滚动、拖拽、键盘导航等交互功能。文章深入探讨了HTML结构、CSS样式(包括变量、锚点定位、滚动捕捉等)以及JavaScript事件处理(拖拽、箭头键、焦点管理等)。虽然在辅助功能方面存在一些挑战,但该案例展现了CSS和JavaScript结合的强大潜力,为开发者提供了新的设计思路。

VS Code Claude 代码扩展:AI 编码助手集成

2025-06-23
VS Code Claude 代码扩展:AI 编码助手集成

Anthropic 的 Claude Code 现在拥有一个 VS Code 扩展,将强大的 AI 代码辅助功能直接集成到你的 IDE 中。该扩展支持自动安装、选择上下文识别、代码差异直接在 VS Code 的 diff 查看器中显示,以及方便的快捷键(Alt+Cmd+K)。它还能感知你当前打开的文件,并支持自定义配置。虽然目前尚处于早期版本,可能存在一些 bug,但它已经展现了 AI 辅助编码的巨大潜力。

开发

Verlet积分:用C++构建2D布料模拟

2025-06-23
Verlet积分:用C++构建2D布料模拟

本文深入浅出地讲解了Verlet积分法,并通过一个C++实现的2D布料模拟案例进行演示。文章首先回顾了微积分基础知识,然后对比了Euler积分法和Verlet积分法的优缺点,最终通过代码实现了一个可交互的布料模拟,用户可以通过鼠标拖拽和撕裂布料。

开发 Verlet积分

Nano-vLLM:轻量级vLLM实现,速度媲美原版

2025-06-23
Nano-vLLM:轻量级vLLM实现,速度媲美原版

Nano-vLLM是一个轻量级的vLLM实现,仅用约1200行Python代码构建,却能实现与vLLM相当的推理速度。它包含一系列优化,例如前缀缓存、张量并行、Torch编译和CUDA图等。通过pip install git+https://github.com/GeeeekExplorer/nano-vllm.git安装,并参考example.py使用。基准测试显示,在RTX 4070 Laptop (8GB)上使用Qwen3-0.6B模型进行测试,其吞吐量甚至略高于vLLM。

危急!Linux系统重大漏洞允许本地权限提升

2025-06-23
危急!Linux系统重大漏洞允许本地权限提升

两个新发现的本地权限提升(LPE)漏洞可使攻击者在运行主要Linux发行版的系统上获得root权限。第一个漏洞(CVE-2025-6018)存在于openSUSE Leap 15和SUSE Linux Enterprise 15上的PAM框架配置中,允许本地攻击者获得“allow_active”用户的权限。第二个漏洞(CVE-2025-6019)存在于libblockdev中,使“allow_active”用户能够通过udisks守护进程获得root权限。Qualys TRU已开发出概念验证漏洞利用程序,并在Ubuntu、Debian、Fedora和openSUSE Leap 15系统上成功利用CVE-2025-6019获得了root权限。强烈建议立即修补这些漏洞。

Ariadne Suite:一种新型的抗篡改密码协议

2025-06-23
Ariadne Suite:一种新型的抗篡改密码协议

CipherNomad团队发布了Ariadne Suite,这是一个基于Rust的开源密码协议,旨在提供更强的数字主权。该协议的核心创新在于其“迷宫”式结构和“线程”机制,实现了非周期性加密变换,即使少量数据被篡改也能被检测到。该项目目前处于Alpha阶段,尚未经过第三方安全审计,不建议用于生产环境。

开发

Python软件基金会2024年度影响报告:Python社区蓬勃发展

2025-06-23
Python软件基金会2024年度影响报告:Python社区蓬勃发展

Python软件基金会(PSF)发布了2024年度影响报告,报告显示Python社区及语言发展强劲。Python成为GitHub上最受欢迎的语言,全球社区参与度创历史新高。PSF欢迎首位PyPI支持专家Maria Ashna,并重启用户成功和教育推广工作组,持续投资于资助、基础设施和无障碍性建设。报告详细介绍了2024年的亮点、财务报告以及未来规划。

开发

LogTape:为JavaScript库量身定制的日志记录方案

2025-06-23
LogTape:为JavaScript库量身定制的日志记录方案

JavaScript库的日志记录一直是个难题:既要提供调试功能,又要尊重用户的选择。LogTape 提供了一种独特的解决方案,它以“库优先”的设计理念,在用户未配置日志的情况下,不会产生任何输出或副作用。只有当用户显式配置后,LogTape 才会生效,并且所有 LogTape 启用库都可通过统一配置系统管理。它零依赖,支持 ESM 和 CommonJS,在各种运行环境中都能一致工作,并具有出色的性能。LogTape 旨在为开发者提供更灵活、更轻量级的日志记录方案,同时尊重用户现有日志系统。

开发 库开发

Mojo: Python 的超高速编译语言扩展

2025-06-23
Mojo: Python 的超高速编译语言扩展

作者尝试使用 Mojo 语言编写 Python 的扩展函数,以提高 Python 代码的执行速度。测试结果显示,Mojo 在计算阶乘和计数素数方面,比纯 Python 代码快得多,甚至比 NumPy 还快。虽然 Mojo 仍在早期开发阶段,存在一些溢出问题,但这项技术展现了巨大的潜力,为 Python 程序员提供了一种简单易用的方法来加速代码执行。

开发 编译语言

CF-Shield:自动防护Cloudflare DDoS攻击的Python脚本

2025-06-23
CF-Shield:自动防护Cloudflare DDoS攻击的Python脚本

CF-Shield是一个Python脚本,可自动检测DDoS攻击并在Cloudflare上启用安全措施。它需要Cloudflare的邮箱、API令牌、区域ID和账户ID。安装后,脚本会提示你设置CPU使用率阈值、挑战类型以及可选的Discord、Slack和Telegram通知。 脚本会监控CPU使用率,如果超过阈值,则自动启用Cloudflare的WAF规则,并在攻击结束后自动禁用。这是一个强大的工具,可以帮助你保护你的网站免受DDoS攻击。

开发 DDoS防护

Paul Blain Levy荣获2025年阿隆佐·邱奇奖

2025-06-23

Paul Blain Levy因其对Call-by-Push-Value (CBPV) 演算的开创性研究荣获2025年阿隆佐·邱奇奖。他的研究将λ演算的纯逻辑形式和应用效应形式的研究统一起来,CBPV成为研究计算和逻辑现象(包括效应、极化、项规范化、类型同构和程序转换)的统一起点。Levy的工作对λ演算的语义理论及其在编程语言建模中的应用做出了突出贡献,涵盖了代数数据类型、操作语义、指称语义和等式理论等多个方面。

Polystate: 可组合有限状态机库

2025-06-23
Polystate: 可组合有限状态机库

Polystate是一个Zig语言库,旨在通过类型组合构建可组合的有限状态机。它强制执行编程约定,在类型级别记录状态机状态,并通过类型组合实现状态机的可组合性。这提高了命令式程序结构的正确性,并鼓励从类型和组合的角度重新设计程序状态,从而增强代码的可组合性。Polystate自动生成状态图,使用户能够直观地理解程序行为。通过示例展示了如何构建简单的状态机以及如何通过类型组合构建复杂的状态机,例如在ATM案例中限制PIN输入尝试次数,以及在raylib游戏中复用选择机制。

开发 可组合性

Otus Lisp 2.6 发布:一款轻量级、跨平台的 Lisp 方言

2025-06-23

Otus Lisp (Ol) 2.6 版本正式发布!这是一个轻量级(约 64KB)、纯函数式 Lisp 方言,实现了 R7RS Scheme 的扩展子集,并支持多种平台(Linux、Windows、macOS、Android 等)和架构。Ol 可嵌入,并提供与其他语言代码互调的高级接口。它还支持 WebAssembly,可在各种浏览器中运行。此次更新还引入了中缀表示法,方便用户使用传统的数学符号进行编程。

开发

Stack Overflow 数据的衰落与编程语言排名

2025-06-23
Stack Overflow 数据的衰落与编程语言排名

RedMonk 利用 GitHub 和 Stack Overflow 数据追踪编程语言趋势。然而,Stack Overflow 的问题数量自 2016 年以来持续下降,尤其是在 ChatGPT 等 AI 工具普及后,下降幅度更为显著。这使得 RedMonk 的编程语言排名数据可靠性降低,目前团队正在寻找替代数据源,以继续进行这项重要的分析工作。

开发
1 2 53 54 55 57 59 60 61 213 214