openlaszlo(开源拉兹罗)是一个新兴开源RIA架构,尽管他不如现在的Ajax那么火爆,也不如Flex那么
根正苗红,但是他的独特之处是别的开发平台所不具备的。具体特性,整理如下:
* 多种运行时目标选择,不只是swf,而且还有dhtml,将来会考虑在移动设备等其他硬件上运行
laslzo应用。
现在正在进行swf9及dhtml的研究,具体细节见这个地方记录: ...
只有很清晰地知道,自己的存在,自己企业的存在,是要解决什么样的现实问题,能够使多少人因此受益,并且有准备、坚定、有方法地去完成的,才能够得到真正志同道合的贤者的帮助,社会资源的注入。才能够持续得到祝福和发展。
一篇是Thoughtworks前员工Ravi Mohan写的,《但是马老大,商业编程就是无聊》。Martin Fowler在一篇帖子里说,编写企业软件不光是捣腾数据。并不是只有解决算法问题,操纵硬件,和应用大量数学才有意思。关心顾客(马丁所谓的客户亲和力),全力让自己的软件为客户带来商业利益也是挑战所在,趣味所存。Ravi在帖子里不以为然,认为不管Martin Fowler怎么辩白,商业编程无趣是不争的事实。不信可以看看人心所向。从来只见有天赋的程序员屁颠屁颠地去开发编译器,操作系统,TCP/IP stack, 大规模并行系统,高性能服务器,游戏引擎等系统级软件。哪怕优秀的商业软件程序员也无限 ...
相信很多使用Tapestry5的人和我一样,碰到中文编码的问题。
在网上找了很久,终于在tapestry项目的邮件列表里找到了一个比较好的解决方案,特拿出来分享。
首先将你的页面文件以UTF-8编码方式保存。
然后在AppModule类加入以下方法:
public static PageResponseRenderer decoratePageResponseRenderer(
@InjectService("PageMarkupRenderer")
&n ...
PDF417 (二维码): 多行组成的条形码 不需要连接一个数据库,本身可存储大量数据 应用于:医院、驾驶证、物料管理、货物运输 当条形码受一定破坏时,错误纠正能使条形码能正确解码 PDF417, 是Symbol科技公司于1990研制产品。它是一个多行、连续性、可变长、包含大量数据的符号标识。每个条形码有3 - 90行,每一行有一个起始部分、数据部分、终止部分。它的字符集包括所有128个字符,最大数据含量是1850个字符。
SymbianOS的客户服务器模型:
通讯框架结构:
GUI框架结构:
内核结构:
Mixin是一种将某个类中的方法混入其他类中的软件开发风格。简单的说,就是一个类可以使用其他类的方法。这个初听起来有点像类的继承,但是这与传统的类继承的方式不一样。
首先,Mixin不是类的继承。传统的,一个类A继承了某个类B,那么A就可以直接调用B中的非private的方法。但是在Mixin中,A与B没有继承关系,而A却能使用B的非private的方法。
其次,Mixin的这些行为是在运行时发生的,而不是静态指定的。
...
开发流程如下:
1.收集和定义应用需求。
2.基于数据采集和显示的原则定义和开发“屏幕显示”需求。
3.为每一个“屏幕显示”定义访问路径。
4.定义ActionMappings建立到应用业务逻辑之间的联系。
5.开发满足“屏幕显示”需求的所有支持对象。
6.基于每个”屏幕显示“需求提供的数据属性来创建对应的ActionForm对象。
7.开发被ActionMapping调用的Action对象。
8.开发应用业务逻辑对象(Bean,EJB等)。
9.对应ActionMapping设计 ...
不知道如何实例化对象的类称为抽象类(abstract class)。知道如何实例化对象的类称为具体类(concrete class)。
在面向对象范型中,抽象类的一个重要用途是帮助创建继承层次结构。
如果我拿起一只闹钟对你说:“你觉得我的水果怎么样?”你会认为我疯了;而如果我拿起一只苹果问同样的问题,你就会觉得很正常。“水果”这个称谓表达了有用的信息,虽然你不能创建水果对象。事实上,它是一个类的(概念),但不知道如何实例化它这种类型的对象。
引擎中包含活塞,引擎有最大马力。活塞是有行为的,因此被建模成类,而最大马力只是一个描述性 ...
1995,Auer曾在文献[AUER95]中指出:
1.应当根据行为而不是状态定义一个类。也就是说,一个类的实现首先建立在行为基础之上,而不是建立在状态的基础之上。
2.在实现行为时,是用抽象状态而不是用具体状态。如果一个行为涉及到对象的状态时,使用间接的引用而不是直接的引用。换言之,应当使用取值方法而不是直接引用属性。
3.给操作划分层次。一个类的行为应当放到一个小组核心方法(kernel method)里面,这些方法以很方便地在子类中加以置换。
4.将状态属性的确认推迟到子类中。不要在抽象类中过早声明属性变量,应该将它们尽量地推迟到子类中去声明。在抽象超类中,如果需要状态属性的话, ...
Session是一种机制实现在用户浏览器发出的多次请求之间保持某些状态信息。例如:一家零售网站收到一个“结账”的请求,程序只需要知道顾客此次选择了哪些商品。HTTP本质上是一种无状态的协议,这意味着它不会将这次的“结账”和之前该顾客的“加入商品到购物车”的请求相联系起来。换句话说,HTTP将每个请求都独立看待,认为它和其它请求无关,这个不足就是通过session来弥补的。
在键盘上键入正确的咒语,屏幕会活动,变幻,显示出前所未有的也不可能存在的事物。
编程的快乐在于它不仅满足了我们内心深处进行创造的渴望,而且还唤醒了每个人内心的情感。
实际上,我认为,学习编程最困难的部分,是将做事的方式向追求完美的方向调整。
美食的烹调需要时间;片刻等待,更多美味,更多享受。
--新奥尔良Antoine餐厅的菜单
系统编程的进度安排背后的第一错误的假设是:一切都将运作良好,每一现任务仅花费它所“应该”花费的时间。
创造性活动分为三个阶段:构思、实现和交流。
在早期进度策划时,允许充分的系统测试时间是非常重要的。
一个可 ...
风格:
全局变量用具有描述意义的名字,局部变量用短名字。
保持一致性。
函数采用动作性的名字。
要准确。
以缩行形式显士程序的结构。
使用表达式的自然形式。
利用括号排除歧义。
分解复杂的表达式。
要清晰。
当心副作用。
使用一致的缩行和加括号风格。
为了一致性,使用习惯用法。
用else-if处理多路选择。(这里是指避免使用if里面套if的用法)
避免使用函数宏。
给宏的体和参数都加上括号。(或者用do{...}while(0);的方式)
...
不管什么时候运行一个程序,都是首先把它装入(一般从磁盘装入)计算机内存。因此程序中的所有元素都驻留在内存的某处。内存一般被布置成一系列连续的内存位置;我们通常把这些位置看做是8位的字节,但实际上每一个空间的大小取决于具体机器的结构,一般称为机器的字长(word size)。每一个空间可按它的地址与其他空间区分。
静态与动态内存分配的两个主要区别是:
1.静态对象是有名字的变量,我们直接对其进行操作。而动态对象是没有名字的变量,我们通过指针间接地对它进行操作。
2.静态对象的分配与释放由编译器自动处理。程序员需要理解这一点,但不需要做任何事情。相反,动态对象的分配与释放,必须由程序员显 ...
ERP是由美国Garter Group Inc资询公司首先提出的。它是当今国际上先进的企业管理模式。其主要宗旨是对企业所拥有的人,财,物,信息,时间和空间等综合资源进行综合平衡和优化管理,面向全球市场,协调企业各管理部门,围绕市场导向开展业务活动,使得企业在激烈的市场竞争中全方位地发挥足够的能力,从而取得最好的经济效益。
一般的原则:
测试任何可能失败的地方。
测试任何已经失败的地方。
对于新加的代码,在被证明正确之前,都可能是有问题的。
至少编写和产品代码一样多的测试代码。
针对每次编译都做局部测试。
签入代码之前做全局测试。
要回答的问题:
我如何知道代码运行是否正确呢?
我要如何对它进行测试?
还有哪些方面可能会发生错误?
这个问题是否会在其他的地方出现呢?
测试哪些方面:使用你的RIGHT-BICEP
结果是否正确(Right)?
边界(boundary)条 ...
进入vi的命令
vi filename: 打开或新建文件,并将光标置于第一行首
vi +n filename: 打开文件,并将光标置于第n行首
vi + filename: 打开文件,并将光标置于最后一行首
vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename: 打开多个文件,依次进行编辑
移动光标类命令
h: 光标左移一个字符
l: 光标右移一个字符
space: 光标右移一个字符
B ...
什么是JACOB?
JACOB是一个JAVA和COM之间的桥接口。它使得你可以在Java中自动控制COM组件。它使用JNI实现本地调用COM和Win32程序接口。
除了JACOB,还需要什么?
要实现控制powerpoint除了了解JACOB怎么使用外,还需要了解powerpoint对象模型和powerpoint提供的接口。具体这方面的信息可以在MSDN上查找到。
简单实例
我实现了一个打开powerpoint程序并播放一个幻灯片的小程序,仅供大家参考。
/*
* PPTTest.java
* * Created on 2007年3月23日, 下午1:34
* * To c ...
这篇文章的副标题是:学习如何通过蓝牙PAN共享信息和事件。
移动设备在通讯和游戏工业持续的火爆,就像软件倾向于Ad Hoc和点对点网络一样,能处理不同种类设备的能力成为了网络应用程序(不论是游戏、生产还是信息共享)的一个很大优势。在这篇文章中,学习怎样在你的程 序中使用和集成蓝牙API(通过JSR82,已经引入了Java 2 平台微型版[j2me]中)。这里,你将会找到完整的蓝牙设备发现,配对,和消息通讯的实现。
被作为一种创新在移动设备领域持续扩展,及 越来越多的公司将芯片集成到他们更多的客户设备上(这不是传统意义上的计算关联),将这些设备连接起来组成一个智能环境的机会在增长。在这篇 ...
在进行手机蓝牙远程控制的开发中,需要通过蓝牙控制PC,这个过程无法在模拟器中实现。因此,需要在实际手机上进行调试。比较简单的方式就是通过日志的方式,如下实现:
/*
* GUILogger.java
*
* Created on 2007年2月4日, 上午11:52
*
* To change this template, choose Tools Template Manager
* and open the template in the editor.
*/
package wang.mobile.guanpai;
import javax.microeditio ...
在测试MIDlet时需要考虑的一些重要方面:
即使运行环境发生改变(如网络连接断开),MIDlet也应该能够正常工作。它应该恰当地处理产生的错误,或者把这些错误用容易理解的消息呈现给用户。
当不再使用网络时,关闭网络连接。
蓝牙设备和服务搜索应该高效的。如果可行,就采用有限查询访问码(LIAC,Limited Inquiry Access Code)来加速搜寻过程。当长时间不使用蓝牙连接时,应该关闭蓝牙连接。
在RMS操作中,当改写重要数据时,就要通知用户。
应用程序的所有主要功能可以轻松地通过主菜单来访问。
每一项功能都像文档中 ...
摘要: 本文对蓝牙技术作了扼要介绍,对蓝牙存在问题作了评论。
一、 蓝牙技术简介
1、 市场目标"今天的因特网可将全世界的计算机连接起来,明天的蓝牙技术可将全世界的信息家电连接起来"。正是这种人类无穷尽的信息欲,使近年来兴起的蓝牙技术在信息界掀起阵阵热潮,企业界普遍认为,又有一个经济增长热点来临了。
所谓蓝牙,实际上就是一种短距离(10~100米)的无线连接技术,把一种微型、廉价的通信模块嵌入各类信息设备中,实现这些设备的无线互联,而不用电 缆。它可实现语音、数据无线传输及进入网络。它采用全世界统一的开放性规范,使不同厂家的移动电话、计算机、信息家电互联互通成为可能。 ...
javax.mircoedition.lcdui包实现了一个同时运行在高级API和低级API上的事件模型。它处理诸如用户交互之类的事件并请求重绘屏幕。当触发一个事件时,事件模型获得通知并通过相应的回调使MIDlet相应事件。一共有4种类型的UI事件:
表示抽象命令的事件,作为高级API的一部分;
表示按下或释放某个键的低级事件,或拥有鼠标的设备的鼠标事件;
调用Canvas类的paint()方法的事件,可以通过一个repaint()调用产生;
通过调用Display类的callSerially()来请求调用一个Runnable对象的run()方法 ...
Java SDK 1.3以后实现了Robot类。此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot 的主要目的是便于 Java 平台实现自动测试。
使用该类生成输入事件与将事件发送到 AWT 事件队列或 AWT 组件的区别在于:事件是在平台的本机输入队列中生成的。例如,Robot.mouseMove 将实际移动鼠标光标,而不是只生成鼠标移动事件。
Robot中主要的鼠标和键盘控制方法有:
void keyPress(int keycode) 按下给定的键。
void keyRelease(int keycode ...
http://java.sun.com/developer/blogs/--世界是数一数二的JAVA人的BLOG.
http://www.onjava.com - O'Reilly的Java网站. 每周都有新文章.
http://java.sun.com - 官方的Java开发者网站 - 每周都有新文章发表.
http://www.developer.com/java - 由Gamelan.com 维护的Java技术文章网站.
http://www.java.net - Sun公司维护的一个Java社区网站.
http://www.builder.com - Cnet的Builde ...
1.多线程中有主内存和工作内存之分, 在JVM中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存和工作内存分贝在JVM的stack区和heap区。
2.线程的状态有`Ready`, `Running`, `Sleeping`, `Blocked`, 和 `Waiting`几个状态,
`Ready` 表示线程正在等待CPU分配允许运行的时间。
3.线程运行次序并不是按照我们创建他们时的顺序来运行的,CPU处理线程的顺序是不确定的,如果需要确定,那么必须手工介入,使用setPriority()方法设置优先级。
4.我们无从知道一个线程什么时候运行,两个 ...
通常而言,并不是把模板编译成一个可以处理任何类型的单一实体;而是对于实力化模板参数的每种类型,都从模板产生出一个不同的实体。
用具体类型代替参数的过程叫实例化(instantiation)。
模板被编译了两次:
实例化之前,先检查模板代码本身,查看语法是否正确;在这里发现错误的语法,如遗漏分号等。
实例化期间,检查模板代码,查看是否所有的调用都有效。在这里会发现无效的调用,如该实例化类型不支持某些函数调用等。
struct在c程序中的应用如下:
将一般作为一个整体来使用的数据元素集合在一起;
从函数返回多个数据元素;
构造链式数据结构;
映射数据在硬件设备、网络链接和存储介质上的组织方式;
实现抽象数据类型;
以面向对象的方式编程。
在c程序中,指针一般用来:
构造链式数据结构
引用动态分配的结构
实现引用调用(Call by reference)(避免复制的开销)
访问和迭代数据元素
传递数组参数
引用函数
作为其它值的别名
代表字符串
直接访问系统内存
- 浏览: 17208 次
- 性别:

- 来自: 杭州

- 详细资料
搜索本博客
我的相册
myicon.png
共 7 张
共 7 张
最新评论
-
[摘]正确的创业者心态
ddd 写道》不过,如果这旧调本身不错,多弹几次,又有什么关系呢? 楼主看过古龙 ...
-- by spyker -
[摘]正确的创业者心态
》不过,如果这旧调本身不错,多弹几次,又有什么关系呢?楼主看过古龙的书,鉴定完毕 ...
-- by ddd -
无意中网上看到一篇关于ge ...
有很多必要的功能必须使用特定的插件,而这些插件又不是缺省安装必带的,所以用起来很 ...
-- by SteveGY -
无意中网上看到一篇关于ge ...
姜太公 写道可惜它的给关键字等加的颜色太难看。还有很多重复的gedit失败的地方 ...
-- by seen -
无意中网上看到一篇关于ge ...
可惜它的给关键字等加的颜色太难看。还有很多重复的
-- by 姜太公






评论排行榜