- 博客(102)
- 收藏
- 关注
原创 JSON网络令牌JWT
日常生活中的身份验证的场景: 比如进入公司的大楼时,需要携带工牌;打卡上班时,需要指纹识别;打开工作电脑时,需要输入密码。JSON Web Token (JWT) 是一个开放标准 (RFC 7519),用于在各方之间作为 JSON 对象安全地传输信息。就是通过用户名和密码来生成token确认用户的身份,确认过身份的用户称为为授权用户(Authenticated user)。全称, 是目前最流行的跨域认证解决方案。基本的实现是服务端认证后,生成一个JSON对象,发回给用户。
2024-01-03 10:50:04 1194
原创 快速学习 webpack
什么是webpack, 它有什么作用知道yarn的使用过程, 自定义命令, 下载删除包有了webpack让模块化开发前端项目成为了可能, 底层需要node支持对webpack各种配置项了解入口/出口插件加载器mode模式devServerwebpack开发服务器的使用和运作过程。
2023-12-20 21:16:12 1385
原创 用Python和Pygame实现简单贪吃蛇游戏
pygam插件安装pip install 插件名字 # 安装pip uninstall 插件名字 # 卸载pip install 插件名字 -i 指定下载的镜像网址pip show 插件名字 # 查看插件名字。
2024-04-25 21:30:58 443 1
原创 Python IO流
IO(输入/输出)是计算机程序与外部世界进行数据交换的一种方式。在Python中,IO操作通常涉及文件、网络、标准输入和输出等。Python的IO操作可以分为两种类型:文本IO和二进制IO。文本IO:用于读写文本文件,数据以文本形式表示,例如字符串。二进制IO:用于读写二进制文件,数据以字节的形式表示,适用于非文本数据,如图像、音频、视频等。
2024-04-25 18:12:25 238
原创 python面向对象三大特征
封装是指将数据和操作数据的方法捆绑在一起,通过这种方式可以控制数据的访问权限,使得对象的内部细节对外部不可见,从而:继承是指一个类可以基于另一个类来。子类可以继承父类的属性和方法,并且可以在不改变父类的情况下扩展或修改功能,从而实现代码的重用和扩展。:多态是指同一种操作作用于,可以产生。通过多态,可以编写通用的代码,让程序在运行时根据对象的实际类型来决定调用哪个方法,提高了代码的。
2024-04-24 22:00:44 926 2
原创 Python 推导式
推导式指的是轻量级循环创建数据的方式,对列表或可迭代对象中的每个元素应用某种操作,用生成的结果创建新的列表;或用满足特定条件的元素创建子序列。
2024-04-24 20:21:49 225
原创 Python的venv虚拟环境
venv是 Python 的一个内置模块,用于创建和管理虚拟环境(virtual environments)。虚拟环境可以独立于系统的全局环境,并且可以在其中安装特定版本的包和库,以便于项目之间的隔离和管理。下面是venv。
2024-04-23 16:22:26 284
原创 python 文件打包(使用pyinstaller)
PyInstaller是一个流行的Python打包工具,它可以将Python代码打包成可执行文件,使得你可以在没有安装Python解释器的环境中运行你的应用程序。
2024-04-22 21:56:30 628
原创 Python环境找不到解决方法
如果打开工程时,出现如下对话框,请勾选 Trust projects in ...,并点击按钮Trust Project。打开System Interpreter,找到本地安装的Python.exe路径,然后一路点OK。Python环境找不到。
2024-04-22 21:51:04 253
原创 PyCharm添加外部工具
添加完成后可在文件或文件夹上右键,目录,则可通过此配置,帮我们在通过。不在根目录,而是在子目录比如。就在根目录,则不用加此配置!Arguments中的参数。可视化UI设计客户端工具。
2024-04-22 21:47:16 493
原创 VSCode常用快捷键速查表
这个 VSCode (Visual Studio Code) 快速参考备忘单显示了它的键盘快捷键和命令。切换区分大小写/正则表达式/全字匹配。将上一个选择移动到下一个查找匹配项。打开 Markdown 预览到一边。将焦点切换到第一/二/三编辑组。在选定的每一行的末尾插入光标。将焦点切换到上/下一个编辑组。在新窗口/实例中显示活动文件。切换编辑器布局(水平/垂直)选择所有出现的查找匹配项。选择当前选择的所有匹配项。显示资源管理器/切换焦点。选择当前单词的所有出现。在上方/下方插入光标。
2024-04-22 21:34:14 317
原创 PyQt多线程&多任务管理
多线程&多任务通常是指将一个任务或多个任务运行在子线程,并且子线程可以独立启动,或通过线程池启动。长时间运行的任务:子线程适合处理那些耗时较长的任务,以避免阻塞主线程的执行。例如,进行复杂的计算、图像处理、视频编解码等任务可以放在子线程中执行,以保持应用程序的响应性。阻塞型任务:如果有一些阻塞型的操作,可能会导致主线程被阻塞,例如进行网络请求、文件读写、数据库查询等。将这些任务放在子线程中执行可以确保主线程的流畅运行,同时避免应用程序的无响应状态。并行处理任务。
2024-04-22 21:30:50 503
原创 Python开发环境搭建
Python是一门编程语言,Python的作者是Guido van Rossum(龟叔)Python优点:简单易学Python与嵌入式、集成电路行业强大的库和工具生态系统:Python拥有广泛而强大的库和工具生态系统,涵盖了各种领域的功能和应用,包括串口通信、网络通信、数据处理、图像处理等。这些库和工具可以极大地简化嵌入式和集成电路开发过程,加快开发速度。更方便的是能直接部署ROS这样的机器人操作系统。与硬件的集成能力。
2024-04-22 21:01:27 804
原创 PyQt简介&环境搭建
PyQt是一套Python的GUI开发框架,即图形用户界面开发框架.Python中经常使用的GUI控件集有PyQt、Tkinter、wxPython、Kivy、PyGUI和Libavg其中PyQt是Qt(c++语言实现的)为Python专门提供的扩展。
2024-04-22 20:33:01 822
原创 pip包管理工具
pip 是 Python 包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能。Python 2.7.9+ 或 Python 3.4+ 以上版本的python都自带 pip 工具。
2024-04-22 20:29:41 312
原创 c++ 二分查找
二分查找(Binary Search)是一种在有序数组中查找特定元素的高效算法。它通过不断将搜索范围减半来查找目标元素。其时间复杂度为,这是因为每一步都将搜索范围减半,因此算法的性能非常高。
2024-04-18 17:30:50 303
原创 C语言内存管理
编译C代码是将源代码转换为可执行程序的过程。这个过程一般可以分为四个阶段:预处理、编译、汇编和链接。预处理(Preprocessing):在这个阶段,预处理器会处理以 开头的预处理指令。这些指令可以包括 、、 等。预处理器会根据这些指令修改源文件,生成一个经过预处理的新文件,通常以 为扩展名。(宏定义展开、头文件展开、条件编译)编译(Compiling):编译器将预处理过的源文件转换成汇编语言代码,这个阶段主要是将高级语言转换成汇编语言。生成的文件通常以 为扩展名。汇编(Assembling):汇编器
2024-04-17 21:57:03 1320
原创 C语言结构体与公用体
定义结构体变量的方式:先声明结构体类型再定义变量名在声明类型的同时定义变量// 先声明结构体类型再定义变量名struct 结构体名 {成员列表struct 结构体名 变量名;// 在声明类型的同时定义变量struct 结构体名 {成员列表}变量名;
2024-04-17 20:24:30 266
原创 C语言字符数组与字符串
返回值:字符串s的长度,size_t为unsigned int类型,不同平台会不一样。功能:比较 s1 和 s2 的大小,比较的是字符ASCII码大小。功能:把src所指向的字符串复制到dest所指向的空间中,成功:返回dest字符串的首地址。功能:将src字符串连接到dest的。dest:目的字符串首地址。成功:返回dest字符串的。运行结果: str1>str2。功能:计算指定指定字符串s的。dest:目的字符串。src:源字符首地址。src:源字符首地址。s1:字符串1首地址。s2:字符串2首地址。
2024-04-17 17:50:56 1195
原创 C++内存分布
C代码编译过程预处理宏定义展开、头文件展开、条件编译,这里并不会检查语法 编译 检查语法,将预处理后文件编译生成汇编文件 汇编 将汇编文件生成目标文件(二进制文件) 链接 将目标文件链接为可执行程序进程的内存分布程序运行起来(没有结束前)就是一个进程 对于一个C语言程序而言,内存空间主要由五个部分组成 代码区(text)、数据区(data)、未初始化数据区(bss),堆(heap) 和 栈(stack) 组成有些人直接把data和bss合起来叫做静态区或全局区代码区(te
2024-04-12 20:32:18 260
原创 c++ 指针总结
指针也是一种数据类型,指针变量也是一种变量指针变量指向谁,就把谁的地址赋值给指针变量语法格式:类型 变量;类型 * 指针变量 = &变量;& 叫取地址,返回操作数的内存地址* 叫解引用,指操作指针所指向的变量的值在定义变量时,* 号表示所声明的变量为指针类型指针变量要保存某个变量的地址,指针变量的类型比这个变量的类型多一个*指针使用时,* 号表示操作指针所指向的内存空间// 定义一个int类型的变量,同时赋值为10int a = 10;// 打印变量的地址。
2024-04-12 20:27:52 1558
原创 C++ 类型转换
○占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。数据有不同的类型,不同类型数据之间进行混合运算时涉及到类型的转换问题。○自动转换(隐式转换):遵循一定的规则,由编译系统自动完成。○强制类型转换:把表达式的运算结果强制转换成所需的数据类型。■语法格式: (类型)变量或常量。
2024-04-11 21:33:45 178
原创 C++ 运算符
原来的最高是1就补1, 原来的最高位是0 就补0。C 语言的比较运算中, “真”用数字“1”来表示, “假”用数字“0”来表示。按位与(&)运算:位与位进行比较,如果都为1,则为1,否则为0;按位或(|)运算:位与位进行比较,如果都为0,则为0,否则为1;如果a和b有一个为真,则结果为真,二者都为假时,结果为假。按位异或运算:位与位进行比较,相同为0,不同为1;如果a和b都为真,则结果为真,否则为假。2个都为1才为1,结果为001。有1个为1就为1,结果为111。等同于 a = a + 2;
2024-04-11 21:03:41 1317
原创 计算机数值存储方式(原反补)
计算机底层都是存储数据都是采用二进制,但二进制也有几种,比如:原码、反码、补码。接下来我们来看看他们之间的关系的意义作用。
2024-04-10 20:13:57 247
原创 C++ 数据类型
数据类型的作用:编译器预算数据分配的内存空间大小。ps:可以通俗理解为:数据类型是用来规范内存的开销,约定数据在内存中的格式,便于存储。// 预处理常量// const常量// 预处理常量// const常量// 常量不能修改,以下代码是错误的PI = 3.33;pi2 = 3.33;return 0;C语言提供了一些常量库,比如有:float.h、limits.h等,这些常量同样受操作系统平台的影响会在不同的平台下不一样。
2024-04-10 19:59:13 1005
原创 Vue 面试题(二)
使用 keep-alive 就不会调用 beforeDestroy(组件销毁前钩子)和 destroyed(组件销毁),因为组件没被。<keep-alive></keep-alive>进行缓存,这样用户每次返回列表的时候,都能从缓存中快速渲染,.self: 当事件发生在该元素。内置组件 keep-alive 来缓存组件内部状态,避免重新渲染,在开发 Vue 项目的时候,大部分组件。销毁,被缓存起来了,这个钩子可以看作 beforeDestroy 的替代,如果你缓存了组件,要在组件销。
2024-03-22 21:28:33 600
原创 Vue 常见面试题(一)
4、MVVM 作为数据绑定的入口,整合 Observer、Compile 和 Watcher 三者,通 Observer 来监。MVVM 中的 M 和 V 意思一样。3.3)待属性变动 dep.notice()通知时,能调用自身的 update()方法,并触发 Compile 中。1、需要 observe 的数据对象进行递归遍历,包括子属性对象的属性,都加上 setter 和 getter,2、具体步骤:使用 Vue.extend 方法创建一个组件,然后使用 Vue.component 方法注册组件,
2024-03-22 21:25:47 684
原创 Node.js Express
yarn.lock yarn 安装包 会生成一个yarn.lock。req.query (get请求) / req.body(post请求)express-generator 解决上述问题。2.全局下载express-generator。public 存放静态资源 图片 样式等。1.开发后端项目,需要搭建后端项目结构。views 存放html页面。node http创建服务繁琐。1.安装 body-parse。routes 存放路由。app.js 项目入口。代码不美观,代码量多。
2024-03-22 21:18:11 448
原创 常用SQL语句大全
常见的数据约束包括主键约束(PRIMARY KEY),唯一约束(UNIQUE),外键约束(FOREIGN KEY),非空约束(NOT NULL)等。通过定义适当的数据约束,可以确保数据的有效性和正确性,并防止不符合业务规则的数据被插入到表中。常见的 SQL 数据类型包括整数(INTEGER),浮点数(FLOAT),字符串(VARCHAR),日期时间(DATETIME)等。批量添加数据(指定字段):insert into 表名 (字段名1, 字段名2) values (值1, 值2), (值1, 值2)
2024-03-15 11:32:36 1112 2
原创 内存泄露与解决
什么是内存泄漏什么是内存泄漏内存泄漏指任何对象在您不再拥有或需要它之后仍然存在哪些操作会造成内存泄漏?1、垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为 0(没有其他对象引用过该对象),或对该对象的惟一引用是循环的,那么该对象的内存即可回收2、setTimeout 的第一个参数使用字符串而非函数的话,会引发内存泄漏3、闭包、控制台日志、循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)JS 内存泄漏的解决方式(必会)
2024-03-15 11:23:36 254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人