自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lawliet

csdn博客bug太多,移步新博客:https://www.cnblogs.com/zhangmingzhao/

  • 博客(476)
  • 资源 (3)
  • 收藏
  • 关注

原创 一道图的题

我的思路就是建立坐标系,把input的输入变为坐标系的1,其余0或者undefined,从input的每个坐标开始dfs,如果没搜过push进当前的group,然后朝四个方向继续dfs。下面是我当时通过样例的代码,当时还要求现场bug free,又费了会儿时间,感觉这种大题有思路还要现场bug free还是费点时间的。一开始只看数据以为是模拟找数字相同的,后面对照着图看确定是一个图的题,这不就是以前大学图论里的求所有的连通分量嘛。即要求相邻的坐标为一组,输出符合这种要求的所有的组。

2024-02-23 02:13:42 355 1

原创 rAF在EventLoop的表现

当时听到这个问题一时有点懵,因为按照之前的经验和理解,rAF一般做动画场景很少遇到宏任务微任务的问题,我感觉它跟宏任务微任务是没啥关系的,因为我看过MDN HTML5的规范关于‘Task’和‘Microtask’的划分,是没看到它的身影的。如果不滚动屏幕,不需要重新绘制帧,requestAnimationFrame会在下一个宏任务之前伴随着本轮微任务执行(顺序也会按照微任务队列的顺序),,即输出’setTimeout’,‘animation’此时把注释打开,再加一个宏任务,执行同时滚动浏览器,发现输出。

2024-02-23 01:42:09 381

原创 Replace bpmn-js and Let Frontend Developers Become More Familiar with Workflow Business

(背景:发在国外社区的文章,国内博客做份存档)

2023-08-07 18:10:10 109

原创 开源一个自动录制直播上传投稿的项目

其实idea一两年前就有了,最近才发力完善出来,现在主要和两个学弟在维护,也感谢@ForgQi大佬一直以来的帮助。项目链接:此文其实主要的目的是将此项目收录在互联网爬虫中。。便于其他人搜索关键词时能定位到该项目。github链接:链接,对您有帮助的话求个star欢迎PR成为Contributor!StreamerHelper???? Never miss your Streamer againIntroduction主播直播助手,部署后,后台批量监测各个平台主播是否在线,并实时录

2020-08-04 10:58:04 1875

原创 最近遇到的两个有意思的问题(合并K个有序数组,打印省区市所有与目标市名字相同的路径)

最近遇到的几个有意思问题,记录分享一下。1. 合并三个有序数组(合并K个有序数组)假如有这么三个数组:(arr包含的三个数组)let arr = [ [1, 3, 5, 7], [2, 4, 6], [0, 8, 9, 10, 11],];问题:K个数组,总共N个元素,合并成一个有序数组。(以升序为例)大家一眼看上去肯定会想到归并排序,合并两个有序数组是归并排序的最后一步的动作,通过两个指针引导比较大小依次合并两个有序序列。问题是三个数组的话,用三指针去做辅助貌似思路上看似直

2020-05-24 19:41:09 456 3

原创 无限滚动&懒加载&元素位置 etc....

最近遇到了无限滚动的问题,用到了IntersectionObserver API,这里正好就将相关知识梳理整理一下。前置概念知识scrollHeight:容器元素被撑起后的实际大小高度scrollTop:容器元素的滚动距离,也是当前视口相对于容器实际高度定点的距离。offsetTop:元素的上外边框至包含元素的上内边框之间的像素距离。el.getBoundingClientRect().top:方法返回元素的大小及其相对于视口的位置。(top相对于视口的高度距离)clientHeight:元素

2020-05-12 17:08:05 536

原创 用Three.js绘制一个3D天体系统

年前就一直研究了下WebGL相关的东西,看了很多资料和文档,这里做了一些小实践,记录分享一下。代码:链接预览:链接demo:前置知识WebGL和Threejs的关系:WebGL是一种 3D 绘图协议,这种绘图技术标准结合了JavaScript和OpenGL ES 2.0,在HTML5的Canvas元素中使用,从而可以在 Web 浏览器中呈现 3D 场景,而Threejs是对WebG...

