Skip to content
LYF edited this page May 20, 2020 · 35 revisions
  1. 灰度发布:介于黑与白之间,能够平滑过渡的一种发布方式。

  2. CDN回源:当有用户访问某一个URL的时候,如果被解析到的那个CDN节点没有缓存响应的内容,或者是缓存已经到期,就会回源站去获取。如果没有人访问,那么CDN节点不会主动去源站拿的。

  3. CDNCache:用户的WEB访问不是直接访问这些域名对应的服务器,而是访问CDN节点服务器

  4. 现在经过CDN的域名有 c.diaox2.com, a.diaox2.com, b.diaox2.com

  5. 当经过CDN的域名上更改了原有文件,需要刷新CDN,强制节点服务器回源

  6. 当经过CDN的域名上新上传了资源,不需要刷新CDN,因为只要有用户第一次请求,就会触发CDN回源

  7. 可以使用ping命令来判断一个域名是否进行了CDN

    • ping t.diaox2.com

      • PING t.diaox2.com (121.42.141.74): 56 data bytes 未经过CDN
    • ping a.diaox2.com

      • PING a.diaox2.com.w.alikunlun.com (119.188.96.99): 56 data bytes 经过了CDN且可以看出是用的阿里的CDN服务
  8. 如果一个域名经过了CDN,那么ping及nslookup命令列出的IP地址不是web服务器的地址,而是CDN节点地址

  9. 如果一次上线了多个文件,为了保证正确性(因为很可能漏掉某些资源或拼写错误或下载了错误的资源),应该写一个上线脚本。

  10. LTS Long Term Support 长期支持版

  11. node在mac下的安装目录为/usr/local/bin/node

  12. node全局包的安装目录为 /usr/local/lib/node_modules

  13. /Users/liyanfeng下,有一个package.json文件和node_modules目录,我在/Users/liyanfeng/work/sku 目录下使用npm install xxx都安装到了家目下的node_modules目录了。。使用yo angular | webapp命令生成项目也不成功。。就是说在/Users/liyanfeng/work/sku下执行任何npm命令和yo命令都不成功。。以后要注意了。。。我原先肯定在这个家目录下执行过yo 命令导致在家目录下生成了package.json文件和node_modules目录,导致我在/Users/liyanfeng/work/sku使用yo命令时,yo把家目录当作了项目目录。。

  14. 13项有问题的原因在于:目录下有package.json就会自动创建node_modules。npm install xxx的原则就是找到项目根目录。什么是项目根目录呢,有package.json,或者有node_modules目录。

  15. 原来在我的家目录下有一个隐藏的文件 .yo-rc.json,使用yo命令时,会在把这个当成项目目录,删除该文件即可

  16. 由于setTimeout存在时间精度,因此setTimeout(handler,0)中setTimeout事件插入事件队列的延时必定大于0ms,而handler的执行延时则更大了。具体为IE5~8和不插电源的IE9的时间精度为15.6ms,插电源的IE9和其他浏览器则为4ms。

经微软和Chrome团队实验所得降低时间精度将会大大缩短笔记本的续航时间,也是就说更耗电,因此即使浏览器厂商有能力缩短时间精度,但基于多方面的考虑,依然保持上述的精度值。

所谓内核只是个通俗的叫法,起英文名是LOYOUT ENGINE。也叫排版引擎,页面渲染引擎等等。内核就是浏览器的渲染排版引擎。。

浏览器 Chrome Safari Firefox IE Edge
所用引擎 V8 JavaScriptCore SpiderMonkey Chakra Chakra
内核 webkit webkit Gecko Trident EdgeHTML

Chrome和Safari内核是一样的,即对页面的渲染排版引擎是一样的,但是JavaScript是不一样的。下图是两者之间的区别。

Chrome和Safari两者之间的区别

当使用npm安装包很慢或安装失败的情况下,一般就是被墙了,可以给npm换上国内的源。

查看被墙的办法npm info compass如果很长时间没有反应,然后使用npm --registry http://registry.cnpmjs.org info compass

很快就能看到信息,说明就是被墙了。。

sudo npm --registry http://registry.cnpmjs.org install compass -g

 Warning: Running "compass:server" (compass) task
 Warning: not found: compass Use --force to continue.
 Aborted due to warnings.

报错解决办法:gem install compass 使用gem命令再次安装一次compass即可。。。 当然如果安装很慢或安装失败,也是可以改源的。。源地址

MDN上一个脚本阻塞dom渲染的例子

https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded#Cross-browser_fallback

记住:如果不是代码控制,浏览器不会将同一行代码执行两次。 当浏览器执行这个语句时,

$('#close').click(function(){
    alert(123);
});

DOM结构中并不存在`#close'这个元素,所以事件绑定失败。

鸭子类型:如果一个对象,走起路来像鸭子,叫声像鸭子,那么这个对象的类型就是鸭子

在javascript中,由于是基于原型的面向对象,也就是说没有,那么如果确定某个对象的类型呢?这个由这个对象本身来决定,如果这个对象走起路来像鸭子,叫声像鸭子,那么这个对象的类型就是鸭子

在软件开发中,没有加一个中间层解决不了的难题。

这就告诉我们:遇到棘手问题时,试着加入一层中间层

银弹。 在欧洲中世纪的传说中,有一种叫“人狼”的妖怪,就是人面狼身。它们会讲人话,专在月圆之夜去袭击人类。而且传说中对“人狼”用一般的枪弹是不起作用的,普通子弹都伤不到也打不死它,只有一种用银子作成的特殊子弹才能把它杀死。Brooks在他最著名的随笔文章《No Silver Bullet》里引用了这个典故 ,说明在软件开发过程里是没有万能的终杀性武器的,只有各种方法综合运用,才是解决之道。而各种声称如何如何神奇的理论或方法,都不是能杀死“软件危机”这头人狼的银弹。他当时大胆声称并预言方法学家们10年之内绝找不到什么极好的的神奇银弹。他的文章发表后,被广泛引用,后来他的随笔结集成书,《人月神话》。从此,在软件界,银弹(Silver Bullet)成了一个通用的比拟流行开来。1975年所出版的《人月神话》—被称为软件工程圣经。

改代码时,在调用处修改比在实现处修改强1W倍

Crankshaft:Chrome浏览器JavaScript引擎V8的一个新编译架构:Crankshaft。Crankshaft能显著提升JavaScript应用程序的性能,通常在一倍到两倍之间,还能为用户带来更快更流畅的Web页面加载体验

http://news.mydrivers.com/1/181/181481.htm

opera也是用的V8

在弹窗中的input 设置了padding height border-box,在弹窗隐藏时候,用jquery的outerHeight()获取input的高度是padding+height的高度,在弹窗显示状态下,获取的高度是height的高度,想问下大家有知道这是什么原因吗 用的Jquery版本是1.7.2。 原因在于:jquery-1.7.2没有考虑box-sizing,1.8之后才考虑

spec,比如 vue spec

就是 语法标准,相当于 dsl,小程序语法就是 小程序 spec

Clone this wiki locally