
The unique, visual format of Illustrated C# 2008 has been specially created by author, and teacher of development methods, Daniel Solis. The concise text, use of tables to clarify language features, frequent figures and diagrams, as well as focused code samples all combine to create a unique approach that will help you understand and get to work with C# fast.
It was while teaching numerous seminars on various programming languages that the author realized the immense power diagrams have in explaining programming language concepts. Most people learn quicker and retain information better when the material is presented in a clean, simple, visual format. To achieve this result in his book, Solis uses concise text and bulleted lists, tables to clarify and summarize language features, as well as his renowned, ubiquitous figures and diagrams. Each language feature is illustrated with a concise and focused code sample for complete clarity.
Following an overview of the .NET platform and the role played by C#, you’ll soon move into exploring the C# language in its entirety, including all the new C# 2008 features right down to the most complex topics involved in C#. If you’re a C++ or VB programmer migrating to C# 2008, this book will be invaluable; the unique visual approach offers a far from lightweight treatment of C# 2008, so even the most experienced programmers will come away with a deeper understanding of the C# language.
What you’ll learn
- Details of the C# 2008 language presented in a clear, concise treatment
- New features in the latest version of .NET, in the author’s unique visual style
- How C# differs from and is similar to other programming languages, aiding migrating C++ and VB programmers who already know how languages work

C# 3.0 Unleashed contains complete coverage of the C# programming language. The author covers all the essential syntax, but keeps the focus on practical application. The chapters are arranged to take you step-by-step from the core of the C# language to elements of the .NET Framework, and further into advanced concepts on distributed n-tier Internet applications. Additionally, C# 3.0 Unleashed shows you how to debug, monitor, and scale enterprise applications, enabling you to use the C# programming language to ship the right code at the right time.
What’s included in this book:
- A complete reference for C# syntax, object oriented programming, and component programming with C#
- Comprehensive data coverage through ADO.NET and LINQ
- An introduction to UI technologies, including Windows Forms, WPF, ASP.NET Ajax, and Silverlight
- Coverage of traditional ASMX and WCF Web Services
- Coverage of multiple .NET technologies, including networking, instrumentation, interop, and multi-threading
- In-depth discussion of platform concepts including CLR, Garbage Collection, Type System, Assemblies, and Code Access Security
- Guidance on design and architecture for a big-picture view and essential help in piecing together all you’ve learned
Сбор исходной информации Итак, нам нужен фреймворк, который позволял бы быстро и удобно начинать разворачивать проект любой сложности с минимальными затратами времени на изучение возможностей и мануалов его работы.
Всенепременно - это свой фреймворк.
Основные возможности, которые должен предоставлять наш фреймворк:
1. Структурированное логическое разбиение кода
2. Возможность быстрого подключения кода через расширения (библиотеки, плагины)
3. Удобное конфигурирование движка и его модулей
4. Поддерживать MVC
5. Иметь удобные средства работы с записями из базы данных (ActiveRecord)
6. Наличие средств связывания объектов моделей данных и управления зависимостями в них
7. Поддержка событий и их обработчиков
8. Автоматическая генерация бэк-енда и таблиц базы данных по данным модели
9. Поддержка экстра полей для моделей ядром
10. Удобный шаблонизатор и система шаблонов-стилей
11. Легкое подключение ajax и других обработчиков


Widely praised for its in–depth coverage of Drupal internals, bestselling Pro Drupal Development has been completely updated for Drupal 6 in this latest edition, and there are even more tricks of the trade to help you further yourself as a professional Drupal developer.
Assuming you already know how to install and bring a standard installation online, John K. VanDyk gives you everything else you need to customize your Drupal installation however you see fit. Pro Drupal Development, Second Edition delves deep into Drupal internals, showing you how to take full advantage of its powerful architecture.
What you’ll learn
- Find out how to create your own modules, develop your own themes, and produce your own filters.
- Learn the inner workings of each key part of Drupal, including user management, sessions, the node system, caching, and the various APIs available to you.
- Discover how to optimize your Drupal installation to perform well under high–load situations.
- Gain the knowledge needed to secure your Drupal installation and other best practice techniques.
- Learn to integrate Ajax into and internationalize your Drupal web site.
Who is this book for?
Web developers maintaining and creating sites with Drupal. It is assumed that you already know the basics of Drupal and are able to install and bring up a basic installation. This book takes you deeper into the internals of Drupal and teaches how to tweak and modify it in order to create that perfect web site. Simply put, if you are working with Drupal, you need Pro Drupal Development, Second Edition.

