Wednesday, May 1, 2013

Database System Concepts


Database System Concepts by Silberschatz, Korth and Sudarshan is now in its 6th edition and is one of the cornerstone texts of database education. It presents the fundamental concepts of database management in an intuitive manner geared toward allowing students to begin working with databases as quickly as possible. The text is designed for a first course in databases at the junior/senior undergraduate level or the first year graduate level. It also contains additional material that can be used as supplements or as introductory material for an advanced course. Because the authors present concepts as intuitive descriptions, a familiarity with basic data structures, computer organization, and a high-level programming language are the only prerequisites. Important theoretical results are covered, but formal proofs are omitted. In place of proofs, figures and examples are used to suggest why a result is true.

Download Link


Monday, April 8, 2013

Beginning Facebook Game Apps Development


Today's Facebook is emerging to become tomorrow's operating system, according to some.,Certainly, a WebOS. Web standards-based apps using HTML5, JavaScript, CSS3 and more are now possible on Facebook. Why not get started with developing and selling Facebook game apps on Facebook's App Store, Beginning Facebook Game Apps Development gets you started with building your first game apps that run on Facebook.,Become your own "Zynga" and create your own "Civilization" or "Farmville" and more. Build rich Web-based apps that you can sell on Facebook's App Store. Because these apps are built on Web standards, you can build and run on many browsers and,more interestingly,more computers, tablets, smartphones and even other devices and appliances that are Web-connected or enabled. What you,ll learn Build your first Facebook game apps! What HTML5 and JavaScript techniques, tools and frameworks have to offer to do this Enhance your first Facebook game app with social media, location-based services, etc. Obtain a basic framework for a Facebook game app that you can build upon and customize for your own specific app design and development needs Package, deploy and sell your first Facebook game app on Facebook's new App Store Who this book is for This book is for those new to Facebook apps development and even for those new to apps development. Readers should have some basic knowledge of HTML5, JavaScript, CSS and PHP. For the latest source code, please check out the book site on GitHub. Table of Contents Your First Steps in Facebook Development A JavaScript Boot Camp It,s All About Context: Canvas Basics The Plan: Idea to Design Essential Game Components Your First Game: "Alien Turtle Invasion" Going Social With Games Introducing the Facebook Platform Facebook Developer Tools Launching Your Games Your First Facebook Game: "Social Alien Turtle Invasion" HTML5 Game Engines Using All the Tools: Your Future Facebook Games The Marketplace: Project Spartan (Facebook App Store)

Download Link


Programming Firefox


This is your guide to building Internet applications and user interfaces with the Mozilla component framework, which is best known for the Firefox web browser and Thunderbird email client. Programming Firefox demonstrates how to use the XML User Interface Language (XUL) with open source tools in the framework's Cross-Platform Component (XPCOM) library to develop a variety of projects, such as commercial web applications and Firefox extensions. 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 Programming Firefox is ideal for the designer or developer charged with delivering innovative standards-based Internet applications, whether they're web server applications or Internet-enabled desktop applications. It's not just a how-to book, but a what-if exploration that encourages you to push the envelope of the Internet experience.

Download Link

Learning Facebook Application Development

In Detail Using Facebook Applications, developers can add custom features to one of the most popular websites in the world. Facebook is the biggest social network among college students, and is gaining ground among professionals too. Facebook applications enable you to add new ways for users to interact with each other using Facebook. Facebook applications are written in a server-side language, and hosted on the application developer's own server. They interface with Facebook, so that they appear to users to be part of Facebook itself. This book shows PHP developers how to quickly get started building powerful Facebook applications, how to work with data stored in Facebook, including photos, and how to handle multimedia and other custom data within Facebook applications. The book covers how to send notifications and invitations from within an application, update a user's profile, create application control panels for users, and much more. What you will learn from this book, Learn Facebook application development through step-by-step examples.Build data-driven Facebook applications, work with friends lists, photo galleries, multimedia, and more.Work with Facebook's security model to produce applications that are safe and functional.Communicate with users through newsfeeds, notifications, invitations, and messages.Learn the Facebook PHP API, and the various markup languages you'll need to build Facebook applications: Mock Ajax, FBML, FBJS (a variant of JavaScript especially for Facebook), and FQL. Approach This book builds on your knowledge as a PHP developer to provide a fast-paced, step-by-step tutorial in building Facebook applications. The book is packed with example code and demo applications, so that you can see techniques in action. Along the way we provide quick references to the most important aspects of the API, so you can refer back as you develop your own applications with the book. Who this book is written for, This book is for PHP5 developers who want to create custom Facebook applications. It assumes no knowledge of the Facebook API or Platform, but does assume that you are a Facebook user. 
Download Link

