自定义博客皮肤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/

  • 博客(474)
  • 资源 (4)
  • 论坛 (1)

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

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

2020-08-04 10:58:04 107

原创 最近遇到的两个有意思的问题(合并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 186 2

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

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

2020-05-12 17:08:05 94

原创 用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 191 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 167

原创 再看JS的函数和闭包

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

2019-12-12 16:53:24 51

原创 React Hooks的999999个好处

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

2019-12-09 00:16:31 295

原创 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 119

原创 webpack中的hash、chunkhash和contenthash

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

2019-12-03 18:14:24 122

翻译 react-spring介绍(翻译)

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

2019-11-06 12:41:28 1166

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

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

2019-10-28 15:08:19 341

原创 React和Vue对比

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

2019-09-11 21:18:34 278

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

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

2019-08-29 12:24:11 233

原创 Object.create()探索

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

2019-08-13 18:48:26 75

原创 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 558

原创 React优化总结2

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

2019-07-12 10:19:49 96

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

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

2019-07-11 23:18:50 391

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

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

2019-06-20 00:57:39 4113

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

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

2019-04-01 12:47:47 412

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

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

2018-11-30 17:05:33 869

原创 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 1171

原创 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 322

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

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

2018-11-07 18:07:38 1074

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

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

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

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

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

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

原创 跨域问题(续)

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

2018-08-09 12:52:30 132

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

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

2018-07-19 17:51:19 7552

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

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

2018-07-18 19:27:17 574

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

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

2018-07-12 21:37:17 5808

原创 《React小书》终结笔记

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

2018-06-30 23:41:05 1747

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

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

2018-06-27 17:13:04 268

原创 Airbnb coding面的一道编程题

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

2018-06-14 02:01:43 2798

原创 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 254

原创 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 179

原创 剑指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>input.length) return []; let ans = []; ...

2018-06-01 20:37:47 145

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

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

2018-06-01 11:59:09 137

原创 剑指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 114

原创 jQuery ready方法实现

很早之前就留下了这个问题,赶上五一放假,好好研究总结一下吧。首先jq中ready方法和window的onload方法的不同这里再提一下,首先ready只是dom树加载完毕,一些img等资源可能还没加载完成,而onload则是全部加载成功。而且ready方法可以有多个,而onload只能写一个。还有一个区别是什么了,想起来补上。一般让我们手写模拟一个jq的ready方法,我大多都是这样写:...

2018-04-30 03:28:34 1447

原创 SPFA的队列优化模板

#include<iostream>#include<algorithm>#include<cstring>#include<string>#include<set>#include<queue>using namespace std;

2018-04-16 15:15:10 186

原创 用Express做一个图片简易防盗链

最近做的一个主管安排的项目,给一个系统多增加一套前端模板,这个本身不难,由于算法那边不能提供数据,我随便复制的网上图片链接,发现有些图片不能正常显示,后来知道有些图片加了“防盗链”,这让我马上想到了以前遇到的http请求头中的referer属性,这个消息头记录了本网站的一些资源请求是来自哪个网站,如果利用这个referer的判断,就可以实现过滤。代码:var express = req...

2018-04-13 10:54:05 309

VC2013运行库环境

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

2018-03-13

wamp,PHP,mysql,apache集成环境

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

2018-03-13

算法设计与分析基础中文版和英文版

此压缩版包含算法设计与分析基础的英文版和中文版,可满足不同学习者的需求,原书是国外CS算法课程的经典讲义,国内教师也可拿来作为参考。 作者基于丰富的教学经验,开发了一套对算法进行分类的新方法。这套方法站在通用问题求解策略的高度,能对现有的大多数算法都能进行准确分类,从而使本书的读者能够沿着一条清晰的、一致的、连贯的思路来探索算法设计与分析这一迷人领域。本书作为第2版,相对第1版增加了新的习题,还增加了“迭代改进”一章,使得原来的分类方法更加完善。

2017-09-21

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

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

2017-09-06

Lawliet_ZMZ的留言板

发表于 2020-01-02 最后回复 2020-01-02

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