分类目录归档:技术

激活office2010出现“Failed to inject memory”错误

使用Office 2010 Toolkit 2.2.3激活office2010的时候,出现Failed to inject memory!错误,原因是前期使用KM激活过office 2010,然后默认启动了KMService,所以要做的就是打开“开始”菜单,搜索“服务”,找到KMService,将其先停用再禁用,如下图

 

KMService

优酷去广告

随着赢利压力,现在的视频提供商提供的显示的广告时间越来越长,挑战着用户忍耐的极限。以前新闻不放广告,而电影或电视剧也只是最多放15秒广告,尚可忍受。现在的情况突变,每个视频都有广告,连一段不到一分钟的新闻也要放10到15秒广告,最长的更大45秒,不过像优酷这样的互联网公司是没有极限的,如果没有明显的反馈,他还要进一步挑战用户的忍耐极限,不过我已经忍不下去了。

最新可用的屏蔽广告的方法,使用chrome或firefox安装OpenGG.Clean.Player,chrome安装方法如下:

  1. 下载脚本,脚本地址:http://tohours.com/download/120679.user.js 这个脚本是经过我修改过的,把其中的浮动提示栏也去掉了,装上跟你直接使用优酷没有任何区别
  2. 在地址栏输入:chrome://chrome/extensions/ 确保进入扩展程序,选中开发者模式,将下载的js拖动到此页面,点击添加按钮

image

其实此中的原理也比较简单,我们以前使用过很多方法,比如修改hosts,后来优酷学聪明了,凡是修改hosts的都会弹出一个黑屏的提示页面,一样要等待蛮长时间。后来有人就出主意禁用youku的cookie,禁用播放器的cookie,但随着youku的升级,这些方法基本上都失效了。现在的这种方法是将优酷的播放器还原到另外的一个版本,所以你会看到在刚打开优酷播放的时候会有一个替换播放器的操作

VBA处理数据

excel有很强大的数据统计功能,就连我数据库初始化数据都先转成excel形式,然后再ctrl + c, ctrl + v 贴进去,使用起来真是很方便。关于excel的书也非常的多,其中的大砖头也不少

但如果对excel不太熟悉的话,也会面对一些问题时束手无策。今天就遇到这样的一种情况,要合并数据,但合并的条件是以第一列的ID为准,也就是说第二列的数据会比较少。数据量比较大,10W以上,不可能纯手工。开始我想到导致数据库,再用程序处理,但后来一想这样做还要我去帮他处理剩下的数据,也不方便,于是就想用vba试试。其实VB是2004年学的,早就还给老师了

以下是写的代码,比较挫,边查边写

Sub export()
    Sheets("Sheet1").Select
    Dim cell_an, cell_bn, cell_a, cell_b
    cell_an = 1
    cell_bn = 1
    While Worksheets(1).Cells(cell_an, 1).Value <> ""
        cell_a = Worksheets(1).Cells(cell_an, 1).Value
        cell_b = Worksheets(1).Cells(cell_bn, 2).Value
       
        Worksheets(2).Cells(cell_an, 1).Value = cell_a
        If cell_a < cell_b Or cell_a > cell_b Then
            Worksheets(2).Cells(cell_an, 2).Value = 0
            Worksheets(2).Cells(cell_an, 3).Value = 0
            Worksheets(2).Cells(cell_an, 4).FormulaR1C1 = "=ABS(RC[-2]-RC[-1])"
            cell_an = cell_an + 1
        ElseIf cell_a = cell_b Then
            Worksheets(2).Cells(cell_an, 2).Value = Worksheets(1).Cells(cell_bn, 3).Value
            Worksheets(2).Cells(cell_an, 3).Value = Worksheets(1).Cells(cell_bn, 5).Value
            Worksheets(2).Cells(cell_an, 4).FormulaR1C1 = "=ABS(RC[-2]-RC[-1])"
            cell_an = cell_an + 1
            cell_bn = cell_bn + 1
        End If
       
    Wend