Instead of starting at "Hello World," Wicked Cool PHP assumes that you're familiar with the language and jumps right into the good stuff. After you learn the FAQs of life-the most commonly wished for PHP scripts-you'll work your way through smart configuration options and the art of forms, all the way through to complex database-backed scripts.
Wicked Cool PHP contains a wide variety of scripts to process credit cards, check the validity of email addresses, template HTML, and serve dynamic images and text. The 76 easily implemented scripts will also teach you how to:
But it's not all fun and games: Security is a big concern when programming any web application. So you'll learn how to encrypt your confidential data, safeguard your passwords, and prevent common cross-site-scripting attacks. And you'll learn how to customize all of the scripts to fit your own needs.
Dynamic Web content doesn't have to be difficult. Learn the secrets of the craft from two experienced PHP developers with Wicked Cool PHP.


With proper training a skilled system designer can take a bad design and rework it into well-designed, robust code. In this book, Martin Fowler shows you where opportunities for refactoring typically can be found, and how to go about reworking a bad design into a good one. Each refactoring step is simple-seemingly too simple to be worth doing. Refactoring may involve moving a field from one class to another, or pulling some code out of a method to turn it into its own method, or even pushing some code up or down a hierarchy. While these individual steps may seem elementary, the cumulative effect of such small changes can radically improve the design. Refactoring is a proven way to prevent software decay.
In addition to discussing the various techniques of refactoring, the author provides a detailed catalog of more than seventy proven refactorings with helpful pointers that teach you when to apply them; step-by-step instructions for applying each refactoring; and an example illustrating how the refactoring works. The illustrative examples are written in Java, but the ideas are applicable to any object-oriented programming language.
The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process.
Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development.
Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:
- Getting all team members to speak the same language
- Connecting model and implementation more deeply
- Sharpening key distinctions in a model
- Managing the lifecycle of a domain object
- Writing domain code that is safe to combine in elaborate ways
- Making complex code obvious and predictable
- Formulating a domain vision statement
- Distilling the core of a complex domain
- Digging out implicit concepts needed in the model
- Applying analysis patterns
- Relating design patterns to the model
- Maintaining model integrity in a large system
- Dealing with coexisting models on the same project
- Organizing systems with large-scale structures
- Recognizing and responding to modeling breakthroughs
With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.

- Fight software rot;
- Avoid the trap of duplicating knowledge;
- Write flexible, dynamic, and adaptable code;
- Avoid programming by coincidence;
- Bullet-proof your code with contracts, assertions, and exceptions;
- Capture real requirements;
- Test ruthlessly and effectively;
- Delight your users;
- Build teams of pragmatic programmers; and
- Make your developments more precise with automation.


Beck collects 77 patterns for handling everyday programming tasks and writing more readable code. This new collection of patterns addresses many aspects of development, including class, state, behavior, method, collections, frameworks, and more. He uses diagrams, stories, examples, and essays to engage the reader as he illuminates the patterns. You’ll find proven solutions for handling everything from naming variables to checking exceptions.
This book covers
- The value of communicating through code and the philosophy behind patterns
- How and when to create classes, and how classes encode logic
- Best practices for storing and retrieving state
- Behavior: patterns for representing logic, including alternative paths
- Writing, naming, and decomposing methods
- Choosing and using collections
- Implementation pattern variations for use in building frameworks

As a PHP developer, you have some great tools for developing web applications. Ruby on Rails is another key tool to add to your web development toolbox. Rails is a high-level web development framework that emphasizes high productivity and clean code. However, the Ruby language and Rails framework take a different approach from the way many PHP developers write applications.
Ruby lies at the foundation of Rails, and we’ll teach you the Ruby language from the beginning by building on your existing foundation of PHP. We’ll explore Ruby through parallel code examples that illustrate the differences between the languages, and help you understand the Ruby idioms and how they differ from popular PHP code and style.
You’ll then learn the Rails framework by iteratively building a complete application, starting from the home page through to a finished product. Along the way, you’ll build your skills as a Rails developer by learning the Rails fundamentals such as MVC structure, domain modeling, and testing.
In addition to serving as a guide to learning both Ruby and Rails from a PHP developer’s perspective, this book includes two extensive reference chapters. They map the most common PHP tasks to their equivalents in the Ruby and Rails world, giving you at-a-glance information that you’ll refer to often.
- Leverage PHP knowledge to learn Ruby on Rails quickly
- Understand key differences between Ruby and PHP
- Learn Rails best practices and relate them to PHP
- Develop techniques for writing effective Rails code

