计算机外文翻译
外文翻译--计算机
外文原文computerThe modern world of high technology could not have come about except for the development of the computer. Different types and sizes of computers find uses throughout society in the storage and handling of data, from secret governmental files to banking transactions to private household accounts. Computers have opened up a new era in manufacturing through the techniques of automation, and they have enhanced modern communication systems. They are essential tools in almost every field of research and applied technology, from constructing models of the universe to producing tomorrow’s weather reports, and technique use has in itself opened up new areas of conjecture. Database services and computer networks make available a great variety of information sources. The same advanced techniques also make the invasions of privacy and restricted information sources possible, and computer crime has become one of the many risks that society must face if it is to enjoy the benefits of modern technology.A computer is an electronic device that can receive a set of instructions, or program, and then carry out this program by performing calculations on numerical data or by compiling and correlating other forms of information. The type of computers are mainly inclusive of Microcomputer, Minicomputer, Mainframe Computer and Supercomputer, etc. Microminiaturization , the effort to compress more circuit elements into smaller and smaller chip space is becoming the major trend in computer development. Besides, researchers are trying to develop more powerful and more advanced computers.Any customers all pass the operate system to use the calculator, not direct carry on the operation to the hardware of the calculators. The operate system is a bridge that communicates the customer and calculator. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks and provide a software platform. The choice of operating systems determines to a great extent of the applications. Therefore OS is very important.The operate system is in the charge of Computer resource control program to execute system software. Say in a specific way,the OS is the most basic in the calculator software system, also constituting the part most importantly, it is responsible for the management and controls the calculator system in all hardware resources and the software resources, can make of various resources matched with mutually, moderating to work with one accord, full develop its function, exaltation the efficiency of the system, still take the interface function of the customer and the calculator system at the same time, use the calculator to provide the convenience for the customer. The operate system is a huge management control procedure, including 5 management functions mostly: Progress and processing the machine manage, the homework manage, saving management, equipments management, document management. Divide the line from the function, the tiny machine operate system can is divided into the single mission operate system, single many mission operate systems of customer and many mission operate systems of multi-user of single customer. At present there are several kinds of OS on the computer which are DOS, OS/2, UNIX, XENIX, LINUX, Window2000, Netware etc.In order for a computer to perform the required task, it must be given instructions in a language that it understands. However, the computer’s own binary based language, or machine language, is difficult for humans to use. Therefore, people devised an assembly language to shorten and simplify the process. In order to make a computer more friendly to use, programmers invented high level languages, such as COBOL, FORTRAN, ASSEMBLER, PASCAL, C++, etc, which made the computers easier to use. For the time being, HTML and XML are very useful languages as well.The database is often used to describe a collection of related data that is organized into an integrated, sophisticated structure that provides different people with varied access to the same data. A database management system is an extremely complex set of software programs that controls the organization, storage and retrieval of data in a database. A successful DBMS is often characterized with the four principal features: (1)Data Security and Integrity; (2)Interactive query; (3)Interactive data Entry and Updating; (4)Data Independence. The intelligent databases are becoming more popular in that they canprovide more validation. The researches on new types of database systems are underway.计算机倘若不是伴随着计算机的发展,现代世界的高端技术不可能出现。
计算机外文资料翻译---Visual Basic简介
毕业设计(论文)外文资料翻译系(院):计算机科学系专业:计算机科学与技术姓名:学号: 111001203外文出处:Learn Visual Basic in 24 hours--Hour 1 Visual Basic at Work 附件:1.外文资料翻译译文;2.外文原文。
附件1:外文资料翻译译文Visual Basic简介什么是Visual BasicMicrosoft Visual Basic 5.0是旧的BASIC语言最近的最好的化身,在一个包里给你一个完全的Windows应用开发系统。
Visual Basic (我们常称它VB)能让你写、编辑,并且测试Windows应用程序。
另外,VB有包括你能用来写并且编译帮助文件那的工具,ActiveX控制,并且甚至因特网应用程序Visual Basic是它本身的一个Windows应用程序。
你装载并且执行VB系统就好象你做其它Windows程序。
你将使用这个运行的VB程序创造另外的程序。
虽然VB是一个非常地有用的工具,但VB只是一个程序员(写程序的人)用来写,测试,并且运行Windows应用程序的工具。
尽管程序员们经常可替交地使用术语程序和应用程序,当你正在描述一个Windows 程序时术语应用程序似乎最适合,因为一个Windows程序由若干份代表性的文件组成。
这些文件以工程形式一起工作。
通过双击一个图标或由以Windows开始应用程序运行启动菜单用户从Windows加载并且运行工程产生最终的程序。
过去的45年与计算机硬件一起的编程工具的角色已经演变。
今天一种程序语言,例如Visual Basic,一些年以前与程序语言的非常不一致。
Windows操作系统的视觉的天性要求比一些年以前是可利用的更先进的工具。
在windowed环境以前,一种程序语言是你用来写程序的一个简单的基于文章工具。
今天你需要的不只是一种语言,你需要一种能在windows系统内部工作并且能利用所有的绘画、多媒体、联机和Windows提供的多处理活动开发应用软件的绘图开发工具。
计算机专业外文文献及翻译微软Visual Studio
计算机专业外文文献及翻译微软Visual Studio 微软 Visual Studio1 微软 Visual Studio Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
Visual Studio 是一个来自微软的集成开发环境 IDE(inteqrated development environment),它可以用来开发由微软视窗,视窗手机,Windows CE、.NET 框架、.NET 精简框架和微软的 Silverlight 支持的控制台和图形用户界面的应用程序以及 Windows 窗体应用程序,网站,Web 应用程序和网络服务中的本地代码连同托管代码。
Visual Studio 包含一个由智能感知和代码重构支持的代码编辑器。
集成的调试工作既作为一个源代码级调试器又可以作为一台机器级调试器。
其他内置工具包括一个窗体设计的 GUI 应用程序,网页设计师,类设计师,数据库架构设计师。
它有几乎各个层面的插件增强功能,包括增加对支持源代码控制系统(如 Subversion 和 Visual SourceSafe)并添加新的工具集设计和可视化编辑器,如特定于域的语言或用于其他方面的软件开发生命周期的工具(例如 Team Foundation Server 的客户端:团队资源管理器)。
Visual Studio 支持不同的编程语言的服务方式的语言,它允许代码编辑器和调试器(在不同程度上)支持几乎所有的编程语言,提供了一个语言特定服务的存在。
内置的语言中包括 C/C 中(通过Visual C)(通过 Visual ),C,中(通过 Visual C,)和 F,(作为Visual Studio2010),为支持其他语言,如 MPython和 Ruby 等,可通过安装单独的语言服务。
计算机外文翻译---论坛和个人网站在学术信息中的作用和影响
译文一:论坛和个人网站在学术信息中的作用和影响摘要随着计算机网络,互联网成为最重要的信息传播媒体,电子公告牌系统(BBS)和个人网站在学术信息中扮演越来越重要的角色。
本文论述了当前在中国学术论坛和个人网站的状态。
分析他们的在学术信息共享和传播中的优势和劣势。
在这个国家中论坛和个人网站在学术信息交流越来越流行。
关键词学术信息交流,论坛,个人网站,信息共享。
1.介绍随着科学技术的迅速发展,学术信息的信息量成指数增长,因此需要利用科学领域中的各种渠道来传播[1]。
如何适当和准确的从各种资源中获取信息已经成为研究人员的一项重要任务。
每年有数以百万计的学术交流信息资源在互联网上涌现,其中大量都出现在公告牌系统(BBS)和个人网站。
特别是世界著名大学,学院的BBS和著名科学家和学者的个人网站已经吸引了大量的游客,从而在学术信息交流中发挥了重要作用。
在过去的几十年,中国在全球学术信息交流中已经成为一个关键的成员,越来越多的世界领先的学术会议,研究会个其他的事件发生并将继续发生在中国。
然而,大多数正式发布的信息具有局限性,例如时事通讯,广播邮件和个人信息,因此信息共享的范围和效果并不是令人满意的。
近年来,论坛和个人网站在信息交流中已经发挥越来越重要的作用,导致中国整个学术交流环境的变化。
在本文中,我们讨论当前在中国的论坛和个人网站。
分析他们在学术信息共享和传播中的优势和劣势,并提供一个使用两种方法的集中视图。
我们还提供一个研究生物学信息资源的案例,说明论坛和个人网站在学术信息传播中的影响。
2.BBS完整的学术信息交换论坛是网络上的一种电子信息服务系统[2]。
在上个世纪过去的二十年中这是一个广泛应用与美国的信息共享工具[3]。
在1995年网络论坛首次引入中国,随着网络的快速发展已经越来越受欢迎。
一般来说,在中国,大多数的学术论坛是由大学和学院以及社会中技术人员建立的。
A.论坛由大学和学院主办在中国访问论坛最频繁的人员主要是研究人员和重点大学以及学院的学者组成,在大多数情况下,访问量由老师和学生来维持。
计算机专业外文文献论文翻译1
外文文献:Evolving Java Without Changing the Language In "The Feel of Java" James Gosling stated that: Java is a blue collar language. It's not PhD thesis material but a language for a job. Java feels very familiar to many different programmers because I had a very strong tendency to prefer things that had been used a lot over things that just sounded like a good idea.The extraordinary success of Java offers weight to the notion that this was a sensible approach, and if it remains an important goal for Java today, then it makes sense that the language should continue to evolve relatively slowly. In addition to this, the fact that Java is a mature, widely used language causes its evolution to be fraught with difficulty. For one thing, each feature added to the language can change the way it feels in subtle and often unpredictable ways, risking alienating developers who have already adopted it as their language of choice. For another, a feature that makes perfect sense on its own may interact with other features of the language in awkward or unexpected ways. Worse, once a language feature has been added it is all but impossible to remove even if it turns out to be detrimental to the language as a whole. To justify adding a new feature, a language designer must be highly confident that it will be of long term benefit to the language rather than a short term or fashionable solution to a problem that rapidly becomes redundant. To mitigate the risk a language designer will typically experiment by creating a separate language or branch, such as the Pizza language used to experiment with Java's generics, prior to their implementation. The problem with this approach is that the audience for such experiments is both small and self-selecting; obviously they will all be interested in language features, and many may be academics or researchers. An idea which plays well to such an audience may still play badly when it is incorporated intothe main language and general programmers start to work with it.To get a sense of this, consider the closures debate that became so heated for Java 7. Implementations for the main proposals (and some others) have been available for some time but no consensus has emerged. In consequence Sun decided that JDK 7 will not get full closures support. The core argument came down to whether Java had become as complex as it could afford to be when generics (and in particular the wildcard syntax) were added to Java 5; and whether the addition of full support for closures was justified when Java already has a more limited form through anonymous inner classes. Two important use cases for adding full closures support were to simplify working with the fork/join API that is being added to JDK 7 to improve multi-core programming, and to help with resource clean-up. Josh Bloch's ARM block proposal, which is now expected to be in JDK 7 via Project Coin, offers an alternative solution to the latter problem. Dr. Cliff Click's research on a scalable, non-blocking programming style for Java offers an alternative approach to fork/join that may be more appropriate as the number of processor cores increases. If this were to happen, then the uses for closures in Java may arguably be too limited to justify their inclusion.It remains important though that a programming language continues to develop at some level. This article therefore examines three alternative techniques for adding new language features to Java that don't require changes to the language itself - using a custom Domain Specific Language, exploiting the Java 6 annotation processor to add optional language features via a library, and moving the syntactic sugar from the language to the IDE. Each offers the potential to allow a wide audience of mainstream developers to experiment with the new features over the medium term in a non-invasive manner, and the best ideas can then filter down for inclusion in the core language.Custom DSLsThe most widely discussed of the three is the Domain-Specific Language or DSL. There is some disagreement on exactly what the term means, but for the purposes of this discussion we'll refer to it simply as a language that has been created with a narrow focus to solve a particular problem, rather than as a general purpose language designed to solve every computing problem. As such we would expect a DSL to be non-Turing complete and for the most part this is the case. There are edge cases of course. Postscript, for example, is a Turing complete language but also qualifies as a DSL using our definition.As the above example also illustrates, the idea of a DSL is not new. Other familiar DSLs include Regular Expressions, XSLT, Ant, and JSP, all of which require some sort of custom parser to process them. Martin Fowler also suggests that fluent interfaces/APIs can be considered a second type of DSL, which he refers to as an internal DSL. His definition is that an internal DSL is developed directly within the host language. This was a common practice amongst both Lisp and Smalltalk programmers, and more recently the Ruby community has been popularising the technique.Whilst many well-known DSLs are commercially developed and maintained, some enterprise development teams have used the technique to create a language that allows them to rapidly explore aspects of their problem domain. It isn't however as common as it might be, perhaps because DSLs have a fairly intimidating barrier to entry. The team has to design the language, build the parser and possibly other tools to support the programming team, and train each new developer that joins the team on how the DSL works. Here the emergence of tools to specifically support DSL development could significantly change the landscape. Intentional Software's Intentional Domain Workbench, which has been in development longer than Java has been around, is the first significant implementationof such a tool. The project started life at Microsoft Research, and Dr. Charles Simonyi's 1995 paper "The Death of Computer Languages, the Birth of Intentional Programming" describes his vision. In 2002 Simonyi founded Intentional Software to continue working on his ideas and a hugely impressive video demo of the system is available. The product itself is at 1.0 status, but access is restricted to very limited partners.Other software houses are also exploring the concepts, amongst them JetBrains, well respected for their IntelliJ IDEA Java IDE, who have recently released the 1.0 version of their Meta Programming System (MPS). MPS doesn't use a parser, instead working with the Abstract Syntax Tree (AST) directly. It provides a text-like projectional editor which allows the programmer to manipulate the AST, and is used to write languages and programs. For each node in the tree a textual projection is created - as the programmer works with the projection, the change is reflected in the node. This approach allows you to extend and embed languages in any combination (often referred to as language composing) promoting language re-use. JetBrains are using the product internally and have recently released YouTrack, a bug tracking product developed using the system.The Java 6 Annotation ProcessorWhilst DSLs are less common in more mainstream languages such as Java than they are in Ruby, Smalltalk and Lisp, recent developments in the Java language, in particular the annotation processor which was added in Java 6, offer new possibilities for developers looking to use them in Java. The JPA 2.0 criteria API that will ship as part of Java EE 6, itself a DSL, offers an example. Here the annotation processor builds up a metamodel type for each persistent class in the application. Whilst it would be perfectly possible for the developer to hand craft the metamodel in Java, it would be both tedious and error prone. The use of the annotation processor eliminates that pain and, since the annotation processor is built into Java 6, the approach requires no specific IDE support – an IDE delegates to the annotation processor triggered by the compiler, and the metadata model is generated on the fly.Using the annotation processor it is also possible for a library to add a new language feature. Bruce Chapman's prototype "no closures" proposal, for example, uses the technique to provide a mechanism for casting a method to a Single Abstract Method (SAM) type which compiles on top of Java 6. During our conversation Chapman pointed out that the SAM type also supports free variables, a key aspect of a closure: The method body can declare additional parameters beyond those required for the Single Abstract Method using the @As.Additional annotation. These parameters can have values bound to them at the point where you obtain an instance of the SAM type, and are then passed to the method each time it is invoked.Chapman also set up the Rapt project to explore other uses of the technique, and has added implementations for two language changes - Multiline Strings and XML literals - that were considered for JDK 7 but won't now make it into the final release. Java could even get a form of closures support using this approach. When asked about this, Chapman said:We are just finishing a Swing project which we used it for. We have found a couple of minor bugs around generic types, one recently discovered remains to be fixed but other than that it seems quite nice to use, and nobody has been wanting to rush back to use conventional anonymous inner classes.Project Lombok, another project exploring the the annotation processor, pushes the technique still further. In effect Lombok uses annotation processing as a hook to run a Java agent that re-writes various javac internals based on the annotations. Since it is manipulating internal classes it is probably not suited to production use (internal classes can change even between minor releases of the JVM) but the project is an eye-opening example of just what can be done using the annotation processor, including:•Support for properties using a pair of @Getter and/or @Setter annotations with varying access levels, e.g. @Setter(AccessLevel.PROTECTED) private String name;•The @EqualsAndHashCode annotation, which generates hashCode() and equals() implementations from the fields of your object•The @ToString annotation, which generates an implementation of the toString() method•The @data method, which is equivalent to combining @ToString, @EqualsAndHashCode, @Getter on all fields, and @Setter on all non-final fields along with a constructor to initialize your final fields Other language experimentation, such as removing checked exceptions from Java, can also be done using this approach.Whilst the annotation processor technique opens up a welcome new route to language experimentation, care needs to be taken that the generated code can be easily read by developers, not just by the machine. Chapman made a number of suggestions during our conversation:Generate source code not bytecode, and pay attention to formatting (indenting especially) in the generated code. The compiler won't care whether it is all on one line or not, but your users will. I even sometimes add comments and javadoc in the source code generated by my annotation processors where appropriate.。
计算机专业毕业设计外文翻译
外文翻译Birth of the NetThe Internet has had a relatively brief, but explosive history so far. It grew out of an experiment begun in the 1960's by the U.S. Department of Defense. The DoD wanted to create a computer network that would continue to function in the event of a disaster, such as a nuclear war. If part of the network were damaged or destroyed, the rest of the system still had to work. That network was ARPANET, which linked U.S. scientific and academic researchers. It was the forerunner of today's Internet.In 1985, the National Science Foundation (NSF) created NSFNET, a series of networks for research and education communication. Based on ARPANET protocols, the NSFNET created a national backbone service, provided free to any U.S. research and educational institution. At the same time, regional networks were created to link individual institutions with the national backbone service.NSFNET grew rapidly as people discovered its potential, and as new software applications were created to make access easier. Corporations such as Sprint and MCI began to build their own networks, which they linked to NSFNET. As commercial firms and other regional network providers have taken over the operation of the major Internet arteries, NSF has withdrawn from the backbone business.NSF also coordinated a service called InterNIC, which registered all addresses on the Internet so that data could be routed to the right system. This service has now been taken over by Network Solutions, Inc., in cooperation with NSF.How the Web WorksThe World Wide Web, the graphical portion of the Internet, is the most popular part of the Internet by far. Once you spend time on the Web,you will begin to feel like there is no limit to what you can discover. The Web allows rich and diverse communication by displaying text, graphics, animation, photos, sound and video.So just what is this miraculous creation? The Web physically consists of your personal computer, web browser software, a connection to an Internet service provider, computers called servers that host digital data and routers and switches to direct the flow of information.The Web is known as a client-server system. Your computer is the client; the remote computers that store electronic files are the servers. Here's how it works:Let's say you want to pay a visit to the the Louvre museum website. First you enter the address or URL of the website in your web browser (more about this shortly). Then your browser requests the web page from the web server that hosts the Louvre's site. The Louvre's server sends the data over the Internet to your computer. Your web browser interprets the data, displaying it on your computer screen.The Louvre's website also has links to the sites of other museums, such as the Vatican Museum. When you click your mouse on a link, you access the web server for the Vatican Museum.The "glue" that holds the Web together is called hypertext and hyperlinks. This feature allow electronic files on the Web to be linked so you can easily jump between them. On the Web, you navigate through pages of information based on what interests you at that particular moment, commonly known as browsing or surfing the Net.To access the Web you need web browser software, such as Netscape Navigator or Microsoft Internet Explorer. How does your web browser distinguish between web pages and other files on the Internet? Web pages are written in a computer language called Hypertext Markup Language or HTML.Some Web HistoryThe World Wide Web (WWW) was originally developed in 1990 at CERN, the European Laboratory for Particle Physics. It is now managed by The World Wide Web Consortium, also known as the World Wide Web Initiative.The WWW Consortium is funded by a large number of corporate members, including AT&T, Adobe Systems, Inc., Microsoft Corporation and Sun Microsystems, Inc. Its purpose is to promote the growth of the Web by developing technical specifications and reference software that will be freely available to everyone. The Consortium is run by MIT with INRIA (The French National Institute for Research in Computer Science) acting as European host, in collaboration with CERN.The National Center for Supercomputing Applications (NCSA) at the University of Illinois at Urbana-Champaign, was instrumental in the development of early graphical software utilizing the World Wide Web features created by CERN. NCSA focuses on improving the productivity of researchers by providing software for scientific modeling, analysis, and visualization. The World Wide Web was an obvious way to fulfill that mission. NCSA Mosaic, one of the earliest web browsers, was distributed free to the public. It led directly to the phenomenal growth of the World Wide Web.Understanding Web AddressesYou can think of the World Wide Web as a network of electronic files stored on computers all around the world. Hypertext links these resources together. Uniform Resource Locators or URLs are the addresses used to locate thesefiles. The information contained in a URL gives you the ability to jump from one web page to another with just a click of your mouse. When you type a URL into your browser or click on a hypertext link, your browser is sending a request to a remote computer to download a file.What does a typical URL look like? Here are some examples:/The home page for study english.ftp:///pub/A directory of files at MIT* available for downloading.news:rec.gardens.rosesA newsgroup on rose gardening.The first part of a URL (before the two slashes* tells you the type of resource or method of access at that address. For example:∙http - a hypertext document or directory∙gopher - a gopher document or menu∙ftp - a file available for downloading or a directory of such files∙news - a newsgroup∙telnet - a computer system that you can log into over the Internet∙WAIS* - a database or document in a Wide Area Information Search database∙file - a file located on a local drive (your hard drive)The second part is typically the address of the computer where the data or service is located. Additional parts may specify the names of files, the port to connect to, or the text to search for in a database.You can enter the URL of a site by typing it into the Location bar of your web browser, just under the toolbar.Most browsers record URLs that you want to use again, by adding them to a special menu. In Netscape Navigator, it's called Bookmarks. In Microsoft Explorer, it's called Favorites. Once you add a URL to your list, you can return to that web page simply by clicking on the name in your list, instead of retyping the entire URL.Most of the URLs you will be using start with http which stands for Hypertext Transfer Protocol*. http is the method by which HTML files are transferred over the Web. Here are some other important things to know about URLs:∙ A URL usually has no spaces.∙ A URL always uses forward slashes (//).If you enter a URL incorrectly, your browser will not be able to locate the site or resource you want. Should you get an error message or the wrong site, make sure you typed the address correctly.You can find the URL behind any link by passing your mouse cursor over the link. The pointer will turn into a hand and the URL will appear in the browser's status ba r, usually located at the bottom of your screen.Domain NamesWhen you think of the Internet, you probably think of ".com." Just what do those three letters at the end of a World Wide Web address mean?Every computer that hosts data on the Internet has a unique numerical address. For example, the numerical address for the White House is198.137.240.100. But since few people want to remember long strings of numbers, the Domain Name System (DNS)* was developed. DNS, a critical part of the Internet's technical infrastructure*, correlates* a numerical address to a word. To access the White House website, you could type its number into the address box of your web browser. But most people prefer to use "." In this case, the domain name is . In general, the three-letter domain name suffix* is known as a generictop-level domai n and describes the type of organization. In the last few years, the lines have somewhat blurred* between these categories..com - business (commercial).edu - educational.org - non-profit.mil - military.net - network provider.gov - governmentA domain name always has two or more parts separated by dots and typically consists of some form of an organization's name and the three-letter suffix. For example, the domain name for IBM is ""; the United Nations is "."If a domain name is available, and provided it does not infringe* on an existing trademark, anyone can register the name for $35 a year through Network Solutions, Inc., which is authorized to register .com, .net and .org domains. You can use the box below to see if a name is a available. Don't be surprised ifthe .com name you want is already taken, however. Of the over 8 million domain names, 85% are .com domains.ICANN, the Internet Corporation for Assigned Names and Numbers, manages the Domain Name System. As of this writing, there are plans to add additional top-level domains, such as .web and .store. When that will actually happen is anybody's guess.To check for, or register a domain name, type it into the search box.It should take this form: In addition to the generic top-level domains, 244 national top-level domains were established for countries and territories*, for example:.au - Australia.ca - Canada.fr - France.de - Germany.uk - United KingdomFor US $275 per name, you can also register an international domain name with Net Names. Be aware that some countries have restrictions for registering names.If you plan to register your own domain name, whether it's a .com or not, keep these tips in mind:The shorter the name, the better. (But it should reflect your family name, interest or business.)The name should be easy to remember.It should be easy to type without making mistakes.Remember, the Internet is global. Ideally, a domain name will "read" in a language other than English.Telephone lines were designed to carry the human voice, not electronic data from a computer. Modems were invented to convert digital computer signals into a form that allows them to travel over the phone lines. Those are the scratchy sounds you hear from a modem's speaker. A modem on theother end of the line can understand it and convert the sounds back into digital information that the computer can understand. By the way, the word modem stands for MOdulator/DEModulator.Buying and using a modem used to be relatively easy. Not too long ago, almost all modems transferred data at a rate of 2400 Bps (bits per second). Today, modems not only run faster, they are also loaded with features like error control and data compression. So, in addition to converting and interpreting signals, modems also act like traffic cops, monitoring and regulating the flow of information. That way, one computer doesn't send information until the receiving computer is ready for it. Each of these features, modulation, error control, and data compression, requires a separate kind of protocol and that's what some of those terms you see like V.32, V.32bis, V.42bis and MNP5 refer to.If your computer didn't come with an internal modem, consider buying an external one, because it is much easier to install and operate. For example, when your modem gets stuck (not an unusual occurrence), you need to turn it off and on to get it working properly. With an internal modem, that means restarting your computer--a waste of time. With an external modem it's as easy as flipping a switch.Here's a tip for you: in most areas, if you have Call Waiting, you can disable it by inserting *70 in front of the number you dial to connect to the Internet (or any online service). This will prevent an incoming call from accidentally kicking you off the line.This table illustrates the relative difference in data transmission speeds for different types of files. A modem's speed is measured in bits per second (bps). A 14.4 modem sends data at 14,400 bits per second. A 28.8 modem is twice as fast, sending and receiving data at a rate of 28,800 bits per second.Until nearly the end of 1995, the conventional wisdom was that 28.8 Kbps was about the fastest speed you could squeeze out of a regular copper telephoneline. Today, you can buy 33.6 Kbps modems, and modems that are capable of 56 Kbps. The key question for you, is knowing what speed modems your Internet service provider (ISP) has. If your ISP has only 28.8 Kbps modems on its end of the line, you could have the fastest modem in the world, and only be able to connect at 28.8 Kbps. Before you invest in a 33.6 Kbps or a 56 Kbps modem, make sure your ISP supports them.Speed It UpThere are faster ways to transmit data by using an ISDN or leased line. In many parts of the U.S., phone companies are offering home ISDN at less than $30 a month. ISDN requires a so-called ISDN adapter instead of a modem, and a phone line with a special connection that allows it to send and receive digital signals. You have to arrange with your phone company to have this equipment installed. For more about ISDN, visit Dan Kegel's ISDN Page.An ISDN line has a data transfer rate of between 57,600 bits per second and 128,000 bits per second, which is at least double the rate of a 28.8 Kbps modem. Leased lines come in two configurations: T1 and T3. A T1 line offers a data transfer rate of 1.54 million bits per second. Unlike ISDN, a T-1 line is a dedicated connection, meaning that it is permanently connected to the Internet. This is useful for web servers or other computers that need to be connected to the Internet all the time. It is possible to lease only a portion of a T-1 line using one of two systems: fractional T-1 or Frame Relay. You can lease them in blocks ranging from 128 Kbps to 1.5 Mbps. The differences are not worth going into in detail, but fractional T-1 will be more expensive at the slower available speeds and Frame Relay will be slightly more expensive as you approach the full T-1 speed of 1.5 Mbps. A T-3 line is significantly faster, at 45 million bits per second. The backbone of the Internet consists of T-3 lines. Leased lines are very expensive and are generally only used by companies whose business is built around the Internet or need to transfer massiveamounts of data. ISDN, on the other hand, is available in some cities for a very reasonable price. Not all phone companies offer residential ISDN service. Check with your local phone company for availability in your area.Cable ModemsA relatively new development is a device that provides high-speed Internet access via a cable TV network. With speeds of up to 36 Mbps, cable modems can download data in seconds that might take fifty times longer with a dial-up connection. Because it works with your TV cable, it doesn't tie up a telephone line. Best of all, it's always on, so there is no need to connect--no more busy signals! This service is now available in some cities in the United States and Europe.The download times in the table above are relative and are meant to give you a general idea of how long it would take to download different sized files at different connection speeds, under the best of circumstances. Many things can interfere with the speed of your file transfer. These can range from excessive line noise on your telephone line and the speed of the web server from which you are downloading files, to the number of other people who are simultaneously trying to access the same file or other files in the same directory.DSLDSL (Digital Subscriber Line) is another high-speed technology that is becoming increasingly popular. DSL lines are always connected to the Internet, so you don't need to dial-up. Typically, data can be transferred at rates up to 1.544 Mbps downstream and about 128 Kbps upstream over ordinary telephone lines. Since a DSL line carries both voice and data, you don't have to install another phone line. You can use your existing line to establish DSLservice, provided service is available in your area and you are within the specified distance from the telephone company's central switching office.DSL service requires a special modem. Prices for equipment, DSL installation and monthly service can vary considerably, so check with your local phone company and Internet service provider. The good news is that prices are coming down as competition heats up.Anatomy of a Web PageA web page is an electronic document written in a computer language called HTML, short for Hypertext Markup Language. Each web page has a unique address, called a URL* or Uniform Resource Locator, which identifies its location on the network.A website has one or more related web pages, depending on how it's designed. Web pages on a site are linked together through a system of hyperlinks* , enabling you to jump between them by clicking on a link. On the Web, you navigate through pages of information according to your interests.Home Sweet Home PageWhen you browse the World Wide Web you'll see the term home page often. Think of a home page as the starting point of a website. Like the table of contents of a book or magazine, the home page usually provides an overview of what you'll find at the website. A site can have one page, many pages or a few long ones, depending on how it's designed. If there isn't a lot of information, the home page may be the only page. But usually you will find at least a few other pages.Web pages vary wildly in design and content, but most use a traditional magazine format. At the top of the page is a masthead* or banner graphic*, then a list of items, such as articles, often with a brief description. The items in the list usually link to other pages on the website, or to other sites. Sometimes these links are highlighted* words in the body of the text, or are arranged in a list, like an index. They can also be a combination* of both. A web page can also have images that link to other content.How can you tell which text are links? Text links appear in a different color from the rest of the text--typically in blue and underlined. When you move yourcursor over a text link or over a graphic link, it will change from an arrow to a hand. The hypertext words often hint* at what you will link to.When you return to a page with a link you've already visited, the hypertext words will often be in a different color, so you know you've already been there. But you can certainly go there again. Don't be surprised though, if the next time you visit a site, the page looks different and the information has changed. The Web is a dynamic* medium. To encourage visitors to return to a site, some web publishers change pages often. That's what makes browsing the Web so excitingA Home (Page) of Your OwnIn the 60s, people asked about your astrological* sign. In the 90s, they want to know your URL. These days, having a web address is almost as important as a street address. Your website is an electronic meeting place for your family, friends and potentially*, millions of people around the world. Building your digital domain can be easier than you may think. Best of all, you may not have to spend a cent. The Web brims with all kinds of free services, from tools to help you build your site, to free graphics, animation and site hosting. All it takes is some time and creativity.Think of your home page as the starting point of your website. Like the table of contents of a book or magazine, the home page is the front door. Your site can have one or more pages, depending on how you design it. If there isn't a lot of information just yet, your site will most likely have only a home page. But the site is sure to grow over time.While web pages vary dramatically* in their design and content, most use a traditional magazine layout. At the top of the page is a banner graphic. Next comes a greeting and a short description of the site. Pictures, text, and links to other websites follow.If the site has more than one page, there's typically a list of items--similar to an index--often with a brief description. The items in the list link to other pages on the website. Sometimes these links are highlighted words in the body of the text. It can also be a combination of both. Additionally, a web page may have images that link to other content.Before you start building your site, do some planning. Think about whom the site is for and what you want to say. Next, gather up the material that you wantto put on the site: write the copy, scan the photos, design or find the graphics. Draw a rough layout on a sheet of paper.While there are no rules you have to follow, there are a few things to keep in mind:∙Start simply. If you are too ambitious at the beginning, you may never get the site off the ground. You can always add to your site.∙Less is better. Most people don't like to read a lot of text online. Break it into small chunks.∙Use restraint. Although you can use wild colors and images for the background of your pages, make sure your visitors will be able to readthe text easily.∙Smaller is better. Most people connect to the Internet with a modem.Since it can take a long time to download large image files, keep the file sizes small.∙Have the rights. Don't put any material on your site unless you are sure you can do it legally. Read Learn the Net's copyright article for moreabout this.Stake Your ClaimNow it's time to roll up your sleeves and start building. Learn the Net Communities provides tools to help you build your site, free web hosting, and a community of other homesteaders.Your Internet service provider may include free web hosting services with an account, one alternative to consider.Decoding Error MessagesAs you surf the Net, you will undoubtedly find that at times you can't access certain websites. Why, you make wonder? Error messages attempt to explain the reason. Unfortunately, these cryptic* messages baffle* most people.We've deciphered* the most common ones you may encounter.400 - Bad RequestProblem: There's something wrong with the address you entered. You may not be authorized* to access the web page, or maybe it no longer exists.Solution: Check the address carefully, especially if the address is long. Make sure that the slashes are correct (they should be forward slashes) and that all the names are properly spelled. Web addresses are case sensitive, socheck that the names are capitalized in your entry as they are in the original reference to the website.401 - UnauthorizedProblem: You can't access a website, because you're not on the guest list, your password is invalid or you have entered your password incorrectly.Solution: If you think you have authorization, try typing your password again. Remember that passwords are case sensitive.403 - ForbiddenProblem: Essentially the same as a 401.Solution: Try entering your password again or move on to another site.404 - Not FoundProblem: Either the web page no longer exists on the server or it is nowhere to be found.Solution: Check the address carefully and try entering it again. You might also see if the site has a search engine and if so, use it to hunt for the document. (It's not uncommon for pages to change their addresses when a website is redesigned.) To get to the home page of the site, delete everything after the domain name and hit the Enter or Return key.503 - Service unavailableProblem: Your Internet service provider (ISP) or your company's Internet connection may be down.Solution: Take a stretch, wait a few minutes and try again. If you still have no luck, phone your ISP or system administrator.Bad file requestProblem: Your web browser may not be able to decipher the online form you want to access. There may also be a technical error in the form.Solution: Consider sending a message to the site's webmaster, providing any technical information you can, such as the browser and version you use.Connection refused by hostProblem: You don't have permission to access the page or your password is incorrect.Solution: Try typing your password again if you think you should have access.Failed DNS lookupProblem: DNS stands for the Domain Name System, which is the system that looks up the name of a website, finds a corresponding number (similar to a phone number), then directs your request to the appropriate web server on theInternet. When the lookup fails, the host server can't be located.Solution: Try clicking on the Reload or Refresh button on your browser toolbar. If this doesn't work, check the address and enter it again. If all else fails, try again later.File contains no dataProblem: The site has no web pages on it.Solution: Check the address and enter it again. If you get the same error message, try again later.Host unavailableProblem: The web server is down.Solution: Try clicking on the Reload or Refresh button. If this doesn't work, try again later.Host unknownProblem: The web server is down, the site may have moved, or you've been disconnected from the Net.Solution: Try clicking on the Reload or Refresh button and check to see that you are still online. If this fails, try using a search engine to find the site. It may have a new address.Network connection refused by the serverProblem: The web server is busy.Solution: Try again in a while.Unable to locate hostProblem: The web server is down or you've been disconnected from the Net.Solution: Try clicking on the Reload or Refresh button and check to see that you are still online.Unable to locate serverProblem: The web server is out-of-business or you may have entered the address incorrectly.Solution: Check the address and try typing it again.Web BrowsersA web browser is the software program you use to access the World Wide Web, the graphical portion of the Internet. The first browser, called NCSA Mosaic, was developed at the National Center for Supercomputing Applications in the early '90s. The easy-to-use point-and-click interface*helped popularize the Web, although few then could imagine the explosive growth that would soon occur.Although many different browsers are available, Microsoft Internet Explorer* and Netscape Navigator* are the two most popular ones. Netscape and Microsoft have put so much money into their browsers that the competition can't keep up. The pitched battle* between the two companies to dominate* the market has lead to continual improvements to the software. Version 4.0 and later releases of either browser are excellent choices. (By the way, both are based on NCSA Mosaic.) You can download Explorer and Navigator for free from each company's website. If you have one browser already, you can test out the other. Also note that there are slight differences between the Windows and MacIntosh* versions.You can surf to your heart's content, but it's easy to get lost in this electronic web. That's where your browser can really help. Browsers come loaded with all sorts of handy features. Fortunately, you can learn the basics in just a few minutes, then take the time to explore the advanced functions.Both Explorer and Navigator have more similarities than differences, so we'll primarily cover those. For the most up-to-date information about the browsers, and a complete tutorial, check the online handbook under the Help menu or go to the websites of the respective* software companies.Browser AnatomyWhen you first launch your web browser, usually by double-clicking on the icon on your desktop, a predefined web page, your home page, will appear. With Netscape Navigator for instance, you will be taken to Netscape's NetCenter.The Toolbar (工具栏)The row of buttons at the top of your web browser, known as the toolbar, helps you travel through the web of possibilities, even keeping track ofwhere you've been. Since the toolbars for Navigator and Explorer differ slightly, we'll first describe what the buttons in common do:o The Back button returns you the previous page you've visited.o Use the Forward button to return to the page you just came from.o Home takes you to whichever home page you've chosen. (If you haven't selected one, it will return you to the default home page,usually the Microsoft or Netscape website.)。
计算机外文翻译---JSP应用框架
外文翻译原文及译文JSP application frameworksWhat are application frameworks:A framework is a reusable, semi-complete application that can be specialized toproduce custom applications [Johnson]. Like people, software applications are more alike than they are different. They run on the same computers, expect input from the same devices, output to the same displays, and save data to the same hard disks. Developers working on conventional desktop applications are accustomed to toolkits and development environments that leverage the sameness between applications. Application frameworks build on this common ground to provide developers with a reusable structure that can serve as the foundation for their own products.A framework provides developers with a set of backbone components that have the following characteristics:1.They are known to work well in other applications.2. They are ready to use with the next project.3. They can also be used by other teams in the organization.Frameworks are the classic build-versus-buy proposition. If you build it, you will understand it when you are done—but how long will it be before you can roll your own? If you buy it, you will have to climb the learning curve—and how long is that going to take? There is no right answer here, but most observers would agree that frameworks such as Struts provide a significant return on investment compared to starting from scratch, especially for larger projects.Other types of frameworks:The idea of a framework applies not only to applications but to application componentsas well. Throughout this article, we introduce other types of frameworks that you can use with Struts. These include the Lucene search engine, the Scaffold toolkit, the Struts validator, and the Tiles tag library. Like application frameworks, these tools providecomponent.Some frameworks have been linked to a proprietary development environment. This is not the case with Struts or any of the other frameworks shown in this book. You can use any development environment with Struts: Visual Age for Java, JBuilder, Eclipse, Emacs, and Textpad are all popular choices among Struts developers. If you can use it with Java, you can use it with Struts.Enabling technologies:Applications developed with Struts are based on a number of enabling technologies.These components are not specific to Struts and underlie every Java web application. A reason that developers use frameworks like Struts is to hide the nasty details behind acronyms like HTTP, CGI, and JSP. As a Struts developer, you don’t need to be an alphabet soup guru, but a working knowledge of these base technologies can help you devise creative solutions to tricky problems.Hypertext Transfer Protocol (HTTP):When mediating talks between nations, diplomats often follow a formal protocol.Diplomatic protocols are designed to avoid misunderstandings and to keep negotiations from breaking down. In a similar vein, when computers need to talk, they also follow a formal protocol. The protocol defines how data is transmitted and how to decode it once it arrives. Web applications use the Hypertext Transfer Protocol (HTTP) to move data between the browser running on your computer and the application running on the server.Many server applications communicate using protocols other than HTTP. Some of these maintain an ongoing connection between the computers. The application server knows exactly who is connected at all times and can tell when a connection is dropped. Because they know the state of each connection and the identity of each person using it, these are known as stateful protocols.By contrast, HTTP is known as a stateless protocol. An HTTP server will accept any request from any client and will always provide some type of response, even if the response is just to say no. Without the overhead of negotiating and retaining a connection, stateless protocols can handle a large volume of requests. This is one reason why theInternet has been able to scale to millions of computers.Another reason HTTP has become the universal standard is its simplicity. An HTTP request looks like an ordinary text document. This has made it easy for applications to make HTTP requests. You can even send an HTTP request by hand using a standard utility such as Telnet. When the HTTP response comes back, it is also in plain text that developers can read.The first line in the HTTP request contains the method, followed by the locationof the requested resource and the version of HTTP. Zero or more HTTP request headers follow the initial line. The HTTP headers provide additional information to the server. This can include the browser type and version, acceptable document types, and the browser’s cookies, just to name a few. Of the s even request methods, GET and POST are by far the most popular.Once the server has received and serviced the request, it will issue an HTTP response. The first line in the response is called the status line and carries the HTTP protocol version, a numeric status, and a brief description of the status. Following the status line, the server will return a set of HTTP response headers that work in a way similar to the request headers.As we mentioned, HTTP does not preserve state information between requests.The server logs the request, sends the response, and goes blissfully on to the next request. While simple and efficient, a stateless protocol is problematic for dynamic applications that need to keep track of their users. (Ignorance is not always bliss.Cookies and URL rewriting are two common ways to keep track of users between requests. A cookie is a special packet of information on the user’s computer. URL rewriting stores a special reference in the page address that a Java server can use to track users. Neither approach is seamless, and using either means extra work when developing a web application. On its own, a standard HTTP web server does not traffic in dynamic content. It mainly uses the request to locate a file and then returns that file in the response. The file is typically formatted using Hypertext Markup Language (HTML) [W3C, HTML] that the web browser can format and display. The HTML page often includes hypertext links to other web pages and may display any number of other goodies, such as images andvideos. The user clicks a link to make another request, and the process begins a new.Standard web servers handle static content and images quite well but need a helping hand to provide users with a customized, dynamic response.DEFINITION:Static content on the Web comes directly from text or data files, like HTML or JPEG files. These files might be changed from time to time, but they are not altered automatically when requested by a web browser. Dynamic content, on the other hand, is generated on the fly, typically in response to an individualized request from a browser.Common Gateway Interface (CGI):The first widely used standard for producing dynamic content was the Common Gateway Interface (CGI). CGI uses standard operating system features, such as environment variables and standard input and output, to create a bridge, or gateway, between the web server and other applications on the host machine. The other applications can look at the request sent to them by the web server and create a customized response.When a web server receives a request that’s intended for a CGI program, it runs that program and provides the program with information from the incoming request. The CGI program runs and sends its output back to the server. The web server then relays the response to the browser.CGI defines a set of conventions regarding what information it will pass as environment variables and how it expects standard input and output to be used. Like HTTP, CGI is flexible and easy to implement, and a great number of CGI-aware programs have been written.The main drawback to CGI is that it must run a new copy of the CGI-aware program for each request. This is a relatively expensive process that can bog down high-volume sites where thousands of requests are serviced per minute. Another drawback is that CGI programs tend to be platform dependent. A CGI program written for one operating system may not run on another.Java servlets:Sun’s Java Servlet platform directly addresses the two main drawbacks of CGIconventional CGI programs. Second, the write-once, run-anywhere nature of Java means that servlets are portable between operating systems that have a Java Virtual Machine (JVM).A servlet looks and feels like a miniature web server. It receives a request and renders a response. But, unlike conventional web servers, the servlet application programming interface (API) is specifically designed to help Java developers create dynamic applications.The servlet itself is simply a Java class that has been compiled into byte code, like any other Java object. The servlet has access to a rich API of HTTP-specific services, but it is still just another Java object running in an application and can leverage all your other Java assets.To give conventional web servers access to servlets, the servlets are plugged into containers. The servlet container is attached to the web server. Each servlet can declare what URL patterns it would like to handle. When a request matching a registered pattern arrives, the web server passes the request to the container, and the container invokes the servlet.But unlike CGI programs, a new servlet is not created for each request. Once the container instantiates the servlet, it will just create a new thread for each request. Java threads are much less expensive than the server processes used by CGI programs. Once the servlet has been created, using it for additional requests incurs very little overhead. Servlet developers can use the init() method to hold references to expensive resources, such as database connections or EJB Home Interfaces, so that they can be shared between requests. Acquiring resources like these can take several seconds—which is longer than many surfers are willing to wait.The other edge of the sword is that, since servlets are multithreaded, servlet developers must take special care to be sure their servlets are thread-safe. To learn more about servlet programming, we recommend Java Servlets by Example, by Alan R. Williamson [Williamson]. The definitive source for Servlet information is the Java Servlet Specification [Sun, JST].JavaServer Pages:While Java servlets are a big step up from CGI programs, they are not a panacea. To generate the response, developers are still stuck with using println statements to render the HTML. Code that looks like:out.println("<P>One line of HTML.</P>");out.println("<P>Another line of HTML.</P>");is all too common in servlets that generate the HTTP response. There are libraries that can help you generate HTML, but as applications grow more complex, Java developers end up being cast into the role of HTML page designers.Meanwhile, given the choice, most project managers prefer to divide development teams into specialized groups. They like HTML designers to be working on the presentation while Java engineers sweat the business logic. Using servlets alone encourages mixing markup with business logic, making it difficult for team members to specialize.To solve this problem, Sun turned to the idea of using server pages to combine scripting and templating technologies into a single component. To build Java Server Pages, developers start by creating HTML pages in the same old way, using the same old HTML syntax. To bring dynamic content into the page, the developer can also place JSP scripting elements on the page. Scripting elements are tags that encapsulate logic that is recognized by the JSP. You can easily pick out scripting elements on JSP pages by looking for code that begins with <% and ends with %>.To be seen as a JSP page, the file just needs to be saved with an extension of .jsp.When a client requests the JSP page, the container translates the page into a source code file for a Java servlet and compiles the source into a Java class file—just as you would do if you were writing a servlet from scratch. At runtime, the container can also check the last modified date of the JSP file against the class file. If the JSP file has changed since it was last compiled, the container will retranslate and rebuild the page all over again.Project managers can now assign the presentation layer to HTML developers, who then pass on their work to Java developers to complete the business-logic portion. The important thing to remember is that a JSP page is really just a servlet. Anything you can do with a servlet, you can do with a JSP.JavaBeans:JavaBeans are Java classes which conform to a set of design patterns that make them easier to use with development tools and other components.DEFINITION A JavaBean is a reusable software component written in Java. To qualify as a JavaBean, the class must be concrete and public, and have a noargument constructor. JavaBeans expose internal fields as properties by providing public methods that follow a consistent design pattern. Knowing that the property names follow this pattern, other Java classes are able to use introspection to discover and manipulate JavaBean properties.The JavaBean design patterns provide access to the bean’s internal stat e through two flavors of methods: accessors are used to read a JavaBean’s state; mutators are used to change a JavaBean’s state.Mutators are always prefixed with lowercase token set followed by the property name. The first character in the property name must be uppercase. The return value is always void—mutators only change property values; they do not retrieve them. The mutator for a simple property takes only one parameter in its signature, which can be of any type. Mutators are often nicknamed setters after their prefix. The mutator method signature for a weight property of the type Double would be:public void setWeight(Double weight)A similar design pattern is used to create the accessor method signature. Accessor methods are always prefixed with the lowercase token get, followed by the property name. The first character in the property name must be uppercase. The return value will match the method parameter in the corresponding mutator. Accessors for simple properties cannot accept parameters in their method signature. Not surprisingly, accessors are often called getters.The accessor method signature for our weight property is:public Double getWeight()If the accessor returns a logical value, there is a variant pattern. Instead of using the lowercase token get, a logical property can use the prefix is, followed by the property name.be a logical value—either boolean or Boolean. Logical accessors cannot accept parameters in their method signature.The boolean accessor method signature for an on property would bepublic boolean isOn()The canonical method signatures play an important role when working with Java- Beans. Other components are able to use the Java Reflec tion API to discover a JavaBean’s properties by looking for methods prefixed by set, is, or get. If a component finds such a signature on a JavaBean, it knows that the method can be used to access or change the bean’s properties.Sun introduced JavaBeans to work with GUI components, but they are now used with every aspect of Java development, including web applications. When Sun engineers developed the JSP tag extension classes, they designed them to work with JavaBeans. The dynamic data for a page can be passed as a JavaBean, and the JSP tag can then use the bean’s properties to customize the output.For more on JavaBeans, we highly recommend The Awesome Power of JavaBeans, by Lawrence H. Rodrigues [Rodrigues]. The definitive source for JavaBean information is the JavaBean Specification [Sun, JBS].Model 2:The 0.92 release of the Servlet/JSP Specification described Model 2 as an architecture that uses servlets and JSP pages together in the same application. The term Model 2 disappeared from later releases, but it remains in popular use among Java web developers.Under Model 2, servlets handle the data access and navigational flow, while JSP pages handle the presentation. Model 2 lets Java engineers and HTML developers each work on their own part of the application. A change in one part of a Model 2 application does not mandate a change to another part of the application. HTML developers can often change the look and feel of an application without changing how the back-office servlets work.The Struts framework is based on the Model 2 architecture. It provides a controller servlet to handle the navigational flow and special classes to help with the data access. Awith JSP pages.Summary:In this article, we introduced Struts as an application framework. We examined the technology behind HTTP, the Common Gateway Interface, Java servlets, JSPs, and JavaBeans. We also looked at the Model 2 application architecture to see how it is used to combine servlets and JSPs in the same application.Now that you have had a taste of what it is like to develop a web application with Struts, in chapter 2 we dig deeper into the theory and practice behind the Struts architecture.JSP 应用框架什么是应用框架:框架(framework)是可重用的,半成品的应用程序,可以用来产生专门的定制程序。
计算机专业外文翻译+原文-数据库管理系统介绍
外文资料Database Management SystemsA database (sometimes spelled data base) is also called an electronic database , referring to any collection of data, or information, that is specially organized for rapid search and retrieval by a computer. Databases are structured to facilitate the storage, retrieval , modification, and deletion of data in conjunction with various data-processing operations .Databases can be stored on magnetic disk or tape, optical disk, or some other secondary storage device.A database consists of a file or a set of files. The information in these files may be broken down into records, each of which consists of one or more fields. Fields are the basic units of data storage , and each field typically contains information pertaining to one aspect or attribute of the entity described by the database . Using keywords and various sorting commands, users can rapidly search , rearrange, group, and select the fields in many records to retrieve or create reports on particular aggregate of data.Complex data relationships and linkages may be found in all but the simplest databases .The system software package that handles the difficult tasks associated with creating ,accessing, and maintaining database records is called a database management system(DBMS).The programs in a DBMS package establish an interface between the database itself and the users of the database.. (These users may be applications programmers, managers and others with information needs, and various OS programs.)A DBMS can organize, process, and present selected data elements form the database. This capability enables decision makers to search, probe, and query database contents in order to extract answers to nonrecurring and unplanned questions that aren’t available in regular reports. These questions might initially be vague and/or poorly defined ,but people can “browse”through the database until they have the needed information. In short, the DBMS will “manage” the stored data items and assemble the needed itemsfrom the common database in response to the queries of those who aren’t programmers.A database management system (DBMS) is composed of three major parts:(1)a storage subsystem that stores and retrieves data in files;(2) a modeling and manipulation subsystem that provides the means with which to organize the data and to add , delete, maintain, and update the data;(3)and an interface between the DBMS and its users. Several major trends are emerging that enhance the value and usefulness of database management systems;Managers: who require more up-to-data information to make effective decisionCustomers: who demand increasingly sophisticated information services and more current information about the status of their orders, invoices, and accounts.Users: who find that they can develop custom applications with database systems in a fraction of the time it takes to use traditional programming languages.Organizations : that discover information has a strategic value; they utilize their database systems to gain an edge over their competitors.The Database ModelA data model describes a way to structure and manipulate the data in a database. The structural part of the model specifies how data should be represented(such as tree, tables, and so on ).The manipulative part of the model specifies the operation with which to add, delete, display, maintain, print, search, select, sort and update the data.Hierarchical ModelThe first database management systems used a hierarchical model-that is-they arranged records into a tree structure. Some records are root records and all others have unique parent records. The structure of the tree is designed to reflect the order in which the data will be used that is ,the record at the root of a tree will be accessed first, then records one level below the root ,and so on.The hierarchical model was developed because hierarchical relationships are commonly found in business applications. As you have known, an organization char often describes a hierarchical relationship: topmanagement is at the highest level, middle management at lower levels, and operational employees at the lowest levels. Note that within a strict hierarchy, each level of management may have many employees or levels of employees beneath it, but each employee has only one manager. Hierarchical data are characterized by this one-to-many relationship among data.In the hierarchical approach, each relationship must be explicitly defined when the database is created. Each record in a hierarchical database can contain only one key field and only one relationship is allowed between any two fields. This can create a problem because data do not always conform to such a strict hierarchy.Relational ModelA major breakthrough in database research occurred in 1970 when E.F. Codd proposed a fundamentally different approach to database management called relational model ,which uses a table as its data structure.The relational database is the most widely used database structure. Data is organized into related tables. Each table is made up of rows called and columns called fields. Each record contains fields of data about some specific item. For example, in a table containing information on employees, a record would contain fields of data such as a person’s last name ,first name ,and street address.Structured query language(SQL)is a query language for manipulating data in a relational database .It is nonprocedural or declarative, in which the user need only specify an English-like description that specifies the operation and the described record or combination of records. A query optimizer translates the description into a procedure to perform the database manipulation.Network ModelThe network model creates relationships among data through a linked-list structure in which subordinate records can be linked to more than one parent record. This approach combines records with links, which are called pointers. The pointers are addresses that indicate the location of a record. With the network approach, a subordinate record can be linked to a key record and at the same time itself be a key record linked to other sets of subordinate records. The network mode historically has had a performanceadvantage over other database models. Today , such performance characteristics are only important in high-volume ,high-speed transaction processing such as automatic teller machine networks or airline reservation system.Both hierarchical and network databases are application specific. If a new application is developed ,maintaining the consistency of databases in different applications can be very difficult. For example, suppose a new pension application is developed .The data are the same, but a new database must be created.Object ModelThe newest approach to database management uses an object model , in which records are represented by entities called objects that can both store data and provide methods or procedures to perform specific tasks.The query language used for the object model is the same object-oriented programming language used to develop the database application .This can create problems because there is no simple , uniform query language such as SQL . The object model is relatively new, and only a few examples of object-oriented database exist. It has attracted attention because developers who choose an object-oriented programming language want a database based on an object-oriented model.Distributed DatabaseSimilarly , a distributed database is one in which different parts of the database reside on physically separated computers . One goal of distributed databases is the access of information without regard to where the data might be stored. Keeping in mind that once the users and their data are separated , the communication and networking concepts come into play .Distributed databases require software that resides partially in the larger computer. This software bridges the gap between personal and large computers and resolves the problems of incompatible data formats. Ideally, it would make the mainframe databases appear to be large libraries of information, with most of the processing accomplished on the personal computer.A drawback to some distributed systems is that they are often based on what is called a mainframe-entire model , in which the larger host computeris seen as the master and the terminal or personal computer is seen as a slave. There are some advantages to this approach . With databases under centralized control , many of the problems of data integrity that we mentioned earlier are solved . But today’s personal computers, departmental computers, and distributed processing require computers and their applications to communicate with each other on a more equal or peer-to-peer basis. In a database, the client/server model provides the framework for distributing databases.One way to take advantage of many connected computers running database applications is to distribute the application into cooperating parts that are independent of one anther. A client is an end user or computer program that requests resources across a network. A server is a computer running software that fulfills those requests across a network . When the resources are data in a database ,the client/server model provides the framework for distributing database.A file serve is software that provides access to files across a network. A dedicated file server is a single computer dedicated to being a file server. This is useful ,for example ,if the files are large and require fast access .In such cases, a minicomputer or mainframe would be used as a file server. A distributed file server spreads the files around on individual computers instead of placing them on one dedicated computer.Advantages of the latter server include the ability to store and retrieve files on other computers and the elimination of duplicate files on each computer. A major disadvantage , however, is that individual read/write requests are being moved across the network and problems can arise when updating files. Suppose a user requests a record from a file and changes it while another user requests the same record and changes it too. The solution to this problems called record locking, which means that the first request makes others requests wait until the first request is satisfied . Other users may be able to read the record, but they will not be able to change it .A database server is software that services requests to a database across a network. For example, suppose a user types in a query for data on his or her personal computer . If the application is designed with the client/server model in mind ,the query language part on the personal computer simplesends the query across the network to the database server and requests to be notified when the data are found.Examples of distributed database systems can be found in the engineering world. Sun’s Network Filing System(NFS),for example, is used in computer-aided engineering applications to distribute data among the hard disks in a network of Sun workstation.Distributing databases is an evolutionary step because it is logical that data should exist at the location where they are being used . Departmental computers within a large corporation ,for example, should have data reside locally , yet those data should be accessible by authorized corporate management when they want to consolidate departmental data . DBMS software will protect the security and integrity of the database , and the distributed database will appear to its users as no different from the non-distributed database .In this information age, the data server has become the heart of a company. This one piece of software controls the rhythm of most organizations and is used to pump information lifeblood through the arteries of the network. Because of the critical nature of this application, the data server is also the one of the most popular targets for hackers. If a hacker owns this application, he can cause the company's "heart" to suffer a fatal arrest.Ironically, although most users are now aware of hackers, they still do not realize how susceptible their database servers are to hack attacks. Thus, this article presents a description of the primary methods of attacking database servers (also known as SQL servers) and shows you how to protect yourself from these attacks.You should note this information is not new. Many technical white papers go into great detail about how to perform SQL attacks, and numerous vulnerabilities have been posted to security lists that describe exactly how certain database applications can be exploited. This article was written for the curious non-SQL experts who do not care to know the details, and as a review to those who do use SQL regularly.What Is a SQL Server?A database application is a program that provides clients with access todata. There are many variations of this type of application, ranging from the expensive enterprise-level Microsoft SQL Server to the free and open source mySQL. Regardless of the flavor, most database server applications have several things in common.First, database applications use the same general programming language known as SQL, or Structured Query Language. This language, also known as a fourth-level language due to its simplistic syntax, is at the core of how a client communicates its requests to the server. Using SQL in its simplest form, a programmer can select, add, update, and delete information in a database. However, SQL can also be used to create and design entire databases, perform various functions on the returned information, and even execute other programs.To illustrate how SQL can be used, the following is an example of a simple standard SQL query and a more powerful SQL query:Simple: "Select * from dbFurniture.tblChair"This returns all information in the table tblChair from the database dbFurniture.Complex: "EXEC master..xp_cmdshell 'dir c:\'"This short SQL command returns to the client the list of files and folders under the c:\ directory of the SQL server. Note that this example uses an extended stored procedure that is exclusive to MS SQL Server.The second function that database server applications share is that they all require some form of authenticated connection between client and host. Although the SQL language is fairly easy to use, at least in its basic form, any client that wants to perform queries must first provide some form of credentials that will authorize the client; the client also must define the format of the request and response.This connection is defined by several attributes, depending on the relative location of the client and what operating systems are in use. We could spend a whole article discussing various technologies such as DSN connections, DSN-less connections, RDO, ADO, and more, but these subjects are outside the scope of this article. If you want to learn more about them, a little Google'ing will provide you with more than enough information. However, the following is a list of the more common itemsincluded in a connection request.Database sourceRequest typeDatabaseUser IDPasswordBefore any connection can be made, the client must define what type of database server it is connecting to. This is handled by a software component that provides the client with the instructions needed to create the request in the correct format. In addition to the type of database, the request type can be used to further define how the client's request will be handled by the server. Next comes the database name and finally the authentication information.All the connection information is important, but by far the weakest link is the authentication information—or lack thereof. In a properly managed server, each database has its own users with specifically designated permissions that control what type of activity they can perform. For example, a user account would be set up as read only for applications that need to only access information. Another account should be used for inserts or updates, and maybe even a third account would be used for deletes. This type of account control ensures that any compromised account is limited in functionality. Unfortunately, many database programs are set up with null or easy passwords, which leads to successful hack attacks.译文数据库管理系统介绍数据库(database,有时拼作data base)又称为电子数据库,是专门组织起来的一组数据或信息,其目的是为了便于计算机快速查询及检索。
毕业设计 计算机专业外文翻译--基于Socket的网络编程
题目Programming Overlay Networkswith Overlay SocketsProgramming Overlay Networks with Overlay Sockets The emergence of application-layer overlay networks has inspired the development of new network services and applications. Research on overlay net-workshas focused on the design of protocols to maintain and forward data in an overlay network, however, less attention has been given to the software development process of building application programs in such an environment. Clearly,the complexity of overlay network protocols calls for suitable application programming interfaces (APIs) and abstractions that do not require detailed knowledge of the overlay protocol, and, thereby, simplify the task of the application programmer. In this paper, we present the concept of an overlay socket as a new programming abstraction that serves as the end point of communication in an overlay network. The overlay socket provides a socket-based API that is independent of the chosen overlay topology, and can be configured to work for different overlay topologies. The overlay socket can support application data transfer over TCP, UDP, or other transport protocols. This paper describes the design of the overlay socket and discusses API and configuration options.1 IntroductionApplication-layer overlay networks [5, 9, 13, 17] provide flexible platforms for develop-ing new network services [1, 10, 11, 14, 18–20] without requiring changes to the network-layer infrastructure. Members of an overlay network, which can be hosts, routers, servers, or applications, organize themselves to form a logical network topology, and commu-nicate only with their respective neighbors in the overlay topology. A member of an overlay network sends and receives application data, and also forwards data intended for other members. This paper addresses application development in overlay networks. We use the term overlay network programming to refer to the software development process of building application programs that communicate with one another in anapplication-layer overlay_This work is supported in part by the National Science Foundation through grant work. The diversity and complexity of building and maintaining overlay networks make it impractical to assume that application developers can be concerned with the complexity of managing the participation of an application in a specific overlay networktopology.We present a software module, called overlay socket, that intends to simplify the task of overlay network programming. The design of the overlay socket pursues the following set of objectives: First, the application programming interface (API) of the overlay socket does not require that an application programmer has knowledge of the overlay network topology. Second, the overlay socket is designed to accommodate dif-ferent overlay network topologies. Switching to different overlay network topologies is done by modifying parameters in a configuration file. Third, the overlay socket, which operates at the applicationlayer,can accommodate different types of transport layer protocols. This is accomplished by using network adapters that interface to the un-derlying transport layer network and perform encapsulation and de-encapsulation of messages exchanged by the overlay socket. Currently available network adapters are TCP, UDP, and UDP multicast. Fourth, the overlay socket provides mechanisms for bootstrapping new overlay networks. In this paper, we provide an overview of the overlay socket design and discuss over-lay network programming with the overlay socket. The overlay socket has been imple-mented in Java as part of the HyperCast 2.0 software distribution [12]. The software has been used for various overlay applications, and has been tested in both local-area as well as wide-area settings. The HyperCast 2.0 software implements the overlay topolo-gies described in [15] and [16]. This paper highlights important issues of the overlay socket, additional information can be found in the design documentation available from[12]. Several studies before us have addressed overlay network programming issues. Even early overlay network proposals, such as Yoid [9], Scribe [4], and Scattercast [6], have presented APIs that aspire to achieve independence of the API from the overlay network topology used. Particularly, Yoid and Scattercast use a socket-like API, how-ever, these APIs do not address issues that arise when the same API is used by different overlaynetwork topologies. Several works on application-layer multicast overlays inte-grate the application program with the software responsible for maintaining the overlay network, without explicitly providing general-purpose APIs.These include Narada [5], Overcast [13], ALMI [17], and NICE [2]. A recent study [8] has proposed a common API for the class of so-called structured overlays, which includes Chord [19], CAN [18], and Bayeux [20], and other overlays that were originally motivated by distributed hash tables. Our work has a different emphasis than [8], since we assume a scenario where an application programmer must work with several, possibly fundamentally dif-ferent, overlay network topologies and different transmission modes (UDP, TCP), and, therefore, needs mechanisms that make it easy to change the configuration of the un-derlying overlay network..Internet Overlay socket Application Overlay socket Application Application Overlay socket Application Application Overlay socket Application Overlay Network.Fig. 1. The overlay network is a collection of overlay sockets. Root (sender) Root (receiver) (a) Multicast (b) Unicast.Fig. 2. Data forwarding in overlay networks.The rest of the paper is organized as following. In Section 2 we introduce con-cepts, abstractions, and terminology needed for the discussion of the overlay socket. In Section 3 we present the design of the overlay socket, and discuss its components. In Section 4 we show how to write programs using the overlay socket. We present brief conclusions in Section 5.2 Basic ConceptsAn overlay socket is an endpoint for communication in an overlay network, and an overlay network is seen as a collection of overlay sockets that self-organize using an overlay protocol (see Figure 1). An overlay socket offers to an application programmer a Berkeley socket-style API [3] for sending and receiving data over an overlay network. Each overlay socket executes an overlay protocol that is responsible for maintaining the membership of the socket in the overlay network topology. Each overlay socket has a logical address and a physical address in the overlay network. The logical address is dependent on the type of overlay protocol used. In the overlay protocols currentlyimplemented in HyperCast 2.0, the logical addresses are 32- bit integers or _x_y_coordinates, where x and y are positive 32-bit positive integers. The physical address is a transport layer address where overlay sockets receive messages from the overlay network. On the Internet, the physical address is an IP address and a TCP or UDP port number. Application programs that use overlay sockets only work with logical addresses, and do not see physical addresses of overlay nodes. When an overlay socket is created, the socket is configured with a set of configu-ration parameters, called attributes. The application program can obtain the attributes from a configuration file or it downloads the attributes from a server. The configuration file specifies the type of overlay protocol and the type of transport protocol to be used,.but also more detailed information such as the size of internal buffers, and the value of protocol-specific timers. The most important attribute is the overlay identifier (overlay ID) which is used as a global identifier for an overlay network and which can be used as a key to access the other attributes of the overlay network. Each new overlay ID corresponds to the creation of a new overlay network. Overlay sockets exchange two types of messages, protocol messages and application messages. Protocol messages are the messages of the overlay protocol that main-tain the overlay topology. Application messages contain applicationdata that is encap-sulatedn an overlay message header. An application message uses logical addresses in the header to identify source and, for unicast, the destination of the message. If an overlay socket receives an application message from one of its neighbors in the over-lay network, it determines if the message must be forwarded to other overlay sockets, and if the message needs to be passed to the local application. The transmission modes currently supported by the overlay sockets are unicast, and multicast. In multicast, all members in the overlay network are receivers.In both unicast and multicast,the com-mon abstractionfor data forwarding is that of passing data in spanning trees that are embedded in the overlay topology. For example, a multicast message is transmitted downstream a spanning tree that has the sender of the multicast message as the root (see Figure 2(a)). When an overlay socket receives a multicast message, it forwards the message to all of its downstream neighbors (children) in the tree, and passes the mes-sage to the local application program. A unicast message is transmitted upstream a tree with the receiver of the message as the root (see Figure 2(b)). An overlay socket that receives a unicast message forwards the message to the upstream neighbor (parent) in the tree that has the destination as the root. An overlay socket makes forwarding decisions locally using only the logical ad-dresses of its neighbors and the logical address of the root of the tree. Hence, there is a requirement that each overlay socket can locally compute its parent and its children in a tree with respect to a root node. This requirement is satisfied by many overlay network topologies, including [15, 16, 18–20].3 The Components of an Overlay SocketAn overlay socket consists of a collection of components that are configured when the overlay socketis created, using the supplied set of attributes. These components include the overlay protocol, which helps to build and maintain the overlay network topology, a component that processes application data, and interfaces to a transport-layer network. The main components of an overlay socket, as illustrated in Figure 3, are as follows:The overlay node implements an overlay protocol that establishes and maintains the overlay network topology. The overlay node sends and receives overlay protocol messages, and maintains a set of timers. The overlay node is the only component of an overlay socket that is aware of the overlay topology. In the HyperCast 2.0. Overlay socket Forwarding EngineApplication Programming InterfaceStatistics InterfaceProtocol MessagesApplicationReceiveBufferApplicationTransmitBuffer Overlay NodeO verlay NodeInterfac eNode AdapterAdapter InterfaceSocket AdapterA dapter InterfaceApplication MessagesApplication ProgramTransport-layer NetworkApplication MessagesFig. 3. Components of an overlay socket.software, there are overlay nodes that build a logical hypercube [15] and a logical Delaunay triangu-lartion [16].The forwarding engine performs the functions of an application-layer router, that sends, receives, and forwards formatted application-layer messages in the overlay network. The forwarding engine communicates with the overlay node to query next hop routing information for application messages. The forwarding decision is made using logical addresses of the overlay nodes. Each overlay socket has two network adapters that each provides an interface to transport-layer protocols, such as TCP or UDP. The node adapter serves as the in-terface for sending and receiving overlay protocol messages, and the socket adapter serves as the interface for application messages. Each adapter has a transport level address, which, in the case of the Internet, consists of an IP address and a UDP or TCP port number. Currently, there are three different types of adapters, for TCP,UDP, and UDP multicast. Using two adapters completely separates the handling of messages for maintaining the overlay protocol and the messages that transport application data.The application receive buffer and application transmit buffer can temporarily store messages that, respectively, have been received by the socket but not been deliv-ered to theapplication, or that have been released by the application program, but not been transmitted by the socket. The application transmit buffer can play a role when messages cannot be transmitted due to rate control or congestion control con-straints. The application transmit buffer is not implemented in the HyperCast 2.0 software.Each overlay socket has two external interfaces. The application programming in-terface (API) of the socket offers application programs the ability to join and leave existing overlays, to send data to other members of the overlay network, and receive data from the overlay network. The statistics interface of the overlay socket provides access to status information of components of the overlay socket, and is used for monitoring and management of an overlay socket. Note in Figure 3 that some components of the overlay socket also have interfaces, which are accessed by other components of the overlay socket. The overlay manager is a component external to the overlay socket (and not shown in Figure 3). It is responsible for configuring an overlay socket when the socket is created. The overlay manager reads a configuration file that stores the attributes of an overlay socket, and, if it is specified in the configuration file, may access attributes from a server, and then initiates the instantiation of a new overlay socket.4 Overlay Network ProgrammingAn application developer does not need to be familiar with the details of the components of an overlay socket as described in the previous section. The developer is exposed only to the API of the overlay socket and to a file with configuration parameters. The configuration file is a text file which stores all attributes needed to configure an overlay socket. The configuration file is modified whenever a change is needed to the transport protocol, the overlay protocol, or some other parameters of the overlay socket. In the following, we summarize only the main features of the API, and we refer to [12] fordetailed information on the overlay socket API.4.1 Overlay Socket APISince the overlay topology and the forwarding of application-layer data is transparent to the application program, the API for overlay network programming can be made simple. Applications need to be able to create a new overlay network, join and leave an existing overlay network, send data to and receive data from other members in the overlay.The API of the overlay socket is message-based, and intentionally stays close to the familiar Berkeley socket API [3]. Since space considerations do not permit a description of the full API, we sketch the API with the help of a simplified example. Figure 4 shows the fragment of a Java program that uses an overlay socket. An application program configures and creates an overlay socket with the help of an overlay manager (o m). The overlay manager reads configuration parameters for the overlay socket from a configu-ration file (hypercast.pro p), which can look similarly as shown in Figure 5. The applica-tion program reads the overlay ID with command om.getDefaultProperty(“OverlayID”) from the file, and creates an configuration object (confi g) for an overlay socket with the.// Generate the configuration objectOverlayManager om = newOverlayManager("hypercast.prop");String MyOverlay = om.getDefaultProperty("OverlayID");OverlaySocketConfig config = new om.getOverlaySocketConfig(MyOverlay);// create an overlay socketOL Socket socket = config.createOverlaySocket(callback);// Join an overlaysocket.joinGroup();// Create a messageOL Message msg = socket.createMessage(byte[] data, int length);// Send the message to all members in overlay networksocket.sendToAll(msg);// Receive a message from the socketOL Message msg = socket.receive();Fig. 4. Program with overlay sockets.# OVERLAY Server:OverlayServer =# OVERLAY ID:OverlayID = 1234KeyAttributes= Socket,Node,SocketAdapter# SOCKET:Socket = HCast2-0HCAST2-0.TTL = 255HCAST2-0.ReceiveBufferSize = 200# SOCKET ADAPTER:SocketAdapter = TCPSocketAdapter.TCP.MaximumPacketLength = 16384# NODE:Node = DT2-0DT2-0.SleepTime = 400# NODE ADAPTER:NodeAdapter = NodeAdptUDPServerNodeAdapter.UDP.MaximumPacketLength = 8192NodeAdapter.UDPServer.UdpServer0 =128.143.71.50:8081Fig. 5. Configuration file (simplified) given overlay ID. The configuration object also loads all configuration information from the configuration file, and then creates the overlay socket(config.createOverlaySocke t).Once the overlay socket is created, the socket joins the overlay network(socket.join-Grou p). When a socket wants to multicast a message, it instantiates a new message (socket.createMessage) and trans-mits the message using the sendToAll method. Other transmission options are send-To-Parent, send-To-Children, sendToNeighbors, and sendToNode, which, respectively, send a message to the upstream neighbor with respect to a given root (see Figure 2), to the downstream neighbors, to all neighbors, or to a particular node with a given logical address.4.2 Overlay Network Properties ManagementAs seen, the properties of an overlay socket are configured by setting attributes in a configuration file. The overlay manager in an application process uses the attributes to create a new overlay socket. By modifying the attributes in the configuration file, an application programmer can configure the overlay protocol or transport protocol that is used by the overlay socket. Changes to the file must be done before the socket is created. Figure 5 shows a (simplified) example of a configuration file. Each line of the configuration file assigns a value to an attribute. The complete list of attributes and the range of values is documented in [12]. Without explaining all entries in Figure 5, the file sets, among others, the overlay ID to …1234 ‟, selects version 2.0 of the DT protocol as overlay protocol (…Node=DT2-0 ‟), and it sets the transport protocol of the socket adaptor to TCP(…SocketAdapter=TCP ‟).Each overlay network is associated with a set of attributes that characterize the properties of the over-lay sockets that participate in the overlay network. As mentioned earlier, the most important attribute is the overlay ID, which is used to identify an y network, and which can be used as a key toaccess all other attributes of an overlay network. The overlay ID should be a globally unique identifier.A new overlay network is created by generating a new overlay ID and associating aset of attributes that specify the properties of the overlay sockets in the overlay network. To join an overlay network, an overlay socket must know the overlay ID and the set of attributes for this overlay ID. This information can be obtained from a configuration file, as shown in Figure 5.All attributes have a name and a value, both of which are strings. For example, the overlay protocol of an overlay socket can be determined by an attribute with name NODE. If the attribute is set to NOD-E=DT2- 0, then the overlay node in the overlay socket runs the DT (version 2) overlay protocol. The overlay socket distinguishes between two types of attributes: key attributes and configurable attributes. Key attributes are specific to an overlay network with a given overlay ID. Key attributes are selectedwhen the overlay ID is created for an overlay network, and cannot be modified after-wards.Overlay sockets that participate in an overlay network must have identical key attributes, but can have different configurable attributes. The attributes OverlayID and KeyAttributes are key attributes by default in all overlay networks. Configurable at-tributes specify parameters of an overlay socket, which are not considered essential for establishing communication between overlay sockets in the same overlay network, and which are considered …tunable‟.5 ConclusionsWe discussed the design of an overlay socket which attempts to simplify the task of overlay network programming. The overlay socket serves as an end point of commu-nication in the overlay network. The overlay socket can be used for various overlay topologies and support different transport protoc-ols. The overlay socket supports a simple API for joining and leaving an overlay network, and for sending and receiving data to and from other sockets in the overlay network. The main advantage of the overlay socket is that it is relatively easy to change the configuration of the overlay network. An implementation of the overlay socket is distributed with the HyperCast2.0 soft-ware. The software has been extensively tested. Avariety of different applications, such as distributed whiteboard and a video streaming application, have been developed with the overlay sockets.Acknowledgement. In addition to the authors of this article the contributors include Bhupinder Sethi, Tyler Beam, Burton Filstrup, Mike Nahas, Dongwen Wang, Konrad Lorincz, Jean Ablutz, Haiyong Wang, Weisheng Si, Huafeng Lu, and Guangyu Dong.基于Socket的网络编程应用层覆盖网络的出现促进了新网络服务和应用的发展。
计算机外文翻译(完整)
计算机外⽂翻译(完整)毕业设计(论⽂)外⽂资料翻译专业:计算机科学与技术姓名:王成明学号:06120186外⽂出处:The History of the Internet附件: 1.外⽂原⽂ 2.外⽂资料翻译译⽂;附件1:外⽂原⽂The History of the InternetThe Beginning - ARPAnetThe Internet started as a project by the US government. The object of the project was to create a means of communications between long distance points, in the event of a nation wide emergency or, more specifically, nuclear war. The project was called ARPAnet, and it is what the Internet started as. Funded specifically for military communication, the engineers responsible for ARPANet had no idea of the possibilities of an "Internet."By definition, an 'Internet' is four or more computers connected by a network.ARPAnet achieved its network by using a protocol called TCP/IP. The basics around this protocol was that if information sent over a network failed to get through on one route, it would find another route to work with, as well as establishing a means for one computer to "talk" to another computer, regardless of whether it was a PC or a Macintosh.By the 80's ARPAnet, just years away from becoming the more well known Internet, had 200 computers. The Defense Department, satisfied with ARPAnets results, decided to fully adopt it into service, and connected many military computers and resources into the network. ARPAnet then had 562 computers on its network. By the year 1984, it had over 1000 computers on its network.In 1986 ARPAnet (supposedly) shut down, but only the organization shut down, and the existing networks still existed between the more than 1000 computers. It shut down due to a failied link up with NSF, who wanted to connect its 5 countywide super computers into ARPAnet.With the funding of NSF, new high speed lines were successfully installed at line speeds of 56k (a normal modem nowadays) through telephone lines in 1988. By that time, there were 28,174 computers on the (by then decided) Internet. In 1989 there were 80,000 computers on it. By 1989, there were290,000.Another network was built to support the incredible number of people joining. It was constructed in 1992.Today - The InternetToday, the Internet has become one of the most important technological advancements in the history of humanity. Everyone wants to get 'on line' to experience the wealth of information of the Internet. Millions of people now use the Internet, and it's predicted that by the year 2003 every single person on the planet will have Internet access. The Internet has truly become a way of life in our time and era, and is evolving so quickly its hard to determine where it will go next, as computer and network technology improve every day.HOW IT WORKS:It's a standard thing. People using the Internet. Shopping, playing games,conversing in virtual Internet environments.The Internet is not a 'thing' itself. The Internet cannot just "crash." It functions the same way as the telephone system, only there is no Internet company that runs the Internet.The Internet is a collection of millioins of computers that are all connected to each other, or have the means to connect to each other. The Internet is just like an office network, only it has millions of computers connected to it.The main thing about how the Internet works is communication. How does a computer in Houston know how to access data on a computer in Tokyo to view a webpage?Internet communication, communication among computers connected to the Internet, is based on a language. This language is called TCP/IP. TCP/IP establishes a language for a computer to access and transmit data over the Internet system.But TCP/IP assumes that there is a physical connecetion between onecomputer and another. This is not usually the case. There would have to be a network wire that went to every computer connected to the Internet, but that would make the Internet impossible to access.The physical connection that is requireed is established by way of modems,phonelines, and other modem cable connections (like cable modems or DSL). Modems on computers read and transmit data over established lines,which could be phonelines or data lines. The actual hard core connections are established among computers called routers.A router is a computer that serves as a traffic controller for information.To explain this better, let's look at how a standard computer might viewa webpage.1. The user's computer dials into an Internet Service Provider (ISP). The ISP might in turn be connected to another ISP, or a straight connection into the Internet backbone.2. The user launches a web browser like Netscape or Internet Explorer and types in an internet location to go to.3. Here's where the tricky part comes in. First, the computer sends data about it's data request to a router. A router is a very high speed powerful computer running special software. The collection of routers in the world make what is called a "backbone," on which all the data on the Internet is transferred. The backbone presently operates at a speed of several gigabytes per-second. Such a speed compared to a normal modem is like comparing the heat of the sun to the heat of an ice-cube.Routers handle data that is going back and forth. A router puts small chunks of data into packages called packets, which function similarly to envelopes. So, when the request for the webpage goes through, it uses TCP/IP protocols to tell the router what to do with the data, where it's going, and overall where the user wants to go.4. The router sends these packets to other routers, eventually leadingto the target computer. It's like whisper down the lane (only the information remains intact).5. When the information reaches the target web server, the webserver then begins to send the web page back. A webserver is the computer where the webpage is stored that is running a program that handles requests for the webpage and sends the webpage to whoever wants to see it.6. The webpage is put in packets, sent through routers, and arrive at the users computer where the user can view the webpage once it is assembled.The packets which contain the data also contain special information that lets routers and other computers know how to reassemble the data in the right order.With millions of web pages, and millions of users, using the Internet is not always easy for a beginning user, especially for someone who is not entirely comfortale with using computers. Below you can find tips tricks and help on how to use main services of the Internet.Before you access webpages, you must have a web browser to actually be able to view the webpages. Most Internet Access Providers provide you with a web browser in the software they usually give to customers; you. The fact that you are viewing this page means that you have a web browser. The top two use browsers are Netscape Communicator and Microsoft Internet Explorer. Netscape can be found at /doc/bedc387343323968011c9268.html and MSIE can be found at /doc/bedc387343323968011c9268.html /ie.The fact that you're reading this right now means that you have a web browser.Next you must be familiar with actually using webpages. A webpage is a collection of hyperlinks, images, text, forms, menus, and multimedia. To "navigate" a webpage, simply click the links it provides or follow it's own instructions (like if it has a form you need to use, it will probably instruct you how to use it). Basically, everything about a webpage is made to be self-explanetory. That is the nature of a webpage, to be easily navigatable."Oh no! a 404 error! 'Cannot find web page?'" is a common remark made by new web-users.Sometimes websites have errors. But an error on a website is not the user's fault, of course.A 404 error means that the page you tried to go to does not exist. This could be because the site is still being constructed and the page hasn't been created yet, or because the site author made a typo in the page. There's nothing much to do about a 404 error except for e-mailing the site administrator (of the page you wanted to go to) an telling him/her about the error.A Javascript error is the result of a programming error in the Javascript code of a website. Not all websites utilize Javascript, but many do. Javascript is different from Java, and most browsers now support Javascript. If you are using an old version of a web browser (Netscape 3.0 for example), you might get Javascript errors because sites utilize Javascript versions that your browser does not support. So, you can try getting a newer version of your web browser.E-mail stands for Electronic Mail, and that's what it is. E-mail enables people to send letters, and even files and pictures to each other.To use e-mail, you must have an e-mail client, which is just like a personal post office, since it retrieves and stores e-mail. Secondly, you must have an e-mail account. Most Internet Service Providers provide free e-mail account(s) for free. Some services offer free e-mail, like Hotmail, and Geocities.After configuring your e-mail client with your POP3 and SMTP server address (your e-mail provider will give you that information), you are ready to receive mail.An attachment is a file sent in a letter. If someone sends you an attachment and you don't know who it is, don't run the file, ever. It could be a virus or some other kind of nasty programs. You can't get a virus justby reading e-mail, you'll have to physically execute some form of program for a virus to strike.A signature is a feature of many e-mail programs. A signature is added to the end of every e-mail you send out. You can put a text graphic, your business information, anything you want.Imagine that a computer on the Internet is an island in the sea. The sea is filled with millions of islands. This is the Internet. Imagine an island communicates with other island by sending ships to other islands and receiving ships. The island has ports to accept and send out ships.A computer on the Internet has access nodes called ports. A port is just a symbolic object that allows the computer to operate on a network (or the Internet). This method is similar to the island/ocean symbolism above.Telnet refers to accessing ports on a server directly with a text connection. Almost every kind of Internet function, like accessing web pages,"chatting," and e-mailing is done over a Telnet connection.Telnetting requires a Telnet client. A telnet program comes with the Windows system, so Windows users can access telnet by typing in "telnet" (without the "'s) in the run dialog. Linux has it built into the command line; telnet. A popular telnet program for Macintosh is NCSA telnet.Any server software (web page daemon, chat daemon) can be accessed via telnet, although they are not usually meant to be accessed in such a manner. For instance, it is possible to connect directly to a mail server and check your mail by interfacing with the e-mail server software, but it's easier to use an e-mail client (of course).There are millions of WebPages that come from all over the world, yet how will you know what the address of a page you want is?Search engines save the day. A search engine is a very large website that allows you to search it's own database of websites. For instance, if you wanted to find a website on dogs, you'd search for "dog" or "dogs" or "dog information." Here are a few search-engines.1. Altavista (/doc/bedc387343323968011c9268.html ) - Web spider & Indexed2. Yahoo (/doc/bedc387343323968011c9268.html ) - Web spider & Indexed Collection3. Excite (/doc/bedc387343323968011c9268.html ) - Web spider & Indexed4. Lycos (/doc/bedc387343323968011c9268.html ) - Web spider & Indexed5. Metasearch (/doc/bedc387343323968011c9268.html ) - Multiple searchA web spider is a program used by search engines that goes from page to page, following any link it can possibly find. This means that a search engine can literally map out as much of the Internet as it's own time and speed allows for.An indexed collection uses hand-added links. For instance, on Yahoo's site. You can click on Computers & the Internet. Then you can click on Hardware. Then you can click on Modems, etc., and along the way through sections, there are sites available which relate to what section you're in.Metasearch searches many search engines at the same time, finding the top choices from about 10 search engines, making searching a lot more effective.Once you are able to use search engines, you can effectively find the pages you want.With the arrival of networking and multi user systems, security has always been on the mind of system developers and system operators. Since the dawn of AT&T and its phone network, hackers have been known by many, hackers who find ways all the time of breaking into systems. It used to not be that big of a problem, since networking was limited to big corporate companies or government computers who could afford the necessary computer security.The biggest problem now-a-days is personal information. Why should you be careful while making purchases via a website? Let's look at how the internet works, quickly.The user is transferring credit card information to a webpage. Looks safe, right? Not necessarily. As the user submits the information, it is being streamed through a series of computers that make up the Internet backbone.The information is in little chunks, in packages called packets. Here's the problem: While the information is being transferred through this big backbone, what is preventing a "hacker" from intercepting this data stream at one of the backbone points?Big-brother is not watching you if you access a web site, but users should be aware of potential threats while transmitting private information. There are methods of enforcing security, like password protection, an most importantly, encryption.Encryption means scrambling data into a code that can only be unscrambled on the "other end." Browser's like Netscape Communicator and Internet Explorer feature encryption support for making on-line transfers. Some encryptions work better than others. The most advanced encryption system is called DES (Data Encryption Standard), and it was adopted by the US Defense Department because it was deemed so difficult to 'crack' that they considered it a security risk if it would fall into another countries hands.A DES uses a single key of information to unlock an entire document. The problem is, there are 75 trillion possible keys to use, so it is a highly difficult system to break. One document was cracked and decoded, but it was a combined effort of14,000 computers networked over the Internet that took a while to do it, so most hackers don't have that many resources available.附件2:外⽂资料翻译译⽂Internet的历史起源——ARPAnetInternet是被美国政府作为⼀项⼯程进⾏开发的。
计算机外文翻译---计算机引论
Introduction to computer1 .Computer LiteracyThe vocabulary of computing is all around you. Before the advent of computers, memory was the mental ability to recall previous experiences; storage was an area where you kept out -of-season clothing; and communication was the act of exchanging opinions and information through writing, speaking, or signs. In today’s world, these words and countless others have taken on new meanings as part of the common terminology used to describe computers and their uses.When you hear the word computer, initially you may think of those found in the workplace—the computers used to create business letters, memos, and other correspondence; calculate payroll; track inventory; or generate invoices. In the course of a day or a week, however, you encounter many other computers. Your home, for instance, may contain a myriad of electronic devices, such as cordless telephones, VCRs, handheld video games cameras, and stereo systems, which include small computers.Computers help you with your banking in the form of automatic teller machines (ATMs) used to deposit or withdraw funds. When you buy groceries, a computer tracks your purchases and calculates the amount of money you owe; and sometimes generates coupons customized to your buying patterns.Even your car is equipped with computers that operate the electrical system, control the temperature, and run sophisticated antitheft devices.Computers are valuable tools. As technology advances and computers extend into every facet of daily living, it is essential you gain some level of computer literacy. To be successful in today’wo4ld, you must have knowledge and understanding of computers and their uses.2. What is a computer and what does it doA computer is an electronic machine, operating under the control of instructions stored in its own memory, which can accept data (input), manipulate the data according to specified rules (process), produce results (output), and store the results for future use.Data is a collection of un-organized facts, which can include words, numbers, images, and sounds. Computers manipulate and process data to create information.Information is data that is organized, has meaning, and is useful. Examples are reports, newsletters, a receipt, a picture, an invoice, or a check. Data is processed and manipulated to create a check.Data entered into a computer is called input. The processed results are called output. Thus, a computer processes input to create output. A computer also can hold data and information for future use in an area called storage. This cycle of input, process, output, and storage is called the information processing cycle.A person that communicates with a computer with a computer or uses the information it generates is called a user. The electric, electronic, and mechanical equipment that makes up a computer is called hardware. Software is the series of instruction that tells the hardware how to perform tasks. Without software, hardware is useless; hardware needs the instructions provided by software to process data into information.3.The components of a computerA computer consists of a variety of hardware components that work together with software to perform calculations, organize data, and communicate with other computer.These hardware components include input devices, output devices, a system unit, storage devices, and communications devices.3.1 Input DevicesAn input device allows a user to enter data and commands into the memory of a computer. Four commonly used input devices are the keyboard, the mouse, a microphone, and a PC camera.A computer keyboard contains keys that allow you to type letters of the alphabet, number, spaces, punctuation marks, and other symbols. A computer keyboard also contains special keys that allow you to allows you to move the pointer. You also can make choices and initiate processing on the computer by using a mouse.A microphone allows you to speak to the computer in order to enter data and control the actions of the computer. A PC camera allows others to see you wh ile communicating with you, as well as allowing you to edit videos, create a movie, and take digital photographs.3.2 Output DevicesA printer produces text and graphics, such as photographs, on paper or other hardcopy medium. A monitor, which looks like a television screen, is used todisplay text and graphics. Speakers allow you to hear music, voice, and other sounds generated by the computer.3.3 System UnitThe system unit is a box-like case made of metal or plastic that houses the computer electronic circuitry. The circuitry in the system unit usually is part of or is connected to a circuit board called the motherboard.Two main components on the motherboard are the central processing unit (CPU), also called a processor, is the electronic device that interprets and carries out the instructions that operate the computer.Memory is a series of electronic elements that temporarily holds data and instructions while they are being processed by the CPU. Both the processor and memory are chips. A chip is an electronic device that contains many microscopic pathways designed o carry electrical current. Chips(Figure1-2), which usually are no bigger than one-half inch square, are packaged so they can be connected to a motherboard or other circuit boards.Some computer components, such as the processor and memory resided inside the system unit; that is, they are internal. Other components, like keyboard, mouse, microphone, monitor, PC camera, and printer, are often system unit. These devices are considered external. Any external device that attaches to the system unit is called a peripheral device.3.4 Storage DevicesStorage holds data, instructions, and information for future use. Storage differs from memory, which can hold these items permanently, whereas memory holds these items only temporarily while they are being processed. A storage medium (media is the plural) is the physical material on which data, instructions, and information are stored. One commonly used storage medium is a disk, which is a round, flat piece of plastic or metal on which items can be encoded, or written.A storage device is used to record and retrieve data, instructions,, and information to and from a storage medium. Storage devices often function as a source of input because they transfer items from storage into memory. Four common storage devices are a floppy disk drive, a hard disk drive, a CD-ROM drive, and a DVD-ROM drive. A disk drive is a device that reads from and writes onto a disk.A floppy disk consists of a thin, circular, flexible disk enclosed in a plastic shell. A floppy disk stores data, instructions, and information using magneticpatterns and can be inserted into and removed from a floppy disk drive. A ZIP DISK give is a higher capacity floppy disk that can store the equival ent of about 70standard floppy disks.A hard disk provides much greater storage capacity than a floppy disk. A hard disk usually consists of several circular disks on which data, instructions, and information are stored magnetically. These disks are enclosed in an airtight, sealed case, which often is housed inside the system unit. Some hard disks are removable, which means they can be inserted and removed from a hard disk drive, much like a floppy disk. Removable disks are enclosed in plastic or metal cartridges so that they can be removed from the drive. The advantage of removable media such as a floppy disk and removable hard disk is it can be taken out of the computer and transporter or secured.Another type of disk used to store data is the compact disc. A compact disc stores data using microscopic pits, which are created or played using a CD-ROM drive, which is accessed or played using a CD-ROM drive. A variation of the standard CD-ROM, you can also erase and store data on a CD-RW. A newer type of compact disc is a FVD-ROM, which has tremendous storage capacities enough for a full-length movie. To use a DVD-ROM, you need a DVD-ROM drive.3.5 Communications DevicesCommunication devices enable computer users to communicate and to exchange items such as data, instruction, and information with another computer. Communication devices transmit these items over transmission media, such as cable, telephone lines, or other means, used to establish a connection between two computers. A modem is a communication device that enables computers to communicate via telephone lines or other means. Although modems are available as both external and internal devices, most are internal; that is, contained within the system unit.4. Why is a computer a powerful toolA computer’s power is derived from its capability of performing the information processing cycle operations with speed, reliability, and accuracy; its capacity to store huge amounts of data, instructions, and information; and its ability to communicate with other computers.4.1 SpeedInside the system unit, operation occurs through electronic circuits. When data, instructions, and information, flow along these circuits, they travel at closeto the speed of light. This allows billions of operations to be carried out i n a single second.4.2 ReliabilityThe electronic components in modern computers are dependable because they have a low failure rate. The high reliability of components enables the computer to produce consistent results.4.3 AccuracyComputers can process large amounts of data and generate error-free results, provided the data is entered correctly. If inaccurate data is entered, the resulting output will be incorrect. This computing principle known as garbage in, garbage out (GIGO), points out that the accu racy of a computer’s output depends on the accuracy of the input.4.4 StorageMany computers can store enormous amounts of data and make this data available for processing any time it is needed. Using current storage devices, the data can be transferred quickly from storage to memory, processed, and then stored again for future use.4.5 CommunicationsMost computers today have the capability of communicating with other computers. Computers with this capability can share any of the four information processing cycle operations—input, process, output, and storage—with another computer. For example, two computers connected by a communications device such as a modem can share stored data, instructions, and information. When two or more computers are connected together via communications media and devices, they comprise a network is the Internet, a worldwide collection of networks that links together millions of businesses, government installations, educational institutions, and individuals.5. Computer SoftwareSoftware, also called a computer program or simply a program, is a series of instructions that tells the hardware of a computer what to do. For example, some instructions direct the computer to allow you to input data from the keyboard and store it in memory. Other instructions cause data stored in memory to be used in calculations such as adding a series of numbers to obtain a total. Some instructions compare two values stored in memory and direct the computer to perform alternativeOperations based on the results of the comparison; and some instructions direct the computer to print a report, display information on the monitor, draw a color graph on the monitor, or store information on a disk.Before a computer can perform, or execute, a program, the instructions in the program must be placed, or loaded, into the memory of the computer. Usually, they are loaded into memory from storage. For example, a program might be loaded from the hard disk of a computer into memory for execution.When you purchase a program, such as one that contains legal documents, you will receive one or more floppy disks, one or more CD-ROMs, or a single DVD-ROM on which the software is stored. To use this software, you may install the software on the computer’s hard disk.Software is the key to productive use of computers. With the correct software, a computer can become a valuable tool. Software can be categorized into two types: system software and application software. The following sections describe these categories of software.计算机引论1.计算机文化计算词汇无处不在。
计算机专业-外文翻译
中文翻译:1 什么是 FlashFlash 是一种创作工具,设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。
Flash 可以包含简单的动画、视频内容、复杂演示文稿和应用程序以及介于它们之间的任何内容。
通常,使用 Flash 创作的各个内容单元称为应用程序,即使它们可能只是很简单的动画。
您可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的 Flash 应用程序。
Flash 特别适用于创建通过 Internet 提供的内容,因为它的文件非常小。
Flash 是通过广泛使用矢量图形做到这一点的。
与位图图形相比,矢量图形需要的内存和存储空间小很多,因为它们是以数学公式而不是大型数据集来表示的。
位图图形之所以更大,是因为图像中的每个像素都需要一组单独的数据来表示。
要在 Flash 中构建应用程序,可以使用 Flash 绘图工具创建图形,并将其它媒体元素导入 Flash 文档。
接下来,定义如何以及何时使用各个元素来创建设想中的应用程序。
在 Flash 中创作内容时,需要在 Flash 文档文件中工作。
Flash 文档的文件扩展名为 .fla (FLA)。
Flash 文档有四个主要部分:舞台是在回放过程中显示图形、视频、按钮等内容的位置。
时间轴用来通知 Flash 显示图形和其它项目元素的时间,也可以使用时间轴指定舞台上各图形的分层顺序。
位于较高图层中的图形显示在较低图层中的图形的上方。
库面板是 Flash 显示 Flash 文档中的媒体元素列表的位置。
ActionScript代码可用来向文档中的媒体元素添加交互式内容。
例如,可以添加代码以便用户在单击某按钮时显示一幅新图像,还可以使用 ActionScript 向应用程序添加逻辑。
逻辑使应用程序能够根据用户的操作和其它情况采取不同的工作方式。
Flash 包括两个版本的 ActionScript,可满足创作者的不同具体需要。
有关编写 ActionScript 的详细信息,请参阅"帮助"面板中的"学习 Flash 中的 ActionScript 2.0"。
计算机专业外文翻译 9
译文Apache Struts 2“Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications. The framework is designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time” -The Apache Software Foundation.4.1简介Struts是Apache的一个应用于Java Web的网络编程的开源框架。
Struts框架的创造者和发起者是McClanahan。
后来在2002年,Struts框架由Apache软件基金会收购和接管。
Struts 提供给程序员一个易于组织基于JSP和Servlet的HTML格式和Java代码的框架。
Struts1几乎能与所有标准的Java技术和Jakarta配置包协同工作。
然而,随着需求的不断增长,Struts1在网络应用程序暴露出来许多问题,所以为了满足需求,导致Strut2推出,Strut2能更好地为开发者提供服务,如 Ajax、高效开发和可扩展性。
4.1.1 Struts 2的起源自从2000年Apache Struts的发起,Struts框架取得了非常大的成功,被大多数标准所接纳,得到了很大的发展,如果不是这样,哪里会有今天java web程序的成绩。
它的历史,告诉我们Struts是怎样组织JSP和/ Servlets,而提供了固定的框架。
Struts融入server-generated HTML与Javascript,客户端验证,也使得开发比较容易和维护。
随着时间推进的和客户对web 需求扩大,网站应用程序取得硕果累累,Struts1太老了,开始在越来越多的网站前端开发者视野中淡去。
计算机类毕业外文翻译---系统开发阶段
计算机类毕业外文翻译The Phase to Develop the systemWith the society's development, the personal relationship is day by day intense. How enhances the personal relationship, reduces the management cost, the enhancement service level and pensonal competitive ability, is every one superintendent most matter of concern. More and more superintendents thought the implementation computer scientific style management solves this question.Management information systems (MIS), are information systems, typically computer based, that are used within an organization. World net described an information system as‖ a system consisting of the network of all communication channels used with an organization‖.Generally speaking, MIS involved the following parts:1 Conduct a Preliminary Investigation(1)What is the objective of the first phase of the SDLC?Attention: SDLC means Systems Development Life Cycle.The objectives of phase 1, preliminary investigation, are to conduct a preliminary analysis, propose alternative solutions, describe the costs and benefits of each solution, and submit a preliminary plan with recommendations. The problems are briefly identified and a few solutions are suggested. This phase is often called a feasibility study.(2)Conduct the preliminary analysisIn this step, you need to find out what the organization’s objectives are and to explore the nature and scope of the problems under study.Determine the organization’s objectives: Even if a problem pertains to only a small segment of the organization, you cannot study it in isolation. You need to find out what the overall objectives of the organization are and how groups and departments with in the organization interact. Then you need to examine the problem in that context.Determine the nature and scope of the problems: you may already have a sense of the nature and scope of a problem. However, with a fuller understanding of the goals of the organization, you can now take a closer look at the specifics. Is too much time being wasted on paperwork? On waiting for materials? On nonessential tasks? How pervasive is the problem within the organization? Outside of it? What people are most affected? And so on. Your reading and your interviews should give you a sense of the character of the problem.(3)Propose alternative solutionsIn delving into the organization’s objectives and the specific problems, you may have already discovered some solutions. Other possible solutions may be generated by interviewing people inside the organization, clients or customers, suppliers, and consultants and by studying what competitors are doing. With this data, you then have three choices. You can leave the system as is, improve it, or develop a new system.Leave the system as is: often, especially with paper-based or no technological systems, the problem really isn’t bad enough to justify the measures and expenditures required to get rid of it.Improve the system: sometimes changing a few key elements in the system upgrading to a new computer or new software, or doing a bit of employee retraining, for example will do the trick. Modifications might be introduced over several months, if the problem is no serious.Develop a new system: if the existing system is truly harmful to the organization, radical changes may be warranted. A new system would not mean just tinkering around the edges or introducing some new piece of hardware or software. It could mean changes in every part and at every level.(4)Describe costs and benefitsWhichever of the three alternatives is chose, it will have costs and benefits. In this step, you need to indicate what these are.The changes or absence of changes will have a price tag, of course, and you need to indicate what it is. Greater costs may result in greater benefits, which, in turn, may offer savings. The benefits may be both tangible—such as costly savings –and intangible—such as worker satisfaction. A process may be speeded up, streamlined through the elimination of unnecessary steps, or combined with other processes. Input errors or redundant output may be reduced. Systems and subsystems may be better integrated. Users may be happier with the system. Customers or suppliers may interact more efficiently with the system. Security may be improved. Costs may be cut.(5)Submit a preliminary planNow you need to wrap up all your findings in a written report, submitted to the executives(probably top managers) who are in a position to decide in which direction to proceed—make no changes, change a little, or change a lot—and how much money to allow the project. You should describe the potential solutions, costs, and benefits and indicate your recommendations. If management approves the feasibility study, then the systems analysis phase can begin.2 Do a Detailed Analysis of the System(1)What tools are used in the second phase of the SDLC to analyze data?The objectives of phase 2, systems analysis, are to gather data, analyze the data, and write a report. The present system is studied in depth, and new requirements are specified. Systems analysis describes what a system is already doing and what it should do to meet the needs of users. Systems design—the next phase—specifies how the system will accommodate the objective.In this second phase of the SDLC, you will follow the course prescribed by management on the basis of your phase/feasibility report. We are assuming what you have been directed to perform phase 2—to do a careful analysis of the existing system, in order to understand how the new system you propose would differ. This analysis will also consider how people’s positions and tasks will have to change if the new system is put into effect. In general, it involves a detailed study of: The information needs of the organization and all users;The actives, resources, and products or any present information systems;The information systems capabilities required to need the established information needs and user needs.(2)Gather dataIn gathering data, systems analysts use a handful of tools. Most of them not tem ply technical. They include written documents, interviews, questionnaires, observation, and sampling.Written documents: a great deal of what you need is probably available in the form of written documents, and so on. Documents are a good place to start because they tell you how things are or are supposed to be. These tools will also provide leads on people and areas to pursuer further.Interviews: interviews with managers, workers, clients, suppliers, and competitors will also give you insights. Interviews may be structured or unstructured.Questionnaires: questionnaires are useful for getting information for large groups of people when you can’t get around to interviewing everyone. Questionnaires may also yield more information if respondents can be anonymous. In addition, this tool is convenient, is inexpensive, and yields a lot of data. However, people may not return their forms, results can be ambiguous, and with anonymous questionnaires you’ll have no opportunity to follow up.Observation: no doubt you’ve sat in a coffee shop or on a park bench and just alone ―a person is watching‖. This can be a tool for analysis, too. Through observation you can see how people interact with one another and how paper moves through an organization. Observation can be non-participant or participant. If you are a non-participant observer, and people knew they are a participant observer, you may gain more insights by experiencing the conflicts and responsibilities of the people you are working with.(3)Analyze the dataOnce the data is gathered, you need to come to grips with it and analyze it. Many analytical tools, or modeling tools, are available. Modeling tools enables a systems analyst to present graphic representations of a system. Examples are CASE tools,data flow diagrams, systems flow charts, connectivity diagrams, grid charts, decision tables, and object-oriented analysis.For example, in analyzing the current system and preparing data flow diagrams, the systems analyst must also prepare a data dictionary, which is then used and expanded during all remaining phases of the SDLC. A data dictionary defines all the elements that make up the data flow. Among other things, it records what each data element is by name, how long it is, are where it is used, as well as any numerical values assigned to it. This information is usually entered into a data dictionary software program.The Phase: Design the System(4)At the conclusions of the third phase of the SDLC, what should have been created?The objectives of phase 3, systems design, are to do a preliminary design and then a detail and to write a report. In this third phase of the SDLC, you will essentially create a rough draft and then a detail draft of the proposed information system.(5)Do a preliminary designA preliminary design describes the general foundational capabilities of proposed information system. It reviews the system requirements and then considers major components of the system. Usually several alternative systems are considered, and the costs and the benefits of each are evaluated.Some tools that may be used in the preliminary design an the detail design are following:CASE tools: they are software programs that automate various activities of the SDLC in several phases. This screen is from one of their banking system tools. It shows a model for an A TM transaction. The purchaser of the CASE tool would enter details relative to the particular situation. This technology is intended to speed up to the process of developing systems and to improve the quality of the resulting systems.Project management software: it consists of programs used to plan, schedule, a control the people, costs, and resources required to complete a project on time.3 A detail designA detail design describes how a proposed information system will deliver the general capabilities in the preliminary design. The detail design usually considers the following parts of the system, in this order: output requirements, and system controls and backup.(1) Output requirements: the first thing to determine is what you want the system to produce. In this first step, the systems analyst determines what media the appearance or format of the output, such as headings, columns, and menus.(2) Input requirements: once you know the output, you can determine the inputs, here, too, you must define the type of input, such as keyboard or source data entry. You must determine in what form data will be input and how it will be checked for accuracy. You also need to figure out what volume of data the system can be allowed to take in.(3) Storage requirements: using the data dictionary as a quite, you need to define the files and databases in the information system. How will the files be organized? What kind of storage devices will be used? How will they interface with other storage devices inside and outside of the organization? What will be the volume of database activity?(4) Processing and networking requirements, what kind of computer or computers will be used to handle the processing? What kind of operating system and applications software will be used? Will the computer or computers be tied to others in a network? Exactly what operations will be performed on the input data to achieve the desired output information? What kinds of user interface are desired?(5) System controls backup: finally, you need to think about matters of security, privacy, and data accuracy. You need to prevent unauthorized users from breaking into the system, for example, and snooping in private files. You need to devise auditing procedures and to set up specifications for testing the new system. Finally, you need to institute automatic ways of backing up information and storing it else where in case the system fails or is destroyed.4 Develop/Acquire the System(1)What general tasks do systems analysts perform in the fourth phase of the SDLC?Systems development/acquisition, the systems analysts or others in the organization acquire the software, acquire thehardware, and then test the system. This phase begins once management has accepted the report containing the design and has‖green lighted‖the way to development. Depending on the size of the project, this phase will probably involve substantial expenditures of money and time. However, at the end you should have a workable system.(2)Acquire softwareDuring the design stage, the systems analyst may have had to address what is called the ―make-or-buy‖ decision; if not, that decision certainly cannot be avoided now. In the make-or-buy decision, you decide whether you have to create a program –have it custom-written—or buy it. Sometimes programmers decide they can buy an existing software package and modify it rather than write it from scratch.If you decide to create a new program, then the question is whether to use the organization’s own staff programmers or to hair outside contract programmers. Whichever way you go, the task could take months.(3)Acquire hardwareOnce the software has been chosen, the hardware to run it must be acquired or upgraded. It’s possible you will not need to obtain any new hardware. It’s also possible that the new hardware will cost millions of dollars and involve many items: models, and many other devices. The organization may prefer to lease rather than buy some equipment, especially since chip capability was traditionally doubled about every 18 months.(4)Test the systemWith the software and hardware acquired, you can now start testing the system in two stages: first unit testing and then system testing. If CASE tools have been used throughout the SDLC, testing is minimized because any automatically generated program code is more likely to be error free.5 Implement the System(1)What tasks are typically performed in the fifth phase of the SDLC?Whether the new information system involves a few handheld computers, and elaborate telecommunications network, or expensive mainframes, phase 5,systems implementation, with involve some close coordination to make the system not just workable but successful, and people are tainted to use it.6 Maintain the System(1)What two tools are often used in the maintenance phase of the SDLC?Phase 6, systems maintain, adjusts and improves the system by having system audits and periodic evaluations and by making changes based on new conditions.Even with the conversion accomplished and the users trained, the system won’t just run itself. There is a sixth-and never-ending –phase in which the information system must—monitored to ensure that it is effective. Maintenance includes not only keeping the machinery running but also updating and upgrading the system to keep pace with new products, services, customers, government regulations, and other requirements.附件二英汉翻译系统开发阶段随着社会的发展,个人关系管理在日常生活中起的左右显而易见,怎样增强个人管理管理能力,减少管理成本,加强服务水平和个人的竞争力是困扰每一个主管的重要问题之一。
计算机外文翻译---网管软件产品的选购
外文资料Network management software products to buyThe current market network management software can also be classified by function as follows: network element management, network management, application-layer management of the three levels, including network element management is the most basic. Now, different manufacturers have launched their own network management software, then how to choose a network management system?1.As the center of business, management needs to graspThe most fundamental one, we must know the type of network equipment, the network is organized. Therefore, we must first list all the network management needs, which are desired and what is not wanted. Through the demand for tables, we can clearly know what the functional needs in the end. After all, spend a high price does not need to buy their own service is a waste.In general, the specific needs are: to the administrator of the traffic report on the status of servers, routers, traffic on the network overload or bottleneck; through policy-based network management to initiate action, such as to stop the process to restart and so on; It should also be able to sound the alarm to the relevant personnel, such as by e-mail or pager, etc.; can provide a convenient and powerful way to show that the affected business processes, business units or even individuals.2.Application software and services for the provision of environmentalSLA (Service Level Agreement) is a response to the current services as an important indicator of the situation, and gradually as the important characteristics of network management products to look at. Therefore, a deep understanding of network management products in this important indicator of great significance to help enterprises to measure the level and degree of matching between the need to in order to make it for reporting, trend analysis and capacity planning.3.Scalability, ease of use and integration of the combinedNetwork equipment, fault type, and network management practice is a typical problem. Therefore, paragraph 3 to integrate the function of side products is very important, because most manufacturers have to rely on the No. 3 vendor to provide some added to the system so that they become more complete. Thus, scalability has become the user to choose network management solutions, an important criterion. In addition, consider the convenience of management, a number of useful network management tools must also be taken into account in order to improve the efficiency of network management.It is worth mentioning that, a great number of network management products to provide trial versions, we can try to put forward a number of enterprise applications, and only experienced the scalable, easy to use, the characteristics of a high level of integration, the product can be targeted stereotypes.4.Standards and protocols to support the independence ofSNMP standard is now mature, and produce all their products available. Truly comprehensive network management solution should support the existing and even new standards, to incorporate them into their architecture. Not only to support SNMP, but also support DHCP (Dynamic Host Configuration Protocol) and DNS, DMI(Desktop Management) and CIM (public information management). In this way, regardless of the network administrator to choose what kind of future technology or equipment, the solution can monitor and manage the entire network. Therefore, the real corporate network management solution should support all network protocols, should be able to all types of hardware and operating systems, not just some kind of close to a vendor or operating system.网管软件产品的选购目前市场销售的网络管理软件也可以按功能划分为:网元管理、网络层管理、应用层管理三个层次,其中网元管理是最基础的。
计算机外文翻译--C#设计模式
外文科技资料翻译英文原文Design Patterns in C #A model is a program using such a program, we can complete certain tasks. A model is a way through this way, we can achieve a certain purpose. Meanwhile, a model is a technology. In order to complete a particular job, we need to access and use the technology effectively. This kind of thinking can be applied to many types of work, such as : cooking, pyrotechnic, software development and other work. If the work Township respective fields is not of sound, then the practitioners in the field will be to find some common, effective solutions, using these programs, not in the circumstances to resolve the relevant issues, complete the work so as to achieve the purpose. Certain areas of regular employees in the field will have a habit of terminology These habits contribute to the terms of the work related personnel exchanges. Some models customary terms. The so-called model is able to complete some specific task and reach the goal of the mission off-the-shelf technology. With a habit of technology and related terms, some of this technology and modes documented, These records document from the customary terms to be standardized and made some effective technology has been widely disseminated.Christopher Alexander is that some of the best skills facts old road program modeled on the one of the pioneers. His research area is the architecture, not the software. In his new book, "A Pattern Language : Towns, Buildings, Construction book, "Alexander the construction of housing and urban building the successful model. Alexander's works have far-reaching effects, it also affects software fields. This Department has been able to make an impact in other areas, partly because the author has a unique purpose of the observation.You might think that the construction approach is aimed at "building design." But Alexander made clear, Application architecture model, which aims to serve the future to those living in these buildings or living in these cities people, make them feel comfortable and happy. Alexander's work showed that the model is a certain access and the exchange of technical knowledge in the field excellent way. He also pointed out that a reasonable understanding of a particular record and the object of the exercise is very crucial, this requires philosophical thinking, also faced with unpredictable challenges.Software development groups have to have a model resonates, and published a large number of books to record the software development model. These books record the software process the best time, senior architecture and software design category level, and and the pattern books are still published. If you need to choose the mode of translation of the books, Youshould first take some time to read those to the secretary of the published comments, and then from the translation of choice for your help greatest books, and as your 2020.Abstract, a kind of interface is the kind of certain methods and fields consisting of a pool. Other examples of the object can be set right through this class for a visit. Excuse the expression usually implementation of the method of operation for the functional responsibility, which often means using the name, code Notes and other documents for descriptive. Category 1 refers to the realization of the type of method to achieve code.C # language to improve the interface concept, so that it can be a separate structure, thereby interface (namely : an object must do what) and the realization (that is : a target how to meet their functional responsibilities) to effectively separate areas. C # language interface to allow for more than one category with a functional, and the C # interface can achieve more than one type interface.There are several design patterns can be used for the C # features. For example : we can use an interface to fit a certain type of interface, In reality, this is through the application adapter mode to meet a customer's needs. To discuss some language C # unable to complete the work, we should understand how the C # language is the work performed, Therefore, we first discuss the C # language interface.If you do not use interface, then you can use the abstract class (C + + language abstract). However, the n layer (n-tier) software development and definition of structure and other objects, the interface has a critical role to play. Similarly, if you do not use commissioned, then you can use the interface. If a public mandate required to be registered for a callback method, then the commission could improve these mandates, and therefore C # Entrusted language is a very useful content.1.I nterface and abstract categoryPlease indicate the C # language and abstract category of the three interfaces between different.In use, failed to provide a method of non-abstract category with an abstract interface is similar. However, we need to pay attention to the following points :A class can achieve any number of interfaces, but only up to an abstract category of sub-categories.An abstract class can include abstract, and an interface all methods in effect are abstract.An abstract class can declare and use variables, and not an interface.An abstract category of the visit Xiuchifu can be public, internal, protected, protected internal or private, and members of the interface visit Xiuchifu in default under are public, but,in a statement Interface members, allowed to use the visit Xiuchifu (even allowed to use public visit Xiuchifu).An abstract class can be defined Constructors, and not an interface.2.I nterface with the commissioningInterface with the commissioning of comparison :Interface with the commissioning of the similarities is that they can have the desired definition of the function. We learn in the process of commissioning often create some confusion and the reason was partly due to "trust" the word It can express meaning is nuanced different concepts. The right to commission and compare interface, we have to take a look at the C # language commission is how to work.C # language keyword delegate introduction of a new type of commission, This new type commissioned determine what type of method can be used only example of this type of commission. Commissioned no standard type of name, but it standardized the method parameter types and return types.We consider the following statement :Public delegate object BorrowReader ( IDataReader reader);This statement of the Declaration of a new type of commission. Commissioned by the name of the type BorrowReader. The statement said the commission can use any type of technique is, as long as the method of receiving a IDataReader object as a method parameters, and return types of methods to object. If a certain category is the following :Pricate static object GetNames (IDataReader reader){//…}GetNames () method parameter types and return types to meet BorrowReader commissioned by the types of standardized definition, this method can be used to name the types commissioned example, Examples of the statement is as follows :Is a variable b BorrowReader commissioned by the types of examples. Any visit to the commission examples of code can be called Object b, then commissioned example of the calling object b inclusive approach. The reason why the use of object example b, as this program has the following advantages : other ways in the right time calling object b and an inclusive approach. For example : a category of data services available to read on a database, called a BorrowReader commissioned example (that is, the above reader transmitted to the commission examples), then read this database as a resource for the release.C # interface can be an inclusive, C # attributes (property), and indexer. Interface can be a tolerant, inclusive but not commissioned. Why?We can simply gives the following explanation :Delegate keyword introduction of a new type, and the event keyword introduction of a new member. A statement standardized interfaces members, and not the type, time can be classified interface, which can not be classified as commissioned interface.And detailed explanation :Event keyword statement of a specific type of field (an "incident") standardize the types (must be a commissioned type) and their names. C # restrictions on the visit, the customer can not use the incident type (commissioned by the type) of all acts. Customers can only use commissioned by the + = and -= acts. Such restrictions are the result of : Only statement classes can call (or excited) an incident. However, as long as inclusive so that a certain category of a public member of the incident, a client interface types can be composed of the above examples that category. The incident is a kind of interface standard component, we have ample reason for the interface, including the incident.When entrusted to a single callback method, one based on interface design is equally effective. However, if the design needs to hold the commissioning of Togo and called method, then entrusted clearer. When a particular target for the use of a commissioned for a number of clients (for example, "hits" on the incident) for the registration, this advantage is particularly prominent. Is a one time member, the member can make an object or class to give notice to the news.Understand the language C # commissioned may be difficult, especially because we repeat the definition of "trust" the meaning of the term. For example, we can use the "commission" of the term commission statement said a commission types, and even commissioned an example. Particularly, people always say, "Call a commission," but an object can only call a commissioned example, not calling a commissioned type. If you feel this is part of some confusion hard, do not worry, a lot of people are. But we should really seriously study commissioned by the C # is how to work. which is not only to understand how the application of the key, as well as understanding how the category of interactive key.3.I nterface and attributesC # language can be an excuse for standardized interface must provide the indexer or C # attributes. If your definition of a new type of set, then we need to standardize an indexer. If you make the following statement, a realization that must include a method and the method to use an attribute value, and (or) the need to set this attribute value, then you will need a standard C # attributes.Following is a statement of a code without the use of C # attributes interface, but the realization, the need for a targeting of the attributes of the visit. Public interface IAdvertisement {Int GetID ();String GetADCopy ();Void SetADCopy (string text);}The above code interface is Oozinoz system Showproperties part of the library. In simple terms, this meant to standardize the interface of two C # attributes, but strictly speaking, they are not C # attributes. The use of C # syntax for C # attributes the advantage of its syntax more elegant. However, the most important point is not to have the capacity to foresee the reflection customers can detect the presence of C # attributes. For example, as long as the relevant attribute is the real target of C # attributes, a Datagrid object can be in one ArrayList pools showing relevant object attributes.In an interface, C # attributes expressed in the syntax is dependent, and therefore in achieving interface will have some differences. We should use in-depth understanding of C # interface characteristics of the relevant concepts and the use of details.4.I nterface detailsC # interface of the main advantages is that the interface of object interaction of the restrictions. Such restrictions are, in fact, a liberation. On the realization of a certain type of interface, the category The interface in the provision of services in the process has undergone many changes, But these changes will not affect the class customers. Although excuses are very easy to understand, but in time, Also details of the development staff have been forced to resort to reference materials.Interface description of the types of interaction in the process of the expectations and do not expect to conduct acts. Interface with pure abstract categories is very similar, interface definition it should be completed in the function, but we did not achieve these functions. Interface is also entrusted with a similar course, entrusted only to standardize the method of each method parameter and return types.Also commissioned type, it can not be an inclusive one interface commissioned and treat it as a member. However commissioned by the types of variables and marking the event keyword variables could happen in interface.Apart from the methods and events, but also inclusive interface for indexing and attributes. These elements of the syntax is very important because customers through the use of these types of members and the use of reflection, Detection and understanding to achieve category(category refers to achieve the realization of Interface) behavior. Grasp how to use the C # interface concept and very important details, that you deserve to spend some time. This part of this function is also a powerful sense of the design of the core content, as well as several of the core design pattern.5.G eneral Interface can not provide the contentC # interface can be used to simplify and strengthen the system design, of course, Sometimes the excuse that may be beyond the general interface definition and scope of use.If you want to make a kind of interface with a customer expectations interface adapter, the adapter can be applied to model.If you want to set such a simple interface, then the model can be applied appearance.If you want a definition of interface, so that it can be used to delay object, can be applied to the target group. Well, we can use synthetic model.If you want to achieve an abstract for their separation, so that they can change independently, then can be applied to bridge mode.Each model is designed to : in a specific context solve a problem. Based on the model interface emphasized the context, Context because the decision whether we need to define or redefine the right of the visit means These methods can be both a class method, it can also be a cluster approach. For example : If a particular category of what we need, However method name with the customer expectation of a name does not match, Then we can use Adapter model to solve this problem.If a client calls us to develop the code, so this is a target customers. In some cases, client code in the code only after the completion of the development, So developers can ask the households can conform to our code of the object interface specification. However, in some cases, families may also be independent of code development. For example : a rocket simulation program we need to use the information provided by the rocket, However simulation program also defines the rocket's working methods. Under such circumstances, we will find that the existing class has provided customers the services they need, but not of the same name. At this time, we can apply Adapter mode. Adapter model is aimed at : if a customer needs to use a certain type of service, This service is the category with a different interfaces, then Adapter model can be used to provide a desired interface.Java programming language and the language differences between the lies : C # Language no way any possible Cook Up Some of the anomalies in a statement. Whether this is a good character? Please give your conclusions and related reasons.In a way other than the first statement of anomalies because :We should first of all pay attention to, the Java language does not require a statement of all possible methods dished out anomalies. For example, any methods may encounter a space pointer and then dished out a statement not abnormal.Even the Java language designers admit that forced programmers all possible statement is a very unrealistic. Applications need a strategy, and under this strategy to deal with all the anomalies. Developer statement requested some type of anomaly is not a substitute for such exception handling strategy.The other : programmers should be all they can receive help. Indeed, an application architecture should have a credible strategy to deal with the anomalies. Meanwhile, forced developers in each of the methods are common problems (such as empty pointer) statement is unrealistic. For certain types of errors, such as open a file may arise in the course of the issue, there is a definite need for methods the caller to deal with the anomalies that may occur. C # language for a method statement terminology might happen some unusual statement from the method in addition to the first. In fact, this program is pouring out the water at the same time, the children are thrown out of.Object-oriented program design procedures can be avoided is not designed for a single, thus avoiding the procedures of the various parts are mixed together. An ideal object-oriented application should be one of the smallest category, This category could include other reusable kind of behavior effectively together.中文译文C#设计模式一个模式是一种方案,利用这种方案,我们可以完成某项工作。
计算机英汉翻译
计算机英汉翻译外文原文Introduction to Javaautor:Martin Ngobye.source:Computing Static Slice for Java ProgramsJava is designed to meet the challenges of application development in the context of heterogeneous, network-wide distributed environments. Paramount among these challenges is secure delivery of applications that consume the minimum of system resources, can run on any hardware and software platform,and can be extended dynamically.Java originated as part of a research project to develop advanced software for a wide variety of network devices and embedded systems. The goal was to develop a small, reliable, portable, distributed, real-time operating platform. When the project started, C++ was the language of choice. But over time the difficulties encountered with C++ grew to the point where the problems could best be addressed by creating an entirely new language platform. Design and architecture decisions drew from a variety of languages such as Eiffel, SmallTalk, Objective C, and Cedar/Mesa. The result is a language platform that has proven ideal for developing secure, distributed, networkbasedend-userapplicationsinenvironmentsrangingfromnetwork-embedded devices to the World-Wide Web and the desktop.The design requirements of Java are driven by the nature of the computing environments in which software must be deployed.The massive growth of the Internet and the World-Wide Web leads us to a completely new way of looking at development and distribution of software. To live in the world of electronic commerce and distribution, Java must enablethe development of secure, high performance, and highly robust applications on multiple platforms in heterogeneous, distributed networks.Operating on multiple platforms in heterogeneous networks invalidates the traditional schemes of binary distribution, release, upgrade, patch, and so on. To survive in this jungle, Java must be architecture neutral, portable, and dynamically adaptable.The Java system that emerged to meet these needs is simple, so it can be easily programmed by most developers; familiar, so that current developers can easily learn Java; object oriented, to take advantage of modern software developmentmethodologies and to fit into distributed client-server applications; multithreaded, for high performance in applications that need to perform multiple concurrent activities, such as multimedia; and interpreted, for maximum portability and dynamic capabilities.Together, the above requirements comprise quite a collection of buzzwords, so let’s examine some of them and their respective benef its before going on.What’s completely new is the manner in which Java and its run-time system have combined them to produce a flexible and powerful programming system..Developing your applications using Java results in software that isportable across multiple machine architectures, operating systems, andgraphical user interfaces, secure, and high performance, With Java, your jobas a software developer is much easier―you focus your full attention on the end goal of shipping innovative products on time, based on the solidfoundation of Java. The better way to develop software is here, now, broughtto you by the Java language platform.Very dynamic languages like Lisp, TCL, and SmallTalk are often used for prototyping. One of the reasons for their success at this is that they arevery robust―you don’t have to worry about freeing or corrupting memory.Similarly, programmers can be relatively fearless about dealing with memory when programming in Java, The garbage collection system makes thep rogrammer’s job vastly easier; with the burden of memory management taken off the programmer’s shoulders, storage allocation errors go away. Another reason commonly given that languages like Lisp, TCL, and SmallTalk are good for prototyping is that they do n’t require you to pin down decisions early on―these languages are semantically rich.Java has exactly the opposite property: it forces you to make explicit choices. Along with these choices come a lot of assistance―you can write method invocations and, if you get something wrong, you get told about it at compile time. You don’t have to worry about method invocation error.中文翻译JAVA介绍作者:Martin Ngobye.出处:Computing Static Slice for Java ProgramsJava是被设计用来解决在上下文分布式的异构网络中应用程序开发的问题。
计算机专业外文文献翻译
毕业设计(论文)外文文献翻译(本科学生用)题目:Plc based control system for the music fountain 学生姓名:_ ___学号:060108011117 学部(系): 信息学部专业年级: _06自动化(1)班_指导教师: ___职称或学位:助教__20 年月日外文文献翻译(译成中文1000字左右):【主要阅读文献不少于5篇,译文后附注文献信息,包括:作者、书名(或论文题目)、出版社(或刊物名称)、出版时间(或刊号)、页码。
提供所译外文资料附件(印刷类含封面、封底、目录、翻译部分的复印件等,网站类的请附网址及原文】英文节选原文:Central Processing Unit (CPU) is the brain of a PLC controller. CPU itself is usually one of the microcontrollers. Aforetime these were 8-bit microcontrollers such as 8051, and now these are 16-and 32-bit microcontrollers. Unspoken rule is that you’ll find mostly Hitachi and Fujicu microcontrollers in PLC controllers by Japanese makers, Siemens in European controllers, and Motorola microcontrollers in American ones. CPU also takes care of communication, interconnectedness among other parts of PLC controllers, program execution, memory operation, overseeing input and setting up of an output. PLC controllers have complex routines for memory checkup in order to ensure that PLC memory was not damaged (memory checkup is done for safety reasons).Generally speaking, CPU unit makes a great number of check-ups of the PLC controller itself so eventual errors would be discovered early. You can simply look at any PLC controller and see that there are several indicators in the form. of light diodes for error signalization.System memory (today mostly implemented in FLASH technology) is used by a PLC for a process control system. Aside form. this operating system it also contains a user program translated forma ladder diagram to a binary form. FLASH memory contents can be changed only in case where user program is being changed. PLC controllers were used earlier instead of PLASH memory and have had EPROM memory instead of FLASH memory which had to be erased with UV lamp and programmed on programmers. With the use of FLASH technology this process was greatly shortened. Reprogramming a program memory is done through a serial cable in a program for application development.User memory is divided into blocks having special functions. Some parts of a memory are used for storing input and output status. The real status of an input is stored either as “1”or as “0”in a specific memory bit/ each input or output has one corresponding bit in memory. Other parts of memory are used to store variable contents for variables used in used program. For example, time value, or counter value would be stored in this part of the memory.PLC controller can be reprogrammed through a computer (usual way), but also through manual programmers (consoles). This practically means that each PLC controller can programmed through a computer if you have the software needed for programming. Today’s transmission computers are ideal for reprogramming a PLC controller in factory itself. This is of great importance to industry. Once the system is corrected, it is also important to read the right program into a PLC again. It is also good to check from time to time whether program in a PLC has not changed. This helps to avoid hazardous situations in factory rooms (some automakers have established communication networks which regularly check programs in PLC controllers to ensure execution only of good programs). Almost every program for programming a PLC controller possesses various useful options such as: forced switching on and off of the system input/outputs (I/O lines),program follow up in real time as well as documenting a diagram. This documenting is necessary to understand and define failures and malfunctions. Programmer can add remarks, names of input or output devices, and comments that can be useful when finding errors, or with system maintenance. Adding comments and remarks enables any technician (and not just a person who developed the system) to understand a ladder diagram right away. Comments and remarks can even quote precisely part numbers if replacements would be needed. This would speed up a repair of any problems that come up due to bad parts. The old way was such that a person who developed a system had protection on the program, so nobody aside from this person could understand how it was done. Correctly documented ladder diagram allows any technician to understand thoroughly how system functions.Electrical supply is used in bringing electrical energy to central processing unit. Most PLC controllers work either at 24 VDC or 220 VAC. On some PLC controllers you’ll find electrical supply as a separate module. Those are usually bigger PLC controllers, while small and medium series already contain the supply module. User has to determine how much current to take from I/O module to ensure that electrical supply provides appropriate amount of current. Different types of modules use different amounts of electrical current. This electrical supply is usually not used to start external input or output. User has to provide separate supplies in starting PLC controller inputs because then you can ensure so called “pure” supply for the PLC controller. With pure supply we mean supply where industrial environment can not affect it damagingly. Some of the smaller PLC controllers supply their inputs with voltage from a small supply source already incorporated into a PLC.中文翻译:从结构上分,PLC分为固定式和组合式(模块式)两种。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
外文翻译原文及译文JSP application frameworksWhat are application frameworks:A framework is a reusable, semi-complete application that can be specialized toproduce custom applications [Johnson]. Like people, software applications are more alike than they are different. They run on the same computers, expect input from the same devices, output to the same displays, and save data to the same hard disks. Developers working on conventional desktop applications are accustomed to toolkits and development environments that leverage the sameness between applications. Application frameworks build on this common ground to provide developers with a reusable structure that can serve as the foundation for their own products.A framework provides developers with a set of backbone components that have the following characteristics:1.They are known to work well in other applications.2. They are ready to use with the next project.3. They can also be used by other teams in the organization.Frameworks are the classic build-versus-buy proposition. If you build it, you will understand it when you are done—but how long will it be before you can roll your own? If you buy it, you will have to climb the learning curve—and how long is that going to take? There is no right answer here, but most observers would agree that frameworks such as Struts provide a significant return on investment compared to starting from scratch, especially for larger projects.Other types of frameworks:The idea of a framework applies not only to applications but to application componentsas well. Throughout this article, we introduce other types of frameworks that you can use with Struts. These include the Lucene search engine, the Scaffold toolkit, the Struts validator, and the Tiles tag library. Like application frameworks, these tools providecomponent.Some frameworks have been linked to a proprietary development environment. This is not the case with Struts or any of the other frameworks shown in this book. You can use any development environment with Struts: Visual Age for Java, JBuilder, Eclipse, Emacs, and Textpad are all popular choices among Struts developers. If you can use it with Java, you can use it with Struts.Enabling technologies:Applications developed with Struts are based on a number of enabling technologies.These components are not specific to Struts and underlie every Java web application. A reason that developers use frameworks like Struts is to hide the nasty details behind acronyms like HTTP, CGI, and JSP. As a Struts developer, you don’t need to be an alphabet soup guru, but a working knowledge of these base technologies can help you devise creative solutions to tricky problems.Hypertext Transfer Protocol (HTTP):When mediating talks between nations, diplomats often follow a formal protocol.Diplomatic protocols are designed to avoid misunderstandings and to keep negotiations from breaking down. In a similar vein, when computers need to talk, they also follow a formal protocol. The protocol defines how data is transmitted and how to decode it once it arrives. Web applications use the Hypertext Transfer Protocol (HTTP) to move data between the browser running on your computer and the application running on the server.Many server applications communicate using protocols other than HTTP. Some of these maintain an ongoing connection between the computers. The application server knows exactly who is connected at all times and can tell when a connection is dropped. Because they know the state of each connection and the identity of each person using it, these are known as stateful protocols.By contrast, HTTP is known as a stateless protocol. An HTTP server will accept any request from any client and will always provide some type of response, even if the response is just to say no. Without the overhead of negotiating and retaining a connection, stateless protocols can handle a large volume of requests. This is one reason why theInternet has been able to scale to millions of computers.Another reason HTTP has become the universal standard is its simplicity. An HTTP request looks like an ordinary text document. This has made it easy for applications to make HTTP requests. You can even send an HTTP request by hand using a standard utility such as Telnet. When the HTTP response comes back, it is also in plain text that developers can read.The first line in the HTTP request contains the method, followed by the locationof the requested resource and the version of HTTP. Zero or more HTTP request headers follow the initial line. The HTTP headers provide additional information to the server. This can include the browser type and version, acceptable document types, and the browser’s cookies, just to name a few. Of the seven req uest methods, GET and POST are by far the most popular.Once the server has received and serviced the request, it will issue an HTTP response. The first line in the response is called the status line and carries the HTTP protocol version, a numeric status, and a brief description of the status. Following the status line, the server will return a set of HTTP response headers that work in a way similar to the request headers.As we mentioned, HTTP does not preserve state information between requests.The server logs the request, sends the response, and goes blissfully on to the next request. While simple and efficient, a stateless protocol is problematic for dynamic applications that need to keep track of their users. (Ignorance is not always bliss.Cookies and URL rewriting are two common ways to keep track of users between requests. A cookie is a special packet of information on the user’s computer. URL rewriting stores a special reference in the page address that a Java server can use to track users. Neither approach is seamless, and using either means extra work when developing a web application. On its own, a standard HTTP web server does not traffic in dynamic content. It mainly uses the request to locate a file and then returns that file in the response. The file is typically formatted using Hypertext Markup Language (HTML) [W3C, HTML] that the web browser can format and display. The HTML page often includes hypertext links to other web pages and may display any number of other goodies, such as images andvideos. The user clicks a link to make another request, and the process begins a new.Standard web servers handle static content and images quite well but need a helping hand to provide users with a customized, dynamic response.DEFINITION:Static content on the Web comes directly from text or data files, like HTML or JPEG files. These files might be changed from time to time, but they are not altered automatically when requested by a web browser. Dynamic content, on the other hand, is generated on the fly, typically in response to an individualized request from a browser.Common Gateway Interface (CGI):The first widely used standard for producing dynamic content was the Common Gateway Interface (CGI). CGI uses standard operating system features, such as environment variables and standard input and output, to create a bridge, or gateway, between the web server and other applications on the host machine. The other applications can look at the request sent to them by the web server and create a customized response.When a web server receives a request that’s intended for a CGI program, it runs that program and provides the program with information from the incoming request. The CGI program runs and sends its output back to the server. The web server then relays the response to the browser.CGI defines a set of conventions regarding what information it will pass as environment variables and how it expects standard input and output to be used. Like HTTP, CGI is flexible and easy to implement, and a great number of CGI-aware programs have been written.The main drawback to CGI is that it must run a new copy of the CGI-aware program for each request. This is a relatively expensive process that can bog down high-volume sites where thousands of requests are serviced per minute. Another drawback is that CGI programs tend to be platform dependent. A CGI program written for one operating system may not run on another.Java servlets:Sun’s Java Servlet platform directly addresses the two main drawbacks of CGIconventional CGI programs. Second, the write-once, run-anywhere nature of Java means that servlets are portable between operating systems that have a Java Virtual Machine (JVM).A servlet looks and feels like a miniature web server. It receives a request and renders a response. But, unlike conventional web servers, the servlet application programming interface (API) is specifically designed to help Java developers create dynamic applications.The servlet itself is simply a Java class that has been compiled into byte code, like any other Java object. The servlet has access to a rich API of HTTP-specific services, but it is still just another Java object running in an application and can leverage all your other Java assets.To give conventional web servers access to servlets, the servlets are plugged into containers. The servlet container is attached to the web server. Each servlet can declare what URL patterns it would like to handle. When a request matching a registered pattern arrives, the web server passes the request to the container, and the container invokes the servlet.But unlike CGI programs, a new servlet is not created for each request. Once the container instantiates the servlet, it will just create a new thread for each request. Java threads are much less expensive than the server processes used by CGI programs. Once the servlet has been created, using it for additional requests incurs very little overhead. Servlet developers can use the init() method to hold references to expensive resources, such as database connections or EJB Home Interfaces, so that they can be shared between requests. Acquiring resources like these can take several seconds—which is longer than many surfers are willing to wait.The other edge of the sword is that, since servlets are multithreaded, servlet developers must take special care to be sure their servlets are thread-safe. To learn more about servlet programming, we recommend Java Servlets by Example, by Alan R. Williamson [Williamson]. The definitive source for Servlet information is the Java Servlet Specification [Sun, JST].JavaServer Pages:While Java servlets are a big step up from CGI programs, they are not a panacea. To generate the response, developers are still stuck with using println statements to render the HTML. Code that looks like:out.println("<P>One line of HTML.</P>");out.println("<P>Another line of HTML.</P>");is all too common in servlets that generate the HTTP response. There are libraries that can help you generate HTML, but as applications grow more complex, Java developers end up being cast into the role of HTML page designers.Meanwhile, given the choice, most project managers prefer to divide development teams into specialized groups. They like HTML designers to be working on the presentation while Java engineers sweat the business logic. Using servlets alone encourages mixing markup with business logic, making it difficult for team members to specialize.To solve this problem, Sun turned to the idea of using server pages to combine scripting and templating technologies into a single component. To build Java Server Pages, developers start by creating HTML pages in the same old way, using the same old HTML syntax. To bring dynamic content into the page, the developer can also place JSP scripting elements on the page. Scripting elements are tags that encapsulate logic that is recognized by the JSP. You can easily pick out scripting elements on JSP pages by looking for code that begins with <% and ends with %>.To be seen as a JSP page, the file just needs to be saved with an extension of .jsp.When a client requests the JSP page, the container translates the page into a source code file for a Java servlet and compiles the source into a Java class file—just as you would do if you were writing a servlet from scratch. At runtime, the container can also check the last modified date of the JSP file against the class file. If the JSP file has changed since it was last compiled, the container will retranslate and rebuild the page all over again.Project managers can now assign the presentation layer to HTML developers, who then pass on their work to Java developers to complete the business-logic portion. The important thing to remember is that a JSP page is really just a servlet. Anything you can do with a servlet, you can do with a JSP.JavaBeans:JavaBeans are Java classes which conform to a set of design patterns that make them easier to use with development tools and other components.DEFINITION A JavaBean is a reusable software component written in Java. To qualify as a JavaBean, the class must be concrete and public, and have a noargument constructor. JavaBeans expose internal fields as properties by providing public methods that follow a consistent design pattern. Knowing that the property names follow this pattern, other Java classes are able to use introspection to discover and manipulate JavaBean properties.The JavaBean design patterns provide access to the bean’s internal state throug h two flavors of methods: accessors are used to read a JavaBean’s state; mutators are used to change a JavaBean’s state.Mutators are always prefixed with lowercase token set followed by the property name. The first character in the property name must be uppercase. The return value is always void—mutators only change property values; they do not retrieve them. The mutator for a simple property takes only one parameter in its signature, which can be of any type. Mutators are often nicknamed setters after their prefix. The mutator method signature for a weight property of the type Double would be:public void setWeight(Double weight)A similar design pattern is used to create the accessor method signature. Accessor methods are always prefixed with the lowercase token get, followed by the property name. The first character in the property name must be uppercase. The return value will match the method parameter in the corresponding mutator. Accessors for simple properties cannot accept parameters in their method signature. Not surprisingly, accessors are often called getters.The accessor method signature for our weight property is:public Double getWeight()If the accessor returns a logical value, there is a variant pattern. Instead of using the lowercase token get, a logical property can use the prefix is, followed by the property name.be a logical value—either boolean or Boolean. Logical accessors cannot accept parameters in their method signature.The boolean accessor method signature for an on property would bepublic boolean isOn()The canonical method signatures play an important role when working with Java- Beans. Other components are able to use the Java Reflection API to discover a JavaBean’s properties by looking for methods prefixed by set, is, or get. If a component finds such a signature on a JavaBean, it knows that the method can be used to access or change the bean’s properties.Sun introduced JavaBeans to work with GUI components, but they are now used with every aspect of Java development, including web applications. When Sun engineers developed the JSP tag extension classes, they designed them to work with JavaBeans. The dynamic data for a page can be passed as a JavaBean, and the JSP tag can then use the bean’s properties to customize the output.For more on JavaBeans, we highly recommend The Awesome Power of JavaBeans, by Lawrence H. Rodrigues [Rodrigues]. The definitive source for JavaBean information is the JavaBean Specification [Sun, JBS].Model 2:The 0.92 release of the Servlet/JSP Specification described Model 2 as an architecture that uses servlets and JSP pages together in the same application. The term Model 2 disappeared from later releases, but it remains in popular use among Java web developers.Under Model 2, servlets handle the data access and navigational flow, while JSP pages handle the presentation. Model 2 lets Java engineers and HTML developers each work on their own part of the application. A change in one part of a Model 2 application does not mandate a change to another part of the application. HTML developers can often change the look and feel of an application without changing how the back-office servlets work.The Struts framework is based on the Model 2 architecture. It provides a controller servlet to handle the navigational flow and special classes to help with the data access. Awith JSP pages.Summary:In this article, we introduced Struts as an application framework. We examined the technology behind HTTP, the Common Gateway Interface, Java servlets, JSPs, and JavaBeans. We also looked at the Model 2 application architecture to see how it is used to combine servlets and JSPs in the same application.Now that you have had a taste of what it is like to develop a web application with Struts, in chapter 2 we dig deeper into the theory and practice behind the Struts architecture.JSP 应用框架什么是应用框架:框架(framework)是可重用的,半成品的应用程序,可以用来产生专门的定制程序。