又到一年毕业时,昨天还在毕业论文答辩中经受着考验,今天就在学位授予仪式上品尝了收获。很难想象,很多同学在大学四年当中的那些愤懑和幽怨,今天竟能统统被欣喜与激动所替代。也许,大学里你们所学寥寥,甚至对学校、专业、老师颇有微词,但是今天,在你们即将离别的今天,很高兴看到你们忘却了这些,是的,今天,最猥琐的人都有理由去释然,都有理由被眷恋。你们毕业了,掌声和祝福送给你们!

 

    

posted @ 2009-06-25 14:30 蜡人张 阅读(89) | 评论 (2)编辑

 

    呵呵,很多人都介绍过这个原型软件了,正在学习《信息系统分析与设计》和《Web应用程序设计》的同学们,你们可以试一下这个软件,至少看起来它还不错……

  

 

original image at http://www.balsamiq.com/images/mockups_fpa.jpg

 

    好吧,我承认,发布这篇随笔的目的是为了获取该软件的License。这款软件的for Desktop版本可以免费下载,不过功能上有很多限制,当然,如果符合以下条件,你可以获取一份免费的License Key:

  • If your company bought Mockups for Confluence, JIRA or XWiki, ask your IT admin for your company's license information and use it FREE of charge.
  • If you are a do-gooder of any sort (non-profit, charity, open-source contributor, you get the idea), email us with a short blurb and we'll send you a license, FREE of charge.
  • If you are a technical/software blogger or journalist willing to write us up (honest reviews are the most useful to us) email us a short blurb with the link to your blog and we'll send you a license, FREE of charge, so that you can evaluate Mockups properly.
  • If you are willing to demo Mockups to an audience of at least 15 people (at a user group, a conference, a BarCamp), email us your info and we'll give you two licenses, one for you to keep and one to give away at the event, FREE of charge.
  • If you teach a high-school class, email us the name of your school and your class, plus the number of students in your class. We will send you a license for all of them.
  • A note to university students and professors: we currently do not offer free licenses to universities, but we'll be happy to offer you an additional 50% off any orders of 10 or more licenses. Let us know if you're interested and we'll set up a discount code for you.

 

    话说看到第五点,我想high-school可以,university肯定应该没啥问题了(当然,我还远不是顶个球的professor),不想马上被紧接着的下一条给打击了(虽然有折扣,但是,嘿嘿……),还专门标注了黑体(原文如此),没办法,还是适用一下第三条吧,呵呵……

 

    话说Adobe AIR真是不错,如果想在下载软件之前试用一下功能的话,可以试试online版本的:http://www.balsamiq.com/demos/mockups/Mockups.html。其实,这种东西开发起来难度不是很大,关键是这种应用上的创意确实很难的。

 

 

 

 

 

 

    一周六,一帮哥们(什么也不是的大学教师, me included)约打球,小齐晚到一步,我们已经玩起来了,他拿了个球在场边观战了许久,说:“你们让一个教授顶个球站在场边半天了,忍心么?”,是为“顶个球的professor”。

 

    

 

posted @ 2009-05-03 17:18 蜡人张 阅读(305) | 评论 (2)编辑

 

    下载:DynamicColumnDemo.zip

    1、SQL Server 2000中如果不存在英文版的Northwind数据库,新建并使用Northwind_db0401还原一个;

    2、修改web.config中appSettings节中的连接字符串:

<appSettings> 
    
<add key="ConnectionString" value="server=.;user id=sa;password=;database=NorthWind"/> 
</appSettings>

 

   

 

posted @ 2009-04-01 19:21 蜡人张 阅读(488) | 评论 (1)编辑

 

Silverlight Dashboard and Gauge Elements Drawed in Expression Blend

 

Code

 

    

 

posted @ 2009-02-08 00:18 蜡人张 阅读(420) | 评论 (4)编辑
     摘要: 前一段时间花了一些时间搞了一个自己称为轻量级伪OLAP的东西,当然实现方法是不值一哂的野路子,甚至UI上用的一些名词都是用来糊弄不懂的人的,不要太当真,前台展示使用ExtJS + FusionCharts Free,看看效果吧(由于图片较大,排版需要,请单击图片在新窗口中查看图片):  阅读全文
