在angular中免eject使用pug及stylus插件

当我们用angular cli创建项目后,会发现虽然项目中使用了webpack,但并没有webpack的相关配置。

其实不是没有,只是被隐藏起来了而已。

那么问题就来了,如果angular cli使用的默认webpack配置无法满足我们的需求时,怎么办呢?

此时,要么是放弃,转用其他路子,要么是用eject把webpack配置暴露出来。

对于高级玩家,eject肯定没问题,但对于非高级玩家,难道只能放弃了? 继续阅读

发表在 原创空间, 技术随笔 | 留下评论

试用压风式散热底座

对于电脑,绝对少了不的是散热。只要是用电的东西,其实都是会发热的,只是有的东西发热量很低,不需要散热,或者自然散热就可以了;有的东西发热量很高,自然散热还不够,还需要加上其他的辅助手段。

例如我们比较常见的手机,看电影或玩游戏时间上了,就会很热。例如我们常用的电脑,自然散热的情况下估计煎鸡蛋都不成问题。而移动式电脑——笔记本,同样也是个发热大户,热起来轻则烫手,中则降频甚至死机,重则……恭喜你,可以换新的了。

随着电脑的高速发展,与我们密不可分的就是散热器了。散热基本上就是分主动散热和被动散热,早期的散热片其实就是被动散热的一种,不过现在也还有很多低功耗的电脑是采用被动散热的。我们平常说的散热器,基本都是指主动散热的散热器,例如发展了n多年的风冷、相对比较新颖的水冷、高大上的液氮(这个算什么冷)。

现在的散热手段,还是以风冷居多,成本低嘛;笔记本的散热更是如此。笔记本真是让人又爱又恨,体积小方便移动,可是也因为这样通常散热效果会没那么好。后来就有了其他的辅助散热手段,如散热底座、抽风散热器。散热底座很简单,顾名思义就是底座上有风扇,可以对着笔记本的底面吹。说实话,我用过的散热底座都觉得不咋滴,该热的还是继续热,没什么效果。抽风散热器这个效果会比散热底座好,用过的才知道好!!!不过也有个缺点,通常这东西是针对性定制的,通用性较差。

继续阅读

发表在 生活感悟 | 留下评论

看看这个用 2,000 颗弹珠驱动的超强音乐盒!

继续阅读

发表在 网络媒体 | 留下评论

js复制内容到剪贴板

这个已经是个老生常谈的话题了,网络上相关的资料也有很多,这里我仅仅是对我找到的资料和自己的测试作一些整理。

IE虽然是个坑爹的浏览器,不过在这个需求上,IE绝对是最不坑爹的。
在任何时候,我们只需要调用clipboard.setData(“text”, “我是剪贴板内容”)就可以了,不过会在第一次使用时弹出一个授权提示框;
同样的,我们还可以调用clipboard.getData(“text”)来获取剪贴板的内容哦。
坑爹的IE终于不再坑爹了,鼓掌~~!

继续阅读

发表在 技术随笔 | 标签为 , | 留下评论

模板引擎之EJS/Hogan/Jade/Handlebars性能对比

最近抽空对EJS/Hogan/Jade/Handlebars等几个模板引擎做了些性能对比,下面发出对比结果。

先来说一下测试环境,
同一台机器,同样的环境,页面输出也就是最基础的Hello页面,模板功能中只使用了变量;
测试参数为ab -c 300 -t 10 http://127.0.0.1:5000/

========================= 割 =========================

下面4个结果都是在开发模式下的测试:

EJS:

This is ApacheBench, Version 2.3 <$Revision: 1528965 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)


Server Software:        
Server Hostname:        127.0.0.1
Server Port:            5000

Document Path:          /
Document Length:        207 bytes

Concurrency Level:      300
Time taken for tests:   10.001 seconds
Complete requests:      5181
Failed requests:        0
Total transferred:      2015409 bytes
HTML transferred:       1072467 bytes
Requests per second:    518.04 [#/sec] (mean)
Time per request:       579.107 [ms] (mean)
Time per request:       1.930 [ms] (mean, across all concurrent requests)
Transfer rate:          196.79 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  232 832.7      0    7015
Processing:   171  303  65.0    279     704
Waiting:      168  303  65.0    279     704
Total:        188  536 846.8    285    7430

Percentage of the requests served within a certain time (ms)
  50%    285
  66%    359
  75%    378
  80%    389
  90%   1249
  95%   1452
  98%   3369
  99%   3476
 100%   7430 (longest request)

继续阅读

发表在 原创空间 | 标签为 , , , | 留下评论

nginx location匹配/优先顺序

关于nginx location的匹配顺序,我想也不需要我多说了,不过是结论还是研究过程,网络上都有相当多的文章,随便百度、Google都能找到。

简单点说,分别有=、^~、~、~*、!~、!~*、无前缀等几种,按优先级排列就是= > ^~ > ~/~*/!~/!~* > 无前缀。

=是完整匹配,^~是前缀匹配,~/~*是正则匹配;当这几种匹配都失败时,会再去匹配长度最长的无前缀规则。

~与~*的区别~*大小写无关的,~与!~的区别是!~是~的反义,~*与!~*的区别同理;

正则按照文档中出现的顺序测试,第一个测试成功后后面就不再测试了;

~/~*/!~/!~*这几个正则规则的优先顺序未测,估计也是按文档中出现的顺序测试。

^~是不支持任何正则规则的(不要被^后面的~误导了^_^)。

location匹配以后,除非内部重新计算location,否则是只有一个能生效的。

需要注意的是,^~是个魔鬼,进入这个location后,仿佛内部会自动应用rewrite的break一样,任何脚本都会无效。

继续阅读

发表在 原创空间, 技术随笔 | 标签为 , , | 留下评论

transform动画之rotate与scale的怪异现象

伴随着HTML5同时进入大家视线的,还有CSS3。

自从有了CSS3,我们就可以通过transform和transition来玩一下css动画效果了(当然别忘了还有animation和keyframe哦)。

一般我们的动画效果都不会很复杂了,例如单纯的rotate或scale。

可是,当它们这对基友走在一起的时候,会发生什么现象呢?

继续阅读

发表在 原创空间, 技术随笔 | 标签为 , , , , | 留下评论

禁止腾讯电脑管家的手机提示

腾讯这货真是有够流氓的,不知道啥时候电脑管家多了一个模块,

就是Android手机接电脑上充电的时候,右下角会自动弹出一个充电提示,

如果不小心点了它,电脑管家会免费赠送你一个App。

这东西还无法在设置里面禁止,然后腾讯还全局对自己的文件进行保护,

就算你有管理员权限你也无法删除这些文件。

看着这东西实在是烦,所以今天就想办法来屏蔽它。

继续阅读

发表在 生活感悟 | 标签为 | 留下评论

黑暗料理之盘点奇葩月饼


十仁月饼

继续阅读

发表在 生活感悟 | 留下评论

疯狂玩家用水杯演奏俄罗斯方块主题曲

发表在 网络媒体 | 留下评论