Canvas系列(2):曲线图形 发表于 2019-06-15 | 分类于 Canvas 上一章学的是直线图形的描边和填充,本章我们看看对曲线图形的描边和填充。 圆弧画弧的API如下 12345678// 圆心:(x,y) 半径:radius 起始弧度:startRadian 结束弧度:endRadian 画弧方向:anticlockwisecontext.arc(x, y, radiu ... 阅读全文 »
Canvas系列(1):直线图形 发表于 2019-06-15 | 分类于 Canvas 在前端最令人兴奋的技术莫过于Canvas技术。它可以制作出更加绚丽的效果,甚至完全可以胜任游戏开发。最近我也在学习Canvas相关的技术,总是想拿出来跟大家一起分享分享,由于这块技术比较庞大,所以我就分章节一章一章地跟大家分享。这几章节中我们并不涉及webGL相关的知识,感兴趣的可以自己玩一玩。 我 ... 阅读全文 »
建立自己的npm镜像服务器 发表于 2019-06-15 | 分类于 Node 好多公司有这样的需求,需要把公司内部的依赖包放在npm服务器上这样安装的时候直接使用npm install安装了。同时,公司可能不希望自己的代码被别人看到,那么建立自己的npm镜像服务器是最好的选择。最近我也遇到同样的问题,希望在自己公司内部搭建一个npm镜像服务器。 搭建这个服务器有两种办法,一种 ... 阅读全文 »
《高效能程序员的修炼》读书笔记 发表于 2019-05-26 | 分类于 读书笔记 《高效能程序员的修炼》写的是给程序员的一些建议。书中并没有涉及到代码,而是编码之外的一些提高程序员技能的技巧,而这些技巧往往是程序员所缺乏的。作者Jeff Atwood也是一个大牛,如果你没有听说过他,那么你肯定听说过他创立的一个网站:https://stackoverflow.com。 入门须 ... 阅读全文 »
《进化:从孤胆极客到高效团队》读书笔记 发表于 2019-05-12 | 分类于 读书笔记 本书是Tock的创始人Brian Fitzpatrick和SVN开发者之一的Ben Collins-Sussman共同写的。下面是我记录的一些书中的重点: 天才程序神话人们总是缺乏安全感,就像程序员担心别人看到并评论自己未完成的工作,所以好多程序员在工作未完成的时候不会频繁地提交代码。人有一种本 ... 阅读全文 »
微任务与宏任务 发表于 2019-04-27 | 分类于 JavaScript 众所周知,JavaScript是基于事件循环而运行的,微任务与宏任务是事件循环中重要概念。自node火起来后,这个知识点就成了面试官压轴大题,所以我们必须要会。 JavaScript的异步最开始的时候是基于一个个的回调函数,而事件循环中任务,说白了也就是一个个的函数,毕竟函数是JavaScript中 ... 阅读全文 »
非零环绕规则 发表于 2019-04-27 | 分类于 算法 非零环绕规则是图形学中判断某个区域是在所属区域外面还是内部的一种规则。 简单说一下就是这个样子:对于路径中的任意给定区域,从该区域内部画一条足够长的线段,使此线段的终点完全露在路径范围之外。然后将计数器初始化为0,每当这条线段与路径上的直线或曲线相交时,就改变计数器的值。如果与路径顺时针部分相交的时 ... 阅读全文 »
面试官:考你几个简单的事件问题吧 发表于 2019-04-21 | 分类于 JavaScript 面试官:考你几个简单的事件问题吧。几小时后的你:虽然面试官考的很简单,但是就是没有答上来。 事件处理是JavaScript中非常重要的概念,我们使用的客户端软件往往都是事件驱动的,所以面试官特别喜欢问一些事件相关的知识,这里记录几个常见的问题,供大家学习。 事件流的三个阶段:事件捕获阶段、目标 ... 阅读全文 »
HTTP文件缓存判断流程 发表于 2019-04-20 | 分类于 HTTP 缓存判断流程: 如果Cache-Control(或者Expires,Expires绝对时间,优先级比Cache-Control低)未过期,那么使用缓存,否则按照下一条来判断。 如果有Etag,则会向服务器发送Etag和If-None-Match,由浏览器来判断是200还是304。如果没有Etag ... 阅读全文 »