How to Create the Next Facebook


In just under a decade, Facebook has gone from a Harvard prodigy's dorm-room experiment to an essential part of the social life of hundreds of millions of children, teens, and adults across the globe. It's no surprise, then, that the company has been the subject of countless magazine articles, books, and even movies. But despite the extensive coverage that has been given to the company in the years since founder Mark Zuckerberg first took Facebook live on Harvard's server, one question remains unanswered: From a business standpoint, how, exactly, did Facebook do it. How did a college student with no real-world business experience take a relatively simple idea and then, less than ten years later, turn it into a $100 billion dollar company. What specific steps did Facebook take along its journey to creating perhaps the most innovative startup of the 21st century. What approach did it take when pitching venture capitalists, and how did it go about forging its many strategic partnerships. And, most importantly, how can would-be founders learn and effectively utilize Facebook's unique techniques and strategies in their own startup efforts. In How to Create the Next Facebook,.tech guru Tom Taulli answers all of these questions and more, crystallizing the process by which Facebook was shepherded from idea to IPO to provide a guided blueprint for budding entrepreneurs who are ready to start building their own great business. Regardless of what stage of development your startup is in, How to Create the Next Facebook.provides you with clear, compelling, and ultimately actionable advice extracted from Facebook's startup success story..You'll learn.how Facebook handled the very same situations your startup is confronting.from how it arrived at its mission statement.to what its priorities were during its talent search process.before.gaining access to all the concrete, practical guidance you need to make the right decisions for your company and continue moving forward with confidence. And, of course, because Facebook didn't get everything.right at first, author Tom Taulli painstakingly details the company's most costly mistakes, documenting everything from its protracted legal struggles to its many failed attempts at establishing multiple revenue streams, so that you can arm your company against the various challenges that threaten to sink even the very best startups. By the time you turn the final pages of How to Create the Next Facebook, you'll realize that Facebook is more than just a fun place to catch up with old friends; it is the ideal model to follow for those who, like you, are ready to build the world's next great startup. What you.ll learnAfter reading this book, you will be able to: Capitalize on the Facebook phenomenon and understand how top startups are built. Avoid the most common pitfalls that cripple young ventures and improve your startup's chances at long-term success. Uncover innovative ways to boost your startup's growth and learn the importance of developing multiple revenue streams. Understand the startup financing process, from angel funding to the IPO. Protect yourself, your company, and your intellectual property from the competition. Create a sustainable and profitable company with long-term growth prospects. Who this book is for How to Create the Next Facebook.is specifically designed for the more than 400 million estimated entrepreneurs worldwide who are currently in the process of developing their own company. In addition, this book will appeal to aspiring entrepreneurs of all ages who, although they have not yet begun to develop their own company, are nonetheless interested in doing so in the future. Finally, thanks to the general interest that mainstream movies, narrative books, and the site itself have generated for Facebook, those who are fascinated by the company and want to learn the ins and outs of its early business efforts will constitute a third audience.

Table of Contents

Introduction
Chapter 1: The Mission
Chapter 2: Legal Structure
Chapter 3: The Product
Chapter 4: Raising Capital
Chapter 5: The Pitch
Chapter 6: Deal Terms
Chapter 7: Go-to-Market
Chapter 8: The Financials
Chapter 9: The Business Model
Chapter 10: Being a Great CEO
Chapter 11: The Team
Chapter 12: M&A
Chapter 13: Selling Your Company
Chapter 14: The IPO
Chapter 15: Wealth Management
Chapter 16: Conclusion
Glossary