posted @ 2009-02-07 19:16 蜡人张 阅读(1994) | 评论 (21)编辑
     摘要: 如何在Silverlight中绘制如图所示的半圆?  阅读全文
posted @ 2009-02-06 11:56 蜡人张 阅读(490) | 评论 (0)编辑
     摘要: 我的破烂PPC大概有四个功能:电话、短信、闹钟和看小说,如果无聊的时间超过5分钟,我一定会让它履行第四种功能,最近的小说是周瑟瑟的《北京的野花为谁开》。作者“系湖南省作协会员,湖南省青联北京特约委员。做过社会新闻记者、娱乐杂志主编,IT媒体策划。现居北京,为中关村软件企业管理者。”,里面一段关于管理软件现状的描述很有意思,摘录如下——  阅读全文
posted @ 2009-02-04 18:13 蜡人张 阅读(456) | 评论 (2)编辑

    

    SPAW Editor .NET Edition v.2乱用中介绍了一个HTML Editor,在使用这个Editor进行页面布局的时候可能希望使用代码控制编辑器的大小,例如在用户调整浏览器大小的时候,可能希望其中的Editor大小随着浏览器的变化而变化。SPAW Editor的默认width属性即是100%,所以我们需要考虑的是如何使用代码调整该控件的高度。

    OK,假设页面上有一个ID为spawMain的服务器端SPAW Editor控件,我们如何使用浏览器端Javascript脚本控制该控件的高度呢?如果你有足够的基础和耐心,可以去阅读SPAW Editor .NET的源码;否则的话,还是祭出类似于IE Developer Toolbar之类的可以查看浏览器端HTML DOM的浏览器开发辅助工具吧。通过IE Developer Toolbar,我们可以很清楚地看到(图),无例外地SPAW Editor的编辑器主体也是一个iframe元素,通过观察,还可以发现这个iframe和该控件的工具栏、状态栏均是放置在table元素的单元格中,所以调整编辑器高度的问题就成了调整iframe这个元素的高度的问题了。在HTML页面中调整一个iframe元素的高度,我们需要知道这个iframe元素的id属性值,本例中,我们可以看到该iframe元素的id属性值为spawMain_rEdit,即格式为“[服务器端控件ID属性值]_rEdit”,位于目录spaw2/js/common/editor.js中的如下代码也验证了这一点:

在IE Developer Toolbar中查看的SPAW Editor的DOM树

// returns reference to outer iframe object (differs from getPageIfram in IE only)
SpawEditor.prototype.getPageIframeObject = function(page_name)
{
  
return this.document.getElementById(page_name+'_rEdit');
}

 

    好了,在浏览器端,我们可以通过以下Javascript代码更改元素的高度:

 

document.getElementById("[服务器端控件ID属性值]_rEdit").style.height = [要设置高度值];

 

       

 

posted @ 2009-02-02 22:15 蜡人张 阅读(291) | 评论 (1)编辑

 

    也许是今年发生的事情太多了,所以比以前要更关注时事,虽然面对一些既成的事实,难免要进行痛心的思考。

    昨天晚上关注了一下东方卫视播出的9.8特大尾矿库溃坝事故的后续报道,这起特大人为事故已经得到了认定,相关的责任人也进行了处理,但是其中的一些细节还是令人玩味:

    1、据报道,事故发生之前,附近居民中无人不知该尾矿库存在安全隐患;

    2、据报道,该矿的安全生产许早已被吊销,采矿许可也早已到期,但是该矿在利益驱使下却在夜里偷偷进行生产;

    3、据报道,事故发生之后,相关责任单位抢险过程中存在故意隐瞒事故原因和伤亡人数的行为,是附近居民和受害者曲折、强烈的反映才得以将事实真相公布于天下。

    既然附近居民无人不知该矿存在安全隐患,如果这种情况得到了反映,并且得到了相关职能部门的重视,事故的发生是不是能够被规避?

    两证都已经无效,继续生产即是违法,夜间生产的情况相信附近的居民不会不知道,问题是,附近的居民以及可能的受害者是否知道该矿两证已经失效?

    相关职能部门在第一时间为什么得到的只能是试图隐瞒事实真相的伪造的伤亡人数报告?

    我并不打算讨论可能的隐藏在该事件之中的利益关系问题,单单分析上面提出的三个问题,我们可能得到的答案是信息渠道方面的原因:在号称信息时代的现在,政府相关职能部门却存在着严重的信息不畅问题,身出安全隐患之中的潜在受害者没有通畅的反映问题的渠道,安全监察部门吊销安全生产许可证的事实没有得到有效传播,真正的受害者没有有效参与到事件信息反馈的流程之中。

    在国家层面上,我们有可以进行投诉的消费者权益保障的社会性团体,但在人命关天的安全生产、食品安全(三聚氰胺奶粉)等方面却没有可以进行举报的政府性机构。

 

    

 

