自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

eswang的CSDN博客

你问我全世界是哪里最美~答案是你身边~

  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 2020 2月 月末总结

前言几天没更了,最近一直在面向面经复习加做题,估计得到三月中再回复更新。总结这个月基本处在巩固和搜罗信息方面,从月初的做题,到后来巩固JS、CSS和计网的知识,再到开始实践打击阶段。可以说是枯燥没啥新意却又充实累的够呛。关于实践打击,等实践结束后会统一发文记录。疫情真的没想到疫情还在继续,三月回不了学校确实是我没想到的,不过提供了一个安心复习的环境还是不错的,期望能快点回归日常然后早点...

2020-02-29 00:03:22 292

原创 推荐几个我经常浏览的前端博客

前言今天有人私信问我优秀的前端博客,说实话我个人也是刚入门,看的也不是太多,这里分享一下我觉得比较好的前端博客。胖哥技术胖,原名,我也不知道,10年要出1000集免费教程,掘金前端优秀作者,这是个人网站,胖哥是我React的入门导师,甚至可以说带我走向前端道路。当然不止是React,胖哥涉猎还是很广的,大家去了他个人网站就知道了。无论是Vue还是React,又或者Koa或者Flutter,...

2020-02-21 19:30:07 2561

原创 Oh My Zsh和Oh My Posh

前言之前用富文本写的几个还算有用的文章,用markdown写一下再发一遍,希望有人看。起因对于小白程序员,配置ZSH最好的办法还是通过Oh My Zsh,这名字起的确实耳目一新。。Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It...

2020-02-21 17:25:22 7272

原创 LeetCode剑指Offer(3)

