Best of
Programming

2008

Cracking the Coding Interview: 150 Programming Questions and Solutions


Gayle Laakmann McDowell - 2008
    This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book is over 500 pages and includes 150 programming interview questions and answers, as well as other advice.The full list of topics are as follows:The Interview ProcessThis section offers an overview on questions are selected and how you will be evaluated. What happens when you get a question wrong? When should you start preparing, and how? What language should you use? All these questions and more are answered.Behind the ScenesLearn what happens behind the scenes during your interview, how decisions really get made, who you interview with, and what they ask you. Companies covered include Google, Amazon, Yahoo, Microsoft, Apple and Facebook.Special SituationsThis section explains the process for experience candidates, Program Managers, Dev Managers, Testers / SDETs, and more. Learn what your interviewers are looking for and how much code you need to know.Before the InterviewIn order to ace the interview, you first need to get an interview. This section describes what a software engineer's resume should look like and what you should be doing well before your interview.Behavioral PreparationAlthough most of a software engineering interview will be technical, behavioral questions matter too. This section covers how to prepare for behavioral questions and how to give strong, structured responses.Technical Questions (+ 5 Algorithm Approaches)This section covers how to prepare for technical questions (without wasting your time) and teaches actionable ways to solve the trickiest algorithm problems. It also teaches you what exactly "good coding" is when it comes to an interview.150 Programming Questions and AnswersThis section forms the bulk of the book. Each section opens with a discussion of the core knowledge and strategies to tackle this type of question, diving into exactly how you break down and solve it. Topics covered include• Arrays and Strings• Linked Lists• Stacks and Queues• Trees and Graphs• Bit Manipulation• Brain Teasers• Mathematics and Probability• Object-Oriented Design• Recursion and Dynamic Programming• Sorting and Searching• Scalability and Memory Limits• Testing• C and C++• Java• Databases• Threads and LocksFor the widest degree of readability, the solutions are almost entirely written with Java (with the exception of C / C++ questions). A link is provided with the book so that you can download, compile, and play with the solutions yourself.Changes from the Fourth Edition: The fifth edition includes over 200 pages of new content, bringing the book from 300 pages to over 500 pages. Major revisions were done to almost every solution, including a number of alternate solutions added. The introductory chapters were massively expanded, as were the opening of each of the chapters under Technical Questions. In addition, 24 new questions were added.Cracking the Coding Interview, Fifth Edition is the most expansive, detailed guide on how to ace your software development / programming interviews.

C# in Depth


Jon Skeet - 2008
    With the many upgraded features, C# is more expressive than ever. However, an in depth understanding is required to get the most out of the language.C# in Depth, Second Edition is a thoroughly revised, up-to-date book that covers the new features of C# 4 as well as Code Contracts. In it, you'll see the subtleties of C# programming in action, learning how to work with high-value features that you'll be glad to have in your toolkit. The book helps readers avoid hidden pitfalls of C# programming by understanding "behind the scenes" issues.Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

JavaScript: The Good Parts


Douglas Crockford - 2008
    This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole--a subset you can use to create truly extensible and efficient code.Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose typing, dynamic objects, and an expressive object literal notation. Unfortunately, these good ideas are mixed in with bad and downright awful ideas, like a programming model based on global variables.When Java applets failed, JavaScript became the language of the Web by default, making its popularity almost completely independent of its qualities as a programming language. In JavaScript: The Good Parts, Crockford finally digs through the steaming pile of good intentions and blunders to give you a detailed look at all the genuinely elegant parts of JavaScript, including:SyntaxObjectsFunctionsInheritanceArraysRegular expressionsMethodsStyleBeautiful featuresThe real beauty? As you move ahead with the subset of JavaScript that this book presents, you'll also sidestep the need to unlearn all the bad parts. Of course, if you want to find out more about the bad parts and how to use them badly, simply consult any other JavaScript book.With JavaScript: The Good Parts, you'll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you're managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.

The Well-Grounded Rubyist


David A. Black - 2008
    It's a beautifully written tutorial that begins with the basic steps to get your first Ruby program up and running and goes on to explore sophisticated topics like callable objects, reflection, and threading. Whether the topic is simple or tough, the book's easy-to-follow examples and explanations will give you immediate confidence as you build your Ruby programming skills.The Well-Grounded Rubyist is a thoroughly revised and updated edition of the best-selling Ruby for Rails. In this new book, expert author David A. Black moves beyond Rails and presents a broader view of Ruby. It covers Ruby 1.9, and keeps the same sharp focus and clear writing that made Ruby for Rails stand out.Starting with the basics, The Well-Grounded Rubyist explains Ruby objects and their interactions from the ground up. In the middle chapters, the book turns to an examination of Ruby's built-in, core classes, showing the reader how to manipulate strings, numbers, arrays, ranges, hashes, sets, and more. Regular expressions get attention, as do file and other I/O operations.Along the way, the reader is introduced to numerous tools included in the standard Ruby distribution--tools like the task manager Rake and the interactive Ruby console-based interpreter Irb--that facilitate Ruby development and make it an integrated and pleasant experience.The book encompasses advanced topics, like the design of Ruby's class and module system, and the use of Ruby threads, taking even the new Rubyist deep into the language and giving every reader the foundations necessary to use, explore, and enjoy this unusually popular and versatile language.It's no wonder one reader commented: "The technical depth is just right to not distract beginners, yet detailed enough for more advanced readers."Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

SCJP Sun Certified Programmer for Java 6 Study Guide


Kathy Sierra - 2008
    100% complete coverage of all official objectives for exam 310-065Exam Objective Highlights in every chapter point out certification objectives to ensure you're focused on passing the exam Exam Watch sections in every chapter highlight key exam topics coveredSimulated exam questions match the format, tone, topics, and difficulty of the real examCovers all SCJP exam topics, including:Declarations and Access Control - Object Orientation - Assignments - Operators - Flow Control, Exceptions, and Assertions - Strings, I/O, Formatting, and Parsing - Generics and Collections - Inner Classes - Threads - DevelopmentCD-ROM includes: Complete MasterExam practice testing engine, featuring: Two full practice exams; Detailed answers with explanations; Score Report performance assessment toolElectronic book for studying on the goBonus coverage of the SCJD exam includedBonus downloadable MasterExam practice test with free online registration.

The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine


Charles Petzold - 2008
    Turing Mathematician Alan Turing invented an imaginary computer known as the Turing Machine; in an age before computers, he explored the concept of what it meant to be "computable," creating the field of computability theory in the process, a foundation of present-day computer programming.The book expands Turing's original 36-page paper with additional background chapters and extensive annotations; the author elaborates on and clarifies many of Turing's statements, making the original difficult-to-read document accessible to present day programmers, computer science majors, math geeks, and others.Interwoven into the narrative are the highlights of Turing's own life: his years at Cambridge and Princeton, his secret work in cryptanalysis during World War II, his involvement in seminal computer projects, his speculations about artificial intelligence, his arrest and prosecution for the crime of "gross indecency," and his early death by apparent suicide at the age of 41.

Programming in Scala


Martin Odersky - 2008
     Coauthored by the designer of the Scala language, this authoritative book will teach you, one step at a time, the Scala language and the ideas behind it. The book is carefully crafted to help you learn. The first few chapters will give you enough of the basics that you can already start using Scala for simple tasks. The entire book is organized so that each new concept builds on concepts that came before - a series of steps that promises to help you master the Scala language and the important ideas about programming that Scala embodies. A comprehensive tutorial and reference for Scala, this book covers the entire language and important libraries.

Secrets of the JavaScript Ninja


John Resig - 2008
    This completely revised edition shows you how to master key JavaScript concepts such as functions, closures, objects, prototypes, and promises. It covers APIs such as the DOM, events, and timers. You’ll discover best practice techniques such as testing, and cross-browser development, all taught from the perspective of skilled JavaScript practitioners.

High Performance MySQL: Optimization, Backups, and Replication


Baron Schwartz - 2008
    This guide also teaches you safe and practical ways to scale applications through replication, load balancing, high availability, and failover. Updated to reflect recent advances in MySQL and InnoDB performance, features, and tools, this third edition not only offers specific examples of how MySQL works, it also teaches you why this system works as it does, with illustrative stories and case studies that demonstrate MySQL’s principles in action. With this book, you’ll learn how to think in MySQL. Learn the effects of new features in MySQL 5.5, including stored procedures, partitioned databases, triggers, and views Implement improvements in replication, high availability, and clustering Achieve high performance when running MySQL in the cloud Optimize advanced querying features, such as full-text searches Take advantage of modern multi-core CPUs and solid-state disks Explore backup and recovery strategies—including new tools for hot online backups

Pragmatic Thinking and Learning: Refactor Your Wetware


Andy Hunt - 2008
    Not in an editor, IDE, or design tool. You're well educated on how to work with software and hardware, but what about wetware--our own brains? Learning new skills and new technology is critical to your career, and it's all in your head. In this book by Andy Hunt, you'll learn how our brains are wired, and how to take advantage of your brain's architecture. You'll learn new tricks and tips to learn more, faster, and retain more of what you learn. You need a pragmatic approach to thinking and learning. You need to Refactor Your Wetware. Programmers have to learn constantly; not just the stereotypical new technologies, but also the problem domain of the application, the whims of the user community, the quirks of your teammates, the shifting sands of the industry, and the evolving characteristics of the project itself as it is built. We'll journey together through bits of cognitive and neuroscience, learning and behavioral theory. You'll see some surprising aspects of how our brains work, and how you can take advantage of the system to improve your own learning and thinking skills.In this book you'll learn how to:Use the Dreyfus Model of Skill Acquisition to become more expertLeverage the architecture of the brain to strengthen different thinking modesAvoid common "known bugs" in your mindLearn more deliberately and more effectivelyManage knowledge more efficientlyPrinted in full color.

Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction


Daniel Shiffman - 2008
    Based on the ubiquitous Java, it provides an alternative to daunting languages and expensive proprietary software.This book gives graphic designers, artists and illustrators of all stripes a jump start to working with processing by providing detailed information on the basic principles of programming with the language, followed by careful, step-by-step explanations of select advanced techniques.The author teaches computer graphics at NYU's Tisch School of the Arts, and his book has been developed with a supportive learning experience at its core. From algorithms and data mining to rendering and debugging, it teaches object-oriented programming from the ground up within the fascinating context of interactive visual media.Previously announced as Pixels, Patterns, and Processing

Programming: Principles and Practice Using C++


Bjarne Stroustrup - 2008
    Available here:blubbu.com/download?i=0321992784Programming: Principles and Practice Using C++ (2nd Edition) PDF by Bjarne Stroustrup

Core Java: An Integrated Approach


R. Nageswara Rao - 2008
    Considering just how java is dominating the software industry these days, it is vital for all software and it professionals to be knowledgeable in it. This book is ideal even for new learners as it provides detailed descriptions even of the basic concepts of java, in a very simple and easily understandable way. The best part about using this book is that once you have gone through it, you are sure to be able to write basic java programs on your own. Another highlight of this book is that instead of being vague, it provides you with a detailed explanation of all the concepts that concern this topic. Core java: an integrated approach includes many examples that are helpful as they help students get rid of the fears that they have, concerning programming. Students are also provided with an exhaustive list of questions concerning the topic, which are frequently asked in interviews. This is beneficial for students as they appear for interviews in the future. The first edition of the core java: an integrated approach has been published by dreamtech press in the year 2008 and is available in paperback.key features: this book includes 32 chapters that focus on various java-related topics. Students are provided with an exhaustive list of questions that often feature in interviews for programming jobs.

Object-Oriented JavaScript


Stoyan Stefanov - 2008
    This book is for the beginning to intermediate web developer who wants to solve web development problems with smart JavaScript. It does not assume any prior knowledge of JavaScript programming; however even if you already know some JavaScript, there will be plenty for you to learn here.

The Art of Computer Programming, Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions


Donald Ervin Knuth - 2008
    Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually. The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e ISBN: 0321751043 Art of Computer Programming, Volume 4, Fascicle 0, The: Introduction to Combinatorial Algorithms and Boolean Functions: Introduction to Combinatorial Algorithms and Boolean Functions This multivolume work on the analysis of algorithms has long been recognized as the definitive description of classical computer science. The three complete volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth s writings. Scientists have marveled at the beauty and elegance of his analysis, while practicing programmers have successfully applied his cookbook solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books. To begin the fourth and later volumes of the set, and to update parts of the existing three, Knuth has created a series of small books called "fascicles," which will be published at regular intervals. Each fascicle will encompass a section or more of wholly new or revised material. Ultimately, the content of these fascicles will be rolled up into the comprehensive, final versions of each volume, and the enormous undertaking that began in 1962 will be complete. Volume 4, Fascicle 0 This fascicle introduces what will become by far the longest chapter in "The Art of Computer Programming," a chapter on combinatorial algorithms that will itself fill three full-sized volumes. Combinatorial algorithms, informally, are techniques for the high-speed manipulation of extremely large quantities of objects, such as permutations or the elements of graphs. Combinatorial patterns or arrangements solve vast numbers of practical problems, and modern approaches to dealing with them often lead to methods that are more than a thousand times faster than the straightforward procedures of yesteryear. This fascicle primes the pump for everything that follows in the chapter, discussing first the essential ideas of combinatorics and then introducing fundamental ideas for dealing efficiently with 0s and 1s inside a machine, including Boolean basics and Boolean function evaluation. As always, the author s exposition is enhanced by hundreds of new exercises, arranged carefully for self-instruction, together with detailed answers. "

Microsoft SQL Server 2008: T-SQL Fundamentals


Itzik Ben-Gan - 2008
    Get hands-on guidance—including exercises and code samples—that show you how to develop code to query and modify data. You’ll gain a solid understanding of the T-SQL language and good programming practices, and learn to write more efficient and powerful queries. Discover how to: Apply T-SQL fundamentals, create tables, and define data integrity Understand logical query processing Query multiple tables using joins and subqueries Simplify code and improve maintainability with table expressions Explore pivoting techniques and how to handle grouping sets Write code that modifies data Isolate inconsistent data and address deadlock and blocking scenarios

Head First PHP & MySQL


Lynn Beighley - 2008
    Packed with real-world examples, this book teaches you all the essentials of server-side programming, from the fundamentals of PHP and MySQL coding to advanced topics such as form validation, session IDs, cookies, database queries and joins, file I/O operations, content management, and more.Head First PHP & MySQL offers the same visually rich format that's turned every title in the Head First series into a bestseller, with plenty of exercises, quizzes, puzzles, and other interactive features to help you retain what you've learned.Use PHP to transform static HTML pages into dynamic web sites Create and populate your own MySQL database tables, and work with data stored in files Perform sophisticated MySQL queries with joins, and refine your results with LIMIT and ORDER BY Use cookies and sessions to track visitors' login information and personalize the site for users Protect your data from SQL injection attacks Use regular expressions to validate information on forms Dynamically display text based on session info and create images on the fly Pull syndicated data from other sites using PHP and XML Throughout the book, you'll build sophisticated examples -- including a mailing list, a job board, and an online dating site -- to help you learn how to harness the power of PHP and MySQL in a variety of contexts. If you're ready to build a truly dynamic website, Head First PHP & MySQL is the ideal way to get going.

Sams Teach Yourself C++ in One Hour a Day


Siddhartha Rao - 2008
    Master the fundamentals of C++ and object-oriented programming Understand how C++11 features help you write compact and efficient code using concepts such as lambda expressions, move constructors, and assignment operators Learn the Standard Template Library, including containers and algorithms used in most real-world C++ applications Test your knowledge and expertise using exercises at the end of every lesson Learn on your own time, at your own pace: No previous programming experience required Learn C++11, object-oriented programming, and analysis Write fast and powerful C++ programs, compile the source code with a gcc compiler, and create executable files Use the Standard Template Library's (STL) algorithms and containers to write feature-rich yet stable C++ applications Develop sophisticated programming techniques using lambda expressions, smart pointers, and move constructors Learn to expand your program's power with inheritance and polymorphism Master the features of C++ by learning from programming experts Learn C++11 features that allow you to program compact and high-performance C++ applications TABLE OF CONTENTSPART I: THE BASICS LESSON 1: Getting Started with C++11 LESSON 2: The Anatomy of a C++ Program LESSON 3: Using Variables, Declaring Constants LESSON 4: Managing Arrays and Strings LESSON 5: Working with Expressions, Statements, and Operators LESSON 6: Controlling Program Flow LESSON 7: Organizing Code with Functions LESSON 8: Pointers and References Explained PART II: FUNDAMENTALS OF OBJECT-ORIENTED C++ PROGRAMMING LESSON 9: Classes and Objects LESSON 10: Implementing Inheritance LESSON 11: Polymorphism LESSON 12: Operator Types and Operator Overloading LESSON 13: Casting Operators LESSON 14: An Introduction to Macros and Templates PART III: LEARNING THE STANDARD TEMPLATE LIBRARY (STL) LESSON 15: An Introduction to the Standard Template LibraryLESSON 16: The STL String ClassLESSON 17: STL Dynamic Array ClassesLESSON 18: STL list and forward_listLESSON 19: STL Set ClassesLESSON 20: STL Map ClassesPART IV: MORE STL LESSON 21: Understanding Function ObjectsLESSON 22: C++11 Lambda ExpressionsLESSON 23: STL AlgorithmsLESSON 24: Adaptive Containers: Stack and QueueLESSON 25: Working with Bit Flags Using STLPART V: ADVANCED C++ CONCEPTS LESSON 26: Understanding Smart PointersLESSON 27: Using Streams for Input and OutputLESSON 28: Exception HandlingLESSON 29: Going Forward APPENDIXES A: Working with Numbers: Binary and Hexadecimal B: C++ Keywords C: Operator Precedence D: Answers E: ASCII Codes

Natural Language Processing and Information Retrieval


Tanveer Siddiqui - 2008
    The book attempts to bridge the gap between theory and practice and would also serve as a useful reference for professionals and researchers working on language-related projects.Integrating two rapidly developing and popular research fields of language processing and information retrieval, the book provides an extensive coverage of various concepts and widely used techniques in these areas. The text includes topics such as language modeling, lexical analysis, computational modeling, grammar and parsing, and semantic as well as knowledge-based analysis. The statistical and semantic approaches are explained with examples from Hindi, English, and Urdu. Besides presenting traditional applications of machine translation and natural language generation, the book discusses recent trends and practices of information retrieval, text summarization, and information extraction in sufficient detail.Written in easy-to-understand and student-friendly style, the textbook also provides ample practical applications based on hands-on research experience wherever appropriate.

Advanced ActionScript 3.0 Animation


Keith Peters - 2008
    You now know that you've probably been using Euler integration (and you now know how to pronounce it) and you have a few alternatives available to use. And most importantly, you hopefully have an idea about when to use each one because they all have strengths and weaknesses. Euler, Runge-Kutta, and Verlet are not the only forms of numerical integration. A quick check on Wikipedia brings up this list of interesting sounding names: Backward Euler, Semi-implicit Euler, Velocity Verlet, Beeman's algorithm, Heun's method, Newmark-beta method, Leapfrog integration, and Monte Carlo integration. I have no idea what they all are, but it might be fun to find out. Over to you! Next up, we'll dive into some brand new Flash 10 features regarding 3D! 273 Chapter 7 3D IN FLASH 10 Since I've been involved in Flash, I've seen a new version of the Flash authoring tool, along with a new Flash Player, come out about every 18 months. Shortly after each version is released, the rumors, speculations, and wish lists for what will be in the next version begin. Routinely, one of the longed- for features is native 3D. And just as routinely, hopes are dashed when it doesn't appear. Until Flash 10. You could always do 3D in Flash by scaling and positioning things to make them look like they are nearer or farther away.