Download Link

Implementing Application Frameworks

Object Technology A gold mine of enterprise application frameworks Implementing Application Frameworks While frameworks can save your company millions in development costs over time, the initial investment can be quite high. This book/CD-ROM package helps you to reduce the cost of framework development by providing 40 case studies documenting the experiences of framework builders and users at major corporations and research labs, worldwide. Throughout, the authors extract important lessons and highlight technical and organizational implementation practices that have been proven to yield the biggest payoff. Focusing primarily on business systems and agent-based application frameworks, it covers frameworks for:
  • Data processing
  • Agent-based applications
  • Artificial intelligence applications
  • Object-oriented business processes
  • System application frameworks
  • Programming languages and tools
  • And much more.
The enclosed CD-ROM gives you:
  • Example frameworks
  • Documentation and manuals
  • Framework code and implementation tips
  • Sample framework architectures and models
  • Design patterns and presentations
  • Animated demonstrations 
Download Link

Saturday, March 23, 2013

Mac OS X Internals


Mac OS X was released in March 2001, but many components, such as Mach and BSD, are considerably older. Understanding the design, implementation, and workings of Mac OS X requires examination of several technologies that differ in their age, origins, philosophies, and roles.Mac OS X Internals: A Systems Approach is the first book that dissects the internals of the system, presenting a detailed picture that grows incrementally as you read. For example, you will learn the roles of the firmware, the bootloader, the Mach and BSD kernel components (including the process, virtual memory, IPC, and file system layers), the object-oriented I/O Kit driver framework, user libraries, and other core pieces of software. You will learn how these pieces connect and work internally, where they originated, and how they evolved. The book also covers several key areas of the Intel-based Macintosh computers.A solid understanding of system internals is immensely useful in design, development, and debugging for programmers of various skill levels. System programmers can use the book as a reference and to construct a better picture of how the core system works. Application programmers can gain a deeper understanding of how their applications interact with the system. System administrators and power users can use the book to harness the power of the rich environment offered by Mac OS X. Finally, members of the Windows, Linux, BSD, and other Unix communities will find the book valuable in comparing and contrasting Mac OS X with their respective systems.Mac OS X Internals focuses on the technical aspects of OS X and is so full of extremely useful information and programming examples that it will definitely become a mandatory tool for every Mac OS X programmer.

Download Link

The Design of the UNIX Operating System


Classic description of the internal algorithms and the structures that form the basis of the UNIX operating system and their relationship to programmer interface. The leading selling UNIX internals book on the market.

Download Link

The Design and Implementation of the 4.4 BSD Operating System


This book describes the design and implementation of the BSD operating system--previously known as the Berkeley version of UNIX. Today, BSD is found in nearly every variant of UNIX, and is widely used for Internet services and firewalls, timesharing, and multiprocessing systems. Readers involved in technical and sales support can learn the capabilities and limitations of the system; applications developers can learn effectively and efficiently how to interface to the system; systems programmers can learn how to maintain, tune, and extend the system. Highlights: Details major changes in process and memory management Describes the new extensible and stackable file system interface Includes an invaluable chapter on the new network file system Updates information on networking and interprocess communication Written from the unique perspective of the system's architects, this book delivers the most comprehensive, up-to-date, and authoritative technical information on the internal structure of the latest BSD system.

Download Link

IPv6 Core Protocols Implementation



