买了新手机、新笔记本的同学往往特别在乎电池,尤其是笔记本,喜欢用各种软件去查看电池损耗。本文希望能简要介绍一些我能所知的锂电池使用和保养的方法。物理也不怎么好,以下所有论断都是查阅资料后的判断。
首先说一下常见的误区:
- 满充满放三次,充电12小时,刻意满充满放,都是对锂电池有损害的方式,这些是对镍氢电池的。
- 充满了继续插着对锂电池没什么用,充电电路会停止充电的。
- 边充电边工作对锂电池影响不大,之所以不建议边充边工作的原因是高温环境对电池损害大。除非笔记本天天不关温度较高,去掉电池可能有点好处。一般情况下,边用边用没有问题。
正确的使用方法是随时充电,想用就用,避免过放。当然,如果有可能,遵循下面的使用方式会有些好处:
- 浅充浅放。也就是说放电和充电的程度都不要太大,所以在条件允许的情况下随手充电就是很好的习惯。
- 避免高温。
- 避免过充和过放。因为锂电池都有保护电路,所以一般情况下,这种情况也不会发生。除非长时间不用,可能就过放了。
长时间不用怎么办?
- 电量在 40%~60% 的程度保存。
- 尽量在低温环境下保存。
此外涉及到充电器的问题:
- 现在很少有把电源管理 IC 放在充电器上,一般都在锂电池上或者设备上。所以充电器只要电压符合,就可以充电。
- 至于充电器的标称电流,代表充电器的输出功率,使用多少是由电源管理 IC 控制的,所以功率大小只会影响充电快慢,使用超过设备所需的大功率充电器充电,也只会依据设备的电源管理 IC 的设置进行充电,通常也不会充得快。特别指出,用 iPad 的 10W 充电器给 iPhone 充电完全没有问题。Apple 网站和下面提供的参考资料中都有回答和验证。
- 充电器电压一般都高于 5V,浮动 0.2V 没有关系,由电源管理 IC 控制提供给电池的电压。
- 尽量不用座充,这是因为市面上的万能充不怎么好。详细介绍见下面的参考资料。
iPad 充电要求比较高,一方面是需要 10W 功率的充电器才能合理的时间充电(否则就太慢了),另一方面,Apple 的充电器的 USB 接口额外有一个识别电阻。没有这个识别电阻,可能会让 iPad 显示"不在充电"。
参考资料如下:
- Battery in a Portable World by Mr. Isidor Buchmann
- Wiki: 锂离子电池 储存电量和温度对损耗的影响
- 阿苷的博客 专业的介绍和评测
- 究竟IPAD的10W充电器能否给IPHONE4充电 大测试
- 揭露ipad只能用原装充电器的秘密
这个东西到底怎么叫呢?插线板,接线板,插排,电源转换器好多名字,英文怎么说?不管了。
为什么要选择一个好的插线板,两点考虑:用电安全和保护电器。
先说结论:
- 不在乎的用什么都行。
- 想用便宜没有过多要求的,用航嘉、公牛、可来博等等你听说过的牌子。
- 需要防浪涌等功能,就选择:APC、贝尔金、突破(保镖系列),不建议用航嘉、秋叶原、飞利浦等带防浪涌的型号,既然都在乎了,就买个好点的。比如飞利浦的低端电源做工不错,带防雷击的型号就比较差。
- 特有钱没地方花的,选择电源净化器、UPS等。
国内大部分插线板(包括品牌的),假冒伪劣(比如不接地线)的就不说了,即使能用的,在做工和用料上往往也不令人满意。设计和用材不好的插线板,自然有安全隐患。
- 线缆铜丝截面积至少应为 3×0.75 平方毫米。如果截面积太小,插线板所接电器功率过大时,线就会发热。有的插线板线很粗,但是里面铜丝确很细。
- 内部走线美观,做工精致。用铜排的当然最好,如果都用焊接方式的,走线美观也不错。一体式内芯有利于减少内阻,避免虚焊,从而降低损耗。
- 插口使用磷青铜接触弹片。使用其他材质的,多次插拔后夹持力就下降了。
- 使用银触点开关。普通铜触点开关容易引起电弧,也就是开关过程中看见的火花。煤气泄漏不要按开关就是说这个。
插线板除了基本功能以外,还有些个性化要求,比如我喜欢:
- 每个插孔独立开关的。
- 插孔间距大。
- 插孔有插入保护,可以防止儿童误插或者异物落入。
- 高阻燃、耐冲击外壳。
插线板骗我们钱,自然是从更高级的功能上来的:
- 过电压保护,过载保护,漏电保护:这些从功能上有了应该不会骗人,算是比较好检测的保护,区别就在于敏感度和承载量,不过一般有这些功能的区别不会太大。
- 浪涌保护,防雷击保护:别想着能防直击雷,对于感应雷和普通浪涌,目前的插线板都是使用压敏电阻 MOV 和放电管来保护的。区别在于用的 MOV 好不好。其实不用太在意浪涌,家用大型电器设计的时候一般都考虑了保护功能(如果没有说明电器不好...)。
- 滤波功能:防浪涌可以削弱尖峰,但是对于电源中的噪声应该无能为力。如果有一个 EMI 滤波器自然更好。如果对音响的性能比较敏感,就多花些钱买电源净化器吧。当然了,真正的HIFI烧友只用雅鲁藏布江的水电,我作为外行就不讨论了。
泡泡网有一个系列文章:帮助你了解电源,可以看看。
总不能在标题上就写如何盗链吧...
Referer 是 HTTP Header 的一个字段(wiki),包含在向服务器发送的请求中,记录访客的来源URI。
很多网站用辨识 Referer 来防止盗链,比如百度、网易相册。以猫扑上的图片为例,如果我们直接访问,或者外链到其他网站,就会显示不出。因为猫扑的服务器判断 Referer 信息,发现不是来自自身网站,就对该请求予以拒绝。
如果网站的防盗链措施只是基于 Referer 判断,可以通过伪造 Referer 来实现外链。比如 Firefox 的 RefControl 扩展。但是依据安全性(The setRequestHeader() method),不能要求用户浏览器发送伪造的 Referer。
所以早期使用 JavaScript 利用 XMLHttpRequest 设置 Referer,早期的 Flash 通过 ActionScript 构造请求的时候,自定义 Referer 的方法现在都被禁止了。
既然不能强制客户端设置 Referer,那只能通过服务器中转的方式,因为在服务器端就可以构造自定义请求了。
对于网站管理者来说,防止盗链的方式就很多了,比如利用 Session,判断 IP,生成随机码等等方式...
Python 允许通过 exec 和 eval 执行以字符串形式表示的代码片段,这体现了动态语言的特性。利用这种特性,可以让代码变得更灵活。不过一直以来,我对这种"动态"的用法不太"适应",因为:
- 让代码引入了某些不安定因素,这些代码片段执行后可能对全局造成影响。尤其是当使用全局名称空间时,它的作用范围难以控制。
- 对执行的效率也有影响。Python 在执行代码之前也是要预编译的,比如 pyc 文件。因此这些字符串形式的代码片段在执行的时候,需要编译的过程,哪怕是使用 compile 编译后重复使用,第一次的编译是难以避免的。
很多人也倾向于避免这种用法,比如:Use of eval in Python?。
不过最近在写网站解析程序的时候,发现为了实现目的,最好的解决方案还是引入这种字符串形式的代码片段。这个问题具体描述是:我需要对一系列类似的网站进行解析。整体的解析过程是相似的,所以我建立了一个框架,使用 XML 保存每个站点各自的解析属性,通常是 XPath 和正则表达式。但是某些内容各个网站的表现方式有很大差别,这些内容想要解析出来只使用 XPath 和正则表达式是不够的。因此对这些例外情形,最好的方式是直接利用代码片段来计算。
此外,现有的项目,比如 Genshi 之类模板引擎也采用了类似的处理手段。
用户使用程序如果能执行自己的代码片段,这往往是有潜在危险的,尤其是在网络服务中,因此我们在使用的字符串代码片段的时候,要严格限制名称空间。对这个问题的讨论,可以参考 Using eval() safely in python,这里做一个简要的总结。
默认的,eval 和 exec 所运行的代码都位于当前的名称空间中,它们也可以接受一个或两个可选字典参数作为代码执行的全局名称空间和局部名称空间。
eval 的用法最严格的限制(注意对 builtins 的处理)是:
eval(user_func,{"__builtins__":None},{"x":x,"sin":sin})
如果希望允许使用某些变量和函数,可以采用下面的方法:
eval(user_func,{"__builtins__":None},{"x":x,"sin":sin})
有关使用 exec 和 eval 的注意事项,文章 Be careful with exec and eval in Python 进行了细致的讨论。首次编译是不可避免的,使用预编译后重复使用可以提高效率。另外使用局部空间因此可以加快变量的查询速度,所以执行会快。
下面还有几个需要注意的地方:
能避免使用的时候,还是应该采用其他方式,比如转换字符串的时候,使用 int() 而不是 eval(),因为如果转换的这个字符串是用户输入的,危险的情况是 eval() 会执行恶意输入的条命令。详细的解释参考:Python之eval()函数的危险。
尽量避免使用 eval 来获取变量名,想要实现动态变量名,使用 globals(),locals() 以及 vars()。
a = 123 s1 = locals()['a'] s2 = vars()['a'] print s1, s2
类似的情况也出现在 JSON 格式的解析上,参见 Running JSON through Python's eval()? 。
ReadTxT 是基于 Google App Engine 编写的阅读网络小说的工具,初衷是为了使阅读网络小说更方便而设计的。它支持常见的网络文学站点,比如:起点中文网、纵横中文网、飞库电子书等。用户可以在登录后统一管理各个站点自己喜欢的书目,并保存阅读书签,实现一站式阅读。主要的特点有:
- 支持多个主流小说网站。
- 自动抓取最新的章节。
- 无广告。
- 支持手机阅读,并针对 iPhone 优化。
- 提供下载和订阅功能。
项目主页:http://code.google.com/p/bookreader/
部署需要对 Google App Engine 有一点点了解,如果只是希望使用,可以直接进入:
- ReadTxT:http://readtxt.appspot.com/
- 更多的介绍可以参见 ReadTxT 的帮助
可以保证上述部署的应用是最新版本,除非调整数据库结构,书签信息不会清空(有的时候清空了数据...请不要怪我)。 需要补充说明的是,本人不负责使用代码或者应用本身所带来的网络小说版权问题。
我用 iPhone4,号码是联通的186号段。出问题时候的症状是只能收不能发,无法调出设置中的"蜂窝数据网络"。彩信在手机上未显示发送异常,那些未成功送达的彩信也没出现在账单上。
一句话解决:应该是联通自身的问题,过一天就好了。
下面是折腾记录,谨献给我浪费的时间。
- 能不能发彩信和是否越狱无关。
- 联通网络已经设置好了 APN 信息,所以苹果觉得没必要显示出来。如果是移动用户,可能需要设置 APN,这个是由手机系统里面的 /System/Library/Carrier Bundles/ 决定的。
- 针对2,如果没有"蜂窝数据网络"的设置,就别折腾了,折腾出来你会发现内置的数据也是对的。
- 我觉得没用的所谓技巧:拔卡再插卡;电话号码去掉+86。
- 可能有影响,我不确认的设置:"短信"设置是否带主题,彩信是否写文字。(能发我就没管了,懒得试,一条0.9元)
可能有用的链接,不同系统、不同运营商不一样,仅供参考:
家里一个 iPad 开机花屏,出现一条条的彩道,无法操作,于是拿去维修了。
- 在官方网站预约 Genius Bar,恰好有人取消预约,选择了一个中午的时间。
- 到了苹果店确认了预约,然后等待。只带了机器,没带括发票、充电器、数据线。
- 准时开始,负责接待的是一个漂亮姑娘,记得名字是 Endless。
- 先问我是不是破解了,我说没有。问我是否摔了,我说没有。问我是否进水了,我说没有。我说就是放着就坏了。
- 问我是否有重要资料,我说没有,然后连电脑重置,过程正常,但是问题依旧。
- 判断是内部硬件问题。(虽然我早知道...我觉得是屏线问题)
- 给我换了一台,我打开后是4.2.1版本,外观有一点点无关紧要的瑕疵。
- 再次更换了一台,系统是3.2.2。
- 签字,说保修3个月,但是我本身质保也是3个月后过期。