[亲测]成功解决因360前端公共库停止服务引起的问题

2016年08月31日,360网站安全卫士前端公共库宣布停止服务,具体请看公告内容
国内很多网站在google被墙后选择切换至360前端公共库,包括我在内;导致这个月因360前端公共库停止服务,网站打开超慢。

我曾在14年发布轻松解决被谷歌免费字体库拖慢的现象一文,其中正是将字体库更换为360前端公共库。

可喜的事是,google的字体库又恢复了,详细信息可参考Hao Lee于知乎的阐述:https://www.zhihu.com/question/24955477/answer/120232550
Continue reading [亲测]成功解决因360前端公共库停止服务引起的问题

windows 2012 R2 DataCenter 有效激活方式推荐

最近安装了windows 2012 R2 DataCenter,激活过程费了不少劲;
网上百度到的大多数激活码都不灵,最后找到下面这个KMS180天循环激活工具;
经实际测试,能够正常激活。


Continue reading windows 2012 R2 DataCenter 有效激活方式推荐

Sublime Text 如何安装Package Control和插件

今天因工作需要,想针对JS、CSS进行压缩处理,可在Sublime Text2里按Ctrl + P准备安装YUI Compressor时,提示各种错误;现将解决过程记录下来,以便后查。
系统环境:Win7 x64 + Sublime Text2。

安装Package Control

方法一:在线安装
首先按 Ctrl + ~组合键,打开Console窗口;
Sublime Text 2输入以下代码:

import urllib2,os,hashlib; h = ‘2915d1851351e5ee549c20394736b442’ + ‘8bc59f460fa1548d1514676163dafc88’; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( ‘http://packagecontrol.io/’ + pf.replace(‘ ‘, ‘%20’)).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), ‘wb’ ).write(by) if dh == h else None; print(‘Error validating download (got %s instead of %s), please try manual install’ % (dh, h) if dh != h else ‘Please restart Sublime Text to finish installation’)

Sublime Text 3 输入以下代码:

import urllib.request,os,hashlib; h = ‘2915d1851351e5ee549c20394736b442’ + ‘8bc59f460fa1548d1514676163dafc88’; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( ‘http://packagecontrol.io/’ + pf.replace(‘ ‘, ‘%20’)).read(); dh = hashlib.sha256(by).hexdigest(); print(‘Error validating download (got %s instead of %s), please try manual install’ % (dh, h)) if dh != h else open(os.path.join( ipp, pf), ‘wb’ ).write(by)

然后回车安装,安装完了之后重启软件即可。
Continue reading Sublime Text 如何安装Package Control和插件

教您轻松步入PhotoShop的脚本世界【转】

(Kamil Khadeyev 著     timmliu 译     sevenshao&charrywang 校正     查看原文   查看译文)

自动化对每个设计师的工作来说是很有用的。它可以在重复的任务上节省宝贵的时间,还能够帮我们更快捷、更容易的解决一系列问题。

你可以使用photoshop的动作来使工作流程自动化,这是很流行的,大多数人都知道并且已经在使用的方法。今天,我们将介绍给你一种高级的自动 化技巧:脚本语言。所有的这一切仅仅需要你有一点点关于JavaScript的基本知识,这对于我们中的一些网页设计师往往都是具备的。

我很多年前就知道Photoshop的脚本语言,但是我几个月前才开始决定研究它。我忽视了它是因为我认为那是聪明的具有数学思维能力的程序员的领域。但是我错了,今天我将要来告诉大家,尽管它需要一些基本的程序技巧,脚本语言并不是那么难掌握。

但是,一开始,我们得回答以下这几个明显的问题:

为什么我们需要脚本语言? Continue reading 教您轻松步入PhotoShop的脚本世界【转】

[转]Javascript 异步加载详解

本文总结一下浏览器在 javascript 的加载方式。
关键词:异步加载(async loading),延迟加载(lazy loading),延迟执行(lazy execution),async 属性, defer 属性

一、同步加载与异步加载的形式

1. 同步加载

我们平时最常使用的就是这种同步加载形式:

<script src="http://yourdomain.com/script.js"></script>

同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像)、渲染、代码执行。
js 之所以要同步执行,是因为 js 中可能有输出 document 内容、修改dom、重定向等行为,所以默认同步执行才是安全的。
以前的一般建议是把<script>放在页面末尾</body>之前,这样尽可能减少这种阻塞行为,而先让页面展示出来。

简单说:加载的网络 timeline 是瀑布模型,而异步加载的 timeline 是并发模型。
Continue reading [转]Javascript 异步加载详解