The authoritative reference text on KAME and IPv6!IPv6 was introduced in 1994 and has been in development at the IETF for over 10 years. It has now reached the deployment stage. KAME, the de-facto open-source reference implementation of the IPv6 standards, played a significant role in the acceptance and the adoption of the IPv6 technology. The adoption of KAME by key companies in a wide spectrum of commercial products is a testimonial to the success of the KAME project, which concluded not long ago. This book is the first and the only one of its kind, which reveals all of the details of the KAME IPv6 protocol stack, explaining exactly what every line of code does and why it was designed that way. Through the dissection of both the code and its design, the authors illustrate how IPv6 and its related protocols have been interpreted and implemented from the specifications. This reference will demystify those ambiguous areas in the standards, which are open to interpretation and problematic in deployment, and presents solutions offered by KAME in dealing with these implementation challenges.About the AuthorsQing Li is a senior architect at Blue Coat Systems, Inc. leading the design and development efforts of the next-generation IPv6 enabled secure proxy appliances. Qing holds multiple US patents. Qing is a contributing author of the book titled Handbook of Networked and Embedded Control Systems published in June 2005. He is the author of the embedded systems development book titled Real-Time Concepts for Embedded Systems published in April 2003. Tatuya Jinmei Ph.D. is a research scientist at Corporate Research & Development Center, Toshiba Corporation. He had been a core developer of the KAME project since the launch of the project through its conclusion. In 2003, he received the Ph.D. degree from Keio University, Japan, based on his work at KAME. Keiichi Shima is a senior researcher at Internet Initiative Japan Inc. He was a core developer of the KAME project from 2001 to the end of the project and developed Mobile IPv6/NEMO Basic Support protocol stack. He is now working on the new mobility stack (the SHISA stack) for BSD operating systems.IPv6 Core Protocols Implementation addresses with technical depth and clarity an IPv6 implementation on University California Berkeley Source Code Distribution (BSD), from the KAME project that was based in Japan, which is both a commercial and academic success in the world wide networking implementation market. The book begins with an overview of the KAME project and source code distribution, and then provides a concise, but thorough overview of the BSD network implementation. Then the book provides the architecture and an implementation code base component for IPv6 added to the current BSD TCP/IP Internet Protocol layer code base, the implications of the changes to the Transport Layer, and then provides a review of the BSD Socket Application Interface changes for IPv6. The authors did a very good job of representing the source code implementation and it was easy to read and comprehend, with discussion for each programmatic presentation of the code base functions and data structures. This book will be valuable to both networking architects and programmers that have to absorb and understand the implementation of IPv6 within the TCP/IP network implementation and reference model. The book was a pleasure to read and reminded me of the TCP/IP technical books by the late Dr. Richard Stevens, and afforded me the same technical depth. CTO IPv6 Forum www.ipv6forum.com ~Jim Bound. 
  • Covering a snapshot version of KAME dated April 2003 based on FreeBSD 4.8
  • Extensive line-by-line code listings with meticulous explanation of their rationale and use for the KAME snapshot implementation, which is generally applicable to most recent versions of the KAME IPv6 stack including those in recent releases of BSD variants
  • Numerous diagrams and illustrations help in visualizing the implementation 
  • In-depth discussion of the standards provides intrinsic understanding of the specifications

Download Link

PANIC - UNIX System Crash Dump Analysis Handbook


For systems and network administrators and technical support engineers responsible for maintaining UNIX computer systems and networks. A first aid guide for UNIX system and network administrators, this book provides quick solutions to a variety of UNIX system problems. It discusses in detail UNIX system panics, crashes and hangs, their causes, what to do when they occur, how to collect information about them, how to analyze that information, and how to get the problem resolved.

Download Links

Storage Network Performance Analysis


Features vendor-neutral coverage applicable to any storage networkIncludes a special case-study section citing real-world applications and examplesThe first vendor-neutral volume to cover storage network performance tuning and optimizationExacting performance monitoring and analysis maximizes the efficiency and cost-effectiveness of existing storage networksMeets the needs of network administrators, storage engineers, and IT professionals faced with shrinking budgets and growing data storage demands 

Download Link

Storage Area Networks


