自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr_Ying的博客

新晋小前端 入坑React 多多指教

  • 博客(70)
  • 收藏
  • 关注

原创 TS编写REACT

单独学习TS后发现与react项目结合还是有许多没看到过得知识点许多react、 redux类型未见过。。。用 TypeScript 写 React & Redux - 完全指南用TypeScript编写React的最佳实践

2022-05-11 19:18:42 313

原创 8.13学习汇总

1.history 404问题Nginx配置location / {  root D:\Test\exprice\dist;  index index.html index.htm;  try_files $uri $uri/ /index.html;2.实现控制Promise的最大并发请求数3. 改写Promise.all:1. 给其中的每个请求都加上超时时间 2. 给所有请求的总时间加上超时4.实现format函数来摊平字符串: 输入:3(x)2(yz)1(x)

2021-08-16 11:12:49 755 1

原创 8.10学习汇总

1.上下固定,中间滚动布局如何实现<div class="parent"> <div class="header">header -- 固定</div> <div class="content"> <p>content -- 滚动</p> <p>内容部分</p> <p>内容部分</p> <p>内容部分</p

2021-08-10 21:20:13 187

原创 8.9学习汇总

1.模糊搜索高亮2.已知数据格式,实现一个函数 fn 找出链条中所有的父级 id3.为什么建议传递给 setState 的参数是一个 callback 而不是一个对象import * as React from 'react';const { PureComponent, Fragment } = React;class Test extends PureComponent { state = { age: 0 } render() {

2021-08-10 08:36:54 127

原创 8.8学习汇总

1.算法题「移动零」,给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。function moveZeroToLast(arr) { let index = 0; for (let i = 0, length = arr.length; i < length; i++) { if

2021-08-09 11:08:14 119

原创 8.7学习汇总

1.要求设计 LazyMan 类,实现以下功能LazyMan('Tony');// Hi I am TonyLazyMan('Tony').sleep(10).eat('lunch');// Hi I am Tony// 等待了10秒...// I am eating lunchLazyMan('Tony').eat('lunch').sleep(10).eat('dinner');// Hi I am Tony// I am eating lunch// 等待了10秒...//

2021-08-08 19:30:04 88

原创 8.6学习汇总

1.HTTPS 握手过程中,客户端如何验证证书的合法性校验证书的颁发机构是否受客户端信任。通过 CRL 或 OCSP 的方式校验证书是否被吊销。对比系统时间,校验证书是否在有效期内。通过校验对方是否存在证书的私钥,判断证书的网站域名是否与证书颁发的域名一致。...

2021-08-07 09:28:49 63

原创 8.5学习汇总

1.GPU硬件加速可以带来动画性能优化,不需要repaint。(1)可以默认只有一个复合层,所有的DOM节点都是在这个复合图层下。(2)如果开启了硬件加速功能,可以将某一个节点变成复合图层。(3)复合图层之间的绘制互不干扰,直接GPU直接控制。1.2 开启GPU硬件加速transformopacityfilter1.3 注意事项内存。如果GPU加载了大量的纹理,那么很容易就会发生内容问题,这一点在移动端浏览器上尤为明显,所以,一定要牢记不要让页面的每个元素都使用硬件加速。使用GP

2021-08-06 09:46:13 75

转载 浏览器缓存

service worker、storage、manifest等https://mp.weixin.qq.com/s/3Ep5pJULvP7WHJvVJNDV-g

2021-06-30 11:21:24 72

原创 七月份计划

首先对上个月总结:算法:把leetcode剑指offer简单题刷了,总体感觉还行,剩下的都是中等和困难题开始各种懵逼,进度就开始变差,甚至有点抗拒刷题,加油干,就看7月了。面经:面经大致过了8/11,要完成剩下的手写源码、react,过一遍印象仍然不深,无法完整地进行口述,7月刷完剩下的,并快速进行第二轮面经学习,实现对大部分问题的口述。vue:只看了下基础的用法,简单的操作和概念,目前不打算做完整项目学业:完成中期,整体还顺利,不过免不了被老师继续压榨,要权衡好学业与找工作的时间,心态放平,避免焦

2021-06-30 10:50:02 67

转载 Html5中的离线存储

https://www.cnblogs.com/jing-tian/p/11011369.html

2021-06-06 15:45:42 102

转载 web worker

http://www.ruanyifeng.com/blog/2018/07/web-worker.html

2021-06-06 14:55:03 60

转载 dispaly、float、position关系

https://www.cnblogs.com/adventureofraindrop/p/6215411.html

2021-06-01 20:04:22 73

原创 6月份计划

六月计划秋招倒计时 61天 1.技能提升 坚持刷leetcode 面经6/11 Vue学习 完成简历制作2.研究生 漏缆监测项目推进 准备中期答辩(延后)3.锻炼 一周2次以上锻炼

2021-06-01 09:11:49 69

原创 Mongoose踩坑

mongoose是通过model来创建mongodb中对应的collection的1.mongoose在内部创建collection时将我们传递的collection名(‘Grade’)小写化,2.同时如果小写化的名称后面没有字母——s,则会在其后面添加一s,针对我们刚建的collection,则会命名为:grades。...

2021-05-28 15:56:40 148

原创 节流与防抖

场景举例:滚动条监听搜索框实现输入实时搜索页面resize事件防抖触发事件后不立即执行函数,事件触发完后一定时间内没有再次触发该事件则执行函数,否则重新计时。实现短时间内大量触发同一事件只执行一次函数。function debounce(func,delay){ delay=delay||300; var timer=null; return function(){ var _self=this; var args=argum

2021-05-24 16:16:02 94

原创 前端模块化

前端模块化就是复杂的文件编程一个一个独立的模块,比如js文件等等,分成独立的模块有利于重用和维护,这样会引来模块之间相互依赖的问题,变量名重复的问题。所以有了commonJS规范,AMD,CMD规范等等。早期的模块化1. 文件划分一个 script 标签对应一个模块,然后直接调用模块中的成员(变量 / 函数)。缺点:模块直接在全局工作,大量模块成员污染全局作用域;没有私有空间,所有模块内的成员都可以在模块外部被访问或者修改;一旦模块增多,容易产生命名冲突;无法管理模块与模块之间的依赖关系;

2021-05-23 11:07:37 127

原创 Webpack智能提示

通过 import 的方式导入 Webpack 模块中的 Configuration 类型,然后根据类型注释的方式将变量标注为这个类型,这样我们在编写这个对象的内部结构时就可以有正确的智能提示。但在运行前记得注释,Nodejs还不支持import(ES6 module)// ./webpack.config.js// 一定记得运行 Webpack 前先注释掉这里。import { Configuration } from 'webpack'/** * @type {Configuration

2021-05-23 10:38:17 453

原创 计网核心概念

对最近所学计算机网络中的核心概念进行汇总OSI:物链网输会示用TCP:物链网输用1.TCP的三次握手与四次挥手如果一个 Host 主动向另一个 Host 发起连接,称为 SYN(Synchronization),请求同步;如果一个 Host 主动断开请求,称为 FIN(Finish),请求完成;如果一个 Host 给另一个 Host 发送数据,称为 PSH(Push),数据推送。TCP 是一个双工协议,为了让双方都保证,建立连接的时候,连接双方都需要向对方发送 SYC(同步请求)和 AC

2021-05-21 20:13:58 130

原创 Js核心原理精讲

1.数据类型基础类型存储在栈内存,引用类型存储在堆内存2.数据类型检查typeof基本数据类型null会判断为Object引用数据类型 Object,除了 function 会判断为 OK 以外,其余都是 ‘object’.instanceofinstanceof 可以准确地判断复杂引用数据类型,但是不能正确判断基础数据类型;Object.prototype.toString对于 Object 对象,直接调用 toString() 就能返回 [object Object];而对于其他对

2021-05-18 10:59:59 273

原创 React 前端面试宝典

什么是React(谈一谈React)从概念、用途、思路、优缺点入手:React 是一个网页 UI 框架,通过组件化的方式解决视图层开发复用的问题,本质是一个组件化框架。它的核心设计思路有三点,分别是声明式、组件化与 通用性。 声明式的优势在于直观与组合。 组件化的优势在于视图的拆分与模块复用,可以更容易做到高内聚低耦合。 通用性在于一次学习,随处编写。比如 React Native,React360 等, 这里主要靠虚拟 DOM 来保证实现。 这使得 React 的适用范围变得足够广,无论是 We

2021-05-17 19:33:43 632

原创 docker实践——部署ant design pro项目

只对前端进行部署!!

2021-05-13 20:27:02 1265

原创 Golang并发实现Nginx日志分析与监控(2)——完整代码

本代码实现了从Nginx日志access.log中读取信息,并用正则解析,最后将requestTime从端口暴露,以便让prometheus抓取。使用Golang并发实现。package mainimport ( "bufio" "fmt" "io" "log" "net/url" "os" "regexp" "strconv" "strings" "time" "net/http" "github.com/prometheus/client_golang/prometheu

2021-05-13 20:10:00 1182

原创 Nginx日志分析(1)——框架搭建

package mainimport ( "fmt" "strings" "time")type LogProcess struct { rc chan string wc chan string path string indfluxDBsn string}func (l *LogProcess) ReadFromFile() { line := "message" l.rc <- line}func (l *L

2021-05-13 09:15:12 77

原创 Leetcode刷题——树(9/16)

开始刷题递归104. 二叉树的最大深度深度后序遍历即可var maxDepth = function (root) { if (!root) return 0; let left = maxDepth(root.left); let right = maxDepth(root.right); return Math.max(left, right) + 1;};110. 平衡二叉树let result = true;var isBalanced = fun

2021-05-08 21:39:48 94

原创 Leetcode刷题——链表(8/16)

开始刷题160. 相交链表双指针法,遍历完一遍后,指向另一个链表的头。a+b=b+a,有交点就一定会在交点处相遇,分两种情况,链表长度相等与不相等分析。var getIntersectionNode = function (headA, headB) { let pA = headA, pB = headB; while (pA !== pB) { pA = pA === null ? headB : pA.next; pB = pB === null

2021-05-08 19:44:29 66

原创 5月份计划

五月计划秋招倒计时 87天 1.技能提升 坚持刷leetcode(完成200题) 坚持刷笔试题 坚持刷面经并整理2.研究生 漏缆监测项目推进 准备中期答辩3.锻炼 一周1次以上锻炼

2021-05-06 20:29:12 34

原创 Leetcode刷题——二分查找(4/16)

开始刷题 69. Sqrt(x) (Easy) 744. Find Smallest Letter Greater Than Target (Easy) 540. Single Element in a Sorted Array (Medium) 278. First Bad Version (Easy) 153. Find Minimum in Rotated Sorted Array (Medium) 34. Find First and Last Position of Element

2021-05-06 20:09:05 60

原创 Leetcode刷题——贪心思想(3/16)

什么是贪心思想是一种总是选择当前最优的,以期望达到整体最优的方法贪心法一般用于求解最优化问题。采用贪心法求最优化问题的算法,一般都包含一系列步骤,每一步都有一组选择,每次都选择当前最优的选择,希望通过局部最优的选择达到全局最优的选择。贪心法不一定总能产生最优解,可能产生近似解甚至完全不正确的答案,故想使用贪心法,最好是能够能够符合贪心法产生优化解的条件。它的做法大致可以分为以下三步:a、确定贪心策略b、根据贪心策略,一步一步得到局部最优解c、将局部最优解合并起来就得到全局最优解开始刷题 455

2021-05-05 23:58:29 227

原创 tips

二叉树只知道前序和后序不能确定唯一的树,必须有中序。

2021-04-28 21:51:02 46

原创 笔试编程题

1.实现EventEmitter,包括on/emit/off/once

2021-04-28 19:48:11 87

原创 笔试常见简述题

1.如何提升页面加载速度,简述原理 页面的加载过程主要分为下载、解析、渲染三个步骤,下面从这三个方面阐述提升加载速度的方法: 1、加快文件下载速度,减小资源文件下载对页面解析的阻塞。页面加载过程首先会下载 HTML 文件,然后自上而下开始解析,解析过程中如果遇到外部资源则会开始下载,直至下载完成才会继续解析。所以,加快文件下载速度方式是有效的提升页面加载速度的方法。具体可以是 1)通过设置 CDN、HTTP 缓存等方式,减少 HTTP 传输时间;2)对文件进行压缩,减小文件体积;3)对 scr

2021-04-28 19:45:44 67

原创 Leetcode刷题——排序(2/16)

快速选择用于求解 Kth Element 问题,也就是第 K 个元素的问题。可以使用快速排序的 partition() 进行实现(略有区别)。需要先打乱数组,否则最坏情况下时间复杂度为 O(N2)。在每执行一次的时候,比较基准值位置是否在 n-k 位置上,如果小于 n-k ,则第 k 个最大值在基准值的右边,我们只需递归基准值右边的子序列即可;如果大于 n-k ,则第 k 个最大值在基准值的做边,我们只需递归基准值左边的子序列即可;如果等于 n-k ,则第 k 个最大值就是基准值堆用于求解 Top

2021-04-27 09:15:31 71

原创 Leetcode刷题——双指针(1/16)

什么是双指针双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。对撞指针是指在有序数组中,将指向最左侧的索引定义为左指针(left),最右侧的定义为右指针(right),然后从两头向中间进行数组遍历。对撞数组适用于有序数组,也就是说当你遇到题目给定有序数组时,应该第一时间想到用对撞指针解题。快慢指针也是双指针,但是两个指针从同一侧开始遍历数组,将这两个指针分别定义为快指针(fast)和慢指针

2021-04-26 15:27:58 150

原创 搜索算法

搜索算法顺序搜索又称线性搜索,一个个顺序查找,找到了返回索引,否则返回未找到信息。是最低效的查找方式。const DOES_NOT_EXIST =-1;function sequerialSearch(arr, target) { for (let i = 0; i < arr.length; i++) { if (target === arr[i]) { return i } } return DOES_NOT_

2021-04-25 11:46:00 65

原创 排序算法

排序算法1.冒泡排序比较所有相邻的两个项,如果第一个比第二个大,则交换。function bubbleSort(arr) { const { length } = arr; for (let i = 0; i < length - 1; i++) { for (let j = 0; j < length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { let

2021-04-23 22:02:41 91

原创 操作系统基础

操作系统核心:运行程序进程它是操作系统的CPU调度和资源分配单位。一个程序在一个数据集上的一次执行进程包括:1.代码2.当前活动 - 程序计数器(PC)-指向当前要执行的指令(地址) - 堆栈(Stack):存放函数参数、临时变量等临时数据 - 数据(Data) - 堆(Heap)进程和程序进程是程序的一个实例,是程序的一次执行一个程序可对应一个或多个进程,同样一个进程可对应一个或多个程序程序是进程的代码部分进程是活动实体,程序是静止(被动)实体进程在内存,程序在外存

2021-04-21 19:10:23 181

原创 docker-compose学习笔记

docker composelinux中国内镜像安装 (需改版本号)sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose添加可执行权限sudo chmod +x /usr/local/bin/docker-compose查看是否安装成功docker-co

2021-04-17 15:02:07 115

原创 docker学习笔记

docker不需要像虚拟机一样重新加载一个操作系统内核,是利用宿主机的操作系统。镜像命令docker images #可选项 #(-a,--all)列出所有镜像 #(-q,--quiet)只显示镜像id docker search #搜索镜像#可选项#--filter=STARS=3000 #搜索出来的镜像是STARS大于3000docker pull #下载镜像docker rmi #删除镜像#docker rmi -f $(docker images -aq) 删除.

2021-04-17 14:39:42 66

原创 4月计划

4月份计划转眼4月过半。。。。1.技能提升 过完红宝书剩余部分 写5篇以上博客,有关技能知识学习(docker) 坚持刷leetcode(每天必刷)2.研究生 写完小论文,并修改 漏缆监测项目下位机推进3.锻炼 一周3次以上锻炼...

2021-04-16 09:38:55 41

空空如也

空空如也

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

TA关注的人

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