刷新
探索视觉的边界:用 Manim 重现有趣的知觉错觉

博主头像 这些错觉以清晰而明确的方式告诉我们:我们并非直接体验这个世界。 我们常常相信“眼见为实”,但知觉错觉告诉我们:事实并非如此。 我们的大脑并非直接复制世界,而是在构建一个基于经验与期望的“最佳猜测模型”。 今天,我们将通过 5 种经典的知觉错觉,来探索视觉的奥秘。 前三种是静态图像错觉,后两种则是动态 ...

剑指offer-81、⼆叉搜索树的最近公共祖先

博主头像 题⽬描述 给定⼀个⼆叉搜索树, 找到该树中两个指定节点的最近公共祖先。 对于该题的最近的公共祖先定义:对于有根树T的两个结点p 、q ,最近公共祖先LCA(T,p,q)表示⼀个结点x ,满⾜x 是p 和q 的祖先且x 的深度尽可能⼤。在这⾥,⼀个节点也可以是它⾃⼰的祖先. ⼆叉搜索树是若它的左⼦树不 ...

FrankenPHP 原生支持 Windows 了

博主头像 FrankenPHP 原生支持 Windows 了 FrankenPHP 是什么 FrankenPHP 是一个基于 Caddy 和 PHP 构建的现代 PHP 应用服务器,目标是简化 PHP 应用的运行与部署。它既可以作为传统 PHP 应用的运行环境,也提供了 Worker Mode、Hot Rel ...

PHP 的异步编程 该怎么选择

博主头像 PHP 的异步编程 该怎么选择 PHP 的传统执行模型是同步的,这意味着代码按照语句出现的顺序逐条执行。这本身并非问题,因为同步思维往往更为简单。 当要求 PHP 开发者实现 SQL 分页展示时,他们通常会先执行一条统计总数的查询,再执行第二条查询获取当前页的数据。总记录数对于生成分页链接(首页、下 ...

为什么 PHP 闭包要加 static?

博主头像 为什么 PHP 闭包要加 static? 在 PHP 中,闭包的使用越来越普遍:依赖注入、中间件、集合回调,以及异步编程中的回调工具。 但闭包有一个行为可能会让人意外:在实例方法内部创建的闭包会自动携带对当前对象的引用,即使闭包内部并未使用 $this。这种行为可能对对象生命周期产生意外影响,若不谨 ...

【Python 教程】如何将 JSON 数据转换为 Excel 工作表

博主头像 在数据处理场景中,JSON 作为轻量级数据交换格式被广泛使用,而 Excel 则是业务分析、数据交付的核心载体。将 JSON 数据结构化转换为 Excel 文件,是日常开发中高频且基础的需求。本文将介绍如何使用免费库 Free Spire.XLS for Python 完成这一转换任务,并提供处理复 ...

在Python中用any-singleton实现单例模式

博主头像 大部分情况下,单例模式可以很容易得被实现,并且正确运行。但总是要写一小段代码来实现,就不那么方便,也不易于管理。 为此,我就做了个简易的单例模式工具库——Any-singleton。 Any-singleton提供了两大功能:“创建单例”和“使函数仅运行一次”。 ...

BIO详解:解锁阻塞IO的使用方式

博主头像 关于同步/异步,阻塞/非阻塞,Unix IO模型,可以先看这篇文章网络系统 - Unix IO模型 BIO概述 阻塞式IO。也就是说io没有就绪的时候,操作IO当前线程会被阻塞。也就是用户线程需要等待IO线程完成 服务器实现模式为一个连接一个线程,也就是说,客户端每当有一个连接请求的时候,服务器就需 ...

数值类型和字符串之间的转换

博主头像 在C++11中提供了专门的数值类型和字符串类型之间的转换的转换函数。 数值转换为字符串 使用to_string()方法可以将各种数值类型转换为字符串类型,这是一个重载函,函数声明位于头文件中,函数原型如下: // 头文件 <string> string to_string (int val); st ...

PipelinR:在Java中实现优雅的CQRS架构

博主头像 使用中介者模式轻松实现命令查询职责分离,构建高内聚、低耦合的应用系统 一、知识点回顾 1. 什么是CQRS? CQRS是Command Query Responsibility Segregation的缩写,一般称作命令查询职责分离。从字面意思理解,就是将命令(写入)和查询(读取)的责任划分到不同的 ...

剑指offer-80、⼆叉树中和为某⼀值的路径(二)

博主头像 题⽬描述 给定⼀个⼆叉树root和⼀个整数值 sum ,求该树有多少路径的的节点值之和等于 sum 。 该题路径定义不需要从根节点开始,也不需要在叶⼦节点结束,但是⼀定是从⽗亲节点往下到孩⼦节点 总节点数⽬为 n 保证最后返回的路径个数在整形范围内 假如⼆叉树 root 为 {1,2,3,4,5,4 ...

关键字noexcept

博主头像 c++中通过throw关键字抛出异常,通过try{}catch{}捕获异常,在对应函数后添加throw()指定可以抛出的异常类型 #include<iostream> using namespace std; struct MyException { MyException(string str) ...

springboot~jpa优雅的软删除能力

博主头像 之前写过关于springboot~jpa优雅的处理isDelete的默认值的文章,今天说一下在jpa或者其它类型的Repository中实现软删除的方法,主要借助了自定义的仓储的能力。 优雅的引用方式 /** * 开启软删除的能力 * * @author lind * @date 2025/9/8 ...

剑指offer-79、最⻓不含重复字符的⼦字符串

博主头像 题目描述 请从字符串中找出⼀个最⻓的不包含重复字符的⼦字符串,计算该最⻓⼦字符串的⻓度。 数据范围: ⻓度⼩于40000 示例1 输⼊:"abcabcbb" 返回值:3 说明:因为⽆重复字符的最⻓⼦串是"abc",所以其⻓度为 3。 示例2 输⼊:"bbbbb" 返回值:1 说明:因为⽆重复字符的最 ...

ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升

博主头像 这次发布的是一个“补丁版本”,距离上次的大版本发布只有几天。 主要修改部分是: ✅ Bug 修复(MathTex 解析、DashedLine 动画、AnimationGroups 检测等) ✅ 小优化(Docker 镜像、警告静音) ✅ 文档补充 如果你正在使用 Manim 制作数学动画,建议尽快升 ...

虚拟线程深度解析:轻量并发编程的未来趋势

博主头像 这是Java19新增的预览版功能,到Java21正式可以使用 简介 虚拟线程是一种用户态下的线程,类似go语言中的goroutines 和Erlang中的processes,虚拟线程并非比线程快,而是提高了应用的吞吐量,相比于传统的线程是由操作系统调度来看,虚拟线程是我们自己程序调度的线程。如果你对 ...

<1234···50>