总结写开心外挂的心得
对开心网的外挂编写做个总结,避免弯路。
针对需求的设计——需求向实现的转化
从调查切入点开始考虑如何着手,确定了基本的方式到写代码,并没有花太多精力,http访问、html解析都不复杂,但后续需求考虑不足造成最初的设计不能满足后续需要。比如后续加入的新模块轮询检索,定时执行都推翻了最初的设计。在设计阶段多大程度上为后续预留扩展余地有待思考。
避免过度设计
小程序貌似没有这个问题,基本上能减的都减了^_^ 个人编程更多的是偷懒避免了过多代码。
别为选择耽误时间
左右为难的选择未必是阻碍进程的瓶颈。为几个技术选择或者解决方案思考了很久,其实这些点都不是阻碍开发的地方,一旦确定一条路,剩下的就是解决这条路上的问题了。
事前分析URL VS. 解析页面
简单一个例子,要取得B页面的信息需要经过A页面(如登录),开发中的想法有:
1.预先分析B页面的URL特点,从A页面拼接取得(URL中有随机的Key,需要在A页面取得)。
2.解析A页面中通往B页面的链接。
方法1更直接,Key的解析针对字符做regex查找即可,但缺点是一旦URL改动或者Key的方式改动要重新分析。
方法2站在网站外的视角,直接根据链接名称查找链接地址,缺点同样明显,页面名称不能变化,比如:“组件”这个链接名不能变,否则就找不到了。
最终选择了方法2,使用了比较旧的htmlparser,但扩展简单。
定时任务的控制
预订时间执行预订动作,使用了JDK自带的Timer,绝对的lightweight,API中提到的执行不准的情况忽略不计。整体控制方式:主进程控制子线程,子线程控制TimerTask线程。必要的线程间数据共享使用了ConcurrentSkipListSet,主要是考虑线程安全、可排序和无冗余。
双缓存
从Swing的双缓存思想得来,实际就是转移长时间操作的瓶颈,解决预订任务队列的更新问题,效果确实不错。
错误恢复
对长期自动执行来说,如果发生异常应该有一定的自我恢复能力,比如网络不通造成的异常等等。解决方式用子线程调用TimerTask的方式避免异常造成彻底中断,同时不会因为异常反复发请求。瞬时错误恢复没有解决,比如执行停车失败,会跳过这个车位,查找下一个,此时的错误状态等等没有细考虑。
分享到:
相关推荐
测绘技术总结编写规定(最新版)本标准代替CH 1001—91《测绘技术总结编写规定》
《测绘技术总结编写规定》(CH/T 1001-2005)是测绘行业的一项重要标准,旨在规范测绘项目的实施过程中技术总结的编写工作。这份文档详细阐述了如何系统、完整、准确地记录测绘项目的全过程,以便于经验交流、成果...
从标题和描述中,我们可以了解到该文档是一份关于军用产品研制技术文件编写范例中的一个部分——研制总结。该范例文档的内容包含26页,大小为10.3MB。虽然给出的“部分内容”中充斥着大量重复的“竹叶门冬青”字样,...
【BREW应用层代码编写总结】 BREW (Binary Runtime Environment for Wireless) 是一种专为移动设备设计的应用程序开发平台,尤其适用于早期的CDMA网络。本文将深入探讨BREW平台上AP(Application Process)应用层...
本次XXX项目性能测试总结编写目的,在于对性能测试实施的过程及结果进行分析,以总结性能测试方面的经验与不足,为其它项目规范实施性能测试提供参考标准。预期参考人员包括测试人员、测试部门经理、项目管理人员、...
CH_T 1001-2005,测绘技术总结编写规定.pdf
数据分析报告编写方法总结
《RF-YX-ZY-06 销售总结编写作业指引》是一份旨在指导销售团队进行有效销售总结编写的详细文档。在这个压缩包中,主要包含了一份名为“RF-YX-ZY-06 销售总结编写作业指引.doc”的文件,这显然是一份Word文档,用于...
在软件工程中,编写有效用例是确保项目成功的重要环节。用例是一种文档,用于描述系统如何响应外部请求,它以用户或其他系统与系统交互的方式定义了系统的功能。编写有效用例需要了解用例的结构、范围、项目相关人员...
通常所说的CDR插件,指的是GMS、CPG、Addon这类需要将插件程序放在CDR软件对应的Draw\GMS、Draw\...凡是能编写EXE程序的开发工具,理论上都可以编写外挂式CDR插件。此资源就是一个完整的C#编写外挂式CDR插件例子工程。
《项目工作总结报告》编写提纲.docx
博途自定义功能块面板:全面解析与教程,包含配套总结、源程序及高效批量编写方法,界面美观实用。,博途自定义功能块面板:全面解析与教程,包含配套总结、源程序及批量编写优化策略,界面美观实用。,博途自定义功能...
总结来说,"抢票神器编写"涉及到的技术和知识包括但不限于: 1. 软件工程基础:需求分析、设计、编码和测试。 2. 网络爬虫技术:抓取和解析票务网站的信息。 3. 多线程/异步编程:提高抢票速度,同时处理多个购票...
国家标准、行业标准、地方标准、企业标准编写模板,word里面直接编辑,省去格式调整! 偶需要编写一个行业标准,找了一堆格式规范,要按这些规范自己编标准的话没几个星期搞不定。有了这个模板软件,可很容易的形成...
PDF文档,我自己总结编写的教程,实际项目应用,私家珍藏。 ,核心关键词:OMRON CP1HPLC; 电子手轮控制伺服; 接线方法; 设定步骤; 编写程序; 教程; PDF文档; 实际项目应用; 私家珍藏。,OMRON CP1HPLC伺服控制教程:...
包括:《软件项目计划》、《项目进度报告》、《项目开发总结报告》 软件开发文档。包括:《需求规格说明》、《概要设计说明》、《详细设计说明》。 软件测试文档。包括:《测试计划》、《软件测试分析报告》。 产品...
用户手册编写目的 用户手册是帮助用户更好地了解和使用该企业管理系统的重要工具。该手册讲述怎样安装、配置和使用该软件,以及该软件使用过程中应注意的一些问题。通过使用该手册,用户可以快速了解软件的功能和...