今天找到一个浏览器兼容的javascript库集合,还没有用过,但是里面的内容比较全,而且分类了,也是可以自由使用的,遵守 Creative Commons License。
今天找到一个浏览器兼容的javascript库集合,还没有用过,但是里面的内容比较全,而且分类了,也是可以自由使用的,遵守 Creative Commons License。
现在有些网络爬虫未免太过欺负人了,这几天网站一直不断重启,刚开始我们没有找到确切的原因,后来上网看了一下并查看自己的访问日志才锁定是网络爬虫所
致。我们并不反对网络爬虫特别是搜索引擎性质的爬虫,但是如果作为正规的网络爬虫不能遵守网络爬虫规范,那么我们只能对它说不了。目前我们的两个主要站点
都增加了过滤器,对于登陆的会员查看没有影响,但是对于网络爬虫就只能进行限制了。
这次特别要点名批评搜狐的搜索引擎搜狗,这几天的罪魁祸首就是它,害得我几天没有写blog了。
这里说的是通过API传递参数,不是通过Viewer的URL传递参数。
API是和Server打交道,自己的应用和crystal report server进行交互完成报表的运行调度。
其实好像所有参数类型都可以用String类型的表示,数字型和字符串型的就不用说了,日期型可以用DateTime(yyyy,MM,dd,HH,
mm,ss)或者Date(yyyy,MM,dd)格式,如果是允许多个值的,只要一个一个添加就行了,或者用分号分隔组成一个字符串。
代码片断如下(不是完整的代码):
String query = “Select SI_PROCESSINFO.SI_PROMPTS From CI_INFOOBJECTS Where SI_ID = “
+ form.getReportID();
IInfoObjects results = query(query);
if (results.size() == 0) {
throw new Exception(“The report does not exist.”);
}
IInfoObject report = (IInfoObject) results.get(0);
List allParameters = ((IReport) report).getReportParameters();
IReportParameterSingleValue newSingleParameter = null;
IReportParameter reportParameter = null;
String[] times = CrystalReportParameter.convertTimeParameters(form
.getStartDay(), form.getStartHour(), form.getEndDay(), form
.getEndHour(), form.isIncludeCurrentHour());
for (int j = 0; j < allParameters.size(); j++) {
reportParameter = (IReportParameter) allParameters.get(j);
reportParameter.getCurrentValues().clear();
String parameterName = reportParameter.getParameterName();
if (CrystalReportParameter.isMultipleValueParameter(parameterName)) {
String[] values = (String[]) form.get(parameterName);
for (int i = 0; i < values.length; i++) {
newSingleParameter = reportParameter.getCurrentValues()
.addSingleValue();
newSingleParameter.setValue(values[i]);
}
} else if (parameterName.equals(CrystalReportParameter.STARTTIME)) {
newSingleParameter = reportParameter.getCurrentValues()
.addSingleValue();
newSingleParameter.setValue(CrystalReportParameter
.getParameterTime(times[0]));
} else if (parameterName.equals(CrystalReportParameter.ENDTIME)) {
newSingleParameter = reportParameter.getCurrentValues()
.addSingleValue();
newSingleParameter.setValue(CrystalReportParameter
.getParameterTime(times[1]));
}
}
ISchedulingInfo scheduleInfo = report.getSchedulingInfo();
scheduleInfo.setType(0);
scheduleInfo.setRightNow(true);
iStore.schedule(results);
private static IInfoObjects query(String query) throws Exception {
IInfoObjects results = null;
try {
results = iStore.query(query);
} catch (SDKException e) {
logger.error(“Can not execute query:” + query, e);
throw e;
}
return results;
}
今天收到同事发的一封信,全文如下:
Dear
All mobile
phone users,
Please
pay attention.
if
you
receive a phone call and your mobile phone displays
(XALAN) on
the
screen
don't
answer the call, END
THE CALL IMMEDIATELY,
if you answer the call, your phone
will
be infected by a
virus.
This
virus will erase all IMEI and IMSI information from both your phone and your
SIM
card,
which will make your phone unable to connect with the telephone network. You
will have to buy a new phone. This
information
has been
confirmed
by both Motorola and Nokia. There are over 3 Million mobile phones being
infected by this virus in all around the world now. You can also check this news
in the CNN web site.
ITSS
大意就是如果有一个来电显示是XALAN的人给你打电话千万不要接,否则会抹掉你的电话和SIM卡的IMEI和IMSI信息,那样的话你的手机也就不能再连上电话网络,必须重新买一个新手机了。Motorola和Nokia已经证实了这个信息,可能会影响全球三百万手机。
呵呵,记录下,真实性还未经严重,不过如果真的有这样的病毒的话也很危险了。
昨天按照一些文安装配置了mod_limitipconn,但是其实大部分的文章在说明的时候并没有说清楚,其中最大的一个问题就是安装以后安装程序修改httpd.conf文件是有问题的,默认情况下是添加了:
LoadModule limitipconn_module modules/mod_limitipconn.so
AddModule mod_limitipconn.c
其实后面的那个AddModule mod_limitipconn.c是要删除的,否则apache2不能正常启动,AddModule似乎是apache1.3的语法。
可以限速的找到两个,一个是Bandwidth Module,Version 0.5rc1, Bandwidth and Connection control per Virtual Host or Directory, Last Updated January 28th, 2005,http://www.ivn.cl/apache/
另外一个mod_cband,Version 0.9,A virtual host
bandwidth-limiting module provided to solve the problem of limiting
virtualhosts bandwidth usage,Last Updated September 07th, 2005,http://cband.linux.pl/
可以限制连接数的也有两个:
mod_vhost_limit,v0.1,
Restrict the number of simultaneous connections per vhost,
Last Modified : 2004.02.26,http://www.ivn.cl/apache/
上次提到要重写JR的系统,其实最想做的还是底层的框架。
这几年看了或者用了很多东西,最开始了解并深入学习的就是jive,以后还有junit,spring以及hibernate,都是让我感觉比较好的东
西,然后在工作的过程中看到别人设计的各种框架,感觉都有很多优点,但是使用起来又不是那么舒服,因此想总结一下自己的经验,看看能不能做一个让自己满意
的系统。
其实做这个系统的最开始的出发点就是嫌各种东西比较麻烦,第一就是代码重复,第二就是需要一些学习成本,第三有些不太直观,第四就是麻烦。
我考虑的第一个出发点就是减少配置,使用规则替代,这样可以避免一些前后不符的情况,对于以后的维护比较好;
第二就是简单,使用的技术的门槛尽量低,类合理的少。
第三就是尽量直观易用,尽可能提供一步到位的功能。
系统的核心是javabean,或者是POJO,他是数据库操作和页面表现层的核心,数据库的内容可以直接提取出来变成javabean,页面也可以使用
javabean完成数据表现,web请求中的参数直接填写到javabean中,数据库的持久不是自动的,但是只需要调用API触发一下。
目前系统的各个部分的设计还没有考虑好,有些甚至还没有确定能否解决,需要慢慢的细化,也许需要找几个人一起来做。
一直都在考虑是否重写JR的系统,主要的原因就是目前JR的系统已经比较乱了,数据库方面的代码已经有三套了,由于没有写过单元测试的代码,因此全部更新
为一套是不太可能的;另外就是缓存的管理已经有些混乱了,有些是进行缓存的,有些没有,有些出于性能的考虑改用了自定义的缓存形式;想增加某些功能的时候
不太好加,因为对系统的损伤太大,这个已经在我的JR缓存系统的思考中提到过;页面的代码也不理想,重复的代码太多了,要进行某种改动,为了统一需要改动很多地方,这个也是历史遗留问题。
另外一个很重要的原因是想试验一下自己积累的代码,验证一下自己的一些想法。如果重写,肯定要重新设计一些底层的东西,简化类似系统的开发并且简化代码,争取消除大部分的重复代码(类似的问题在JIVE中也是同样存在)。
这段时间可能会整理一些想法,更加清晰的表达出来,也相当于进行设计了吧。
今天看到了JBuilder2006的对等协作功能的介绍,给我的感觉是很不错,目前项目都是合作开发,而小组内的成员的合作方式还不是很好,如果在开发工具中集成了协作功能,特别是和工程密切相关的内容的共享协作功能,那么应该算是一个巨大的进步,今天晚上下载下来用用看了。
今天公司组织了一个培训,培训方式是通过web和电话会议,你可能会对这种培训形式很奇怪,我也一样。
通过web,我们可以看到类VNC或者终端服务这样的效果,讲课的人在那边操作,可以播放PPT,旁边是一个文字聊天栏,或者一个小的聊天栏加一个那边的电脑屏幕的实时截屏(效果不是很理想,比较慢),而这个功能是
集成在一个applet里面的,但是看上去的效果和单纯的web是一样的,要不是浏览器状态栏的applet
window的信息提示,你不太可能想到这是个applet;而语音是通过电话会议解决的。
今天给我的感触到不是完全因为他们做的那个在线培训的东西,而是回想这段时间以来的一些事情,由于系统架构和开发方式的变化,我们现在引进了很多东西,和
我关系比较紧密的一个就是引入crystal
report,另外一个就是引入agile的开发方式,并购买了rally的服务,这些都是会加大成本的。在刚开始使用crystal
report的时候,有些内容通过看用户指南并不直观,结果经过几天后,架构师告诉我他买了一个tutorial,让我从公司的FTP上下载,一看,竟然
有1.2G,不出所料,是视频的资料,也不知道多少钱;然后是rally的服务,按人头按月收费,我们有三十多个人,又是一笔开支;买了rally的服
务,但是我们不是很会用,然后就是今天的在线培训,明天还有;还有crystal
report的,由于我们不是很懂,那边说要找个人咨询一下,又是一笔钱。
说了这么多,最后的感觉就是美国人在IT上舍得花钱,只要是自己没有的或者不懂的,但是觉得需要的,那么肯定舍得花钱买服务、请人培训、买资料或者请人咨
询一下。而国内,更多的恐怕还是寻求免费的服务和资料。这个和国家的情况是吻合的,但是趋势还是像美国的情况一样,专业细化,形成共赢。
© 2025 解惑
本主题由Anders Noren提供 — 向上 ↑