Best of
Programming

2003

Linux Kernel Development


Robert Love - 2003
    The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs. The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel. Specific topics covered include process management, scheduling, time management and timers, the system call interface, memory addressing, memory management, the page cache, the VFS, kernel synchronization, portability concerns, and debugging techniques. This book covers the most interesting features of the Linux 2.6 kernel, including the CFS scheduler, preemptive kernel, block I/O layer, and I/O schedulers. The third edition of Linux Kernel Development includes new and updated material throughout the book:An all-new chapter on kernel data structuresDetails on interrupt handlers and bottom halvesExtended coverage of virtual memory and memory allocationTips on debugging the Linux kernelIn-depth coverage of kernel synchronization and lockingUseful insight into submitting kernel patches and working with the Linux kernel community

Domain-Driven Design: Tackling Complexity in the Heart of Software


Eric Evans - 2003
    "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.

Hacking: The Art of Exploitation


Jon Erickson - 2003
    This book explains the technical aspects of hacking, including stack based overflows, heap based overflows, string exploits, return-into-libc, shellcode, and cryptographic attacks on 802.11b.

The Art of UNIX Programming


Eric S. Raymond - 2003
    This book attempts to capture the engineering wisdom and design philosophy of the UNIX, Linux, and Open Source software development community as it has evolved over the past three decades, and as it is applied today by the most experienced programmers. Eric Raymond offers the next generation of hackers the unique opportunity to learn the connection between UNIX philosophy and practice through careful case studies of the very best UNIX/Linux programs.

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions


Gregor Hohpe - 2003
    The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL. A case study describing a bond trading system illustrates the patterns in practice, and the book offers a look at emerging standards, as well as insights into what the future of enterprise integration might hold. This book provides a consistent vocabulary and visual notation framework to describe large-scale integration solutions across many technologies. It also explores in detail the advantages and limitations of asynchronous messaging architectures. The authors present practical advice on designing code that connects an application to a messaging system, and provide extensive information to help you determine when to send a message, how to route it to the proper destination, and how to monitor the health of a messaging system. If you want to know how to manage, monitor, and maintain a messaging system once it is in use, get this book.

Thinking in C++, Vol. 2: Practical Programming


Bruce Eckel - 2003
    Learn practical programming and best practices. Meet the difficult challenges of C++ development. Build reliable and robust programs. Design Patterns chapter shows sophisticated use of objects, composition and polymorphism. Provides a gentle introduction to multithreaded programming, a feature being considered for the next version of Standard C++. Defensive Programming chapter includes a simple unit-testing framework and debugging techniques. In-depth treatment of Standard C++ Library facilities including strings, iostreams, and the "STL" algorithms and containers. Modern usage of templates, including template metaprogramming. Unravels the perplexities of multiple inheritance. Shows practical uses for RTTI. Explores exception handling in depth and clearly explains exception-safe design. Compliant with the official ISO C++ Standard. Presents results of current research being considered for inclusion in the next revision of Standard C++. All code examples freely downloadable, tested on multiple platforms and compilers including the free GNU C++ compiler on Windows/Mac/Linux. On www.BruceEckel.com: Annotated Solutions Guide Seminars and consulting Free Download—Volume I of this book Annotation Thinking in C++ is ideal for anyone already familiar with C who now wants to learn C++. Eckel has synthesized more than five years of C++ teaching and programming experience into a well-structured course that moves step-by-step through each important C++ concept. He highlights poorly-understood C++ features like virtual functions, which can improve productivity. Editorial Reviews The Barnes & Noble Review Bruce Eckel, one of the world's best programming trainers, has thoroughly updated his classic THINKING IN C++—the book that won the Software Development Magazine Jolt Cola award in its first iteration. The new version is better than ever—which is to say, it's

Advanced Excel for Scientific Data Analysis


