博客迁移到VPS啦!

更新:目前已经放弃Diahosting转用Linode,对比起来虽然linode最便宜那款相对Diahosting的X180贵了一倍,但是无论从性能还是网络延迟方面都比Diahosting要好,对于想体验高质量服务同时又不希望成本第一些的用户来说可以考虑合租,唯一一点不足的就是支付需要用支持美金支付的信用卡,关于这点可以通过淘宝代购解决。

本博客之前一直都是建在Godaddy买域名给的免费空间上,虽然那个免费空间有广告(在顶端,超大),但是你选择Windows主机然后升级成IIS 7那个广告就出不来了(这似乎是个Godaddy没解决的技术问题),这个方法强烈建议建站新手尝试,连空间带域名一年多说60人民币,买info域名更爽才10块,至于.XXX肯定就贵了.这个免费空间速度还算可以,就是有时候线路抽风,访问比较慢,总体还能令人满意(毕竟不要钱).

这里PS一下,Godaddy有各种优惠码,买得时候查一下.能省不少钱,另外除非很便宜,否则没必要找淘宝代购,付款时支持支付宝,而且币种兑换没有手续费,相当方便.有关教程Google一下,满地都是. >>7.49 .com 域名@Godaddy(广告XD).

用了半年后,这个免费空间上搭建的Wordpress在更新时经常出错,总是不能正确删除旧版的插件目录,ftp上去也不行,过一小时没准那个目录就自己消失了,由于把广告弄掉了也没好意思找客服问,折磨得但疼就准备花钱换主机了.但是光是主机真是没啥意思,一点Geek精神都没有,所以VPS是个好选择,虽然贵了很多,但是可玩性高不少,别人推荐的便宜又稳定的VPS有PhotonVPS,还有国内的Diahosting,我选择了Diahosting最便宜的那个X180(63一个月),理由就是我买完才发现Photon的更便宜.至于哪个更稳定,我也不知道.

Diahosting是中文客服,Ticket处理蛮快的,有什么问题很快就解决了,至今不满意的一点就是最近有时掉包严重(洛杉矶机房),跟客服沟通了下,客服说最近网通出口有问题,机房正努力解决,希望早点解决吧.另外Diahosting的Xen-shell可以自己重装系统,很方便.

配置VPS没有想象得困难(lnmp+wordpress+phpmyadmin),lnmp教程基本参考这个(愿意用一键安装脚本也可以)

对于这个教程的几点补充:

  • 第一步那里有个地址已经失效了,到这里找最新的包就可以了,要不然不能直接yum install php535,你自己编译安装就用不着了
  • 这个教程有个缺点就是通过yum安装的Php的Mysql Library是通过旧版的MySQL编译的,进入phpmyadmin的时候会有提示(我的是:你的 PHP MySQL 库版本 5.0.94 和你的 MySQL 服务器版本 5.5.15 不同。这可能造成一些未知的问题。),没有洁癖得无视就好了,有洁癖的安装php时就自己编译一下,也不费劲.
  • 教程里没有提到nginx的配置问题,这个自己查一下,也很好解决。
  • 至于phpmyadmin,解压缩然后改以下那个config文件就好

遇到的问题及可能的解决方法:

  • 访问.php文件时浏览器显示空页面—-nginx配置文件中php脚本转发那里有问题,一般是php文件路径的问题。
  • phpmyadmin登陆那里无法登陆,无论对错都只是刷新一下,没有提示也不能过去—-跟上一个问题一样。
  • wordpress固定链接问题—-Apache和lighttpd比较幸福,nginx还是要改配置文件,转发规则有个.htaccess和nginx在线转换的一个网站,转换完帖到响应位置即可
  • wordpress插件wp-db-backup不能发送邮件—-安装sendmail

至于ftp(vsftpd)没什么难度,随便一个教程即可

pptpd(都知道是干什么的吧),这里有一键安装包,超方便。

学校连不上pptp,今天又折腾了l2tp,这个费了点劲,有空写个教程。

总体来讲新手配置VPS并不是很难,教程太多了,但是需要有一点terminal基础,再有就是改完配置文件注意重启响应服务才能让配置文件生效。

–以上–

 

XCode 4免证书真机调试

本文转载总结自世界各地,如有侵权还请见谅.

目前可以保证是最简便的方法

