删除iphone/ipad正在载入或等待中的程序

用app Store下载程序时,由于网络等等原因,一直没有下载成功,在桌面上就显示“正在载入”或“等待中”这样的图标,一直消除不掉,相当郁闷啊。通过“同步助手”重新安装这个程序又安装不上,用iTunes下载,同步也样无效。最终找了N多地方,用ifunbox打开var/mobile/media/download目录,先把网络关了,把download目录下的文件全部删除,重启设备,哈哈,大公告成。

最后请乔不死在中国也放个服务器吧,我靠,国外速度太慢了。。。。

Posted in 手机相关 at May 28, 2011. by 傻猫 .    Views: 17945    No Comments

程序出错后的经典回复

程序员和软件测试员之间的关系无须多言。这些经典回复是国外程序员总结分享的,“全球通用”。
20. "That’s weird…" 很奇怪……
19. "It’s never done that before." 以前没这样过的。
18. "It worked yesterday." 昨天还好好的。
17. "How is that possible?" 那怎么可能?(怎么会出问题?)
16. "It must be a hardware problem." 这一定是硬件问题。
15. "What did you type in wrong to get it to crash?" 你输入什么东西后才崩溃的?
14. "There is something funky in your data." 你的数据有问题。
13. "I haven’t touched that module in weeks!" 我好几个礼拜没动那个程序了!
12. "You must have the wrong version." 你一定在用错误的版本。
11. "It’s just some unlucky coincidence." 这只是凑巧。
10. "I can’t test everything!" 我无法测试所有东西。(我的机器环境下,无法测试所有的可能情况。)
09. "THIS can’t be the source of THAT." “这”不可能是问题的原因。
08. "It works, but it hasn’t been tested." 程序能用,不过还没有测试。
07. "Somebody must have changed my code." 一定有人改了我的代码。
06. "Did you check for a virus on your system?" 你的电脑扫描病毒了么?
05. "Even though it doesn’t work, how does it feel? 即便程序不行了,(你觉得)程序写得如何?
04. "You can’t use that version on your system." 你不能在你系统上使用那个版本的程序。(程序版本和系统有冲突。)
03. "Why do you want to do it that way?" 你怎么会想着那样操作啊?
02. "Where were you when the program blew up?" 程序崩溃时,你在做什么呢?(做了哪些操作?)
01. "It works on my machine" 在我机器上好好的!!!(潜台词:怎么在你那就出问题了呢!!!)

Posted in 软件开发 at April 2, 2011. by 傻猫 .    Views: 3886    No Comments

最近的这堆事儿

最近一直想写点东西,但是憋了很久,也没冒出几个字来,为了保持更新率,不得不去摘抄几篇新闻,每天除了上班还是上班,有点完全不是我想的生活一样,我的理想是SOHO,想做事就做事,想休息就休息,天天坐在家里上班一样也可以逍遥地生活,自由自在,快快乐乐地生活。然而现实总是让人不尽人意,该几点起床还得几点起床,该上班的还得去上班,虽说一个月有两三千工资,但是总给人的感觉是要死不活的一样,除了月供1500,剩下的也就不多了,想富是富不起来的,想饿死也是饿不死的,日子就这样一天一天地过去,一日就是一天啊。。。。。。

11月18日,新的管理系统正式上线,有喜有悲。终于把这个大事解决了,搞了两个月,终于搞定了,虽然数据转移过程中,有一点一点小问题,但是很快被解决,没有造成大的影响,算是完美升级成功。俗话说“内行人看门道,外行看热闹”,这次软件大升级,完全打乱了以前的数据处理方式,数据处理层完全使用新的方式。两年前,最初只有几万数据的情况,可以快速反应,但是如今数据量已经达几百万的时候,不从根本上解决的话,软件速度肯定会随着数据的增加越来越慢,服务器硬件的升级是提高性能的一个方面,软件的优化也是一个重要的方面。从旁观者来说,界面作了调整,漂亮了,整体上提高一个档次,从专业技术上来说,新的系统在数据处理上是一个质的飞跃,所以请那些半懂不懂的同事尊重别人的劳动成果,尊重别人也是尊重自己,对别人的肯定,高质量的软件对你的工作也有很大的帮助,对公司的业务也是有很大的促进的,你说呢?

在艾普网络公司上班,因为工作需要每天都有几个客户要延期的,天太冷了,很早就缩到被窝里了,但是同事打电话来说要延期,没办法,只有起来把电脑打开,快速地连接到公司的服务器上,延期后再快速躲进被窝,但是可恶的是,刚进窝,又接到一个电话。。。。。。某天晚上然后灵感来了,要是我搞一个WAP延期的功能岂不爽感,打开手机上网就可以延期了,而且平时周末也不用一直守在电脑边上,等着他们给我打电话来,带上手机随便走到那里,要延期的话,手机上几个按钮就搞定,说动手就动手,忙呼了两天后,终于把WAP功能实现了,做一个PHP版的WAP网页,爽啊,一键搞定,再也不用那么麻烦地去登录服务器打开软件延期了,晚上在电脑旁边的时候,用Opera打开WAP页,轻松一下就搞定,不在电脑边就用手机延期,我真的太佩服我自己了,偶真是天才啊,哈哈哈。今天用Zend Guard把PHP网页加了密,由于上面配置有连接认证服务器的帐号密码,加密后也安全一些了,不能直接看到我的帐号密码,提高安全保护,嗯,安全第一。