End Sub

git 同步整个工程时出错

git向bitbucket进行https同步时,如果工程比较大,会出现如下错误:

git  result=22, HTTP code = 502

出现错误的原因是由于本地http缓存太小的缘故,所以要重新设置一下参数,可执行如下命令。

git config http.postBuffer 5242880000
通过以下命令查询
git config –get http.postBuffer

如果直接使用git config http.postBuffer 则将postBuffer变量就置为空了,现在具体这个值太大了会不会对我们有影响,网上的资料也非常的少,只有一个stackoverflow有一两个这方面的讨论,地址是:http://stackoverflow.com/questions/2702731/git-fails-when-pushing-commit-to-github

Sublime Text 2和Eclipse快捷键总结(windows 7下测试通过)

 

使用快捷键可以节省很多时间,也能使开发显得更高端,以下我就Sublime Text 2常用且实用快捷键总结如下,当然,使用最多的ctrl + p 和ctrl + shift + p就不介绍了。

ctrl + shift + d 复制一行
ctrl + shift + 上下方向 交换上下行
ctrl + shift + k 删除一行
ctrl + x 剪切一行
ctrl + b 压缩js代码 (需要装YUI Compress包)

ctrl + k l 变小写
ctrl + k u变大写
ctrl + 回车 在下方插入一行
ctrl + shift + 回车 在上方插入一行
ctrl + alt + backspace 删除空白行

当然,除了使用Sublime做大部分编码外,由于工作需要,目前还不能放弃elcipse,下面也就其快捷键操作方式总结如下:

ctrl + shift + r 打开想要的文件
ctrl + shift + t 打开声明的变量
ctrl + shift + 回车 上面加一行
ctrl + shift + x 变大写
ctrl + shift + y 变小写
ctrl + alt + 下方向(或上方向) 复制选中的行
ctrl + alt + j 向下合并行
ctrl + 回车 下面加一行
ctrl + t 打开继承

alt + 上方向(或下方向) 交换上下行
alt + . 将sysout补全
alt + / 恢复提示
alt + shift + r 重命名
alt + shift + m 抽取本地方法
alt + shift + j 给函数添加doc注释

ctrl + . 跳转到下一个错误或警告
ctrl + , 跳转到上一个错误或警告
ctrl + 2 L 快速定义局部变量

apache 设置目录访问权限

本次使用的服务器环境是CentOS 6.2

需要明确的问题:

1、我们的apache服务在/etc/init.d/httpd中启动
2、我们的配置文件在/etc/httpd/conf/http.conf中
3、我们的网站目录在/var/www/html

 

一、配置http.conf

使用vim打开http.conf,找到

<Directory "/var/www/html">
        …
        AllowOverride None
        …
</Directory>

将AllowOverride None改为AllowOverride AuthConfig,然后:wq保存退出

二、配置.htaccess

使用vim新建文件.htaccess:vim /var/www/html/.htaccess,输入以下内容,然后保存退出

AuthName "need login"
AuthType Basic
AuthUserFile /var/www/html/.htpasswd
require valid-user

三、创建用户与密码

使用htpasswd命令创建用户名和密码文件

htpasswd -c /var/www/html/.htpasswd user

 

四、重启服务

service httpd restart 或者 /etc/init.d/httpd restart

 

然后访问看到要求输入用户名密码的登录框

image

如何使用正则配对查找html中的标签

找了好久,以下的可以使用:

/<script[^>]*>.*?<\/script>/ig

基于javascript的正则,如果使用其他标签可以将其中的”script”进行替换。

有几点需要说明的

1、*?表示非贪心模式,如果是贪心模式下,则会将div中的内容也会替换进去。

<script type=”text/javascritp”>
//code1 at here…
</script>

<div>some other tag</div>

<script type=”text/javascritp”>
//code2 at here…
</script>