方法如下:

  • 创建证书,这里不多说了,直接参考这里创建证书的步骤,不要做除创建证书以外的工作
  • 终端: sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist (其实就是把这个Info.plist中所有XCiPhoneOSCodeSignContext改成XCCodeSignContext,手动替换也可以)
  • 修改项目配置里面的TARGETS:选择ALL找到Code Signing Identity,选择iPhone Developer (这里说的不太明白,大家试一下就知道了)

此时你应当重启下XCode尝试一下是否可以通过真机运行(此时应当是app能装到真机上但是会出现一个错误不能debug,程序也没运行,但是可以像正常应用一样点击运行了,要想可以debug应当做最后一步的工作)

  • Xcode的File菜单上,File >> New >>New File >> iOS >> Code Signing >> Entitlements 新建一个Entitlements.plist,然后在之前修改TARGETS的地方找到Code signing Entitlements,键入:  ./你的项目名/Entitlements.plist(这个路径取决于Entitlements.plist的位置) ,接着运行试试吧!

PS. 如果仍未成功,回复中的内容可能对你有帮助。

–以上–

[UIView beginAnimations:context:]与[UIView animateWithDuration:animations:]值得注意的一个区别

看过官方文档的都知道,官方推荐在iOS4以后使用[UIView animateWithDuration:animations:],而不是原来的[UIView beginAnimations:context:],来完成动画,虽然二者功能几乎完全相同,但使用前者在一些情况下会方便不少,这些内容可以参考官方文档View Programming Guide For iOS的Animation一节.

二者有一个值得新手注意的区别就是[UIView animateWithDuration:animations:]默认会禁止触摸,手势等的响应,这可以通过设置option选项来解决(直接引用StackOverFlow的一段了):

 

UIViewAnimationOptions options = UIViewAnimationCurveLinear | UIViewAnimationOptionAllowUserInteraction;

[UIView animateWithDuration:0.2 delay:0.0 options:options animations:^
 {
     highlightView.alpha = 1.0;

 } completion:nil];

 

就是这么一点事儿,害我走了不少弯路(我也是新手哈),在这里写一下,提示一下有可能遇到同样问题的人.

–以上–

在iPhone/iPad/iPod上查看iOS文档

7.26更新:iPad基本不用看了,拿模拟器试了下发现官方文档对iPad支持甚好,而离线版缺少对iPad的支持,无法通过Safari打开

苹果的官方文档甚是强大,对开发的各个方面都进行了及其详尽的介绍,作为开发者当然要时常翻看,本地的文档只能在电脑上看,要想用我们的iDevices查看文档只好连网看在线版的,但由于网速限制不够有效率,官方文档虽然支持转换成PDF,但是转换速度很慢,转换后一堆超链接也失效了.另外我找了好久也没有一个叫"Procket Documentation"或者类似的App,实在有些遗憾.

这里有一个不太完美的解决方案:官方文档虽然都是docset格式的,但其实右键显示包内容一看就是一堆html,css啥的,和在线版的文档一样完全可以用浏览器解决,所以只要把docset里面的Documents文件夹拖到你的iDevices里面就行了,如果你没有越狱就用GoodReader啥的看吧,不过我用iPhone 4测试效果不太理想,文档首页加载奇慢,而且显示不全,那个搜索不知道好不好使,太卡没法测试,iPad 2不知道效果能怎么样,有iPad 2的同学试验下最好在评论中说下效果,别的页面也可以直接浏览,不过效果没有桌面版的Safai那样好,排版似乎有些问题(不是大问题,试下就知道了),但是不影响看.

如果越狱了,可以在Cydia里搜索下lighttpd,安装,最好也安装一下Lighttpd SBSetting Toggle,安装后重启,然后就可以用Safari访问127.0.0.1了.(这里只介绍下安装那个Toogle后的使用方法,Lighttpd SBSetting Toggle的说明中提到webroot地址是/var/www,配置文件是/etc/lighttpd2.cong,用默认的配置文件访问127.0.0.1就可以直接看到/var/www下的目录.只要把之前提到的Document文件夹放这里就行了,接下来怎么做就不用说了吧.) 用自带Safari打开文档,文档首页依旧很卡,但是比GoodReader强多了,而且搜索也勉强可以用(iPhone 4测试,其他不知效果如何),其他页面和GoodReader浏览效果一样,都是排版有点问题,不影响效果.

目前为止也没做太多测试,现在正考虑用其他浏览器看看效果是否能好些(Operamini试了下根本不行),如果有发现就会更新这篇文章,没有就这样了.

