- 博客(18)
- 收藏
- 关注
原创 获取流式输出内容示例(react)
实现一个能够通过流式API获取AI生成内容的页面,包含了加载状态显示、内容实时更新等功能,并采用了简洁现代的UI设计。内容会随着API响应逐步显示,直到完成后自动结束加载状态。
2025-03-18 14:31:49
279
转载 常见 web 安全问题总结
1、SQL 注入SQL注入攻击的核心在于让Web服务器执行攻击者期望的SQL语句,以便得到数据库中的感兴趣的数据或对数据库进行读取、修改、删除、插入等操作,达到其邪恶的目的。而如何让Web服务器执行攻击者的SQL语句呢?SQL注入的常规套路在于将SQL语句放置于Form表单或请求参数之中提交到后端服务器,后端服务器如果未做输入安全校验,直接将变量取出进行数据库查询,则极易中招。举例如下:对于一个根据用户ID获取用户信息的接口,后端的SQL语句一般是这样:selectname,[..
2021-10-30 12:44:15
435
转载 npm & yarn 包管理机制
背景使用 npm 或 yarn 管理项目依赖时,可能会产生以下疑问:项目依赖出现问题怎么办?删了重装,即先删除 node_modules 再重新 install,那这样的操作会不会存在风险? 把所有依赖都安装到 dependencies 中,不区分 devDependencies 会有问题吗? 我们的应用依赖了 pkg-a 和 pkg-b,同时 pkg-a 也依赖了 pkg-b,那么 pkg-b 会被多次安装或重复打包吗? 一个项目中,我使用 npm 别人使用 yarn,这会引发什么问题?
2021-09-16 10:32:15
504
转载 几种垃圾回收算法
垃圾回收GC的全拼是 Garbage Collection 其在维基百科的定义是: 在计算机科学中,垃圾回收(英语:Garbage Collection,缩写为GC)是一种自动的内存管理机制。当一个电脑上的动态内存不再需要时,就应该予以释放,以让出内存,这种内存资源管理,称为垃圾回收(garbage collection)垃圾回收算法有多种,先看看几个评价垃圾回收算法性能的几个方面,再具体看看各种算法的优缺点吞吐量 throughput 最大暂停时间 堆使用效率 访问的局部性一、 标记-清除
2021-08-28 14:44:58
905
转载 实现一个完美符合Promise/A+规范的Promise
简要介绍:Promise允许我们通过链式调用的方式来解决“回调地狱”的问题,特别是在异步过程中,通过Promise可以保证代码的整洁性和可读性。本文主要解读Promise/A+规范,并在此规范的基础上,自己实现一个Promise.一、Promise的使用在了解Promise规范之前,我们知道主流的高版本浏览器已经支持ECMA中的Promise.创建一个promise实例:var p=new Promise(function(resolve,reject){ setT...
2021-08-28 09:56:16
254
原创 重汇与回流
比如我们增删DOM节点,修改一个元素的宽高,页面布局发生变化,DOM树结构发生变化,那么肯定要重新构建DOM树,而DOM树与渲染树是紧密相连的,DOM树构建完,渲染树也会随之对页面进行再次渲染,这个过程就叫回流。当你给一个元素更换颜色,这样的行为是不会影响页面布局的,DOM树不会变化,但颜色变了,渲染树得重新渲染页面,这就是重汇。重汇与回流的区别:结合上面的解释,引起DOM树结构变化,页面布局变化的行为叫回流,且回流一定伴随重绘。只是样式的变化,不会引起DOM树变化,页面布局变化的行
2021-08-24 19:36:01
904
原创 computed 和 watch 的区别是什么?
当我们需要从data的数据中,经过一系列的操作,得到一条新数据,同时不改变data中的原数据时,可以使用computed 计算属性,watch一般用于侦听data或props数据的变化 只要是computed能完成的功能,watch就可以完成;watch能完成的,computed不一定能完成 computed不支持异步,无法监听异步操作数据的变化;watch可以进行异步操纵 computed支持缓存,只有依赖数据发生改变,才会重新进行计算; watch不支持缓存,数据变,直接会触发相应的操作 c..
2021-08-24 19:27:12
239
转载 关于Vue v-for中的:key作用
之前项目有个功能,数据间有三层关系,通过3个 v-for实现,渲染页面元素的时候,出现错乱的情况,有点抓瞎。感觉和虚拟DOM有点关系,重新研究VUE 官方文档,同时参考网上内容,整理如下:其实不只是vue、react中在执行列表渲染时也会要求给每个组件添加上key这个属性。要解释key的作用,不得不先介绍一下虚拟DOM的Diff算法了。我们知道,vue和react都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面。而隐藏在背后的原理便是其高效的Diff算法。
2021-08-24 19:04:30
127
原创 贪吃蛇小游戏
<!doctype html><html><body><!-- Canvas 画布 --><canvas id="can" width="400" height="400" style="background:Black"></canvas><script>var snake = [42], //初始化位置dz = 43, //食物fx = 1,n,ctx = document..
2021-07-20 09:42:57
362
1
原创 如何使用Vue实现模糊搜索实例:
<body> <div id="root"> <input type="text" placeholder="请输入要查询的姓名" v-model="keyWord"> <ul> <li v-for="(value,index) in filPersons" :key="value.id"> {{value.name}}-{{value.age}} </li>...
2021-07-20 09:39:03
350
原创 函数防抖与函数节流
函数防抖(debounce)概念:就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。简单的说,当一个动作连续触发,则只执行最后一次。常见实用场景,有滚动加载、搜索框输入、窗口大小拖拽 Resize。函数防抖的应用场景(连续的事件,只需触发一次回调):搜索框搜索输入。只需用户最后一次输入完,再发送请求 手机号、邮箱验证输入检测 窗口大小Resize。只需窗口调整完成后,计算窗口大小。防止重复渲染。为什么需要函数防抖: 前端开
2021-07-09 11:32:01
122
原创 this的几种使用场景
1、全局中的this当this不在任何函数内部时,this始终是指向全局对象说明:在浏览器中,全局对象是window 在Nodejs中,全局对象是Global例:console.log(this)2、普通函数中的this普通函数,指的是直接通过函数名()调用的函数,都是普通函数普通函数中的this,始终指向全局对象;例function fn(){console,log(this)}const bar=function(){console,l..
2021-07-07 20:10:18
1958
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人