- 博客(335)
- 资源 (5)
- 收藏
- 关注
原创 【形式化验证】动态逻辑(DL)的定义解释与示例
原子公式e = e~:表示两个项e和e~相等。e ≤ e~:表示项e小于等于项e~。命题连接词¬PP ∧ QP ∨ QP → QP ↔ Q量词∀x P,表示对于所有变量x的值,公式P都成立。∃x P,表示存在至少一个变量x的值,使得公式P成立。模态运算符[α]P:盒式模态运算符(Box Modality),表示“在执行程序α之后的所有终止状态中,公式P都成立”。hαiP:菱形模态运算符(Diamond Modality),表示“在执行程序α之后的至少一个终止状态中,公式P成立”。
2025-05-04 23:51:46
616
原创 Rust的安全卫生原则
使用关键字和对义务的解释来引入安全义务。使用关键字和对解除原因的解释来解除安全义务。当不涉及安全义务时,避免使用相关关键字和安全注释。在Rust中,这个关键字就是unsafe,引入安全义务时通常用# Safety注释说明,解除时则用// SAFETY注释。Rust的相关工具也基本围绕这三条规则来设计。在这里的“安全卫生”语境里,“卫生”可类比日常生活中保持环境整洁、预防疾病的概念,核心是维护系统(这里指代码)的“健康”,免受因内存不安全引发的“问题”侵扰。明确标记与记录。
2025-05-04 23:37:55
1355
原创 一种独特风格的Curry编程语言及特性介绍
有人认为,编程语言不要学过多,精通一门即可,对此观点不做评价,仁者见仁。不过个人建议如果是计算机专业的人员,还是鼓励多多了解学习多种不同的编程语言,感受其背后的编程哲学或体现的编程范式,表达能力, 语法,性能等等,对编程的理解会有很多益处。Curry 是一种声明式多范式编程语言 ,它无缝地融合了 函数式编程 (嵌套表达式、高阶函数、强类型、惰性求值)和逻辑编程 (非确定性、内置搜索、自由变量、部分数据结构)的特性。
2025-05-04 01:00:00
897
原创 Tesla的战略变化策略(2010~2024)以及给中国汽车厂家的启发
中国拥有庞大的汽车市场、完善的产业链和丰富的人才资源,在政策的大力支持下,中国汽车厂家有望在全球汽车产业变革的浪潮中实现弯道超车,成为全球汽车行业的领军者。未来,随着技术的不断进步和市场的持续演变,中国汽车厂家还需要不断创新和调整战略,以适应新的挑战和机遇,为推动中国汽车产业的高质量发展和全球汽车产业的变革做出更大的贡献。在市场拓展上精准定位、加强品牌建设;自成立以来,Tesla以其创新的技术、独特的商业模式和前瞻性的战略布局,不仅在电动汽车领域取得了巨大成功,还深刻地改变了整个汽车行业的竞争格局。
2025-05-03 16:42:04
1100
原创 2025年全球最火的12台新型飞行汽车
它采用纯电动驱动,零排放、低噪音,配备 252Ah 容量动力电池,2 小时内可充满电,具备垂直起降和悬停能力,最大正常平飞速度 90 公里每小时,续航 25 分钟,设计航程 30 公里。与未来依赖电池和复杂空气动力学的电动垂直起降 (eVTOL) 飞机不同,PAL-V Liberty 采用传统的汽油发动机,这使其更加实用、节能,并且更易于融入现有的交通网络。在智能飞行上,依托广汽无人驾驶技术和智能网联平台,融合前沿无人飞行技术,打造全空间无人飞行体系,配备实时监测、智能避障等系统,实现一键式无人飞行。
2025-05-03 16:23:18
1025
原创 OCaml中的object和class基础知识介绍
在OCaml里,使用object关键字来定义对象,对象内可以包含实例变量和方法。(* 实例变量 *)(* 方法 *)end在这个例子中,person是一个对象,它有两个实例变量name和age,还有四个方法get_nameget_ageset_name和set_age。在 OCaml 里,使用class关键字来定义类。类能够包含实例变量和方法,而且可以对这些成员进行初始化。objectend在这个例子中,person是一个类,它接收两个参数name和age用于初始化实例变量。
2025-05-01 13:33:30
1101
原创 开源飞控软件:推动无人机技术进步的引擎
在过去的二十年里,众多开源自动驾驶仪项目极大地推动了无人机技术的发展。像 MatrixPilot、Baseflight、TauLabs、OpenPilot、Cleanflight、MultiWii 和 dRonin 等一些开源自动驾驶仪项目已经停止开发,然而,Ardupilot/APM、Pixhawk/PX4、Paparazzi、LibrePilot、Betaflight 和 iNAV 等项目至今仍具有重要意义,并在开发者和爱好者中获得了广泛认可。
2025-05-01 13:20:53
1345
原创 TockOS,一种新安全软件架构的RTOS介绍
Tock 是一款面向 Cortex-M 和 RISC-V 微控制器的安全嵌入式操作系统,依赖硬件内存保护单元(MPU)保障安全。其内核与扩展(胶囊)用 Rust 编写,能运行多种语言的多个独立不可信进程,进程数量受微控制器闪存和内存限制,默认采用抢占式循环调度算法。Tock 采用微内核架构,内核提供 command、subscribe、allow、yield 四个主要系统调用,通过 MPU 保护自身和其他进程免受恶意进程代码侵害,同时借助 Rust 的类型安全特性确保内核和胶囊代码的安全性。Tock概述。
2025-04-22 22:04:25
1120
原创 【形式化验证】NuSMV快速入门
MODULE main -- 主模块(必须存在)VAR-- 枚举类型状态变量,表示信号灯可能的状态,取值只能是red(红)、green(绿)或yellow(黄)-- 整数范围变量,timer的取值范围是从0到60,常用于记录时间等场景ASSIGN-- 初始化规则,在模型开始运行时,将light变量初始化为red状态next(light) := case -- 状态转移规则,根据当前状态和条件决定下一个状态-- 如果当前信号灯是红色且timer大于等于30,下一个状态变为绿色。
2025-04-22 05:00:00
1093
原创 【形式化验证基础】活跃属性Liveness Property和安全性质(Safety Property)介绍
在系统的形式化验证领域,活性属性(Liveness Property)是一个至关重要的概念。与安全性质(Safety Property)侧重于防止系统出现不良行为不同,活性属性主要关注系统能否最终达成某些期望的目标或事件。从定义上来说,活性属性描述了系统在运行过程中,某些积极的、有益的事件最终必然会发生的特性。例如,在一个任务调度系统中,活性属性可以是每个任务最终都能得到执行;在一个通信系统里,活性属性可能意味着发送的消息最终会被接收。活性属性的核心在于“最终会发生”这一概念。
2025-04-21 23:39:55
622
原创 时序逻辑入门指南:LTL、CTL与PTL的概念介绍与应用场景
LTL描述系统在一条时间线(线性路径)上的行为,适用于顺序执行的系统(如单线程程序或通信协议)。CTL描述系统在所有可能路径(树状结构)上的行为,适用于并发或非确定性系统(如多线程程序)。PTL通常指命题级别的时序逻辑(无变量或量化),可能是LTL或CTL的简化版,具体取决于上下文。
2025-04-21 23:34:29
451
原创 模型检测技术的发展历史简介
NASA 的 Java PathFinder(JPF)是一个用于验证可执行 Java 字节码程序的系统,它在国际空间站软件验证以及内存受限的嵌入式环境中发挥了重要作用。Java PathFinder 简介:Java PathFinder 由 NASA 艾姆斯研究中心开发,并于 2005 年开源。其核心是一个用 Java 实现的 Java 虚拟机,具备存储、匹配和恢复程序状态的能力。它主要应用于并发程序的模型检测,能够发现诸如数据竞争和死锁之类的缺陷。
2025-04-21 23:28:49
765
原创 汽车故障诊断工作原理:从需求到AUTOSAR诊断模块协作的浅析
首先分析故障诊断的底层需求(如实时性、数据完整性),随后逐一解读DCM、DEM、FiM等模块的功能定义,最后通过具体案例展示模块间如何协同完成故障检测、存储、通信、功能降级的全流程。从早期的简单故障码(DTC)读取,到如今支持远程诊断、OTA升级的智能化系统,汽车故障诊断已发展为一个涵盖实时监测、数据分析、功能降级、云端协同的完整技术体系。DCM(诊断通信管理)、DEM(诊断事件管理)、FiM(功能抑制管理)**等核心模块,为诊断系统提供了模块化、分层次的解决方案,实现了从信号检测到云端交互的全链路覆盖。
2025-04-19 12:07:27
1196
原创 从UDS协议学习ISO网络七层架构:汽车诊断网络协议的分层逻辑剖析
通过UDS协议的分层架构,汽车诊断系统在复杂性与可靠性之间实现了平衡,也为未来智能化(如AI故障预测)与网联化(远程诊断)奠定了坚实基础。ISO的七层协议在学习的时候,一直都过于理论抽象,本文通过对UDS协议进行分析,结合iso 七层协议,来看具体的分层划分的意义。:ISO 14229-2(会话层服务)、ISO 27145-3(WWH-OBD全球统一诊断格式):ISO 15765-2(CAN总线传输)、ISO 13400-2(DoIP以太网传输):ISO 14229-2(会话管理)
2025-04-19 11:52:23
1210
原创 用一个实际例子快速理解MCP应用的工作步骤
用户希望了解北京故宫的开放时间和门票价格,系统利用 MCP 协调不同的工具(如开放时间查询工具、门票价格查询工具)来获取相关信息并给出回答。整个系统的消息交互图如下:fill:#333;用户客户端LLMMCP服务器工具列表缓存工具列表输入"北京故宫的开放时间和门票价格是多少?封装请求问题和工具列表分析并生成工具调用指令调用工具列表确认操作确认查询开放时间执行工具结果收集工具结果确认操作确认结果执行工具返回结果收集工具结果发送结果生成自然语言回答返回结果。
2025-04-09 23:17:36
1111
原创 陶哲轩谈数学领域的机器辅助:历史、应用与展望
数学中使用机器的历史可以追溯到数千年前,比如罗马人使用的算盘就是早期的计算工具。而使用计算机做数学的历史约有300到400年,不过现代意义上的电子计算机直到20世纪30年代和40年代才出现。在此之前,“计算机”是一种职业,指的是进行计算的人。例如在二战期间,就有一群“计算机”(大多是女性,因为男性在参战)使用加法机来计算弹道等,当时计算能力的基本单位是“千女时”(kilgirl),即1000名女性像这样工作一小时能完成的计算量。自18世纪甚至更早,人们就开始使用计算机来制作表格,比如纳皮尔(Napier)
2025-04-09 13:30:00
1499
原创 Rust 在汽车 MCU 编程中的进展及安全特性剖析
在当今汽车行业,软件定义汽车的趋势正深刻改变着汽车的设计与用户体验。随着汽车电子系统复杂性的不断提升,对汽车微控制器(MCU)编程的安全性、可靠性和效率提出了更高要求。Rust 作为一种新兴的编程语言,凭借其独特的特性,在汽车 MCU 编程领域逐渐崭露头角,其在安全方面的表现更是备受关注。
2025-04-08 23:03:55
695
原创 Rust在航空电子软件开发中的可行性研究:现状与展望
RTEMS是一款在太空任务中广泛应用的实时操作系统,遵循BSD3开源许可证。它的部分API包含在RTEMS资格数据包(QDP)中,该数据包是ESA资助项目的成果,旨在对RTEMS API的稳定子集进行预认证,以便用于安全关键应用。RTEMS提供了轻量级的Classic API和符合POSIX标准的API,支持单进程多线程执行模型,能够适配多种硬件架构和BSP,并具备多种实时调度器,如速率单调调度、基于优先级的抢占式调度以及多核系统的对称多处理调度。
2025-04-08 00:21:55
1334
原创 汽车与航空航天领域软件维护:深度剖析与未来展望
软件维护指的是软件产品交付后对其进行的修改活动,包括修正错误、提升性能、适应环境变化以及满足用户新需求等。在汽车和航空航天领域,软件控制着众多关键功能,如汽车的发动机管理、制动控制,航空航天飞行器的导航、姿态控制等。一旦软件出现故障,可能引发严重后果,因此软件维护至关重要。以波音737 MAX系列飞机为例,其机动特性增强系统(MCAS)软件故障导致了严重的飞行事故,凸显了软件维护在保障飞行安全方面的重要性。现代汽车软件涵盖嵌入式系统、基于模型的开发软件以及车载物联网和远程信息处理软件等多种类型。
2025-04-07 23:46:32
1176
原创 喂狗功能实现来快速理解一下不同安全等级的要求差异
为了在实现层面,特别是软件设计实现上的一些差异,能快速的理解不同等级的要求差异。通过一个实际的常用功能的实现,来进行简要说明,便于大家理解。采用高度冗余的硬件和软件架构,例如双处理器系统,并且具备全面的故障检测、诊断和容错能力。增加更多的冗余和监控机制,例如采用多个独立的喂狗路径,并且对喂狗操作的结果进行验证。QM 等级对功能的安全性要求相对较低,重点在于实现基本的周期性喂狗功能,不过多考虑复杂的容错和错误处理机制。模拟双处理器系统,每个处理器都有独立的喂狗逻辑,并且对两个处理器的喂狗操作进行同步和验证。
2025-03-26 13:37:44
320
原创 数据分发服务(DDS)通信在飞机航空电子软件中的应用场景
商用飞机航空电子系统的架构已经发生了重大演变,从每个单元执行特定功能的“航线可更换单元”(LRU)概念,发展到了更加集成化的方式。这种传统方法虽然能够实现功能,但常常导致飞机制造商承担高昂的非重复性开发成本,以及航空公司承担巨大的运营成本。随着时间的推移,航空电子设备的复杂性和技术精密程度不断提高,然而专用航线可更换单元(LRU)的基本概念依然存在,一些单元扩展了其电子功能,以涵盖紧密相关的任务。
2025-03-26 07:46:54
905
原创 现代 CPU 优化技术深度剖析
现代多核处理器采用非统一内存访问(NUMA)架构,内存被划分为多个节点(Numa nodes),每个处理器可以访问本地内存,通过高速互连(如 Intel 的 QPI 或 UPI)来维护全局共享内存的假象。在这种架构下,访问远程内存的带宽和延迟都比访问本地内存差,例如,远程内存带宽通常比本地内存慢约 50% ± 10%。
2025-02-28 11:00:00
794
原创 在谷歌是如何写 C++ 代码的
每一位 C++ 程序员都清楚,C++ 语言具备众多强大的特性,但这些强大功能也带来了代码的复杂性,使得代码更容易出现漏洞,并且难以阅读和维护。为了解决这些问题,谷歌制定了 C++ 风格指南,该指南不仅规定了代码的风格,还对特定 C++ 特性的使用提出了建议,这些特性在行业内以影响代码可读性而闻名。在本文中,我们将深入探讨谷歌 C++ 风格指南,包括代码风格方面的规定(如制表符与空格的使用),以及谷歌对某些 C++ 特性使用的看法,其中继承是一个值得关注的特性。此外,使用异常时,函数可能会在意外的位置返回。
2025-02-27 12:00:00
608
原创 C 和 C++ 内存安全解决方案:应对政府期限压力
C 和 C++ 开发者不愿意放弃熟悉的语言,而是希望通过各种方式为其引入内存安全机制。Safe C++ 项目、Phil C 和 Trap C 等解决方案为解决 C 和 C++ 的内存安全问题提供了不同的思路和方法。尽管这些方案目前都存在一些问题,但随着技术的不断发展和完善,有望在一定程度上缓解 C 和 C++ 的内存安全困境。对于广大 C 和 C++ 开发者来说,这些方案值得关注和尝试,同时也期待更多创新的解决方案出现,以确保软件的安全性和可靠性。
2025-02-26 11:45:00
885
原创 【C++设计模式】访问者模式(1/2):从编程范式到游戏实践
访问者模式可定义为对对象结构中的元素执行操作的一种方式,是一种面向对象的结构化模式,但也有函数式实现方式。其核心优势在于能够在不改变操作元素类的前提下定义新的操作,这对于构建插件系统等场景非常有用,可显著提高代码的可扩展性。为了更生动地说明,我们将以游戏为例进行讲解。以《指环王:魔多阴影》为例,这是一款经典游戏,战斗是其核心玩法之一,玩家需与各种敌人战斗,如不同类型的兽人(Orcs)和地精(Goblins)。
2025-02-26 07:00:00
900
原创 【形式化】Coq 中的函数式编程基础(长文)
除了使用 Coq 自带的策略,我们还可以自定义策略。例如,定义一个组合策略,将多个常用的策略组合在一起。simpl;n + 0 = n.Proof.intros n.Qed.这里我们定义了一个名为的自定义策略,它将simpl和组合在一起。在证明时,直接使用这个自定义策略就能完成证明。在 Coq 中进行证明是一个系统且富有挑战性的过程。我们可以使用各种策略,如introssimplrewriteinduction等,来构建证明。同时,还可以利用自动化机制,如autotautofirstorder。
2025-02-25 23:37:59
606
原创 汽车开放系统架构(AUTOSAR)中运行时环境(RTE)生成过程剖析
RTE 即运行时环境,其主要职责是实现应用层中软件组件之间的通信,以及软件组件的调度。当应用层需要与基础软件通信时,也需通过 RTE 进行。例如,在一个汽车的车身控制系统中,有一个用于控制车门锁的软件组件和一个用于控制车窗升降的软件组件。当驾驶员按下车门锁按钮时,车门锁控制组件会通过 RTE 将信号发送给车窗升降控制组件,以确保在车门锁定时车窗也能自动关闭。通过上述内容,我们对 RTE 生成过程有了清晰的认识。合同阶段以软件组件描述文件为输入,输出等效的头文件;
2025-02-25 23:18:36
918
原创 【C++设计模式】观察者模式(2/2):实现与功能增强
本次课程实现了观察者模式的第四轮改进,为主题添加了更多功能,使其能够根据不同的事件类型通知特定的观察者。通过使用std::map数据结构和枚举类型,我们实现了事件类型的管理和观察者的分类。虽然这种实现方式增加了一定的复杂度,但提高了系统的灵活性和可扩展性。未来,我们可以进一步优化代码,例如使用替代std::map以提高查找性能,或者使用更现代的 C++ 特性(如enum class)来增强代码的安全性和可读性。同时,我们还可以考虑在实际应用中处理性能问题,如使用缓存或异步通知等技术。
2025-02-25 11:00:00
676
原创 【C++设计模式】迭代器行为模式:原理使用介绍
迭代器模式是一种非常有用的行为模式,它提供了一种一致的方式来遍历各种数据结构,无论是数组、链表还是哈希表。C++ 标准库提供了丰富的迭代器类型和相关函数,使得我们可以灵活地处理不同的遍历需求。使用迭代器可以让代码的意图更加清晰,提高代码的可读性和可维护性。虽然迭代器可能会让代码看起来稍微复杂一些,但它的优势在处理大型项目和复杂数据结构时会更加明显。同时,很多标准算法库也是基于迭代器来操作数据结构的,因此了解迭代器是非常重要的。希望通过本文的介绍,你对迭代器模式有了更深入的理解,并在实际编程中能够灵活运用。
2025-02-25 07:00:00
504
原创 函数式编程:概念、特性与应用
函数式编程,从名称上看就与函数紧密相关。它是一种我们常常使用却可能并未意识到的编程范式,关注代码的结构组织,强调一个纯粹但在实际中有些理想化的不可变世界,涉及数学、方程和副作用等概念,甚至还有有趣的“柯里化”。接下来,我们将探讨函数式编程与以往编程方式的不同之处。编程范式就像一棵特殊的树,它展示了编程语言如何像口语语言一样分支成不同的家族。其中,最大的两个分支分别是命令式范式和声明式范式。无论你是函数式程序员、面向对象程序员,还是喜欢过程式代码的简洁性,都应保持开放的心态,勇于学习新知识。
2025-02-24 22:33:25
776
原创 【C++设计模式】观察者模式(1/2):从基础到优化实现
通过本次课程,我们从基础的观察者模式实现逐步优化,添加接口提升了代码的灵活性和可维护性,利用 RAII 技术解决了观察者生命周期问题,提高了代码的安全性。关键在于理解观察者模式的核心概念,掌握接口的使用和 RAII 技术的应用。
2025-02-24 22:07:28
901
原创 【C++设计模式】工厂方法设计模式:深入解析从基础到进阶
工厂方法模式提供了一种通用的方式来创建对象实例,它能够很好地隐藏实现细节,特别是对于派生类的实现细节。这种模式属于创建型设计模式,核心在于将对象的创建和使用分离,通过一个工厂函数,根据输入参数来返回正确的对象实例。工厂方法模式作为一种强大且实用的设计模式,为对象的创建提供了一种优雅而灵活的解决方案。从基础的定义和实现,到进阶的优化和功能扩展,我们逐步深入了解了该模式的各个方面。通过合理运用继承、多态、单例模式以及智能指针等技术,我们可以充分发挥工厂方法模式的优势,同时避免其潜在的缺点。
2025-02-24 21:39:06
798
原创 【C++设计模式】 单例设计模式:重要常用却并非完美之选
单例模式是一种创建型设计模式,主要关注对象的创建方式。其核心思想是确保在一个程序中,某个类只能有一个实例存在,并且提供一个全局访问点来获取这个实例。以 C++ 语言为例,通常情况下,我们创建一个类的对象时可以多次实例化。比如创建一个名为Type// 类的成员和方法但在单例模式下,我们需要限制只能创建一个该类的实例。单例模式是一种强大的设计模式,它可以确保一个类只有一个实例,并提供全局访问点。然而,它也存在一些问题,如全局状态的引入、多线程安全问题以及可测试性降低等。
2025-02-24 21:31:25
675
原创 【C++设计模式】命令模式:原理、实现与应用
设计模式并非是一劳永逸、完美无缺的解决方案。在使用它们的过程中,存在着诸多权衡,开发者需要根据具体的应用场景,精心思考如何正确地应用这些设计模式。行为型设计模式的核心关注点在于对象之间的交互方式,其目标是通过将行为封装在对象之中,巧妙地避免复杂的控制流,让开发者能够从对象的层面去思考问题,从而使代码的逻辑更加清晰、易于维护。命令模式,也被形象地称为动作模式或事务模式。它的独特之处在于,能够将对象巧妙地建模为可执行动作的命令。
2025-02-21 07:00:00
2010
原创 深入理解Python生成器函数:5个实用示例解析
本文旨在助力大家轻松掌握Python生成器函数。在本文中,我们将深入探究5个实用的生成器函数示例,帮助你透彻理解生成器的工作原理。
2025-02-20 14:45:00
796
原创 理解Java线程基础知识与应用
在Java编程领域,线程是实现并发执行的关键机制。通过合理运用线程,程序能够充分利用多核处理器的优势,提高整体性能和响应能力。本文将全面且深入地探讨Java线程的官方方法,从基础操作到高级特性,帮助读者透彻理解并熟练运用线程相关知识。
2025-02-20 08:15:00
1061
原创 Java 字符串处理:String、StringBuilder 和 StringBuffer 探讨
String:适用于字符串内容固定不变的场景,如程序中的常量字符串。由于其不可变性,保证了数据的安全性和常量池的复用性,使得相同内容的字符串在内存中只需存储一份。:在单线程环境下,如果需要频繁对字符串进行修改操作,如字符串拼接、插入、删除等,StringBuilder 是更好的选择。其非线程安全的特性在单线程环境中不会带来问题,同时由于无需同步开销,性能较高。:当程序处于多线程环境,并且需要对字符串进行动态修改时,应使用 StringBuffer。
2025-02-19 12:00:00
1410
原创 量子计算威胁下Java应用的安全防护:技术剖析与实践
在科技飞速发展的当下,众多公司与研究团队全力投入实现量子霸权的研究,使得量子计算机超越传统计算机运算效率的未来愈发临近。量子计算虽蕴含着巨大的潜力,但也给现有加密体系带来了严峻挑战。一旦量子计算机具备破解当前加密算法的能力,大量基于现有加密技术保护的数据和通信都将面临风险,“先窃取,后解密”的攻击策略可能成为现实。在此背景下,Java应用如何构建有效的防御机制,抵御量子攻击,成为了亟待解决的关键问题。
2025-02-19 09:45:00
917
原创 2025年Java语言的演变展望
自定义模式允许根据特定条件返回一组值,提供了更强大的模式匹配能力。// 自定义模式匹配 if(map instanceof java . util . HashMap < String , Integer > m && m . containsKey("one")) {} } }// 自定义模式匹配 if(map instanceof java . util . HashMap < String , Integer > m && m . containsKey("one")) {
2025-02-19 07:15:00
804
航空航天领域IMA与AFDX在A-17‘Zephyr’飞机构建中的集成架构设计及其网络系统实现研究
2025-01-24
信息安全:不可饶恕的安全漏洞及其评估指标
2024-11-04
Think DSP_ Digital Signal Processing in Python
2017-01-08
pyspark如何实现树层次结构的深度遍历
2023-07-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人