在越狱后的IPhone上面部署APP
由 hubdog 于 星期四, 2011-02-10 20:19 发表好久没有写博客了。最近在做Iphone的开发,所以写一下无需购买苹果的License将App部署到越狱后的Iphone上测试。
参考了一些网上的文章。
1.用Mac OSX的Key管理工具创建一个Login类型的iPhone Developer证书,
2.首先打开要部署的工程,添加用户定义的设定
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO
3.再用Property List 打开”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,将所有“XCiPhoneOSCodeSignContext”替换为“XCCodeSignContext”
4.然后找到你项目的xxx-Info.plist文件,添加“signerIdentity”项,其值为“Apple iPhone OS Application Signing”.保存。
科学家和工程师的区别
由 hubdog 于 星期日, 2010-06-27 13:29 发表最近在看H.264的KTA的程序,KTA的程序基本上都是搞科研的人写的基于JM11.0,看科学家们写的程序真是叫吐血呀。
我在看的一个函数写了2000多行。If else嵌套了几十层,中间还夹杂着10个条件编译指令。
另外一个函数超长的函数,也有2000多行,我用文本比较工具比较了一下这两个函数,发现85%以上都一样,
证明这个函数是Copy Paste之后的产物。而且程序里面全局的变量数组魔术字漫天乱飞,不同文件里面的数组定义
都不一样,没看几天就发现了好几个明显的Bug。
估计因为程序写得太垃圾了,找工程师重写了JM绝大部分代码,所以JM17的代码看上去好多了。
修改按钮文字颜色
由 hubdog 于 星期六, 2010-06-26 21:21 发表Delphi的TButton虽然提供了Font的属性,但是更改Font的Color不会改变显示字体的颜色。
要想改变字体的显示颜色,必须使用TBitBtn
脑残的Maven
由 hubdog 于 星期一, 2010-05-10 23:56 发表不记得Antlr是从3.x?开始使用Maven代替Ants来创建Build脚本了。第一次用Maven就觉得这东西怎么这么麻烦,看了好几篇又臭又长的教程,折腾了2天,我愣是没弄明白怎么用。Ants就已经比较脑残了,用XML来实现脚本的功能。Maven更加是脑残,比Ants还要笨重好几倍。
最近看到Antlr作者写的blog,在Antlr4开发前,他也许是被Maven折磨得不行了,终于承认Maven过于复杂,笨重,要重新回到Ants。同时也将以前Hudson持续集成服务器也关了。这事让我觉得好多鼓吹Maven或者类似的buzzword的人说不定就是想装B,不过千万别被雷劈,成了SB。
这里一片文章《辩论:Maven是正确的构建工具吗》写得很好,骂得很痛快
99
由 hubdog 于 星期四, 2010-05-06 22:52 发表慎用Jcl的线程安全模式
由 hubdog 于 星期一, 2010-04-05 23:46 发表今天在调查一个多线程死锁的问题,最后发现是Jcl的容器类的ThreadSafe部分代码导致的,
没时间仔细研究它的线程排他的实现的问题,感觉Jcl的多线程好像老是有莫名其妙的的问题。
感觉好像没怎么仔细测试就拿出来了,tnnd。自己搞了个简单的线程互斥就好了。
减小Delphi2010程序的尺寸
由 hubdog 于 星期日, 2010-03-28 02:25 发表因为Delphi2010中引入了新的RTTI反射机制,会导致编译出来的程序很大。禁用RTTI反射可以减小文件的尺寸
在工程的Uses语句前添加下面的定义就可以禁用RTTI反射
{ Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) }
{$IF CompilerVersion >= 21.0}
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFEND}
参见http://www.zipplet.co.uk/index.php/content/articles_programming_delphi2010rtti
Flex Builder 4发布了
由 hubdog 于 星期一, 2010-03-22 20:00 发表不知道有啥新特性,就知道专业版便宜了300美元。BlazeDS还没有升级到4.0,不知道为啥
多核时代的多线程性能优化
由 hubdog 于 星期六, 2010-03-13 15:27 发表随着摩尔定律的失效,CPU的计算能力不再是可以廉价获得的无限资源了。在多核时代,提高系统的运行速度,采用并发的多线程无疑是最重要的手段了。
在多核系统中,采用何种并发制御方式会极大的影响系统的运行效率,这两天做了一些实验。通常来说,多线程的并发制御主要分为两大类,一类是Polling的轮询方式,也就是Sleep, SwitchToThread,还有一类就是Blocking的阻塞方式,比如Mutex,WaiteForSingleObject这类方式。
简单实验的结果,发现系统的CPU数目越多,并发的线程数越多,使用阻塞方式进行同期制御的程序会更快一些,同时因为不需要轮询,所以CPU的占用率更低。反之,CPU和并发线程数少的时候, Polling的方式更有优势。
为了测试比较多线程的性能,这次用了Intel的Vtune中的Thread Profiler,发现还是相当好用的,不过要注意Intel Profiler无法直接监视基于内存变量的同期制御。这时要调用Profiler的API来告诉Profiler,同期计数器开始,结束,取得,释放的时间点才行。