Robert de Levie - 2003
    As reviews of the first edition noted, the term advanced in the title is not used lightly. Less than a third of its 700+ pages are devoted to least squares analysis, yet the reader will learn about many aspects of this ubiquitous method that are seldom found together in one volume: multivariate and polynomial centering, the statistical uncertainty in uncertainty estimates, how to use the covariance, singular value decomposition, the pros and cons of weighted least squares, moving equidistant least squares, nonlinear least squares, and imprecision contours.There are lucid chapters on Fourier transformation, convolution and deconvolution, and digital simulation of ordinary differential equations. A new chapter is devoted to some common but often only crudely used mathematical methods, such as numerical differentiation, Romberg integration, and cubic spline interpolation. Another new chapter shows how to use linear algebra on the spreadsheet with Volpi's extensive matrix toolbox of custom functions and macros. A third, newly added chapter describes how to set up the spreadsheet to make it less error-prone, and how to get superaccurate answers in Excel. The substantially enlarged chapter on writing functions and macros now has a set of MacroMorsels to illustrate specific points that otherwise might trip up novice programmers, and a detailed description of Excel's extensive debugging tools. All this is presented in an easily digestible format, illustrated with many examples from the literature, and supported by a large collection of open-access (i.e., fully transparent and user-modifiable) custom functions and macros.

Code Optimization: Effective Memory Usage [With CDROM]


Kris Kaspersky - 2003
    Discussed are typical mistakes made by programmers that lessen the performance of the system along with easily implemented solutions. Detailed descriptions of the devices and mechanism of interaction of the computer components, effective ways of programming, and a technique for optimizing programs are provided. Programmers will also learn how to effectively implement programming methods in a high-level language that is usually done in assembler with particular attention given to the RAM subsystem. The working principles of the RAM and the way in which it is coupled with the processor as well as a description of programming methods that allows programmers to overclock the memory to reach maximum performance are included.

The Fun of Programming


Jeremy Gibbons - 2003
    In this textbook, the leading researchers of the field take you on a tour of the current hot topics in functional programming, with applications ranging from financial contracts to circuit design. There are also chapters on new idioms for structuring programs, such as monads and arrows. All new concepts are illustrated with many examples, and exercises appear throughout to further enliven the material. Several of the chapters describe a substantial piece of software, and most of these programs are collected on a website for free downloading.This book was edited in honour of Richard S.Bird, Professor of Computer Science at the University of Oxford, on his 60th birthday.

Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization


André LaMothe - 2003
    We now have the technology to create games that look real, but, all this technology isn't easy or trivial to understand. This book will give readers the knowledge to create a full 3D, texture-mapped, lit video game for the PC with a software rasterizer they can write themselves. They could also understand the underlying principles of 3D graphics and be able to better understand and utilize 3D hardware today and in the future.

Debugging Applications for Microsoft .NET and Microsoft Windows


John Robbins - 2003
    Learn lethally effective, real-world application debugging techniques for .NET Framework 1.1 and Windows with this fully updated programming guide. Debugging expert John Robbins expands the first edition of his classic debugging book with all-new scenarios and bug-killing tools, tips, and techniques. You’ll see every .NET and Windows debugging scenario here—from XML Web services and Microsoft ASP.NET to Windows services and exceptions. Along with John’s expert guidance, you get more than 6 MB of his battle-tested source code—for the tools and tactics you need to ship better software faster!Topics covered include:Where bugs come from and how to think about solving them Debugging during coding Operating system debugging support and how Win32 debuggers work Advanced debugger usage and .NET debugging with Visual Studio .NET Advanced native code techniques with Visual Studio .NET and WinDBG Extending the Visual Studio .NET integrated development environment Managed exception monitoring Flow tracing and performance Finding source and line information with just a crash address Crash handlers Debugging Windows services and DLLs that load into services Multithreaded deadlocks Automated testing The Debug C run-time library A high-performance tracing tool for server applications Smoothing the working set Appendixes: Reading Dr. Watson log files, plus resources for .NET and Windows developers CD-ROM features:6+ MB of professional-level source code samples written in Microsoft Visual C++®, Visual C#®, and Visual Basic® .NET Debugging Tools for Windows Microsoft .NET Framework 1.1 SDK Windows Application Compatibility Toolkit (ACT) A Note Regarding the CD or DVDThe print version of this book ships with a CD or DVD. For those customers purchasing one of the digital formats in which this book is available, we are pleased to offer the CD/DVD content as a free download via O'Reilly Media's Digital Distribution services. To download this content, please visit O'Reilly's web site, search for the title of this book to find its catalog page, and click on the link below the cover image (Examples, Companion Content, or Practice Files). Note that while we provide as much of the media content as we are able via free download, we are sometimes limited by licensing restrictions. Please direct any questions or concerns to booktech@oreilly.com.