前言再写三篇左右的样子。打印从1到最大n位数这个其实也是考察写幂运算的,js的**已经是log2 n了,大家想写自己写也一样。var printNumbers = function(n) { let max = 10**n, res = [] for(let i = 1;i<max;i++){ res.push(i) } return ...

2020-02-21 17:16:32 165

原创 LeetCode 剑值Offer(2)

前言估计还得写10个。。。用两个栈实现队列有个点,这个题要求弹出空的话为-1,所以我们做个||:var CQueue = function() { this.stack1 = [] this.stack2 = []};/** * @param {number} value * @return {void} */CQueue.prototype.appendT...

2020-02-21 12:49:14 125

原创 LeetCode 剑值Offer(1)

前言最近LeetCode上架了剑值Offer的题目集,恰巧几天没做题可能有些生疏了,打算抽点时间集中刷两道。这几道题很简单,也没啥看的价值,就当是凑积分了。数组中重复的数字var findRepeatNumber = function(nums) { let dic = {} for (let i = 0;i<nums.length;i++) { let...

2020-02-20 21:44:51 187

原创 简单过过JavaScript设计模式(下)

前言最近为了快点达到6级拿自定义域名,还是分开写。。。适配器模式主要是为了抹平差异而存在的,是一种相对简单单一的设计模式,所以举个简单的????let baidu = {show(){console.log('baidu')}}let google = {display(){console.log('display')}}let googleAdapter = {show(){return ...

2020-02-20 16:50:09 152

原创 简单过过Javascript设计模式(上)

前言设计模式可不是几篇文章能够说明白的,这篇文章也是我的学习笔记吧。构造器模式最简单的设计模式,其实就是我们常见的:function User(name, age) { this.name = name; this.age = age}let a = new User('asen', 12)在使用构造器模式的时候,我们本质上是去抽象了每个对象实例的变与不变,对于上面代码,不...

2020-02-20 00:55:31 172

原创 一文带你看懂从URL输入到页面呈现发生了什么(下)

前言之前写过一篇关于这个经典面试题的,但是从拿到响应到渲染,包括重绘,我都没有详细的讲,这次我们就稍微认真的去了解一下这个过程。

2020-02-19 21:27:18 215

原创 Next.js动态路由的使用与上次个站更新的补充

前言目前网络上关于Next.js的动态路由都还是使用路由别名配合服务端编程来实现的,其实Next9已经很好的实现了声明式的动态路由,而不久前Next 9又更新了9.2.2版本,带来了新一波的更新。动态路由动态路由是9.0更新的东西了,半年多了但是介绍它的文章并不多,这其实是一个很好用的功能,之前Next.js饱受诟病的动态路由只能通过query的方式实现,使得路由都是这样式的:localh...

2020-02-18 23:21:57 1979

原创 一文看懂JSON的stringify与parse

前言深拷贝最常见的使用方式就是JSON.parse(JSON.stringify()),在Immutable之前,我们处理Redux中的数据也多用这种方式。误区首先写个代码:let a = {a:2,b:function(){},c:undefined,d:Symbol(1)}undefineda{a: 2, c: undefined, d: Symbol(1), b: ƒ}JSO...

2020-02-18 17:10:46 367

原创 一段代码帮你巩固JS事件循环

前言标题党了一点,但是不耽误你巩固事件循环。注意是巩固,本文有几点易混的地方,不适合对事件循环一点都不懂的新手。警告????????????: 看完你可能更糊涂,不过这也达到了我的效果代码function test(){ console.log(0); setTimeout(function() { console.log(1); async function asyn...

2020-02-17 18:55:25 262

原创 一文看懂JS异步编程(generator与async、await)

前言generator作为ES6中顶尖的难懂的东西,在我们日常开发的出镜率其实也挺高的,除去redux-saga不说,基于generator封装的async和await也是我们开发中的重要利器。generator...

2020-02-17 12:15:42 644

原创 一文看懂全能的reduce

前言关于数组的遍历方法,我们使用最多的应该就是forEach和map了,一些人可能知道这两个方法除去性能差别,最大的不同就是返回值还是原数组修改的问题,但是对更多的数组方法可能并不是很了解,fliter和some, every等方法这里就不讲了,他们的使用方式都比较好理解,这篇文章主要讲讲最麻烦的reduce。累加先来看看最简单的用法,也是很多实例中使用的累加器手法:> let a ...

2020-02-16 22:07:53 448

原创 个人博客网站的第一次修改

前言今天讲博客网站的部分功能修改了一下,在这里记录下来,说不定以后看起来还有点意义。数据首先是数据层的修复。根据分类获取到的文章列表并没有按照事件降序排列的BUG,这个之前没有注意,使用过程中才发现。关于浏览量和评论数的字段我并没有消除,即使现在不做,以后还是有可能会做的,先留着吧。后台后台的更新稍微多了些,解决的过程中也深受耦合代码的荼毒,关于这方面还有很多知识要学。首先是分类,...

2020-02-16 11:15:58 287

原创 babel学习日记

前言关于Babel,个人了解的并不是太多,用到的地方却是不少。webpack离不开Babel,很多UI库的按需加载也需要Babel,今天就来简单的学习一下。准备首先建一个文件夹,初始话环境,加入下面两个依赖和一个脚本:{ "scripts": { "build": "babel src -d build" }, "dependencies": { "@babel...

2020-02-15 17:40:34 164

原创 手写一个Promise(4)

前言最后一篇,说说除了then之外的Resolve和Reject实现了前面的then后,这两个方法就很简答了。 static resolve(value) { return new Eswang((resolve, reject) => { if (value instanceof Eswang) { value.then(resolve, re...

2020-02-15 00:08:22 187

原创 手写一个Promise(3)

前言then还没有写好。。。then链式异常then的链式处理我们要对reject做一定的修改。 if (this.status === Eswang.FUFILLED) { setTimeout(() => { try { let result = onFufilled(this.val); ...

2020-02-14 23:32:38 142

原创 手写一个Promise(2)

前言上次修改then改了一半。。Pending处理我们回到上次的then代码,这个过程还有一个很明显的漏洞,如果我们在创建Promise时传了一个setTimeout,因为then方法是同步执行的,所以: let p = new Eswang((res, rej) => { setTimeout(() => { res("res")...

2020-02-14 21:30:41 139

原创 手写一个Promise(1)

前言Promise作为目前最受欢迎的JS异步编程解决方案,重要性不言而喻,今天就来实现一个自己的Promise。声明类与构造函数首先声明类,添加几个静态属性代表Promise的状态:class Eswang { static PENDING = "pending"; static FUFILLED = "fufillied"; static REJECTED = "reject...

2020-02-14 18:42:07 191

原创 给Next.js加个antd用的Nprogress进度条

前言用的别人的Nprogress的样式,这里也算拿来记录一下,很方便的工具,没什么依赖就能和其他框架继承。用法yarn add nprogress新建一个文件,如nprogress.css:#nprogress { pointer-events: none;}#nprogress .bar { background: #29d; position: fixed; ...

2020-02-13 21:40:20 1403 9

原创 六个初级前端要掌握的手写

前言回调函数为什么会丢失this,因为回调时的传参某种程度上也是一种隐式赋值,因此会造成隐式丢失的情况。防抖const debouce = (fn, delay) => { let timer = null return (...args) => { clearTimeout(timer) timer = setTimeout(() => { ...

2020-02-13 00:52:08 328

原创 一文看懂JS中的继承

前言看懂这篇文章需要你至少了解原型链的原理。直接举例子,先定义一个Person,再定义一个Man:function Person(name){ this.name = name; this.species='person' this.have = [1,2,3,4]}Person.prototype.hello = () => { console.log('per...

2020-02-12 16:42:10 223

原创 Win10家庭版请保持你的Docker在2.2.0以下

前言2020/2/11,Docker for Windows 发布了今年的第二个更新,版本号为2.2.0.3,做出了一大堆改进都是我不关心的,那就升级呗,没想到。问题描述由于我是Win10家庭版,正是docker目前仅有的不支持Docker安装的WIndows版本,于是只能通过手动开启HyperV和修改注册表Win的版本号安装,同时还要注意安装的时候不能开启Windows容器,而是使用默认的...

2020-02-12 10:41:27 762

原创 一文看懂JS异步编程(Promise)

前言

2020-02-12 00:53:16 1416

原创 在Vue中使用jsx

前言前排警告,这不是玩具!那、还能是啥呢起因最近看到好多在Vue中使用JSX的文章,我虽然是Vue入门的,但是我对Vue的熟悉程度也只有几个V-指令和简单的传值传事件了。作为目前最受欢迎的MVVM框架,其实不学习还是有些对不住自己的。但是无奈太喜欢React,所以在Vue中能使用JSX还是能勾起很多人的好奇心的。我就是,还有么简单Demo对于vue-cli3和4创建的Vue工程,是可...

2020-02-10 23:15:20 1524

原创 Chrome80更新

前言水一篇,说说Chrome80Chrome 80这是Chrome近年来做出的最大改动,至少官方是这么说的。关于Chrome自身的更新,并没有感受到太多,放在最后讲讲,这里主要讲的是devtools的更新。let const可以重新声明了。let a = 2undefinedlet a = 1undefineda1WebAssembly的调试更新,详情source...

2020-02-10 19:31:41 2368

原创 几个二叉树和二叉搜索树的题目

前言跟着上一篇走。。。对称二叉树首先用递归实现function mirrior(root) { function help(r1, r2) { if (!r1 && !r2) return true; if (!r1 || !r2 || r1.val !== r2.val) return false; return help(r1.left, r...

2020-02-10 15:18:51 242

原创 yarn安装electron失败的问题

前言最近胖哥开始发力electron,趁上午不是那么想做题于是跟着研究了一下,结果安装就成了个问题。问题描述首先使用:yarn add electrontyarn add electron得到的结果一样,并没有报错,但是只要检测electron版本就会报:❯ npx electron -vElectron failed to install correctly, please d...

2020-02-09 14:16:37 8119

原创 怎么使用原生的方法让Win10任务栏居中

前言作为资深使用Win环境的开发者,很多东西搞累了总想折腾折腾Win环境,于是在我的不懈努力下,找到了一种类似Mac dock栏的原生优化方法(其实就是个居中显示)。效果当然横屏也有:只不过因为图标栏标题延展的问题,显得不是那么美观,我个人更习惯类似Ubuntu之类的左布局,所以对我来说没有太大影响。方法首先我们新建一个空的文件夹,随处可建接着我们右键任务栏,取消锁定任务栏并在工...

2020-02-09 10:48:58 1812

原创 重学Git(3)

前言最流行的工作流来啦:Feature Branching,还有很多应该注意的用法。核心任何新的功能(feature)或 bug 修复全都新建一个 branch 来写;branch 写完后,合并到 master,然后删掉这个 branch。有了前面的基础,这两句话还是很好理解的。删除远程分支使用的命令:git push origin -d another一般我们开发好an...

2020-02-07 18:23:51 386

原创 重学Git(2)

前言上一文讲了Git的一种多人协作模型,是有一些缺陷的,这一篇我们来着重讲讲分支。HEAD让我们回到git logcommit 1d14549cf3bd74544a975008e1570c71effa4e2d (HEAD -> master, origin/master, origin/HEAD)Author: josem <starinsun@outlook.com>...

2020-02-07 17:03:56 475

原创 Windows更新1909实时防护打不开的问题

前言Windows又出BUG了!大惊小怪问题描述由于这篇文章是我修复好了之后写的,所以大致描述一下,就是实时防护关闭,怎么也打不开,于是去社区找,果然有人提问,它的描述是这样的:病毒保护已关闭。点击或点击以启用windows defender 防毒程序。打开是你的it管理员已限制对应用的某些区域的访问 。并且你尝试法昂我的项目不可用 , 有关详细信息。请与it支持人联系。...

2020-02-07 15:52:07 2386 2

原创 重学Git(1)

前言Git这玩意,对于一个自学者来说用到的确实很有限,想想我做东西,用到的大部分就是:git add .git commit -m ''git push -u origin master其他的回滚甚至都是通过VS Code插件完成的,可视化加对比检查,方便的紧,但是我们真的只需要这些么?CVCS和DVCS让我们从起源开始讲起。CVCS,中央仓库版本控制系统,DVCS,分布式版...

2020-02-07 12:04:24 428

原创 我的网站之被迫营业——救命的React-three-fiber

前言这次是真的被迫营业,原本打算五天做好的东西,三天做好还部署好上交了,感谢React-three-fiber和netlify。

2020-02-06 18:43:04 4058

原创 几个二叉树和队列的题目

前言出不了门,在家做题二叉树的遍历分别用前中后三种遍历方式,先递归再循环,首先第一个是数的定义。function TreeNode = (val) => { this.val = val; this.left = null; this.right = null;}前序const preOrder = (root) => { if(!root) retur...

2020-02-03 19:33:08 182

原创 几个哈希表和双指针的题目

前言二数之和是好多人刷LeetCode的第一道题,很多坚持不下来的小伙伴们,三数之和四数之和了解一下。两数之和这里使用哈希表来解决function twoSum(nums, target) { let map = {}; for (let i = 0; i < nums.length; i++) { if (map[nums[i]] !== undefined) re...

2020-02-02 15:07:13 208

原创 几个栈和队列的题目

前言继续看几个队列和栈的题目有效括号使用栈:function isValid = s => { let stack = [], repo = ['(', '[','{'] for (let i = 0; i<s.length;i++) { let ch = s[i] if(repo.includes(s[i])) stack.push(ch) i...

2020-02-01 21:03:39 175

Flask_web开发.rar

经典的第二版Flask——web开发的书籍,有兴趣的同学可以学习

2019-06-05

空空如也

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

TA关注的人

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