Is your site easy to find, simple to navigate, and enticing enough to convert prospects into buyers? Website Optimization shows you how. It reveals a comprehensive set of techniques to improve your site's performance by boosting search engine visibility for more traffic, increasing conversion rates to maximize leads and profits, revving up site speed to retain users, and measuring your site's effectiveness (before and after these changes) with best-practice metrics and tools.
Remember when an optimized website was one that merely didn't take all day to appear? Times have changed. Today, website optimization can spell the difference between enterprise success and failure, and it takes a lot more know-how to achieve success.This book is a comprehensive guide to the tips, techniques, secrets, standards, and methods of website optimization. From increasing site traffic to maximizing leads, from revving up responsiveness to increasing navigability, from prospect retention to closing more sales, the world of 21st century website optimization is explored, exemplified and explained.
Website Optimization combines the disciplines of online marketing and site performance tuning to attain the competitive advantage necessary on today's Web. You'll learn how to improve your online marketing with effective paid and natural search engine visibility strategies, strengthened lead creation and conversion to sales methods, and gold-standard ad copywriting guidelines. Plus, your increased site speed, reduced download footprint, improved reliability, and improved navigability will work synergistically with those marketing methods to optimize your site's total effectiveness.
In this book for business and IT managers, author Andrew King, president of Website Optimization, LLC, has assembled experts in several key specialties to teach you:
- Search engine optimization -- addressing best (and worst) practices to improve search engine visibility, including step-by-step keyword optimization guidelines, category and tag cloud creation, and guerilla PR techniques to boost inbound links and improve rankings
- Pay-per-click optimization -- including ad copywriting guidelines, setting profit-driven goals, calculating and optimizing bids, landing page optimization, and campaign management tips
- Optimizing conversion rates -- increasing leads with site landing page guidelines, such as benefit-oriented copy, credibility-based design, value hierarchies, and tips on creating unique selling propositions and slogans
- Web performance tuning -- optimizing ways to use (X)HTML, CSS, and Ajax to increase speed, reduce your download footprint, and increase reliability
- Advanced tuning -- including client-side techniques such as on-demand content, progressive enhancement, and inline images to save HTTP requests. Plus server-side tips include improving parallelism, using cache control, browser sniffing, HTTP compression, and URL rewriting to remap links and preserve traffic
- Web metrics -- illustrating the best metrics and tools to gather details about visitors and measure web conversion and success rates. Covering both search marketing metrics and web performance measures including Pathloss and waterfall graphs
Website Optimization not only provides you with a strategy for success, it also offers specific techniques for you and your staff to follow. A profitable website needs to be well designed, current, highly responsive, and optimally persuasive if you're to attract prospects, convert them to buyers, and get them to come back for more. This book describes precisely what you need to accomplish to achieve all of those goals.

Other brand names and product names mentioned in this book are trademarks or service marks of their
respective companies. Any omission or misuse (of any kind) of service marks or trademarks should not be
regarded as intent to infringe on the property of others. The publisher recognizes and respects all marks used
by companies, manufacturers, and developers as a means to distinguish their products.
This book is sold as is, without warranty of any kind, either express or implied, respecting the contents of
this book and any disks or programs that may accompany it, including but not limited to implied warranties for
the book’s quality, performance, merchantability, or fitness for any particular purpose. Neither Wordware
Publishing, Inc. nor its dealers or distributors shall be liable to the purchaser or any other person or entity with
respect to any liability, loss, or damage caused or alleged to have been caused directly or indirectly by this book.
All inquiries for volume purchases of this book should be addressed to Wordware Publishing, Inc.,
at the above address. Telephone inquiries may be made by calling:

Anyone who develops software for a living needs a proven way to produce it better, faster, and cheaper. The Productive Programmer offers critical timesaving and productivity tools that you can adopt right away, no matter what platform you use. Master developer Neal Ford not only offers advice on the mechanics of productivity-how to work smarter, spurn interruptions, get the most out your computer, and avoid repetition-he also details valuable practices that will help you elude common traps, improve your code, and become more valuable to your team.

