在学习d3、写Demo时用到过一些比例尺,但是总是用了就忘,记不住它们的用处,分辨不出什么场景适合用哪种比例尺。于是整理一篇文章记录它们的用处与用法。
未来的事无人知晓, 所以才有无穷可能
研究 标签
StrictMode
会在开发模式中通过多次调用某些函数或方法来帮助开发者检测代码中可能存在的副作用。
其实TCP并不存在"包"的概念。我们俗称的"拆/黏包"只是很形象的描述了"多次send的数据被一次全部recv了出来"的情况。实际上TCP是流式协议, 数据是以数据流的形式存在的。有一个很简单的类比就是大家都知道文件流, 那么在读文件的时候肯定不会说我的文件数据被"拆/黏包"了吧。
那么这种奇怪的情况我们应该怎么解决呢?事实上, TCP会帮我们把数据变为字节流依次发出, 我们应该考虑如何才能依次解析数据流。TCP只是数据搬运工, 具体怎么装箱拆箱还是需要由我们来做。
在某些场景下我们会遇到将一张被转为base64编码的图片插入到DOM树中的需求。
如果当这个图片很大导致base64编码的字符串过长,在插入DOM的过程中难免会造成UI上的卡顿。
尤其是在当下,各种UI框架盛行,DOM节点乱用滥用使得大部分网站的DOM树过深过复杂,插入一个过大的DOM节点势必会影响用户体验。
简单介绍一下yarn
安装包的机制、yarn
的缓存、yarn
的offline mode
的开启方式与验证方式
很多传播活动开发过程中经常需要制作一些单页应用。基于种种不可抗原因不能使用Vue、React等框架进行开发,所以每次开发时都会当场制作/copy前人的路由代码。
10月传播活动中因为时间充裕,便自己实现了简单的路由,以后活动如果需要使用可以继续基于此进行开发。
JS使用的装饰器(Decorator)很像Java的@annotation
,其目的是可以在运行时改变类或者改变类的属性。
Decorators make it possible to annotate and modify classes and properties at design time.
在生产开发过程中,经常接到 "开发挂载在微信公众号上的网页" 的需求。但是需求方往往无法分清"订阅号"、"服务号"的区别,就会导致 "在网页内获取用户信息" 这项子需求无法实现。
但是真的无法实现吗?实际上,开发者可以通过一些其他的手段变相的实现这类需求。
因为设计原因导致Javascript这门语言是单线程执行的,这就导致一些耗时的操作会阻塞当前运行线程。
为了解决这个问题,机智的开发者们引入了“同步”和“异步”这两个概念。
但是为什么程序员们谈回调色变呢?究其原因是因为层层回调会造成所谓的“回调地狱(callback hell)”
- 远程测试(构建)
- 手动执行用户提交的测试脚本
- 可根据语言配置环境与参数
- 基于流的构建
- 自动化部署
- 测试完成后自动部署
- 部署结果可通过邮件告知用户