MENU

程序

计划任务的胜利——Fsdbase On PHP

继昨日解决FSD在Linux运行之后,今天又被问到Perl的安装——想得到这与FSD有关:FSDBase需要Perl的支持。不得不佩服fsdbase的作者,几个文件每个都是2000 lines+的代码量,果断不看(本来就没接触过perl)。看到fsdbase目录下有个setup.sh,打开看看,在末尾发现了一小段提示,意为使用者需要在crontab中添加运行fsdbase的脚本,每分钟执行一次。事已至此,基本上就能明白fsdbase的原理了,和想象中的基本一致,也和拐总以前透露的方法差不多。这样一来,心里就有底了。接下来当然是使用php写一个差不多功能的东西,一来是帮助他人,二来是试试之前的epdb到底是否好使,三来也算是完成两三年来没能做到给fsd统计在线时间的心愿吧。

Read More

面向对象初探——epdb数据库类库

首先文章前说几句,这篇博文可能是8月这个疯狂的月份最后一篇原创的技术性文章了。在2013年的这些写php的日子里,真的学到了很多。从改实例开始,到自己磕磕绊绊地纯粹为了实现功能而书写代码,到开始全面地了解自己开发过的应用的整体的结构,到书写一个个简单的POP程序,到系统地了解一门语言使它成为计算机生活中不二的好帮手,仿佛让我看到了两三年前开始玩FS的那些日子。今天带来的,是这两天花几个小时编写的一个很简单的MySQL数据库操作封装类。写数据库类库的想法源于开发iTracker 2.0/FQMS应用程序接口的时候,那会儿写个SQL语句、排错真是要命啊。现在写一个类库,简化操作,也算是对面向对象的一次入门尝试了。整体思想与操作方法与ThinkPHP的数据库操作差不多,算是向我最喜爱的PHP框架ThinkPHP致敬了。

Read More

三分钟解决VMS的URL重写问题

几个月之前就想去掉vms的url中那难看的入口文件,也曾google多次,无果。前两个月抱着试一试的心态向wdcp中添加了一个规则(事实证明该规则完全可用),但当规则生效之后站点立刻就http 400了,无论如何也无法恢复,只得关闭url rewrite规则。

Read More

航空例行天气报告API及实现方式

其实一周前就完成这个东西了,一直没发出来。现在METAR查询作为iTracker 2.0辅助功能的一部分,那么索性把这一整套东西都发出来好了。

首先我贴出接口信息:

功能:返回指定机场的最近一条METAR,时间范围为2小时内(数据来源:美国国家海洋和大气管理局,NOAA)。若2小时内数据均未找到,返回字符串"NoData";有正确获得数据的,返回相应内容。
URL: http://bokjan.com/util/metar/api.php HTTP请求方式:GET
请求参数:icao(必须,string,4digit) 请求示例:
http://bokjan.com/util/metar/api.php?icao=RJCC 返回数据示例: RJCC 130200Z
01007KT 330V050 9999 FEW025 SCT030 BKN/// 26/19 Q1010

Read More

从一段烂代码中总结编码习惯

首先我先承认标题确实是缩减了,原意是“从一段别人七拼八凑的烂代码中总结自己优良的编码习惯”。(自恋了)自己感觉最近也确实没做什么技术性的东西,不写点儿原创的这个月就过去了,那就拿来别人的东西说事儿吧。事情是这样的,前几天某位找我说一个注册部分重写了显示层后逻辑业务工作不正常了,让帮忙看看。看看就看看吧,一看,嗬,问题真不少。

这段代码的作者是php初学者,写得不好也是无可厚非。我可以确定的是他的这个简易系统一定是拿别人的实例改的,数据库里有很多奇怪的字段,整个逻辑业务部分变量命名复杂觉历。当然这不是问题,谁不是从改实例做起的呢?好了,废话不多说,下面我们就一起自上而下地通篇看一看(个人拙见,不喜轻拍)。

Read More