posted @ 2008-09-22 19:03 蜡人张 阅读(698) | 评论 (2)编辑

 

    今年是第二次参加篮球赛了,还是没有小组出线  ,还是没有小组垫底,三场比赛得分8-8-6,还真是886了,第二次教工篮球赛!

    没有任何战术可言,没有突破,没有内线,太依赖外线,互相之间不信任,这样下去不会有什么改观的。尤其是今天,完全有机会赢下来的,结果还是输了,可惜。在场上跑着就纳闷对手这么差为什么就落后了呢,按照实力来说,我们平时三个经常一块玩儿的就能搞定对手的。为什么手感好的时候,认为该自己突破的时候,大牌们总是唧唧歪歪,气愤!不过后来又半场玩了一个多小时,挺开心的。三场球后都去腐败了,抽烟、喝酒,气氛还不错。

    带着疲惫和微醺回家,来年再说吧!

    

 

posted @ 2008-09-20 23:34 蜡人张 阅读(453) | 评论 (4)编辑
     摘要: HTML Editor有很多,比如常用的FCKeditor等,这些editor各有优缺点,在真正要用到的时候难免要费功夫比较一下。前一段时间,看见有人推荐SPAW Editor,于是到SourceForge下载了一个试用了一下。这个editor还是挺有特点的,比如可以浮动同时支持多个编辑区域、比较好的文件管理器(上传文件并管理)等。不过,之所以是".NET Edition"是因为这个editor最早是给PHP开发人员使用的,后来才推出的.NET Edition,.NET开发人员很少涉及到该editor,Google上很少能够搜索到该编辑器在.NET环境中使用的信息,更要命的是,该编辑器的帮助、代码注释等文档实在是非常之不完备,用起来很痛苦。开发人员将该款editor开源也着实不容易,而且可能他的主要精力还是集中在PHP那边,没办法,作为.NET开发人员的我只能乱用一下了。  阅读全文
posted @ 2008-08-23 21:50 蜡人张 阅读(890) | 评论 (0)编辑
     摘要: Windows Live Writer没有权限设置字体501错误描述及解决方法  阅读全文
posted @ 2008-08-22 18:13 蜡人张 阅读(563) | 评论 (1)编辑

授予学位——

    工商管理艺术学士

 

专        业——

    电子商务与信息系统

 

培养目标——

    信息系统和Internet正在将人类的一切活动向虚拟化转变并创建了一个新的全球商业环境。面向未来几十年中的商业活动,我们非常有必要去理解信息系统和Internet的强大冲击力。由于Internet已经走向大众,Internet上的电子商务正在成为当今世界经济中最重要的市场活动。在电子商务与信息系统专业(ECIS)中,学生们讨论信息技术、商业策略、商业流程的转变与构建以及在这个新的、令人兴奋的商业环境中的伦理、法律问题。

 

课程体系——

  课程代号 课程名称 学分
 