Putting it in simple terms, an MVC approach provides a clean way to organise your code. Once you understand the concept and become familiar with the CodeIgniter framework, you will be building Web applications in no time.
The book was published by Packt Publishing. Like with all their books, you can download the example code from their support page. The examples are pretty easy to setup. I had no problems getting any of them to work. The details and explanations provided by the author make it very difficult to make a mistake.

Like music and movies, video games are rapidly becoming an integral part of our lives. Over the years, you’ve yearned for every new gaming console, mastered each blockbuster within weeks after its release, and have even won a local gaming competition or two. But lately you’ve been spending a lot of time thinking about a game idea of your own, or are exploring the possibility of making a career of this vibrant and growing industry. But where should you begin?
Beginning Game Development with Python and Pygame is written with the budding game developer in mind, introducing games development through the Python programming language and the popular Pygame games development library. Authored by industry veteran and Python expert Will McGugan, who most recently worked on the MotorStorm game for Play Station 3, you’ll be privy to insights that will not only help you to exploit PyGame to its maximum potential, but also make you a more creative and knowledgeable games developer all round.
* Create advanced games by taking advantage of the popular open
source Python programming language and Pygame games development library.
* Learn step-by-step through the creation of a real-world game (tank
warfare), involving gaming preferences, sound, visual effects, and
joystick/keyboard interaction.
* Discover the concepts that are crucial to success in today’s gaming
industry, such as support for multiple platforms, and granting users
the ability to extend and customize your games.
What you’ll learn
* Take advantage of Python and the Pygame library to build compelling cross-platform games.
* Learn to best use these technologies to turn your dream game into reality.
* Create professional games by accounting for sound, special effects,
and user interaction through the joystick and keyboard.
* Build both two- and three-dimensional games, and learn more about the
factors that contribute to choosing one approach over the other.
* Provide users with the means for extending your games through level
creation and custom modifications as a means to build a vibrant
community around your product.
* Package your games in a manner that allows even novice computer users to install, use, and update your games with ease.



Cross-Platform GUI Programming with wxWidgets is the best way for beginning developers to learn wxWidgets programming in C++, and is a valuable resource for experienced wxWidgets programmers looking to expand their skills. This book is a must-have for programmers thinking of using wxWidgets and those already using it.


Начаная от базовых знаних C/C++, DirectX и Opengl, заканчивая теорией игр.
Пополняется...


who wishes to use Linux in a current or future project. Such a reader is expected to be
familiar with all the techniques and technologies used in developing embedded systems,
such as cross-compiling, BDM or JTAG debugging, and the implications of dealing
with immature or incomplete hardware. If you are such a reader, you may want to skip
some of the background material about embedded system development presented early
in some sections. There are, however, many early sections (particularly in Chapter 2)
that you will need to read, because they cover the special implications of using the
Linux kernel in an embedded system.
This book is also intended for the beginning embedded system developer who would
like to become familiar with the tools and techniques used in developing embedded
systems based on Linux. This book is not an introduction to embedded systems, however,
and you may need to research some of the issues discussed here in an introductory
textbook.
If you are a power user or a system administrator already familiar with Linux, this book
should help you produce highly customized Linux installations. If you find that distributions
install too many packages for your liking, for example, and would like to build
your own custom distribution from scratch, many parts of this book should come in
handy, particularly Chapter 6.
Finally, this book should be helpful to a programmer or a Linux enthusiast who wants
to understand how Linux systems are built and operated. Though the material in this
book does not cover how general-purpose distributions are created, many of the techniques
covered here apply, to a certain extent, as much to general purpose distributions
as they do to creating customized embedded Linux installations.

Legendary programming author Herb Schildt shares some of his favorite programming techniques in this high-powered C++ "cookbook." Organized for quick reference, each "recipe" shows how to accomplish a practical programming task. A recipe begins with a list of key ingredients (classes, functions, and headers) followed by step-by-step instructions that show how to assemble them into a complete solution. Detailed discussions explain the how and why behind each step, and a full code example puts the recipe into action. Each recipe ends with a list of options and alternatives that suggest ways to adapt the technique to fit a variety of situations. Whether you're a beginner or an experienced pro, you'll find recipes that are sure to satisfy your C++ programming appetite!