Data Structures Using Java


D.S. Malik - 2003
    Clearly written with the student in mind, the book focuses on data structures, and includes advanced topics in Java such as Linked Lists and the Standard Template Library (STL). Students should find the author's use of complete programming code and clear display of syntax, explanation and example both easy to read and conducive to learning.

Making reliable distributed systems in the presence of software errors


Joe Armstrong - 2003
    

The Complete Log4j Manual


Ceki Gulcu - 2003
    In over 200 pages and dozens of concrete examples, it covers both basic and advanced log4j features: -the overall log4j architecture -discussion of best practices and anti-patterns -configuration scripts in properties format -configuration scripts in XML format -appenders -layouts -filter chains -diagnostic contexts -log4j default initialization -log4j in Servlet Containers -log4j in EJB Containers -extending log4j -changes between version 1.2 and 1.1 -frequently asked questions -trouble shooting guide The complete manual describes the log4j API in considerable detail, including its features and design rationale. Authored by Ceki Gülcü, one of log4j's key contributors, the manual is intended for developers already familiar with the Java language but new to log4j, as much as for experienced log4j users. With the aid of introductory material and many examples, new users should quickly come up to speed. Seasoned log4j users will also find fresh material not discussed anywhere else. Advanced topics are also covered in detail so that the reader can harness the full power of log4j.

Computing Patterns in Strings


Bill Smyth - 2003
    The purpose of this text is to provide a general introduction to algorithms for computing patterns in strings that is useful to experienced researchers in this and other fields, but that is also useful to senior undergraduate and graduate students.

The New C Standard: A Cultural And Economic Commentary


Derek M. Jones - 2003
    Jones, a leader in the C standards community.-- Contains the entire standard with expert commentary on every sentence.-- An essential reference for every C programmer -- especially those working on embedded or mission-critical applications.C remains the language of choice wherever efficiency, reliability, and control of multiple platforms are essential -- and especially within the world of embedded systems. However, surprisingly little information exists on the official C standard -- especially the latest version, "99 C." Derek Jones' The New C Standard fills the gap, presenting the entire standard with authoritative commentary on every sentence -- more than 2,500 in all. Modeled after P.J. Plauger's best-selling language references, The New C Standard includes authoritative coverage of past usage, recommended usage for embedded and safety-critical systems, portability, maintainability, and much more. It contains extensive examples and thorough cross-referencing, making it an invaluable resource for every experienced C programmer, especially those building embedded or mission-critical applications.

Building an ASP.NET Intranet


Kourosh Ardestani - 2003
    Since they encourage developers to use this as a starting point for their own applications, we decided to take advantage ofthe functionality it offers. We will be taking this example and extending it to suit our needs, learning some valuable lessons in code reuse along the way. Just as we used the IBuySpy example as the starting point for our Intranet, readers are encouraged to use the code in this book in their own applications - the modules we have created will slot into any implementation of the IBuySpy architecture, and let's be honest - no-one wants to re-invent the wheel, right? What This Book Covers The book starts by discussing general issues of Intranet development: o Chapter 1 looks at why developing Intranet sites is different from building sites for the Internet. There are some considerations that need to be addressed in order for Intranet projects to be successful. The next three chapters look at the IBuySpy Architecture. o Chapter 2 provides a thorough explanation of the architecture and what it provides. It also explains why we decided to use the existing architecture rather than starting from scratch.

Improving Web Application Security: Threats and Countermeasures: Threats and Countermeasures