1、核心必修课程
  ENGL110 大学写作:调查和论据 5
  PHIL 110 哲学与判断思维初步 5
  HIST 120 西方文明起源 (2选1) 5
  HIST 121 现代文明研究 5
  ENGL 120 文学名著 5
  MATH 130 商业分子微积分 5
  FINR 120 或核准美术候补 5
  PHIL 220 人类哲学 5
  实验科学 5
  社会科学1 5
  社会科学2 5
  神学与宗教研究2 5
  伦理学 5
  神学与宗教研究3 5
 
2、学院公共基础课 
  ACCT 230 会计准则1 5
  ACCT 231 会计准则2 5
  ECON 260 商业统计 5
  ECON 272 微观经济学原理 5
  ECON 310 量化方法与应用 5
  MGMT 280 商业沟通 5
  ECIS 315 信息系统与电子商务初步 5
  MGMT 320 全球商业环境 (2选1) 5
  ECON 330 国际经济活动与商业决策 5
  FINC 340 商业财务 5
  MKTG 350 市场营销初步 5
  OPER 360 生产与服务运营 5
  BLAW 370 商业与国际法 5
  MGMT 380 管理原理 5
  MGMT 489 商业策略与战略 5
       
3、专业必修课  
  ECIS 320 商业编程基础 5
  ECIS 462 Internet营销 5
  ECIS 464 面向对象的商业建模 5
  ECIS 466 商业数据库系统 5
  ECIS 469 商业数据通讯 5

 

 

专业课程简介——

 

    ECIS 315 信息系统与电子商务初步

    大型组织的信息架构基础,无线技术,全局信息系统,软件外包,虚拟组织,信息安全,法律、政策和伦理问题,电子商务模型,供应链管理,电子支付系统,电子商务技术发展趋势等话题的介绍

 

    ECIS 320 商业编程基础

    介绍商业环境中编程的基本概念,包括数据类型、表达式、控制结构、函数、输入/输出、错误处理、调试、图形用户界面和事件驱动编程等。编程语言的选择取决于其在商业社会中的关联性以及可接受程度。

 

    ECIS 462 Internet营销

    在电子商务环境中使用Internet进行营销的概念、工具与策略。Internet环境中如何进行管理业务、提供客户服务、与内外部利益相关者进行交互、广告、开发新产品、塑造品牌、开拓渠道、监测市场活动、分发产品或服务。

 

    ECIS 464 面向对象的商业建模

    介绍一种用于构建信息系统的面向对象商业建模方法。在信息系统开发的每个环节(计划、分析、设计、实施)中介绍面向对象的思想,学会使用面向对象编程工具创建应用程序的方法。

 

    ECIS 466 商业数据库系统

    介绍数据库系统的基本概念与实现。理论课时间将用于关系模型及实体关系模型的介绍。学生需要熟练掌握数据库系统的设计与编程。关系型数据库管理系统和计算机辅助工程软件将会用于教学及作业。

 

    ECIS 469 商业数据通讯

    LANs、WANs、Internet等相关话题,通讯协议以及Internet商业应用程序设计也会被涉及到。新的大纲中似乎将该门课程叫做Strategies and Technologies on Internet。

posted @ 2008-08-22 17:21 蜡人张 阅读(583) | 评论 (2)编辑

 

    使用WebBrowser控件时,如果在WebBrowser控件中加载的页面存在脚本错误,程序会弹出一个脚本错误的对话框,这个对话框的弹出可能影响程序的进一步运行,如果加载的页面恰好是别人做的(这是最常见的情况),只能选择将该脚本错误屏蔽掉。

 

    屏蔽方法是设置该WebBrowser控件的ScriptErrorsSuppressed属性值为true,该属性默认值是false,Visual Studio对该属性的中文注释是“指定 WebBrowser 控件是否在对话框中显示脚本错误”是一个误导,说成“ 指定WebBrowser 控件不在对话框中显示脚本错误”更合适些,Suppressed是抑制、禁止的意思。

 

    

posted @ 2008-08-18 00:42 蜡人张 阅读(1078) | 评论 (4)编辑

 

    使用超级链接调用Javascript函数时,可以使用href属性或onclick属性,如

