最近这两个星期有点忙,公司事情不多,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的程序在输入密码时候有限制,不但要传递消息还要模拟输入,不过还是那句话,不管白猫黑猫,咬到耗子就是好猫,傻猫永远是好猫!
回头看看居然写了这么多了,最近确实太忙了,为了钱啊,都是让钱给逼的啊,要买房呀,要结婚啊,没钱怎么行啊,所以再苦再累都要坚强,人间大炮一级准备已经完成了,现在正在二级准备,希望人间大炮发射的时候,我可以在成都买一套房子呀。