Microsoft Corporation - 2003
    This expert guide describes a systematic, task-based approach to security that can be applied to both new and existing applications. It addresses security considerations at the network, host, and application layers for each physical tier—Web server, remote application server, and database server—detailing the security configurations and countermeasures that can help mitigate risks. The information is organized into sections that correspond to both the product life cycle and the roles involved, making it easy for architects, designers, and developers to find the answers they need. All PATTERNS & PRACTICES guides are reviewed and approved by Microsoft engineering teams, consultants, partners, and customers—delivering accurate, real-world information that’s been technically validated and tested.

Thinking in C#


Larry O'Brien - 2003
    Thinking in C# gives the reader both the content and the context they need to become professionally competent at programming. NET programs of all types, including components, desktop applications, and Web Services. Hundreds of self-contained example programs make it possible for readers to immediately test, extend, and apply lessons learned, while gradually building skills that start from a foundation of facts to practical application and extend to the synthesis of new approaches in their real-world jobs. Thinking in C# provides a comprehensive guide to the new language preferred for programming Microsoft's new .NET Framework.

Core CSS


Keith Schengili-Roberts - 2003
    Cascading Styles Sheets provide both casual Web authors and professional Web developers with the tools necessary to precisely control such things as the size and appearance of fonts, positioning elements at exact locations on a page--even how a page should be printed or "sound" when played through a compatible browser. This new edition of the book incorporates the latest browser-specific extensions to CSS, as well as the CSS3 specification, providing the most up-to-date information on CSS currently available. Core CSS delivers practical techniques for integrating CSS into Web site development and expert insight into choosing the best style sheet code. Like all Core series books it features hundreds of professional-level code examples.

COM Programming with Microsoft® .NET


John Paul Mueller - 2003
    This in-depth programming guide explains how and where COM and COM+ fit into the new .NET world, demonstrates the new technologies that are available in .NET, and shows how to interoperate between COM/COM+ and .NET. It explains how to use Microsoft Visual Studio® .NET to write traditional COM objects, how to use COM objects in .NET code, and how to use .NET objects as COM objects. It also discusses COM+ topics such as disconnected applications and subscriptions. The authors show you both theoretical and practical approaches—explaining how the mechanisms work and also providing practical advice with sample code to show how to handle interoperability.Topics covered include:The .NET view of COM and COM+COM, COM+, and .NETUsing COM components in .NET codeUsing .NET components in COM applicationsOverview of COM+ coding for .NETWriting COM codeAttributed programmingActive Template Library (ATL) and ATL ServerWriting COM+ codeA simple COM+ exampleWorking with disconnected applicationsCreating subscriptionsWeb application scenariosInteroperabilityInteracting with unmanaged codeAdvanced interactionWorking with predefined interfacesIncludes sample code on the Web

Excel Best Practices for Business [With CDROM]


