前几天连续下了好几天的雨,然后这几天又是持续的高温。
先是觉得某一处牙龈疼,然后是上火,接着是口腔溃疡,喉咙里似乎总有一口痰。
Olay 的同学来北京找工作,我就睡客厅了,谁知道今年居然 N 多蚊子,脸上、胳膊上、肚子上、脚上全部都被咬了。来这里几年了,几乎都没有看到什么蚊子,今年居然一下子全部跑出来了。
昨天居然又给弄感冒了,大热天的感冒,那叫一个难受,谁感冒谁知道。
像我这样很少生病的人,天气异常一下就不舒服了,看来熬夜还是伤身体呀。
半夜的时候还郁闷了下,在沙发上翻来覆去地生气,搞到早上都没有睡着。
很受伤,我要疗养下。
这周五上班的时候,走的比较急,公交卡和鼠标都忘记在家,在路上想起来,幸好单位放了N久前买的 罗技M555b蓝牙鼠标。
到单位使用的时候,发现无法连接配对,从托盘区域点开蓝牙,选择 显示 Bluetooth 设备,然后无法打开,刷进度条很慢,到98%的样子就会一直停留在那里。以前鼠标明明是可以使用的。
干活重要,好在单位还有台式机可以使用,就把这事情放下来了。
后来无意间发现需要在服务里启用 Bluetooth Support Service 这个服务的,启用后就可以顺利打开设备和打印机选项卡了。
不过我最原始的问题依然没有解决,蓝牙鼠标还是发现不了,魅族M9也无法通过蓝牙发送文件,iPhone4 蓝牙也配对不了,按照网上的说法,选择属性,去掉 wireless iAPI 没有效果,报告找不到元素错误。
上周的时候,电脑突然不能用了。一开机发现硬盘灯都不亮了。
把我给急死了。
一来是因为半夜呀,电脑不能开机影响第二天工作。二是因为正准备玩游戏的。电脑都是次要的,大不了再咬牙分个期换个机器好了,主要是数据重要嘛。
反复尝试很久都不行,每次都强制关机的。后来突然想到 olay 的机器,于是把我的硬盘换上,可以正常开机了,看来不是我硬盘的问题。那么接下来就是主板或者屏幕的问题,不过这个不是我简单地拆开就可以解决的。
想到周末的人会很多,周五的下午我就抽时间跑了一趟中关村。电脑自然是要放那里检测的,把硬盘带回来了,我可不想因为任何原因火。
因为恰逢是个周末,在家用 macbook,这悲催的电脑总是提示“WI-FI硬件未找到”,上不了网,各种物理的、软件的、暴力的方式都试过了,都没有效果。要怎么形容这个macbook 呢~
看时间才4点不到呢,于是先把自己的散热板给拆掉了,清理里面的灰尘。安装完后发现有点噪音,开始的时候那么多灰运行时都安静的很,被我一打扫,反而有声音了。
然后又把于总的 T43 拿出来折腾了,这个机器已经很久没有用了。刚开始的时候都开不了机了,充了会电才好,说是系统反应太慢,还有一个bug 就是莫名其妙地失去响应,那就重新安装一个系统吧。
安装完系统后发现问题还是没有解决,在网上搜索了下拆机图,把 T43 给拆开了,里面好多灰。正在清理的时候,olay 跑过来凑热闹,一脚把地上的螺丝给踢不见了几个。
安装回去后发现系统开不了机,就算开机进入桌面有时候触控板也无法响应。后来发现如果使劲按着掌托区域,就正常的。可是老要使劲按着也不是办法,后来发现在右下角垫个东西例如螺丝刀什么的,就可以了。
后来有反复拆装过,终于面板被我给弄裂了一处。
受到影响的莫过于糗事的不能正常更新,用户的反馈让我有点内疚呀。好在周末的时候通知我可以去取机器了,大中午的时候跑过去把机器给拿回来,说是换了块主板。
这周一的时候,晚上机器特别的烫,散热板不是有开着的嘛,后来发现散热板根本就没有运行,我还以为是上次拆散热板给弄坏的,把线插到别的插口又可以了,换手机充电也没有反应,看来是那个 USB 接口坏了。我在拆后盖的时候,散热风扇一下子掉了出来,我那个去,不拧风扇螺丝。
周二的下午又跑了一次中关村,感觉真扯呀。
他们又说把机器给留下来,我坚持要等一等,让跑一下看结果什么情况。等待了一个半小时候,终于有结果了,原来是上次给我换主板的时候,USB 的那一小块电路板在集成的时候没有插紧。我的大脑里就剩下一个英语单词,你们懂的。
按说这次拿回家了应该没有什么问题吧。发现无线不能用了,找不到热点,但是设备管理器里是有这个硬件的。网上搜了下,一看是无线硬件开关没有打开,好吧,给打开后还是无效。禁用重新打开也无效,网上有人说也有同样的问题,说 Fn+F5 也没效果,我试了下这个功能,终于发现原因了,把这里无线的软开关打开后,终于可以上网了。
回家后正在吊儿郎当地看网页,突然发现少了个东西。有的同学可能知道,在读卡器插槽那里在不用的时候是有个塑料卡片放在里面的,现在就是那个卡片没有了。今天给客服打电话,后来说是给我再找一个,然后快递过来。
看明天情况吧,不知道会是什么样的杯具。求安慰呀~
不得不说的是 zen coding 很火,这个工具大大减少了前端攻城师的时间,提高了效率。虽然我用到的也就那么一个功能,还没有接触的朋友们可以去看看。
zen coding 支持很多编辑器,例如 editor plus 、notepad ++,后来流行的 Sublime Text 编辑器也有对它的支持。我用的最多的还是 visual studio ,遗憾的是并不支持 zen coding ,今天终于让我发现了让 visual studio 支持zen coding的方法。
首先,让我们来这里下载一个插件安装包并安装。接下来,打开 VS,工具-选项,左边找到“键盘”,右边“显示命令包含”输入框里输入“zen”,然后下拉列表里就出来了,不出意外的话会有2条记录。选择中意的,再输入快捷键,最后确定就可以了。
经过实验发现,输出的是 <html lang=”en-us”> ,不太符合我们的国情,于是我修改了下配置文件,改为输出 lang=”zh-cn” ,同时觉得 html:5 这样的麻烦了,添加了 html5 的扩展。
其实一直一来我都认为 web browser 控件是和系统的 IE 版本保持一致的。以前在写某一个 Windows Gadget 的时候,发现系统用的是 IE 7 的模式进行渲染,而我的机器上明明安装的是 IE 9,当时感觉这个现象简直颠覆了我以往的概念,于是大惊小怪的@屈屈同学。
然后再另外的一个项目里又使用了web browser 控件,把 userAgent 打印出来,一样地显示 IE7 ,很是不甘心呀。
今天终于发现了原因。其实 web browser 和 IE 并非完全一样。如果应用里使用了 web browser 控件,系统会默认使用 IE 7,也就是 IE 8的兼容模式来渲染页面,即使当前 IE 版本已经到了 9。
如果想要强制使用最新的渲染模式的话,需要修改注册表,在 FEATURE_BROWSER_EMULATION 下面添加自己的键值。我这里以实际的思路举例,需要说明的是,由于工作的原因,我这里只需要关注最新版本的 IE,当前最新的是 IE 9。
1、安装包在安装的时候,先从注册表里获取到系统的IE 版本号,如果是 IE 8 以下,就跳过本逻辑。版本号的获取可以从这里读取:
32位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
64位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer
键 svcVersion 对应的值即为 IE 的版本号
2、在注册表对应的位置创建键值,键为用到 web browser 控件的程序的名称,例如 LenovoProductQuery.exe (不需要完整的路径,带扩展名的完整文件名就可以了),值为第一步获取到的版本值。MSDN 上显示一共有 5 个枚举值,可以根据实际情况来设置,例如 十进制的9。注册表的位置为:
32位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
64位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
4、卸载的时候移除对应的键值即可。
======枚举说明======
9999 (0x270F)
Windows Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the !DOCTYPE directive.
9000 (0x2328)
Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.
8888 (0x22B8)
Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive.
8000 (0x1F40)
Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.
7000 (0x1B58)
Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.
就眼下的技术来说,要用到的是 9999 和 9000。我英文不好,也不知道是否翻译的正确,9999 是说所有的页面都会以 IE 9 标准模式渲染;而9000 是说只有以标准写法的才会以IE 9方式渲染。要在这2个值间如何取值大家自己衡量好了。
更多具体的枚举,请参考微软的定义。
这个事情其实持续了有好几个月了,发生在 Android SDK 更新后,Eclipse 项目可以编译成功,但是运行时会崩溃,无论是模拟器还是真机,跟踪输出的记录为 Caused by: java.lang.ClassNotFoundException 。崩溃的地点是第三方的库。
我有在项目里添加了一些统计、广告、语音相关的SDK,移除掉这些 jar 包后就正常,所以问题可能还是和这些有点关系。
奇怪的是,这项目以前是可以运行的,在反复卸载和安装 Eclipse 和 SDK 都没有效果后,我暂时把这事情给放下来,去琢磨 唠叨下 的代码。后来网上有人给出的解决方案是把项目里的 lib 文件夹修改名称为 libs ,就可以了。有问过其它专门做 java 开发的同事,无论是 lib 还是 libs 对项目来说都无所谓的。但是心里对一定要该名字总觉得是怪怪的。
心里还是有点不死心,继续在网上找线索,后来发现了另外的一个解决方法,看原文可以移步到这里。个人觉得第二种方案比较好,我们来看是怎么解决的哈。
在项目点右键,选择 Build Path ,再选择 Configure Build Path ,然后切换到 Libraries 选项卡,把第三方的 jar 引用全部移动到项目的顶部,然后 clean 一下项目,重新编译就可以通过了。
出错的项目是以前的项目,在 Android SDK 和 Eclipse 升级后出现,所以估计 Google 方面是不是做了一些修改导致项目前后不一样。对于文中提及的2个解决方法,各位看官可以根据自己的爱好和实际情况来选择好了。如果是在升级后新建的项目貌似就没有问题。
题外话:
在使用第三方 SDK 库的时候,我都是按照他们提供的文档,使用 Add External JARs 来添加。但是遇到了一个问题,项目通过版本控制在我的小Y和 Mac 上同步,绝对路径 Cover 不住 2 台电脑的项目设置,后来发现改用 Add JARs 可以解决,用的是项目的相对路径,这个真心不错。总感觉自己出东西真慢的样子,问题拖了这么久才解决。