- 博客(277)
- 资源 (1)
- 收藏
- 关注
原创 分布式系统
分布式系统是一组位于网络上的计算机,为了共同完成一个任务而协同工作的系统。对于用户来说,它就像一个单一、连贯的系统。在后端开发中,分布式系统意味着将原本运行在一台强大服务器(单体架构)上的应用程序,拆分成多个**服务v,这些服务可以部署在不同的服务器(节点)上,通过网络进行通信和协作。核心目标:通过协作获得更高的性能(吞吐量)、可扩展性(水平扩展)、可用性(容错)和可维护性。
2025-09-13 14:52:47
1001
原创 C核心高级技术
C语言的高级应用领域和核心技术:C语言广泛应用于系统编程、嵌入式系统、高性能计算、网络编程和数据库系统等需要精确控制硬件和高性能的场景。 文章重点讲解了三个核心技术: 指针高级应用:包括多级指针实现动态多维数组,以及函数指针实现回调机制; 内存管理高级技术:通过自定义内存分配器提高性能,示例展示了简单内存池的实现; 多线程与并发编程:介绍了使用POSIX线程库处理线程同步的关键技术。 每个技术点都配有详细的C代码示例和Mermaid图示,清晰展示了内存布局和程序结构。这些高级技术是提升C语言编程能
2025-09-13 12:23:14
824
原创 Linux内核(架构)
Linux内核的架构设计与核心子系统实现。Linux采用宏内核设计,主要分为用户空间和内核空间两大层次。内核核心子系统包括进程管理、内存管理、虚拟文件系统等模块。其中,进程管理通过task_struct结构体描述进程状态,fork()系统调用实现进程创建;内存管理采用虚拟内存系统,包含页表管理和Slab分配器;虚拟文件系统(VFS)则通过统一接口抽象不同文件系统实现。这些子系统协同工作,共同构建了Linux内核的基础功能框架。
2025-09-12 00:51:28
1322
原创 RT-Thread
RT-Thread是中国自主研发的开源实时操作系统,支持从微控制器到高性能处理器的多种硬件平台。其核心特性包括高度可伸缩性(最小仅需3KB ROM/1.2KB RAM)、模块化设计和丰富组件(文件系统、网络协议栈等)。系统采用分层架构,包含内核层、组件层和软件包层,支持256级线程优先级和全抢占式调度。提供了多种线程间通信机制(信号量、消息队列等)和内存管理方式,并配备RT-Thread Studio等开发工具,特别适合国内开发者使用国产芯片进行物联网开发。
2025-09-11 06:39:50
988
原创 FreeRTOS
FreeRTOS是一个轻量级开源实时操作系统内核,专为嵌入式系统设计。它通过任务调度、任务间通信、同步和定时器管理,解决了传统超级循环架构的响应性差、维护困难和资源利用率低等问题。FreeRTOS采用抢占式调度,支持任务优先级管理,提供队列、信号量、互斥量等机制实现任务间通信和资源共享。其核心组件包括任务管理、通信与同步、内存管理和定时器管理等,通过硬件抽象层与底层硬件交互。FreeRTOS适用于需要实时性能和多任务管理的嵌入式应用场景。
2025-09-11 06:23:27
991
原创 SLAM(同步定位与建图)
SLAM(同步定位与建图)是解决机器人未知环境中自主定位与地图构建的"鸡生蛋"问题。其核心是通过传感器数据(激光雷达、摄像头等)和算法同时实现定位与建图。典型SLAM系统包含前端跟踪(里程计)、回环检测、后端优化和建图模块。关键技术涉及状态估计、优化理论、计算机视觉、几何学、传感器融合等跨学科领域。代码示例展示了简化的前端里程计算法和后端图优化思想,实际系统采用C++高性能实现。SLAM广泛应用于自动驾驶、AR/VR、机器人导航等领域。
2025-09-09 23:33:51
1125
原创 Go语言核心技术
Go语言核心技术栈包括语言基础、并发模型和标准库三大核心。语言基础特性涵盖静态类型、垃圾回收和CSP风格并发编程,支持多返回值和接口实现。并发模型基于Goroutines和Channels,通过WaitGroup和Select实现高效并发控制。标准库提供网络编程、文件处理等丰富功能,并支持JSON序列化/反序列化。Go生态系统包含依赖管理工具链、测试框架和Web框架,构成完整的开发解决方案。
2025-09-09 01:04:46
922
原创 设计模式(策略,观察者,单例,工厂方法)
C语言实现设计模式的核心方法,重点分析了策略模式和观察者模式。通过结构体和函数指针模拟面向对象特性,策略模式实现了算法族封装与动态切换,观察者模式建立了一对多的状态通知机制。两种模式均遵循开闭原则,策略模式适用于算法选择等场景,观察者模式则用于事件处理系统。文中提供了完整的C语言实现代码,展示了头文件组织、接口定义和具体模式应用,为C语言项目提供了可扩展的设计范例。
2025-09-08 23:59:09
723
原创 AI Agent(LLM,RAG,RL,Multimodal)
AI Agent是一种能够感知环境、自主规划决策并执行任务的人工智能系统,相比传统AI模型(如ChatGPT)具备更强的行动能力。其核心模块包括:规划模块(大语言模型驱动的任务分解)、工具使用模块(调用外部API和软件)和记忆模块(存储交互上下文)。关键技术融合了大语言模型、提示工程、知识检索(RAG)、强化学习等。应用场景涵盖客户服务、个人助理、科研、软件开发等领域,代表AI向通用人工智能(AGI)发展的重要方向,将人机交互模式从被动应答转变为主动代理。
2025-09-08 00:30:40
679
原创 UML(统一建模语言)
UML(统一建模语言)是一种标准化的可视化建模工具,用于软件系统的设计、分析和文档化。它提供14种图形,主要分为结构图(如类图、组件图)和行为图(如用例图、时序图)。常用UML图包括:用例图(描述系统功能)、类图(展示系统静态结构)、时序图(对象交互顺序)、活动图(业务流程)和状态机图(对象状态变化)。UML能促进团队沟通、提前发现设计缺陷、生成代码框架,是软件开发生命周期中各阶段的重要工具。实际应用中应根据需求选择合适的UML图,通常用例图、类图和时序图组合就能解决大部分问题。
2025-09-07 22:08:24
990
1
原创 网络爬虫(web crawler)
网络爬虫是一种自动化程序,通过模拟浏览器行为抓取互联网信息。其工作流程包括:从URL种子库出发,经调度器分配任务,下载器获取网页内容,解析器提取数据和链接,通过去重过滤后新URL循环抓取,有价值数据存入数据库。爬虫需遵守Robots协议,注意合法性和道德性,广泛应用于搜索引擎、数据分析等领域。核心特点是沿链接自动爬取并结构化存储网络信息。
2025-09-07 21:09:16
1673
原创 AIGC(AI生成内容)
AIGC(AI生成内容)是利用AI技术自动创造原创内容的创新方式。其核心在于AI模型通过海量数据预训练,理解人类指令后生成全新文本、图像、音频等内容,而非简单复制。AIGC将人的角色从创作者转变为引导者,通过输入指令即可快速获得多样化输出。该技术具有原创性高、生产效率高、风格可定制三大特点,已广泛应用于文创、商业、教育、影视等领域,正在深刻改变内容创作与生产方式。AIGC不仅是效率工具,更代表着人机协作的新型创作范式。
2025-09-07 20:10:50
1403
原创 云原生数据平台(Cloud-Native)
现代云原生数据平台是基于云环境构建的数据架构,采用微服务、容器化等云原生技术,实现数据全生命周期管理。其分层架构包括:1)云原生基础设施层,提供弹性计算和存储资源;2)数据摄入层,支持批量和实时数据集成;3)数据处理存储层,结合数据湖、数据仓库和湖仓一体架构;4)贯穿各层的数据治理层,确保元数据、质量和安全管理;5)数据服务层,提供分析、AI和API等数据消费能力。核心优势包括弹性扩展、敏捷开发、开放标准、统一治理和成本效益,为企业提供端到端的数据管理解决方案。
2025-09-07 18:46:10
945
原创 云计算(Docker,Kubernetes,Apache,Tomcat)
云计算是一种通过互联网按需提供计算资源的服务模式,采用按使用量付费的定价方式。其整体架构包含三个核心服务模式(SaaS、PaaS、IaaS)和四种部署模式(公有云、私有云、混合云、社区云)。关键技术包括虚拟化、分布式计算、自动化等,具备按需自服务、弹性扩展等特征。云计算通过将IT资源转变为公共服务,显著降低了企业IT成本,推动了数字化转型。主流云服务商包括AWS、Azure、阿里云等,各自在不同领域具有优势。
2025-09-07 16:55:10
737
原创 大数据(非结构化数据,Kafka,MongoDB,Spark,Flink,Hive)
大数据指超出传统处理能力的巨量数据集合,具有5V特性(规模、速度、多样性、价值密度低、真实性)。其技术栈分为五层:1)数据来源(结构化/非结构化数据);2)采集与存储(HDFS、NoSQL、Kafka等);3)处理与分析(批处理如Spark、流处理如Flink、机器学习);4)服务与可视化(Hive、Tableau等);5)行业应用(推荐系统、风险控制等)。核心逻辑是通过分布式存储和计算技术,从海量数据中提取价值并驱动决策,覆盖数据全生命周期。
2025-09-07 15:43:00
1073
原创 主流的开源协议(MIT,Apache,GPL v2/v3)
开源协议选择指南摘要 本文介绍了三种主流开源协议的特点及适用场景: MIT协议:最宽松,仅需保留版权声明,允许闭源商用(如jQuery、React)。 Apache 2.0:在MIT基础上增加专利授权条款,更适合商业项目(如Android、Kubernetes)。 GPL v2:具有强传染性,要求衍生代码必须开源(如Linux、Git)。 通过流程图可快速决策:需传染性选GPL;需专利保护选Apache;追求极致宽松则选MIT。不同协议在版权保留、专利授权和代码传染性上存在显著差异。
2025-09-06 21:57:35
1205
原创 Spring 微服务架构(Spring Boot,Spring Cloud,高并发)
微服务架构是一种将应用拆分为多个独立、协作的小型服务的架构风格,与传统的单体架构相比具有更高扩展性和灵活性。Spring微服务是使用Spring框架构建微服务的完整解决方案,包含Spring Boot基础和Spring Cloud治理组件。其他主流微服务技术还包括Go语言的Go Micro、Node.js的NestJS以及跨语言的Kubernetes服务网格等。微服务架构虽然提高了系统弹性,但也带来了部署和运维的复杂性,需要根据项目规模权衡选择。
2025-09-05 00:40:37
1157
原创 BLE开发易错点
iOS系统对包含HID服务的蓝牙设备会进行系统级接管,导致应用层断开操作无效。这是由于HID设备被视为高优先级外设,系统会主动维持连接以保证稳定性,并可能快速重连以节省电量。解决方案建议:1)设备端去除HID服务;2)在iOS设置中"忘记设备"或重启蓝牙/设备。这能彻底清除系统缓存中的错误连接状态。
2025-09-05 00:12:29
195
原创 ATT层MTU大小
不同蓝牙版本的MTU限制不同,从BLE4.0的23字节到BLE5.0+的512字节不等,有效数据载荷通常为MTU减去3字节开销。实际应用中,MTU由连接双方共同决定,设备支持存在差异(iOS上限约185字节,Android更灵活)。建议开发者确认设备支持、主动请求适当MTU大小,并进行实际测试以优化数据传输效率。增大MTU可减少分包和协议开销,但需平衡性能和兼容性。
2025-09-04 23:14:11
862
原创 cURL用法
cURL是一个命令行工具和一个代码库,用于使用各种网络协议(如 HTTP、HTTPS、FTP 等)在服务器之间或与服务器之间传输数据。它通常被比作“命令行下的浏览器”,但它的能力远不止于此。
2025-09-02 06:06:50
802
原创 深度学习框架(TensorFlow,PyTorch)
TensorFlow(含Keras)生态完整,适合工业部署;PyTorch动态图设计更受学术界青睐;JAX适合高性能计算研究;PaddlePaddle是国产全功能框架。其他工具如Keras简化入门,Fast.ai降低学习门槛,MXNet强调可扩展性。选择建议:初学者用Keras,学术研究选PyTorch,工业部署用TensorFlow,高性能计算考虑JAX,国产项目推荐PaddlePaddle。
2025-09-02 05:28:10
899
原创 五大主流大语言模型(LLM)对比
五大主流大型语言模型(LLM)对比 目前最具影响力的五款LLM包括:ChatGPT (GPT-5)、Claude 4、Gemini 2.5、Grok 4 和 DeepSeek R1,各具特色。 ChatGPT 全能型,支持智能体操作、图像生成,适合多任务处理;Claude 4 专注安全性与长文本分析,适合企业应用;Gemini 2.5 深度整合Google生态,支持多模态编辑;Grok 4 结合社交媒体,实时分析能力强;DeepSeek R1 开源免费,数学与编程表现优异。 选择建议:多模态选Gemini或
2025-09-01 00:15:07
2257
原创 大语言模型 (LLM) 与多模态大模型 (MLM)
模型 (Model):在人工智能中,模型是一个从数据中学习而来的数学函数或程序,用于处理特定任务(如图像分类、文本翻译)。它由参数 (Parameters)组成,这些参数是在训练过程中调整的数值,决定了模型的行为。大模型 (Large Model):通常指参数规模巨大(达到数十亿甚至万亿级别)、训练数据量海量、需要巨大计算资源训练的模型。其“大”不仅指尺寸,更意味着一种能力的涌现 (Emergent Ability)
2025-09-01 00:09:12
890
原创 TLS(传输层安全协议)
TLS/SSL是保障网络通信安全的核心协议,提供保密性、完整性和认证性。它位于应用层和传输层之间,通过加密隧道防止窃听、篡改和中间人攻击。TLS握手协议采用非对称加密交换会话密钥,结合数字证书验证身份,最终使用对称加密高效传输数据。关键特性包括前向保密(ECDHE/DHE算法)和证书验证(PKI体系)。最佳实践建议禁用旧版本、优先使用TLS 1.3、配置强密码套件。TLS融合多种密码学技术,成为现代互联网安全的基石。
2025-08-31 02:18:16
1437
原创 ECDH和数字签名
ECDH和数字签名是两种互补的密码学技术,分别解决不同安全问题。ECDH用于安全密钥协商,确保通信双方生成共享密钥以实现保密性;而数字签名(如ECDSA)则用于身份认证和完整性验证,防止中间人攻击。在实际应用中(如TLS协议),二者常协同工作:ECDH建立会话密钥,数字签名验证通信方身份,共同构建完整的安全通信体系。它们基于相同的椭圆曲线数学基础,但功能分工明确,缺一不可。
2025-08-31 01:26:27
1085
原创 数字签名 digital signature
数字签名是一种基于非对称加密技术的安全机制,用于验证信息的真实性、完整性和不可否认性。它通过私钥签名和公钥验证两个步骤实现:发送方先用哈希函数处理原始消息生成摘要,再用私钥加密生成签名;接收方用公钥解密签名得到摘要,并与重新计算的摘要对比验证。该方法解决了信息认证、防篡改和防抵赖三大安全问题,其核心优势在于加密效率高(仅处理哈希摘要)且适用性强。
2025-08-31 00:10:04
1152
原创 ECDH (椭圆曲线迪菲-赫尔曼密钥交换)
ECDH (Elliptic Curve Diffie-Hellman) 是一种基于椭圆曲线密码学(ECC)的密钥协商协议。它允许两个通信方在不安全的信道上,通过交换公开信息,独立地推导出一个相同的共享秘密该共享秘密通常作为对称加密算法(如AES)的密钥,用于加密后续的通信内容。其安全性依赖于椭圆曲线离散对数问题(ECDLP) 的计算困难性:已知椭圆曲线上的点G和k * G,计算私钥k在计算上是不可行的。
2025-08-30 08:06:49
1092
原创 HTTPS
HTTPS是一种基于HTTP的安全通信协议,通过SSL/TLS加密层实现数据安全传输。其核心价值包括机密性(加密传输)、完整性(数字签名)和身份认证(证书验证)。TLS握手过程包含密钥交换、证书验证和会话密钥生成等步骤,通过非对称加密协商对称加密密钥。证书体系采用X.509标准,由CA机构签发验证服务器身份。HTTPS相比HTTP在443端口工作,增加了加密开销但显著提升了安全性。
2025-08-28 00:44:54
1003
原创 非对称加密(RSA、ECC、Diffie-Hellman)
非对称加密技术采用公钥和私钥配对机制,在嵌入式系统中具有重要应用价值。该技术基于单向函数数学原理,核心算法包括RSA、ECC和Diffie-Hellman密钥交换等。RSA通过大质数运算实现加密解密,ECC则在相同安全级别下使用更短密钥。在嵌入式领域,非对称加密被广泛应用于安全启动验证、TLS/SSL安全通信和数字身份认证等场景,如通过公钥验证固件签名、建立安全连接通道等。相比对称加密,非对称加密解决了密钥分发难题,但计算效率较低,常与对称加密结合使用以兼顾安全性和性能。
2025-08-28 00:27:14
946
原创 Matter 协议
Matter协议版本演进摘要 Matter协议自2022年10月发布1.0版本以来持续迭代优化,核心升级包括设备类型扩展、能效提升和用户体验改进。1.0版本建立了基础框架,支持照明、门锁等核心设备类型;1.1版本重点优化间歇性连接设备(ICD)的低功耗表现;1.2新增家电和能源管理支持;1.3引入场景和群控功能;1.4增强跨平台管理能力。每个版本均保持较高协议稳定性(3-5星评级),同时通过代码级优化解决多设备同步、批量添加等初期技术瓶颈。2025年5月发布的1.4.1版本进一步简化了配对流程,提升终端用户
2025-08-27 19:29:51
1072
原创 SHA-256加密算法
预处理填充:对输入消息进行填充,使其长度模512等于448。填充位为1后跟多个0。添加长度:在填充后的消息后附加原始消息长度的64位表示(大端序)。初始化哈希值:初始化8个32位的初始哈希值(h0到h7),这些值源于前8个质数的平方根的小数部分的前32位。处理数据块:对每个512位数据块进行64轮循环处理:消息调度:从当前数据块扩展生成64个32位的消息字(Wt)。压缩函数:使用两个非线性函数(Ch, Maj)和两个Sigma函数(∑0, ∑1)进行多轮计算。循环更新。
2025-08-26 15:52:04
1489
原创 MD5校验算法
填充:对输入消息进行填充,使其长度模512等于448添加长度:在填充后的消息后附加原始消息长度的64位表示初始化变量:初始化4个32位的链接变量(A, B, C, D)处理数据块:对每个512位数据块进行4轮共64步的处理每轮使用不同的非线性函数(F, G, H, I)每步使用不同的常数和左循环移位操作输出结果:将最终的A, B, C, D连接起来形成128位摘要认清定位:MD5是校验算法,不是加密算法,且已不再安全。明确用途:仅用于非安全关键的数据完整性验证(如固件升级包校验)。
2025-08-26 15:48:15
1004
原创 AES加密算法(ECB、CBC、CTR、GCM)
AES(高级加密标准)是一种对称分组密码算法,使用相同密钥进行加密和解密,数据块长度为128位。它提供三种密钥规格(128/192/256位),通过多轮加密(10/12/14轮)确保安全性。核心加密过程包括字节替换、行移位、列混合和轮密钥加等操作。在嵌入式开发中,建议优先选择支持硬件AES加速的MCU,并根据场景选用CBC或CTR等工作模式。典型实现包含密钥扩展、S盒变换和伽罗瓦域乘法等核心算法模块,其中AES-128已能满足大多数嵌入式应用的安全需求。
2025-08-26 15:08:53
1162
原创 latency 对功耗的影响
摘要: 连接间隔(Connection Interval)和从机延迟(Latency)是蓝牙低功耗(BLE)通信中的两个关键参数。连接间隔决定主从设备的固定通信频率,而Latency允许从设备动态跳过连接事件以降低功耗。二者区别在于:连接间隔为固定频率,Latency则提供灵活性。某些场景(如智能手表)需兼顾低功耗和快速响应,仅调整连接间隔会导致实时性不足或功耗过高。此时结合Latency可优化性能(如设置短连接间隔+高Latency)。
2025-07-04 21:35:07
976
原创 新增 git submodule 子模块
Git submodule add命令用于将外部Git仓库作为子模块添加到当前项目中,保持各自独立的提交历史。基本语法为git submodule add <repository-url> [<path>]。添加后需提交更改并推送,拉取含子模块的仓库需使用--recurse-submodules参数。子模块会固定指向特定提交,需手动更新,且更改需在子模块和父项目中分别提交。删除子模块不能简单删除目录,需多步骤操作。子模块适合需要精确控制外部代码版本的场景。
2025-05-27 15:28:26
1326
原创 VirtualBox 常见问题解决(VirtualBox COM 对象失败)
是VirtualBox软件出问题了,无法启动,重装VirtualBox就可以解决。
2023-06-07 18:01:09
1055
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