Loren Abdulezer - 2003
    In this current climate, the accuracy and clarity of spreadsheets are paramount. However, busy managers have little time to sift through heaps of reference books to extrapolate techniques for making polished spreadsheets. Even with finished spreadsheets in hand, managers and business professionals still need a book which holds up a mirror to their real world situations and reflects hidden flaws; and then takes the next step and guides the reader in specific ways to rework these critical documents."Excel Best Practices for Business" enables readers to examine their work and ask critical questions. And once asked, this book also answers with dynamic, practical approaches and provides Take-Aways extrapolated from real situations across a managerial spectrum, making this book more mentor than reference. In this book, a critical need is met.Book Highlights: XML in Microsoft Office Excel 2003: Entirely new to Excel 2003 is major support for XML, making Excel truly web capable and Internet ready. This book provides extensive coverage of these new features from a hands-on perspective. It identifies subtleties, gotchas and problems, and shows you practical solutions and workarounds.SPREADSHEET PORTALS: This book introduces the topic of Spreadsheet Portals, which elevates spreadsheet practices for the Internet-ready software to the next level. Aside from explaining the basic concepts and principles of Desktop Client Portals, best practice techniques for building your portal pages and reference implementations are provided. These reference implementations, sample spreadsheets, and online demos are provided on the book's CD.SPREADSHEET MAKEOVERS: What do you do when your manager or boss asks you to take over a complex, spreadsheet-based application and send out reports every two weeks? The person who created the spreadsheet no longer works for the company. Aside from a few emails, there's no documentation. You look at the spreadsheet and you find it has flaws. Never mind about fixing the old reports; the new ones are going to go out with your name on it. This report is not your prime responsibility. You do not have the time or resources to turn this into a whole project, yet you can't afford to leave it the way it is. "Excel Best Practices for Business" provides a step-by-step approach to these "Mission Impossible" situations and walks you through the steps with fully worked out examples.ASSISTIVE TECHNOLOGIES: For the first time in a mainstream book, the topic of preparing accessible spreadsheets for individuals with disabilities is addressed. Government agencies needing to make electronic information section 508 compliant and corporations choosing not to alienate communities with special needs will find the techniques presented invaluable. You will learn from a hands-on perspective how to organize and design accessible spreadsheets for the visually impaired that will work with Screen Reader software, how to set up Screen Reader software, and how to build graphical components that will work with Screen Readers. These practices are carried to the next level with the introduction of Assistive Portals. This allows you to make spreadsheets accessible and avoid having to alter your original spreadsheets. The Portal Page does all the work. Because it is table driven, there are no formulas or scripts to modify. Think of how this will change the economics of preparing accessible documents.There are many more topics in "Excel Best Practices For Business" including: practical techniques for visualizing hard-to-present data, incorporating "Smart Data" into your spreadsheets, how to build a Data Overpass, quantification of uncertainty, conversion of mountains of legacy data into manageable and useful form, spreadsheet auditing to validate the work of others, a hands-on approach to working with the Excel Solver tool, spreadsheet construction techniques through both simple design and large, complex applications. If you want to find about these and many other techniques covered, then "Excel Best Practices for Business" is the perfect guide

Interprocess Communications in Linux: The Nooks and Crannies


John Shapley Gray - 2003
    Coverage includes: named/unnamed pipes, message queues, semaphores, shared memory, RPC and the rpcgen compiler, sockets-based communication, the /proc file system, LinuxThreads POSIX support, multithreading, and much more. Includes detailed exercises, plus dozens of downloadable program examples compiled with GNU C/C++ 2.96 & 3.2 and tested with Red Hat Linux 7.3 & 8.0.

Enterprise Java Development on a Budget: Leveraging Java Open Source Technologies


Brian Sam-Bodden - 2003
    Many Java open source projects have even become de-facto standards. The principal purpose of Enterprise Java Development on a Budget is to guide you through the development of a real enterprise Java application using nothing but open source Java tools, projects, and frameworks.This book is organized by activities and by particular open source projects that can help you take on the challenges of building the different tiers of your applications. The authors also present a realistic example application that covers most areas of enterprise application development. You'll find information on how to use and configure JBoss, Ant, XDoclet, Struts, ArgoUML, OJB, Hibernate, JUnit, SWT/JFace, and others. Not only will you learn how to use each individual tool, but you'll also understand how to use them in synergy to create robust enterprise Java applications within your budget.Enterprise Java Development on a Budget combines coverage of best practices with information on the right open source Java tools and technologies, all of which will help support your Java development budget and goals.

C+ + Programming Fundamentals (Cyberrookies Series)


Eastton - 2003
    A variety of examples such as game programming, club membership organization, grade tracking and grade point average calculation, make learning C++ both fun and practical. Each chapter contains at least one complete, fully functional example program, with several smaller examples provided throughout the book. Complete source code for each example in the book is provided on the accompanying CD-ROM, along with additional example code for further practice.

Pattern-Oriented Analysis and Design: Composing Patterns to Design Software Systems


Sherif M. Yacoub - 2003
    It shows how to exploit the significant power of design patters and make better design decisions with the proven POAD methodology. Case studies are included.

Computer Algebra and Symbolic Computation: Mathematical Methods


