自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个前端小菜菜的博客,四五年的经验,熟悉vue,react,nuxt,微信小程序,Uniapp。

一个前端小菜菜的博客,四五年的经验,熟悉vue,react,nuxt,微信小程序,Uniapp。

  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 什么是前端宏任务,什么又是前端微任务呢?一文读懂前端微任务宏任务。

需要注意的是,微任务具有高优先级,并且可以在同一宏任务中添加多个微任务,它们会在当前宏任务执行完毕后立即执行。而宏任务的执行时机是在当前宏任务执行完毕后,从宏任务队列中取出下一个宏任务执行。一旦宏任务执行完成,事件循环会立即检查微任务队列,并按照添加的顺序执行其中的微任务,直到微任务队列为空。在一个宏任务中,可能会产生多个微任务。这些微任务会被按照顺序添加到微任务队列中,等待宏任务执行完毕后依次执行。在前端中,宏任务和微任务是异步任务的两种不同类型。也就是说可以理解为一个宏任务包含了多个微任务。

2023-05-18 19:59:00 824 7

原创 浅谈前端路由原理,VueRouter原理和ReactRouter原理

浅谈Vue和React路由的原理简述Hash模式(Vue/React)History模式(Vue/React)要养成好习惯。先关注点赞收藏再进行观看哦简述其实Vue和React在很多地方,底层原理和语法上差别并不是很大。底层原理更多的是相同的。就比如说React有JSX,Vue有Template。其实就可以理解成一个东西,就是写法不同。当然我们今天说的React的路由和Vue的路由也是一样。底层原理其实也差不多。Hash模式(Vue/React)其实前端路由真的简单谈谈原理的话并不难,

2021-11-04 10:50:46 695 1

原创 python使用openai做个简单的大模型对话转发服务

【代码】python使用openai做个简单的大模型对话转发服务。

2024-06-18 09:16:15 172

原创 仙宫云自部署Ollama+openwebUI,一套代码享受多套LLM大模型

不过若是机器性能不是很强的话建议公网访问,毕竟open webUI可以同时调用多个LLM大模型。因为我这里用的是docker容器服务器,所以我这里展示的是非docker的安装方式。甚至还可以将其与stable diffusion 进行联动,实现一句话画一张图。例如:通义千问,deepseek,gemma,llama,yi等大模型。抱歉我给忘了,第一次启动要在抱脸上下载文件,然后得先启动加速。安装open webUI的python依赖。11434可以换成其他的,自己定义。如果安装不动,可更换npm镜像源。

2024-05-16 18:02:11 570 1

原创 MaxKB宝塔Docker安装并配置域名访问

在宝塔面板中打开SSH或者你本地使用SSH工具去链接服务器。对于一些海外AI产品的对接需要使用香港或者海外的服务器。这时我们可以看到docker容器中是有这个容器的。若不使用域名访问记得把服务器的防火墙打开。至于添加LLM模型去参考官方文档就行啦。前提是放开服务器的8080端口。服务器环境配置最好是4G+,这时我们可以设置域名访问了。默认环境LNMP随便装。占用硬盘存储大概1G。运行docker命令。直接设置纯静态就行了。

2024-05-05 05:53:23 932 1

原创 fastify关于env变量的使用

最近在玩fastify这个node框架,说实话相对比egg或者是express-cli我更喜欢koa或者fastify这种纯手工搭建的框架。因为其具备更高的可配置性,扩展性,自由性。今天给大家伙儿出一个env环境变量的配置吧,自己写的哈,可能有点菜。但是不喜勿喷,有建议尽管提。虚心学习我这个template的代码已经上传到gitee了,有兴趣的可以去下载下来看看或者是直接使用。

2024-04-28 14:22:01 311 3

原创 TypeScript笔记

函数返回值类型为number,参数类型为number。

2023-05-30 17:04:42 1546 20

原创 自生成keystore证书查看证书的MD5,SHA1,SHA256信息

查看自生成keystore证书的指纹信息(MD5,SHA1,SHA256)

2023-05-25 16:46:43 1248

原创 懒人脚本一键部署一个chatglm-6b模型,基于腾讯云

ChatGLM-6B 是清华大学开发的一个开源语言模型,它基于最先进的技术构建,提供了强大的自然语言处理能力。为了方便用户安装和使用 ChatGLM-6B,我提供了一个自动化安装脚本,它简化了安装过程,让您能够快速搭建环境并开始使用 ChatGLM-6B。当前脚本仅在腾讯云海外的GPU服务器上进行过实践,系统为Ubuntu 20。

