
笔记
文章平均质量分 75
Mr Robot
When I’m old and dying, I plan to look back on my life and say “wow, that was an adventure,” not “wow, I sure felt safe.”
山东南海岸程序猿,美国《时代周刊》2006年度风云人物;
《感动中国》2008年度人物;
联合国2019年度“地球卫士奖”
国际奥委会2022年”奥林匹克奖杯“获奖者
展开
-
多通道ECG心率监测系统
下位机程序已经在文章中了,需要下位机库文件和上位机labview程序的可以在评论区留下邮箱,如果这篇文章帮助了你,请好评三连呀!原创 2022-10-24 10:39:13 · 4096 阅读 · 238 评论 -
趣学算法之分枝限界法
分枝限界法解决0/1背包问题解的结构、约束条件、目标函数和状态空间树的分析与回溯法相同。.分枝限界法求解0/1背包问题的关键问题是设计上下界函数LBB(X)、UBB(X):设p(i)/w(i)≥p(i+1)/w(i+1),0≤i<n-1X是状态空间树上的结点,从根到X的部分向量为(x0,x1,…,xk-1)。以X为根的子树可以看成背包载重为cu,由剩余物品组成物品集的0/1背包的状态空间树。Node为状态空间树的结点类;原创 2022-10-23 15:15:00 · 1187 阅读 · 21 评论 -
LabVIEW VISA编程笔记
①VISA的I/O控制功能适用于各种仪器类型,既包含了VXI仪器、GPIB仪器及串口仪器等各类仪器的控制操作,也包含了消息基器件、寄存器器件、存储器器件等仪器的操作,具有形式上的统一。VISA控制USB接口,该VISA地址的含义是:该仪器设备位于USB板卡0上,其制造商ID为0x0957(Agilent),型号编码为0x17A4,仪器的序列号为MY51135727。在VISA的结构中,仪器类型的不同体现在资源名称的不同,对VISA的使用者来说,不同类型仪器的使用在形式上和方法上都是一样的。原创 2022-10-09 21:15:00 · 3374 阅读 · 2 评论 -
labview信号频域分析算法
最近遇到一个使用单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。为啥用labview呢,因为LabVIEW是美国国家仪器公司(NI)的创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于G语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。①在前面板,添加一个波形图控件用于显示变换前后的波形。原创 2022-10-09 16:44:24 · 8640 阅读 · 0 评论 -
labview信号时域分析算法
③为了提供测量的波形信号,选取“函数→信号处理→波形生成→正弦波形”来添加该波形,再为其频率和幅值端口创建输入控件。②切换至后面板,选取“函数→信号处理→波形测量→瞬态特性测量”来添加该测量,并为“瞬态持续期”端口创建一个显示控件。③为了提供测量的波形信号,选取“函数→信号处理→波形生成→正波波形”来添加该波形,再为频率和幅值端口创建输入控件。②切换至后面板,选取“函数→信号处理→波形测量→脉冲测量”来添加该测量,再为其输出端口添加3个显示控件。原创 2022-10-09 16:38:31 · 3179 阅读 · 0 评论 -
Map数据结构
JavaScript的对象(Object)本质上是键值对的集合(Hash结构),但是传统上只能使用字符串作为键,这给它的使用带来了很大的限制。它类似于对象,也是键值对的集合,但其“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。ES6是ES5的升级版,解决了ES5语法中存在的一些问题,而且使用起来相对比较简单,在流行框架中使用较多。如果删除失败,返回 false。原创 2022-10-09 13:12:36 · 905 阅读 · 0 评论 -
构建工具Webpack
css-loader!./style.css”,再输入打包命令,发现还是报错,提示缺少css-loader、style-loader这两个文件。可以使用“cnpm install css-loader style-loader --save-dev”命令将文件添加到package.json文件中,如果在后期打包部署时还是提示文件缺失,可以使用此命令添加文件;代码修改完成之后输入“webpack ./src/index.js build.js”命令,再打开页面显示出index2.js文件中输入的内容。原创 2022-10-09 17:00:00 · 685 阅读 · 2 评论 -
网站前端架构设计
在原始开发的时候都会遇到以上问题,从这些问题中又发现了使用前端框架的重要性,有些人或多或少地接触过框架,但是对前端框架的认知还不够。大觅项目使用分层架构设计(把功能相似、抽象级别相近的实现进行分层,使逻辑变得清晰,容易理解和维护,也称作多层架构或N层架构),在这里使用的是类MVVM的分层架构方式,但还不完全是 MVVM 的分层架构方式。Visual Studio Code具备优秀的性能,完备的特性,加之针对于Web开发的优化和方便的调试,被评价为最好用的集成开发环境。首先看一下原始开发存在的以下问题。原创 2022-10-09 12:38:10 · 3763 阅读 · 0 评论 -
脚手架搭建网站框架
在以后安装依赖包之后,可以通过 --version或者简写 -v来查看对应的版本号,如果能显示对应版本号,则说明安装成功。Node.js的包管理器NPM是全球最大的开源库生态系统,它集成在Node.js中,在安装Node.js的时候就已经自带了NPM包管理工具。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。安装CNPM成功之后,输入“cnpm -v”,如图1.11所示,可以查看到当前CNPM版本,所有用到NPM的地方便可以全部替换为CNPM,这样就成功切换到淘宝NPM镜像上了。原创 2022-10-09 10:10:58 · 763 阅读 · 0 评论 -
class与style绑定
这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?类名active依赖于数据isActive,当其为true时,div会拥有类名active的样式,为false时,则没有,所以“对象语法”存在1px的黑色边框。大多数情况下,直接写一长串的样式不便于阅读和维护,因此实际的开发中往往是写在data或者computed计算属性里。特别强调一点,动态绑定的 class 可以与普通的class共存,在浏览器中运行,显示效果。原创 2022-10-09 14:15:00 · 580 阅读 · 0 评论 -
精通Vue.js
简单小巧的核心,渐进式的技术栈,足以应付任何规模的应用。简单小巧指的是Vue.js压缩后仅有17KB。渐进式(progressive)是指可以一步一步、阶段性地来使用 Vue.js,不必一开始就使用所有的技能点。随着内容的深入介绍,读者也会逐渐感觉到渐进式的优点,这也是开发者热爱Vue.js的重要原因之一。使用Vue.js可以让Web开发变得简单,同时也颠覆了传统的前端开发模式。Vue.js提供了现代Web开发中常见的高级功能:➢ 解耦视图与数据➢ 可复用的组件➢ 前端路由➢ 状态管理➢ 虚拟原创 2022-10-08 21:58:42 · 370 阅读 · 0 评论 -
三轴加速度传感器的驱动编程
三轴加速度传感器可以感知三维空间坐标系中,每个方向上的重力加速度分量,据此,可以计算出当前传感器翻转后的真实角度,故加速度传感器又称倾角传感器,一般多用在智能手机、云台以及航模飞行器等设备上。原创 2022-10-08 17:08:47 · 1321 阅读 · 0 评论 -
CAN驱动程序编程
ID屏蔽位(U32),就是确定接收到的报文中的ID号、帧类型,哪些位是必须与前面设置的参数完全一致还是可不关心,如果设置成0xFFFFFFFF,表示外部发送过来的报文必须与过滤器中预期设置的参数完全一致,反之,如果设置为0x00000000,则表示前面所有的设置无效,任何报文都可以接收,过滤器呈完全放开状态,可以看出,ID屏蔽位其实就是子网掩码;发送的是携带重要数据的数据帧还是回读命令的远程帧;一般情况下,要想发送一帧报文,需要设置以下4项:输入报文ID号,如果是11位的标准帧,那么ID的范围就是0。原创 2022-10-08 16:38:12 · 3037 阅读 · 0 评论 -
labview的CAN驱动程序
比如,主节点想要获取一个温度传感器上的温度值,这个传感器节点传输数据采用的是CAN总线,即CAN的从节点,那么主节点可以先发送一个从节点能够正常接收到的ID远程帧,从节点收到之后,就可以将温度数据作为一个具有相同ID号的数据帧返回给主节点。STM32接收外部报文的流程是:当CAN总线上出现一帧报文时,首先由CAN收发器将CAN总线上的差分信号(隐性或显性电平)转换为bxCAN控制能够识别的高低电平,经STM32上的CAN RX引脚输入CAN的硬件过滤器中;其中,平时使用最多的是前两种:数据帧和远程帧。原创 2022-10-08 20:30:00 · 2654 阅读 · 0 评论 -
labview的RS232驱动程序
如果在串口初始化的时候没有开启终止符,并且要求读取的字节数小于接收缓冲区现有的字节数,那么返回的字符串长度就会等于指定读取的字节数长度,反之UART控制器会将缓冲区中所有的数据全部返回;另外,对于刚刚接触LabVIEW的新用户来说,经常会把VISA函数当成串口函数,实际上NI-VISA驱动包本质上是将整个仪器行业的通信协议(RS232、GPIB、USB、Ethernet等)封装在一起,供不同行业的工程师使用,这样可以简化仪器通信。一般情况下,在读取串口缓冲区中的数据之前,需要指定读取字节的数量。原创 2022-10-07 22:13:11 · 2826 阅读 · 0 评论 -
基于labview上位机控制的6自由度机械臂
在进行机械臂控制之前要先进行模式选择。多自由度机械臂的6个舵机分别控制爪子抓放、腕部旋转、腕部上下、肘部上下、臂部上下和臂部旋转,这些部位的舵机按照从爪子到塔台的顺序,分别通过控制线接到舵机控制板的通道上,通道编号为M6、M5、M4、M3、M2、M1,所有舵机在安装前要调整到90°。多自由度机械臂上的6个舵机都支持180°转角,舵机的转动角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的,标准PWM信号的周期固定为20ms(50Hz),脉宽在500~2500μs之间,脉宽和舵机的转角相对应。原创 2022-10-07 21:49:41 · 2978 阅读 · 0 评论 -
LabVIEW的编程-程序框图入门笔记
例如,若开关的边框为绿色,表示它可与Express VI(快速VI)上任意带绿色标签的输入端相连。在前面板控件中输入的数据将通过控件接线端传输至程序框图,然后进行数据的加减运算。连线板是一组与VI中的输入控件和显示控件对应的接线端,类似于文本编程语言中的函数调用参数列表。在程序框图的流程图中进行编程,可以控制和操纵在前面板上定义的输入和输出功能。程序框图对象包括接线端、子VI、函数、常量、结构和连线,连线可以在程序框图对象间传输数据。双击程序框图中的子VI,将出现该子VI的前面板窗口。原创 2022-10-07 23:15:00 · 12598 阅读 · 2 评论 -
LabVIEW编程入门笔记
在前面板窗口的空白处单击鼠标右键或者在前面板菜单中选择View→Controls,可以弹出控件选板,控件选板包括了用于创建前面板的输入控件和显示控件,如图3-5所示。图形化编程与传统语言编程的不同点在于图形化编程流程采用“数据流”的概念,打破了传统的思维模式,使得程序设计者在构思完流程图的同时也完成了程序的撰写。单击增量/减量按钮,或双击数字,输入一个新的数字,然后按回车(Enter)键,可输入或改变数值输入控件的值。布尔输入控件和显示控件用于输入和显示布尔值、布尔对象仿真开关、按钮或LED灯。原创 2022-10-07 21:30:00 · 3277 阅读 · 0 评论 -
基于LabVIEW的逻辑分析仪
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?提示:可描述问题,解决思路,解决步骤等提示:可描述题目,解题思路,解题步骤等。原创 2022-10-07 20:15:00 · 1172 阅读 · 2 评论 -
基于LabVIEW的示波器程序
对于示波器,我们能够调整时间分辨率和电压幅度分辨率,这时需要根据前面板相应的设置控件来改变波形图表时间轴的时间显示范围以及电压幅度轴的显示范围。另外,对于示波器而言,波形触发功能是一个非常重要的功能,该功能允许用户可以根据设置的触发电平、触发边沿进行相应的触发采集。因此,还需要在LabVIEW中编写能够实现触发功能的程序,本设计中的触发功能实现子VI的程序框图如图8所示。在如图8所示的程序框图中,SLOPE.VI子VI用来实现上升沿或下降沿的判断及相应边沿数据在数组中索引的输出。1 - 项目中解决的问题。原创 2022-10-07 15:21:52 · 3937 阅读 · 1 评论 -
基于物联网的智能厨房安全监测系统-上位机程序
最近遇到一个基于TCP/IP网络的远程智能物联网系统,采用Arduino Uno控制器作为下位机,采用LabVIEW作为远程监控软件,两者通过网络实现通信。0x55AA为帧头,操作码0x80为热释电传感器数据的采集,0x81为气体浓度的采集,0x82为温度采集,0x11为第一路继电器闭合,0x10为第一路继电器断开,0x21为第二路继电器闭合,0x20为第二路继电器断开,0x31为第三路继电器闭合,0x30为第三路继电器断开,0x41为第四路继电器闭合,0x40为第四路继电器断开。原创 2022-10-04 18:13:51 · 2634 阅读 · 0 评论 -
基于物联网的智能厨房安全监测系统-下位机程序
在基于物联网的智能厨房安全监测系统中,Arduino Uno控制器需要完成以下功能:1)通过W5100网络模块接收并判断命令,采集和传输温度、煤气浓度、热释电传感器的数据,并通过W5100网络模块上传给LabVIEW软件。提示:将DS18B20温度传感器的VCC和GND分别连接至Arduino Uno控制器的+5V和GND,以给DS18B20提供电源,DS18B20的DQ引脚接至ArduinoUno控制器数字引脚D2,且连接4.7kΩ的上拉电阻,因为DS18B20的DQ引脚正常工作需要添加上拉电阻。原创 2022-10-05 10:15:00 · 1382 阅读 · 0 评论 -
基于物联网的智能厨房安全监测系统-总论
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?原创 2022-10-04 23:15:00 · 4402 阅读 · 0 评论 -
基于labview的智能大棚监控系统-上位机
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?原创 2022-10-04 22:15:00 · 5456 阅读 · 2 评论 -
基于labview的智能大棚监控系统-下位机
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?原创 2022-10-04 21:30:00 · 1278 阅读 · 1 评论 -
单片机温湿度测量程序编程
公司有一个使用单片机多路采集温湿度的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。DHT11数字温湿度传感器,是一款含有已校准数字信号输出的温湿度复合传感器,采用专用的数字模块采集技术和温湿度传感技术,具有极高的可靠性与卓越的长期稳定性,内部包含一个电阻式感湿元件和一个NTC测温元件。DHT11的供电电压为3.3~5V,测量范围为湿度20%~90%RH,温度0~50℃,测量精度为湿度±5%RH,温度±2℃,测量分辨率为湿度1%RH,温度1℃。原创 2022-10-04 16:59:06 · 2749 阅读 · 0 评论 -
LabVIEW多路数据采集程序
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?原创 2022-10-04 10:15:00 · 7111 阅读 · 1 评论 -
LabVIEW热敏电阻温度计程序
Arduino Uno是Arduino的典型控制器,拥有Arduino所有的基本功能,使用最为广泛,而且本书的应用篇和项目篇都是基于Arduino Uno来设计的,所以接下来重点介绍Arduino Uno的硬件部分,其他型号Arduino控制板硬件介绍可以参考Arduino官方网站:www.arduino.cc。利用热敏电阻和LIAT中的热敏电阻函数节点,通过Arduino Uno控制板的模拟端口采集与热敏电阻串联电阻的分压值上传给LabVIEW软件,并除以温度系数以获得温度值,实现一个温度计的功能。原创 2022-10-03 17:01:45 · 2190 阅读 · 0 评论 -
基于LabVIEW的温度计程序实现
LabVIEW程序首先通过设置的串口号与Arduino Uno控制板建立连接,然后进入While循环中,在循环中不断调用Analog Read Pin函数节点获取LM35的输出电压值,并除以LM35的比例因数0.01V/℃,最终获得温度值。利用模拟温度传感器LM35和LIAT中的模拟函数库,通过Arduino Uno控制板的模拟端口采集LM35输出的电压值上传给LabVIEW软件,并除以比例因数以获得温度值,实现一个温度计的功能。此处需要注意LM35的电源引脚的位置,一旦接反可能会烧坏LM35。原创 2022-10-03 22:30:00 · 4279 阅读 · 2 评论 -
舵机控制编程
最近遇到一个使用Arduino Uno单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。点击运行按钮,LabVIEW程序开始执行,通过舵机1和舵机2的调节设置角度旋钮,可以看到舵机1和舵机2随着角度的改变而转动,同时,舵机1和舵机2的当前角度值也随着舵机1和舵机2的转动而实时改变。点击运行按钮,LabVIEW程序开始执行,通过调节设置角度的旋钮,可以看到舵机随着角度的改变而转动,同时,当前角度值也随着舵机的转动而实时改变。原创 2022-10-03 21:15:00 · 2875 阅读 · 4 评论 -
LabVIEW数据采集卡
最近遇到一个使用stm32单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。LabVIEW程序首先通过设置的串口号与Arduino Uno控制板建立连接,然后等待事件结构,若采集键被按下,则点亮“采集中”LED灯,再调用模拟采样函数库中的Get Finite Analog Sample函数节点以设置好的采集端口、采样速率和采样点数来实现有限采样并送入波形显示控件,完成之后熄灭“采集中”LED灯,采样点数通过采样速率和采样时间计算得到;原创 2022-10-03 20:30:00 · 5997 阅读 · 0 评论 -
LabVIEW示波器编程
LabVIEW程序首先通过设置的串口号与Arduino Uno控制板建立连接,然后调用模拟采样函数库中的Continuous Acquisition On函数节点以设置的引脚和采样速率来实现连续采样,接着进入While循环并不断调用Continuous Acquisition Sample函数节点,并每次读取10个采样点送入波形显示控件。利用LIAT中的模拟采样函数库,通过Arduino Uno控制板上的模拟输入端口采集模拟信号,并上传至LabVIEW界面上显示波形,实现一个简易示波器的功能。原创 2022-10-03 16:04:01 · 1849 阅读 · 0 评论 -
labview卷积结合律笔记
新建名为“验证卷积结合律.vi”的VI,在框图中放入Chirp信号VI(Chirp Pattern.vi)、方波VI(Square Wave.vi)、斜坡信号VI(Ramp Pattern.vi),分别用于生成三个离散时间序列信号:x(n)为线性调频信号,h1(n)为方波信号,h2(n)为斜坡信号。下面以卷积结合律的验证为例,介绍LabVIEW在卷积中的应用。卷积VI是一个多态型VI,它能够进行一维或二维的实卷积或复卷积,因此就有四种不同的形式,以最常用到的一维实卷积为例,其连线板如图。原创 2022-10-01 08:15:00 · 1578 阅读 · 0 评论 -
labview信号时域分析编程笔记
添加“Basic Averaged DC-RMS.vi”,并为“窗”和“平均类型”输入参数添加相应的控件,将它的“直流值”和“均方根值”输出参数捆绑后连接到一个波形图表进行实时显示。该VI将输入的时域信号先加窗,然后对加窗后的信号按指定的平均类型计算信号的直流分量与均方根值。该VI是一个多态型VI,输入的信号可以为一个通道的信号,也可以是以数组形式输入的多个通道的信号。运行程序后,指定参数为使用Hanning窗和指数类型平均方法,通过前面板上的波形图表就可以观察到实时测量出的信号的直流分量和均方根。原创 2022-09-30 17:31:02 · 3285 阅读 · 0 评论 -
LabVIEW中算法函数学习笔记
最近遇到一个使用stm32单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。在“数学”子选板中,提供了“拟合”“内插与外推”和“积分与微分”等函数,这些函数最基本,它们的输入和输出一般多为数组。“信号处理”子选板又分为“波形生成”“波形测量”和“滤波器”等子选板,利用这些函数,可以直接生成波形,或者对波形进行分析及处理。对于这些函数的使用,LabVIEW的帮助中提供了丰富的范例,具体使用时,可以找到相应的范例进行学习。原创 2022-09-30 16:47:24 · 3144 阅读 · 0 评论 -
labview信号处理算法先进性比较
对于n阶的回文数,其基数为10n,10n+1,…基于上述的分析和介绍,算法二VI的总体程序框图如图4所示,可见,它的功能是先生成回文数,之后再判断这些回文数是否是质数。在LabVIEW中,查看VI内存使用的一种方法如下:在前面板工具条中选择“文件”→“VI属性”,会弹出“VI属性”对话框,在“类别”下拉菜单中选择“内存使用”,界面如图6所示。具体地,首先对上述算法都建立相应的子程序,然后搭建如图5所示VI的程序框图,调用顺序结构,并在其中间一帧调用不同算法的子程序,这样就可以测试出不同算法所耗用的时间了。原创 2022-09-30 23:30:00 · 987 阅读 · 0 评论 -
labview信号处理算法笔记
由此可见,轮询的方法对回文数条件的使用是不足的,而这可能会造成判断回文数算法代码的过多运行,这在数字较大情况下是非常耗费资源的。按轮询的思路,有几处可以改进具体算法的地方:①回文数和质数的寻找顺序,由于回文数的判断比质数要简单,所以应采取先找回文数、再找其中的质数的思路,这样,算法的计算量会更小;算法是所有程序的核心和灵魂。判断回文数的算法如下:先将数值转换成字符串,得到字符串A,再将字符串A经反转字符串函数进行反转,得到字符串B,将A和B都再转换成数值a和b,然后进行比较,如果a=b,则该数即为回文数。原创 2022-09-30 22:15:00 · 1042 阅读 · 0 评论 -
labview下位机软件编程笔记
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?原创 2022-09-30 21:15:00 · 2197 阅读 · 2 评论 -
labview与stm32通信
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?原创 2022-09-30 20:30:00 · 9482 阅读 · 0 评论 -
labview编程笔记之事件结构
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?原创 2022-09-29 23:45:00 · 2437 阅读 · 0 评论