2020-03-06 18:38:10 1217 1

原创 JS中原型对象中的constructor的作用?

最近被同事问道一个问题:function Father() { this.color = ['red', 'green']; } function Child() { this.test = 1; } Child.prototype = new Father(); let instance = new Child();这个例子是经典原型链继承,未做co...

2019-12-24 22:15:26 2654 1

原创 再看JS的函数和闭包

最近遇到React Hook的过时闭包问题,重温了下红宝书,这里整理之前积累的一些基础。1. 函数声明和函数表达式函数声明:function say(){ xxxx}函数表达式:赋值变量的方式可以使用匿名函数(lambda函数)var say = function(){ xxx }注意函数声明在编译期间把声明提前,函数表达式不会。2. 执行环境,活动对象,变量对象这两个概...

2019-12-12 16:53:24 153

原创 React Hooks的999999个好处

最近做的react项目已经是完全用上了typescript+hooks,先不说typescript吧,hooks是真的香????1.更好的分离页面和逻辑,重用逻辑的方法现在前端项目的组件化,一般都是基于最基础的UI组件库(里面也有组件的功能逻辑),加上业务逻辑,封装一个个component,container。组件是 UI + 逻辑的复用,但逻辑复用能力等于 0。而在项目中,很难做到轻松的把...

2019-12-09 00:16:31 769

原创 ES Module,commonjs和Typescript模块系统

TS中常常用import * as React 导入。TS 把 CJS 模块作为一个 Namespace 导入,所以,为了解决上面提到的报错,需要这样导入 CJS 模块,以及任何没有 default 导出的模块: import * as React from ‘react’这样子的代码,如果从 babel 迁移到 TS 就需要大幅的改动代码,不过 TS 也注意到了这个问题,添加了一个 comp...

2019-12-06 15:09:38 1469

原创 webpack中的hash、chunkhash和contenthash

这三个hash值都是webpack在打包的时候根据内部算法生成的一串字符串,总的来说最大的不同就是其囊括控制的范围大小不同,对应的控制颗粒度不同。hashhash是对webpack整个一次构建而言,在webpack构建中,文件都会带上对应的MD5值,构建生成的文件hash值都是一样的。如果出口是hash,那么一旦针对项目中任何一个文件的修改,都会构建整个项目,重新获取hash值。如果有目的性的...

2019-12-03 18:14:24 920

翻译 react-spring介绍(翻译)

在本文中,我们将探索React的最佳动画框架之一:React Spring。 您将学习将组件样式更改为平滑的,基于物理的过渡的一些基础知识。提前需要了解的React Spring具有基于钩子和基于组件的API,这里将专门针对所有动画使用具有基本状态的钩子,建议先学习React Hooks相关知识。环境安装和配置这里使用Create React App来作为脚手架,另外需要安装react...

2019-11-06 12:41:28 5165

原创 Typescript中的对象多可能类型推导的解决办法