Pro ASP.NET MVC Framework


Steven Sanderson - 2008
    It introduced a radical high-productivity programming model that promotes cleaner code architecture, test-driven development, and powerful extensibility, combined with all the benefits of ASP.NET 3.5.An integral benefit of this book is that the core Model-View-Controller architectural concepts are not simply explained or discussed in isolation, but demonstrated in action. You'll work through an extended tutorial to create a working e-commerce web application that combines ASP.NET MVC with the latest C# 3.0 language features and unit-testing best practices. By gaining this invaluable, practical experience, you can discover MVCs strengths and weaknesses for yourself--and put your best learned theory into practice.

Advanced PIC Microcontroller Projects in C: From USB to RTOS with the PIC 18F Series


Dogan Ibrahim - 2008
    After giving an introduction to programming in C, the book describes the project development cycle in full, giving details of the process of editing, compilation, error handling, programming and the use of specific development tools. The bulk of the book gives full details of tried and tested hands-on projects, such as the 12C BUS, USB BUS, CAN BUS, SPI BUS and real-time operating systems. * A clear introduction to the PIC 18FXXX microcontroller's architecture* 20 projects, including developing wireless and sensor network applications, using I2C BUS, USB BUS, CAN BUS and the SPI BUS, which give the block and circuit diagram, program description in PDL, program listing and program description.* Numerous examples of using developmental tools: simulators, in-circuit debuggers (especially ICD2) and emulators* A CDROM of all the programs, hex listings, diagrams, data sheets and tables

ASP.NET 4.0 Programming


Joydip Kanjilal - 2008
    Written by a Microsoft MVP in ASP.NET, this definitive guide lays out each development tactic alongside detailed code samples and real-world examples. Build feature-rich web applications, leverage the power of the ASP.NET MVC framework, interface with databases using ADO.NET, create modular Web Parts, integrate Dynamic Data controls, and deploy all-new Ajax and LINQ features. ASP.NET 4.0 Programming also covers the latest security, verification, tracing, and troubleshooting techniques.Design, debug, and administer cutting-edge web sites and applicationsWork with Web Parts, Web Services, ADO.NET, and the ASP.NET MVC FrameworkMaintain state, application, and session data across multiple requestsUse namespaces to create multilingual, globalized, and localized applicationsBuild and distribute powerful RIAs using Silverlight, Ajax, and SOAPDevelop data-driven applications with LINQ and Entity FrameworkLeverage WCF features in ASP.NET applicationsImplement reliable role- and membership-based security policiesOptimize page load time, memory usage, and database query performanceSimplify event handling, animation, and document traversing with jQueryJoydip Kanjilal has been a Microsoft MVP in ASP.NET since 2007. He has more than 12 years of IT experience with more than six years in Microsoft .NET and its related technologies. Joydip also has authored multiple books, and magazine articles for various programming sites. He was selected as an MSDN Featured Developer of the Fortnight several times. Joydip was also a community credit winner at www.community-credit.com.

The C# Programming Language


Anders Hejlsberg - 2008
    Now, C# 3.0 adds functional programming techniques and LINQ, Language INtegrated Query. "The C# Programming Language, Third Edition, " is the authoritative and annotated technical reference for C# 3.0. Written by Anders Hejlsberg, the language's architect, and his colleagues, Mads Torgersen, Scott Wiltamuth, and Peter Golde, this volume has been completely updated and reorganized for C# 3.0. The book provides the complete specification of the language, along with descriptions, reference materials, code samples, and annotations from nine prominent C# gurus. The many annotations-a new feature in this edition-bring a depth and breadth of understanding rarely found in any programming book. As the main text of the book introduces the concepts of the C# language, cogent annotations explain why they are important, how they are used, how they relate to other languages, and even how they evolved. This book is the definitive, must-have reference for any developer who wants to understand C#.

Professional ASP.NET Design Patterns


Scott Millett - 2008
    Design patterns are time-tested solutions to recurring problems, letting the designer build programs on solutions that have already proved effective Provides developers with more than a dozen ASP.NET examples showing standard design patterns and how using them helpsbuild a richer understanding of ASP.NET architecture, as well as better ASP.NET applications Builds a solid understanding of ASP.NET architecture that can be used over and over again in many projects Covers ASP.NET code to implement many standard patterns including Model-View-Controller (MVC), ETL, Master-Master Snapshot, Master-Slave-Snapshot, Facade, Singleton, Factory, Single Access Point, Roles, Limited View, observer, page controller, common communication patterns, and more

Refactoring SQL Applications


Stephane Faroult - 2008
    Refactoring SQL Applications provides a set of tested options for making code modifications to dramatically improve the way your database applications function. Backed by real-world examples, you'll find quick fixes for simple problems, in-depth answers for more complex situations, and complete solutions for applications with extensive problems. Learn to: Determine if and where you can expect performance gainsApply quick fixes, such as limiting calls to the database in stored functions and proceduresRefactor tasks, such as replacing application code by a stored procedure, or replacing iterative, procedural statements with sweeping SQL statementsRefactor flow by increasing parallelism and switching business-inducted processing from synchronous to asynchronousRefactor design using schema extensions, regular views, materialized views, partitioning, and moreCompare before and after versions of a program to ensure you get the same results once you make modificationsRefactoring SQL Applications teaches you to recognize and assess code that needs refactoring, and to understand the crucial link between refactoring and performance. If and when your application bogs down, this book will help you get it back up to speed.

Linq Unleashed: For C#


Paul Kimmel - 2008
    Using LINQ, developers can query objects, relational databases, XML documents, and ADO.NET datasets--and do it all directly from C# 3.0, leveraging the powerful capabilities of LINQ. This is a definitive guide to getting real-world results with LINQ, using C# 3.0 and Visual Studio 2008. In LINQ Unleashed, Microsoft MVP Paul Kimmel covers every facet of LINQ programming, showing how LINQ can help you dramatically improve your productivity and build more reliable, maintainable applications. Kimmel begins by reviewing the state-of-the-art C# programming techniques LINQ uses, including anonymous types, partial methods, and Lambda expressions. Next, using realistic examples and easy-to-adapt sample code, he details the most powerful new LINQ techniques for accessing objects, databases, and XML. You'll gain a deep and practical understanding of how LINQ works "under the hood"--and learn how to do everything from selecting data through integrating XML with other data models. Build efficient LINQ queries to .NET objects, SQL databases, and XML contentUtilize anonymous types to reduce design time, coding effort, and debugging timeAutomatically generate .NET state machines with the new yield return constructMaster LINQ query syntax, operators, extension methods, sorting, grouping, aggregate and set operations, and moreMake the most of select--and use it in the business layer of your n-tier applicationsQuery relational data stored in Microsoft SQL ServerUse nullable types to eliminate unnecessary database access plumbing codeUse LINQ with ADO.NET 3.0 and Microsoft's powerful new Entity FrameworkExtract XML data without the hassles or complexity of XPathAutomatically construct XML from CSV files and other non-XML dataQuery Active Directory by extending LINQ Introduction 1 Part I Getting Ready for LINQ 1 Programming with Anonymous Types 5 2 Using Compound Type Initialization 29 3 Defining Extension and Partial Methods 61 4 yield return Using .NET's State Machine Generator 85 5 Understanding Lambda Expressions and Closures 97 6 Using Standard Query Operators 121 Part II LINQ for Objects 7 Sorting and Grouping Queries 137 8 Using Aggregate Operations 151 9 Performing Set Operations 167 10 Mastering Select and SelectMany 185 11 Joining Query Results 211 12 Querying Outlook and Active Directory 239 Part III LINQ for Data 13 Querying Relational Data with LINQ 265 14 Creating Better Entities and Mapping Inheritance and Aggregation 289 15 Joining Database Tables with LINQ Queries 309 16 Updating Anonymous Relational Data 349 17 Introducing ADO.NET 3.0 and the Entity Framework 383 Part IV LINQ for XML 18 Extracting Data from XML 415 19 Comparing LINQ to XML with Other XML Technologies 437 20 Constructing XML from Non-XML Data 453 21 Emitting XML with the XmlWriter 463 22 Combining XML with Other Data Models 469 23 LINQ to XSD Supports Typed XML Programming 485 Index

Git Internals


Scott Chacon - 2008
    In this PDF, Scott Chacon goes even further to explain the distributed filesystem behind the popular source code management system.If you’re tired of terse man pages or academic white papers, you’ll enjoy more than four dozen colorful diagrams that clearly explain the complicated inner workings of Git.The first 50 pages explain the storage system that powers Git, and an additional 60 pages go into detail about using Git on a day to day basis. You’ll learn not only how to use the basic commands, but will also learn different strategies for working via either a centralized or distributed collaboration model. This is a great companion to the existing PeepCode screencast or a useful book in its own right.As a bonus, several short screencasts are included which show how to use the basic Git commands.The Git source code control system continues to win over developers who are impressed with the speed and flexibility of the distributed workflow. Go beyond the basics with this PDF from PeepCode.

The C# Programming Language


Anders Hejlsberg - 2008
    Updated to cover the new features of C# 4.0, including dynamic binding, named and optional parameters, and covariant and contravariant generic types, this release takes the language to the next level by adding the ability to cleanly write programs that don't rely on static type definitions. This allows dynamic programming languages such as Python, Ruby, and JavaScript to feel native to C#. The C# Programming Language, Fourth Edition, continues to be the authoritative and annotated technical reference for C# 4.0. Written by Anders Hejlsberg, the language's architect, and his colleagues, Mads Torgersen, Scott Wiltamuth, and Peter Golde, this volume has been completely updated for C# 4.0. The book provides the complete specification of the language, along with descriptions, reference materials, code samples, and annotations from twelve prominent C# gurus. The many annotations bring a depth and breadth of understanding rarely found in any programming book. As the main text of the book introduces the concepts of the C# language, cogent annotations explain why they are important, how they are used, how they relate to other languages, and even how they evolved. This book is the definitive, must-have reference for any developer who wants to understand C#. With annotations from: Brad Abrams, Joseph Albahari, Krzysztof Cwalina, Jesse Liberty, Eric Lippert, Christian Nagel, Vladimir Reshetnikov, Marek Safar, Chris Sells, Peter Sestoft, Jon Skeet, and Bill Wagner.

