- 博客(23)
- 收藏
- 关注
原创 前端设计模式总结
HTTP 是无状态的协议(对于事务处理没有记忆能力,每次客户端和服务端会话完成时,服务端不会保存任何会话信息):每个请求都是完全独立的,服务端无法确认当前访问者的身份信息,无法分辨上一次的请求发送者和这一次的发送者是不是同一个人。所以服务器与浏览器为了进行会话跟踪(知道是谁在访问我),就必须主动的去维护一个状态,这个状态用于告知服务端前后两个请求是否来自同一浏览器。而这个状态需要通过 cookie 或者 session 去实现。
2024-03-03 12:28:27
832
原创 git仓库工具类总结
在学习 cmd 与 bash 之前,让我们先了解它们的相关背景,从而更好的认识以及学习它们。首先,在说 cmd 之前,我们要先说一个操作系统 “DOS(Disk Operating System)”即“磁盘操作系统”。
2024-03-03 12:24:52
640
原创 前端专题技术总结3
为了更好的利用这些日志数据我们开发了中间层自己的监控系统,通过对ES集群中日志的查询分析,获取中间层服务的QPS趋势、延迟时间、错误率、接口访问排名、各机房访问占比、Node进程的内存CPU使用状况等中间层状态,将这些状态按时间生成图文报表,只需要查看这些图文报表就可以获取中间层详细的运行数据。在前端调用视频接口的时候,不同的团队的视频信息有不同的字段定义,导致以前的调用方式中存在很多的数据处理工具函数去兼容,对视频数据进行二次处理,导致数据的处理多种多样,同样的组件可能由于字段名问题无法复用。
2024-03-03 12:24:02
762
原创 前端专题技术总结2
Service Worker 是 Chrome 团队提出和力推的一个 WEB API,用于给 web 应用提供高级的可持续的后台处理能力。Service Workers 就像介于服务器和网页之间的拦截器,能够拦截进出的HTTP 请求,从而完全控制你的网站。最主要的特点在页面中注册并安装成功后,运行于浏览器后台,不受页面刷新的影响,可以监听和截拦作用域范围内所有页面的 HTTP 请求。网站必须使用 HTTPS。除了使用本地开发环境调试时(如域名使用 localhost)
2024-03-03 12:23:16
746
原创 前端专题技术总结
1 端到端端到端流程是从客户需求端出发,到满足客户需求端去,提供端到端服务,端到端的输入端是市场,输出端也是市场。这个端到端必须非常快捷,非常有效,中间没有水库,没有三峡,流程很顺畅。如果达到这么快速的服务,降低了人工成本,降低了财务成本,降低了管理成本,也就是降低了运作成本。其实,端到端的改革就是进行内部最简单的最科学的管理体系的改革,形成一支最精简的队伍。端到端的流程连起来的不只是两个紧邻部门,而是若干部门,是某个业务的全程闭环(businesscycle)。这个端到端的流程,从分析客户需求开始,到
2024-03-03 12:21:44
2052
原创 SEO优化总结
SEO是搜索引擎优化(Search Engine Optimization)的英文缩写,意指在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多的流量,从而达成网站销售以及品牌建设的预期目标.
2024-03-03 12:20:20
867
原创 前端编译打包、搭建相关
1、将war包放到tomcat的webapps目录下;2、tomcat检测到war包后自动部署,并将其解压到webapps目录下的对应文件夹;3、启动tomcat,访问http://localhost:port/
2024-03-03 12:18:51
876
原创 微前端实践
而定制化中的改造现有模块也可以比较好地实现:比如说某个标准版的页面中需要增加一个面板,则可以通过一个新的微前端工程,同样响应该页面的 URL(当然要控制好顺序),在页面的恰当位置插入一个新的 DOM 节点即可。在协作上,我们在全国有三个地方的前端团队,这么多人在同一个工程里开发,遭遇代码冲突的概率会很频繁,而且冲突的影响面比较大。微前端则会有一个加载器,作为单一入口接收所有页面 URL 的访问,根据页面 URL 与微前端的匹配关系,选择加载对应的微前端,由该微前端进行进行路由响应 URL。
2024-03-03 12:17:31
628
原创 JS技术总结2
从上图可以看到,使用create创建的对象,没有任何属性,显示No properties,我们可以把它当作一个非常纯净的map来使用,我们可以自己定义hasOwnProperty、toString方法,不管是有意还是不小心,我们完全不必担心会将原型链上的同名方法覆盖掉。基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰更像面向对象编程的语法而已。arg为指定对象,新对象的原型指向指定对象,继承指定对象。
2024-03-02 16:09:09
894
原创 vue相关技术总结
一个组件上的 v-model 默认会利用名为 value 的 prop 和名为 input 的事件,但是像单选框、复选框等类型的输入控件可能会将 value 特性用于不同的目的。model 选项可以用来避免这样的冲突:告知vue底层该组件监听checked属性的change事件。这里的 lovingVue 的值将会传入这个名为 checked 的 prop。同时当 <base-checkbox> 触发一个 change 事件并附带一个新的值的时候,这个 lovingVue 的属性将会被更新。
2024-03-02 16:07:41
410
原创 HTML相关前端知识
在默认情况下,一般来讲,移动设备上的viewport都是要大于浏览器可视区域的,这是因为考虑到移动设备的分辨率相对于桌面电脑来说都比较小,所以为了能在移动设备上正常显示那些传统的为桌面浏览器设计的网站,移动设备上的浏览器都会把自己默认的viewport设为980px或1024px(也可能是其它值,这个是由设备自己决定的),但带来的后果就是浏览器会出现横向滚动条,因为浏览器可视区域的宽度是比这个默认的viewport的宽度要小的。下图列出了一些设备上浏览器的默认viewport的宽度。
2024-03-02 16:02:42
618
原创 斗鱼相关直播技术
这篇文章介绍了斗鱼 H5 直播技术的原理,斗鱼不仅使用国内常用的 HTTP-FLV 方案,还加入了 P2P 拉流,从而节省 CDN 流量。对于赛事直播,斗鱼还支持直播时移,直播时移是使用 HLS 来实现的,用户在 seek 后会通过 seek 到的时间点去服务器换取对应的时移 HLS 流地址,然后走 HLS 拉流即可。
2024-03-02 16:01:39
843
原创 搭建vue3项目遇到问题
提示没有安装python、build失败,假如拉取binding.node失败,node-sass会尝试在本地编译binding.node,过程就需要python。node-sass除了npm部分的代码,还会下载二进制文件binding.node,默认源是github,国内访问较慢,特殊时期甚至无法访问。typescript 3.9.3版本问题,更新为typecript4.3.5版本解决。node版本与node-sass版本不兼容。缓存中binding.node版本不一致。删掉node_modules;
2024-03-02 15:53:05
1243
原创 tts文字转语音,语音转文字,人脸识别
先调用webRTC的getUserMediaStream获取音频流,用这个流初始化一个mediaNode,把它connect连接到一个jsNode,在jsNode的process回调里面不断地获取到录音的数据,停止录音后,把这些数据合并换算成16位的整型数据,并写入wav头部信息生成一个wav音频文件的内存buffer,把这个buffer封装成Blob文件,生成一个url,就能够在本地播放,或者是借助FormData进行上传。他有几个对开发人员可见的属性,包括音频时长,声道数量和采样率。
2024-03-02 15:52:19
1165
原创 js面试总结
浏览器的Event Loop和NodeJS的Event Loop是不同的,实现机制也不一样,不要混为一谈。浏览器可以理解成只有1个宏任务队列和1个微任务队列,先执行全局Script代码,执行完同步代码调用栈清空后,从微任务队列中依次取出所有的任务放入调用栈执行,微任务队列清空后,从宏任务队列中只取位于队首的任务放入调用栈执行,注意这里和Node的区别,只取一个,然后继续执行微队列中的所有任务,再去宏队列取一个,以此构成事件循环。
2024-03-02 15:50:32
736
原创 Vue面试题总结
JavaScript中的对象是引用类型的数据,当多个实例引用同一个对象时,只要一个实例对这个对象进行操作,其他实例中的数据也会发生变化。而在Vue中,我们更多的是想要复用组件,那就需要每个组件都有自己的数据,这样组件之间才不会相互干扰。所以组件的数据不能写成对象的形式,而是要写成函数的形式。数据以函数返回值的形式定义,这样当我们每次复用组件的时候,就会返回一个新的data,也就是说每个组件都有自己的私有数据空间,它们各自维护自己的数据,不会干扰其他组件的正常运行。数据是不是可变的。
2024-03-02 15:49:25
958
原创 react面试题
hooks是针对在使用react时存在以下问题而产生的:组件之间复用状态逻辑很难,在hooks之前,实现组件复用,一般采用高阶组件和 Render Props,它们本质是将复用逻辑提升到父组件中,很容易产生很多包装组件,带来嵌套地域。组件逻辑变得越来越复杂,尤其是生命周期函数中常常包含一些不相关的逻辑,完全不相关的代码却在同一个方法中组合在一起。如此很容易产生 bug,并且导致逻辑不一致。
2024-03-02 15:47:20
1619
原创 前端优化总结
就是说相同质量的图片,WebP具有更小的文件体积。module.exports = { module: { rules: [ { // js 文件才使用 babel test: /\.js$/, loader: 'babel-loader', // 只在 src 文件夹下查找 include: [resolve('src')], // 不会去查找的路径 exclude: /node_modules/ } ] } } 复制代码。文件小,是GIF格式的优点,同时,GIF格式还具有支持动画以及透明的优点。
2024-03-02 15:46:02
1320
原创 浏览器原理总结
一、浏览器安全1. 什么是 XSS 攻击?(1)概念XSS 攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如 cookie 等。XSS 的本质是因为网站没有对恶意代码进行过滤,与正常的代码混合在一起了,浏览器没有办法分辨哪些脚本是可信的,从而导致了恶意代码的执行。攻击者可以通过这种攻击方式可以进行以下操作:●获取页面的数据,如DOM、cookie、localStorage;●DOS攻击,发送合理请求,占用服务
2024-03-02 15:44:25
917
原创 css3总结
以 iPhone XS 为例,当写 CSS 代码时,针对于单位 px,其宽度为 414px & 896px,也就是说当赋予一个 DIV元素宽度为 414px,这个 DIV 就会填满手机的宽度;而如果有一把尺子来实际测量这部手机的物理像素,实际为 1242*2688 物理像素;经过计算可知,1242/414=3,也就是说,在单边上,一个逻辑像素=3个物理像素,就说这个屏幕的像素密度为 3,也就是常说的 3 倍屏。
2024-03-02 15:42:23
1053
原创 Html总结1
不同的渲染模式会影响浏览器对 CSS 代码甚⾄ JavaScript 脚本的解析。它必须声明在HTML⽂档的第⼀⾏。浏览器渲染页面的两种模式(可通过document.compatMode获取,比如,语雀官网的文档类型是。
2024-03-02 15:40:51
639
原创 js常用数组方法总结
官方推荐方法(替换方法):用every和some替代forEach函数。every在碰到return false的时候,中止循环。这就是浅拷贝的限制所在了。如果有对象的嵌套,那么浅拷贝将无能为力。但幸运的是,深拷贝就是为了解决这个问题而生的,它能 解决无限极的对象嵌套问题,实现彻底的拷贝。一个函数就可以接收另一个函数作为参数或者返回值为一个函数,这种函数就称之为高阶函数。在forEach中用return不会返回,函数会继续执行。console.log("不存在");console.log("存在");
2024-03-02 15:39:03
402
操作系统平台项目代码生成器
2024-03-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人