- 博客(247)
- 收藏
- 关注
原创 Golang微服务-protobuf
protobufgRPC是一款语言中立、平台中立、开源的远程过程调用系统,gRPC客户端和服务端可以在多种环境中运行和交互,例如用java写一个服务端,可以用go语言写客户端调用数据在进行网络传输的时候,需要进行序列化,序列化协议有很多种,比如xml, json,protobuf等gRPC默认使用protocol buffers,google开源的一套成熟的结构数据序列化机制。序...
2024-12-25 14:49:00
623
原创 单机服务和微服务
单体服务一种软件开发模型,它将所有的服务组件集成在一个独立的系统单位中进行开发、部署和维护。在这种架构中,前端用户界面、后端服务器逻辑、数据库操作等组件通常紧密耦合在一起,形成一个统一的程序。这种架构模式易于开发和部署,特别是在项目规模较小、复杂度较低的情况下。然而,随着项目规模的扩大、复杂度的增加,单体架构可能会导致应用变得难以维护、扩展和理解优点:简单易懂:单体服务架构相对简单,易于...
2024-12-24 18:24:00
847
原创 Redis-十大数据类型
Reids数据类型指的是value的类型,key都是字符串redis-server:启动redis服务redis-cli:进入redis交互式终端常用的key的操作redis的命令和参数不区分大小写 ,key和value区分查看当前库所有的keykeys *判断某个key是否存在exists key查看key是什么类型type key删除指定的key...
2024-12-24 17:01:00
1083
原创 NodeJs-express会话控制
cookie安装cookie-parsernpm i cookie-parser设置cookieconst express = require('express')const cookieParser = require('cookie-parser')const app = express()//设置 cookieParser 中间件app.use(cookiePa...
2024-12-17 15:31:00
327
原创 NodeJs-express框架
express 是一个基于 Node.js 平台的极简、灵活的 WEB 应用开发框架官方网址# express本身是一个npm包,直接使用npm下载npm initnpm i expressexpress路由一个路由的组成有 请求方法 , 路径 和 回调函数 组成send方法用于向客户端发送响应数据,它能够自动根据数据类型设置合适的Content - Type头部信息,并且...
2024-12-17 14:41:00
349
原创 NodeJs-nvm
nvm 全称 Node Version Manager 是用来管理 node 版本的工具,方便切换不同版本的Node.js安装nvm(homebrew)brew install nvm查询可以可以下载的node版本nvm list available显示已经安装的nodejs版本列表nvm list安装指定版本的nodejsnvm install 版本号...
2024-12-17 11:36:00
176
原创 NodeJs-包管理工具
包英文单词是 package ,代表了一组特定功能的源码集合管理包的应用软件,可以对包进行 下载安装 , 更新 , 删除 , 上传 等操作借助包管理工具,可以快速开发项目,提升开发效率前端常用的包管理工具有npm、yarn、cnpmnpmnode.js 在安装时会 自动安装 npmnpm基本使用初始化npm init 命令的作用是将文件夹初始化为一个包, 交互式创建...
2024-12-17 11:28:00
831
原创 NodeJs-http模块
创建http服务使用 nodejs 创建 HTTP 服务// 导入http模块const http = require("http")// 使用createServer创建http服务对象,接收一个回调函数// 两个形参分别是请求对象和响应对象// 回调函数的执行时机: 当接收到 HTTP 请求的时候,就会执行const server = http.createServer...
2024-12-16 19:02:00
559
原创 NodeJs-path模块
path模块提供了操作路径相关的功能// 导入const path = require('path')// 一些常用的api//获取路径分隔符 console.log(path.sep)//拼接绝对路径 console.log(path.resolve(__dirname, 'test'))//解析路径 let pathname = "/Users/a7/Deskt...
2024-12-13 15:54:00
106
原创 NodeJs-fs模块
fs 全称为 file system ,称之为 文件系统 ,是 Node.js 中的 内置模块, fs模块可以实现与硬盘的交互,例如文件的创建、删除、重命名、移动,内容的写入读取等以及文件夹相关操作写入文件异步写入// 导入fs模块const fs = require("fs")// 写入文件// 参数:file:文件名,如果文件不存在会自动创建// data:待写...
2024-12-13 15:44:00
668
原创 NodeJs-Buffer
BufferBuffer(缓冲区)是一个类似于Array的对象,用于表示固定长度的字节序列Buffer 本质是一段内存空间,专门用来处理 二进制数据Buffer 大小固定且无法调整Buffer 性能较好,可以直接对计算机内存进行操作每个元素的大小为 1 字节(byte)创建Buffer使用alloc// 创建一个长度是10字节的Buffer,相当于申请了10字节的内存...
2024-12-12 18:58:00
330
原创 Js-CommonJs模块化&ES6模块化
将程序文件依据一定的规则拆分成多个文件,这种编码方式就是模块化的编码方式拆分出来的每个文件就是一个模块,模块中的数据都是私有的,模块之间互相隔离主流的模块化规范:ES6模块化、CommonJs模块化模块化的核心思想就是:模块直接是隔离的,通过导入和导出的方式进行数据和功能的共享导出:使模块公开其内部的一部分,使这些内容可以被其他模块使用导入:模块引用和使用其他模块导出的内容...
2024-12-06 11:42:00
683
原创 vue3-新增API&组件
创建的状态只在其顶层是响应式的,对所有深层的对象不会做任何处理,避免了对每一个内部属性做响应式所带来的性能成本,这使得属性的访问变得更快,可提升性能。类似,但只作用于对象的顶层属性,只将对象的顶层属性设置为只读,对象内部的嵌套属性仍然是可变的,适用于只需保护对象顶层属性的场景。创建一个浅层响应式对象,只会使对象的最顶层属性变成响应式的,对象内部的嵌套属性则不会变成响应式的。创建一个响应式数据,但只对顶层属性进行响应式处理,只跟踪引用值的变化,不关心值内部的属性变化。用于获取一个响应式对象的原始对象,
2024-11-29 18:45:00
519
原创 vue3-组件通信
自定义事件常用于子组件向父组件传递数据原生事件:特点的click、hover等自定义事件:事件名是任意名称,事件对象$event: 是调用emit时所提供的数据,可以是任意类型在子组件声明自定义事件// 使用defineEmits在子组件声明一个test自定义事件// 参数是一个数组,可以包含多个自定义事件在父组件绑定自定义事件-- 在父组件的子组件标签里面,绑定test事件,触发getInfo回调 -->-- 回调函数在父组件中 -->在子组件触发自定义事件。
2024-11-29 17:00:00
1617
原创 vue3-pinia
可以在一次操作中完成多个状态属性的更新,减少了多次触发状态更新机制的开销,提高效率。存储数据,创建store文件夹,存放store相关代码(和vuex一样)State:用于数据的存储(对象类型数据),是store中唯一数据源。是一个保存:状态、业务逻辑的实体,每个组件都可以读取、写入它。使用actions需要先在Store里面配置actions。中的数据,需要经过处理后再使用时,可以使用。在Store里面写getters配置。然后在组件中直接调用方法进行修改。通过 store 的。使用$patch方法。
2024-11-29 15:15:00
617
原创 vue3-路由Router
主要用于获取当前路由的信息,是一个只读的操作。返回的是一个表示当前路由状态的对象,这个对象包含了如路径(通过点击导航,视觉效果上“消失” 了的路由组件,默认是被卸载掉的,需要的时候再去挂载。当需要实现页面之间的跳转、导航栏的功能或者处理路由相关的操作逻辑时,会用到。将特定的路径,重新定向到已有路由,使用redirect属性。让路由组件更方便的收到参数(可以将路由参数作为。作用:控制路由跳转时操作浏览器历史记录的模式。路由组件(路由规则渲染)通常存放在。给路由起别名,方便跳转引用。声明params占位。
2024-11-29 11:00:00
1731
原创 vue3-setup中使用响应式
本质是一个函数,把setup函数中使用的进行了封装,类似于vue2.x中的mixin。自定义hook的优势:复用代码, 让setup中的逻辑更清楚易懂使用use作为hooks文件名的前缀(非强制,社区惯例)编写hooks文件// 整体hooks逻辑写在一个函数里// 定义响应式数据number(1)// 获取数据// 修改数据// 可以写钩子方法console.log("挂载完毕")})// 可以写计算属性number(() => {})
2024-11-29 10:15:00
802
原创 vue3-setup基本使用(非响应式数据)
可以用函数的方式,更加优雅的组织代码,让相关功能的代码更加有序的组织在一起。Vue3的API设计是Composition(组合式)风格的。函数的方式,能够让组件的逻辑代码更加清晰、易读,可以让我们把。Vue2的AP设计是Options(配置、选项式)风格的。在语法上更加简洁,并且提供了一些额外的便利特性。是一种 “语法糖”。它是一种更简洁的编写组件。上面示例需要写两个script标签,可以使用。插件,只写一个script标签。在 Vue 3 中,编写script标签。
2024-11-28 22:30:00
1062
原创 vue3-使用vite创建项目
Vite项目中,index.html是项目的入口文件,在项目最外层。加载index.html后,Vite解析指向的JavaScript。Vue3中是通过createApp函数创建一个应用实例。
2024-11-28 22:00:00
531
原创 vue2-路由Router
Vue 中的路由用于实现单页应用(SPA)中的页面导航。它允许你在不刷新整个页面的情况下,根据不同的 URL 路径显示不同的组件,提供了类似于多页面应用的用户体验。例如,在一个电商应用中,可以通过路由实现从首页到商品详情页、购物车页和用户个人中心页等不同页面的切换 Vue Router(Vue 官方的路由库)通过监听浏览器的 URL 变化,根据预先定义的路由规则,动态地加载和显示相应的组件。它利用了浏览器的HistoryAPI 或者Hash。
2024-11-28 17:50:18
978
原创 vue2-vuex
专门在 Vue 中实现集中式状态(数据)管理的一个 Vue 插件,对 vue 应 用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信应用场景:多个组件依赖于同一状态、共享数据来自不同组件的行为需要变更同一状态vuexvuex原理每一个 Vuex 应用的核心就是 store,里面又包括:State(状态):用于数据的存储(对...
2024-11-22 16:46:00
907
原创 vue2-代理服务器&插槽
解决跨域问题配置代理服务器代理服务器位于前端应用(客户端)和真实的后端服务器之间。当配置了代理服务器后,前端应用的请求不再直接发送到后端服务器,而是发送到代理服务器。代理服务器在接收到请求后,会根据预先配置的规则将请求转发到真正的后端服务器。例如,在 Vue 项目的开发服务器配置中,如果前端应用的请求路径是以/api开头,代理服务器可以将这个请求转发到http://backend - se...
2024-11-21 18:06:00
968
原创 vue2-脚手架
Vue 脚手架是 Vue 官方提供的标准化开发工具(开发平台)https://cli.vuejs.org/zh/使用脚手架安装脚手架npm install -g @vue/cli使用脚手架创建一个项目vue create vue-demo进入目录启动服务npm run serve脚手架结构├── node_modules ├── public│ ├──...
2024-11-21 13:57:00
800
原创 vue2-组件化编程
模块:向外提供特定功能的js呈现组件:用来实现局部(特定)功能效果的代码集合模块化:当应用中的 js 都以模块来编写的, 那这个应用就是一个模块化的应用组件化:当应用中的功能都是多组件的方式来编写的, 那这个应用就是一个组件化的应用编写组件-非单文件组件非单文件组件:一个文件中包含有n个组件Vue中使用组件的三大步骤:定义组件(创建组件)注册组件使用组件(写组件...
2024-11-18 18:25:00
1084
原创 vue2-基础核心
vue简介vue中文官网动态构建用户界面的渐进式 JavaScript 框架vue的特点:遵循MVVM模式采用组件化模式,提高代码复用率,让代码更好维护声明式编码,无需直接操作DOM,提高开发效率,编码简洁、体积小,运行效率高本身只关注UI,也可以引入其他三方库开发项目使用虚拟DOM+优秀的Diff算法,尽量复用DOM节点环境准备1.导入vue在页面以CDN包的...
2024-11-18 11:55:00
745
原创 ts-装饰器
装饰器是一种特殊的函数,可以对类、方法、属性、参数进行扩展装饰器目前是实验性特性,需要手动调整配置开启装饰器// tsconfig.json文件中,将该行注释打开"experimentalDecorators": true,类装饰器类装饰器是⼀个应⽤在类声明上的函数,可以为类添加额外的功能,或添加额外的逻辑基本使用// 装饰器会在类定义的时候执行// target表示被...
2024-11-07 17:01:00
258
原创 ts-泛型&类型声明文件
泛型泛型允许我们在定义函数、类或接⼝时,使⽤类型参数来表示未指定的类型,这些参数在具体 使⽤时,才被指定具体的类型,泛型能让同⼀段代码适⽤于多种类型,同时仍然保持类型的安全性泛型函数// 设置泛型使用<T>,T是自定义名称,在函数中使用T表示该类型function user<T>(data:T):T{ return data}// 可以设置多个泛...
2024-11-07 13:41:00
191
原创 ts-类和接口
override继承class Info{ name:string age:number constructor(name:string,age:number) { this.name = name this.age = age } info(){ console.log(this.name,this....
2024-11-07 11:53:00
393
原创 ts-类型
TypeScript 由微软开发,是基于 JavaScript 的⼀个扩展语⾔。TypeScript 包含了 JavaScript 的所有内容,即: TypeScript 是 JavaScript 的超集。TypeScript 增加了:静态类型检查、接⼝、 泛型等很多现代开发特性,更适合⼤型项⽬ 的开发。TypeScript 需要编译为 JavaScript ,然后交给浏览器...
2024-11-07 10:15:00
775
转载 Js Bom&定时器、事件循环
BOM:浏览器对象模型BOM为我们提供了一组对象,通过这组对象可以完成对浏览器的各种操作BOM对象:Window —— 代表浏览器窗口(全局对象)Navigator —— 浏览器的对象(可以用来识别浏览器)Location —— 浏览器的地址栏信息History —— 浏览器的历史记录(控制浏览器前进后退)Screen —— 屏幕的信息BOM对象都是作为wi...
2024-11-06 15:30:00
337
原创 Js Dom
DOM,全称Document Object Model,中文翻译为文档对象模型。DOM属于Web API的一部分。Web API中定义了非常多的对象,通过这些对象可以完成对网页的各种操作(添加删除元素、发送请求、操作浏览器等)DOM中的D意为Document,即文档。所谓文档就是指整个网页,换言之,DOM是用来操作网页的。O意为Object,即对象。DOM将网页中的每一部分内容都转换为了...
2024-11-06 11:17:00
621
原创 Js内建对象
数组解构const arr = ["1","2","3"]let a,b,c// 解构赋值//将数组的第一个元素赋值给第一个变量,第二个元素赋值给第二个变量,依次类推[a,b,c] = arrconsole.log(a,b,c) // 1 2 3// 声明变量同时解构let [a,b,c] = ["1","2","3"]console.log(a,b,c) // 1 2 ...
2024-10-31 14:50:00
869
原创 Js数组&高阶函数
数组也是一种复合数据类型,在数组可以存储多个不同类型的数据数组中存储的是有序的数据,数组中的每个数据都有一个唯一的索引可以通过索引来操作获取数据数组中存储的数据叫做元素任何类型的值都可以成为数组中的元素基本操作创建数组// 通过Array创建数组const arr = new Array()// 通过[]创建数组const arr = []数组添加元素// 通过索引...
2024-10-16 18:50:00
383
原创 Js面向对象
程序就是对现实世界的抽象,一个事物抽象到程序中后就变成了对象,在程序的世界中,一切皆对象面向对象的编程指,程序中的所有操作都是通过对象来完成做任何事情之前都需要先找到它的对象,然后通过对象来完成各种操作一个事物通常由两部分组成:数据和功能一个对象由两部分组成:属性和方法事物的数据到了对象中,体现为属性事物的功能到了对象中,体现为方法const user = {...
2024-10-15 16:56:00
971
原创 Js函数
Js中一切都是对象,函数也是一个对象函数的创建声明函数// 创建函数对象function run(){ console.log("Hello World")}// 调用函数run()// 打印函数内容(不调用) console.log(run)// 函数类型 console.log(typeof run) // function函数表达式// 函数表达...
2024-10-14 16:18:00
948
原创 Js对象
对象对象是JS中的一种复合数据类型,它相当于一个容器,在对象中可以存储各种不同类型数据,原始值只能用来表示一些简单的数据,不能表示复杂数据,对象中存储的数据,称之为属性// 创建对象let user = Object()// 存储属性user.name = "li"user.age = 18// 修改属性user.name = "qi"// 删除属性delete ...
2024-09-30 16:06:00
460
原创 Js流程控制
代码块使用{}创建代码块,代码块可以对代码进行分组{ let a = 10 console.log("代码块1",a) // 10 }{ let a = 20 console.log("代码块2",a) // 20}{ var b = 30}{ console.log("代码块3",b) // 30}let声明...
2024-09-30 14:41:00
391
原创 Js运算符(操作符)
算数运算符a = 1 + 1 // 2a = 10 - 5 // 5a = 10 / 5 // 2a = 10 / 0 // js中除以0不会报错,结果是Infinitya = 2*2 // 4a = 2**2 // a = 10 % 4 // 取余,2js中算数运算,除了字符串的加法,会自动将非数值转换为int进行计算,不像其他语言会报错a = 10 + true // 1...
2024-09-30 13:29:00
502
原创 JS数据类型&类型转换
基本数据类型JS中的数据类型由原始值和对象共同组成,原始值一共有七种原始值:数值(Number)大整数(BigInt)字符串(String)布尔值(Boolean)空值(Null)未定义(Undefined)符号(Symbol)数值和大整数数值(Number):在js中所有的整数和浮点数都是number类型let a = 3let b = 3.1415926在j...
2024-09-27 17:37:00
833
原创 Js基础
JS编写位置将代码编写在html网页script标签<script> // 弹出 alert("test") // 控制台输出日志 console.log("hello world") // 向网页输入内容,即往body中写内容 document.write("write content")</script>将代码...
2024-09-24 17:32:00
537
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人