Q For Mortals: A Tutorial In Q Programming


Jeffry A. Borror - 2008
    Based on courses taught by the author at major financial institutions, this tutorial is a tested way to learn the features of q. It assumes no specific programming knowledge and presents this complex language with understandable explanations and many hands-on examples. You will be able to read and write q programs when you finish this book. The q language is both a functional programming language and a vector programming language derived from APL. It is particularly well suited to processing very large time series data. Topics covered include: data types; operations and functions; the basic data structures, lists and dictionaries; tables and keyed tables; joins and queries; commands. There is a special section demonstrating typical queries against trade data. There is also a complete reference to all the built-in functions.

Murach's Oracle SQL and PL/SQL: Works with All Versions Through 11g


Joel Murach - 2008
    It teaches you how to create effective SQL queries to extract and update the data in an Oracle database.

Concurrent Programming on Windows


Joe Duffy - 2008
    . . . This places an emphasis on understanding not only the platform's capabilities but also emerging best practices. Joe does a great job interspersing best practices alongside theory throughout his book." - From the Foreword by Craig Mundie, Chief Research and Strategy Officer, Microsoft Corporation Author Joe Duffy has risen to the challenge of explaining how to write software that takes full advantage of concurrency and hardware parallelism. In Concurrent Programming on Windows, he explains how to design, implement, and maintain large-scale concurrent programs, primarily using C# and C++ for Windows. Duffy aims to give application, system, and library developers the tools and techniques needed to write efficient, safe code for multicore processors. This is important not only for the kinds of problems where concurrency is inherent and easily exploitable--such as server applications, compute-intensive image manipulation, financial analysis, simulations, and AI algorithms--but also for problems that can be speeded up using parallelism but require more effort--such as math libraries, sort routines, report generation, XML manipulation, and stream processing algorithms. Concurrent Programming on Windows has four major sections: The first introduces concurrency at a high level, followed by a section that focuses on the fundamental platform features, inner workings, and API details. Next, there is a section that describes common patterns, best practices, algorithms, and data structures that emerge while writing concurrent software. The final section covers many of the common system-wide architectural and process concerns of concurrent programming. This is the only book you'll need in order to learn the best practices and common patterns for programming with concurrency on Windows and .NET.

More Effective C#: 50 Specific Ways to Improve Your C#


Bill Wagner - 2008
    If you are serious about developing with the C# language, you need this book." -Bill Craun, Principal Consultant, Ambassador Solutions, Inc. "More Effective C# is an opportunity to work beside Bill Wagner. Bill leverages his knowledge of C# and distills his expertise down to some very real advice about programming and designing applications that every serious Visual C# user should know. More Effective C# is one of those rare books that doesn't just regurgitate syntax, but teaches you how to use the C# language." -Peter Ritchie, Microsoft MVP: Visual C# "More Effective C# is a great follow-up to Bill Wagner's previous book. The extensive C# 3.0 and LINQ coverage is extremely timely!" -Tomas Restrepo, Microsoft MVP: Visual C++, .NET, and Biztalk Server "As one of the current designers of C#, it is rare that I learn something new about the language by reading a book. More Effective C# is a notable exception. Gently blending concrete code and deep insights, Bill Wagner frequently makes me look at C# in a fresh light-one that really makes it shine. More Effective C# is at the surface a collection of very useful guidelines. Look again. As you read through it, you'll find that you acquire more than just the individual pieces of advice; gradually you'll pick up on an approach to programming in C# that is thoughtful, beautiful, and deeply pleasant. While you can make your way willy-nilly through the individual guidelines, I do recommend reading the whole book-or at least not skipping over the chapter introductions before you dive into specific nuggets of advice. There's perspective and insight to be found there that in itself can be an important guide and inspiration for your future adventures in C#." -Mads Torgersen, Program Manager, Visual C#, Microsoft "Bill Wagner has written an excellent book outlining the best practices for developers who work with the C# language. By authoring More Effective C#, he has again established himself as one of the most important voices in the C# community. Many of us already know how to use C#. What we need is advice on how to hone our skills so that we can become wiser programmers. There is no more sophisticated source of information on how to become a first-class C# developer than Bill Wagner's book. Bill is intelligent, thoughtful, experienced, and skillful. By applying the lessons from this book to your own code, you will find many ways to polish and improve the work that you produce." -Charlie Calvert, Community Program Manager, Visual C#, Microsoft In More Effective C#, Microsoft C# MVP and Regional Director Bill Wagner introduces fifty brand-new ways to write more efficient and more robust software. This all-new book follows the same format as Wagner's best-selling Effective C# (Addison-Wesley, 2005), providing clear, practical explanations, expert tips, and plenty of realistic code examples. Wagner shows how to make the most of powerful innovations built into Microsoft's new C# 3.0 and .NET Framework 3.5, as well as advanced C# language capabilities not covered in his previous book. Drawing on his unsurpassed C# experience, the author reveals new best practices for working with LINQ, generics, metaprogramming, and many other features. He also uncovers practices that compromise performance or reliability and shows exactly how to avoid them. More Effective C# shows how to Use generics to express your design intent more effectively Master advanced generics techniques, such as constraints, method constraints, and generic specialization Use the multithreaded techniques you'll need to work with the .NET framework every day Express modern design idioms using the rich palette of C# language features Successfully mix object oriented and functional programming constructs Create composable interfaces and avoid confusion in public interfaces Use extension methods to separate contracts from implementation Program successfully with C# closures and anonymous types Write more effective LINQ queries Make the most of LINQ Lazy Evaluation Queries and Lambda Expressions Distinguish and convert between delegates and expression trees Efficiently utilize nullable types and partial classes Use implicit properties for mutable, nonserializable data You're already a successful C# programmer-this book can help you become an outstanding one.

High Performance MySQL: Optimization, Backups, Replication, and More


Baron Schwartz - 2008
    Written by noted experts with years of real-world experience building very large systems, this book covers every aspect of MySQL performance in detail, and focuses on robustness, security, and data integrity.High Performance MySQL teaches you advanced techniques in depth so you can bring out MySQL's full power. Learn how to design schemas, indexes, queries and advanced MySQL features for maximum performance, and get detailed guidance for tuning your MySQL server, operating system, and hardware to their fullest potential. You'll also learn practical, safe, high-performance ways to scale your applications with replication, load balancing, high availability, and failover. This second edition is completely revised and greatly expanded, with deeper coverage in all areas. Major additions include: Emphasis throughout on both performance and reliability Thorough coverage of storage engines, including in-depth tuning and optimizations for the InnoDB storage engine Effects of new features in MySQL 5.0 and 5.1, including stored procedures, partitioned databases, triggers, and views A detailed discussion on how to build very large, highly scalable systems with MySQL New options for backups and replication Optimization of advanced querying features, such as full-text searches Four new appendices The book also includes chapters on benchmarking, profiling, backups, security, and tools and techniques to help you measure, monitor, and manage your MySQL installations.

Styling Web Pages with CSS


Tom Negrino - 2008
    Succinct and to the point, it's the perfect book for designers without a lot of time who need to understand and start using CSS.

PHP: A Beginner's Guide: A Beginner's Guide


Vikram Vaswani - 2008
    Covering the latest release of this cross-platform, open-source scripting language, PHP: A Beginner's Guide teaches you how to write basic PHP programs and enhance them with more advanced features such as MySQL and SQLite database integration, XML input, and third-party extensions. This fast-paced tutorial provides one-stop coverage of software installation, language syntax and data structures, flow control routines, built-in functions, and best practices.Designed for Easy Learning:Key Skills & Concepts--Lists of specific skills covered in the chapterAsk the Expert--Q&A sections filled with bonus information and helpful tipsTry This--Hands-on exercises that show how to apply your skillsNotes--Extra information related to the topic being coveredTips--Helpful reminders or alternate ways of doing thingsCautions--Errors and pitfalls to avoidSelf-Tests--Chapter-ending quizzes to test your knowledgeAnnotated Syntax--Example code with commentary that describes the programming techniques being illustrated

Pro SQL Server 2008 XML


Michael G.H. Coles - 2008
    Pro SQL Server 2008 XML is your key to unlocking the powerful XML feature set first introduced in SQL Server 2005 and since refined in SQL Server 2008. Author Michael Coles shows how to store XML using SQL Server's built-in XML data type. Learn to query and manipulate XML data using standard technologies such as XQuery and XSLT. No SQL Server database professional can afford to be without knowledge of the XML feature set. Pro SQL Server 2008 XML delivers on the knowledge that you need to remain competitive in your career.Shows how to store, query, and manipulate XML documents in SQL Server Provides step-by-step examples showing best practices and advanced features Accurately discusses how SQL Server's XML feature set stacks up against the ISO XML standards

Beginning C# 3.0: An Introduction to Object Oriented Programming


Jack Purdum - 2008
    If you have no prior programming experience but want a thorough, easy-to-understand introduction to C# and Object Oriented Programming, this book is an ideal guide. Using the tutorials and hands-on coding examples, you can discover tried and true tricks of the trade, understand design concepts, employ debugging aids, and design and write C# programs that are functional and that embody safe programming practices.

Dissecting SQL Server Execution Plans