其实这个方法也可以用来查看Android文档什么的.

–以上–

PS:搜狗输入法Mac版真TM2(Ver 1.1),中文标点那个选项没有记忆,切个输入法就又回到默认值了,写这篇文章净折腾全角半角的问题了.另外所谓的词库也就那回事,跟Win版没法比.

推荐:XCode 4视频教程

上一个项目做的差不多了,所以这几天尝试了下XCode 4,发现4与3的区别蛮大的,快捷键也改变了不少,一些功能也不知为何被精简了,比如User Script(应该是被Code Snippet代替了,不过感觉没有Script强大). 看文档实在太麻烦,上网找了找相关资料,发现之前的Become Productive in XCode系列又专门为XCode 4做了10个视频,而且这回是免费的,果断下载过来分享,毕竟看视频要比看文档直观多了。

这里还有个快捷键的PDF

XCode 4的这几个视频虽然感觉不如3的那么经典,但是作为XCode 4的快速入门还是相当有价值的。如果上面那些由于某些原因无法下载,我这里还提供一个115的下载地址,Have Fun。

PS:这篇介绍XCode 4之前的文章都是以XCode 3为基础的,要查看XCode 3的有关文章请通过标签或搜索查询.

–以上–

修改NVCAP让Hackintosh支持双屏显示

阅读本文需要有一定的黑苹果基础知识,这些可以到远景论坛学习。另:本文需要你有一个已经可以正常驱动显卡的DSDT,基于这个DSDT修改NVCAP就简单多了。

首先了解一下NVCAP,网上有篇文章非常全面,直接摘抄过来了:

————————————————————

译文:水平有限,有问题的地方请提出,以便完善。

感 谢Arti以及上周我们在hackintoshes和ppcMacintoshes 上所做的大量NVIDIA 显卡实验。 目前 NVCAP 值已经基本掌握。在论坛我已说过,NVCAP 值不能解决所有问题,但它可以让 你获得正确的 VGA,DVI 显示输出。TV 输出和笔 记本显示可能需要进一步的破解。 首先,讲解下 NVCAP 的重要部分以及它们怎么工作的:

04000000 0000xx00 xx000000 00000000 00000000

粗体字节定义了输出通道,它们使用一种“位图”设置来定义哪个输出设在哪个通道上,但实 际上对于常用的显卡并没有那么多的组合。 大多数显卡使用 4 或 5 种输出:

1/ DVI – 2/ VGA, 3/ VGA, 4/ TV out

1/ DVI – 2/ VGA, 3/ DVI – 4/ VGA, 5/ TV out

接下来,讲解下在 GeForce 5/6/7/8 系列 PC NVIDIA ROM(显卡 bios)中是怎么定义的。

-大多双 DVI 显卡的通道使用这种设置(5 种输出):

通道 1:

DVI + VGA –> bitmap 0 0 0 1 1 –> hex 03

通道 2:

DVI + VGA + TV –> bitmap 1 1 1 0 0 –> hex 1c

或者

继续阅读修改NVCAP让Hackintosh支持双屏显示

NSLog对程序性能的影响

NSLog,既可以像printf那样方便地格式化输出,同时还能输出时间以及进程ID等信息,可谓调试利器.但是其实NSLog对程序性能也有不小的影响,在执行次数比较少的情况下可能看不出来什么,当短时间大量执行的时候就会对程序执行效率产生可观的影响.

我遇到的一种情况就是我在一个UIScrollView子类的layoutSubviews方法中输出了很多次log,而这个layoutSubviews本身又有相对繁重的工作要做,由于每次拖动这个UIScrollView都要调用很多次layoutSubviews,因此程序实际运行起来拖动体验就非常差,卡顿现象严重,多次测试发现注释掉所有的NSLog后拖动就变得正常了.

综上,当你疑惑是什么导致了你的程序运行效率很差的时候不妨注释掉那些NSLog试试,你的问题也许就迎刃而解了.

–以上–

Google Music Beta试用小结

前几天申请了一下Google Music使用,今天就接到邀请了,还挺快,各位想尝鲜的赶快去申请吧!多说一句,Google那些需要邀请才能试用的功能一般你申请以后过个一周左右就会受到Google的邀请了,所以完全不用费劲找注册方法,要邀请函什么的.淡定地等着就是了,cnbeta前几天关于Google Music的文章还整个"人品大爆发"来炫耀,你当我没用过Goole啊!