has written this book to provide you with an essential guide to getting the most out of using Prototype and script.aculo.us.
Practical Prototype and script.aculo.us will help you leverage the Prototype and script.aculo.us libraries to enhance your day–to–day work, speeding up mundane tasks and providing advanced UI effects in a way that is cross–browser compliant—taking many worries off your shoulders. Take a whirlwind tour of the different time–saving functions and features Prototype provides and how it extends the basic JavaScript objects, including events, Ajax techniques, DOM elements, enumerables, and advanced OOP. Understand how script.aculo.us fits into the wider world of DOM Scripting/DHTML; find out how to use it to enhance your UIs quickly and effectively, with UI controls, effects, and drag and drop; and discover Prototype and script.aculo.us as a platform.
The author avoids needless theory and rhetoric throughout the book, moving you through the topics at a fast pace. He incorporates several real–world examples to help you gain valuable practical experience as you learn. Practical Prototype and script.aculo.us is completely up to date and features server–side examples written in PHP that show the framework can be used effectively in more environments than just Ruby on Rails.
- Master all the convenience functions of Prototype to speed up your JavaScript/Ajax development.
- Leverage script.aculo.us to turbo charge your dynamic UIs.
- Learn from JavaScript expert Andrew Dupont, one of the Prototype Core team members.
What you’ll learn
- How to use all of the basic timesaving/convenience functions of Prototype
- How to use enumberables to speed up looping, arrays, etc.
- How to enhance your Ajax applications with Prototype
- How Prototype makes working with events and DOM elements a cinch
- How script.aculo.us fits into DOM Scripting/DHTML
- How to make use of the basic effects available in script.aculo.us
- Mastery of UI controls and drag and drop in script.aculo.us
- How to treat Prototype and script.aculo.us as a platform
- How to use Prototype and script.aculo.us effectively with PHP and other server–side setups besides Ruby on Rails

This book serves as both a programmer's reference and an in-depth tutorial, so not only do you get a comprehensive look at XUL's capabilities--from simple interface design to complex, multitier applications with real-time operations--but you also learn how to build a complete working application with XUL. If you're coming from a Java or .NET environment, you'll be amazed at how quickly large-scale applications can be constructed with XPCOM and XUL.
Topics in Programming Firefox include:
- An overview of Firefox technology
- An introduction to the graphical elements that compose a XUL application
- Firefox development tools and the process used to design and build applications
- Managing an application with multiple content areas
- Introduction to Resource Description Files, and how the Firefox interface renders RDF
- Manipulating XHTML with JavaScript
- Displaying documents using the Scalable Vector Graphics standard and HTML Canvas
- The XML Binding Language and interface overlays to extend Firefox
- Implementing the next-generation forms interface through XForms

Maybe you've written some simple SQL queries to interact with databases. But now you want more, you want to really dig into those databases and work with your data. Head First SQL will show you the fundamentals of SQL and how to really take advantage of it. We'll take you on a journey through the language, from basic INSERT statements and SELECT queries to hardcore database manipulation with indices, joins, and transactions. We all know "Data is Power" - but we'll show you how to have "Power over your Data". Expect to have fun, expect to learn, and expect to be querying, normalizing, and joining your data like a pro by the time you're finished reading!

- Covers all key features of the Facebook API
- Explains the API languages FQL and FBML
- Teaches by example, with useful code and tips you can use in your own applications
What you’ll learn
- Provides “real” language description of the API that’s easy to understand
- Presents multiple API examples that you can use in your own projects
- Fills holes in the official documentation
- Demonstrates integration with other technologies
- Illustrates how adoption of social–technical behavior shapes technology design
- Shows that Facebook development is fun!
Who is this book for?
This book is for web developers wanting to learn how to leverage the API in their own applications or how to create bespoke applications in Facebook. It will also appeal to Facebook users who are interested in using the API to develop their own programs. The code in the book is aimed at the beginner–to–intermediate level, so you don’t need to be a pro to use it, but some programming or web development experience is recommended.

Expert MySQL, by Dr. Charles A. Bell, is the first book to examine these opportunities in detail, showing you how to wield maximum control over this powerful open source database. Youll learn how to create your own custom storage handlers, ensuring maximum flexibility and speed within your specialized applications. Youll also gain valuable insight into MySQLs architecture and learn how to tweak its behavior through custom changes to the source code.