Every month, enterprises require more information, delivered faster, with greater reliability -- and traditional data storage methods no longer suffice. Enter the Storage Area Network (SAN), which can store enormous amounts of data, serve it at lightning speed, scale to meet accelerating growth, and deliver unprecedented reliability. Now, there's a complete guide to SAN technology for every IT professional and decision-maker. Storage Area Networks covers it all: key concepts, components, applications, case studies, implementation, management, and much more. Start with the basics: what SANs are, what they can do, and how they overcome the critical limitations of previous approaches to data storage. Understand Fibre Channel, the key enabling technology for SANs. Next, compare approaches to configuring SANs; walk through typical SAN backup, restore, and disaster recovery scenarios; and discover today's best practices for building SANs atop your legacy storage topology. Finally, preview the future of SANs, including policy-based SANs, ASP and storage rental applications, self-healing devices, and the growing role of the storage management professional. The book also includes an interview with Duane Zitzner, President of Computing Systems at HP.
Download Link

IP Storage Networking


"For those considering network storage consolidation, Straight to the Core walks the reader through both the how and why of IP and Ethernet's flexibility." Larry Boucher, CEO Alacritech"A forward-looking work with excellent technical content. Orenstein knows his stuff...enough technical meat to satisfy the engineers and business overview of continuance strategies to satisfy CIOs/managers/planners."Tom Clark, SNIA board member and author of IP SANsMaximizing the business value of enterprise storage technology Soon, you'll be managing 100x more data than you are today -- with even greater demands for availability and business continuity. IP Storage Networking: Straight to the Core gives you a complete blueprint for meeting that challenge. Enterprise storage expert Gary Orenstein delivers expert guidance for evaluating, architecting, and implementing IP-based storage technologies...and for maximizing the business value of storage across a range of your requirements. Orenstein covers all this, and more: 
  • Enterprise storage networking: current options, future trends 
  • New storage strategies: from disaster recovery to operational agility 
  • A complete software infrastructure for managing enterprise storage 
  • The evolution of distributed storage intelligence 
  • Outsourcing storage and managing storage-related SLAs 
  • IP-based SANs: iSCSI, topologies, security, and other key issues 
  • Implementing policies that protect data and facilitate recovery 
  • Measuring and maximizing ROI on enterprise storage investments 
Whether you're a technical or business professional, IP Storage Networking: Straight to the Core will help you develop storage action plans that leverage innovation to maximize value on every dime you invest.

Download Link

Information Storage and Management


The new edition of a bestseller, now revised and update throughout!This new edition of the unparalleled bestseller serves as a full training course all in one and as the world's largest data storage company, EMC is the ideal author for such a critical resource. They cover the components of a storage system and the different storage system models while also offering essential new material that explores the advances in existing technologies and the emergence of the "Cloud" as well as updates and vital information on new technologies. Features a separate section on emerging area of cloud computing Covers new technologies such as: data de-duplication, unified storage, continuous data protection technology, virtual provisioning, FCoE, flash drives, storage tiering, big data, and more Details storage models such as Network Attached Storage (NAS), Storage Area Network (SAN), Object Based Storage along with virtualization at various infrastructure componentsExplores Business Continuity and Security in physical and virtualized environment Includes an enhanced Appendix for additional information This authoritative guide is essential for getting up to speed on the newest advances in information storage and management. 
Download Link

Designing Storage Area Networks


This is a fully updated revision of Designing Storage Area Networks. It collapses or removes dated material from the original edition and adds new content, particularly in the area of Fibre Channel fabrics, IP SANs and storage virtualization. Storage area networks are now recognized as the preferred solution for fulfilling a wide range of critical data storage needs for institutions and enterprises. The success of SANs in establishing real end-user value is affirmed by the adoption of the technology by all major solution providers as their flagship server and storage offerings. IBM, Hewlett-Packard, Sun, Dell and others now provide certified SAN configurations for performance, high availability and backup of storage data, while storage vendors such as EMC, Hitachi Data Systems, XIOtech and others offer SAN interfaces on their premier products. While the current market penetration of SAN-based solutions is only 20% of the total storage market, SANs are expected to capture the majority of the market within a few years.

Download Link

iSCSI


