Sebanyak 55 item atau buku ditemukan

Object-oriented Design Heuristics

Wouldn't you like to have a seasoned OO design expert looking over your shoulder, critiquing your work, and giving advice on how to improve it? Here are 60 language-independent guidelines for evaluating the quality and integrity of object-oriented designs that will help you pinpoint where your design needs help and how to improve it. The guidelines range from such topics as classes and objects (with emphasis on their relationships) to physical object-oriented design. In particular, you will gain an understanding of the synergy between design heuristics, which can highlight a problem, and design patterns, which can provide the solution.

Here are 60 language-independent guidelines for evaluating the quality and integrity of object-oriented designs that will help you pinpoint where your design needs help and how to improve it.

Service-Oriented Design with Ruby and Rails

The Complete Guide to Building Highly Scalable, Services-Based Rails Applications Ruby on Rails deployments are growing, and Rails is increasingly being adopted in larger environments. Today, Rails developers and architects need better ways to interface with legacy systems, move into the cloud, and scale to handle higher volumes and greater complexity. In Service-Oriented Design with Ruby and Rails, Paul Dix introduces a powerful, services-based design approach geared toward overcoming all these challenges. Using Dix’s techniques, readers can leverage the full benefits of both Ruby and Rails, while overcoming the difficulties of working with larger codebases and teams. Dix demonstrates how to integrate multiple components within an enterprise application stack; create services that can easily grow and connect; and design systems that are easier to maintain and upgrade. Key concepts are explained with detailed Ruby code that was built using open source libraries such as ActiveRecord, Sinatra, Nokogiri, and Typhoeus. The book concludes with coverage of security, scaling, messaging, and interfacing with third-party services. Service-Oriented Design with Ruby and Rails will help you Build highly scalable, Ruby-based service architectures that operate smoothly in the cloud or with legacy systems Scale Rails systems to handle more requests, larger development teams, and more complex code bases Master new best practices for designing and creating services in Ruby Use Ruby to glue together services written in any language Use Ruby libraries to build and consume RESTful web services Use Ruby JSON parsers to quickly represent resources from HTTP services Write lightweight, well-designed API wrappers around internal or external services Discover powerful non-Rails frameworks that simplify Ruby service implementation Implement standards-based enterprise messaging with Advanced Message Queuing Protocol (AMQP) Optimize performance with load balancing and caching Provide for security and authentication

For those familiar with objectoriented design, the robustness advantages of
services may sound similar to the advantages of encapsulation. Indeed, with
services, the aim is to achieve encapsulation for entire sections of an application.

Fundamentals of Object-oriented Design in UML

Fundamentals of Object-Oriented Design in UML shows aspiring and experienced programmers alike how to apply design concepts, the UML, and the best practices in OO development to improve both their code and their success rates with object-based projects.

Fundamentals of Object-Oriented Design in UML shows aspiring and experienced programmers alike how to apply design concepts, the UML, and the best practices in OO development to improve both their code and their success rates with object ...

JavaFX Rich Client Programming on the NetBeans Platform

JavaFX is a state-of-the-art graphics toolkit that is now built into Java and can be easily integrated with the NetBeans Platform. With JavaFX, you can create advanced user interfaces, manipulate media, generate graphical effects and animations, and much more. The NetBeans Platform provides a framework for building robust, modular applications with long life expectancies. Together, JavaFX and the NetBeans Platform provide the basis for creating visually appealing, industrial-strength applications. Focusing on JavaFX as the front end for rich client applications, this guide’s examples cover JavaFX 8 with the NetBeans Platform, NetBeans IDE, and Java 8. Gail and Paul Anderson fully explain JavaFX and its relationship with the NetBeans Platform architecture, and systematically show Java developers how to use them together effectively. Each concept and technique is supported by clearly written code examples, proven through extensive classroom teaching. Coverage includes Background basics with Java, JavaFX, and UI events Building loosely coupled applications NetBeans Platform Modules and Lookup NetBeans Platform Nodes, Explorer Views, and Actions Building CRUD-based applications Integrating JavaFX with a Swing-based framework Using JavaFX Charts with the NetBeans Platform Using the NetBeans Platform File System and Data System Keeping the UI responsive

Gail and Paul Anderson fully explain JavaFX and its relationship with the NetBeans Platform architecture, and systematically show Java developers how to use them together effectively.

Test-driven Development

By Example

Write clean code that works with the help of this groundbreaking software method. Example-driven teaching is the basis of Beck's step-by-step instruction that will have readers using TDD to further their projects.

Clean code that works--now. This is the seeming contradiction that lies behind much of the pain of programming. Test-driven development replies to this contradiction with a paradox--test the program before you write it. A new idea?

Efficient C++

Performance Programming Techniques