我们在渲染复杂对象,比如树组件的树对象,有嵌套对象/数组结构的时候,js的弱类型让我们一把梭,几乎没遇到什么问题(只是写的时候编译没问题把。233。。),结合TS后,对树状数据的递归访问会是一个问题:比如数据源的数据声明为:export interface VoiceSkillResponse { data: { isExistUpdate: number; isNewPr...

2019-10-28 15:08:19 1620

原创 React和Vue对比

主要从以下方面对比:1. 团队熟悉程度,学习成本目前前端小组其实都是大部分在写业务代码,都有扎实的javascript基础和社区基础,上手二者的哪个都没太大成本区别。对于个人来说,无论转型深入哪个,都是不错的。所以这一点学习成本上其实没有太大顾虑,主要在下面一点。2. 框架本身对比,优缺点1)react的地位毋容置疑,vue作者都承认:(尤雨溪原话)(后来Flutter和swiftUI...

2019-09-11 21:18:34 1758

原创 CSS动画属性/重绘重排组合层/GPU加速 渲染优化相关及联系

1、现代浏览器,比如chrome,firefox都支持硬件加速,GPU加速功能,开启后,使用相关CSS属性,3D API,canvas等,都会默认用GPU渲染的方式去绘制图像。浏览器渲染的过程,网上图片杂且准确性出处都有待考究,关于这个过程和原理,国外有一个最权威的文档资料:链接(差不多网上的文章都是从这里盗的内容了),浓缩一下流程,可以概括为:1)可以看到DOM Tree 是由HTML等...

2019-08-29 12:24:11 666

原创 Object.create()探索

最近在看框架源码的时候,发现作者(或者Contributors)创建对象的时候,或者做继承的时候,都喜欢用到Object.create()。首先MDN上对这个方法介绍的很清楚了,Object.create(proto[, propertiesObject])第一个参数传一个对象,(ps:[]为可选参数),MDN释义为"新创建对象的原型对象",一般传xx.prototype,如果直接传对象...

2019-08-13 18:48:26 176

原创 await的错误处理问题,一个issue引发的ts社区的讨论

https://github.com/denoland/deno_std/blob/master/fs/empty_dir.ts#L8https://juejin.im/post/5d25b39bf265da1bb67a4176http://es6.ruanyifeng.com/#docs/async任何一个await语句后面的 Promise 对象变为reject状态,那么整个async函...

2019-07-13 22:40:28 1503

原创 React优化总结2

函数组件使用memo当父组件给子组件传递了props的时候,如果在父组件没有加判断子组件条件性渲染,eg: {isShowChild&& },每次父组件执行render,子组件(函数)都会重新渲染(执行),这时候如果是在子组件用memo导出,eg:const Child = (props) => { return <div>那一夜{props.Chil...

2019-07-12 10:19:49 217

原创 react优化总结--(永久更新中)

1.箭头函数和bind的使用不当类函数里声明方法的时候最好一次声明,只定义一次,什么意思,我们知道在类里面声明方法然后传递出去调用的时候this会丢失,一般用bind或者箭头函数解决,但是我们也要避免两种书写方式,即避免传子组件props的时候写内敛箭头函数或者内敛的bind方式,因为这时候如果我们在子组件调用这个函数,父组件state改变重新渲染后,this.xxx()}或者每次会返回一个新...

2019-07-11 23:18:50 568

原创 antd中AutoComplete组件的一些问题

最近做自己的一个项目的时候,用到一个自动填充的输入框,因为前端使用的antd,自然就引入了antd中的AutoComplete的组件。官网链接:链接AutoComplete的填充数据有两种用法,一种是dataSouce,另外一种是option,运用option更灵活,可以渲染出自己想要的选择填充数据的样式。由于选择的填充数据是扒的别人的接口,这个接口返回的我想要的数据是带html标签的字符串...

2019-06-20 00:57:39 10567 1

原创 b站开始长期搬运SC2职业选手第一视角的直播,监测,下载,上传皆由程序完成,Python大法好

 在chrome的headless环境下,FFmpeg处理视频流,模拟B站登录,验证登陆成功率还可以,视频分割,线程池控制并发,下载和上传独立,扩展性很强,扩展网站只用写plugin代码继承下载基类即可。 原项目由星际圈子里的ForgQi大佬开发,我现在在二次开发。ForgQi的服务器过期后,由我接手,部署在vultr上(超级费流量)。 斗鱼的流包已失效,现在主要想办法解决这个问题。部署流程...

2019-04-01 12:47:47 740

原创 webpack内存读取技术调研及node相关

webpack内存读取技术调研最近实习中参与到一个项目,需要在线上快速打包和快速读取,为了提高速率,当时我们想到了webpack dev模式下打包文件是临时贮存在内存中的,想学习一下webpack的这种技术是怎么实现的,好应用到项目中。1.webpack原理https://juejin.im/entry/5b0e3eba5188251534379615看这篇文章就够了,很细致,这篇博客主要...

2018-11-30 17:05:33 1745

原创 React-Native集成到现有的安卓项目中(坑死了)

React-Native集成到现有的安卓项目中RN集成到ios的参见上一篇:https://github.com/ZhangMingZhao1/MingZhao-s-blog/issues/1毕竟要做跨端,ios调研完了安卓还要再去跑通一下,弄下来感觉安卓比ios更坑一点。RN现在对版本的依赖太固定了,网上问题的教程也太少,版本不一样就不适用了。1.按照官网配置相关环境,后面的项目教程就不...

2018-11-30 16:14:09 1904

原创 react-native入门,编写静态页面,集成原生项目

RN上手体验搭建环境:https://reactnative.cn/docs/getting-started/,分mac/win/linux,平台分android/ios。1.创建一个新项目使用rn创建一个项目和把rn技术集成到一个现有的原生项目是有差别的。//创建和运行一个rn项目:react-native init AwesomeProjectcd AwesomeProject...

2018-11-23 18:31:07 821

原创 dva踩坑记录(更新...)

dva适合有一定react,redux开发经验的人上手,文档很少。。这里记录下一点踩坑点,使用技巧,一些原理。1.dispatch方法的回调函数怎么使用有时候需要返回数据根据数据作进一步处理,有时候这个dispatch是异步的,所以就需要回调中作下一步处理。查了下资料,有一些方案,最好的还是在你的effects里的generator函数里return 一下你的值dispatch({}).t...

2018-11-07 18:07:38 1707

原创 一道promise的小题目(Promise异步流程控制)

用Promise控制异步流程,三个异步任务,时间可能有先后,但是要按照想要的顺序输出。 我这里用四种方法解决,其实也就是考察你对Promise的理解,基础题了。//实现mergePromise函数,把传进去的数组顺序先后执行,//并且把返回的数据先后放到数组data中const timeout = ms =&amp;gt; new Promise((resolve, reject) =&amp;gt;...

2018-08-18 01:08:22 928 2

原创 jQuery的链式调用原理,Promise的链式调用,this的问题

最近被问到这个问题,jq的链式调用原理,当时比较懵=。=,毕竟现在jq接触的机会变很少了。jq的链式调用jq的链式调用其实就是比如我们在选择dom的时候,$('input[type=&quot;button&quot;]') .eq(0).click(function() { alert('点击我!');}).end().eq(1).click(function() { ...

2018-08-16 01:17:02 7064 2

原创 跨域问题(续)

此贴接上贴实践解决跨域问题的三种方式剖析今天继续做我的schub项目的时候,遇到了苦恼我一天的问题,expresss-session没有持久化,我在后端把登录的状态存在req的session里,下次发post的时候再发请求的时候req.session里面存的用户的状态的字段没了。我上次用到express-session的时候还是做得那个微博...

2018-08-09 12:52:30 218

原创 再说说__proto__和prototype以及js的继承

1.proto和prototypeJS中的原型链已经是一个老生常谈的问题,毕竟也是JS 这门语言的特色之一了。 首先“万物皆对象“,虽然这句话一直有争议,但是有它的道理的,null类型这些的争论这里就不说了。 对象中有个属性proto,被称为隐式原型,这个隐式原型指向构造改对象的构造函数的原型,这也保证了实例能够访问在构造函数原型中定义的属性和方法。这个实例可能是如图中的new Foo...

2018-07-19 17:51:19 8806

原创 经典的三栏布局:圣杯布局,双飞翼布局,flex布局

需求: 两边栏固定宽度,中间宽度自适应,一般左边栏为导航,右边栏为广告,中间栏为主要内容的展示,div块上中间栏放在第一位,重要的东西放在文档流前面可以优先渲染。圣杯布局和双飞翼布局的共同特点都是利用float+margin的负值来实现并列的结构。首先中间栏width 100%后,左右栏被挤在第二行,左栏margin-left设置为-100%后(实际即为中间栏的宽度),这样左栏就...

2018-07-18 19:27:17 727

原创 实践解决跨域问题的三种方式剖析

最近在做我星际schub网站的时候,遇到了跨域问题,我先把后端node部署在了服务器上,然后在本地lockhost测试,出现了问题: 浏览器都提示我们使用这个header头:解决办法: 1. 服务器设置响应头:response.setHeader(&amp;amp;amp;quot;Access-Control-Allow-Origin&amp;amp;amp;quot;, &amp;amp;amp;quot;*&amp;amp;amp;quot;)f

2018-07-12 21:37:17 8883

原创 《React小书》终结笔记

到今天为止终于刷完了胡子大哈的React小书,一开始就是冲着对Redux的理解去的,期间也在课后练习的ScriptOj上完成了小书推荐的题目,第三章是收费的,但是服务器好像挂了,邮件都收不了。。。后来发现react小书网站的第三章就是靠js增加了一层蒙版弹窗。。。在Chrome里把这个页面禁用js就可以看了。。。。React小书地址:链接ScriptOj地址:链接我的ScriptOj ...

2018-06-30 23:41:05 2322

原创 Node异步爬虫引出的异步流程控制的一些问题

前记: 想写一个电影天堂的爬虫,因为node很长时间落下,就想用node去写一下。结果遇到了一些列的问题,这些问题归根到底就是异步流程控制的问题,在以前就一直会接触到很多回调地狱,Promise为什么会出现诸如此类的话题,现在终于是深刻体会到了!开始的代码是:const cheerio = require('cheerio');const http = require('http'...

2018-06-27 17:13:04 412

原创 Airbnb coding面的一道编程题

之前在直播的时候Airbnb负责人说他们的coding题难度不会到dp,我就知道肯定是一些字符串处理啥的编程题了。果然,Airbnb的coding面是在codePad上手写代码,面试官希望能看到你书写的过程,所以少用本地ide(呵呵,不调试让写编程题是最XX的,所以有些东西你需要及时沟通)自己给的三四个test case,要求输出对应的结果就行了(比ACM是相当宽松了)。题目是这样的,...

2018-06-14 02:01:43 3071

原创 leetcode15 3Sum. 处理特殊情况+哈希思想

Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. Note: The solution ...

2018-06-04 11:13:58 372

原创 leetcode 1_TwoSum. 哈希思想

Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not ...

2018-06-04 10:59:20 264

原创 剑指offer(二十三,二十四,二十五)最小的k个数,连续子数组的最大和,链表中环的入口节点

二十三:最小的k个数 题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。还是简单题,function GetLeastNumbers_Solution(input, k){ if(k&amp;amp;gt;input.length) return []; let ans = []; ...

2018-06-01 20:37:47 258

原创 剑指offer(二十,二十一,二十二)包含min函数的栈,字符串的排列,数组中出现超过一半的数字

20:包含min函数的栈 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。感觉题目很无聊。。。我大js做这题就是方便,也让我深刻意识到相对其他语言js继承的强大性和灵活性。。。var stack = [];function push(node){ stack.push(node);}function pop(){ s...

2018-06-01 11:59:09 229

原创 剑指offer(十七,十八,十九)树的子结构,二叉树的镜像,顺时针打印矩阵

题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)简单题,判断好每种情况,(原来剑指offer这个oj需要把js的函数写在给的solution函数里才能AC啊)/* function TreeNode(x) { this.val = x; this.left = null; this.right =...

2018-05-29 17:50:49 197

VC2013运行库环境

有些程序运行可能会提示确实dll文件,安装这个VC2013运行环境就好了

2018-03-13

wamp,PHP,mysql,apache集成环境

PHP,MySQL,Apache集成环境,超级方便!省去了一个个配置的麻烦。现在只需要一键配置。

2018-03-13

JS小项目,JS特效,3D相册,相册面板墙

CSS3和JavaScript的一个小项目,特效相册面板墙,3D转换,缩放,透明等,可以用来浪漫告白,JS练手等,回调函数很多,自执行函数,注释很详细

2017-09-06

空空如也

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

TA关注的人

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