2023-05-23 18:44:56 1276 1

原创 手撕Promise【带注释详解】

【代码】手撕Promise【带注释详解】

2023-05-19 10:30:29 94

原创 fastify使用exceljs

fastify是nodejs的一个服务端框架,此框架对于一些代码风格freestyle的人来说是非常舒服的。它并不会卡死你的代码结构,想怎么写就怎么写。在fastify中使用exceljs其实也还是有坑的,我们先写一下食用教程。当然,我也就不写注册路由啥的了哈,直接写一下路由绑定的函数,不懂得看我前面其他的关于fastify的教程。

2023-05-18 14:30:00 119

原创 使用fastify创建websocket连接,ws协议

info是该websocket的详细信息,next是一个回调函数,接受两个参数,true和false,传true的话则会执行后面注册的监听函数。cors是允许跨域的开关,参数为true 和false,如果你没有跨域可以不用写这个参数。port是监听的端口,host传递0.0.0.0表示允许公网访问。options中还有一些其他的参数配置。我这里是将监听的函数进行提取了。

2023-05-15 13:57:26 595 1

原创 使用fastify搭建项目

fastify的项目搭建

2023-05-10 13:43:44 259

原创 Nuxt中使用axios并设置代理

Nuxt配置axios代理

2023-05-08 10:20:08 637

原创 Nuxt解析markdown字符串生成HTML

nuxt解析markdown文档

2023-05-08 10:02:03 376

原创 Stable diffusion一键安装

stable Diffusion在Ubuntu系统上一键安装脚本

2023-04-23 15:50:39 823 2

原创 前端同一顶级域名下的多个二级域名cookie共享

那么此时此条cookie可以在绑定了ericzhang528.com的任何二级域,三级域的站点下进行访问了。我们平常使用cookie的话更多的是存储在当前域名下。也并不会去设置cookie的某些域。也就是如图所示的Domain中的字段,是添加到Domain里的。此时我将我本地的环境的自定义域名改成顶级域后也是可以访问的。那么我们想要添加到顶级域的话则还需要添加一个字段配置项。想我们如下写法的话cookie是默认添加到当前域的。那么此时的cookie存储域就放到了顶级域下面。其实cookie是带域的。

2023-02-18 10:19:42 1109

原创 vite搭建vue3项目本地环境自定义域名及端口配置

此时我们可以打开我们的vite创建的项目了,打开vite.config.js,直接输入如下配置即可,运行项目即可达到自定义域名的一个目的了。

2023-02-17 20:34:54 4447 13

原创 uniapp拖拽悬浮球与页面滚动冲突

直接给悬浮球的事件添加阻止默认行为和阻止冒泡的修饰符就行了。关于uniapp拖拽悬浮球和页面滚动冲突的解决方案,其实主要原因是点击悬浮球时相当于点击到了页面上。拖拽时触发了默认的页面滚动事件。

2023-02-11 09:57:11 436

原创 Vue2.x两种方式书写v-model组件来进行组件双向绑定

最后添加model属性来允许自定义组件使用v-model,虽然平时我们用到的时候可能不知道,也就不知道会调用到它,那是因为它被设置了默认值。而有的时候,我们则需要主动去调用它来自定义model的prop和event。来达到自定义v-model的目的。当然如果不想用input方法也可以用watch来监听inpu框的值来达到这个目的,这样就释放掉原本的input方法了。当然这个props属性你随便自定义,我这里就用value了。下文是官方的对于此api的描述。首先添加props属性,下面是此方式的完整代码。

2023-02-10 11:58:10 938

原创 Uniapp分环境打包+自动修改manifest.json(HbuilderX创建)

manifest自动修改,uniapp分环境打包,uniapp多appid配置

2023-02-03 20:59:24 1589

原创 nodejs与mongodb的增删改查

可以使用find()来查找数据,find()可以返回匹配条件的所有数据。如果未指定条件,find()返回集合中的所有数据。在MongoDB中创建一个数据库并进行链接,如数据库不存在,MongoDB将创建数据库并建立连接。与MySQL不同的是MongoDB会自动创建数据库和集合,所以使用前我们不需要手动去创建。如果要更新所有符合条的文档数据可以使用 updateMany()插入一条数据可以使用insertOne()函数实现。若要插入多条数据可以使用insertMany();从输出结果来看,数据已插入成功。