XML-RPC takes web technology in a new direction, giving you a new way to create simple, but powerful, connections between different kinds of programs. After wasting more hours than I care to admit developing and documenting network formats used to exchange relatively simple kinds of information between programs, I was very happy to discover XML-RPC. It would have made all that work much easier.
Whether you integrate systems within a single network or provide services and information to the public as a whole, XML-RPC provides critical layers of abstraction that make it simple to connect different kinds of computing systems without needing to create new standards for every application. Because XML-RPC is built on commonly available HTTP and XML technologies, the costs of implementing it are low. Because XML-RPC focuses sharply on solving a particular kind of problem -- making procedure calls across a network -- it is very easy to learn and implement across a wide variety of systems.

the field: Ajax and Ruby on Rails. By the end of this book, you'll be equipped with the knowledge to
build richly interactive web applications with Rails.
ajax on rails

JavaScript is the language of the browser, but it's also heavily employed in many other environments: server-side programming, desktop applications, application extensions and widgets. It's a pretty good deal: you learn one language and then code all kinds of different applications. While this book has one chapter specifically dedicated to the web browser environment including DOM, events, and AJAX tutorials, the rest is applicable to all the other environments too.
This book treats JavaScript as a serious object-oriented language, showing you how to build robust, maintainable, and powerful libraries and applications. Along the way, we cover many of the recent innovations such as AJAX, JSON, and interesting design and coding patterns. After reading this book, you'll be prepared to ace your JavaScript job interview and even impress with some bits that the interviewer maybe didn't know. You should read this book if you want to be able to take your JavaScript skills to a new level of sophistication.
What you will learn from this book?
* Learn to think in JavaScript, the language of the web browser
* The basics of object-oriented programming, and how they apply to JavaScript
* Set up and use your training environment (Firebug)
* Master data types, operators, and flow control statements
* Understand functions: usage patterns, variable scope, and built-in functions
* Closures demystified
* Create and use objects
* Understand and use prototypes
* Reuse code with common patterns for inheritance
* Understand and work with the BOM (Browser Object Model)
* The DOM (Document Object Model) - accessing, modifying, adding, and deleting nodes
* Build responsive web pages with AJAX
* JSON (JavaScript Object Notation)
* Listen and respond to browser events
* Apply design patterns to solve common problems
* Adopt coding patterns that unleash the unique power of the language
* Make your programs cleaner, faster, and compatible with other programs and libraries
* Achieve missing object-oriented features in JavaScript such as private properties and methods
Who is this book written for?
The book requires no prior knowledge of JavaScript and works from the ground up to give you a thorough grounding in this powerful language. If you do already know some JavaScript, you will find plenty of eye-openers as you discover just what the language can do.
This book takes a do-it-yourself approach when it comes to writing code, because the best way to really learn a programming language is by writing code. You are encouraged to type code into Firebug's console, see how it works and then tweak it and play around with it. There are practice questions at the end of each chapter to help review what you have learned.

- Teaches you how to write an API that will stand the test of Time
- Written by the designer of the NetBeans API at Sun
- Based on best practices, scalability, and API design patterns
What you’ll learn
- What an API is and what the theories are behind good API design
- When and why to build an API
- API design patterns applicable to all programming languages, especially modern, object–oriented languages
- How to optimize and test APIs
Who is this book for?
This book is recommended to every API architect who prefers a bit more engineering design over a purely artistic one.

- Thorough, complete, and useful work on the nuts and bolts of applicatio development in Android
- Example driven and practically minded
- A tool for hobbyists and professionals who want to create production–quality applications
What you’ll learn
- Understand how an Android application functions and communicates with the handset that hosts it.
- Comprehend the complexities of timers, services, and multimedia playback.
- Create and display a rich mix of custom–rendered screens and tailored Android widgets.
- Understand how location–based services are becoming more and more important in the mobile world.
- See how to use Google’s powerful Map tool.
- Explore the intricacies of network connectivity in the mobile world.
Who is this book for
This book is for professional software engineers looking to move their ideas and applications into the mobile space with Android. The author assumes the reader has a passable understanding of Java. They should be able to write classes and handle basic inheritance structures. This book also targets hobbyist developers looking to negotiate the complex minefield of mobile software.