2、”<\/script>”中的”\“不可少,不然也会出现错误,当然在js中,/是正则的分界符,但在notepad++中,这个符号也不可少,不知道,虽然正则书上只对以下字符规定了转义要求:

$()*+.?[\^{|

js 实现首行缩进

在html的样式控制里面,一直没有什么好的方法实现段落的首行缩进,下面是我使用正则实现段落首行缩进的代码:

html = " " + html;
html = html.replace(/<br[^>]*>/ig, "<br /> ");

很简单,只要将文中的br或都p前面增加两个中文全角空白字符就行了。

css的text-indent可以实现p中同样的效果,但在br中却不能实现缩进,而且在IE6下显示也有些问题,如果对于浏览器兼容性不高的话,可以选择这种方式,否则的话,上面增加两个全角空白是比较好的一种方式

hosts的问题

昨天困扰了我很久,为什么在我的win7上可以下载googlecode数据,而在MacOS上总是卡在git clone上。今天又尝试了在CentOS上做git clone,结果跟MacOS上是一样的效果。

于是我尝试了在这两台虚拟设备上访问googlecode,结果是可以访问的,我就不知道哪里出了问题。开始的时候我还以为是MacOS自带的git不好用,于是我又下载了一个最新的版本安装了一下,但结果依旧。直到今天在CentOS上又出现同样的事情,让我有些警觉

我尝试着去连git的ref head,结果不能打开,于是我大概知道了是什么原因,还是由于我win机器里面的google hosts会自动更新,而两个虚拟机却不能共享我这台机器的hosts造成的。于是把win的hosts文件拷贝两份给两台机器,一切解决。

但今天又出现了一个问题,我已经完成iphone demo的开发,想装在自己的iphone上,但根据网上生成ipa的方法,我始终差一步,就是不能被xcode搜索到我的机器。我不知道是不是由于我的MacOS在虚拟机中的缘故,其实说实话我们做IOS开发被Apple设置了重重障碍,不得不花费更大的精力在这种与开发无关的事情上,劳民伤财啊

安装MacOS X

1、需要的软件:

  • VMPlayer4.0.1
  • 引导工具darwin.iso
  • MacOS系统LeoSnow.iso

一般MacOS只有LeoSnow.dmg格式的安装程序,这样虚拟软件可能会出现认不出来系统光驱,如果是LeoSnow.dmg,那么还需要一款转换软件UltraISO.exe

2、接下来的流程请参照http://blog.csdn.net/zz457887107/article/details/6410411,注意,在建好虚拟机时,一定将guestOS改成darwin,如下图

b_large_D6Ja_1b750008f61a5c15

b_large_heyZ_1b750008f6775c15

3、这样启动时应该没什么问题了,我遇到的最大的难题是darwin已经引导,但就是找不到光驱的问题,一次次的弹出让重新确认,最后得到的原因是不认dmg格式,一定要转成iso格式才成。如果进入darwin菜单,选择h的话,会提示找不到引导文件,这个操作本身就是错的,因为你硬盘里面根本就没东西,这时候一定要按c能引导进去才能安装,其他一切都是白扯。反正我只遇到了格式不正确的问题,不知道还会不会出现其他问题

4、设置分辨率:

  • 打开终端,输入 sudo -s,取得root权限;
  • 输入 vi /Library/Preferences/SystemConfiguration/com.apple.Boot.plist,打开该文件;
    在<key>Timeout</key>
    <string>10</string>
    的下面添加如下两行:
    <key>Graphics Mode</key>
    <string>1680*1050*32@60</string>
    红色为分辨率,黄色为刷新率
  • 然后保存,退出
  • 重起。

5、安装切换输入法,这里有两点说明,一是如何打开终端:应用程序->实用工具->终端,终端有很多用处,很多命令跟lunux很像

image

第二就是如果设置输入法,系统偏好设置->语言与文本->输入源,就可以设置输入法了。切换输入法的方法是用win + backspace,其实这时的win键就跟apple的comman键是一样的功能了

image