2023-01-09 14:18:07 246

转载 Nuxt中使用sass

nuxt直接使用npm i -D sass-loader sass安装sass-loader和sass后报错问题。Rule can only have one resource source (provided resource and test + include + exclude)若报此错误则表明sass和sass-loader的版本过高可使用以下版本进行安装。目前测试nuxt版本^2.15.8无问题。

2023-01-04 17:41:59 580

原创 axios在vue中的二次封装

在企业级的 Vue 开发中,axios 插件的使用频率很高,每次请求都需要进行一些常见的操作,比如传递请求头、传递 Cookie、在请求头中传递登录信息等。如果不对 axios 进行进一步封装,就需要重复编写添加请求头和传递特殊数据的代码,这样非常浪费时间。同时,HTTP 请求可以分为请求头和响应头,在 axios 中两者都可以添加进一步的操作和拦截。我们的封装就是处理这些操作的。在日常的企业级开发中,通常会将 axios 的函数进行封装,提取为一个函数,以进行一些统一的操作。首先,我们创建一个名为。

2022-12-18 23:14:33 413

原创 页面中的黑白滤镜css3,filter属性

属性值的作用是将图像转换为灰度图像。值在 0% 到 100% 之间则是线性乘子效果。需要注意的是,旧版的 Internet Explorer 浏览器(4.0 到 8.0 版本)所支持的非标准 “filter” 属性已经被废弃。当我们在日常开发中遇到一些特殊节日时,可能会需要使用一些滤镜效果。不同的属性值可以实现不同的效果。如果需要更详细的信息,建议查阅官方文档。其他属性值可以参考 W3C 的官方文档,那里的解释比我更详细,更准确。根据需求给需要应用滤镜的元素添加相应的属性,当然也可以应用在。

2022-12-02 22:55:27 524

原创 我的日常小菜之react中ant design table组件fiexd失效

添加scroll属性,并设置x,y的值,x,y的值可以为纯数字也可以为百分数字符串。今日一坑,ant design table组件fiexd失效,width失效。由于刚转react有很多东西不熟悉,没少踩坑。开一个系列,日常开发踩到的坑扔到这里。fiexd失效width失效的情况。希望对各位新手能有所帮助。

2022-08-25 14:18:00 720

转载 win10 go1.18.*安装beego和bee遇到的问题

win10 go1.18.1安装beego和bee遇到的问题

2022-07-30 01:07:28 1370

原创 Javascript常见面试题

在ES6中新增的定义变量的关键字let和,会带来一个暂时性死区的问题,暂时性死区简单来讲就是变量未定义就调用了。在ES6中和定义变量是没有变量提升这一功能的。所以才会造成暂时性死区这个问题。在ES5中定义变量的关键字会将变量名称全部提升到代码最前面将变量名进行行定义,再进行赋值。let和const的区别是定义变量的,而是定义常量的。定义的常量如果是基本类型,值是不可以改变的。如果定义的是引用类型,那么引用类型中的值是看以改变的,只要堆地址不改变就行。那么这里又涉及到了堆和栈。堆和栈其实只是内存存储数据的

2022-06-21 10:02:25 147

原创 三篇笔记入门nuxt——nuxt中的vuex

本文仅仅为笔者笔记,且本文针对拥有vue的基础的人群,若无vue基础请勿喷谢谢。vuex的使用storedemo.jsdemo.jsexport const state = () => ( { key: 'value' })// mutations的使用export const mutations = { add(state, playload) { state.key = playload; }}// actions的使用export

2022-05-27 14:05:01 352

原创 三篇笔记入门nuxt——请求数据

