分分钟骗几千块钱不再是梦

阅读时注意

这篇文章实在太久远了,可能充斥以下内容:

  • 令人不适且非常奇怪的口语/萌二式文笔
  • 受年龄经验导致浅显且幼稚的“技术”类文章
  • 情绪宣泄、个人隐私、对生活的无端负能量抱怨
  • 中二病

阅读这些文章可能让你产生不适或嘲笑感,请谨慎甄别。

这篇文章技术指向不是java的,是vb6的,请注意。

要说我为什么突然写了一篇关于vb6的文章……那还得从很久以前说起…………(雾

先说我在公司里做的事情吧,我在做的是一个在线财务软件,而且是从头到尾我自己在做,包括了前端代码,美工,后台等这些东西,断断续续也做了半年,因为代码是从0开始,所以我可以放肆的用最新版Juqery,最新版后端框架等等,写起代码来非常爽。

而我们项目经理要做的可不是我这个玩意,他要维护一个很重要的全国性质的某考试的考试程序,而那个项目里的代码我也不是没见过,我曾经还帮忙改过几个小东西,看完那套项目的代码后,我只能千言万语化为一句操你妈代表了最开始构建这个程序的人。

简单的来说,就是麻烦的要死,什么IDao,DaoIF,IService,ServiceIF,IManager,ManagerIF,Bean,IAction,ActionIF,BeanFactory,然后要他妈配置一堆XML等东西,才能写上几句实实在在的逻辑代码,为了新增一个功能,我要创建将近10多个的类,还有接口,还有管理器,还有工厂,还有XML,总之让我觉得恶心的不行,我仿佛能感受到当时(5、6年前?)构建这个程序框架的程序员那副丑恶的嘴脸,他一定想:到时候后人如果能用我这个程序代码,一定会被我的这种像是大型企业程序一样的架构能力折服。

而我自己的项目代码写一个Action这样的逻辑类只需要:

public FuckAction extends BaseAction{
  @Action("fuckYou.action")
  public String fuck(){
    //Logic Here
    return "forward";
  }
}

是的,对于配置XML啊,工厂这种东西,的确还是有公司去用的,但这是很几万年前的思想,虽然可以实现什么傻逼“即插即用”的思想,但你要写上几万个配置类来配置你的傻逼思想,显然这对于一个人数不多的公司来说既臃肿又费时。

好好好……偏题偏飞了,回到正题。

前些天,有一次中午和项目经理一起中午出去吃饭,聊着聊着就聊到他现在维护的项目,也无非是几句家常,问问维护这个累不累之类的,废话肯定累啊hhhhhh。

然后话题继续转,聊到了这套考试系统的实现原理。

因为这个考试系统,在考试期间要调用本地的程序,而考试程序的架构却是B/S结构,显然浏览器要是调用本地的程序,那基本是不可能的。

当然……

当然还有个已经快要消失在人们眼中的,古老的,傻逼的,被尘封的技术。

它叫ActiveX。

我们不能怪罪微软为什么弄出了这么傻逼的东西,因为人都是从傻逼过来的,幸好微软已经把眼光转向到更傻逼的.net系列了,而ActiveX也渐渐失去色彩,当然,在我大天朝还是如火如荼的使用,各大网银系统都抓住这跟稻草不放。

不得不说,ActiveX能做到许多有用的事情,然而这并没有什么卵用,你哪怕在ActiveX里写上一亿句病毒代码,如果客户机器不运行你的ActiveX,你也只是个这个逗逼图标而已→QQ截图20150522095833

那么如何能让IE不询问用户的情况下,默认运行ActiveX组件呢?答案是肯定的,而且用户在“Internet选项”里就能关掉这个询问用户的选项,当然如果你关掉后,你的IE就像是报了警一样的满屏幕的提示你“你的IE配置非常不安全”之类的balabala。

在考试的前期准备工作时,各个考场要给每个考生机器传一个“客户端”,这个客户端只是一个全屏的浏览器,而且能锁键盘之类的防止熊孩子考试考一半突然退出来。

(既然都他妈传客户端了,那为什么不去做C/S结构,还要脱裤子放屁,非得用B/S,加上个不伦不类的ActiveX和客户端,我也是不言语,反正我不是写这个项目的,恶心也恶心不到我)

————

和项目经理聊的时候,就聊到了这个ActiveX控件问题,项目经理说这个ActiveX的作用是调用本地的一套试题库,而他的功能非常简单,就是把那套试题库的接口都照抄一遍,然后能让浏览器里的javascript调用,说白了就是个类似代理的东西,因为js不能访问本地,所以用这个ActiveX来间接的代理,调用本地DLL试题库。

我就问我们项目经理,这ActiveX谁做的啊?结果项目经理说,这个是花几千块钱招人做的……

LD6E65100JK1F]BT9}GQCOE