前几天晚上电视台在放《仁者无敌》,是由《亮剑》原版人马拍摄,几个主要的演员都在,电视每天晚上放两集,看的我心欠欠的,BT下载到电脑上,上周星期六晚上看到3点,哈哈哈,一口气看完了,真爽。另外最近湖南卫视的《挑战麦克风》也挺好看的,唱的全是经典的歌曲,女主持人挺漂亮的,男主持也不错,关键是歌曲不错,加上是全民参与节目,推荐大家看看看,挺不错的。

今天人品值爆涨,BL又有一个生意,又多了$3,希望每天都有一个好心情。

我的理想:SOHO,SOHO;我的愿望:天降财神,喜迎迎!!

Posted in 我的生活 at December 19, 2008. by 傻猫 .    Views: 3132    No Comments

学习编程人员必读(C++为例)

这是俺在别的论坛看到的一篇很早的帖子,虽然俺学C++时间也不长,还是一只菜鸟,但是俺觉得下面说的不错,真的不错,同时可以免了很多坛友询问如何学习C++的口舌:
1.把C++当成一门新的语言学习(和C没啥关系!真的。);
2.看《Thinking In C++》,不要看《C++变成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;
4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
6.会用Visual C++,并不说明你会C++;
7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书;
8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的;
9.看Visual C++的书,是学不了C++语言的;
10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?
11.浮躁的人容易问:我到底该学什么;——别问,学就对了;
12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;
13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
15.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
17.C++不仅仅是支持面向对象的程序设计语言;
18.学习编程最好的方法之一就是阅读源代码;
19.在任何时刻都不要认为自己手中的书已经足够了;
20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准;
21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
26.请看《程序设计实践》,并严格的按照其要求去做;
27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样;
28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密;
29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已;
30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++;
31.学习编程的秘诀是:编程,编程,再编程;
32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》;
33.记住:面向对象技术不只是C++专有的;
34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
35.把在书中看到的有意义的例子扩充;
36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中;
37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路;
39.C++语言和C++的集成开发环境要同时学习和掌握;
40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主;
42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43);
43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的;
44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;
46.记录下在和别人交流时发现的自己忽视或不理解的知识点;
47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX;
48.保存好你写过的所有的程序——那是你最好的积累之一;
49.请不要做浮躁的人;
50.请热爱C++!

Posted in 杂七杂八 at March 3, 2008. by 傻猫 .    Views: 2955    No Comments

最近都在忙啥呢

最近这两个星期有点忙,公司事情不多,IP兼职的工作太多了,网络要更换认证系统,我们的管理系统要重新做接口,这个接口啊完全可以把人弄疯,最初用的PostGre数据库,搞好以后没多久,那数据性能不行,带上两万用户就恼火的很,然后换Oracle数据库,又重新改客户资料管理系统,由于这个系统是偶一手操刀完成的,所以修改的任务当然逃不脱,其实我比较喜欢增加新的功能,基础打的牢实,围绕主数据库进行周边功能添加比较方便,也是独立模块,再说增加新的模块还可以混点奖金,修改这东西就难说了,加班加班不说了,要想混点奖金就有点难了。

换成Oracle以后,系统还是稳定了几个月时间嘛,大概是7,8月份换的数据库,加上我们自身的资料库MSSQL,软件就要同时操作两个数据库,其实以前我用Delphi操作过Mysql不是很稳定,后来系统换PostGre数据库后,用ODBC+ADO也算搞定了,再后来用Oracle也算可以,用了一套ODAC组件吧,好像是这个名字,记不太清楚,也还是算轻松搞定,不过其中过程也耐人寻味啊,由于以前没有用过Oracle,写SQL语句的时候也犯了不少错误,比如MSSQL里边修改时间字段时,直接用引号把值括起来就可以了,但是Oracle不行,必须要用To_Date函数转换一次才可以,还有Oracle也有回滚操作,每写入一条数据后,connection组件要autocommit要设为真,添加数据,修改数据操作后也必须commit一下才行,真BT啊。

最近由于认证又要增加一套系统,数据库是MYSQL的,意思就是我说客户端还要操作MYSQL,一共加起来就要操作三个数据库,OMG,还好我想了一个万全之策,大胆使用WebService,用接口来操作,相当于三层结构,对于客户端软件来说,向接口传递参数就行了,是个黑盒子,具体操作数据库的东西,放到接口上来做,修改起来也方便,虽然我对.net不是很熟悉,还是边学边做,照着前人(傻哥写的Webservice),边查资料,自己写了一个接口,加之上次给IP写呼叫中心接口的经验,这次这个接口还是比较容易就完成了,难点在于C#要同时操作Oracle和MYSQL,要装驱动程序,Oracle我使用的是官方的ODBC驱动程序,Mysql使用的是MysqlDriveCS(一个开源的库),使用起来也很方便,不过在使用过程中犯了一些小错误,语句顺序使用不当,千万MYSQL连接数透支,最终连接不到数据库,C#里边还有这种语句,try   catch   finally  晕死。