Grant Fritchey - 2008
    They can provide you with a wealth of information on how your queries are being executed by SQL Server, including which indexes are getting used and where no indexes are being used at all; how the data is being retrieved, and joined, from the tables defined in your query; how aggregations in GROUP BY queries are put together and the anticipated load, and the estimated cost, that all these operations place upon the system. All this information makes the execution plan a vitally important tool in the tool belt of database administrator, database developers, report writers, developers, and pretty much anyone who writes TSQL to access data in a SQL Server database. The goal with this book was to gather as much useful information on execution plans as possible into a single location, and to organize it in such as way that it provided a clear route through the subject, right from the basics of capturing plans, through their interpretation, and then onto how to use them to understand how you might optimize your SQL queries, improve your indexing strategy, spot some common performance issues, and more.

The Cert C Secure Coding Standard


Robert C. Seacord - 2008
    Programmers have lots of sources of advice on correctness, clarity, maintainability, performance, and even safety. Advice on how specific language features affect security has been missing. The CERT(R) C Secure Coding Standard fills this need." -Randy Meyers, Chairman of ANSI C "For years we have relied upon the CERT/CC to publish advisories documenting an endless stream of security problems. Now CERT has embodied the advice of leading technical experts to give programmers and managers the practical guidance needed to avoid those problems in new applications and to help secure legacy systems. Well done!" -Dr. Thomas Plum, founder of Plum Hall, Inc."Connectivity has sharply increased the need for secure, hacker-safe applications. By combining this CERT standard with other safety guidelines, customers gain all-round protection and approach the goal of zero-defect software." -Chris Tapp, Field Applications Engineer, LDRA Ltd."I've found this standard to be an indispensable collection of expert information on exactly how modern software systems fail in practice. It is the perfect place to start for establishing internal secure coding guidelines. You won't find this information elsewhere, and, when it comes to software security, what you don't know is often exactly what hurts you." -John McDonald, coauthor of The Art of Software Security AssessmentSoftware security has major implications for the operations and assets of organizations, as well as for the welfare of individuals. To create secure software, developers must know where the dangers lie. Secure programming in C can be more difficult than even many experienced programmers believe.This book is an essential desktop reference documenting the first official release of The CERT(R) C Secure Coding Standard . The standard itemizes those coding errors that are the root causes of software vulnerabilities in C and prioritizes them by severity, likelihood of exploitation, and remediation costs. Each guideline provides examples of insecure code as well as secure, alternative implementations. If uniformly applied, these guidelines will eliminate the critical coding errors that lead to buffer overflows, format string vulnerabilities, integer overflow, and other common software vulnerabilities.

Microsoft Visual Studio 2008 Programming


Jamie Plenderleith - 2008
    The authors provide practical guidance combined with real-world applicability. The best of Visual Studio 2008 uncovered-buy this book! --Michelle Clarke, Program Manager, Microsoft IrelandMaximize every powerful programming feature available in Visual Studio 2008 with expert instruction from two Microsoft MVPs. Through clear explanations and real-world code samples, Microsoft Visual Studio 2008 Programming reveals how to develop innovative, high-performance applications with C# and VB.NET. Learn how to deploy ADO.NET and WCF services, incorporate XML and Ajax scripts, build hack-resistant code, and much more. The latest security tools, visualizers, and debuggers are also covered in detail.Work with WinForms, JavaScript, and Windows ServicesUse extension methods, partial classes, and XML literalsHandle database transactions with XSLT, ADO.NET, and LINQBuild mobile-ready and offline applications using Sync ServicesManage Active Directory and Internet Information Services from codeDefend against SQL injection and cross-site scripting attacksLearn from secure code guru Michael Howard how to take advantage of the security defenses in Visual C++Construct setup packages using ClickOnce and Windows InstallerCut development time using Visual Studio Team System and WPF

Introduction to Objective Caml


Jason Hickey - 2008
    As the book says on the title page:"This book has been submitted for publication by Cambridge University Press. This draft may be used until the time the book appears in print."

Forth Application Techniques: Course Notebook


Elizabeth D. Rather - 2008
    We at FORTH, Inc. have trained several thousand programmers to use Forth with versions of this book. Over the years we have adapted the content to reflect changes in common Forth usage and evolving computer and OS technology. We have also continually updated the problems to reflect the kinds of issues programmers face in real-world programming. This Fifth Edition is the latest, updated in 2008.

Beginning Web Development, Silverlight, and ASP.NET Ajax: From Novice to Professional


Laurence Moroney - 2008
    Whether you're interested in ASP.NET AJAX, Silverlight, or the technologies that support them (WPF, WCF, WF, etc.), this book is the starting point that you need.It adopts a "zero to hero" approach that concentrates on achieving practical results you can use in real projects rather than presenting a deep academic treatment that can't be immediately applied.The aim is to give you, the reader, the knowledge you need to achieve the results you want with the minimum of fuss. When you've read this book, you'll have a solid understand of all the techniques that are available, when to use them, and their relative strengths and weaknesses.

Adobe AIR in Action


Joseph Lott - 2008
    This exciting new technology is still in beta, but it's already being adopted by such web giants as eBay. With AIR, Web developers use their existing skills to build rich applications that flow seamlessly between the internet and the desktop.Adobe AIR in Action introduces AIR to developers familiar with Flex and JavaScript, showing them how to build solid AIR-driven desktop and hybrid applications. Using small examples, the expert authors walk web developers through the new topics they will need to develop AIR applications for the desktop. Readers will learn the essential features of the AIR API with examples and code samples that web professionals can use to get up and running in AIR quickly. The book describes how to create and customize native windows, read and write files and folders on the local file system.Web developers who read this book will be able to take instant advantage of the increased resources available to desktop applications. Sometimes-connected, web-enabled applications are gaining in popularity, and web developers of all stripes will want to add these skills to their toolbox.Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

Build Your Own ASP.Net 3.5 Website Using C# & VB


Zak Ruvalcaba - 2008
    In addition to a massively improved performance, it also provides much more to aid developers' productivity, including better AJAX integration and new ListView and DataPager controls. The third edition of this book reflects all these changes, as well as Visual Studio 2008.Readers liked the original books for their comprehensive coverage, liberal code samples, and the practicality of developing an entire intranet application using freely available tools and software.

Design Concepts in Programming Languages


Franklyn A. Turbak - 2008
    Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation. The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple. The book presents a set of tools (a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming, state, control, data), static semantics (types, type reconstruction, polymporphism, effects), and pragmatics (compilation, garbage collection). The many examples and exercises offer students opportunities to apply the foundational ideas explained in the text. Specialized topics and code that implements many of the algorithms and compilation methods in the book can be found on the book's Web site, along with such additional material as a section on concurrency and proofs of the theorems in the text. The book is suitable as a text for an introductory graduate or advanced undergraduate programming languages course; it can also serve as a reference for researchers and practitioners.

Modeling with Data: Tools and Techniques for Scientific Computing


Ben Klemens - 2008
    He then demonstrates how to easily apply these tools to the many threads of statistical technique, including classical, Bayesian, maximum likelihood, and Monte Carlo methods. Klemens's accessible survey describes these models in a unified and nontraditional manner, providing alternative ways of looking at statistical concepts that often befuddle students. The book includes nearly one hundred sample programs of all kinds. Links to these programs will be available on this page at a later date. Modeling with Data will interest anyone looking for a comprehensive guide to these powerful statistical tools, including researchers and graduate students in the social sciences, biology, engineering, economics, and applied mathematics.

Professional K2 Blackpearl


Holly AndersonJason Montgomery - 2008
    Understanding it from top to bottom would be a great task for a single person, which is why we have gathered more than a dozen authors to supply you with the information to successfully transform your company into a process-oriented, efficient business that can grow with the K2 platform.Since this is the first book on K2 blackpearl, you will find a broad range of topics in this book, from the market in which K2 blackpearl is aimed to the architecture of the platform, from how to approach process design to developing your own custom user manager.The first part of the book is meant for everyone and provides an understanding of K2 blackpearl and where it fits in the marketplace. It is included to provide a framework for thinking about various aspects of process-driven applications, including how they differ from business process management techniques; identifying processes in your company to automate, the different pieces that make up a process; measuring the success of your efforts; and finally shifting your company's culture in the direction of process efficiency. This section may be the only section you need to read if you are sponsoring a process improvement effort in your company. If you are responsible for leading the effort, make sure to read Chapters 3 and 4.The other parts are meant to provide details on how to effectively deploy and use K2 blackpearl and include a broad range of topics. Read what you are most interested in, but also make sure to read Chapter 8, which will give you a great foundation to start designing processes with K2 blackpearl. Chapter 14 is also recommended for everyone because it provides an overview of the available K2 Designers and how you can share projects among them.If you are a developer, you may be tempted to flip through the book looking for code, and you will find some, but we also recommend reading much of the rest of the book to learn how the API and the K2 platform extensions fit within the overall process-driven application environment. Pay particular attention to Chapter 22 and the Appendix, which may save you hours of coding or give you a no-code solution to something that you may have thought would take hundreds of lines of code to accomplish.If you are an administrators, focus on Parts II and IV, but also take a look at the other chapters to gain an understanding of how your users will be using K2.K2 blackpearl is the main subject of this book, although we devote an entire chapter, Chapter 23, to the add-on product K2 connect to give you an understanding of how to bring SAP data into your processes. We also talk a bit about K2 blackpoint, particularly in the SharePoint chapters. Since K2 blackpoint is built on the K2 blackpearl foundation, many of the same concepts apply to that product as well, but we do not point out the differences between K2 blackpearl and K2 blackpoint. For that information browse to "www.k2.com."We recommend that you approach this book in parts and perhaps read or reference each part differently. If you are working on a team, each member of the team may find one part more interesting to them than the other sections; that is expected and is how we designed the book.Part I, "Introduction to K2 blackpearl and Process-Driven Applications" The first four chapters discuss what K2 blackpearl is, how the applications you can design may or may not fit the business process management (BPM) model, how to go about identifying and designing processes, and last how to measure results and shift the culture of your company to a more process-oriented business.Part II, "Architecture and Installation Options for K2 blackpearl" Chapters 5 and 6 will get you started. Installing the K2 blackpearl components is a necessary step before you can start designing processes, so in these two chapters you will gain an understanding of all of the pieces of the platform, the architecture, and the supporting technology, as well as ideas on how to plan out your development, QA/staging, and production environments.Part III, "K2 blackpearl Process Planning and Design Essentials" Chapters 7 through 14 give you a ton of information about how to design, build, extend, and generally work with the main pieces of the platform. From a step-by-step tutorial on building your first process to how to share processes across the different K2 Designers, you'll learn all of what you need to really get ramped up. Pay particular attention to Chapters 8 and 11, which cover the basic things you need to know about process planning and the various concepts of process design with K2 blackpearl and then provide an in-depth view of the available forms technologies that you can use for user interaction with your processes. If you are particularly interested in SharePoint, make sure to read Chapters 12 and 13.Part IV, "Administration of K2 blackpearl" Chapters 15 through 20 offer an administrator's view into the platform. Things like disaster recovery, logging, security, and using the K2 Workspace for notifications, reports, assigning process permissions, and recovering from errors are all key aspects of the platform that you or someone in your company will have to understand. This section gives you everything you need to know and probably more, including how to build your own user manager to plug into the K2 platform.Part V, "Advanced K2 blackpearl Concepts and Platform Extensions" The last part includes Chapters 21 through 23, and these chapters are there to round out the discussion of the platform. You'll find information about using the Event Bus to surface outside events to the K2 server and a discussion of tailoring the platform and your processes to your particular needs by going beyond the default settings of the components that you learned about in Chapter 8. Finally you'll learn about the K2 connect platform extension, which allows data from SAP (and eventually any system for which a WCF LOB adapter is released) to be used within your processes.There are some pieces of this book that you can sit down and read without needing a computer or access to K2 blackpearl at all, but much of this book requires you to have access to K2 blackpearl and the supporting applications as well. Whenever we talk about designing processes, we do so in the context of the K2 Designer for Visual Studio. To install this component you will need Visual Studio 2005. Support for Visual Studio 2008 may be available by the time this book is published, so look for that on "www.k2.com."For the server pieces of the platform, you will need a Windows Server 2003 environment (virtual or otherwise) and the additional components required by the K2 server.