Joel S. Cohen - 2003
    Applying the ideas introduced in Computer Algebra and Symbolic Computation: Elementary Algorithms, this book explores the application of algorithms to such methods as automatic simplification, polynomial decomposition, and polynomial factorization. This book includes complexity analysis of algorithms and other recent developments. It is well-suited for self-study and can be used as the basis for a graduate course. Maintaining the style set by Elementary Algorithms, the author explains mathematical methods as needed while introducing advanced methods to treat complex operations.

Software Maintenance: Concepts and Practice


Penny Grubb - 2003
    Yet, we still struggle to build systems we can really rely on. If we want to work with software systems at any level, we need to get to grips with the way software evolves. This book will equip the reader with a sound understanding of maintenance and how it affects all levels of the software evolution process.

J2ee Web Services


Richard Monson-Haefel - 2003
    This book, concentrating on standards sanctioned by the Web Services Interoperability Organization (WS-I) for maximum interoperability, delves into Web-service standards and the J2EE 1.4 Web-service APIs and components with engaging discussions.

J2EE Developer's Handbook [With CDROM]


Paul Perrone - 2003
    J2EE includes numerous Java APIs and tools including Enterprise JavaBeans, JavaServer Pages, and Servlets. Developers looking to leverage this complex platform need guidance not only on the features of each tool, but on using them together to create real-world systems."J2EE Developer's Handbook" provides both -- discussing the tools in the context of practical J2EE applications which demonstrate every aspect of J2EE development. In the Spring of 2003, Sun will relase J2EE 1.4 which includes numerous updates and new features such as JSP 2.0, EJB 2.1, and new APIs for creating J2EE Web Services and using the J2EE Connector Architecture.

Professional PHP Web Services


James Fuller - 2003
    With successful demonstration of proof of concept, Web Services are gradually moving towards occupying an important space in enterprise computing. In this book, we will discuss the consumption, development and deployment, description, discovery and security of Web Services in conjunction with the PHP programming model for Web services.This book is developed keeping in mind two main audiences: The first and major audience consists of programmers that would like to learn how to consume and deploy Web Services using PHP, HTTP as a transport mechanism, and SOAP as the messaging format The second audience consists of readers that want to learn how to integrate and interoperate PHP applications with existing and new applications written on other platforms. These platforms consist of .NET (MS .NET, Rotor and Mono), Perl, Python and JavaAuthor Biography: Ken Egervari is a 22-year-old entrepreneur and author from Windsor, Ontario Canada who is a technology enthusiast and software architect. He has written several types of applications ranging from networking to entertainment and the enterprise. He has used various languages such as Assembly, C, C++, Java, SQL, PHP, DHTML, and others. Ken is co-author of Professional PHP4 and Professional PHP4 XML from Wrox Press.James Fuller has 15 yrs commercial programming experience in a variety of languages. He has been technical director of some large Internet companies and currentlyholds this position at on-IDLE Ltd. He is a regular contributor to the XSL-List. He would like to play chess more and learn the Czech language.

C++ For Game Programmers (Game Development Series)


Noel Llopis - 2003
    Written to address this issue, C++ for Game Programmers provides practical suggestions for what C++ features to use in game development and why. Many of the misconceptions of C++ are clarified, and programmers learn the most effective methods for using the language to create games. This is primarily a book about ideas and concepts: it is not just a source of C++ code to use in your game project. Instead, C++ for Game Programmers covers how things work from a game-development perspective, and provides practical rules to follow. It points out the most effective C++ practices and steers developers away from the potentially dangerous ones. It describes common C++ techniques to solve specific problems faced by most developers, and focuses on techniques that have been proven in real games. Additionally, specific new technologies such as STL are covered in detail, along with the challenges specific to different platforms such as PCs or game consoles. The techniques presented apply to all aspects of game programming, including graphics, physics, and AI. C++ for Game Programmers is the perfect resource for game programmers looking to perfect their C++ skills, and experienced programmers interested in entering the game industry. Graphics, embedded systems, and real-time systems programmers facing the same challenges as game programmers will also benefit from the ideas and techniques covered.

