The Object Oriented Thought Process_3rd Edition
Object Oriented Design classic book.
此书通俗易懂,面向对象设计的经典之作。不可不读!
Software Deployment in a Dynamic Cloud
Dynamic cloud deployment. A paper with hospital cloud deployment exprience.
cloud computing bible
作者: Barrie Sosinsky
Cloud Computing Bible is Wiley's general introduction to an important topic in large book format. A
Bible is a book that is meant to be read by knowledgeable readers who are not subject matter experts in
a topic but want to have an in-depth introduction to the various individual subjects contained within. It
is assumed that the reader of this book may be a generalist, a developer, a system architect, a
programmer, or perhaps something else, and therefore the content in a Bible must contain information
for each member of this book's audience.
Cloud computing is a vast topic that encompasses many different subjects. To adequately describe what
cloud computing offers, we must discuss infrastructure, service-oriented architectures, social
networking, unique protocols, open and standard Application Programming Interfaces (APIs), and dozens of other topics. Even a large book can address many of these topics in only an introductory
manner. However, this book tries to give you at least the basic information you need on all the related
topics, as well as pointers to additional information sources.
In the last several years, many books have been published on cloud computing. Each book has
attempted to present some element of the topic for a particular audience. In this book, I do not make the
assumption that you are a particular type of reader, nor do I assume that you are approaching the topic
with a fresh view. This Bible was written to serve as the introductory course in the topic at a university
level, but it is not a textbook. You can pick up and read this book at any particular chapter because the
material doesn't build upon itself.
Many topics in this book are unique to this book and are based on published information that is both
current and timely. In researching this book, I attempted to bring into the discussion all the new trends,
experiments, and products that have made cloud computing such a dynamic area.
Modern Operating System
MODERN
OPERATING SYSTEMS
THIRD EDITION
The third edition of this book differs from the second edition in numerous
ways. To start with, the chapters have been reordered to place the central material
at the beginning. There is also now more of a focus on the operating system as the
creator of abstractions. Chapter 1, which has been heavily updated, introduces all
the concepts. Chapter 2 is about the abstraction of the CPU into multiple
processes. Chapter 3 is about the abstraction of physical memory into address
spaces (virtual memory). Chapter 4 is about the abstraction of the disk into files.
Together, processes, virtual address spaces, and files are the key concepts that operating
systems provide, so these chapters are now placed earlier than they previously
had been.
Chapter 1 has been heavily modified and updated in many places. For example,
an introduction to the C programming language and the C run-time model is
given for readers familiar only with Java.
In Chapter 2, the discussion of threads has been revised and expanded reflecting
their new importance. Among other things, there is now a section on IEEE
standard Pthreads.
Chapter 3, on memory management, has been reorganized to emphasize the
idea that one of the key functions of an operating system is to provide the abstraction
of a virtual address space for each process. Older material on memory
management in batch systems has been removed, and the material on the implementation
of paging has been updated to focus on the need to make it handle the
larger address spaces now common and also the need for speed.
Chapters 4-7 have been updated, with older material removed and some new
material added. The sections on current research in these chapters have been
rewritten from scratch. Many new problems and programming exercises have
been added.
Chapter 8 has been updated, including some material on multicore systems.
A whole new section on virtualization technology, hypervisors, and virtual
machines, has been added with VMware used as an example.
Chapter 9 has been heavily revised and reorganized, with considerable new
material on exploiting code bugs, malware, and defenses against them.
Chapter 10, on Linux, is a revision of the old Chapter 10 (on UNIX and
Linux). The focus is clearly on Linux now, with a great deal of new material.
Chapter 11, on Windows Vista, is a major revision of the old Chap. 11 (on
Windows 2000). It brings the treatment of Windows completely up to date.
Chapter 12 is new. I felt that embedded operating systems, such as those
found on cell phones and PDAs, are neglected in most textbooks, despite the fact
that there are more of them out there than there are PCs and notebooks. This edition
remedies this problem, with an extended discussion of Symbian OS, which is
widely used on Smart Phones.
Chapter 13, on operating system design, is largely unchanged from the second
edition
Automatic Testing with Perl
By Gabor Szabo
Table of Contents
1. About Perl Training Israel ....................................................................................................................1
2. Introduction...........................................................................................................................................2
2.1. Self Introduction - Who am I ? ...................................................................................................2
2.2. Self Introduction - Who are you ?...............................................................................................2
3. Preface ...................................................................................................................................................3
3.1. Objectives...................................................................................................................................3
3.2. Plan of the seminar......................................................................................................................3
4. Manual testing.......................................................................................................................................4
4.1. Manual testing............................................................................................................................4
4.2. Web site testing ...........................................................................................................................4
4.3. CLI testing..................................................................................................................................4
4.4. Database testing ..........................................................................................................................4
4.5. GUI testing .................................................................................................................................5
5. Basic Testing Framework in Perl .........................................................................................................6
5.1. Testing a simple command line tool............................................................................................6
5.2. Calculator test .............................................................................................................................6
5.3. Error ! .........................................................................................................................................6
5.4. Calculator test with expected results...........................................................................................7
5.5. More difficult output ...................................................................................................................7
5.6. Print only ok/not ok.....................................................................................................................7
5.7. Write the ok function ..................................................................................................................8
5.8. Introducing Test::Simple.............................................................................................................9
5.9. Add names to the tests ..............................................................................................................10
5.10. Enlarge our test suit.................................................................................................................10
5.11. Load Test::Simple at run time .................................................................................................11
5.12. Forget about your "plan", use "no_plan".................................................................................12
5.13. Put the test cases in an external file.........................................................................................13
5.14. Harness...................................................................................................................................14
5.15. Move external call into function .............................................................................................15
5.16. Exercises: MyCalc ..................................................................................................................15
5.17. Solution: MyCalc ....................................................................................................................15
5.18. Test::Simple............................................................................................................................17
6. Test::More ...........................................................................................................................................18
6.1. Moving over to Test::More .......................................................................................................18
6.2. Test::More ok( trueness, name);................................................................................................18
6.3. Test::More is( value, expected_value, name);...........................................................................19
6.4. diag(just_a_message ); ..............................................................................................................19
6.5. like(value, qr/expected regex/, name); ......................................................................................20
6.6. cmp_ok( this, op, that, name);...................................................................................................20
6.7. is_deeply( complex_structure, expected_complex structure, name); .......................................21
6.8. TODO.......................................................................................................................................22
6.9. TODO with Harness..................................................................................................................23
6.10. Platform dependent tests .........................................................................................................23
6.11. SKIP some tests ......................................................................................................................24
6.12. My own test functions.............................................................................................................24
6.13. My own test functions - improved ..........................................................................................25
6.14. Create a test module................................................................................................................25
6.15. Test::Builder...........................................................................................................................26
6.16. Number of tests .......................................................................................................................27
6.17. Early Abnormal Exit ...............................................................................................................27
6.18. Less than planned tests - Early Normal Exit...........................................................................28
6.19. More tests than planned ..........................................................................................................29
6.20. Multiply..................................................................................................................................29
6.21. Error in the test........................................................................................................................30
6.22. Multiply - fixed .......................................................................................................................30
6.23. Multiple expected values.........................................................................................................30
6.24. Exercises ................................................................................................................................31
7. Command line application ..................................................................................................................33
7.1. bc - An arbitrary precision calculator language ........................................................................33
7.2. Normal operation ......................................................................................................................33
7.3. Expect.pm ................................................................................................................................33
7.4. Simple computation - adding two values ..................................................................................33
7.5. Results......................................................................................................................................34
7.6. Simple computation - separate send commands .......................................................................34
7.7. Simple computation - is it really working ? ..............................................................................35
7.8. Results......................................................................................................................................35
7.9. Reduce output ...........................................................................................................................36
7.10. Output.....................................................................................................................................36
7.11. More than one test...................................................................................................................36
7.12. Output.....................................................................................................................................37
7.13. External test file ......................................................................................................................37
7.14. Random regression tests..........................................................................................................38
7.15. Random and regression testing ...............................................................................................39
7.16. Random and regression testing - slight improvement.............................................................40
7.17. Results....................................................................................................................................41
7.18. Recording session ...................................................................................................................41
7.19. Capturing both STDOUT and STDERR.................................................................................41
7.20. Capturing both STDOUT and STDERR manually.................................................................42
7.21. Capturing both STDOUT and STDERR using IPC::Run3.....................................................42
8. Networking devices ..............................................................................................................................44
8.1. Introduction - pick the right abstraction level ...........................................................................44
8.2. Socket level programming using Socket.pm.............................................................................44
8.3. Socket level programming using IO::Socket.............................................................................45
8.4. Newline ....................................................................................................................................46
8.5. Net::Telnet................................................................................................................................46
8.6. Net::Telnet for HTTP................................................................................................................46
8.7. Net::Telnet configure VLAN.....................................................................................................47
8.8. ftp using Net::FTP.....................................................................................................................49
8.9. ssh using Net::SSH....................................................................................................................49
8.10. LWP::Simple ...........................................................................................................................50
8.11. LWP........................................................................................................................................51
Copyright 2007, Gabor Szabo @ Perl Training Israel iv
8.12. WWW::Mechanize..................................................................................................................51
8.13. WWW::GMail.........................................................................................................................52
8.14. Exercise: CNN Developing story ............................................................................................52
8.15. Exercise: Search on Financial Times ......................................................................................52
8.16. Exercise: Compare exchange rates..........................................................................................53
8.17. Telnet to Unix machines..........................................................................................................53
9. Servers .................................................................................................................................................54
9.1. Net::Server ...............................................................................................................................54
9.2. Skeleton Server .........................................................................................................................54
9.3. Simple Echo Server...................................................................................................................54
9.4. Echo Server ...............................................................................................................................55
9.5. Complex network servers..........................................................................................................56
10. Command Line Interface ..................................................................................................................58
10.1. Introduction .............................................................................................................................58
10.2. Connect to the device ..............................................................................................................58
10.3. Reduce timeout .......................................................................................................................59
10.4. Exercise: Telnet .......................................................................................................................60
10.5. Our test script ..........................................................................................................................60
11. Testing networking devices ...............................................................................................................64
11.1. Elements.................................................................................................................................64
11.2. Hardware setup........................................................................................................................64
11.3. Access the administrative interface.........................................................................................64
11.4. Configure devices on all sides of our box ...............................................................................64
11.5. Run tests .................................................................................................................................64
11.6. Check results ...........................................................................................................................64
11.7. Expect.pm ...............................................................................................................................65
11.8. Other modules .........................................................................................................................65
11.9. Networking.............................................................................................................................65
11.10. Network devices....................................................................................................................65
11.11. Devices connected to Serial or Parallel port .........................................................................66
11.12. X10 protocol .........................................................................................................................66
12.Web Applications ...............................................................................................................................67
12.1. What can be tested ?................................................................................................................67
12.2. Tools.......................................................................................................................................67
12.3. Small test HTTP server ...........................................................................................................67
12.4. Fetching a static page..............................................................................................................67
12.5. Fetching a not-existing static page..........................................................................................68
12.6. Checking good HTML............................................................................................................68
12.7. Checking bad HTML ..............................................................................................................69
12.8. What is this bad HTML ?........................................................................................................69
12.9. HTML::Tidy and Test::HTML::Tidy ......................................................................................70
12.10. Test using W3C validator......................................................................................................70
12.11. LWP::Simple and LWP.........................................................................................................71
12.12. WWW::Mechanize................................................................................................................71
12.13. Web based Calculator............................................................................................................71
12.14. More things to test.................................................................................................................73
Copyright 2007, Gabor Szabo @ Perl Training Israel v
12.15. Test page with JavaScript ......................................................................................................73
13. Database access using Perl DBI........................................................................................................74
13.1. Architecture of a DBI Application..........................................................................................74
13.2. Create Sample Database..........................................................................................................74
13.3. Connect to database ................................................................................................................74
13.4. SELECT with one result .........................................................................................................75
13.5. SELECT with more results .....................................................................................................75
13.6. SELECT, prepare with placeholders .......................................................................................76
13.7. SELECT, using hashref...........................................................................................................76
13.8. INSERT..................................................................................................................................76
13.9. Sample database......................................................................................................................77
13.10. Other methods .......................................................................................................................78
13.11. Attributes..............................................................................................................................78
13.12. Error handling .......................................................................................................................78
13.13. Debugging (Trace levels) ......................................................................................................79
14. Database access using Class::DBI ....................................................................................................80
14.1. Class::DBI..............................................................................................................................80
14.2. INSERT using Class::DBI ......................................................................................................80
14.3. SELECT using Class::DBI......................................................................................................80
14.4. MyDBI and MyUsers..............................................................................................................80
Linux 命令大全
linux 命令 大全
linux 命令 大全
包括所有的命令
IBM Cell BE architecture
IBM Cell BE architecture
学习Cell BE结构的好材料
Careerup top 150 quesions
mitbbs 强烈推荐,程序员找工作的首要准备材料!Ms, Yahoo, Google, Amanzon等面试题目!
source insight 4
编辑软件代码的很好用的工具哦!
最新4.0版本
Merge Sort 算法 C语言实现
Merge Sort 算法的C语言实现
linux 下编译;windows下没试过,也许需要改头文件
binary tree C语言算法
binary tree 的C语言实现算法,需要在linux环境下编译
The Art of Designing Embedded Systems
嵌入式系统设计的必看经典书. 作者:Jack Ganssle. 第二版。
For tens of thousands of years the human race used their muscles and the labor of animals
to build a world that differed little from that known by all their ancestors. But in 1776
James Watt installed the fi rst of his improved steam engines in a commercial enterprise,
kicking off the industrial revolution.
The 1800s were known as “ the great age of the engineer. ” Engineers were viewed as the
celebrities of the age, as the architects of tomorrow, the great hope for civilization. (For a
wonderful description of these times read Isamard Kingdom Brunel , by L.T.C. Rolt.) Yet
during that century, one of every four bridges failed. Tunnels routinely fl ooded.
How things have changed!