自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 用TS爆改祖传代码

在现代软件开发中,随着的流行,许多开发者纷纷将其应用于他们的项目中,以获得更好的类型安全和更清晰的代码结构。然而,对于那些已经有了一套传统的代码库,想要迁移到TypeScript并不总是一件容易的事情。在这篇文章中,我们将探讨如何使用 TS 爆改祖传代码,重点介绍利用YAPI生成TypeScript类型文件的方法。

2024-02-28 10:41:05 912

原创 性能优化——canvas 加载海量图

由于本次优化时间较短且中途方案有所改动,所以有很多待优化的点,不过就现在画板列表的性能表现来看已经流畅了许多,我们的目的已经达到了。

2024-02-23 11:24:55 1741

原创 小程序性能优化

经过此次对小程序的优化,之前在[We分析](https://wedata.weixin.qq.com/mp2/login)平台上看到的页面,已经没有他们的身影,至此优化结束,所以当各位遇到小程序性能问题时,可以按照以上的流程走一遍。

2024-02-22 17:56:52 1821

原创 低代码平台智能化

为提升人效,我们组自研了一个低代码平台,说是自研但其实还是amis为核心的低代码平台,众所周知,低代码平台使用起来都会有一定的学习成本,尤其是在用户体量上来之后,经常会有人来问我如何使用或者让我答疑等等,咱也不是没文档,但是用低代码的各类人群都有,比如产品测试等。这类人群基础薄弱,根本不想看文档,他们就想很方便快捷的弄出来一个页面。因此,我们推出了智能化低代码计划。经过此次迭代,不仅节省了我个人的时间,而且提升了低代码平台的易用性,让更多人参与的低代码又往前迈进了一步。

2024-02-22 17:53:01 1221 1

转载 一对HTML标签,让你的网站白屏时间减少300ms!

简单来说,DNS的作用是将域名解析为IP地址,解析的过程是耗时的,转化后会做本地缓存,我们的优化的目标主要是针对用户第一次访问站点的时候陷入长时间白屏的问题。DNS解析可以分为两类,第一类是页面DNS解析,当用户输入url地址后(比如是第一次访问站点),便开始页面DNS解析,这个过程是省不了的,因为你无法在用户访问站点之前就让他提前把DNS解析好;第二类是其他资源的DNS解析,在浏览器解析html的时候,会遇到一些script元素、link元素,此时会暂停html的解析,转而加载JS,里面就包含了DNS。

2024-02-28 11:16:45 84

原创 互联网沙漠——重庆,一个不需要前端的城市

为什么重庆不要前端开发的程序员或者说找前端开发的公司根本不在重庆入驻,一文带你搞明白

2024-02-27 15:12:39 431

原创 阿里面试题-js

1、编写一个函数,接收两个参数,参数一一个数组,参数二数字,从数组中找出三个数的和等于参数二并返回其,若不足三个则反[],未找到也[]篇幅过长没记住,大概是根据给定的数据结构将其渲染成dom,数据结构包含宽高位置信息,不能使用定位。是深度优先还是广度优先,是深度优先,有利于最小视图的更新,在一定程度上提升了性能。浅拷贝仅仅只拷贝了对象第一层不会嵌套拷贝,当源对象的属性是对象是,拷贝的是引用地址。我的观点是不会,因为该对象一直处于被引用的状态,所以不会被垃圾回收机制标记回收。in 可以变量对象,for…

2024-02-23 11:13:31 367

原创 多窗口通信

之前介绍过的 BroadcastChannel 是一种原生的浏览器 API,用于在不同窗口之间进行实时通信。它具有跨浏览器兼容性和简单易用性的优势,但限于同一浏览器的窗口间通信。跨浏览器兼容性:BroadcastChannel 在现代浏览器中得到广泛支持,包括 Chrome、Firefox、Safari 等。简单易用性:使用 BroadcastChannel 只需几行代码,无需复杂的设置和配置。实时性:消息几乎可以即时地在各个窗口之间传递,使得实时通信更加流畅和高效。

2023-06-21 12:05:22 1086 1

原创 lowCode与D2C

低代码与D2C之间的联系与,具体流程和实现的分析

2022-07-22 19:13:50 789 3

原创 浅谈esbuild&SWC——新一代构建工具

打包工具&转译器王位之争,新王esbuild&SWC联手挑战就王webpack&Babel

2022-06-07 16:12:24 1671 1

原创 Vue + monaco-editor

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、monaco-editor是什么?二、使用步骤1.安装依赖2.编写组件总结前言最近接手了一个新项目,这个项目中有一个需求点就是需要展示json,并且可能还要编辑展示代码,然后我就去调研了关于代码编辑器的有关技术,经过对比决定使用monaco-editor。提示:以下是本篇文章正文内容,下面案例可供参考一、monaco-editor是什么?monaco-editor一款代码编辑器,是微软开源的一个web编辑器,v

2022-03-23 19:17:45 9379 8

原创 wp2vite 踩坑之路

前言事情是这样——小组内部组织一次脑暴,我见组内有vue3项目但是没有使用vue3官方推荐的vite,表示疑问,然后就引入了接下来的事情,指派我来试水。啊~这感觉真不错。受命既然要做我们肯定要先考察考察,诶~功夫不负有心人啊,翻到了一个名叫wp2vite的玩意(这玩意是真坑啊),看了下与之相关博客,诶!又让我找到一个关于webpack-to-vite的仓库,心想那就整吧,这不都齐活了么。折磨开始安装wp2vitenpm install -g wp2vite使用cd yourwork/you

2022-03-21 15:15:52 2986 2

原创 如何洞察前端风向

引言时隔大半年又开始了更新,本次的更新对于大多数刚毕业或者处于比较迷茫阶段的人推荐一些前端的一些周刊,能够帮助你实时的了解到各大厂的前端都在关注什么。周刊推荐1、既然是程序员那肯定少不了关注一下github 这个 网站可以查看 github 日-周-月 的 topic2、身为一个程序员怎么能不看 阮一峰 大神周刊呢,关注 下大佬最近在干什么,学习学习。3、光看大佬怎么行呢,大佬不是万能的,还是要 看看 本周的前端周刊。4、周刊看了还得 looklook阿里 | looklook京东 | look

2022-03-11 10:57:11 238

原创 vue + ts 打包发布至npm/yarn私服

背景前两天突然接到任务,说:‘玉玺啊,你加入到xxx的开发中区,先完成一个打包发布并配合xx老师联调一下’,我说好的,但是~问题来了,此前我的代码并没有写过类似的打包的配置,当天下午就是两眼一抹黑,看了一下午,尝试了许多种解决方案,但是都没能解决。最后到了晚上,我突然想起公司的其他项目也有需要打包发布的,我立马去查看,欸!!经过不断的尝试,还是写出来了。方案一使用typescript的原生打包命令tsc,当然使用这个命令的前提是执行npm install typescript [-g]这条命令下去下载

2021-07-17 15:32:03 1506 4

原创 响应式布局方案总结

超全自适应布局解决方案,涵盖媒体查询(Media Query)、百分比布局(%)、Flex布局、Rem、vw/vh。

2021-06-28 11:32:07 285 9

原创 RN 地图组件 react-native-amap3d

本文介绍 RN 高德地图组件react-native-amap3d准备首先我们需要获取 获取高德 Key,那么请先到高德申请Key, 申请Key的过程中会有三个字段需要填写,如图所示SHA1可通过cmd命令获取

2021-04-13 01:20:19 960 2

原创 js渲染10万数据列表,不阻塞UI

前言最近公司项目快结项了,但是我发现公司的每个页面打开都比较卡,究其原因数据量大,请求多,渲染慢。加之面试的时候也遇到过此类问题,那么今天就来尝试去实现一下。一、整理思路首先我们要知道js处理大量数据并没有花费多长时间。耗时最长的是渲染dom元素。一次加载完需要耗费大量时间,所以我们可以把数据切割成一个个小块。每次渲染一小块就能够将dom渲染出来了。二、代码实现<ul></ul>// 第一种实现方式const $UL = document.querySelector(

2021-01-26 17:10:54 5060 11

原创 解决双滚动条

前言:最近在公司做项目遇到了一个看起来很简单,但是就是改了很久都无法改掉的小bug,双滚动条。我试过很多种方式,但是每一种都没办法解决我的问题。方式一平常用的最多的方式。html,body { overflow: hidden; // 都隐藏 overflow-x: hidden; // 隐藏横向 overflow-y: hidden; // 隐藏纵向}方式二这种方式将滚动事件锁定在content类上,滚动事件不会冒泡到任何可能具有滚动属性的父元素,然后再将父元素滚动条隐藏。(就这都没

2021-01-21 14:25:14 4345

原创 作业帮面经(已拿offer)

前言本来是打算留在现在这个公司,但是当我得知薪资水平后,就又开始了寻觅工作的征程,但是秋招已经过去了,只剩下补录(难受),本不报收获offer的希望,但是命运就是如此神奇,作业帮它来了。一面1、类型比较。 如 undefined == null。2、说一说闭包。3、变量提升加函数提升 (考察变量提升)。4、说出异步任务的执行顺序 (考察宏任务微任务)。5、给定题目说出时间复杂度。6、数组去重,两种方式实现 。7、此题忘了(算法)。8、跨域解决方案 (cors, postMessage,

2020-12-21 14:47:30 2668 5

原创 koa2 源码解读

前言自从在简历上写了使用过nodejs的koa框架起,我被面试官问起node和koa的次数呈指数上涨,为了防止一问三不知的情况再次发生决心去阅读源码。主要文件application.js koa框架的入口文件context.js 创建网络请求的上下文对象request.js 用于包装koa的request对象response.js 用于包装koa的response对象源码分析首先我们看下不使用koa和使用的区别const http = require("http");const ser

2020-12-07 11:26:34 424

原创 毕设闲谈

前言:很快啊,啪的一下就来到了写毕业设计的时候,我大意了,没有闪,毕业设计不讲武德,来~ 骗,来~ 偷袭,我21岁的大学生,这好嘛,这不好,我劝毕业设计耗子尾汁,毕设不是打打杀杀,是人情世故。1、选题重要的事情说三遍:选题很重要选题很重要选题很重要首先一个好的选题在你写的时候至少不会写不出任何东西,而且文献也会比较丰富让你有更多选择,好的选题起步就甩了别人一个5连鞭,这是我血的教训然后得出的一点经验。。我的选题就非常拉闸,就导致我写开题报告写了好久毫无思路,外文文献也找不到。这就非常的苦逼,当

2020-11-23 16:40:22 2087 7

原创 修炼js 8 发起http请求的方式

前言近两天在公司写登录的时候发现我居然快忘记fetch请求和原生实现请求的方式了,估计是太久没看了荒废了,在此记录一下发起http请求的方式,方便后续自己查看。一、原生请求let xhr = new XMLHttpRequest();xhr.open('GET','url',true);xhr.onReadyState(()=>{})二、ajax请求// getajax.get( url:url, success:(data)=>{ console.log(dat

2020-11-13 17:22:18 177

原创 git常用命令

前言一开始是不打算更新这篇blog的,因为觉得比较简单没有什么记录的必要,好家伙然后`Git`就给我当头喝棒,把我敲懵了。好接下来我们看下我们平常常用的一些Git的操作。Git 命令1、git status [文件名] 查看工作区、暂存区状态(就是看你自己改了哪些文件),每次提交之前最好是先执行一下,查看改动。2、git pull3、git pull --rebase upstream/new_ui 拉取远程仓库代码4、git add 文件名|. 将改动提交到暂存区(. 是全部提交到暂存区)

2020-11-08 20:58:46 257

原创 前端学习路线

前言更新这篇blog的目的是为了帮助想学习前端却不知从什么地方学起,不知道该学什么的同学快速进军前端的基本路线。一、入门首先我们学习任何东西都一样要打下坚实的基础,所以入门必学三件套。HTML5(H5),CSS3,ES5(js)(必学)H5:学习经常会使用到如HTML5表单、音频和视频、离线和本地存储、盒子模型、Canvas即可。CSS3:学习基本写法和特性如(可继承属性),flex布局JS:学习基本语法,原型链,DOM,BOM,异步函数二、起步学习完了基本使用,我们开始逐渐追求学习得更深入

2020-10-26 14:55:00 5588 16

原创 vue 重要知识

这些vue知识你真的掌握了吗?1、计算属性和侦听器可能很多对vue已经比较熟悉了,但是你真的了解这两个属性吗2、混入混入在我们自己开发的时候写着很方便,但是别在看到我们的代码后可能就不方便了,所以现在感觉这种写法不是很推崇。但是万一你就是那个看别代码的人呢??????????3、自定义指令vue除了默认的指令(v-model 和 v-show)外,你还可以自己拓展指令。这听起来就很好玩4、插槽...

2020-10-19 23:08:59 579 2

原创 入职体会

从讯飞离开一个月后一直苦苦寻觅工作机会,但奈何本人技术太渣,只收到了知道创宇实习的offer,在学校呆着也是呆着,不如去公司看看。今天入职(2020-10-13)说实话成都创宇分公司虽然小点,但氛围还不错,hr小姐姐人也挺好,但感觉创宇的入职流程不够完善,第一天并没有签署合同,领用电脑却不给鼠标,这是我没想到的。鼠标还得在前台借。。。开发人员的电脑都是mac爱了爱了。leader表示公司这边使用的reactnative开发,让我赶紧学习。公司Wi-Fi网络太慢不太支持我学习。对了最重要的一点是,这是一家

2020-10-13 15:46:26 466 1

原创 前端 面经

自我介绍一下1、JS 事件循环js是一门单线程语言2、koa 和 egg 区别egg 基于 koa进行强化,koa没有controller,service,router,egg加入了这些,这样更便于工程化。3、nodejs中间件

2020-09-17 23:31:24 447

原创 浅谈 Vue 1

1、Vue是什么可能很多小伙伴都已经知道了,但是我还是啰嗦一下, Vue是一套用于构建用户界面的渐进式框架,是前端三大框架中最简单易学的框架。2、为什么要学Vue我上面也说了,这是前端最简单的框架,对新手比较友好,建议新手玩家都先从Vue上手.,最简单意味着学习成本比较低,而且Vue大小比起其他两个框架要小,Vue压缩后20kb,React压缩后34kb左右,Angular压缩后大概是60Kb左右。Vue核心响应式更新机制,就是说当我们的数据更新之后,视图会自动的刷新。3、如何创建Vue项目3.1

2020-09-13 10:53:46 348

原创 修炼js 7 es6新特性2

es6新特性 模板字符串,spread/rest操作符,Reflect对象基本用法及可用方法,新特性间结合出来的新玩法,大家可以自己去试试

2020-08-31 18:24:14 1918 3

原创 修炼js 6 es6新特性

es6能够让我们按照一定的模式,从数组或对象中提取值并赋值其他变量,这被称之为结构赋值,接下来让我们看看一个简单的例子。var [a,b,c] = [1,2,3];console.log(a); // 1这段

2020-08-30 21:33:37 1578 3

原创 腾讯提前批面经

1、自我介绍一下。2、异步函数有哪些。3、回调函数实现方式有那几种。4、讲一下重排和重绘。5、url到页面发生了什么。6、写一个防抖函数。7、数组去重。8、vue双向绑定原理,set内部实现如何实现的。9、虚拟dom,有什么好处,如何实现的,怎么实现最小代价替换/删除dom的。10、koa 中间件。11、说说generator。12、中途有个问题我确实忘了一直没听过,导致没记住。不好意思。好了估计一面凉凉。...

2020-08-17 21:30:23 307

原创 修炼js 5原型链及继承

原型链在讲解原型链之前我们先来看看在你创建对象时发生了什么,接下来我们试着分析一下,下面的这段代码到底做了什么事。new Date();这段代码干的事情如下1、创建了一个新的对象2、将这个对象接入原型链3、绑定this4、返回这个对象ok,我们开始解释原型链。。。那么什么是原型链呢。我们都知道每个对象都有自己的 [[proto]]属性,这个proto指向该对象的构造函数的原型对象例如 var date = new Date() console.log(date.__pro

2020-08-17 16:53:07 212

原创 修炼js 4DOM

DOM是Document Object Model(文档对象模型)的缩写,DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。如何获取DOM?原生获取方式如下:// 方式一 根据id获取dom节点document.getElementById("id");// 方式二 获取标签名称为参数的dom节点,返回一个数组document.getElementByTagName("ul");//方式三 获取class="hh"的dom节点,返回一个数组document.getEle

2020-08-15 20:07:50 245 4

原创 修炼js 3数据结构

这次我们来缕一缕Js的数据结构。1、首先登场的是大家都比较熟悉的数组接下来让我们先看看如何定义数组吧。// 方式一let arr1 = [];// 空数组// 方式二let arr2 = new Array(5);//创建长度为5的空数组,不写参数即 为没有长度的空数组// 以上都是常见的写法,接下来是不太常见的写法// 方式三let arr3 = Array.of(1,2);//创建了一个长度为2数组并填充为1,2// 方式四let arr4 = Array(5).fill(3

2020-08-08 14:15:03 192

原创 修炼js 2函数及作用域

函数是Js里比较重要的知识,本篇博客讲解了比较常见的定义函数的方式及特殊的函数形式和函数的this指向。看完这篇博客相信你对函数及作用域会有一个相对清晰的认识,在es5中的"类"也是一个函数,不过在本篇中不做讲解。

2020-08-01 23:53:09 210 1

原创 修炼js 1

记录一下JS变量js变量类型有如下几种:number,string,boolean,null,undefined,symbol,object:{Array,Object,Function,Date...} //这一系列是引用类型其中Object为引用类型存放在堆内存中,其余的为值类型存放在栈内存中定义变量的方式及区别:// 方式一var a = 111; //不会劫持作用域,如果不赋值会默认初始化为 undefinedvar a = 222; // 再次定义会覆盖//方式

2020-07-30 20:02:25 148

原创 js实现KMP与两个随机数组取最大的三个数的和比大小

KMP模式匹配算法思想:目标串 a 下标为 i 与模式串 b 下标为 j 自第一个字符开始比较,相等则,i、j 同时自增,如果不等则 b[j] = next[j] 数组的下标。next数组是根据模式串 b 得出的,可以大致理解为,b[j]当前下标之前有多个前缀等于后缀。话不多说,上代码// An highlighted block (function speedOrder...

2020-03-20 13:09:17 236

原创 node.js+MySQL查询能打印,但不能赋值给其他变量的问题

nodejs踩坑,今天小菜鸡的我又中坑了。今天在查询数据的时候发现的问题,我从MySQL中查询数据返回的结果[ { shop_id: 1,shop_name: ‘111111’,shop_password: ‘111111’,gender: null,realname: ‘6666’,phone: ‘6666’, pic_id: 12,authentication: ‘1’,audit_sta...

2019-08-14 20:21:22 968

原创 node.js之连接MySQL

今天使用node.js远程连接MySQL出现了一些问题。希望此篇文章能帮助到那些和我一样的代码新手。以下是连接远程数据库的代码。代码是对的,然鹅我并不能连接上,通过百度看到需要新建一个用户对它进行权限设置通过 GRANT ALL privileges on . to “root”@"%" IDENTIFIED BY ‘密码’;到此就对用户赋权完毕。如果还不行,就设置你的服务器安全组。...

2019-08-02 17:55:45 311

原创 学习js

首先javaScript是弱类型变量的语言其定义变量和函数的方式分别为:var 变量名;函数先静后动以此来确定参数函数功能尽量简化function 函数名([参数1,参数2]){语句;}每个函数都自带了一个arguments的参数对象,arguments这个参数类似数组具体如下arguments[0]//第一个参数arguments[1]//第二个参数arguments.l...

2019-03-29 19:09:19 151

空空如也

空空如也

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

TA关注的人

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