- 博客(21)
- 资源 (3)
- 收藏
- 关注
原创 一文搞定 60 道 hard/meidum 算法题 - 二分法(二)
前言 在我看来,大部分面试的算法题从来都不是难在思维,而是缺乏系统的教学。它不像数学属于普及的基础教育,算法题目的大部分知识、技巧往往都局限于 competitive programming 当中 (比如各种 OI 竞赛、 ACM 竞赛等),这些都是大部分计算机行业从业者接触不到的。它就像一个大群体中一个半封闭的小群体一样,系统的知识就在那里,只是我们很少会主动走进去。因此,我期望将这些知...
2020-10-16 09:59:02
234
原创 一文搞定 60 道 hard/meidum 算法题 - 二分法(一)
前言 在我看来,大部分面试的算法题从来都不是难在思维,而是缺乏系统的教学。它不像数学属于普及的基础教育,算法题目的大部分知识、技巧往往都局限于 competitive programming 当中 (比如各种 OI 竞赛、 ACM 竞赛等),这些都是大部分计算机行业从业者接触不到的。它就像一个大群体中一个半封闭的小群体一样,系统的知识就在那里,只是我们很少会主动走进去。因此,我期望将这些知...
2020-10-14 11:18:17
256
原创 作为前端,我是如何在Leetcode 算法比赛中进入前100的?
Front-End Thinking series(《前端思考录》)主要包含对于前端学习各个阶段的思考前言最近看到晨曦在掘金的那篇爆文,脑海中也突然有了想写一篇关于 LeetCode 相关的文章。我是从 2019 年 10 月开始固定刷题的,目前已经完成 464/1715 题目了,大部分题目的所有可能解法都一一仔细研究了下,所以你看我的提交量达到了 1285/1871。首先,99% 的题...
2020-07-12 14:51:36
262
原创 教你如何定量分析前端主流的构建工具(Webpack/Rollup/Parcel/Browserify+Gulp)?
Mom, I Can't Learn Anymore(《妈妈,我学不动了!》) 是一系列关于计算机领域程序最新时事的文章(偏向于前端领域),在该系列会从不同的角度讨论领域内的实践和进展。前言注意,我期望你带着问题看全文,我们是如何定量分析构建工具?衍生的问题是,学习这类知识的核心是什么?周日在家看 web.dev 的 2020 三天 live,发现不少有意思的东西,其中有一项是关于 ...
2020-07-10 04:38:25
597
原创 如何用一行 CSS 分别实现 10 种现代布局?
Mom, I Can't Learn Anymore(《妈妈,我学不动了!》) 是一系列关于计算机领域程序最新时事的文章(偏向于前端领域),在该系列会从不同的角度讨论领域内的实践和进展。前言更新于 2020/7/12,和 Una Kravets 邮件确认了下,最近她在 web.dev 也发布了新的关于视频里面布局的 blog,有兴趣的可以前去一观 one line layouts周日...
2020-07-08 09:09:00
195
原创 为什么有了 XMLHttpRequest,还要设计一套 fetch API?
Why's THE Design(为什么这么设计) 是一系列关于计算机领域程序设计决策的文章(偏向于前端领域),在该系列会从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。由 Draveness 的《为什么这么设计》 启发正文在阅读本文之前,需要大家先忘掉类似于 $.ajax() 和 axios 这类的库方法或库,回归到最原始的 XMLHttpRequest,然后再去思考新设计的 f...
2020-07-07 04:33:12
269
原创 为什么 setTimeout 有最小时延 4ms ?
Why's THE Design(为什么这么设计) 是一系列关于计算机领域程序设计决策的文章(偏向于前端领域),在该系列会从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。由 Draveness 的《为什么这么设计》 启发正文在前端技术圈子里面,对于 setTimeout 常常有一句结论,“setTimeout 的最小设置延迟是 4ms”。按照 “某乎” 的方式,在回答一个问题之前...
2020-07-04 04:29:36
932
原创 ECMAScript中的Number Type与 IEEE 754-2008
introduction稍微深入了解一下JavaScript浮点数的开发者都会知道浮点数的误差问题,也就是说IEEE754-2008的浮点数误差。常见的案例为: 0.1 + 0.2 = 0.30000000000000004无论是google一下或者baidu一下,这类文章层出不穷,但是很多都是浅尝即止,无法让我能够逻辑通顺的理解。在所有阅读的中文资料当中,我觉得较优秀的是camsong同学...
2019-05-02 13:17:28
199
原创 深入CSS基础之box model
阅读注意事项本篇文章的依赖主要是CSS2.1 specification 8. box model 和 CSS Box Model Module Level 3。本篇整体比较细节和理论,可能会看起来枯燥,我尽量讲的逻辑简单些。个人认为有时候阅读枯燥的理论文章是有必要的。写这篇的文章主要目的在于完善自己的知识体系。因此希望大家能够多多指出文章中不恰当之地方。永久博文地址introduc...
2019-02-19 07:37:08
171
原创 深入前端之replaced element
阅读注意事项本篇文章的依赖主要是html specification 和 CSS specification。也就是说都是第一手资料,而不是转手资料。本篇整体比较细节和理论,可能会看起来枯燥。但是我认为有时候阅读枯燥的文档式文章是有必要的。写这篇的文章主要目的在于集群众之力量来修补自己之知识图谱。因此希望大家能够多多指出文章中不恰当之地方。永久博文地址introduction在阅读...
2019-02-12 03:23:47
246
1
原创 详细理解CSS中的outline
introduction syntax outline and border offsetting the outline: outline-offset property 使用 refer...
2018-10-23 14:34:22
324
原创 JavaScript基本概念之变量与数据类型
变量变量定义变量的作用域全局作用域名字空间的概念局部作用域常量数据类型基本数据类型Undefined类型Null类型Number类型Number类型的NaN字符串类型引用类型Object类型Array类型Date类型RegExp类型Function类型基本包装类型变量变量定义ECMAScript的变量是松散类型,也就是说可以用来保存任何类型的数据。每个变量仅仅
2016-09-30 16:44:15
3050
原创 JavaScript基本概念之简单语法
背景简单语法标识符严格模式语句注释背景之前介绍了为什么要学习JavaScript,JavaScript的面向对象,但是一些JavaScript的基本概念还没有总结,所以今天,把基本概念系统的总结一下。 简单语法标识符所谓的标识符,就是变量、函数或属性的名字或者函数的参数。JavaScript中的标识符得符合一下规则:第一个字符得是字母、下划线或$符号(不能是数字)其他字符可以使字母、
2016-09-30 15:22:23
3740
原创 JavaScript面向对象编程之class继承(ES6新特性)
前言为什么需要引入新的class关键字通过class继承前言上周,我把之前学习的JS中关于对象,对象的属性以及基本的对象的创建和继承的概念做了个总结。今天写一写去年发布的ES6的class关键字。为什么需要引入新的class关键字?基于原型的继承缺点就是需要编写大量的实现代码,并且需要正确实现原型链。 所以ES6中关键字class被正式引入到JavaScript中去。function Stud
2016-09-29 12:05:58
1615
原创 JavaScript面向对象编程之总结
到现在,JavaScript中对象和继承就讲完了,接下来就是一个小小的总结。ECMAScript 支持面向对象(OO)编程,但不使用类或者接口。对象可以在代码执行过程中创建和增强,因此具有动态性而非严格定义的实体。在没有类的情况下,可以采用下列模式创建对象。工厂模式,使用简单的函数创建对象,为对象添加属性和方法,然后返回对象。这个模式后来被构造函数模式所取代。构造函数模式,可以创建自定义引用类型
2016-09-23 19:22:37
503
原创 JavaScript面向对象编程之继承
背景知识原型链默认的原型确定原型和实例的关系谨慎地定义方法原型链的问题借用构造函数1 传递参数2 借用构造函数的问题组合继承原型式继承寄生式继承寄生组合式继承背景知识继承是OOP中非常有名的概念(但不是必要的条件)。基本上目前有两种继承方式,接口继承(Java的Interface)和实现继承。接口继承只继承函数签名,实现继承继承实际的方法。而JavaScript没有函数签名,
2016-09-23 19:14:08
1442
原创 JavaScript面向对象编程之创建对象
背景工厂模式构造函数模式构造函数模式的具体使用将构造函数当做普通函数使用构造函数模式的问题原型模式理解原型对象原型对象与in操作符更简单的原型语法原型的动态性原生对象的原型原型对象的问题组合使用构造函数模式和原型模式动态原型模式寄生构造函数模式稳妥构造函数模式背景我们使用Object构造函数或对象字面量来创建单个对象。但是如果我们使用同一个接口创建很多对象的话,会产生
2016-09-23 18:46:06
1230
原创 JavaScript面向对象编程之对象的属性
对象的定义理解对象属性的分类Data property accessor property定义多个属性读取属性的特性attribute对象的定义JavaScript中的对象究竟是什么意思呢?ECMA-262将object定义为无序属性的集合,其属性可以包含基本值、对象或函数(相当于是一组没有特定顺序的值,类似于散列表)。下面让我们细细来看JavaScript中的对象。理解对象创建对象的最
2016-09-23 18:12:06
1870
原创 JavaScript学习之旅-导言篇
JavaScript学习之旅-导言篇为什么会学习JavaScript? 首先,我认为学习任何东西都是为了解决问题。无关语言好坏。而web应用发展的趋势使JavaScript越来越重要,加上node.js的出现使JS可以用于back-end的开发。再加上,前段时间在一家创业公司,要求全栈开发,所以觉得JavaScript的学习必不可少。而对于一门知识的学习,首先得看你希望掌握到什么程度。对于Jav
2016-09-21 16:33:48
577
原创 健康的生活——导言篇
现代生活高节奏,尤其是程序员的生活,因此健康的生活就不可避免的提上重要日程,本文主要参考中国营养学会、薄荷网论坛以及个人经验,从合理膳食、适量运动、规律生活和心理平衡四个方面来描述什么是现代社会健康的生活状态,具体的健康生活标准。
2015-12-08 21:10:22
670
编写的关于各种数据结构的代码程序(用codeblock编的)
2012-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人