- 博客(59)
- 问答 (1)
- 收藏
- 关注
原创 学习 Hooks【Plan - June - Week 2】
React API与Hooks核心功能摘要 React提供了一套完整的API体系,主要包括: 核心API - 创建组件(React.Component/PureComponent)、元素(React.createElement)、片段(React.Fragment)等; Hooks API - 状态管理(useState/useReducer)、副作用(useEffect)、性能优化(useMemo/useCallback)等; 辅助工具 - 克隆元素(React.cloneElement)、验证元素(Re
2025-06-09 22:15:11
1183
原创 学习 React【Plan - June - Week 1】
JSX是React的核心语法扩展,用于在JavaScript中书写HTML/XML结构。它遵循特定规则:组件名必须大写、标签必须闭合、使用className代替class、属性名采用camelCase命名。JSX可通过{}插入JavaScript表达式,支持条件渲染和列表渲染,最终会被转译为React.createElement调用。 React组件是可复用的UI单元,本质上是返回JSX的函数。组件名称必须大写开头,建议每个组件单独文件组织。组件可复用且相互独立。 状态(State)是组件的记忆机制,通过u
2025-06-06 21:36:31
1230
原创 机器学习笔记【Week7】
SVM(支持向量机)是一种大间隔分类器,通过最大化分类边界与最近样本点的距离来提高泛化能力。其核心是构造优化目标函数,包含控制模型复杂度的正则项和惩罚错误分类的损失项。SVM可采用硬间隔(线性可分)或软间隔(允许一定错误)策略,并使用核函数(如线性核、多项式核、高斯核)处理非线性可分问题。在实际应用中,特征缩放和参数调优(如惩罚系数C、核参数σ)至关重要。相比于逻辑回归,SVM在小样本高维数据中表现更优,是文本分类和图像识别的常用算法。推荐使用LIBSVM或scikit-learn等库进行实现。
2025-06-06 20:55:58
1174
原创 机器学习笔记【Week6】
摘要 本文系统总结了模型训练后的优化策略。通过分析训练误差和验证误差可判断欠拟合(高偏差)或过拟合(高方差):欠拟合需增加特征、降低正则化;过拟合需增加数据或加强正则化。评估时应使用不含正则项的代价函数。交叉验证集用于参数调优,测试集用于最终评估。学习曲线可辅助诊断模型问题。正则化系数λ控制偏差-方差权衡。对于类别不平衡问题,推荐使用查准率和查全率。误差分析和数据质量优化也是提升性能的重要手段。最终改进方向需根据具体误差类型确定。
2025-05-27 19:01:37
922
原创 机器学习笔记【Week5】
本文系统介绍了神经网络的训练原理与实现方法。首先回顾了神经网络的基本结构,包括输入层、隐藏层和输出层。重点讲解了代价函数的构成,特别是交叉熵损失和正则化项的作用。详细解析了反向传播算法的核心步骤,包括误差项的定义、输出层误差计算、隐藏层误差传播以及梯度累积。提供了梯度检查方法用于验证反向传播的正确性,并强调了随机初始化参数的重要性以防止对称性失效。最后给出Python代码示例,展示了前向传播、反向传播和Sigmoid激活函数的实现。这些内容为神经网络的实际应用提供了理论基础和实现指导。
2025-05-25 04:10:45
1068
原创 机器学习笔记【Week4】
本文介绍了神经网络的基本原理和应用。神经网络通过多层结构和非线性激活函数(如sigmoid)可以解决逻辑回归无法处理的非线性问题(如XOR异或)。基本组成包括输入层、隐藏层和输出层,通过权重矩阵连接各层。前向传播过程详细说明了数据在网络中的计算流程。文章还提供了用Python实现3层神经网络解决XOR问题的代码示例,并解释了参数维度的计算方法。最后指出神经网络可通过输出层的多个神经元实现多分类任务。
2025-05-25 03:58:37
1157
原创 机器学习笔记【Week3】
逻辑回归是一种用于二分类问题的机器学习算法,通过sigmoid函数将线性回归输出转换为0-1之间的概率值。与线性回归不同,逻辑回归使用对数损失函数和梯度下降优化参数。为防止过拟合,可采用正则化方法(如L2正则化)惩罚过大的参数。逻辑回归适用于邮件分类、疾病诊断等场景,并能通过可视化决策边界直观展示分类效果。Python实现包括sigmoid函数、损失计算、梯度下降和正则化处理等关键步骤。
2025-05-25 03:52:18
765
原创 机器学习笔记【Week2】
本文介绍了多变量线性回归的核心概念与方法。首先将单变量线性回归推广到多变量形式,提出向量化的假设函数表示。接着介绍了特征缩放的重要性及均值归一化方法。详细讲解了向量化梯度下降的实现,包括成本函数计算和参数更新公式。此外,阐述了正规方程法的解析解及其优缺点对比。最后展示了训练过程中损失下降的可视化方法。文中提供了完整的Python实现示例,涵盖数据预处理、模型训练和评估等关键步骤。
2025-05-25 03:45:02
755
原创 机器学习笔记【Week1】
本文介绍了机器学习基础概念,重点讲解了线性回归模型。首先区分了机器学习与传统编程的差异,明确了机器学习通过数据训练模型而非人工编写规则。然后详细阐述了监督学习中的线性回归方法,包括假设函数、代价函数和梯度下降优化算法。通过房价预测的完整Python示例演示了数据预处理、模型训练和结果可视化过程。最后简要回顾了线性代数基础知识,为多变量线性回归做准备。全文以数学公式和代码实现相结合的方式,系统性地阐述了单变量线性回归的核心原理与应用。
2025-05-25 03:32:18
975
原创 学习并配置 Vite 工程、自动引入插件【Plan - May - Week 3】
Vite插件系统为开发者提供了强大的扩展能力,支持源码转换、虚拟模块注入、开发服务器修改等。插件通过生命周期钩子(如config、transform)实现功能,可通过enforce控制执行顺序。文章介绍了插件开发基础、运行时阶段、调试技巧,并推荐了常用插件生态(如Vue/React支持插件)。同时详细讲解了unplugin-auto-import插件的自动导入功能,包括Vue/React等框架的API自动引入、类型声明生成和ESLint集成配置,能有效减少重复导入代码。两者结合可显著提升前端开发效率。
2025-05-24 04:33:41
737
原创 学习 Pinia 状态管理【Plan - May - Week 2】
Pinia 是一个状态管理库,通过 defineStore() 定义 Store,支持 Option Store 和 Setup Store 两种方式。Option Store 类似于 Vue 的选项式 API,包含 state、getters 和 actions;Setup Store 则类似于组合式 API,使用 ref、computed 和函数来定义状态和逻辑。Store 实例通过 useStore() 创建,且需使用 storeToRefs() 保持解构后的响应性。Pinia 提供了 TypeScr
2025-05-21 20:56:23
819
原创 回顾 Vue 3 基础【Plan - May - Week 1】
本文介绍了 Vue.js 组件的基础知识和模板语法。首先,Vue 组件通常定义在单文件组件(SFC)中,通过 <script setup> 语法简化了组件的定义和使用。父组件可以通过导入子组件来使用它,并且组件可以多次重用,每次使用都会创建一个新的实例。父组件可以通过 props 向子组件传递数据,子组件则可以通过 $emit 方法向父组件发送事件。插槽(<slot>)允许父组件向子组件传递内容,动态组件则可以在多个组件之间切换。在模板语法部分,文本插值使用双大括号绑定数据,v-ht
2025-05-09 11:41:52
807
原创 Numpy 简单学习【学习笔记】
本文介绍了如何使用 NumPy 库创建和操作 ndarray 数组。首先,通过 pip install numpy 安装 NumPy 库,并检查其版本。接着,详细讲解了多种创建数组的方法,包括 array、asarray、arange、ones、zeros、empty、full、eye、linspace 和 logspace 等函数,展示了如何生成一维、多维、全1、全0、未初始化、指定值填充、单位矩阵以及等差数列和等比数列的数组。此外,还比较了 array 和 asarray 的区别,指出 array 总是
2025-03-23 17:25:37
916
原创 C 语言学习-06【指针】
本文通过多个C语言代码示例,详细介绍了指针的基本概念及其应用。首先,展示了直接访问和间接访问变量的方式,并通过指针修改内存数据。接着,演示了指针变量作为函数参数的使用,如交换两个变量的值。随后,介绍了如何通过指针访问数组元素,并将数组名作为函数参数实现数组元素的逆序。此外,还展示了字符串指针的应用,包括八进制转十进制、字符串复制与连接,以及删除字符串中的特定字符。通过这些示例,读者可以深入理解指针在C语言中的灵活性和强大功能。
2024-11-25 16:05:44
594
原创 C 语言学习-05【数组】
本文展示了多个C语言数组操作的实例,涵盖了一维数组的元素插入、排序、统计和去重等常见操作。首先,通过一个有序数组的插入操作,演示了如何在保持排序的情况下插入新元素。接着,通过统计某城市五月气温的例子,展示了如何找到数组中的最大值及其位置。随后,通过学生成绩排序的示例,演示了如何使用冒泡排序对数组进行降序排列。此外,还介绍了如何统计选票并去除数组中的重复元素。最后,通过字符数组的初始化,展示了如何将字符串中的单词首字母转换为大写。这些实例展示了数组在C语言中的广泛应用和灵活操作。
2024-11-08 15:56:45
901
1
原创 C 语言学习-04【结构化程序设计】
本文通过多个C语言代码示例,展示了不同控制结构的使用方法。首先,单分支和双分支结构用于判断奇偶数,双分支结构通过if-else简化了代码。接着,多分支结构用于学生成绩的等级判断,展示了if-else if的灵活应用。分支语句的嵌套则进一步演示了复杂条件的处理。switch语句用于四则运算,简化了多条件判断。循环结构部分,while循环用于计算奇数和,for循环用于打印水仙花数和计算素数,展示了循环的多种应用场景。最后,do-while循环用于计算最大公约数,强调了循环的至少一次执行特性。这些示例全面展示了C
2024-11-08 14:48:30
688
原创 C 语言学习-03【输入与输出】
本文通过多个C语言代码示例,详细介绍了复合赋值语句、字符输入输出函数(getchar()和putchar())、格式化输入函数(scanf())以及各种格式控制字符(如d、o、x、s、f)的使用方法。每个示例均展示了代码的运行结果,帮助读者理解这些基本语法和函数的具体应用。此外,文章还通过一个综合示例,演示了如何输入和输出学生基本信息,进一步巩固了这些知识点的实际应用。
2024-11-08 14:39:18
441
原创 C 语言学习-02【编程习惯】
本文总结了编程中的命名规则、控制语句、宏和常量、函数参数、内存管理等方面的最佳实践。命名规则强调标识符的清晰性、长度适中、避免混淆,并建议使用名词或动词结构命名变量和函数。控制语句部分讨论了if语句中整型、浮点型和指针的比较方法,以及循环语句的优化策略。宏和常量的使用建议使用完备的括号,并避免参数变化。函数参数应完整书写,命名合理。内存管理部分强调了malloc后的指针检查、数组和动态内存的初始化、下标越界防范、内存申请与释放的配对,以及释放后指针置空的重要性。这些规则有助于提高代码的可读性、可维护性和安全
2024-11-08 14:34:07
942
原创 C 语言学习-1【基本语法】
本文通过多个C语言示例,展示了符号常量、变量赋值与初始化、有符号数与无符号数、字符型数据、隐式与显式类型转换、算术表达式、关系表达式、逻辑表达式、赋值表达式以及自增自减运算符的使用。例如,使用符号常量计算圆柱体体积,交换变量值,比较无符号数大小,字符大小写转换,计算圆面积,求学生平均成绩,分解三位数的各位数字,判断闰年,以及复合赋值运算符的应用。这些示例帮助理解C语言中基本概念和操作的实际应用。
2024-11-08 14:27:20
429
原创 python学习-13【网络编程】
Python 的 socket 模块提供了网络通信的基础功能,支持 TCP 和 UDP 协议。通过 socket.socket() 函数可以创建套接字对象,参数包括套接字家族(如 AF_INET 用于 IPv4)、类型(如 SOCK_STREAM 用于 TCP)和协议。服务器端常用方法包括 bind()、listen() 和 accept(),用于绑定地址、监听连接和接受客户端连接。客户端则使用 connect() 主动连接服务器。公共方法如 send() 和 recv() 用于发送和接收数据。TCP 编程
2024-09-25 17:35:11
1301
原创 python学习-12【进程与线程】
本文介绍了进程和线程的基本概念,以及如何在Python中实现多线程和多进程编程。进程是操作系统中执行的一个程序,拥有独立的内存空间和资源分配。线程是进程内的执行单元,可以独立调度和运行。Python通过threading模块支持多线程编程,提供了创建线程、线程同步(如使用Lock对象)以及线程池的功能。此外,multiprocessing模块允许创建子进程,实现多进程编程。通过这些工具,开发者可以充分利用多核CPU的性能,提升程序的并发执行效率。
2024-09-25 15:12:08
978
原创 python学习-11【图形用户界面】
本文介绍了三种Python GUI库的使用方法。首先是EasyGUI,通过pip install easygui安装,主要演示了msgbox()、ccbox()、buttonbox()、enterbox()和multpasswordbox()等函数,分别用于显示消息、提供选择、自定义按钮、输入文本和密码输入。其次是Tkinter,Python官方默认的GUI库,展示了Label、Button和Radiobutton等组件的使用,以及如何通过bind()方法进行事件处理。最后是wxPython框架,介绍了其安
2024-09-24 22:40:26
1049
原创 python学习-10【模块】
本文介绍了Python中模块的基本概念和使用方法,包括如何导入模块、标准库中的常用模块(如sys、os、math、random等)以及时间日期模块和数据加密模块。通过import和from...import语句可以导入模块,并可以使用别名简化调用。标准库中的模块提供了丰富的功能,如系统操作、数学计算、随机数生成等。时间日期模块(time、datetime、calendar)用于处理时间和日期,而数据加密模块(如MD5和SHA)则提供了数据加密的功能。这些模块为Python开发者提供了强大的工具,能够高效地完
2024-09-20 16:53:58
914
原创 python学习-09【文件和目录操作】
本文详细介绍了Python中文件与目录的基本和高级操作。文件操作部分包括文件的打开、读取、关闭和写入,重点介绍了open()函数的使用及其参数,如mode、buffering、encoding等,以及read()、readline()、readlines()等读取方法。此外,还介绍了如何使用with语句自动关闭文件,以及write()和writelines()方法进行文件写入。目录操作部分涵盖了os和os.path模块的常用函数,如getcwd()、chdir()、mkdir()、rmdir()等,用于获取
2024-09-18 20:01:58
900
原创 python学习-08【正则表达式】
正则表达式是一种用于匹配字符串的强大工具,其基本语法包括普通字符、元字符、转义字符、限定符和定位符等。普通字符通过字符组匹配特定字符,元字符如 .、\、^、$ 等具有特殊含义,用于匹配字符串的开始、结束或特定字符。转义字符用于匹配特殊字符,限定符如 *、+、? 等用于控制字符的重复次数,定位符如 ^、$ 等用于匹配字符串的边界。在 Python 中,re 模块提供了 compile、match、search、findall、sub 和 split 等方法,用于编译、匹配、搜索、替换和分割字符串。正则表达式还
2024-09-13 16:31:55
898
原创 python学习-07【错误和异常处理】
在Python编程中,错误处理和程序调试是确保代码健壮性的关键。错误主要分为语法错误和运行时错误,如SyntaxError、TypeError、NameError等。Python提供了try...except语句来捕获和处理异常,允许程序在遇到错误时继续执行。此外,try...except...else和try...except...finally语句可以进一步细化异常处理流程,确保无论是否发生异常,都能执行特定的代码块。raise语句允许开发者手动抛出异常,而assert语句则用于调试,确保程序在特定条件
2024-09-11 19:41:33
900
原创 python学习-06【类和对象】
本文介绍了Python中的面向对象编程(OOP)基础概念及其特性。首先,讲解了类的定义、构造方法、属性和方法的使用,强调了self参数的重要性,并展示了如何通过__init__方法初始化对象。接着,讨论了访问限制,介绍了私有属性和方法的定义与访问方式。随后,文章详细阐述了面向对象编程的三大特性:封装、继承和多态。封装通过@property和@*.setter装饰器实现属性的访问控制;继承允许子类继承父类的属性和方法,并可通过super()调用父类的构造方法;多态则表现为子类可以重写父类的方法。通过这些内容,
2024-09-11 19:03:42
434
原创 python学习-05【函数】
本文介绍了Python函数的基本概念和使用方法。首先,函数通过def关键字定义,包含函数名、参数、函数体和返回值。函数可以返回单个值或多个值,且返回值类型可以不同。其次,函数参数分为位置参数、关键字参数、默认参数和可变参数,其中可变参数可以是基于元组或字典的形式。此外,变量作用域分为局部变量和全局变量,全局变量可通过global关键字在函数体内定义。Python还提供了内置函数和匿名函数(Lambda函数),匿名函数适用于简单且只需执行一次的操作。函数文档通过""" "
2024-09-06 15:20:20
1143
原创 python学习-04【流程控制语句】
本文介绍了Python中的流程控制语句,主要包括分支语句、循环语句和跳转语句。分支语句包括if、if…else和if…elif…else,用于根据条件执行不同的代码块。循环语句包括while和for循环,用于重复执行代码块,直到满足特定条件。跳转语句如break和continue,用于在循环中控制程序的执行流程。此外,还介绍了pass语句和循环中的else语句,pass用于占位,而else在循环正常结束时执行。这些控制语句是编写Python程序的基础,能够帮助开发者实现复杂的逻辑和流程控制。
2024-08-30 16:27:35
1209
原创 MongoDB基础【学习笔记】
数据库主要分为关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)。MongoDB是一种面向文档的数据库,设计用于快速开发物联网和Web应用,其数据模型基于类似JSON的BSON结构。MongoDB的核心概念包括数据库、集合和文档,其中文档是最小的数据单位。MongoDB的安装和配置涉及下载、环境变量设置、数据库路径配置以及通过命令行启动服务。MongoDB的基本操作包括数据库的增删改查(CRUD),支持通过内嵌文档进行查询和操作。Mongoose是一个Node.js库
2024-08-05 18:46:39
877
原创 TypeScript基础【学习笔记】
TypeScript 开发环境搭建包括安装 Node.js 和全局安装 TypeScript,通过 tsc 命令编译 TypeScript 文件。TypeScript 支持类型声明和自动类型判断,新增了如 any、unknown、void、never、tuple 和 enum 等类型。编译选项允许自动编译文件或整个项目,通过 tsconfig.json 配置文件进行详细设置,如 include、exclude、extends、files 和 compilerOptions 等。compilerOptions
2024-07-29 19:52:19
914
1
原创 Git 基础 & GitHub【学习笔记】
Git 是一个分布式版本控制系统,具有本地操作、数据完整性、分支管理便捷等优势。其结构包括工作区、暂存区和本地库,支持与代码托管中心(如 GitHub、GitLab)的协作。Git 的基本操作包括初始化、设置签名、添加、提交、查看历史记录、分支管理等。Git 底层采用 SHA-1 哈希算法确保数据一致性。GitHub 提供了远程库创建、推送、克隆、拉取等功能,支持跨团队协作和 SSH 登录。通过 Git 和 GitHub,开发者可以高效管理代码版本,实现团队协作和跨团队合作。
2024-07-26 18:37:21
1295
原创 Node.js基础【学习笔记】
本文介绍了命令行窗口、进程与线程、Node.js、模块化、包、NPM、Buffer 缓冲区和文件系统(fs)的基本概念与操作。命令行窗口中,常用指令包括 dir、cd、md 和 rd,用于文件和目录管理。进程是程序运行的环境,线程是执行的最小单位,Node.js 是一个服务器端 JavaScript 运行环境,采用异步和非阻塞模型。模块化通过 require 引入外部模块,exports 和 module.exports 用于暴露变量。包是压缩文件,包含描述文件 package.json,NPM 是 Nod
2024-07-24 19:48:03
740
原创 jQuery学习笔记
jQuery 是一个广泛使用的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 操作。其基本使用步骤包括引入 jQuery 文件、编写入口函数以及使用顶级对象 $。jQuery 对象本质上是通过 $ 包装 DOM 对象生成的伪数组,支持与 DOM 对象的相互转换。jQuery 提供了丰富的选择器,包括基础选择器、层级选择器和筛选选择器,能够高效地选取和操作页面元素。此外,jQuery 的隐式迭代特性使得对多个元素的操作更加便捷。通过 css 方法,可以轻松设置元素的样式。
2024-05-01 05:15:54
1038
2
原创 JS-数据存储
本地存储是Web开发中常用的数据存储方式,主要包括sessionStorage和localStorage。sessionStorage的数据生命周期与浏览器窗口一致,关闭窗口后数据丢失,适合存储临时数据。localStorage的数据永久保存,除非手动删除,适合存储需要长期保存的数据。两者都以键值对形式存储,且只能存储字符串,对象需通过JSON.stringify()编码后存储。sessionStorage和localStorage的容量分别为5M和20M,操作方式类似,包括设置、获取、删除和清空数据。通过
2024-04-13 11:44:51
410
原创 JS-PC/MOBILE技巧--MOBILE
本文介绍了移动端网页开发中的触屏事件及其应用。首先,详细说明了常见的触屏事件,如 touchstart、touchmove 和 touchend,并通过代码示例展示了如何监听这些事件。接着,介绍了触摸事件对象 TouchEvent 及其属性,如 touches、targetTouches 和 changedTouches。此外,文章还讲解了如何在移动端实现元素拖动,并提供了相关代码示例。最后,介绍了 classList 属性的使用方法,以及如何解决移动端 click 事件的 300ms 延时问题,提供了禁用
2024-04-13 11:42:56
941
原创 JS-PC/MOBILE技巧--PC
在PC端网页开发中,JavaScript提供了多种属性来获取和操作元素的位置、大小和滚动信息。offset系列属性用于动态获取元素相对于定位父元素的偏移量及其自身大小,包括offsetTop、offsetLeft、offsetWidth和offsetHeight,返回的数值不带单位。style属性则用于获取或设置行内样式,适合用于修改元素样式,但其获取的值包含单位且不包含padding和border。client系列属性用于获取元素的可视区域大小,如clientWidth和clientHeight,不包含边
2024-04-08 00:39:29
788
原创 JavaScript-Web学习笔记02
在JavaScript中,事件处理是网页交互的核心部分。事件处理主要包括注册事件和删除事件。注册事件有两种方式:传统方式和方法监听注册方式。传统方式使用on开头的事件(如onclick),但同一元素的同一事件只能注册一个处理函数,后注册的会覆盖前一个。方法监听注册方式使用addEventListener,允许同一元素的同一事件注册多个监听器,按注册顺序执行。对于IE9之前的浏览器,可以使用attachEvent代替addEventListener。删除事件也有两种方式:传统方式将事件处理函数设为null,方
2024-03-25 23:55:06
737
原创 JavaScript-Web学习笔记01
Web API 是浏览器提供的一套操作浏览器功能和页面元素的接口,主要用于实现与浏览器的交互效果。DOM(文档对象模型)是处理HTML或XML的标准编程接口,将文档、元素和节点都视为对象。通过DOM,可以使用多种方法获取页面元素,如根据ID、标签名、类名或选择器获取元素对象。常用的方法包括 getElementById()、getElementsByTagName()、getElementsByClassName()、querySelector() 和 querySelectorAll()。此外,还可以通过
2024-03-22 19:46:52
2041
1
空空如也
关于#mysql#的问题:请问我为什么这个会打不开引用的父表啊
2023-08-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人