|
Books > Academic & Education > Professional & Technical > Software
This book proposes that usage-based charging schemes are essential
to generate the incentives necessary for efficient operation of
multiservice networks. The rapid development of network technology
is enabling sophisticated new services and applications which
demand new charging models. The same technology provides the means
to operate the right charging schemes.Some of the work done in the
European collaborative project CA$hMAN (Charging and
Accounting Schemes in Multiservice ATM Networks). This project
combined performance and economic models of network resource usage
and cutomer utility to construct simple but effective charging
schemes which were implemented and trialled in an advanced
management platform.
In recent years, the paradigm of video coding has shifted from that
of a frame-based approach to a content-based approach, particularly
with the finalization of the ISO multimedia coding standard,
MPEG-4. MPEG-4 is the emerging standard for the coding of
multimedia content. It defines a syntax for a set of content-based
functionalities, namely, content-based interactivity, compression
and universal access. However, it does not specify how the video
content is to be generated. To generate the video content, video
has to be segmented into video objects and tracked as they
transverse across the video frames. This book addresses the
difficult problem of video segmentation, and the extraction and
tracking of video object planes as defined in MPEG-4. It then
focuses on the specific issue of face segmentation and coding as
applied to videoconferencing in order to improve the quality of
videoconferencing images especially in the facial region.
Modal-based coding is a content-based coding technique used to code
synthetic objects that have become an important part of video
content. It results in extremely low bit rates because only the
parameters needed to represent the modal are transmitted.
Model-based coding is included to provide background information
for the synthetic object coding in MPEG-4. Lastly, MPEG-4, the
first coding standard for multimedia content is described in
detail. The topics covered include the coding of audio objects, the
coding of natural and synthetic video objects, and error
resilience.
"Advanced Video Coding" is one of the first books on content-based
coding and MPEG-4 coding standard. It serves as an excellent
information source and reference for both researchers and
practicing engineers.
That time is both a dimension of behaviour and a ubiquitous
controlling variable in the lives of all living things has been
well recognized for many years.
The last decade has seen a burgeoning of interest in the
quantitative analysis of timing behaviour, and progress during the
last five or six years has been particularly impressive, with the
publication of several major new theoretical contributions.
There has also been considerable progress in behavioural
methodology during the past decade. In the area of reinforcement
schedules, for example, the venerable interresponse time schedule,
fixed interval peak procedure and interval bisection task have been
complemented by a 'second generation' of incisive instruments for
analyzing timing behaviour.
Another area of recent development is the analysis of the
neurobiological substrate of timing behaviour. Several research
groups are currently studying the involvement of various central
neurotransmitter systems in the timing behaviour, and the ability
of centrally acting drugs and discrete brain lesions to alter
timing processes.
Yet another recent development in timing research is the growing
dialogue between two fields that have grown up separately,
although, superficially at least, they seem to have much in common:
the experimental analysis of 'interval timing', traditionally the
province of experimental psychology, and behavioural chronobiology.
The last few years have seen a growing interest in the comparative
properties of the internal 'clocks' that regulate biobehavioural
rhythms with time bases in the circadian range or longer, and those
that are entailed in timing of intervals in the range of seconds or
minutes.
All these areas of research, and others, are represented in the
chapters that make up this volume. This book will help to promote
further interactions among researchers who hail from disparate
disciplines, but who share a common interest in the temporal
properties of behaviour."
Niklaus Wirth is one of the great pioneers of computer technology
and winner of the ACM's A.M. Turing Award, the most prestigious
award in computer science. he has made substantial contributions to
the development of programming languages, compiler construction,
programming methodology, and hardware design. While working at ERH
Zurich, he developed the languages Pascal and Modula-2. He also
designed an early high performance workstation, the Personal
Computer Lilith, and most recently the language and operating
system Oberon.
While Wirth has often been praised for his excellent work as a
language designer and engineer, he is also an outstanding
educator-something for which he is not as well known. This book
brings together prominent computer scientists to describe Wirth's
contributions to education. With the exception of some of his
colleagues such as Professors Dijkstra, Hoare, and Rechenberg, all
of the contributors to this book are students of Wirth. The essays
provide a wide range of contemporary views on modern programming
practice and also illuminate the one persistent and pervasive
quality found in all his work: his unequivocal demand for simple
solutions. The authors and editors hope to pass on their enthusiasm
for simple engineering solutions along with their feeling for a man
to whom they are all so indebted.
Computation and Storage in the Cloud is the first comprehensive
and systematic work investigating the issue of computation and
storage trade-off in the cloud in order to reduce the overall
application cost. Scientific applications are usually computation
and data intensive, where complex computation tasks take a long
time for execution and the generated datasets are often terabytes
or petabytes in size. Storing valuable generated application
datasets can save their regeneration cost when they are reused, not
to mention the waiting time caused by regeneration. However, the
large size of the scientific datasets is a big challenge for their
storage. By proposing innovative concepts, theorems and algorithms,
this book will help bring the cost down dramatically for both cloud
users and service providers to run computation and data intensive
scientific applications in the cloud. Covers cost models and
benchmarking that explain the necessary tradeoffs for both cloud
providers and usersDescribes several novel strategies for storing
application datasets in the cloudIncludes real-world case studies
of scientific research applications
Covers cost models and benchmarking that explain the necessary
tradeoffs for both cloud providers and users
Describes several novel strategies for storing application
datasets in the cloud
Includes real-world case studies of scientific research
applications
Whatever your programming language, whatever your platform, you
probably tap into linker and loader functions all the time. But do
you know how to use them to their greatest possible advantage? Only
now, with the publication of Linkers & Loaders, is there an
authoritative book devoted entirely to these deep-seated
compile-time and run-time processes.
The book begins with a detailed and comparative account of linking
and loading that illustrates the differences among various
compilers and operating systems. On top of this foundation, the
author presents clear practical advice to help you create faster,
cleaner code. You'll learn to avoid the pitfalls associated with
Windows DLLs, take advantage of the space-saving,
performance-improving techniques supported by many modern linkers,
make the best use of the UNIX ELF library scheme, and much more. If
you're serious about programming, you'll devour this unique guide
to one of the field's least understood topics. Linkers &
Loaders is also an ideal supplementary text for compiler and
operating systems courses.
*Includes a linker construction project written in Perl, with
project files available for download. *Covers dynamic linking in
Windows, UNIX, Linux, BeOS, and other operating systems.
*Explains the Java linking model and how it figures in network
applets and extensible Java code.
*Helps you write more elegant and effective code, and build
applications that compile, load, and run more efficiently.
"Microsoft SharePoint 2007 Technologies: Planning, Design and
Implementation" provides an in-depth examination of the tasks
involved in planning, designing and deploying SharePoint in your
enterprise. SharePoint 2007 significantly extends the breadth of
capabilities for end users, administrators, developers, and
designers. The cutting-edge technology encompasses some major new
functional areas such as Business Intelligence, Information
LifeCycle Management, and Enterprise Content Management-all can be
leveraged to satisfy many different business scenarios.
"SharePoint 2007 Technologies" will provide readers with practical
knowledge and techniques about integration of other 2007 products
such as Office and Exchange Server, and readers will walk away with
the ability to easily expose and leverage back-end business data
and understand how it all joins together. Readers will further gain
a solid appreciation of the architecture, administration, end user
features, development, and integration opportunities offered by
SharePoint 2007. The expertise of the author team in helping many
large corporations deploy Microsoft technologies within their
enterprises makes this book an invaluable tool to businesses of any
size.
* Complete guide to getting the most out of your SharePoint 2007
deployments
* Critical techniques for system architects to design and deploy
SharePoint 2007 Technologies
* Features most important issues for day to day efficient
management and usage
* How to customize and extend your SharePoint environment for your
own needs
Groovy Programming is an introduction to the Java-based scripting
language Groovy. Groovy has much in common with popular scripting
languages such as Perl, Python, and Ruby, but is written in a
Java-like syntax. And, unlike these other languages, Groovy is
sanctioned by the Java community for use on the Java platform.
Since it is based on Java, applications written in Groovy can make
full use of the Java Application Programmer Interfaces (APIs). This
means Groovy can integrate seamlessly with applications written in
Java, while avoiding the complexities of the full Java language.
This bare-bones structure also means Groovy can be used as an
introduction to Java and to programming in general. Its simpler
constructions and modern origins make it ideal as a first language
and for introducing principles such as object-oriented
programming.
This book introduces all the major aspects of Groovy development
and emphasizes Groovy's potential as a learning tool. Case studies
and exercises are included, along with numerous programming
examples. The book begins assuming only a general familiarity with
Java programming, and progresses to discuss advanced topics such as
GUI builders, Groovlets, Unit Testing, and Groovy SQL.
* The first comprehensive book on Groovy programming that shows how
writing applications and scripts for the Java platform is fast and
easy
* Written by leading software engineers and acclaimed computing
instructors
* Offers numerous programming examples, code samples, detailed case
studies, exercises for self-study, and a companion website with a
Windows-based Groovy editor
At the heart of Apple's hugely popular iLife software suite-iMovie,
iPhoto, iDVD, GarageBand, and iTunes-is QuickTime, the powerful
media engine that drives elegant applications for managing movies,
images, and audio files. The enduring success of QuickTime is in no
small part attributable to its component architecture. This key
feature has allowed it to embrace emerging digital media
technologies and standards one by one as they have appeared over
the 12 or so years since its launch. None of the competing
technologies even comes close, let alone on both Mac OS X and
Windows.
QuickTime for .NET and COM Developers is the first guide to
QuickTime for developers using popular RAD tools such a Visual
Basic .NET, C#, and Visual Basic 6. A general introduction to
QuickTime is followed by a detailed explanation of the QuickTime
architecture from a.NET and COM perspective, liberally accompanied
by code snippets. A number of implementation examples illustrate
key QuickTime features, ranging from a simple movie player to a
sophisticated interactive application. Also covered is QuickTime
scripting in both QuickTime Player (using Windows Scripting) and in
Microsoft Office applications (using VBA). Brief guides to
developing with QuickTime in Delphi and ATL/WTL are also included.
Part of the official "Quicktime Developer Series," publishing the
finest books on QuickTime in cooperation with Apple.
* The first book on QuickTime for .NET and COM application and
scripting developers
* Written by one of the architects of Apple's QuickTime ActiveX/COM
control
* Offers numerous sample applications and code examples
You don t need coddling; you don t need to be told what you already
know. What you need is a book that uses your experience as a Java
or C++ programmer to give you a leg up into the challenges and
rewards of C#. And this Practical Guide is precisely what you re
after.
Written by a team that boasts extensive experience teaching C# to
professionals, this book provides a practical, efficient
explanation of the language itself, covering basic to advanced
features and calling out all that s new in 2.0. Its instruction is
always firmly situated within the context of the .NET framework and
bolstered by code examples, key lessons in object-oriented
programming, and installments of a realistic application
programming tutorial. Concise and incisive, this is the best way to
master the world s fastest-growing and most marketable programming
language.
Features
* Provides a carefully focused explanation of every aspect of the
C# language, including entire chapters on the unified type system,
advanced types, collections, generics, reflection and
attributes.
* Highlights all features new to the latest version of C# and
organizes its presentation of C# according to the key principles of
object-oriented programming and the .NET framework.
* Using end-of-chapter exercises, incrementally develops a cohesive
application programming tutorial.
* Includes an easy-to-use appendix on the grammatical rules of C#
and provides downloadable example code via the companion website.
* Provides a carefully focused explanation of every aspect of the
C# language, including entire chapters on the unified type system,
advanced types, collections, generics, reflection and
attributes.
* Highlights all features new to the latest version of C# and
organizes its presentation of C# according to the key principles of
object-oriented programming and the .NET framework.
* Using end-of-chapter exercises, incrementally develops a cohesive
application programming tutorial.
* Includes an easy-to-use appendix on the grammatical rules of C#
and provides downloadable example code via the companion website."
Most Perl programmers were originally trained as C and Unix
programmers, so the Perl programs that they write bear a strong
resemblance to C programs. However, Perl incorporates many features
that have their roots in other languages such as Lisp. These
advanced features are not well understood and are rarely used by
most Perl programmers, but they are very powerful. They can
automate tasks in everyday programming that are difficult to solve
in any other way. One of the most powerful of these techniques is
writing functions that manufacture or modify other functions. For
example, instead of writing ten similar functions, a programmer can
write a general pattern or framework that can then create the
functions as needed according to the pattern. For several years
Mark Jason Dominus has worked to apply functional programming
techniques to Perl. Now Mark brings these flexible programming
methods that he has successfully taught in numerous tutorials and
training sessions to a wider audience.
* Introduces powerful programming methods--new to most Perl
programmers--that were previously the domain of computer
scientists
* Gradually builds up confidence by describing techniques of
progressive sophistication
* Shows how to improve everyday programs and includes numerous
engaging code examples to illustrate the methods
While many architects use PHP for projects, they are often not
aware of the power of PHP in creating enterprise-level
applications. This book covers the latest version of PHP - version
5 -- and focuses on its capabilities within a multi-tier
application framework. It contains numerous coding samples and
commentaries on them. A chapter discusses object orientation in PHP
as it applies to the multi-tier architecture and other chapters
discuss HTTP and SOAP, the two communication protocols most useful
in tying together multiple layers. There is also coverage of
database design and query construction as well as information about
tricks you can use in generating user interfaces.
-Covers PHP as it relates to developing software in a multi-tier
environment-a crucial aspect of developing robust software with low
cost and ease of use as design goals.
-Makes extensive use of Simple Object Access Protocol (SOAP) and
Web Services as implemented in PHP and NuSOAP.
-Shows precisely how to make use of the InnoDB table type newly
available in MySQL. InnoDB supports true referential integrity and
row-level locking.
-An application example (a multi-currency bookkeeping application)
runs throughout the book, showing various PHP capabilities as well
as the database interaction.
-An accompanying web site includes the source code for all of the
examples and the sample download.
For a long time, there has been a need for a practical,
down-to-earth developers book for the Java Cryptography Extension.
I am very happy to see there is now a book that can answer many of
the technical questions that developers, managers, and researchers
have about such a critical topic. I am sure that this book will
contribute greatly to the success of securing Java applications and
deployments for e-business. --Anthony Nadalin, Java Security Lead
Architect, IBM
For many Java developers and software engineers, cryptography is an
"on-demand" programming exercise, where cryptographic concepts are
shelved until the next project requires renewed focus. But
considerations for cryptography must be made early on in the design
process and it s imperative that developers know what kinds of
solutions exist.
One of Java s solutions to help bridge the gap between academic
research and real-world problem solving comes in the form of a
well-defined architecture for implementing cryptographic solutions.
However, to use the architecture and its extensions, it is
important to recognize the pros and cons of different cryptographic
algorithms and to know how to implement various devices like key
agreements, digital signatures, and message digests, to name a few.
In Java Cryptography Extensions (JCE), cryptography is discussed at
the level that developers need to know to work with the JCE and
with their own applications but that doesn t overwhelm by packing
in details unimportant to the busy professional. The JCE is
explored using numerous code examples and instructional detail,
with clearly presented sections on each aspect of the Java library.
An online open-source cryptography toolkit and the code for all of
the examples further reinforces the concepts covered within the
book. No other resource presents so concisely or effectively the
exact material needed to begin utilizing the JCE.
* Written by a seasoned veteran of both cryptography and
server-side programming
* Covers the architecture of the JCE, symmetric ciphers, asymmetric
ciphers, message digests, message authentication codes, digital
signatures, and managing keys and certificates
* Includes a companion web site that contains the code for the
examples in the book, open-source cryptographic toolkits, and
further resources"
Debugging by Thinking: A Multi-Disciplinary Approach is the first
book to apply the wisdom of six disciplines logic, mathematics,
psychology, safety analysis, computer science, and engineering to
the problem of debugging. It uses the methods of literary
detectives such as Sherlock Holmes, the techniques of mathematical
problem solving, the results of research into the cognitive
psychology of human error, the root cause analyses of safety
experts, the compiler analyses of computer science, and the
processes of modern engineering to define a systematic approach to
identifying and correcting software errors.
* Language Independent Methods: Examples are given in Java and
C++
* Complete source code shows actual bugs, rather than contrived
examples
* Examples are accessible with no more knowledge than a course in
Data Structures and Algorithms requires
* A "thought process diary" shows how the author actually resolved
the problems as they occurred
Web developers and page authors who use JavaServer Pages (JSP) know
that it is much easier and efficient to implement web pages without
reinventing the wheel each time. In order to shave valuable time
from their development schedules, those who work with JSP have
created, debugged, and used custom tags a set of programmable
actions that provide dynamic behavior to static pages paving the
way towards a more common, standard approach to using Java
technology for web development. The biggest boost to this effort
however has only recently arrived in the form of a standard set of
tag libraries, known as the JSTL, which now provides a wide range
of functionality and gives web page authors a much more simplified
approach to implementing dynamic, Java-based web sites.
JSTL: Practical Guide for JSP Programmers is a timely resource for
anyone interested in doing large-scale J2EE application
development. It sticks to the main features of the JSTL so that
developers don't have to sift through unnecessary details to begin
using the tags and working with the expression language. Sue
Spielman's straight-forward, practical approach is enhanced with
numerous code samples and insightful descriptions to make learning
the JSTL a quickly and easily accomplished task.
* Written by a best-selling author with a wealth of development
experience and recognition in the Java community.
* Covers the core elements of the JSTL including the four standard
tag libraries (core, internationalization/format, XML, and SQL) and
expression language.
* Includes a reference section for all of the tabs and attributes
contained in the JSTL.
* Via a companion web site, provides downloadable code for the code
samples in the book."
Software testing is indispensable and is one of the most discussed
topics in software development today. Many companies address this
issue by assigning a dedicated software testing phase towards the
end of their development cycle. However, quality cannot be tested
into a buggy application. Early and continuous unit testing has
been shown to be crucial for high quality software and low defect
rates. Yet current books on testing ignore the developer's point of
view and give little guidance on how to bring the overwhelming
amount of testing theory into practice. Unit Testing in Java
represents a practical introduction to unit testing for software
developers. It introduces the basic test-first approach and then
discusses a large number of special issues and problem cases. The
book instructs developers through each step and motivates them to
explore further.
*Shows how the discovery and avoidance of software errors is a
demanding and creative activity in its own right and can build
confidence early in a project.
*Demonstrates how automated tests can detect the unwanted effects
of small changes in code within the entire system.
*Discusses how testing works with persistency, concurrency,
distribution, and web applications.
*Includes a discussion of testing with C++ and Smalltalk.
If you're an experienced programmer, you already have a rock-solid
foundation for learning Java. All you need is a resource that takes
your experience into account and explains Java's key principles and
techniques in an intelligent, efficient way.
Java: Practical Guide for Programmers is precisely that resource.
Here, you won't have to wade through hundreds of pages of overly
simplistic material to learn the basics of Java programming.
Instead, you get highly focused instruction in the core elements of
Java 1.4, accompanied by carefully chosen examples and line-by-line
analyses that are right to the point. You'll be astonished at how
soon you can begin productive coding in Java, and how quickly your
skills will progress.
Web resources:
Source code from the book is no longer available at
http: //www.zm.sikora.btinternet.co.uk/source.html
Please press the 'Companion Page' button on the upper right side of
this page to access a zip file containing it.
Sun J2SE download page
http: //java.sun.com/j2se/downloads.html
Sun J2SE API documentation
http: //java.sun.com/j2se/1.4.1/docs/index.html
* Written expressly for people who already know a procedural or
object-oriented programming language.
* Takes a concise approach designed to make the most of the
experience you already have.
* Covers the core elements of Java 1.4, including language syntax,
OO features, collections, exception handling, input/output,
threads, event handling, and Swing components.
* Filled with incisive coding examples and line-by-line analyses.
* Via a companion Web site, provides downloadable example code and
links to additional resources.
Struts is an open-source framework that integrates with standard
Java technologies and lets developers build web applications
quickly and effectively. In much the same way that Java has
overtaken C++, Struts is well poised to become the framework for
web application development because of its ability to address the
types of issues engineers face when building large-scale web
applications.
"The Struts Framework: Practical Guide for Java Programmers" meets
the needs of this large audience--estimated today at 2.5 million
Java programmers and growing. It provides the systematic
exploration required by newcomers as well as the step-by-step
instruction for more experienced readers eager to exploit Struts to
the fullest. Devoted to the latest version of the framework (v.
1.1) and vividly illustrated with a thorough sample application
throughout, this book is an essential resource for all programmers
who want to be part of the next stage in the evolution of the
web.
* Hard-to-find, practical coverage from a highly visible figure in
the Java development world.
* Among the first books to cover the latest release of Struts,
version 1.1.
* Reviews all the technologies comprising Struts, including
JavaServer Pages, Servlets, XML, Custom Tags, and web and
application servers.
* Teaches readers the development practices-including design,
debugging, internationalization, and implementation-essential to
Struts development.
* Via a companion web site, provides downloadable sample code and
data for use in a Struts-based database application.
JavaServer Pages (JSP) is a technology for building dynamic web
applications that can access databases and provide an interactive
experience for users. It's a powerful technology with open source
implementations (server and platform independent) for building
enterprise Web applications. With JSP, existing business systems
can be leveraged with minimal overhead, maintenance, and support.
JSP: Practical Guide for Java Programmers is designed to cover the
essentials of JSP including the basic JSP constructs and the
relevant implicit objects as well as more advanced concepts such as
incorporating JavaBeans, developing custom tags, utilizing the JSP
expression language, building with the JSP Standard Tag Library,
and developing complete JSP-Servlet application. Throughout the
book, an electronic bank Web application is used to introduce new
concepts, while demonstrating to the reader how the pieces fit
together.
*Covers the latest release of JSP, version 2.0, and covers new
features such as the Expression Language and Standard Tag Library.
*Includes a sample application of an electronic bank Web site,
showing the power of JSP in providing the foundation for building
Web applications .
*Provides a clear, straight-to-the-point approach to the JSP so
that readers can start using it in their own projects right away.
*A supplemental web site includes code for all of the examples in
the book as well as additional resources.
Compaq Visual Fortran: A Guide to Creating Windows Applications is
the only book that shows developers how to create Windows
applications using Visual Fortran software. It complements Digital
Press's successful reference, the Digital Visual Fortran
Programmer's Guide. Lawrence details development methods and
techniques for creating Fortran applications for Windows, the
platform upon which developers can use Compaq Visual Fortran (CVF;
to be Intel Visual Fortran in the future) to create applications.
The book teaches CVF programming progressively, beginning with
simple tasks and building up to writing professional-level Win32
applications. Readers will learn about the powerful new CVF
graphical user interface, as well as the intricacies of Windows
development from a CVF perspective. They can master QuickWin, the
Win32 APIs including multiple document interfaces, and Open GL with
3D and interactive graphics.
Provides practical, step-by-step instructions for developing Visual
Fortran applications
Only tutorial text for Compaq Visual Fortran (CVF)
Doesn't require the programmer to learn C or C++
The rapid and widespread acceptance of shared-memory multiprocessor
architectures has created a pressing demand for an efficient way to
program these systems. At the same time, developers of technical
and scientific applications in industry and in government
laboratories find they need to parallelize huge volumes of code in
a portable fashion. OpenMP, developed jointly by several parallel
computing vendors to address these issues, is an industry-wide
standard for programming shared-memory and distributed
shared-memory multiprocessors. It consists of a set of compiler
directives and library routines that extend FORTRAN, C, and C++
codes to express shared-memory parallelism.
"Parallel Programming in OpenMP" is the first book to teach both
the novice and expert parallel programmers how to program using
this new standard. The authors, who helped design and implement
OpenMP while at SGI, bring a depth and breadth to the book as
compiler writers, application developers, and performance
engineers.
* Designed so that expert parallel programmers can skip the opening
chapters, which introduce parallel programming to novices, and jump
right into the essentials of OpenMP.
* Presents all the basic OpenMP constructs in FORTRAN, C, and
C++.
* Emphasizes practical concepts to address the concerns of real
application developers.
* Includes high quality example programs that illustrate concepts
of parallel programming as well as all the constructs of
OpenMP.
* Serves as both an effective teaching text and a compact
reference.
* Includes end-of-chapter programming exercises.
The state-of-the-art of broadband communications - and its
evolution - in both the public and private networks, is presented
in this book. Particular consideration is given to the issues of
switching, resource management, network control, communication
services, testing, quality of service, traffic characteristics,
traffic control and protocols. Invited papers further explore the
fields of multimedia communication and traffic control, plus the
introduction of ATM.
This book is proof that debugging has graduated from a black art to
a systematic discipline. It demystifies one of the toughest aspects
of software programming, showing clearly how to discover what
caused software failures, and fix them with minimal muss and fuss.
The fully updated second edition includes 100+ pages of new
material, including new chapters on Verifying Code, Predicting
Erors, and Preventing Errors. Cutting-edge tools such as FindBUGS
and AGITAR are explained, techniques from integrated environments
like Jazz.net are highlighted, and all-new demos with ESC/Java and
Spec#, Eclipse and Mozilla are included.
This complete and pragmatic overview of debugging is authored by
Andreas Zeller, the talented researcher who developed the GNU Data
Display Debugger(DDD), a tool that over 250,000 professionals use
to visualize the data structures of programs while they are
running. Unlike other books on debugging, Zeller's text is product
agnostic, appropriate for all programming languages and skill
levels.
The book explains best practices ranging from systematically
tracking error reports, to observing symptoms, reproducing errors,
and correcting defects. It covers a wide range of tools and
techniques from hands-on observation to fully automated diagnoses,
and also explores the author's innovative techniques for isolating
minimal input to reproduce an error and for tracking cause and
effect through a program. It even includes instructions on how to
create automated debugging tools.
The text includes exercises and extensive references for further
study, and a companion website with source code for all examples
and additional debugging resources is available.
*The new edition of this award-winning productivity-booster is for
any developer who has ever been frustrated by elusive bugs
*Brand new chapters demonstrate cutting-edge debugging techniques
and tools, enabling readers to put the latest time-saving
developments to work for them
*Learn by doing. New exercises and detailed examples focus on
emerging tools, languages and environments, including AGITAR,
FindBUGS, Python and Eclipse.
Semantic Web models and technologies provide information in
machine-readable languages that enable computers to access the Web
more intelligently and perform tasks automatically without the
direction of users. These technologies are relatively recent and
advancing rapidly, creating a set of unique challenges for those
developing applications.
"Semantic Web for the Working Ontologist" is the essential,
comprehensive resource on semantic modeling, for practitioners in
health care, artificial intelligence, finance, engineering,
military intelligence, enterprise architecture, and more. Focused
on developing useful and reusable models, this market-leading book
explains how to build semantic content (ontologies) and how to
build applications that access that content.
New in this edition:
Coverage of the latest Semantic Web tools for organizing,
querying, and processing information - see details in TOC below
Detailed information on the latest ontologies used in key web
applications including ecommerce, social networking, data mining,
using government data, and more
Updated with the latest developments and advances in Semantic Web
technologies for organizing, querying, and processing information,
including SPARQL, RDF and RDFS, OWL 2.0, and SKOS Detailed
information on the ontologies used in today's key web applications,
including ecommerce, social networking, data mining, using
government data, and more Even more illustrative examples and case
studies that demonstrate what semantic technologies are and how
they work together to solve real-world problems
API Design for C++ provides a comprehensive discussion of
Application Programming Interface (API) development, from initial
design through implementation, testing, documentation, release,
versioning, maintenance, and deprecation. It is the only book that
teaches the strategies of C++ API development, including interface
design, versioning, scripting, and plug-in extensibility. Drawing
from the author's experience on large scale, collaborative software
projects, the text offers practical techniques of API design that
produce robust code for the long term. It presents patterns and
practices that provide real value to individual developers as well
as organizations. API Design for C++ explores often overlooked
issues, both technical and non-technical, contributing to
successful design decisions that product high quality, robust, and
long-lived APIs. It focuses on various API styles and patterns that
will allow you to produce elegant and durable libraries. A
discussion on testing strategies concentrates on automated API
testing techniques rather than attempting to include end-user
application testing techniques such as GUI testing, system testing,
or manual testing. Each concept is illustrated with extensive C++
code examples, and fully functional examples and working source
code for experimentation are available online. This book will be
helpful to new programmers who understand the fundamentals of C++
and who want to advance their design skills, as well as to senior
engineers and software architects seeking to gain new expertise to
complement their existing talents. Three specific groups of readers
are targeted: practicing software engineers and architects,
technical managers, and students and educators.
|
|