Expert Oracle9i Database Administration


Sam R. Alapati - 2003
    . . As who should say 'I am Sir Oracle, And when I ope my lips, let no dog bark!' -The Merchant ofVenice, act 1, scene 1 Oracle Corporation used to print the preceding quotation from Shakespeare at the beginning of one ofits chapters in the Oracle database administrator (DBA) manual (the early versions). I always thought the quote was interesting. If you proceed a little further in the play, you'll find this quotation: BASSANIO Gratiano speaks an infinite deal of nothing, more than any man in all Venice. His reasons are as two grains of wheat hid in two bushels of chaff: you shall seek all day ere you find them . . . -The Merchant ofVenice, act 1, scene 1 Bassanio counters that, in truth, Gratiano speaks too much: From two bushels of chaff, two grains of wheat may be recovered. And that's the raison d' etre for this book: to separate the wheat from the chaff. This second part of the quotation is more apt when you consider the difficulty of extracting the right database man- agement procedures from the tons of material available on the Oracle9i Release 2 database. Oracle Corporation publishes copious material to help you manage its increasingly complex databases. Oracle Corporation also conducts several in- person and Web-based classes to explain the vast amount of subject matter that you need to understand to effectively work with the Oracle database today.

Embedded Systems Dictionary


Jack G. Ganssle - 2003
    Designed to serve both the technical and non-technical audience, this book defines advanced terms in two steps. The fi

SQL Server Query Performance Tuning Distilled


Sajal Dam - 2003
    And until now, there has been very little practical information available that explains how to identify and cure performance problems in SQL Server. But this book offers essential content to fill in the gap.SQL Server Query Performance Tuning Distilled, Second Edition includes updated material plus one new chapter, and explains how to design and tune SQL Server applications to cope with ever-increasing workloads. With proven strategy, this book teaches you how to use SQL Server tools to identify a performance bottleneck, isolate the root cause, apply possible resolutions, and then quantify performance improvements. Also covered are crucial issues like index analysis and tuning, preventing deadlocks, optimizing workload, and minimizing costs.

Programming Microsoft® Windows® CE .NET


Douglas Boling - 2003
    Now in its third edition, this essential guide has been updated for Windows CE .NET 4.2 and the .NET Compact Framework. Author Douglas Boling expertly demonstrates how to apply your Windows or embedded programming experience to the Windows CE .NET environment to build fast, small-footprint applications for the Windows Powered Pocket PC, Smartphone, and other next-generation devices. Accelerate your expertise—and get to market faster—with Doug’s professional-level instruction and source code, including source code and tools on the CD and the Web.Learn how to:Use specialized techniques for handling memory, storage, and power constraints Enable communications to networks, PCs, or other devices—including using infrared and Bluetooth technologies NEW—Use the .NET Compact Framework to build CPU-independent applications Develop applications for the Pocket PC and create custom extensions NEW—Program for the unique requirements of the Smartphone, including security NEW—Use Short Message Service (SMS) to write connected applications on the Pocket PC Phone Edition and Smartphone NEW—Write your own device drivers, services, and super services Configure user and event notifications Program the Game API (GAPI)CD inside Includes source code and compiler plus links to SDKs and toolsCD features Source code for all the examples inside the book Embedded C++ Compiler Links to Windows CE .NET SDK, evaluation software, and other resources Fully searchable eBook A Note Regarding the CD or DVDThe print version of this book ships with a CD or DVD. For those customers purchasing one of the digital formats in which this book is available, we are pleased to offer the CD/DVD content as a free download via O'Reilly Media's Digital Distribution services. To download this content, please visit O'Reilly's web site, search for the title of this book to find its catalog page, and click on the link below the cover image (Examples, Companion Content, or Practice Files). Note that while we provide as much of the media content as we are able via free download, we are sometimes limited by licensing restrictions. Please direct any questions or concerns to booktech@oreilly.com.

Operating Systems: Concurrent and Distributed Software Design


