记录第一次项目上传github
第一次上传项目先在本地初始化git仓库1git init //在项目文件夹进行
将本地文件全部添加到仓库1git add *
将文件提交到仓库1git commit -m "first commit"
在github建立一个仓库要注意仓库默认分支现在都为main,而git上都为master,所以把地址仓库名替换为main
1git branch -m master main
本地与远程仓库建立连接1git remote add origin "项目地址.git"
最后推送项目1git push -u origin main
在这一步遇到两个问题:**1.git错误 **error: failed to push some refs to https://github.com/…
问题原因:远程库与本地库不一致造成的,在hint中也有提示把远程库同步到本地库就可以了。
解决办法:使用命令行:
1git pull --rebase origin main
该命令的意思是把远程库中的更新合并到(pull=fetch+merge ...
MongoDB
一、简介1.1 Mongodb 是什么MongoDB 是一个基于分布式文件存储的数据库,官方地址 https://www.mongodb.com/
1.2 数据库是什么数据库(DataBase)是按照数据结构来组织、存储和管理数据的 应用程序
1.3 数据库的作用数据库的主要作用就是 管理数据 ,对数据进行 增(c)、删(d)、改(u)、查(r)
1.4 数据库管理数据的特点相比于纯文件管理数据,数据库管理数据有如下特点:
速度更快
扩展性更强
安全性更强
1.5 为什么选择 Mongodb操作语法与 JavaScript 类似,容易上手,学习成本低
二、核心概念Mongodb 中有三个重要概念需要掌握
数据库(database) 数据库是一个数据仓库,数据库服务下可以创建很多数据库,数据库中可以存放很多集合
集合(collection) 集合类似于 JS 中的数组,在集合中可以存放很多文档
文档(document) 文档是数据库中的最小单位,类似于 JS 中的对象
大家可以通过 JSON 文件来理解 Mongodb 中的概念
123456789101112131415161 ...
Node.js学习
一、学习内容
为框架学习打下基础
二、Node.js注意事项:不能使用浏览器的api
进程和线程概念
三、BufferBuffer(缓冲器)
一、 概念Buffer 是一个类似于数组的 对象 ,用于表示固定长度的字节序列
Buffer 本质是一段内存空间,专门用来处理 二进制数据 。
二、 特点
Buffer 大小固定且无法调整
Buffer 性能较好,可以直接对计算机内存进行操作
每个元素的大小为 1 字节(byte)
**三、 **使用3-1. 创建 BufferNode.js 中创建 Buffer 的方式主要如下几种:
Buffer.alloc
12//创建了一个长度为 10 字节的 Buffer,相当于申请了 10 字节的内存空间,每个字节的值为 0let buf_1 = Buffer.alloc(10); // 结果为 <Buffer 00 00 00 00 00 00 00 00 00 00>
Buffer.allocUnsafe
123//创建了一个长度为 10 字节的 Buffer,buffer 中可能存在旧的数据, 可能会影响执行结 ...
VitePress
VitePress使用安装
初始化
再识Vue2(一)
一、虚拟DOM直接操作真实的DOM会引发严重的效率问题,Vue使用虚拟 DOM (vnode) 的方式来描述要渲染的内容,Vue 的渲染系统正是基于这个概念构建
1.1 概念虚拟 DOM (Virtual DOM,简称 VDOM) 是一种编程概念,意为将目标所需的 UI 通过数据结构“虚拟”地表示出来,保存在内存中,然后将真实的 DOM 与之保持同步。这个概念是由 React 率先开拓,随后被许多不同的框架采用,当然也包括 Vue。
与其说虚拟 DOM 是一种具体的技术,不如说是一种模式,所以并没有一个标准的实现
vnode 是一个普通的JS对象,用于描述界面上应该有什么,比如:
123456var vnode = { tag:"h1", children:[ { tag:undefined, text:"第一个vue应用:Hello World"} ]}
上面的对象描述了:
1有一个标签名为h1的节点,它有一个子节点,该子节点是一个文本,内容为「第一个vue应用:Hello World」
vue模板 ...
算法入门
堆了解堆结构和堆排序
知识点数组去重的几种方式1.利用 ES6 Set 去重(ES6 中最常用)123function unique (arr) { return Array.from(new Set(arr))}
2、利用 for 嵌套 for,然后 splice 去重(ES5 中最常用)1234567891011function unique(arr){ for(var i=0; i<arr.length; i++){ for(var j=i+1; j<arr.length; j++){ if(arr[i]==arr[j]){ //第一个等同于第二个 arr.splice(j,1); //splice方法删除第二个 j--; } } ...
Vue3_博客系统
1.服务端1.1 安装expressnode.js的框架语言
1.2.安装插件1npm i multer
1npm i uuid
1npm i sqlite3@5.0.0
1.3 雪花算法1.4 数据库链接1.5 Promise封装部分方法1.6 管理员登陆和token的生成1.7 分类表增删改12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879//列表接口router.get('/list', async (req, res) => {//定义一个POST请求的路由处理函数,用于处理添加的请求。 const search_sql = "select * from `category`";//定义查询的SQL语句。 let {err,rows} = a ...
Express学习
一、express介绍express 是一个基于 Node.js 平台的极简、灵活的 WEB 应用开发框架,官方网址:https://www.expressjs.com.cn/
简单来说,express 是一个封装好的工具包,封装了很多功能,便于我们开发 WEB 应用(HTTP 服务)
二、express使用2.1 express 下载express 本身是一个 npm 包,所以可以通过 npm 安装
12npm initnpm i express
2.2 express 初体验大家可以按照这个步骤进行操作:
创建 JS 文件,键入如下代码
123456789101112//1. 导入 expressconst express = require('express');//2. 创建应用对象const app = express();//3. 创建路由规则app.get('/home', (req, res) => {res.end('hello express server');});//4. ...
Vue3+TS封装组件库项目
1.介绍2.项目文件结构安装eslint插件
项目文件结构
components
Button
Button.vue - 组件
style.css - 样式
types.ts - 一些辅助的typescript类型
Button.test.tsx -测试文件
hooks
useMousePosition.ts
初始化项目
vue官方基于vite的封装工具-create-vue https://github.com/vuejs/create-vue
npm create vue@3
Vite+Vue3+Typescript+ESlint
–save-dev 的作用--save-dev 是 npm install 命令的一个选项,它用于将安装的软件包(dependencies)添加到 devDependencies 中。
具体来说,它的作用是将软件包添加到项目的开发环境依赖项中,而不是生产环境依赖项。
在 Node.js 项目中,通常会有两种类型的依赖项:
生产环境依赖项(dependencies):这些是项目在生产环境中运行 ...
Vue3(结合TS基础知识)
Vue3本文档学习的内容如下:
1.Vite
2.Volar插件Volar 重大更新:改名为Vue - Official;支持Vue3.4;Take over模式被弃用;TypeScript Vue Plugin被弃用;
3.响应式基础ref的自动解包
为ref和reactive标注类型的方法
ref和reactive的区别
怎么选择ref和reactive
4.计算属性
5.watch监视计算属性允许我们声明性地计算衍生值。然而在有些情况下,我们需要在状态变化时执行一些“副作用”:例如更改 DOM,或是根据异步操作的结果去修改另一处的状态。
在组合式 API 中,我们可以使用 watch 函数在每次响应式状态发生变化时触发回调函数:
12345678910111213141516171819202122232425262728293031<script setup>import { ref, watch } from 'vue'const question = ref('')const answer = ref ...