it-e-07 embedded system

An "embedded system" is a special-purpose computer system, which is completely encapsulated by the device it controls. An embedded system has specific requirements and performs pre-defined tasks, unlike a general-purpose personal computer.

Two major areas of differences are cost and power consumption. Since many embedded systems are produced in the tens of thousands to millions of units range,reducing cost is a major concern. Embedded systems often use a (relatively) slow processor and small memory size to minimize costs. The slowness is not just clock's speed. The wholearchitecture of the computer is often intentionally simplified to lower costs. For example,embedded systems often use peripheralscontrolled by synchronous serial interfaces, which are ten to hundreds of times slower than comparable peripherals used in PCs. Programs on anembedded system often must run with real-time constraints with limited hardware resources:often there is no disk drive, operating system, keyboard or screen. A flash drive may replace rotating media, and a small keypad and LCD screen may be used instead of a PC's keyboard and screen. Firmwareis the name for software that is embedded in hardware devices, e.g. in one or more ROM Flash memory IC chips. Embedded systems are routinely expected to maintain 100% reliability while running continuously for long periods of time, sometimes measured in years.
Firmware is usually developed and tested to much stricter requirements than is general purposesoftware (which can usually be easily restarted if a problem occurs). In addition, because the embedded system may be outside the reach of humans (down an oil well borehole, launched intoouter space, etc.), embedded firmware must usually be able to self-restart even if some sort of catastrophic data corruption has taken place. This last feature often requires external hardware assistance such as a watchdog timer that can automatically restart the system in the event of a software failure.


There are many different CPU architectures used in embedded designs. This in contrast to the desktop computer market, which as of this writing (2003) is limited to just a few competing architectures, mainly the Intel/AMD x86, and the Apple/Motorola/IBM PowerPC, used in the Apple Macintosh. One common configuration for embedded systems is the system on a chip, an application-specific integrated circuit, for which the CPU was purchased as intellectual property to add to the IC's design.

Continue reading it-e-07 embedded system

读书笔记:Effective Java, Second Edition-5章

Item 23: Don’t use raw types in new code


raw type指没有指明类型的如List

List<String> 是 List的子类 但不是 List<Object>的子类,ArrayList<Object>才是List<Object>的子类。

List.class,String[].class, and int.class 合法,但 List<String>.class and List<?>.class不合法。

instance操作符只能使用Raw Type  (o instanceof Set) √ , (o instanceof Set<?>) ×

Set<Object> is a parameterized type representing a set that can contain objects of  any type,

Set<?> is a wildcard type representing a set that can contain only  objects of some unknown type, 无法使用

Set is a raw type, which opts out of the generic type system.

The first two are safe and the last is not.


Parameterized type

Actual type parameter

Generic type

Formal type parameter

Unbounded wildcard type

Raw type

Bounded type parameter
<E extends Number>

Recursive type bound
<T extends Comparable<T>>

Bounded wildcard type
List<? extends Number>

Generic method
static <E> List<E> asList(E[] a)

Type token

Item 24: Eliminate unchecked warnings


Item 25: Prefer lists to arrays

数组是协变的,if Sub is a subtype of Super, then the array type Sub[] is a subtype of Super[].

如此相反的是:Generics, by contrast, are invariant: for any two distinct types Type1 and Type2, List<Type1> is neither a subtype nor a supertype of List<Type2>




Item 26: Favor generic types



private E[] elements;