本文仅仅为笔者笔记,且本文针对拥有vue的基础的人群,若无vue基础请勿喷谢谢。请求数据demo:export default { async asyncData({ $axios, params, error }) { try { const res = await $axios.$get("url") return { res } } catch (e) { error({ statusCode: 404, message: 'Not fou

2022-05-27 14:04:16 558

原创 三篇笔记入门nuxt——路由和视图

本文仅仅为笔者笔记,且本文针对拥有vue的基础的人群,若无vue基础请勿喷谢谢。安装$ npx create-nuxt-app <项目名称>$ npm run dev使用路由在pages目录下建立新的目录或者vue文件会生成新的路由并自动添加到 .nuxt 目录下的router.js中,并进行引用若在pages/目录 内创建多个vue文件以index.vue为一级路由,其他命名的为当前目录的子路由跳转在vue文件中直接书写 a 标签进行跳转的话会刷新当前页面若不需要刷新需

2022-05-27 14:03:07 476

原创 记一次el-select远程搜索默认数据回显问题

el-select远程搜索的数据初始化的问题解决方案

2022-05-27 13:59:06 4503

原创 Element-ui 表单校验二次封装

Element-ui 表单校验二次封装说明Params说明本封装仅仅是将一些校验规则进行循环使用,避免多次重复书写而封装的若有更好用的封装请各位大佬艾特我,我必紧紧跟随学习,追随大佬的脚步若有更好的思路请留言,感谢ParamsSmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:querytypedefaultdescrequiredBoolean默认为false是否必传triggerString默认为blur触发事件

2021-06-23 10:17:48 553

原创 Vue图片裁剪vue-cropper和el-upload结合

Vue图片裁剪vue-cropper和el-upload结合安装vue-cropper引入vue-cropper应用2021-03-09vue中遇到图片裁剪和el-upload结合,未接触过记录下写法及应用安装vue-croppernpm i vue-cropper -S引入vue-cropperimport VueCropper from 'vue-cropper'Vue.use(VueCropper)应用需要将element-ui中的以下属性做出修改auto-uploadact

2021-03-09 00:24:44 1705

原创 JavaScript面试常问点(三)

防抖节流防抖节流其实简单来说就是限制请求和函数的执行频率,让其在非常短的时间内达到只执行一次的目的,避免重复操作来浪费资源。常见的就是使用定时器和时间戳来进行一个处理。http与htpps概念HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是S

2020-11-13 15:53:10 69

原创 预处理器之Sass基础

sass使用变量SASS允许使用变量,所有变量以$开头。  $blue : #1875e7;   div {   color : $blue;  }如果变量需要镶嵌在字符串之中,就必须需要写在#{}之中。  $side : left;  .rounded {    border-#{$side}-radius: 5px;  } 计算功能SASS允许在代码中使用算式:  body {    margin: (14px/2);    top: 50px + 100px; 

2020-06-29 10:04:19 366

原创 预处理器之Less基础

less基本知识总结一款比较流行的预处理CSS,支持变量、混合、函数、嵌套、循环等特点官网中文网http://www.w3cplus.com/css/less概要(1)为什么要有预处理CSSCSS基本上是设计师的工具,不是程序员的工具。在程序员的眼里,CSS是很头痛的事情,它并不像其它程序语言,比如说PHP、Javascript等等,有自己的变量、常量、条件语句以及一些编程语法,只是一行行单纯的属性描述,写起来相当的费事,而且代码难易组织和维护。很自然的,有人就开始在想,能不

2020-06-29 10:01:01 207

原创 JavaScript面试常问点(二)

Promise消除回调地狱方法一:/*需要借助Promise来消除回调嵌套 链式调用*/let promiseAjax = function(json) { return new Promise((resolve, reject) => { $.ajax({ url: json.url, dataType: json.dataType, type: 'json',

2020-06-22 17:21:08 173

原创 JavaScript面试常问点(一)

js暂时性死区在ES6中新增的定义变量的关键字let和const,会带来一个暂时性死区的问题,暂时性死区简单来讲就是变量未定义就调用了。在ES6中let和const定义变量是没有变量提升这一功能的。所以才会造成暂时性死区这个问题。在ES5中定义变量的关键字var会将变量名称全部提升到代码最前面将变量名进行行定义,再进行赋值。// 相当于将一行定义变量的代码分成了两行执行var a = 1; ↓var a; // 在js的最顶部a = 1;let和const的区别let是定义变量的

2020-06-22 16:20:16 466

原创 Vue常见面试题

对于Vue是一套渐进式框架的理解渐进式代表的含义是:主张最少。Vue是渐进的,没有强主张,你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用;也可以整个用它全家桶开发,当Angular用;还可以用它的视图,搭配你自己设计的整个下层用。你可以在底层数据逻辑的地方用OO和设计模式的那套理念,也可以函数式,都可以,它只是个轻量视图而已,只做了自己该做的事,没有做不该做的事,仅此而已。vue的两个核心数据驱动视图和组件化开发vue的生命周期和生命周期函数创建:beforeCreate 和

2020-06-18 17:26:16 618 2

MyPromise.js

重新封装的promise,每一行都有注释详解,并且做了少量的特殊情况处理。

2023-05-19

validateClass.js

elementui表单校验二次封装包

2021-08-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除