<href="javascript:test();" title="Call Function">Call Function test()</a>

    或

<href="#" onclick="test();" title="Call Function">Call Function test()</a>

    但是如果被调用的函数中存在使用XMLHttpRequest进行异步通信的情况,请不要使用第一种方式,否则异步将无法体现出来。

    如下的调用方式和第一种方式类似不能达到异步的目的:

 

<href="javascript:void(0);" onclick="test();" title="Call Function">Call Function test()</a>


 

    

posted @ 2008-08-13 14:48 蜡人张 阅读(447) | 评论 (1)编辑

 

Windows CE

 

  • Customer Embedded
  • Compact Edition
  • Consumer Electronics
  • Computer Evangelism
  • Compact, Connectable, Compatible, Companion, and Efficient

 

Windows CE is optimized for devices that have minimal storagea Windows CE kernel may run in under a megabyte of memory. Devices are often configured without disk storage, and may be configured as a 'closed' system that does not allow for end-user extension (for instance, it can be burned into ROM). Windows CE conforms to the definition of a real-time operating system, with a deterministic interrupt latency. It supports 256 priority levels and uses priority inheritance for dealing with priority inversion. The fundamental unit of execution is the thread. This helps to simplify the interface and improve execution time.

Source: <http://en.wikipedia.org/wiki/Windows_CE>

 

The OS of Windows Mobile for Smartphone and Windows Mobile for PocketPC are both on the basis of Windows CE architecture.

 

Windows CE时间表

 

In the image above, we can see that 'Windows CE' is not a seperate OS but a series of OSes.

 

Some interesting Code Names can be found in the image, for example, 'Crossbow' for 'Windows Mobile 5.0 Second Edition'(This may be a mistake as we know Crossbow usually stands for Windows Mobile 6.0). Below is a bilingual list in English and Chinese for part of the grotesque Code Names:

  • Crossbow     石弓
  • Magneto       磁发电机
  • OZone          臭氧
  • Merlin          
  • Rapier          利剑
  • Gryphon       狮鹫
  • Wyvern        双足飞龙
  • ...


Items in the legend for the image (perphaps we can consider the image as an chart) stand for different device names, except the black one 'Core' which is 'Windows CE' itself. These device names may be involved in following posts.

 

 

 

posted @ 2008-08-03 02:17 蜡人张 阅读(435) | 评论 (0)编辑

 

    Visual Studio 2008的智能设备模板中并不包含Windows Mobile 6 SDK,下载了一个,安装时遇到如下提示:

    “系统管理员设置了系统策略,禁止进行此安装。

    msi文件安装时经常遇到各种各样的问题,但如果使用这句话作为关键词进行搜索,根本找不到可行的解决方案。

    不甘心,换关键词,直接使用"Windows Mobile 6 Professional SDK Refresh"搜索,看到博文http://www.cnblogs.com/walkingboy/archive/2008/04/27/wm6_sdk_install_digital_signature.html中,尽管提示信息“文件被数字签名策略拒绝(File was rejected by digital signature policy)”不一样,还是死马当做活马医,试了一下博主提供的reg和bat文件,安装成功,感谢浪子。不过,虽然提示的错误信息不一样,但是也许停掉msiserver服务一切问题都解决了。

 

    

posted @ 2008-07-28 17:08 蜡人张 阅读(1250) | 评论 (5)编辑
     摘要: 还是挺麻烦的,记录一下。  阅读全文
posted @ 2008-07-25 21:43 蜡人张 阅读(1169) | 评论 (4)编辑
     摘要:
        上海 杜莎夫人蜡像馆
        

          阅读全文
posted @ 2008-07-25 17:17 蜡人张 阅读(511) | 评论 (1)编辑

 

    来看一个使用dataURL方式指定图表数据源的例子:  

<div id="chartdiv" align="center"></div>
<script type="text/javascript">
    