Swarm Intelligence


Christian Blum - 2008
    The book is intended to provide an overview of the subject to novices, and to offer researchers an update on interesting recent developments. Introductory chapters deal with the biological foundations, optimization, swarm robotics, and applications in new-generation telecommunication networks, while the second part contains chapters on more specific topics of swarm intelligence research.

Programming 8-Bit PIC Microcontrollers in C: With Interactive Hardware Simulation


Martin P. Bates - 2008
    Students and development engineers need to be able to design new products using microcontrollers, and this book explains from first principles how to use the universal development language C to create new PIC based systems, as well as the associated hardware interfacing principles.The book includes many source code listings, circuit schematics and hardware block diagrams. It describes the internal hardware of 8-bit PIC microcontroller, outlines the development systems available to write and test C programs, and shows how to use CCS C to create PIC firmware. In addition, simple interfacing principles are explained, a demonstration program for the PIC mechatronics development board provided and some typical applications outlined.

Concurrent Programming on Windows: Architecture, Principles, and Patterns (Microsoft Windows Development Series)


Joe Duffy - 2008
    Thatrsquo;s also where I met Joe, who is a world expert on this topic. These days, concurrency is a first-order concern for practically all developers. Thank goodness for Joersquo;s book. It is a tour de force and I shall rely on it for many years to come.rdquo; Pndash;Chris Brumme, Distinguished Engineer, Microsoft Pldquo;I first met Joe when we were both working with the Microsoft CLR team. At that time, we had several discussions about threading and it was apparent that he was as passionate about this subject as I was. Later, Joe transitioned to Microsoftrsquo;s Parallel Computing Platform team where a lot of his good ideas about threading could come to fruition. Most threading and concurrency books that I have come across contain information that is incorrect and explains how to solve contrived problems that good architecture would never get you into in the first place. Joersquo;s book is one of the very few books that I respect on the matter, and this respect comes from knowing Joersquo;s knowledge, experience, and his ability to explain concepts.rdquo; Pndash;Jeffrey Richter, Wintellect Pldquo;There are few areas in computing that are as important, or shrouded in mystery, as concurrency. Itrsquo;s not simple, and Duffy doesnrsquo;t claim to make it sondash;but armed with the right information and excellent advice, creating correct and highly scalable systems is at least possible. Every self-respecting Windows developer should read this book.rdquo; Pndash;Jonathan Skeet, Software Engineer, Clearswift Pldquo;What I loveabout this book is that it is both comprehensive in its coverage of concurrency on the Windows platform, as well as very practical in its presentation of techniques immediately applicable to real-world software development. Joersquo;s book is a lsquo;must haversquo; resource for anyone building native or managed code Windows applications that leverage concurrency!rdquo; Pndash;Steve Teixeira, Product Unit Manager, Parallel Computing Platform, Microsoft Corporation Pldquo;This book is a fabulous compendium of both theoretical knowledge and practical guidance on writing effective concurrent applications. Joe Duffy is not only a preeminent expert in the art of developing parallel applications for Windows, hersquo;s also a true student of the art of writing. For this book, he has combined those two skill sets to create what deserves and is destined to be a long-standing classic in developersrsquo; hands everywhere.rdquo; Pndash;Stephen Toub, Program Manager Lead, Parallel Computing Platform, Microsoft Pldquo;As chip designers run out of ways to make the individual chip faster, they have moved towards adding parallel compute capacity instead. Consumer PCs with multiple cores are now commonplace. We are at an inflection point where improved performance will no longer come from faster chips but rather from our ability as software developers to exploit concurrency. Understanding the concepts of concurrent programming and how to write concurrent code has therefore become a crucial part of writing successful software. With Concurrent Programming on Windows, Joe Duffy has done a great job explaining concurrent concepts from the fundamentals through advanced techniques. The detailed descriptions of algorithms and their interaction with the underlying hardware turn a complicated subject into something very approachable. This book is the perfect companion to have at your side while writing concurrent software for Windows.rdquo; Pndash;Jason Zander, General Manager, Visual Studio, Microsoft Pldquo;When you begin using multi-threading throughout an application, the importance of clean architecture and design is critical. . . . This places an emphasis on understanding not only the platformrsquo;s capabilities but also emerging best practices. Joe does a great job interspersing best practices alongside theory throughout his book.rdquo; Pndash; From the Foreword by Craig Mundie, Chief Research and Strategy Officer, Microsoft Corporation PAuthor Joe Duffy has risen to the challenge of explaining how to write software that takes full advantage of concurrency and hardware parallelism. In Concurrent Programming on Windows, he explains how to design, implement, and maintain large-scale concurrent programs, primarily using C# and C++ for Windows. PDuffy aims to give application, system, and library developers the tools and techniques needed to write efficient, safe code for multicore processors. This is important not only for the kinds of problems where concurrency is inherent and easily exploitablendash;such as server applications, compute-intensive image manipulation, financial analysis, simulations, and AI algorithmsndash;but also for problems that can be speeded up using parallelism but require more effortndash;such as math libraries, sort routines, report generation, PConcurrent Programming on Windows has four major sections#58; The first introduces concurrency at a high level, followed by a section that focuses on the fundamental platform features, inner workings, and API details. Next, there is a section that describes common patterns, best practices, algorithms, and data structures that emerge while writing concurrent software. The final section covers many of the common system-wide architectural and process concerns of concurrent programming. PThis is the only book yoursquo;ll need in order to learn the best practices and common patterns for programming with concurrency on Windows and .NET. Pnbsp;

Picture Yourself Creating Video Games [With CDROM]


Jason Darby - 2008
    "Picture Yourself Creating Video Games" shows amateur video game enthusiasts how to make their own games with The Game Factory 2, a simple drag-and-drop software program. Using clear, step-by-step instructions accompanied by full-color screenshots and images, this book makes video game creation fun and easy. You?ll begin with a quick overview of the basic hardware and software needed to get started, tips on documenting and laying out your game ideas, and an introduction to the tools and features of The Games Factory 2. Once you?re comfortable in the application, you?ll start building ChocoBreak, the actual game you?ll create as you work through the book. The book covers everything you need to make the game interesting, including motion and animation, adding lives and levels, scoring, music and sound, and more. By the end of the book you?ll have produced a complete, playable game and have all the information you need to start building and even testing your own video game creations.

Behavioral Biometrics: A Remote Access Approach


Kenneth Revett - 2008
    The study of behavioral biometrics - the verification and/or identification of individuals based on the way they provide information to an authentication system - originated from the need for a small footprint, versatile alternative to expensive hardware-based, or physiological, biometrics. As an emerging alternative to these traditional and more well-known physiological biometrics such as fingerprinting or iris scans, behavorial biometrics can offer state-of-the-art solutions to identity management requirements as either a stand-alone system or part of a multi-biometric security system. Whilst there are many existing texts that focus on physiological biometrics or algorithmic approaches deployed in biometrics, Behavioral Biometrics addresses a gap in the existing literature for a text that is solely dedicated to the topic of behavioral biometrics. The authorpresents a thorough analysis of the latest research into well-known techniques such as signature verification and voice recognition, as well more recently developed and ground-breaking techniques including keyboard/ mouse dynamics, gait analysis, odour analysis and salinity testing, which are ever increasing in reliability; discusses exciting future trends that focus on the brain-computer interface using EEG technology and may one day enable human-machine interaction via brainwave patterns; describes the central applications for the technology within e-commerce and related industries, and provides a number of comprehensive case studies of major implementations that provide the user with a strong sense of the approaches employed in the various subdomains of behavioral biometrics. provides a comprehensive glossary of terms as well as a rich set of references and websites that enable the reader to explore and augment topics as required. Behavioral Biometrics will appeal to graduate and postgraduate students, as well as researchers wishing to explore this fascinating research topic, in areas of biometrics and computer science including classification algorithms, pattern recognition, artificial intelligence & security and digital forensics. In addition, it will serve as a reference for system integrators, CIOs, and related professionals who are charged with implementing security features at their organization.