Delphi 里就try except 或try finally,把我郁闷死了,有些连接没有释放,最后滚雪球似的越堆越多,最后too many connetion,再也连接不上咯。

把语句改了后,把编译后的DLL文件放到IIS下作接口调用,速度确实一流,要快很多,现在基本上稳定了,恭喜一下自己吧。前两天搞了一个机器人和一个外挂,又发现两门新技术,第一个验证码识别技术,其实只要规则的数字验证码,用物证库很容易就搞定了,另外不规则的就有点麻烦了,那就只有使用OCR组件来进行识别,有些网站验证码图片在IE缓存里有,要识别的话,先COPY出来再进行识别,有些网站缓存里就没有,可能是网页上禁用了吧,那就有点麻烦,虽然我想到一个偷梁换柱的方法可以解决一些问题 ,但是有些网站又用不了,自动填表以后,始终说验证码错误,怎么办呢?于是我想到一种最老土的办法,不过也是最强的办法哦,我用屏幕截图的方法,先把坐标定位好,把验证码按指定图像大小截图到本地,然后再对图像进行自动识别,这样就不怕他说验证码失效这些问题了吧,我可以对验证码说:呸,特别是中国移动的验证码,有很多干扰元素,不过我的OCR系统也要吧识别80%左右,老子用循环,直到认出你的验证码再进行下一步操作,你赖我何?

最近还搞了一个软件外挂,又重新操老本行了,去年4,5月份搞了一个QQ手机短信传情,用的技术是QQ尾巴的那种技术,先抓窗口句柄,再抓窗口内元素的句柄,再给元素传递消息,可以实现自动输入内容,自动点击这些功能,也就相当于一个机器人了,有些BT的程序在输入密码时候有限制,不但要传递消息还要模拟输入,不过还是那句话,不管白猫黑猫,咬到耗子就是好猫,傻猫永远是好猫!

回头看看居然写了这么多了,最近确实太忙了,为了钱啊,都是让钱给逼的啊,要买房呀,要结婚啊,没钱怎么行啊,所以再苦再累都要坚强,人间大炮一级准备已经完成了,现在正在二级准备,希望人间大炮发射的时候,我可以在成都买一套房子呀。

Posted in 我的生活 at November 30, 2007. by 傻猫 .    Views: 3053    No Comments

无窗体无界面exe怎么做?

要做一个无窗体的EXE,在Delphi下有两种方法:

console application
Hide all Foms(MainForm,esc.)

1、做一个控制台程序,生成console application工程文件的办法是:File\new\other\Console Application

2、隐藏窗体,跟无窗体差不多了吧,这样做最简单。
procedure TForm1.FormCreate(Sender: TObject);
begin
application.ShowMainForm:=false;
end;

Posted in 软件开发 at November 8, 2007. by 傻猫 .    Views: 4202    No Comments

WinExecAndWait32调用外部程序,等待外部程序运行完成

 调用外部程序,等待外部程序运行完成,相当于Showmodal功能,呵呵

delphi代码
  1. function WinExecAndWait32(FileName: string; Visibility: Boolean): integer;   
  2. var  
  3.   zAppName: array[0..512of char//存放应用程序名  
  4.   StartupInfo: TStartupInfo;   
  5.   ProcessInfo: TProcessInformation;   
  6.   exitCode: Dword;   
  7.   aVisibility: integer;   
  8. begin  
  9.   StrPCopy(zAppName, FileName);   
  10.   FillChar(StartupInfo, Sizeof(StartupInfo), #0);   
  11.   //给StartupInfo结构体赋值  
  12.   StartupInfo.cb := Sizeof(StartupInfo);   
  13.   StartupInfo.dwFlags := STARTF_USESHOWWINDOW;   
  14.   if Visibility then  
  15.     aVisibility := 1  
  16.   else  
  17.     aVisibility := 0;   
  18.   
  19.   StartupInfo.wShowWindow := aVisibility;   
  20.   //调用CreateProcess 创建进程,执行指定的可执行文件  
  21.   if not CreateProcess(nil, zAppName, nilnilfalse  
  22.     , CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS   
  23.     , nilnil, StartupInfo, ProcessInfo) then  
  24.     Result := -1  
  25.   else  
  26.   begin  
  27.     //等待可执行文件退出  
  28.     WaitforSingleObject(ProcessInfo.hProcess, INFINITE);   
  29.     //得到进程终止状态码  
  30.     GetExitCodeProcess(ProcessInfo.hProcess, exitCode);   
  31.     result := Exitcode;   
  32.   end;   
  33. end;  
Posted in 软件开发 at October 22, 2007. by 傻猫 .    Views: 5838    No Comments