var chart = new FusionCharts("../Charts/FCF_Column2D.swf""ChartId""600""350");
    chart.setDataURL(
"Data/Column2D.xml");
    chart.render(
"chartdiv");
</script>

 

     主要的代码是一段js脚本,首先声明并实例化一个对象FusionChaets,然后使用该对象的setDataURL方法为图表指定一个包含图表数据的xml文件作为数据源,最后使用该对象的render方法在id属性为chartdiv的div元素中生成图表。

    上述对象的构造函数以及两个方法都是在FusionCharts.js文件中进行实现的,所以在包含上述代码的页面中应该首先包含对FusionCharts.js文件的引用。

    当然,这里的Column2D.xml并不是一个随随便便的xml文件,它需要使用特定的标签、属性等,否则,相应的swf文件将不能正常解析并显示图表数据。

    来看一下Column2D.xml的内容:    

<graph caption='Monthly Unit Sales' xAxisName='Month' yAxisName='Units' decimalPrecision='0' formatNumberScale='0'>
    
<set name='Jan' value='462' color='AFD8F8' />
    
<set name='Feb' value='857' color='F6BD0F' />
    
<set name='Mar' value='671' color='8BBA00' />
    
<set name='Apr' value='494' color='FF8E46'/>
    
<set name='May' value='761' color='008E8E'/>
    
<set name='Jun' value='960' color='D64646'/>
    
<set name='Jul' value='629' color='8E468E'/>
    
<set name='Aug' value='622' color='588526'/>
    
<set name='Sep' value='376' color='B3AA00'/>
    
<set name='Oct' value='494' color='008ED6'/>
    
<set name='Nov' value='761' color='9D080D'/>
    
<set name='Dec' value='960' color='A186BE'/>
</graph>

 

     相对来说,这样的xml文件中的内容还是比较容易进行理解的,而且,FusionCharts的文档中提供了关于各种不同图表类型可以接受的xml文件标签、属性等的参考,参见文档中的“Chart XML Reference”部分。

    通过比较不同类型的图表的xml数据格式,可能会发现,除了漏斗图、K线图、甘特图等特殊图表之外,同一类别中常见图表(如单序列图表中的2D柱状图、3D柱状图、2D折线图、2D饼图、3D饼图、2D条形图、2D面积图、2D圆环图)的xml文件格式是类似的,这样在特定应用中,当需要更改图表类型时,我们只需要将js中的FusionCharts对象重新实例化即可,而不需要更改具体的xml数据源。如上述2D柱状图更改为2D条形图时,我们可以使用以下函数:  

<script type="text/javascript">
    
function changeChartTypeToBar()
    
{
        chart 
= new FusionCharts("../Charts/FCF_Bar2D.swf""ChartId""600""350");
        chart.setDataURL(
"Data/Column2D.xml");
        chart.render(
"chartdiv");
    }

</script>

 

     此时,整个页面不必整个刷新,只需要刷新图表区即可。而且,很显然,这是一个比较简单的操作,需要注意:

  • 不同类型的图表的xml数据源可能具有特定的xml标签或属性,所以在需要更改图表类型时,尽量使用在不同图表类型中通用的标签或属性
  • 还是要强调,不同类型图表具有不同的含义,虽然可以方便地在不同图表类型之间进行转换,但是如果图表类型选择错误,很可能带来的是画蛇添足之嫌。如上面的时序数据,如果使用饼图可能就不那么恰当了,虽然将该图表转换为饼图是非常简单的操作

    另外,使用dataURL方式对图表进行指定的数据源,并不要求是一个实际存在的物理xml文件,可以是任何一个返回XML文件或片断的HTTP请求,只有这样,我们才能根据特定的查询条件或过滤表达式方便地从数据库中检索图表所需数据先是在图表上。很显然,这种方式下只能通过POST传递HTTP请求需要的参数,此时,需要注意的是由于FusionCharts对于特殊字符的敏感性,在为FusionCharts对象使用setDataURL指定参数时,该参数字符串中最好不要包含除了英文字符、数字、?、&和-之外的字符,当然,最好使用Javascript中的escape函数对其进行编码。

 

 

 

posted @ 2008-07-07 22:41 蜡人张 阅读(2797) | 评论 (17)编辑