Windows Presentation Foundation


Thomas Claudius Huber - 2008
    

The Service-Oriented Media Enterprise: SOA, BPM, and Web Services in Professional Media Systems


John Footen - 2008
    Media organizations from news organizations to music and media download services to movie studios are adapting to SOA-style architectures, but have run into roadblocks unique to the media and entertainment industry. These challenges include incorporating real-time data, moving large amounts of data at one time, non-linearity and flexibility for workflow, and unique metrics and data gathering. The Service-Oriented Media Enterprise details the challenges and presents solutions for media technology professionals. By addressing both the IT and media aspects, it helps individuals improve current enterprise technologies and operations.

Ajax: A Beginner's Guide


Steven Holzner - 2008
    Using easy-to-follow examples, Ajax: A Beginner's Guide gets you started working with this cutting-edge collection of technologies in no time. Create XMLHttpRequest objects and use JavaScript, XML, DHTML, CSS, PHP, and more to build next-generation Web applications. You'll also find out about a variety of free, pre-written Ajax frameworks you can use right away.Designed for Easy Learning:Key Skills & Concepts--Lists of specific skills covered in the chapter Ask the Expert--Q&A sections filled with bonus information and helpful tips Try This--Hands-on exercises that show how to apply your skillsAnnotated Syntax--Example code with commentary that describes the programming techniques being illustrated

Beginning Portable Shell Scripting


Peter Seebach - 2008
    bBeginning Portable Shell Scripting#58; From Novice to Professional/b teaches shell scripting by using the common core of most shells and expands those principles to all of scripting.PYou will learn about portable scripting and how to use the same syntax and design principles for all shells. Yoursquo;ll discover about the interaction between shells and other scripting languages like Ruby and Python, and everything you learn will be shown in context for Linux, OS X, bash, and AppleScript.PbWhat yoursquo;ll learn/bPThis book will prime you on not just shell scripting, but also the modern context of portable shell scripting. You will learnPulPliThe core Linux/OS X shell constructs from a portability point of view/liPliHow to write scripts that write other scripts, and how to write macros and debug them/liPliHow to write and design shell script portably from the ground up/liPliHow to use programmable utilities and their inherent portability to your advantage, while pinpointing potential traps/liPliPulling everything together, how to engineer scripts that play well with Python and Ruby, and even run on embedded systems/liP/ulPbWho is this book for? /bPThis book is for system administrators, programmers, and testers working across Linux, OS X, and the Unix command line.PbAbout the Apress Beginning Series/bPThe Beginning series from Apress is the right choice to get the information you need to land that crucial entryndash;level job. These books will teach you a standard and important technology from the ground up because they are explicitly designed to take you from ldquo;novice to professional.rdquo; Yoursquo;ll start your journey by seeing what you need to knowmdash;but without needless theory and filler. Yoursquo;ll build your skill set by learning how to put together realndash;world projects step by step. So whether your goal is your next career challenge or a new learning opportunity, the Beginning series from Apress will take you theremdash;it is your trusted guide through unfamiliar territory!

Beginning SQL Server 2008 Express for Developers: From Novice to Professional


Robin Dewson - 2008
    The Express Edition of SQL Server is a free resource commonly used by students, developers of small systems, and those transferring skills from other databases. This book focuses on the features within the Express Edition and therefore will not confuse readers with coverage of features found only in the Development Edition. By the end of the book, readers will be ready to move on to Accelerated SQL Server 2008 as well as other books within the Apress SQL Server lineup such as Pro SQL Server 2008 Reporting Services.Covers using the free Express Edition of SQL Server Describes creating a database from scratch and builds on this Provides an understanding of SQL Server Express 2008, allowing you to build future solutions for you and your business

C# 3.0 the Complete Reference 3/E


Herbert Schildt - 2008
    Using carefully crafted explanations, insider tips, and hundreds of examples, this book presents in-depth coverage of all aspects of C#, including its keywords, syntax, and core libraries. Of course, details on the new C# 3.0 features, such as LINQ, lambda expressions, implicitly typed variables, and anonymous types are included.Essential for every C# programmer, this comprehensive guide is written in the clear, crisp, uncompromising style that has made Herb the choice of millions worldwide. Whether you are a novice programmer or a seasoned pro, the answers to all of your C# questions can be found in this definitive resource.Coverage includes:Data types and operatorsControl statements Classes and objectsConstructors, destructors, and methodsInterfaces, arrays, enumerations, and structuresMethod and operator overloadingInheritance and virtual methodsReflection and runtime type IDException handling Delegates, properties, events, and indexersAttributes MultithreadingGenericsLINQ (Language-Integrated Query)Lambda expressionsAnonymous typesExtension methodsImplicitly typed variablesI/O, networking, and collectionsThe preprocessor and much, much more

Essential Pascal


Marco Cantù - 2008
    Essential Pascal is an introduction to the basic features of the Pascal language, as found in Delphi and other modern development tools, from the best selling author of Mastering Delphi.

Advanced Oracle SQL Programming: The Expert Guide to Writing Complex Queries


Laurent Schneider - 2008
    Covering all the elements of an Oracle query—including new features from Oracle versions 9i, 10g, and 11g—this guide will help information technology managers and programmers alike to gain new insight into complex queries, advanced aggregation, and analytics techniques. Introducing Model and XML as new ways to retrieve data out of the database, this sourcebook culminates as a perfect companion for advanced programmers and Oracle experts.

Practical Text Mining with Perl


Roger Bilisoly - 2008
    It covers mining ideas from several perspectives--statistics, data mining, linguistics, and information retrieval--and provides readers with the means to successfully complete text mining tasks on their own.The book begins with an introduction to regular expressions, a text pattern methodology, and quantitative text summaries, all of which are fundamental tools of analyzing text. Then, it builds upon this foundation to explore:Probability and texts, including the bag-of-words model Information retrieval techniques such as the TF-IDF similarity measure Concordance lines and corpus linguistics Multivariate techniques such as correlation, principal components analysis, and clustering Perl modules, German, and permutation tests Each chapter is devoted to a single key topic, and the author carefully and thoughtfully introduces mathematical concepts as they arise, allowing readers to learn as they go without having to refer to additional books. The inclusion of numerous exercises and worked-out examples further complements the book's student-friendly format.Practical Text Mining with Perl is ideal as a textbook for undergraduate and graduate courses in text mining and as a reference for a variety of professionals who are interested in extracting information from text documents.

Ruby


Larry Ullman - 2008
    For those new to programming, as well as programmers that know other languages, this tutorial provides a complete end-to-end solution for learning the object-oriented programming language, Ruby.

SQL Server 2008 Transact-SQL Recipes


Joseph Sack - 2008
    Learn to create databases, insert and update data, generate reports, secure your data, and more. Author Joseph Sack takes common Transact-SQL tasks and breaks them down into a problem/solution format that is quick and easy to read so that you can get the job done fast when the pressure is on.Focused on solutions: Look up what you need to do. Learn how to do it. Do it. Current: Newly updated for SQL Server 2008 Comprehensive: Covers 30 different Transact-SQL problem domains

Enterprise Software without the BS


Yakov Fain - 2008
    Why some people are more successful than others.In which ways are some people a little “better” than others?Why people fail job interviews?Will IT outsourcing hurt your career?What’s a reasonable salary for a person with YOUR skills living in YOUR geographical area?Are there underpaid or overpaid people?How often should you change employers?Do you even want to have an employer or would you rather work as an IT contractor?Do you want your child to be a programmer?How to publish your book?Me coming to America.What’s one of the main motivations of innovations in the corporate world?

Beginning Microsoft Visual C# 2008


Karli Watson - 2008
    The book starts with absolute programming basics. It then moves into Web and Windows programming, data access (databases and XML), and more advanced technologies such as graphics programming with GDI+ and basic networking. The book is divided into sections including:The C# Language: Basic language skills using console application. Content moves from the absolute basics to fairly involved OOP skills.Windows Vista Programming: Using basic Windows applications, reinforcing earlier OOP and debugging skills.Web Programming: Putting together basic Web applications, highlighting differences between Web and Windows programming.Data Access: Accessing all kinds of data sources from Web and Windows applications, including SQL usage, XML, file system data, and Web Services.Additional Techniques: "The fun stuff," including Windows Presentation Foundation, Windows Workflow, Windows Communication Foundation, GDI+, networking, Windows Services, and so on. The book makes complicated subjects seem easy to learn, and it inspires readers to investigate areas further on their own by providing references to additional material, and exercise questions that require significant effort and personal research to complete.

ActionScript 3.0 Quick Reference Guide


David Stiller - 2008
    Happy learning!" -- Branden Hall, from the Foreword Written by Flash insiders with extensive knowledge of the technology, this guide is designed specifically to help Flash designers and developers make the leap from ActionScript 2.0 to the new object-oriented ActionScript 3.0 quickly and painlessly. Formatted so you can find any topic easily, ActionScript 3.0 Quick Reference Guide explains: Object-oriented programming (OOP) concepts, such as packages and classes ActionScript 3.0 features and player enhancements that improve performance Workflow differences between ActionScript 2.0 and ActionScript 3.0 including tools, code editing, component sets, and image and font rendering Where did it go? A guide to help you find familiar features in ActionScript 3.0, such as global functions, operators, properties, and statements How do I? Step-by-step solutions for performing tasks with ActionScript 3.0, including input, sound, video, display, events, text, and more Also included are overviews of Flash and ActionScript features and workflows. ActionScript 3.0 is a huge upgrade to Flash's programming language -- and this guide helps you upgrade your skills to match it.