开始正题(为方便下文中GM == Google Music),总结起来大概这几点吧:

  • 墙的问题:获取邀请现在我不知道用不用在墙外,反正得到邀请后是可以在墙内正常使用的,所以大家暂时不必担心这个问题.可以放心大胆地去搞个邀请玩玩.
  • 最恶心的地方:更新:刚才突然间Safari下又可用了,但是还是抽风,可能是网络问题,要不然就是一些控件什么的没加载完,这段无视吧,.貌似只能使用Google自家浏览器Chrome,火狐,Safari下貌似都不正常,点击各种功能都会提示Couldn't open XXX, please try again later.本人可是Mac下Safari忠实用户,要想让我换浏览器还是不太可能的,所以就此一点就可以放弃在电脑端使用GM了.各位Chrome用户不要喷我.
  • 上传歌曲需要Music Manager这个客户端,只有Mac和Win版.Linux用户哭去吧.通过该客户端上传歌曲,上传速度还可以,不支持Apple Lossless格式(这不明摆着么),不能识别iTunes的智能播放列表,上传后有个Rating不过只有有Like和Dislike(参考Facebool)两种级别,可以同时上传两首歌曲.
  • 编码问题:总体上不错,不像网上说得那样中文乱码,主要还是看你是什么编码的中文,一般要是Mac下看着正常,上传以后也是正常的.
  • 速度:非常满意,基本没有缓冲,不知道上传过去有没有压缩,听不太出来,音乐质量应该是挺高的.
  • 其他:没有Android设备,没法测试那个App,估计可以弥补一下Android上废品般的音乐播放器吧.

总体来讲对GM非常满意,Google这么多年来总算又弄出来个给力的服务,算是可以与iCloud部分功能叫板的一个免费云服务了(不知道以后收费不),根据各种介绍,貌似可以免费存储20000首歌曲,现在正努力上传我的1000+首歌,从早上到下午已将上传了近600首,估计再来一天就差不多了.以后就不用担心离开电脑听不到自己喜欢的音乐了.

–以上–

[下载]XCode技巧视频教程

这个视频教程之前在这篇文章里提到过,总体来讲是个非常不错的教程,从基本的快捷键到各种TextMarco,自定义脚本等统统介绍了一番,话说"工欲善其事,必先利其器",这个视频教程算是"利其器"必备.

视频以XCode3为基础,XCode4我还没装,某些地方会有挺大区别,这些地方自己查查就好了,等我安装XCode4后会出一个简单的教程介绍一下有区别的内容(不过短期内不会了,所以不要指望我)

支持原作者请通过这篇文章的相应连接寻找.

原版已经不能从官网下载到了, 放出个下载地址

 

Mac下iTunes评星全局快捷键设置

估计看这篇文章的都是习惯用iTunes播放音乐并通过评价歌曲的星级(就叫评星吧)来帮助自己筛选喜欢的歌曲.当我们工作或娱乐的同时用iTunes播放音乐的时候不免要对歌曲进行评分/星,一般的方法实在是很麻烦,这里教大家一个添加全局快捷键的方法,帮助你在所有程序下都能方便地为你的歌曲评星.步骤如下:

  1. 打开"Automator"
  2. 模版中选择"服务"
  3. 资料库中选择"实用工具",然后在右边的列表中双击"运行AppleScript"添加到工作流程中(也可以通过搜索直接找到这一项)
  4. 用如下代码覆盖原来的代码:
      tell application "iTunes"
      set the rating of current track to 20
      end tell
  5. 上面的"服务接收选定的"后面的下拉列表选择"没有输入"
  6. 保存并命名为"Rate as 1" (名字随你喜好)
  7. 4中的代码"20"改成"40", 另存为"Rate as 2",以免把第一覆盖了
  8. 依次类推把"20"分别改成"60""80""100",另存
  9. 打开"系统偏好设置" >> "键盘" >> "键盘快捷键"
  10. 左边列表里面选择"服务",然后在右边列表里就能找到你刚刚存储的那几个服务
  11. 分别给这几个服务设置快捷键,注意不要和其他快捷键冲突,我设置成了⌘⌥⇧+1/2/3/4/5
  12. 大功告成,测试一下吧,有问题留言
  13. 一点说明:20 40 ….分别表示1星 2星 … 如果想设置半星那么就用10,30…这些值

Extras:

继续阅读Mac下iTunes评星全局快捷键设置