Jean Bacon - 2003
    Incorporating Java and UML, and with additional chapters on system security, Linux, Windows 2000 and extensible operating systems (including the Java Virtual Machine), this book builds on the operating systems (OS) coverage of Bacon's concurrent systems.

Introducing Systems Development


Steve Skidmore - 2003
    Based on Steve Skidmore's previous two books, Introducing Systems Analysis and Introducing Systems Design, this comprehensive text retains the strong practical emphasis that characterised these texts.Key features include: extensive coverage of object-oriented methods and UML, coverage of more traditional structured techniques, end-of-chapter exercises and a developing case study. Extra resources are available online.

Programming for Linguists: Perl for Language Researchers


Michael Hammond - 2003
    It provides the general reader with an interest in language with the most usable and relevant aspects of Perl for writing programs that deal with language. Exposes the general reader with an interest in language to the most usable and relevant aspects of Perl for writing programs that deal with language. Contains simple examples and exercises that gradually introduce the reader to the essentials of good programming. Assumes no prior programming experience. Accompanied by exercises at the end of each chapter and offers all the code on the companion website: http: //www.u.arizona.edu/ hammond

Sams Teach Yourself the C# Language in 21 Days


Bradley L. Jones - 2003
    This book is designed to teach C# from the ground up each lesson is built to supplement the chapter before to provide a fully rounded understanding of the C# language. "Sams Teach Yourself the C# Language in 21 Days" is the only book on the market that takes C# out of the Microsoft Visual Studio and teaches it as a platform-independent language letting readers program for Windows, FreeBSD, and Mac OS X. Additional coverage added from the first edition: more and better Windows Forms information, database access, XML, types, runs, appendix for Visual C++ .NET users, plus much more. This book also includes a CD-ROM full of third-party editor software and sample code, making it an easy-to-use, all-in-one package."

Design-It-Yourself: Web Sites: A Step-by-Step Guide


Avi Itzkovitvch - 2003
    But many small business owners and free agents don't have the budget to hire a Web designer or the know-how to go it alone. This guide aims to make it possible for professionals with no design experience to create websites customized to their company's unique needs, both easily and inexpensively. This step-by-step guide goes beyond the nuts and bolts of Web design to provide the actual templates and tools for creating an outstanding site.

SQL Server Security


Chip Andrews - 2003
    Install, administer, and program secure Microsoft SQL Server environments and applications. Assess your risk and threat levels when designing a secure system. Make sure your defensive strategies match the threat when considering encryption options. Extend your defenses to include security auditing and intrusion detection. Implementing the techniques in this indispensable security resource is as close as you can get to guaranteed prevention against hackers without turning off the power switch.Covers the latest techniques:Install and configure your SQL Server environment for maximum securityBuild and maintain a robust and protected database serverProtect valuable customer information, human resources data, and moreDefend against application software vulnerabilities and configuration issuesEnsure that access to data is only granted when appropriateEncrypt data into an unreadable form to preserve confidentialityUnderstand the mistakes that contributed to the spread of the SQL Slammer wormRid your applications of SQL injection bugsPermit client applications to access the server securelyBuild and utilize an effective auditing and intrusion detection plan

Professional Java Server Programming J2 Ee 1.4 Edition


Wrox Author Team - 2003
    This release updates J2EE with JSP version 2.0, a major innovation and, in addition, brings the world of web services to the J2EE developer, which means applications can rely on robust access to a whole host of other applications available on the internet- More practical, real-world implementation of the subject than likely competition and Sun's official documentation

Computing with C# and the .NET Framework


Art Gittleman - 2003
    The Text Serves As An Accessible And Thorough Guide To Object-Oriented And Event-Driven Programming Concepts. Students Develop A Mastery Of Objects Through The Author'S Spiral Teaching Approach: First Straightforward Examples Are Presented, Then Simple Class Design, And Finally The More Difficult Aspects Of Inheritance And Polymorphism. The Author Applies This Approach Throughout The Text, And Students Acquire A Meaningful Understanding Of Programming Concepts And Techniques.