// The elements array will contain only E instances from push(E).
// This is sufficient to ensure type safety, but the runtime
// type of the array won't be E[]; it will always be Object[]!
public Stack() {
elements = (E[]) new Object[DEFAULT_INITIAL_CAPACITY];


// Appropriate suppression of unchecked warning
public E pop() {
if (size==0)
throw new EmptyStackException();
// push requires elements to be of type E, so cast is correct

E result = (E) elements[--size];
elements[size] = null; // Eliminate obsolete reference
return result;

Item 27: Favor generic methods

Item 28: Use bounded wildcards to increase API flexibility

PECS 原则:if a parameterized type represents a T producer, use <? extendsT>;if it represents a T consumer, use <? superT>.

// Wildcard type for parameter that serves as an E consumer
public void popAll(Collection<? super E> dst) {
while (!isEmpty())

// Wildcard type for parameter that serves as an E producer
public void pushAll(Iterable<? extends E> src) {
for (E e : src)

Item 29: Consider typesafe heterogeneous containers


// Typesafe heterogeneous container pattern - implementation
public class Favorites {
private Map<Class<?>, Object> favorites = new HashMap<Class<?>, Object>(); //以Class<?>作为键达到多种类型的目的。注意Class<?>这个特殊的形式参照Item23.
public <T> void putFavorite(Class<T> type, T instance) {
if (type == null)
throw new NullPointerException("Type is null");
favorites.put(type, instance);
public <T> T getFavorite(Class<T> type) {
return type.cast(favorites.get(type));//将Object安全的转为了绑定类型

Continue reading 读书笔记:Effective Java, Second Edition-5章















Continue reading 【转】面试官心得

openfire 插件开发






在3.6.4中,最终打成的包是.jar( zip格式),penfire启动后会解压缩生成目录,可看到插件被作为一个jar包放在lib目录下。所以只要第一次使用build命令打包,在以后直接将工程打成jar包放到lib目录下即可:测试是可行的。











将我们的插件以文档(documentation\docs\plugin-dev-guide.html#Using the Openfire Build Script)规定的格式存放,

Plugin Structure

 |- plugin.xml      <- Plugin definition file
 |- readme.html     <- Optional readme file for plugin
 |- changelog.html  <- Optional changelog file for plugin
 |- logo_small.gif  <- Optional small (16x16) icon associated with the plugin (can also be a .png file)
 |- logo_large.gif  <- Optional large (32x32) icon associated with the plugin (can also be a .png file)
 |- classes/        <- Resources your plugin needs (i.e., a properties file)
 |- lib/            <- Libraries your plugin needs
 |- src/
     |- database    <- Optional database scripts for your plugin
     |- java        <- Java source code for your plugin
     |   |- com
     |       |- mycompany
     |           |- *.java
     |- web
         |- *.jsp      <- JSPs your plugin uses for the admin console
         |- images/    <- Any images your JSP pages need (optional)
         |- WEB-INF
             |- web.xml    <- Optional file where custom servlets can be registered


然后在其build文件夹中可找到build.xml,使用如下命令可单独编译单个plugin,但应在编译单个plugin之前至少运行一次plugins任务,负责无法编译单个plugin,报错为lib文件夹找不到,webapp目录找不到 :

ant plugin -Dplugin=myplugin


如果你在eclipse中,可右键点击build.xml, run as/Ant Build …/ 注意是三个点的那个才有更多选项。






Continue reading openfire 插件开发



2011-04-21 23:43 | 25977次阅读 | 来源:CSDN编译 【已有60条评论】发表评论

关键词:HTML5 | 作者:子曰 | 收藏这篇资讯

[CSDN编译]HTML5是近十年来Web开发标准最巨大的飞跃。和以前的版本不同,HTML5并非仅仅用来表示Web内容,它的新使命是将 Web带入一个成熟的应用平台,在HTML5平台上,视频、音频、图象、动画以及同电脑的交互都被标准化。对于广大开发人员和设计者,究竟该如何入手 HTML5及获取相关的国外最新资源。以下是广大HTML5技术爱好者学习和参考相关技术不可错过的12家外网,它们或是采用HTML5技术开发出的案例,或是HTML5相关的学习资源,供国内的开发人员参阅。

(1)HTML5 Labs


(2)HTML5 – Wikipedia

维基百科对HTML5的介绍包括了它的历史、特性、与HTML4.01和XHTML 1.X的异同、HTML5的LOGO、参考资料、深度阅读及相关的链接等等。

(3)Apple – HTML5


(4)Youtube HTML5 Beta(需翻墙)


(5)Dive into HTML5 by Mark Pilgrim

这是一本Mark Pilgrim写的介绍HTML5的畅销书籍,内容包括关于HTML5你不得不知的5件事、HTML5的历史、HTML5包含的元素、视频演示以及更多的使用技巧等等。

(6)HTML 5 Cheat Sheet (PDF) – Smashing Magazine(关于HTML5资料的PDF文档精华 )

(7)HTML5 Rocks(需翻墙)

HTML5 Rocks的内容包括了HTML5的演示、视频、如何使用HTML5的API、基础进阶教程等等。

(8)World’s Biggest PacMan


(9)HTML5 Gallery


(10)HTML5 Demos


(11)W3Schools HTML5

在W3Schools HTML5,“私人教师”会向你介绍HTML5最新的特性以及如何应用它们。此外,(12)Gury (需翻墙)也是HTML5爱好者不可错过的。

Continue reading [转csdn文章]学习HTML5不可错过的12家国外网站(组图)

it-e-08 Real-Time Operating System

A "Real-Time Operating System" or "RTOS" is an operating system that has been
developed for real-time applications. Typically used for embedded applications. Note that this type of operating system does not necessarily have high throughput — the specialized scheduling algorithm and a high clock-interrupt rate can both interfere with throughput. An early example of a large-scale real-time operating system was the so-called "control program" developed by American Airlines and IBM for the Sabre Airline Reservations System. Debate exists about what actually constitutes real-time.

In typical designs, a task has three states: running, ready and blocked. Most tasks are blocked for most of the time. Only one task per CPU is running. The ready list is usually short, two or three tasks at most. The real trick is designing the scheduler. Usually the data structure of the ready list in the scheduler is designed so that search, insertion and deletion require locking interrupts only for small periods of time, when looking at precisely defined parts of the list. This means that other tasks can operate on the list asynchronously, while it is being searched. A typical successful schedule is a bidirectional linked list of ready tasks, sorted in order by priority. Although not fast to search, the time taken is deterministic. Most ready lists are only two or three entries long, so a sequential search is usually the fastest, because it requires little set-up time. The critical response time, sometimes called the "flyback time" is the time it takes to queue a new ready task, and restore the state of the highest priority task. In a well-designed RTOS, readying a new task will take 3-20 instructions per ready queue entry, and restoration of the highest-priority ready task will take 5-30 instructions. On a 20MHz 68,000 processor, task switch times run about 20 microseconds with two tasks ready. 100 MHz ARM CPUs switch in a few microseconds.

Continue reading it-e-08 Real-Time Operating System



    2010-12-09 11:37    总点击量:160     总评论数:2

        谁说腾讯不创新?WEB2.QQ就是个挺强悍的反击。咋一看到时我不禁摸摸头,难道这就是传说中的QQ OS?







class= “javascriptEnabled win win6_1 firefox firefox3_6 gecko gecko20100914_0 flash flash10_0″







最底层:JS扩展功能与代码组织功能,用于增强JS对多框架开发的黏合能力。 中间层:跨浏览器扩展模块,及其它可选模块比如选择器等。似乎,选择器、AJAX、JSON、基础UI及交互等功能是放在这个层面的。 应用层:UI组件、实时动画、游戏引擎等。大块头就放这里,而这些估计都不是初次加载的东西。


web2.qq用的是jQuery,加上一些如JSON、基础交互的实现。 web2.qq用的是jQuery的一个子集,加上基础UI组件、所使用到的交互等功能模块。



jet核心 sizzle选择器 xhr/ajax 基础动画、拖曳、贴齐、弹窗、窗口大小调整等交互。嗯,好像也没看出WEB2.QQ里有多少动画。 尺寸、swf、css、数据等等一堆杂七杂八的小东西





预加载:某些大块头的东西应该在用户驻留在页面上的空隙进行加载。 懒加载:该加载时才加载,而优先加载用户可能操作的部分。 CACHE:其实这个在网页上比较难实现,但也不是没有办法:使用AIR/HTML5或是内嵌页面的瘦客户端。严格来说,除了HTML5之外的解决方案,都不能算在标准的范畴。

而WEBQQ2最集中体现了前两者的使用。让我们从 HTTP Request 的角度分析下 的加载:

HTML的流量大小基本可以忽略,主要重量在JS上面。从这点上看,跨浏览器的脚本已经成为WEB开发的难点与重点。 首次载入页面的JS预加载:jet.all.js库80K,webqq.main.js库100K。而且,只有JET放在了head里加载,而webqq.main.js是放在div#desktop后面加载的,所以,时间线上到把页面展示出来并可以点击“登录键”,只有100K左右的HTML/CSS/JS,剩下的都是应用栏及任务栏等的加载,然后就是那一堆图片的加载与默认应用的加载。 永远不会进行自动登录。一是保证了网页沙箱上的安全性,二也不会让浏览器一次承担500K以上的加载负担,保证了体验的平滑过渡。相信用户也都能接受没有自动登录功能的WEBQQ。 点击登录后再次加载不超过300K的JS。这里俺有点困惑,因为真的需要300K来实现主要的QQ功能么?毕竟很多的应用其实都是基于网页实现,并不要求直接脚本实现。估计,这里还是有优化空间的。 所有控件使用独立的JS。模块化的体现。中间或许难免会有重造轮子的事情,但却是大型团队开发所难以避免的。 腾讯一惯强大的服务器支撑能力。这点其实非常重要,否则加上每次加载的延迟与缓慢的速度,甚至偶尔还来个404什么的,体验绝对不会是现在这个样子。 CSS文件上的加载基本与JS相对应,也就是一个JS一个CSS。同理,模块化的开发。会造成冗余但却足够实用和敏捷。 貌似没启用GZIP?有可能是会对服务器端性能造成影响?粗略估计,使用了GZIP后首次加载的180K的JS会变成50K左右,不过,有没这个必要呢? 【展望】

最近在翻译《HTML5 for Web Designer》,也的确像上面写的那样,HTML5/CSS3的工作只是把原本很流行的、却需要HACK或是需要脚本的东西—迁移到了较为定义式的语言上罢了。






JET代码范例及API  SVN地址

关键字(Tags): webQQ JET


#2发表时间:2010-12-9 16:38:05 引用 回复

Web QQ算是web应用的尝试,此文也仅仅写了一些界面的东西,而且WebQQ还有一个Sliverlight版本

Web QQ的核心应该是消息服务这块,不知怎么实现的。下面贴一个网上的分析:

Web QQ的原理大概如下:
而服务器端的Cometd实现,我猜是使用epoll或者又叫NIO的技术,原理基本上是收到HTTP连接,不再是单独创建一个线程来处理,而是直接把连接放归epoll或NIO的框架接管,只有需要读数据或者需要写数据时,再通过epoll或 NIO的API进行通知。epoll或NIO可以看作一个单独线程,而这个线程里面所有数据处理基本都是跟网络有关,不会堵塞,所以可以同时接管1万到几十万的连接数据读写(最近通过dbanotes看到50万连接的极端案例)。所以这种框架下的Cometd服务器端,实际线程数小,开销很小,只要网卡够快,内存够大,CPU够快,程序够稳定,就可以轻松支撑万计的长连接。
如果按照一台服务器支持1万的长连接来看,只需要100台服务器就可以支持100万的web QQ在线了。而服务器的均衡可以在JavaScript端稍作处理,或者外加一台服务器做均衡即可实现。而以腾讯在服务器均衡、服务器群部署方面的经验来说,这些早是小儿科了。
我猜测web QQ要么有自己很成熟的Cometd服务器框架,要么就自己专门针对web QQ开发他们自己的Cometd服务器。直接使用Apache + PHP或者已有的服务器,估计很难达到高性能高稳定性。而重新开发一款Cometd服务器,对于有经验的开发人员和设计人员,花个把月时间,应该可以完成。
上述这些理解,主要是基于我自己开发web MSN/Gtalk/Facebook Chat/Yahoo Messenger网页聊天服务( http:/ )的理解。相比较web QQ而言,我开发的网页聊天还需要从服务器端再连接其他服务器(譬如MSN/Gtalk的官方服务器),服务器端还需做很多其他方面优化。我使用的 Cometd服务器是自己定制开发的,使用的通信协议则是Java2Script的Simple RPC/Pipe( http:/ ),不是JSON相关的协议。以前看到web QQ出来,我也过去瞅一下他们具体如何保持连接,基本原理都一样。当然我相信他们的服务器端是绝对的强。

Continue reading 【转】webqq实现




云计算 - 定义

狭义云计算是指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的资源(硬件、平台、软件)。 提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。这种特性经常被称为像水电一样使用IT基础设施。




云计算 - 特点

(1) 超大规模。“云”具有相当的规模,Google云计算已经拥有100多万台服务器, AmazonIBM微软Yahoo等的“云”均拥有几十万台服务器。企业私有云一般拥有数百上千台服务器。“云”能赋予用户前所未有的计算能力。

(2) 虚拟化。云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。

(3) 高可靠性。“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。

(4) 通用性。云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。

(5) 高可扩展性。“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。

(6) 按需服务。“云”是一个庞大的资源池,你按需购买;云可以象自来水,电,煤气那样计费。

(7) 极其廉价。由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受“云”的低成本优势,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。

云计算 - 三种主要应用形式

根据现在最常用,也是比较权威的NIST(National Institute of Standards and Technology,美国国家标准技术研究院)定义,云计算主要分为三种服务模式,而且这个三层的分法重要是从用户体验的角度出发的。
这三种服务模式是SaaS(Software as a Service),PaaS(Platform as a service)和 IaaS(Infrastructure as a service)。对普通用户而言,他们主要面对的是SaaS这种服务模式,而且几乎所有的云计算服务最终的呈现形式都是SaaS。
SaaS是Software-as-a- service(软件即服务)的简称,它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。“相对于传统的软件,SaaS解决方案有明显的优势,包括较低的前期成本,便于维护,快速展开使用。这些优势导致SaaS在中国市场增长明显。”Springboard中国区软件行业研究经理刘经纬(JingweiLiu)说,“随着企业IT预算持续受到严格的审查和企业减少雇用技术人员,我们可以在未来的几个月中看到中国市场对SaaS解决方案有明显的需求。”
通过网络进行程序提供的服务称之为SaaS(Software as a Service),而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了 PaaS(Platform as a Service)。所谓PaaS实际上是指将软件研发的平台(计世资讯定义为业务基础平台)作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。在2007年国内外SaaS厂商先后推出自己的PaaS平台,从某种意义上说,PaaS是SaaS的源泉。
开发简单,因为开发人员能限定应用自带的操作系统,中间件和数据库等软件的版本,比如SLES 11,WAS 7和DB2 9.7等,这样将非常有效缩小开发和测试的范围,从而极大地减低开发测试的难度和复杂度。
维护简单,因为整个虚拟器件都是来自于同一个ISV(Independent Software Vendors),所以任何软件升级和技术支持,都只要和一个ISV联系就可以了,不仅避免了常见的扯皮现象,而且简化了相关流程。
IaaS (Infrastructure as a Service) 基础设施即服务。消费者通过 Internet 可以从完善的计算机基础设施获得服务。这类服务称为基础设施即服务(Infrastructure asaService,IaaS)。基于Internet 的服务(如存储和数据库)是 IaaS的一部分。


云计算 - 安全风险


2、法规遵从在《萨班斯-奥克斯利法案》当道的时代,公司有责任实施严格的数据监控和归档级别。即便一家公司与外部的云计算服务提供商签订了合同,这些法规仍要求这家公司负有责任。云计算服务提供商应当提交审计和安全方面的证书,确保对方能够履行约定的承诺。 “如果云计算提供商不愿意或者没能力做到遵从法规,这表明客户只能用它们来处理最不重要的功能。”


4、数据隔离当然,云计算提供商会使用SSL来保护传输中的数据,但当贵公司的数据位于存储设备中时,可能与其他公司的数据共用一只 “虚拟保管箱”。贵公司的数据与别人的数据经过适当隔离吗?提供商可能会夸耀自己的加密技术如何强大、安全。你会听到密钥长度有多长、采用哪种深奥的加密算法。不过,如果你的数据能够被提供商读取,那么可以这么认为:数据也会被别人读取。




7、调查支持 开展内部的法律调查向来就不是容易的事,因为这需要清查可能散布在实体位置和虚拟位置的大批文档。如果你使用云计算服务提供商,那么开展这种调查更是困难重重:许多客户的数据也许散布在地点不断变化的一系列数据中心。


9、降低风险方面的支持 你的员工开始使用外部提供商时,会经历一个学习过程。这家提供商提供的界面用起来多容易?提供商是否帮助你的管理人员设置监控政策?又采取了哪些措施来防范恶意软件网络钓鱼






Continue reading 云计算

it-e-09 Application software

Application software might be described as end-user software. Application software performs     
useful work on general-purpose tasks such as word processing and cost estimating. There are     
certain general-purpose programs that are widely used in nearly all career areas. They are: word     
processing, electronic spreadsheets, graphic programs and so on. They are also called basic tools     
and have some common features.     
Insert Point

The insert point or cursor shows you where you can enter data next. Typically ,     
it is a blinking vertical bar on the screen. You can move it around using a mouse or the directional     
arrow keys on many keyboards.     

Almost all software packages have menus. Typically, the menus are displayed in a     
menu bar at the top of the screen. When one of these is selected, a pull-down menu appears. This     
is a list of commands associated with the selected menu.     

For most applications, one of the menus on the menu bar is Help. When selected, the     
Help options appear. [1]These options typically include a table of contents, a search feature to     
locate reference information about specific commands, and central options to move around.     
Button Bars

Button bars typically are below the menu bar. They contain icons or graphic     
representations for commonly used commands. This offers the user a graphic approach to     
selecting commands. It is an example of a graphic user interface in which graphic objects rather     
than menus can be used to select commands.     
Dialog Box Dialog boxes frequently appear after selecting a command from a pull-down     
menu. These boxes are used to specify additional command options.     
Scroll Bars Scroll bars are usually located on the right and/or the bottom of the screen.     
They enable you to display additional information not currently visible on the screen.     
WYSIWYG Pronounced "wizzy-wig", WYSIWYG stands for "What You See Is What You     
Get." This means that the image on the screen display looks the same as the final printed document.     
Application programs without WYSIWYG cannot always display an exact representation of the     
final printed document. The WYSIWYG feature allows the user to preview the document's     
appearance before it is printed out.     
Function Keys

Function keys are labeled F1, F2, and so on. These keys are positioned     
along the left side or along the top of the keyboard. They are used for commands or tasks that are     
performed frequently, such as underlining. These keys do different things in different software     
Now let's introduce respectively the most common used application software: word processing,     
and spreadsheets.     
Word processing software is used to create, edit, save, and print documents. Documents can     
be any kind of text material. With word processing, you view the words you type on a monitor     
instead of on a piece of paper. After you finish your typing, save your words on diskettes or hard     
disk, and print the results on paper.
The beauty of this method is that you can make changes or corrections before printing out
the document. Even after your document is printed out, you can easily go back and make changes.
You can then print it out again. Want to change a report from double spaced to single spaced?
Alter the width of the margins on the left and right? Delete some paragraphs and add some others
from yet another document? A word processor allows you to do all these with ease. Indeed,
deleting, inserting, and replacing—the principal correcting activities—can be done just by
pressing keys on the keyboard. Popular word processing software are Word , WPS and so on.
They have some common features.
Word Wrap and the Enter Key One basic word processing feature is word wrap. When
you finish a line, a word processor decides for you and automatically moves the insertion point to
the next lines. To begin a new paragraph or leave a blank line, you press the Enter key.
Search and Replace A search or find command allows you to locate any character, word,
or phrase in your document. When you search, the insertion point moves to the first place the
item appears. If you want, the program will continue to search for all other locations where the
item appears. The replace command automatically replaces the word you search for with another
word. The search and replace commands are useful for finding and fixing errors.
Cut, Copy, and Paste With a word processor, you select the portion of text to be moved by
highlighting it. Using either the menu or button bar, choose the command to cut the selected text.
The selected text disappears from your screen. Then move the insertion point to the new location
and choose the paste command to reinsert the text into the document. In a similar manner, you
can copy selected portions of text from one location to another.

A spreadsheet is an electronic worksheet used to organize and manipulate
numbers and display options for analysis. Spreadsheets are used by financial analysts, accountants,
contractors, and others concerned with manipulating numeric data. Spreadsheets allow you to try
out various "what-if" kinds of possibilities. That is a powerful feature. You can manipulate numbers
by using stored formulas and calculate different outcomes.
A spreadsheet has several parts. The worksheet area of the spreadsheet has letters for
column headings across the top. It also has numbers for row headings down the left side. The
intersection of a column and row is called a cell. The cell holds a single unit of information. The
position of a cell is called the cell address. For example, "A1" is the cell address of the first
position on a spreadsheet, the topmost and leftmost position. A cell pointer—also known as the
cell selector—indicates where data is to be entered or changed in the spreadsheet. The cell
pointer can be moved around in much the same way that you move the insertion pointer in a
word processing program. Excel is the most common spreadsheet software. It has some common
features of spreadsheet programs.
Format Label is often used to identify information in a worksheet, it is usually a word or
symbol. A number in cell is called a value. Labels and values can be displayed or formatted in
different ways. A label can be centered in the cell or positioned to the left or right. A value can be

displayed to show decimal places, dollars, or percent. The number of decimal positions can be
altered, and the width of columns can be changed.
Formulas One of the benefits of spreadsheets is that you can manipulate data through the
use of formulas. Formulas are instructions for calculations. They make connections between
numbers in particular cells.

Functions are built-in formulas that perform calculations automatically.

Recalculation or what-if analysis is one of the most important features of
spreadsheets. If you change one or more numbers in your spreadsheet, all related formulas will
recalculate automatically. Thus you can substitute one value for another in the cells affected by
your formula and recalculate the results. For more complex problems, recalculation enables you
to store long, complicated formulas and many changing values and quickly produce alternatives.

Continue reading it-e-09 Application software

it-e-10 Software Development Kit

A "Software Development Kit", or "SDK" for short, is typically a set of development tools
that allows a software engineer to create applications for a certain software package, software
framework, hardware platform, computer system, operating system or similar. It may be something
as simple as an application programming interface in the form of some files to interface to a
particular programming language, or include sophisticated hardware to communicate with a certain
embedded system. Common tools include debugging aids and other utilities. SDKs also
frequently include sample code and supporting technical notes or other supporting documentation
to help clarify points from the primary reference material. A software engineer typically receives
the SDK from the target system developer. Oftentimes, the SDK can be downloaded directly via
the Internet. Many SDKs are provided for free to encourage developers to use the system or
language. Sometimes this is used as a marketing tool. For example, "Foo Products" might
provide the "Widget SDK" for free to encourage people to use it. Thus, more people will be
encouraged to buy more of their widgets since they can program them for free. SDKs may have
attached licenses that make them unsuitable for building software intended to be developed under
an incompatible license. For example, a proprietarySDK will likely be incompatible with Free
software development. And a GPL licensed SDK will "likely" be incompatible with proprietary
software development. LGPL SDKs are typically safe for proprietary development. An SDK for
an operating system add-on (for instance, QuickTime for Mac OS) may include the add-on

software itself, to be used for development purposes, if not necessarily for redistribution. An

interesting situation arises here between platforms where it is possible to develop applications

that can at least start up on a system configuration without the add-on installed, and use a

Gestalt-style run-time "environment query" to determine if the add-on is present, and ones where
the application will simply fail to start. In other words, it is possible to build a single binary that
will run on configurations with and without the add-on present, albeitoperating with reduced
functionality in the latter situation.

Continue reading it-e-10 Software Development Kit


Total views.

© 2013 - 2019. All rights reserved.

Powered by Hydejack v6.6.1