There are two core ways to implement Storage Area Networks (SANs) -- the traditional way, Fibre Channel, which is a direct link via cable, and the emerging way, IP SANs, whereby you access storage via the internet. Within IP SANs there are a number of important protocols including FCIP, iFCP, and iSCSI. iSCSI is an evolution of SCSI protocol that allows computers to talk to their hard disks, tapes, etc. The new iSCSI protocol carries SCSI commands over IP networks to facilitate data transfers over intranets and to manage storage over long distances. This book offers System and Storage engineers a quick and easy way to become familiar with the iSCSI protocols, with needed insight to its applicability.

Download Link

Storage Networking Protocol Fundamentals


A comparative analysis of Ethernet, TCP/IP, and Fibre Channel in the context of SCSI Introduces network administrators to the requirements of storage protocols Explains the operation of network protocols to storage administrators Compares and contrasts the functionality of Ethernet, TCP/IP, and Fibre Channel Documents the details of the major protocol suites, explains how they operate, and identifies common misunderstandings References the original standards and specifications so you can get a complete understanding of each protocol Helps you understand the implications of network design choices Discusses advanced network functionality such as QoS, security, management, and protocol analysis. Corporations increasingly depend on computer and communication technologies to remain competitive in the global economy. Customer relationship management, enterprise resource planning, and e-mail are a few of the many applications that generate new data every day. Effectively storing, managing, and accessing that data is a primary business challenge in the information age. Storage networking is a crucial component of the solution to meet that challenge. Written for both storage administrators who need to learn more about networking and network administrators who need to learn more about storage, Storage Networking Protocol Fundamentals is a concise introduction to storage networking protocols. The book picks up where Storage Networking Fundamentals left off by focusing on the networking protocols that underlie modern open systems: block-oriented storage networks. The first part of the book introduces you to the field of storage networking and the Open Systems Interconnection (OSI) reference model. The second part compares networked storage technologies, including iSCSI (Small Computer Systems Interface over IP) and Fibre Channel. It also examines in detail each of the major protocol suites layer-by-layer within the OSI reference model. The third part discusses advanced functionalities of these technologies, such as quality of service (QoS), load-balancing functions, security, management, and protocol analysis. You can read this book cover to cover or use it as a reference, directly accessing the particular topics of interest to you. Storage networking is a critical concept for today's businesses, and this book provides a unique and helpful way to better understand it. Storage networking is also continuously evolving, and as such this book may be seen as an introduction to the information technology infrastructures of the future.

Download Link

Storage Networking Fundamentals


An Introduction to Storage Devices, Subsystems, Applications, Management, and File Systems Learn fundamental storage concepts with this comprehensive introduction Compare storage device technologies, including Fibre Channel, SCSI, ATA, and SATA and understand their uses in network storage subsystems Learn about key storage processes such as volume management, storage virtualization, data snapshots, mirroring, RAID, backup, and multipathing Clarify the roles of file systems and databases within network storage Take the next step.this book prepares you to become a storage networking expert Storage networking has become an essential ingredient in Internet information infrastructures. Becoming competent in this new and important technology area requires a sound understanding of storage technologies and principles. Storage Networking Fundamentals gives you an in-depth look into the most important storage technologies. The entire storage landscape is described, incorporating a complete view of system, device, and subsystem operations and processes. Learn how to protect data effectively using mirroring, RAID, remote copy, and backup/ recovery systems. Virtual storage technologies, such as volume management, RAID, and network virtualization, are analyzed and discussed in detail. High-availability storage through dynamic multipathing and clustered/distributed file systems is explained as are designs for robust storage subsystems. Finally, the confusing and arcane worlds of file systems and SCSI are clarified, including the role of initiators, targets, logical units, and LUNs. . Storage Networking Fundamentals is a comprehensive overview of storage technologies that also provides insights on designing and running SAN and NAS implementations. This book is part of the Cisco Press Fundamentals Series. Books in this series introduce networking professionals to new networking technologies, covering network topologies, example deployment concepts, protocols, and management techniques.

Download Link

Design Patterns For Dummies


