前端-模块化
模块化早期JS开发的时候,没有模块化规范,很容易出现全局污染和依赖管理混乱的问题。
全局污染:
123<script src="./index.js"></script><script src="./home.js"></script><script src="./app.js"></script>
在这些不同的JS文件里面可能定义着相同的名字,比如name在index.js里面是一个变量名,在home.js里面是一个函数名
依赖管理混乱:
因为执行JS的顺序是从上到下 index->home->app
index,home,app里面分别有公共方法func1,func2,func3
func1无法调用func2,func3(因为home,app还没有执行),而func3可以调用func1,func2
模块化规范包括,CommonJs,AMD,CMD,UMD和ESM
其中CommonJS主要用于服务端NodeJS项目;AMD和CMD提供相似的 ...
QTMysql
QT配置Mysql驱动QT-connector好像不需要
QT的Mysql驱动插件1.下载qsqlmysql.dll文件可以自己使用QT构建,也可以直接从(https://github.com/thecodemonkey86/qt_mysql_driver/releases)上面下载对应的Mysql驱动
这里不展示构建,因为尝试了很久也没有构建成功,不如直接从GitHub上面下载
2.复制将这个qsqlmysql.dll文件放到 D:\QT\版本号\mingw_64(msvc2022_64)\plugins\sqldrivers\里面
QT项目1.在XXX.pro里面配置12345QT += sql # 添加 MySQL 支持(我代码注释了该部分还是可以使用Mysql服务)LIBS += -L"D:/MySQL/lib" -lmysqlINCLUDEPATH += "D:/MySQL/include"
2.在代码目录复制Mysql\lib\libmysql.lib文件或者从github上面下载好的
复制到D:\QT\QtCode\ ...
算法
平方根求解一个数的平方根
牛顿迭代法牛顿迭代法就是使用切线不断逼近目标值
设一个函数 f(x) = x^2 - a ,该函数与x正半轴的交点就是a的平方根 a^(1/2)
使用取一个点让该函数的切线不断靠近该点 函数的切线斜率易知是 2x 方程为y = 2x(x - b)
然后求该切线的截距 可得 b = x - f(x) / 2x 将f(x) 带入 化简得 b = (x + a /x) / 2
让切线不断逼近a,所以最后 近似a^(1/2) = b = (x + a /x) / 2 就可以近似求出a 的平方根
12345public static int mySqrt(int a) { int x = a;//给x取一个值 while(x * x > a) x = (x + a / x) / 2; return x;};
树二叉树前序遍历遍历顺序: 根节点 -> 左子树 -> 右子树 (中 左 ...
Zoomlt
Zoomlt简单的画图软件和缩放软件,用来讲解知识点,做个笔记什么的十分方便
配上Snipaste简直无敌
它还有一个时钟计时功能,但对于我来说没啥用,就不记录了
Java
Java面向对象编程面向对象(OOP)与面向过程(POP)的区别面向过程就是按照过程自己一步一步完成编程来解决问题
面向对象就是创建对象,让对象来解决问题
举个栗子:
解决做饭的问题:
面向过程:买菜 =》做饭 (自己在干活)
面向对象:让厨师做饭
类与对象类是把具体的实物抽象成一个模板,类中有成员变量,成员方法
对象是类的具体化,每个对象都有所不同
栗子:
类: 人类
对象: 妈妈
12345678910111213141516public class Student { String name; int age; public void study() { System.out.println("study!!!"); }}public class text { public static void main(String[] args) { Student stu = new Student(); stu.name = "南马";//对对象的 ...
Vuex
12345678910<el-form-item label="类型" :label-width="labelWidth" prop="name"> <el-select v-model="materialUploadForm.materialType" clearable filterable placeholder="请选择" style="width: 100px;background-color: transparent" class="select"> <el-option v-for="item in materialTypeOptions" :key="item.value" :label="item.label" ...
商城APP
商城APP my-shopping-app项目介绍该项目是实现从移动端在商城购物实现的功能包括登录,商品渲染,搜索商品,加入购物车,提交订单该前端项目是基于前端框架vue2来写的,后端api调用apifox黑马的智慧商城
项目文件目录12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455src│├── api // 接口│ ├── address.js │ ├── cart.js │ ├── category.js │ ├── home.js │ ├── login.js │ ├── order.js │ ├── product.js │ └── user.js|├── assets // 存放静态资源,如图片(测试时用的图片)|├── components // ...
操作系统
操作系统定义系统资源的管理者
控制和管理整个计算机系统的硬件和软件资源
提供给用户和其他软件方便的接口和环境
是计算机系统中最基本的系统软件(是最接近硬件的一层软件)
功能和目标处理机管理,存储器管理,文件管理,设备管理
联机命令接口
git
git何为git?git是一个分布式版本控制系统 (这话听起来很高大上,不懂没事)
什么是版本控制系统呢?
它是一种用于管理软件代码或其他文件变更的工具
简单来说,就是用于管理代码的仓库,它可以记录文件的修改历史,回溯到之前的版本,这样我们就不需要将代码复制一份保存好,在下一次修改后发现一堆错误然后想用上一次的旧版本,去找自己原来保存的(如果项目很大,这将会非常麻烦)。
版本控制系统有两中:
1.集中式CVCS Centeralized Version Control System
所有的版本数据保存在一个中央服务器上,使用简单,但是有一个最大的弊端:单点故障问题,如果中央服务器或网络出现问题,那么所有人就无法工作了
2.分布式DVCS Distributed Version Control System
每个开发者都有完整的代码库副本,而且拥有完整的代码库历史,操作相比复杂,但即使没有网络连接,开发者也可以继续工作
git的原理(可以不看,会用就行)git 的数据存储git的核心是数据存储模型,叫做快照流
什么是快照?
快照是包含当前版本所有文件和目录 的一个完整副本 ...