我当时就恨不得一口米饭喷我们项目经理一脸,就一个10分钟就能写完的小ActiveX也能强行坑几千块钱?怎么不尼玛给我几千块钱,我一小时给你做二十个。

我说你这不是被坑了么(虽然坑也是坑老板23333),项目经理说那咋办,咱们公司也没人会写那玩意,我当时也不知道是早上上班路上和哪个叼着面包片的美少女装上了,就说了句这玩意我分分钟能给你做一个。

没想到我一句多管闲事的话让项目经理双眼一亮,他说那太好了,就让我写吧。

项目经理说最近想改个接口的参数,然后又找到那个人,那个人说改一次要几千块钱。

LD6E65100JK1F]BT9}GQCOE

我当时就不愿意了,我说你把那个写软件的傻逼电话QQ之类的给我,我去骂骂他(当然我没说2333)。

显然不能让老板在这么被坑钱了,虽然钱也不给我,但当时只是简单的气愤,他妈一个骗子骗钱也得先编好剧本,然后勾心斗角的骗人啊,这尼玛几句话的代码就能坑几千块钱,现在骗钱都这么好骗么?

其实代码很简单,我用java演示下,就是

public String foobar(String param1,String param2){
  reuturn DLLObject.foobar(param1,param2);
}

对,就是这么简单的东西,你要做的就是个代理

那么用vb演示下,就是

Public Function foo(param1,param2)
  foo=DLLObject.foo(param1,param2)
End Function

DLLObject就是你要代理的那个DLL文件,你可以在vb代码最上面用

Private Declare Function ...

来声明一个或者多个函数,或者最简单粗暴的,直接菜单-工程-引入,引入你的那个DLL文件,然后在通用代码块内声明

Private DLLObject As New xxxxxx

这样你就可以直接使用DLLObject.xxxxx这样的语句了。

而vb6下的ActiveX的构建,与浏览器互相传值等这些东西,网上也都早有了,我就不抄一遍来显得自己没事做了。

——————

打开vb6那熟悉的界面,那熟悉的酸爽铺面而来,仿佛想起我初中时候用vb6开发个记事本小程序后,盯着自己的程序傻呵呵的笑的场景。

虽然经常写完一句代码加上个分号,或者写完if加上个代码块,但还是努力的弄完了……

…………

……

写完这个ActiveX并且获得项目经理吓尿和感激的心情后,本来一切也就这么平静了下来,老板也省了不少冤枉钱,我继续写我的傻屌财务软件,也互不干戈,可,真正恶心的事情才刚刚开始……

详见下一篇文章,我与vb,xp,win7的勾心斗角,斗智斗勇(雾

顺便我问候下微软你妈安详

LD6E65100JK1F]BT9}GQCOE

6 Responses to “ 分分钟骗几千块钱不再是梦 ”

  1. 为什么我感觉应该是jQuery而不是Juqery

  2. 说好的下一篇呢?

  3. 报告,我想看续集[馋嘴]

发表评论