There's a pattern here, and here's how to use it!Find out how the 23 leading design patterns can save you time and troubleEver feel as if you've solved this programming problem before You -- or someone -- probably did, and that's why there's a design pattern to help this time around. This book shows you how (and when) to use the famous patterns developed by the "Gang of Four," plus some new ones, all designed to make your programming life easier. Discover how to:
  • Simplify the programming process with design patterns
  • Make the most of the Decorator, Factory, and Adapter patterns
  • Identify which pattern applies
  • Reduce the amount of code needed for a task
  • Create your own patterns
Download Link

Working Effectively with Legacy Code


Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change. Can you get nearly instantaneous feedback when you do change it. Do you understand it. If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform.with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structureThis book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.. Copyright Pearson Education. All rights reserved.

Download Link

Software Systems Architecture



Software Systems Architecture is a practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices. It shows why the role of the architect is central to any successful information-systems development project, and, by presenting a set of architectural viewpoints and perspectives, provides specific direction for improving your own and your organization's approach to software systems architecture.With this book you will learn how toDesign an architecture that reflects and balances the different needs of its stakeholdersCommunicate the architecture to stakeholders and demonstrate that it has met their requirementsFocus on architecturally significant aspects of design, including frequently overlooked areas such as performance, resilience, and location. Use scenarios and patterns to drive the creation and validation of your architectureDocument your architecture as a set of related viewsUse perspectives to ensure that your architecture exhibits important qualities such as performance, scalability, and security The architectural viewpoints and perspectives presented in the book also provide a valuable long-term reference source for new and experienced architects alike.Whether you are an aspiring or practicing software architect, you will find yourself referring repeatedly to the practical advice in this book throughout the lifecycle of your projects.A supporting Web site containing further information can be found at www.viewpoints-and-perspectives.info
Download Link


Head First Object-Oriented Analysis and Design


"Head First Object Oriented Analysis and Design is a refreshing look at subject of OOAD. What sets this book apart is its focus on learning. The authors have made the content of OOAD accessible and usable for the practitioner." --Ivar Jacobson, Ivar Jacobson Consulting "I just finished reading HF OOA&D and I loved it! The thing I liked most about this book was its focus on why we do OOA&D-to write great software!" --Kyle Brown, Distinguished Engineer, IBM "Hidden behind the funny pictures and crazy fonts is a serious, intelligent, extremely well-crafted presentation of OO Analysis and Design. As I read the book, I felt like I was looking over the shoulder of an expert designer who was explaining to me what issues were important at each step, and why." --Edward Sciore, Associate Professor, Computer Science Department, Boston College Tired of reading Object Oriented Analysis and Design books that only makes sense after you're an expert You've heard OOA&D can help you write great software every time-software that makes your boss happy, your customers satisfied and gives you more time to do what makes you happy. But how Head First Object-Oriented Analysis & Design shows you how to analyze, design, and write serious object-oriented software: software that's easy to reuse, maintain, and extend; software that doesn't hurt your head; software that lets you add new features without breaking the old ones. Inside you will learn how to: Use OO principles like encapsulation and delegation to build applications that are flexible Apply the Open-Closed Principle (OCP) and the Single Responsibility Principle (SRP) to promote reuse of your code Leverage the power of design patterns to solve your problems more efficiently Use UML, use cases, and diagrams to ensure that all stakeholders are communicating clearly to help you deliver the right software that meets everyone's needs. By exploiting how your brain works, Head First Object-Oriented Analysis & Design compresses the time it takes to learn and retain complex information. Expect to have fun, expect to learn, expect to be writing great software consistently by the time you're finished reading this!

Download Link


Head First Design Patterns



You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun. You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code. You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern. Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter. With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts. If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.

Download Link

Thursday, March 21, 2013

Patterns of Enterprise Application Architecture



The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them.  The topics covered include  Dividing an enterprise application into layers  The major approaches to organizing business logic  An in-depth treatment of mapping between objects and relational databases  Using Model-View-Controller to organize a Web presentation  Handling concurrency for data that spans multiple transactions  Designing distributed object interfaces 

Download Link