Among the topics discussed are: * Lighting and shading schemes * Networking and multithreading * Texture mapping * Scene management
Along with several sample applications that target specific algorithms, full source code is provided for a client-server networked 3-D first-person game that demonstrates many of the techniques discussed in the book. This gives readers the opportunity to develop their own code easily, basing it upon the technology discussed in the book.

In this highly visual, informative new book, Angela Faris Belt discusses the four crucial elements of photography that are essential for successful technical and conceptual image-making:
the photographic frame and its borders
quality of focus as determined by the aperture or lens
shutter speeds and their effects in relation to time and motion
the physical media used to create the aggregate image
Step-by-step guidance including informative screen shots, traditional darkroom and Photoshop techniques, suggested exercises, and before and after images help both film and digital photographers improve their skills, learn new techniques, and better understand their craft. More than 300 stunning, full color images and portfolios featuring the work of over 40 prestigious artists provide visual inspiration as well as a gorgeous collection of artwork for photography enthusiasts.

Learning Python is based on material from author Mark Lutz's popular training courses, which he's taught over the past decade. Each chapter is a self-contained lesson that helps you thoroughly understand a key component of Python before you continue. Along with plenty of annotated examples, illustrations, and chapter summaries, every chapter also contains Brain Builder, a unique section with practical exercises and review quizzes that let you practice new skills and test your understanding as you go.
This book covers:
- Types and Operations -- Python's major built-in object types in depth: numbers, lists, dictionaries, and more
- Statements and Syntax -- the code you type to create and process objects in Python, along with Python's general syntax model
- Functions -- Python's basic procedural tool for structuring and reusing code
- Modules -- packages of statements, functions, and other tools organized into larger components
- Classes and OOP -- Python's optional object-oriented programming tool for structuring code for customization and reuse
- Exceptions and Tools -- exception handling model and statements, plus a look at development tools for writing larger programs

- a reduction in the effort required to frequently test code
- fewer overall defects
- added confidence in your code
- improved relations with your open source teammates
The only problem with this popular testing tool was
its lack of documentation-until now, that is. For this, O'Reilly went
right to the source, as Sebastian Bergmann, the author of PHPUnit Pocket Guide,
also happens to be PHPUnit's creator. This little book brings together
hard-to-remember information, syntax, and rules for working with
PHPUnit. It also delivers the insight and sage advice that can only
come from the technology's creator. Coverage of testing under agile
methodologies and Extreme Programming (XP) is also included.
The latest in O'Reilly's series of handy Pocket Guides, this quick-reference book puts all the answers are right at your fingertips. It's an invaluable companion for anyone interested in testing the PHP code they write for web applications.

- Does not bore with syntax!
- Helps you learn the underlying concepts involved in querying a database, and from there the syntax is easy
- Provides exceptionally clear examples and explanations
- Is academically sound while being practical and approachable
What you’ll learn
- Write simple queries to extract data from a single table.
- Understand relational algebra and calculus and why they are important.
- Combine data from many tables into one business result.
- Avoid pitfalls and traps such as Cartesian products and difficulties with null values.
- Summarize large amounts of data for reporting purposes.
- Apply set theory to the problems of manipulating data and generating reports.

- Bring the benefits of Smarty to your PHP programming
-Give your designers the power to modify content and layout without PHP programming
-Produce code that is easier to debug, maintain, and modify
-Useful for both Smarty developers and users
Smarty is a templating engine for PHP. Designers who are used to working with HTML files can work with Smarty templates, which are HTML files with simple tags while programmers work with the underlying PHP code. The Smarty engine brings the code and templates together. The result of all this is that designers can concentrate on designing, programmers can concentrate on programming, and they don't need to get in each others way so much. Even if you are developing a site on your own, Smarty is a powerful way to make your code clearer to you and others, as well as easier to debug and modify later.
This book is a comprehensive guide to all aspects of using Smarty. It will help you to:
-Install and configure Smarty on your Web server
- Understand how Smarty affects your web site architecture, and build site foundations that make the most of what Smarty offers
- Designers will learn to work with templates that contain variables
and logic, to modify layouts or content of Smarty web sites
- See how Smarty caching can improve the performance of your sites
- Develop custom Smarty functions and plug-ins to incorporate into your templates
Using a step-by-step approach based on realistic examples, the expert authors show you how to use Smarty in your own PHP development. The book is ideal for PHP developers who are new to Smarty, and for web designers who are working with PHP developers who are using Smarty.