Ajax: The Complete Reference


Thomas A. Powell - 2008
    Written by Web development expert Thomas Powell, the book lays out every feature of Ajax alongside detailed explanations and real-world code examples.Ajax: The Complete Reference explains how to create and test Ajax-enabled Web applications using the XMLHttpRequest object as well as alternative JavaScript-based communication mechanisms. You'll explore a variety of sample applications featuring emerging user-interface conventions and build applications that address real-world networking and security issues. A robust communication library is developed throughout the book that enables you to architect flexible Ajax applications. The latest technologies such as Web services, Flash-Ajax integration, client-side templates, Comet, and Offline Access are also covered. Discover the future of Web development today!Work with traditional JavaScript communication approaches like iframesExplore all the quirks and details in the XMLHttpRequest objectHandle disparate data formats, including XML, JSON, CSV, YAML, and more Deal with networking issues, including timeouts, retries, response ordering, and a variety of server and content errorsSimplify JavaScript programming using open-source Ajax libraries like YUISecure Ajax applications using authentication, obfuscation, and encryption Implement common Ajax UI patterns such as auto suggest, click-to-edit, and drag-and-dropSolve troubling Ajax architecture problems, including back button, history, and bookmarking issuesLearn Ajax's role in Web 2.0 and Web servicesExplore push style communication using Comet and FlashDiscover the future of offline Web application access and operation

Linq for Visual C# 2008


Fabio Claudio Ferracchiati - 2008
    With LINQ, you can write more elegant and flexible code--not just to access databases and files, but to manipulate data structures and XML.This book is a short, yet comprehensive guide to the major features of LINQ and the significant enhancements introduced with .NET 3.5. There is no better source for getting a head-start on the future of these technologies than this book.A clear and comprehensive yet concise introduction to using LINQ in C# Covers LINQ to Objects, LINQ to SQL, LINQ to DataSet, and LINQ to XML Rich in working examples of LINQ in action Ideal for C# programmers at any level

Django 1.0 Template Development


Scott Newman - 2008
    Getting the most out of its template system allows programmers and designers to easily and efficiently output their content in a flexible, extendable, and maintainable manner. This book will help you to master the Django template system. Built-in template tags and filters are explained with examples and usage notes, as well as information on building custom tags and filters to extend the system for your needs. You will learn to use inheritance to create modular templates that are easy to maintain. You will learn how to serve multiple templates from within the same Django project, with an example of how to serve different templates for a mobile version of your site without having to change any code in your views. Pagination, internationalization, caching, and customization of the automatic admin application are also covered. What you will learn from this book? Meet the Django template system and understand how it works Understand URL configurations, views, and generic views and streamline your project's development Master built-in tags and filters to use them efficiently in your project Split your output into manageable pieces using pagination libraries Extend your templates through inheritance Customize the look of the admin interface as you like to administer your website with ease Create and deploy custom tags and filters according to your needs Internationalize your templates to present your site in multiple languages from the same template files Improve your site's performance by using the cache framework Serve multiple sets of templates from the same project easily Approach This book is designed for readers who learn by doing and employs many examples and screenshots to let the reader dig in and start coding. This book isn't designed to be a reference; instead it has a practical, example-driven approach that teaches you by following along with the examples in the chapters. When you have completed this book, you will fully understand how the template system works, how to extend it when you have specialized needs, and how to optimize the performance and usability of your content. Who this book is written for? This book is for web developers and template authors who want to fully understand and utilize the Django template system. The reader should have completed the introductory tutorials on the Django project's website and some experience with the framework will be very helpful. Basic knowledge of Python and HTML is assumed.

Agile Software Engineering


Orit Hazzan - 2008
    Though there are only about ten years of accumulated experience using the agile approach, it is currently conceived as one of the mainstream approaches for software development. This book presents a complete software engineering course from the agile angle. Our intention is to present the agile approach in a holistic and compreh- sive learning environment that fits both industry and academia and inspires the spirit of agile software development. Agile software engineering is reviewed in this book through the following three perspectives: l The Human perspective, which includes cognitive and social aspects, and refers to learning and interpersonal processes between teammates, customers, and management. l The Organizational perspective, which includes managerial and cultural aspects, and refers to software project management and control. l The Technological perspective, which includes practical and technical aspects, and refers to design, testing, and coding, as well as to integration, delivery, and maintenance of software products. Specifically, we explain and analyze how the explicit attention that agile software development gives these perspectives and their interconnections, helps viii Preface it cope with the challenges of software projects. This multifaceted perspective on software development processes is reflected in this book, among other ways, by the chapter titles, which specify dimensions of software development projects such as quality, time, abstraction, and management, rather than specific project stages, phases, or practices.

Struts 2 Black Book


Kogent Solutions Inc. - 2008
    Targeting beginner to advance level readers, this book begins with an introduction to struts 2 and describes its evolutions as a new web application framework. It covers various concepts supported by struts 2, such as interceptors, results, validators, generic and ui tags and plugins. The book also describes the benefits of these concepts and different ways of implementing them. In addition, the book discusses various components created and configured in struts 2 framework based web application. The book also covers the architecture and implementation changed in struts 2 from struts 1. The book describes the process of migrating a struts 1 application to struts 2 based application, and a lot more.

Beginning Google Web Toolkit: From Novice to Professional


Bram Smeets - 2008
    Inspired by the "web 2.0" trend and applications such as Gmail and the like, we've tried many approaches to building these rich Internet applications (RIAs). But all of these had one big flaw: they required us to learn a different language, including adhering to a whole new set of conventions and best practices. Only with the introduction of Google Web Toolkit (GWT) have we begun to feel confident about building this kind of application in a maintainable fashion. This book introduces GWT within the context just described, and will guide you through the first steps of using it to build real-world applications. The goal is to get you as a Java developer up to speed quickly by providing just enough background and a lot of hands-on code samples. During the course of the book, we'll guide you through the different aspects of GWT that we feel are important, and leave out the ones we feel are out-of-scope for beginners. Most of the code samples will gradually build to make up a real-world sample application that allows you to manage your tasks using a web application. After reading this book, you'll be equipped with the necessary knowledge and tools to start building real-world applications using GWT.

Head First JavaScript Code Magnets


O'Reilly Media Inc. - 2008
    With this Head First JavaScript Code Magnets Kit, getting JavaScript into your brain is both easy and fun. These code magnets provide a brain-friendly, hands-on experience and reduce the time you have to spend writing code. The kit includes over 100 magnets with code carefully selected from the code magnet exercises found in O'Reilly Media's best-selling book, Head First JavaScript. Practice your coding skills by using the JavaScript magnets along with the examples found in the book or create your very own examples. It's just this simple: break the magnet sheets into separate code tiles and stick them on your fridge, locker, file cabinet, or the magnetic board included in the kit. You'll learn JavaScript in record time!

Best of Game Programming Gems


Mark DeLoura - 2008
    "Best of Game Programming Gems" combines the greatest cutting-edge, ready-to-use techniques contributed by industry experts to volumes 1-6 of the Game Programming Gems series. Each article was carefully chosen by the editors and compiled into one best-of-the-best volume in an effort to share forty-nine timeless gems of game programming wisdom with you and to save you time and effort with a plethora of reliable methods to add to your developer's tool box. The articles are organized into six sections covering the topics of general information, math and physics, artificial intelligence, graphics, networking, and audio.Whether you are new to game development or a practiced veteran, you're sure to find inspiration and insight to make more entertaining and satisfying games in "Best of Game Programming Gems."

Mathematica Programming: An Advanced Introduction


Leonid Shifrin - 2008
    http://www.mathprogramming-intro.org/...

Web Traffic Magnet


Liam Scanlan - 2008
    Visitors are the life blood of every website. If you are wondering how to drive traffic to your website, this book offers 55 Actions you can take - explained so that anyone can understand them - to get your website to the top of search results. The author assumes you don't want to spend a dollar more on your website until you see results, and that you don't have a deeply technical background, but still wish to understand what every business owner needs to know about how search engines work. Whether you are a Director of Marketing wanting to boost your career or a one-person plastic surgeon in upstate New York looking for new customers, these 55 tips will help you drive traffic to your website. All of them are effective and applied over time, will keep traffic coming to your website for years. Even after reading the Table of Contents, you'll want to make the first changes to your website.

Pro Spring 2.5


Jan Macháček - 2008
    I am deeply thankful that Jan was around to pick up this book and run with it. Pro Spring has been a big part of my life for over three years, and I didn't relinquish the reins lightly. When Juergen and I set out working on Spring Framework 2.0, I knew that I wouldn't have the time to participate in the writing process and write the software at the same time. Fortunately, Jan was there to step into the breach. Jan and Apress had additionally planned to release Pro Spring 2.0, but Juergen and I inadv- tently made it impossible for them to keep up by making many changes to the Spring Framework. I vividly remember cringing when updating all the JSP form tags, knowing that I was creating yet more work for Jan. With the 2.5 release just on the horizon, Jan made the sensible choice to forego a 2.0 edition and head straight for 2.5. This was a wise move. The Spring Framework 2.5 release reflects the state of the art in both the Spring Framework and in enterprise Java frameworks as a whole. A guide book to this critical tool is necessary reading for any conscientious Java developer.

VSTO For Dummies


Bill Sempf - 2008
    This book shows developers step by step how to work with VSTO tools to create real-world applications for Word, Outlook, and Excel.VSTO enables developers to easily create custom applications for Microsoft OfficeIn the fun and friendly For Dummies style, this book explains how to build effective user interfaces and integrate VSTO applications with Sharepoint and other Microsoft server productsAll code is presented in Visual Basic, making the book accessible to both VB and VBA programmers"VSTO For Dummies" will get you up and running with this exciting technology quickly and easily.