Far too many programmers and software designers consider efficient C++ to be an oxymoron. They regard C++ as inherently slow and inappropriate for performance-critical applications. Consequently, C++ has had little success penetrating domains such as networking, operating system kernels, device drivers, and others. "Efficient C++" explodes that myth. Written by two authors with first-hand experience wringing the last ounce of performance from commercial C++ applications, this book demonstrates the potential of C++ to produce highly efficient programs. The book reveals practical, everyday object-oriented design principles and C++ coding techniques that can yield large performance improvements. It points out common pitfalls in both design and code that generate hidden operating costs. This book focuses on combining C++'s power and flexibility with high performance and scalability, resulting in the best of both worlds. Specific topics include temporary objects, memory management, templates, inheritance, virtual functions, inlining, reference-counting, STL, and much more. With this book, you will have a valuable compendium of the best performance techniques at your fingertips. 0201379503B04062001

"Efficient C++" explodes that myth. Written by two authors with first-hand experience wringing the last ounce of performance from commercial C++ applications, this book demonstrates the potential of C++ to produce highly efficient programs.

TCP/IP Illustrated

A major revision of the classic TCP/IP bestseller that has sold more than 162,000 units! * *W. Richard Stevens' legendary TCP/IP guide, now updated by top network protocol developer and instructor Kevin Fall. *Shows how each protocol actually operates, and explains why they work that way. *New coverage includes RPC, access control, authentication, privacy, NFS, SMB/CIFS, DHCP, NAT, firewalls, email, Web, web services, wireless, wireless security, and much more More than 162,000 networking professionals have relied on W. Richard Stevens' classic TCP/IP Illustrated, Volume 1 to gain the detailed understanding of TCP/IP they need to be effective. Now, the world's leading TCP/IP bestseller has been thoroughly updated to reflect a new generation of TCP/IPbased networking technologies. TCP/IP Illustrated, Volume 1, Second Edition doesn't just describe protocols: it enables readers to observe how these protocols operate under different conditions, using publicly available tools, and explains why key design decisions were made. The result: readers gain a deep understanding of how TCP/IP protocols function, and why they function that way. Now thoroughly updated by long-time networking expert Kevin Fall, this brand-new second edition's extensive new coverage includes: * *Remote procedure call. *Identity management (access control / authentication). *Network and transport layer security (authentication / privacy). *File access protocols, including NFS and SMB/CIFS. *Host initialization and DHCP. *NAT and firewalls. *E-mail. *Web and web services. *Wireless and wireless security. *New tools, including Ethereal, nmap and netcat

Address. Resolution. Protocol. Introduction. We have seen that the IP protocol is
designed to provide interoperability of packet switching across a large variety of
physical network types. Doing so requires, among other things, converting ...

User Stories Applied

For Agile Software Development (Adobe Reader)

Thoroughly reviewed and eagerly anticipated by the agile community, User Stories Applied offers a requirements process that saves time, eliminates rework, and leads directly to better software. The best way to build software that meets users' needs is to begin with "user stories": simple, clear, brief descriptions of functionality that will be valuable to real users. In User Stories Applied, Mike Cohn provides you with a front-to-back blueprint for writing these user stories and weaving them into your development lifecycle. You'll learn what makes a great user story, and what makes a bad one. You'll discover practical ways to gather user stories, even when you can't speak with your users. Then, once you've compiled your user stories, Cohn shows how to organize them, prioritize them, and use them for planning, management, and testing. User role modeling: understanding what users have in common, and where they differ Gathering stories: user interviewing, questionnaires, observation, and workshops Working with managers, trainers, salespeople and other "proxies" Writing user stories for acceptance testing Using stories to prioritize, set schedules, and estimate release costs Includes end-of-chapter practice questions and exercises User Stories Applied will be invaluable to every software developer, tester, analyst, and manager working with any agile method: XP, Scrum... or even your own home-grown approach.

In User Stories Applied, Mike Cohn provides you with a front-to-back blueprint for writing these user stories and weaving them into your development lifecycle. You'll learn what makes a great user story, and what makes a bad one.

The Java Native Interface

Programmer's Guide and Specification

The Java Native Interface (JNI) enables the integration of code written in the Java programming language with code written in other languages such as C and C++. It allows programmers to take full advantage of the Java platform without having to abandon their investment in legacy code. This book is the definitive resource and a comprehensive guide to working with the JNI. Entirely up-to-date, the book offers a tutorial, a detailed description of JNI features and programming techniques, JNI design justifications, and the official specification for all JNI types and functions. You will find coverage of important topics such as: Writing native methods Passing data types between the Java language and native programming languages Embedding a Java virtual machine implementation in native applications Leveraging legacy native libraries Improving the efficiency and reliability of your code An entire chapter is devoted to avoiding common traps and pitfalls. The book uses numerous examples to illustrate programming techniques that have proven to be effective. 0201325772B04062001

It allows programmers to take full advantage of the Java platform without having to abandon their investment in legacy code. This book is the definitive resource and a comprehensive guide to working with the JNI.