NFJS Bookstore

Items:   1 to 50 of 180   Next »

Getting Started with OpenShift

by Steve Pousty and Katie Miller

  • Intrigued by the possibilities of developing web applications in the cloud? With this concise book, you get a quick hands-on introduction to OpenShift, the open source Platform as a Service (PaaS) offering from Red Hat. You’ll learn the steps necessary to build, deploy, and host a complete real-world application on OpenShift, without having to read long, detailed explanations of the technologies involved.

    Though the book uses Python, application examples in other languages are available on GitHub. If you can build web applications, use a command line, and program in Java, Python, Ruby, Node.js, PHP, or Perl, you’re ready to get started.

    • Dive in and create your first example application with OpenShift
    • Modify the example with your own code and hot-deploy the changes
    • Add components such as a database, task scheduling, and monitoring
    • Use external libraries and dependencies in your application
    • Delve into networking, persistent storage, and backup options
    • Explore ways to adapt your team processes to use OpenShift
    • Learn OpenShift terms, technologies, and commands
    • Get a list of resources to learn more about OpenShift and PaaS
  • Number of Videos: 4 hours - 23 lessons
    Author: Ken Kousen
    User Level: Beginner
    Learn the advantages of using Groovy by itself and with existing Java projects. This video workshop takes you into the heart of this JVM language and shows you how Groovy can help increase your productivity through dynamic language features similar to those of Python, Ruby, and Smalltalk. Presenter and Java consultant Ken Kousen demonstrates how writing anything from a simple build script to a full scale application is much easier with Groovy than with Java. You’ll quickly learn how to add Groovy to your projects, and then explore the language through a host of examples and demonstrations. Once you complete this course, check out Ken’s other videos on the subject: Practical Groovy and Mastering Groovy. - Walk through Groovy’s basic data types. Use the “slashy” string syntax to define regular expressions. - Learn how operator overloading in the libraries simplifies your code - Control and customize all the natural defaults and autogenerated code in POGOs - Get demonstrations on using closures, and mixing Java and Groovy classes together - Know when and how to use Abstract Syntax Tree (AST) transformations - Parse and generate both XML and JSON - Access RESTful web services with ease Ken Kousen, President of Kousen IT, Inc., is a technical trainer, mentor, and consultant in all areas related to Java, specializing in Android, Spring, Hibernate/JPA, Groovy, and Grails. He is the author of Making Java Groovy (Manning) and the upcoming O’Reilly book, Gradle for Android.

    System Requirements:
    • Supported OS:   [Mac Mountain Lion 10.8, Mac Lion 10.7, Mac Snow Leopard 10.6, Mac Leopard 10.5, Mac OS X, Macintosh]
    • Processor:   Any
    • RAM:   Any
    • Hard Disk:   3GB
    • Video Card:   Any
  • Debunk the myth that JavaScript is not easily testable. Whether you use Node.js, Express, MongoDB, jQuery, AngularJS, or directly manipulate the DOM, you can test-drive JavaScript. Learn the craft of writing meaningful, deterministic automated tests with Karma, Mocha, and Chai. Test asynchronous JavaScript, decouple and properly mock out dependencies, measure code coverage, and create lightweight modular designs of both server-side and client-side code. Your investment in writing tests will pay high dividends as you create code that's predictable and cost-effective to change.

    Design and code JavaScript applications with automated tests. Writing meaningful tests is a skill that takes learning, some unlearning, and a lot of practice, and with this book, you'll hone that skill. Fire up the editor and get hands-on through practical exercises for effective automated testing and designing maintainable, modular code.

    Start by learning when and why to do manual testing vs. automated verification. Focus tests on the important things, like the pre-conditions, the invariants, complex logic, and gnarly edge cases. Then begin to design asynchronous functions using automated tests. Carefully decouple and mock out intricate dependencies such as the DOM, geolocation API, file and database access, and Ajax calls to remote servers.

    Step by step, test code that uses Node.js, Express, MongoDB, jQuery, and AngularJS. Know when and how to use tools such as Chai, Istanbul, Karma, Mocha, Protractor, and Sinon. Create tests with minimum effort and run them fast without having to spin up web servers or manually edit HTML pages to run in browsers. Then explore end-to-end testing to ensure all parts are wired and working well together.

    Don't just imagine creating testable code, write it.

    What You Need:

    A computer with a text editor and your favorite browser. The book provides instructions to install the necessary automated testing-related tools.

  • Groovy in Action: Covers Groovy 2.4- Wiley India-Dierk Konig and Paul King-2015-EDN-2
  • Web services have been used for many years. In this time, developers and architects have encountered a number of recurring design challenges related to their usage, and have learned that certain service design approaches work better than others to solve certain problems.

     

    In Service Design Patterns, Rob Daigneau codifies proven design solutions for web services that follow the REST architectural style or leverage the SOAP/WSDL specifications. This catalogue identifies the fundamental topics in web service design and lists the common design patterns for each topic. All patterns identify the context in which they may be used, explain the constituent design elements, and explore the relative strengths and trade-offs. Code examples are provided to help you better understand how the patterns work but are kept general so that you can see how the solutions may be applied to disparate technologies that will inevitably change in the years to come.

     

    This book will help readers answer the following questions:

    • How do you create a web service API, what are the common API styles, and when should a particular style be used?
    • How can clients and web services communicate, and what are the foundations for creating complex conversations in which multiple parties exchange data over extended periods of time?
    • What are the options for implementing web service logic, and when should a particular approach be used?
    • How can clients become less coupled to the underlying systems used by a service?
    • How can information about a web service be discovered?
    • How can generic functions like authentication, validation, caching, and logging be supported on the client or service?
    • What changes to a service cause clients to break?
    • What are the common ways to version a service? How can web services be designed to support the continuing evolution of business logic without forcing clients to constantly upgrade? 

    This book is an invaluable resource for enterprise architects, solution architects, and developers who use web services to create enterprise IT applications, commercial or open source products, and Software as a Service (SaaS) products that leverage emerging Cloud platforms.

Design Patterns in Ruby

by Russ Olsen

  • Praise for Design Patterns in Ruby

    " Design Patterns in Ruby documents smart ways to resolve many problems that Ruby developers commonly encounter. Russ Olsen has done a great job of selecting classic patterns and augmenting these with newer patterns that have special relevance for Ruby. He clearly explains each idea, making a wealth of experience available to Ruby developers for their own daily work."

    —Steve Metsker, Managing Consultant with Dominion Digital, Inc.

    "This book provides a great demonstration of the key 'Gang of Four' design patterns without resorting to overly technical explanations. Written in a precise, yet almost informal style, this book covers enough ground that even those without prior exposure to design patterns will soon feel confident applying them using Ruby. Olsen has done a great job to make a book about a classically 'dry' subject into such an engaging and even occasionally humorous read."

    —Peter Cooper

    "This book renewed my interest in understanding patterns after a decade of good intentions. Russ picked the most useful patterns for Ruby and introduced them in a straightforward and logical manner, going beyond the GoF's patterns. This book has improved my use of Ruby, and encouraged me to blow off the dust covering the GoF book."

    —Mike Stok

    " Design Patterns in Ruby is a great way for programmers from statically typed objectoriented languages to learn how design patterns appear in a more dynamic, flexible language like Ruby."

    —Rob Sanheim, Ruby Ninja, Relevance

    Most design pattern books are based on C++ and Java. But Ruby is different—and the language's unique qualities make design patterns easier to implement and use. In this book, Russ Olsen demonstrates how to combine Ruby's power and elegance with patterns, and write more sophisticated, effective software with far fewer lines of code.

    After reviewing the history, concepts, and goals of design patterns, Olsen offers a quick tour of the Ruby language—enough to allow any experienced software developer to immediately utilize patterns with Ruby. The book especially calls attention to Ruby features that simplify the use of patterns, including dynamic typing, code closures, and "mixins" for easier code reuse.

    Fourteen of the classic "Gang of Four" patterns are considered from the Ruby point of view, explaining what problems each pattern solves, discussing whether traditional implementations make sense in the Ruby environment, and introducing Ruby-specific improvements. You'll discover opportunities to implement patterns in just one or two lines of code, instead of the endlessly repeated boilerplate that conventional languages often require.

    Design Patterns in Ruby also identifies innovative new patterns that have emerged from the Ruby community. These include ways to create custom objects with metaprogramming, as well as the ambitious Rails-based "Convention Over Configuration" pattern, designed to help integrate entire applications and frameworks.

    Engaging, practical, and accessible, Design Patterns in Ruby will help you build better software while making your Ruby programming experience more rewarding.

Gradle in Action

by Benjamin Muschko

  • Summary

    Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to build a full-fledged, real-world project. Along the way, it touches on advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software.

    About the Technology

    Gradle is a general-purpose build automation tool. It extends the usage patterns established by its forerunners, Ant and Maven, and allows builds that are expressive, maintainable, and easy to understand. Using a flexible Groovy-based DSL, Gradle provides declarative and extendable language elements that let you model your project's needs the way you want.

    About the Book

    Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to establish an effective build process for a full-fledged, real-world project. Along the way, it covers advanced topics like testing, continuous integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software.

    The book assumes a basic background in Java, but no knowledge of Groovy.

    Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

    Whats Inside

    • A comprehensive guide to Gradle
    • Practical, real-world examples
    • Transitioning from Ant and Maven
    • In-depth plugin development
    • Continuous delivery with Gradle

    About the Author

    Benjamin Muschko is a member of the Gradleware engineering team and the author of several popular Gradle plugins.

    Table of Contents

      PART 1 INTRODUCING GRADLE
    1. Introduction to project automation
    2. Next-generation builds with Gradle
    3. Building a Gradle project by example
    4. PART 2 MASTERING THE FUNDAMENTALS
    5. Build script essentials
    6. Dependency management
    7. Multiproject builds
    8. Testing with Gradle
    9. Extending Gradle
    10. Integration and migration
    11. PART 3 FROM BUILD TO DEPLOYMENT
    12. IDE support and tooling
    13. Building polyglot projects
    14. Code quality management and monitoring
    15. Continuous integration
    16. Artifact assembly and publishing
    17. Infrastructure provisioning and deployment

Java Concurrency in Practice

by Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea

  • "I was fortunate indeed to have worked with a fantastic team on the design and implementation of the concurrency features added to the Java platform in Java 5.0 and Java 6. Now this same team provides the best explanation yet of these new features, and of concurrency in general. Concurrency is no longer a subject for advanced users only. Every Java developer should read this book."
    --Martin Buchholz
    JDK Concurrency Czar, Sun Microsystems

    "For the past 30 years, computer performance has been driven by Moore's Law; from now on, it will be driven by Amdahl's Law. Writing code that effectively exploits multiple processors can be very challenging. Java Concurrency in Practice provides you with the concepts and techniques needed to write safe and scalable Java programs for today's--and tomorrow's--systems."
    --Doron Rajwan
    Research Scientist, Intel Corp

    "This is the book you need if you're writing--or designing, or debugging, or maintaining, or contemplating--multithreaded Java programs. If you've ever had to synchronize a method and you weren't sure why, you owe it to yourself and your users to read this book, cover to cover."
    --Ted Neward
    Author of Effective Enterprise Java

    "Brian addresses the fundamental issues and complexities of concurrency with uncommon clarity. This book is a must-read for anyone who uses threads and cares about performance."
    --Kirk Pepperdine
    CTO, JavaPerformanceTuning.com

    "This book covers a very deep and subtle topic in a very clear and concise way, making it the perfect Java Concurrency reference manual. Each page is filled with the problems (and solutions!) that programmers struggle with every day. Effectively exploiting concurrency is becoming more and more important now that Moore's Law is delivering more cores but not faster cores, and this book will show you how to do it."
    --Dr. Cliff Click
    Senior Software Engineer, Azul Systems

    "I have a strong interest in concurrency, and have probably written more thread deadlocks and made more synchronization mistakes than most programmers. Brian's book is the most readable on the topic of threading and concurrency in Java, and deals with this difficult subject with a wonderful hands-on approach. This is a book I am recommending to all my readers of The Java Specialists' Newsletter, because it is interesting, useful, and relevant to the problems facing Java developers today."
    --Dr. Heinz Kabutz
    The Java Specialists' Newsletter

    "I've focused a career on simplifying simple problems, but this book ambitiously and effectively works to simplify a complex but critical subject: concurrency. Java Concurrency in Practice is revolutionary in its approach, smooth and easy in style, and timely in its delivery--it's destined to be a very important book."
    --Bruce Tate
    Author of Beyond Java

    " Java Concurrency in Practice is an invaluable compilation of threading know-how for Java developers. I found reading this book intellectually exciting, in part because it is an excellent introduction to Java's concurrency API, but mostly because it captures in a thorough and accessible way expert knowledge on threading not easily found elsewhere."
    --Bill Venners
    Author of Inside the Java Virtual Machine

    Threads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.

    However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.

    This book covers:

    • Basic concepts of concurrency and thread safety
    • Techniques for building and composing thread-safe classes
    • Using the concurrency building blocks in java.util.concurrent
    • Performance optimization dos and don'ts
    • Testing concurrent programs
    • Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model


Agile Retrospectives: Making Good Teams Great

by Esther Derby and Diana Larsen

  • See how to mine the experience of your software development team continually throughout the life of the project. The tools and recipes in this book will help you uncover and solve hidden (and not-so-hidden) problems with your technology, your methodology, and those difficult "people" issues on your team.

    Project retrospectives help teams examine what went right and what went wrong on a project. But traditionally, retrospectives (also known as "post-mortems") are only helpful at the end of the project--too late to help. You need agile retrospectives that are iterative and incremental. You need to accurately find and fix problems to help the team today.

    Now, Derby and Larsen show you the tools, tricks, and tips you need to fix the problems you face on a software development project on an on-going basis. You'll see how to architect retrospectives in general, how to design them specifically for your team and organization, how to run them effectively, how to make the needed changes, and how to scale these techniques up. You'll learn how to deal with problems, and implement solutions effectively throughout the project--not just at the end.

    With regular tune-ups, your team will hum like a precise, world-class orchestra.

Learning UML 2.0

by Russ Miles and Kim Hamilton

  • "Since its original introduction in 1997, the Unified Modeling Language has revolutionized software development. Every integrated software development environment in the world--open-source, standards-based, and proprietary--now supports UML and, more importantly, the model-driven approach to software development. This makes learning the newest UML standard, UML 2.0, critical for all software developers--and there isn't a better choice than this clear, step-by-step guide to learning the language."
    --Richard Mark Soley, Chairman and CEO, OMG

    If you're like most software developers, you're building systems that are increasingly complex. Whether you're creating a desktop application or an enterprise system, complexity is the big hairy monster you must manage.



    The Unified Modeling Language (UML) helps you manage this complexity. Whether you're looking to use UML as a blueprint language, a sketch tool, or as a programming language, this book will give you the need-to-know information on how to apply UML to your project. While there are plenty of books available that describe UML, Learning UML 2.0 will show you how to use it. Topics covered include:



    • Capturing your system's requirements in your model to help you ensure that your designs meet your users' needs


    • Modeling the parts of your system and their relationships


    • Modeling how the parts of your system work together to meet your system's requirements


    • Modeling how your system moves into the real world, capturing how your system will be deployed


    Engaging and accessible, this book shows you how to use UML to craft and communicate your project's design. Russ Miles and Kim Hamilton have written a pragmatic introduction to UML based on hard-earned practice, not theory. Regardless of the software process or methodology you use, this book is the one source you need to get up and running with UML 2.0.



    Russ Miles is a software engineer for General Dynamics UK, where he works with Java and Distributed Systems, although his passion at the moment is Aspect Orientation and, in particular, AspectJ. Kim Hamilton is a senior software engineer at Northrop Grumman, where she's designed and implemented a variety of systems including web applications and distributed systems, with frequent detours into algorithms development.

  • With over 3 million users/developers, Spring Framework is the leading “out of the box” Java framework. Spring addresses and offers simple solutions for most aspects of your Java/Java EE application development, and guides you to use industry best practices to design and implement your applications.

    The release of Spring Framework 3 has ushered in many improvements and new features. Spring Recipes: A Problem-Solution Approach, Second Edition continues upon the bestselling success of the previous edition but focuses on the latest Spring 3 features for building enterprise Java applications. This book provides elementary to advanced code recipes to account for the following, found in the new Spring 3:

    • Spring fundamentals: Spring IoC container, Spring AOP/ AspectJ, and more
    • Spring enterprise: Spring Java EE integration, Spring Integration, Spring Batch, jBPM with Spring, Spring Remoting, messaging, transactions, scaling using Terracotta and GridGrain, and more.
    • Spring web: Spring MVC, Spring Web Flow 2, Spring Roo, other dynamic scripting, integration with popular Grails Framework (and Groovy), REST/web services, and more.

    This book guides you step by step through topics using complete and real-world code examples. Instead of abstract descriptions on complex concepts, you will find live examples in this book. When you start a new project, you can consider copying the code and configuration files from this book, and then modifying them for your needs. This can save you a great deal of work over creating a project from scratch!

    What you’ll learn

    • How to use the IoC container and the Spring application context to best effect.
    • Spring’s AOP support, both classic and new Spring AOP, integrating Spring with AspectJ, and load-time weaving.
    • Simplifying data access with Spring (JDBC, Hibernate, and JPA) and managing transactions both programmatically and declaratively.
    • Spring’s support for remoting technologies (RMI, Hessian, Burlap, and HTTP Invoker), EJB, JMS, JMX, email, batch, scheduling, and scripting languages.
    • Integrating legacy systems with Spring, building highly concurrent, grid-ready applications using Gridgain and Terracotta Web Apps, and even creating cloud systems.
    • Building modular services using OSGi with Spring DM and Spring Dynamic Modules and SpringSource dm Server.
    • Delivering web applications with Spring Web Flow, Spring MVC, Spring Portals, Struts, JSF, DWR, the Grails framework, and more.
    • Developing web services using Spring WS and REST; contract-last with XFire, and contract–first through Spring Web Services.
    • Spring’s unit and integration testing support (on JUnit 3.8, JUnit 4, and TestNG).
    • How to secure applications using Spring Security.

    Who this book is for

    This book is for Java developers who would like to rapidly gain hands-on experience with Java/Java EE development using the Spring framework. If you are already a developer using Spring in your projects, you can also use this book as a reference—you’ll find the code examples very useful.

    Table of Contents

    1. Introduction to Spring
    2. Advanced Spring IoC Container
    3. Spring AOP and AspectJ Support
    4. Scripting in Spring
    5. Spring Security
    6. Integrating Spring with Other Web Frameworks
    7. Spring Web Flow
    8. Spring @MVC
    9. Spring RESTSpring and Flex
    10. Grails
    11. Spring Roo
    12. Spring Testing
    13. Spring Portlet MVC Framework
    14. Data Access
    15. Transaction Management in Spring
    16. EJB, Spring Remoting, and Web Services
    17. Spring in the Enterprise
    18. Messaging
    19. Spring Integration
    20. Spring Batch
    21. Spring on the Grid
    22. jBPM and Spring
    23. OSGi and Spring

Lucene in Action, Second Edition: Covers Apache Lucene 3.0

by Michael McCandless, Erik Hatcher, and Otis Gospodnetic

  • When Lucene first hit the scene five years ago, it was nothing short ofamazing. By using this open-source, highly scalable, super-fast search engine,developers could integrate search into applications quickly and efficiently.A lot has changed since then-search has grown from a "nice-to-have" featureinto an indispensable part of most enterprise applications. Lucene now powerssearch in diverse companies including Akamai, Netflix, LinkedIn,Technorati, HotJobs, Epiphany, FedEx, Mayo Clinic, MIT, New ScientistMagazine, and many others.

    Some things remain the same, though. Lucene still delivers high-performancesearch features in a disarmingly easy-to-use API. Due to its vibrant and diverseopen-source community of developers and users, Lucene is relentlessly improving,with evolutions to APIs, significant new features such as payloads, and ahuge increase (as much as 8x) in indexing speed with Lucene 2.3.

    And with clear writing, reusable examples, and unmatched advice on bestpractices, Lucene in Action, Second Edition is still the definitive guide todeveloping with Lucene.

    Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

EJB 3 in Action

by Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan

  • Summary

    Building on the bestselling first edition, EJB 3 in Action, Second Edition tackles EJB 3.2 head-on, through numerous code samples, real-life scenarios, and illustrations. This book is a fast-paced tutorial for Java EE 6 business component development using EJB 3.2, JPA 2, and CDI. Besides covering the basics of EJB 3.2, this book includes in-depth EJB 3.2 internal implementation details, best practices, design patterns, and performance tuning tips.

    Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

    About the Book

    The EJB 3 framework provides a standard way to capture business logic in manageable server-side modules, making it easier to write, maintain, and extend Java EE applications. EJB 3.2 provides more enhancements and intelligent defaults and integrates more fully with other Java technologies, such as CDI, to make development even easier.

    EJB 3 in Action, Second Edition is a fast-paced tutorial for Java EE business component developers using EJB 3.2, JPA, and CDI. It tackles EJB head-on through numerous code samples, real-life scenarios, and illustrations. Beyond the basics, this book includes internal implementation details, best practices, design patterns, performance tuning tips, and various means of access including Web Services, REST Services, and WebSockets.

    Readers need to know Java. No prior experience with EJB or Java EE is assumed.

    What's Inside

    • Fully revised for EJB 3.2
    • POJO persistence with JPA 2.1
    • Dependency injection and bean management with CDI 1.1
    • Interactive application with WebSocket 1.0

    About the Authors

    Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan are seasoned Java architects, developers, authors, and community leaders. Debu and Reza coauthored the first edition of EJB 3 in Action.

    Table of Contents

      PART 1 OVERVIEW OF THE EJB LANDSCAPE
    1. What's what in EJB 3
    2. A first taste of EJB
    3. PART 2 WORKING WITH EJB COMPONENTS
    4. Building business logic with session beans
    5. Messaging and developing MDBs
    6. EJB runtime context, dependency injection, and crosscutting logic
    7. Transactions and security
    8. Scheduling and timers
    9. Exposing EJBs as web services
    10. PART 3 USING EJB WITH JPA AND CDI
    11. JPA entities
    12. Managing entities
    13. JPQL
    14. Using CDI with EJB 3
    15. PART 4 PUTTING EJB INTO ACTION
    16. Packaging EJB 3 applications
    17. Using WebSockets with EJB 3
    18. Testing and EJB
  • The introduction of functional programming concepts in Java SE 8 was a drastic change for this venerable object-oriented language. Lambda expressions, method references, and streams fundamentally changed the idioms of the language, and many developers have been trying to catch up ever since. This cookbook will help. With more than 70 detailed recipes, author Ken Kousen shows you how to use the newest features of Java to solve a wide range of problems.

    For developers comfortable with previous Java versions, this guide covers nearly all of Java SE 8, and includes a chapter focused on changes coming in Java 9. Need to understand how functional idioms will change the way you write code? This cookbook—chock full of use cases—is for you.

    Recipes cover:

    • The basics of lambda expressions and method references
    • Interfaces in the java.util.function package
    • Stream operations for transforming and filtering data
    • Comparators and Collectors for sorting and converting streaming data
    • Combining lambdas, method references, and streams
    • Creating instances and extract values from Java’s Optional type
    • New I/O capabilities that support functional streams
    • The Date-Time API that replaces the legacy Date and Calendar classes
    • Mechanisms for experimenting with concurrency and parallelism
  • Discover how JRuby on Rails can be used to create web applications faster and more efficiently while still taking advantage of the vast power of the Java platform.

    Ruby on Rails is proving itself to be one of the most efficient and powerful agile web development application frameworks available and has had a profound influence on the Java community. The JRuby project offers Java developers the best of two worlds: the flexibility of Ruby on Rails coupled with the enterprise-level power and maturity of the Java platform.

    JRuby core developer Ola Bini covers everything you need to know to take full advantage of what JRuby has to offer, including:

    • Full coverage on how to use JRuby to create web applications faster and more efficiently, while continuing to take advantage of the vast power of the Java platform
    • Several real-world projects that illustrate the crucial specifics you need to know about the interaction of Java and Ruby
    • Helpful, practical instruction and discussion on how web applications can be deployed using a variety of popular servers such as Apache and Mongrel

    What you’ll learn

    • Create a Rails application that uses JDBC to talk to legacy databases
    • Use Java Management Extensions (JMX) to more effectively manage your application
    • Deploy a Rails application within a Java Enterprise web container (Tomcat)
    • Create interoperable applications involving EJBs and Rails-driven web services
    • Securely integrate XML processing into your Ruby applications
    • Build cutting-edge Web 2.0 web sites using Rails, Prototype, and script.aculo.us to provide a pleasing user experience
    • Build four important projects: Store, CMS, Admin tool, and a web library project

    Who this book is for

    You'll get the most from this book if you have medium-to-advanced skills in Java web development, with a little Ruby experience, and are interested in taking Web development to the next level, both in terms of speed and features and in interoperability with existing infrastructure.

    Table of Contents

    1. Introduction
    2. Getting Started
    3. Introduction to Rails
    4. Store Administration
    5. A Database-Driven Shop
    6. Java Integration
    7. A Rails CMS
    8. Content Rendering
    9. A JRuby Enterprise Bean
    10. An EJB-Backed Rails Application
    11. Deployment
    12. Web Services with JRuby
    13. JRuby and Message-Oriented Systems
    14. The LibLib Rails Application
    15. Coda: Next Steps

REST in Practice: Hypermedia and Systems Architecture

by Jim Webber, Savas Parastatidis, and Ian Robinson

  • Why don't typical enterprise projects go as smoothly as projects you develop for the Web? Does the REST architectural style really present a viable alternative for building distributed systems and enterprise-class applications?

    In this insightful book, three SOA experts provide a down-to-earth explanation of REST and demonstrate how you can develop simple and elegant distributed hypermedia systems by applying the Web's guiding principles to common enterprise computing problems. You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.

    • Learn basic Web techniques for application integration
    • Use HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applications
    • Discover the Create, Read, Update, Delete (CRUD) pattern for manipulating resources
    • Build RESTful services that use hypermedia to model state transitions and describe business protocols
    • Learn how to make Web-based solutions secure and interoperable
    • Extend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPub
    • Understand how the Semantic Web will impact systems design

Programming Clojure

by Stuart Halloway and Aaron Bedra

  • If you want to keep up with the significant changes in this important language, you need the second edition of Programming Clojure. Stu and Aaron describe the modifications to the numerics system in Clojure 1.3, explain new Clojure concepts such as Protocols and Datatypes, and teach you how to think in Clojure.

    Programming Clojure, 2nd Edition is a significant update to the classic book on the Clojure language. You'll get thorough coverage of all the new features of Clojure 1.3, and enjoy reorganized and rewritten chapters that reflect the significance of new Clojure concepts. Many code examples have been rewritten or replaced, and every page has been reevaluated in the light of Clojure 1.3.

    As Aaron and Stu show you how to build an application from scratch, you'll get a rich view into a complete Clojure workflow. And you'll get an invaluable education in thinking in Clojure as you work out solutions to the various parts of a problem.

    Clojure is becoming the language of choice for many who are moving to functional programming or dealing with the challenges of concurrency. Clojure offers:

    The simplicity of an elegantly designed language

    The power of Lisp

    The virtues of concurrency and functional style

    The reach of the JVM

    The speed of hand-written Java code

    It's the combination of these features that makes Clojure sparkle. Programming Clojure, 2nd Edition shows you how to think in Clojure, and to take advantage of these combined strengths to build powerful programs quickly.

    What You Need:

    Oracle JDK 6

    A text editor

  • This is the eBook version of the printed book.

    For any software developer who has spent days in “integration hell,” cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques.

     

    The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility.

     

    The book covers

    • How to make integration a “non-event” on your software development projects
    • How to reduce the amount of repetitive processes you perform when building your software
    • Practices and techniques for using CI effectively with your teams
    • Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software
    • Assessments of different CI servers and related tools on the market

Jenkins: The Definitive Guide

by John Ferguson Smart

  • Streamline software development with Jenkins, the popular Java-based open source tool that has revolutionized the way teams think about Continuous Integration (CI). This complete guide shows you how to automate your build, integration, release, and deployment processes with Jenkins—and demonstrates how CI can save you time, money, and many headaches.

    Ideal for developers, software architects, and project managers, Jenkins: The Definitive Guide is both a CI tutorial and a comprehensive Jenkins reference. Through its wealth of best practices and real-world tips, you'll discover how easy it is to set up a CI service with Jenkins.

    • Learn how to install, configure, and secure your Jenkins server
    • Organize and monitor general-purpose build jobs
    • Integrate automated tests to verify builds, and set up code quality reporting
    • Establish effective team notification strategies and techniques
    • Configure build pipelines, parameterized jobs, matrix builds, and other advanced jobs
    • Manage a farm of Jenkins servers to run distributed builds
    • Implement automated deployment and continuous delivery
  • Drive Even More Value from Virtualization: Write VMware® Applications that Automate Virtual Infrastructure Management

     

    Companies running VMware have already achieved enormous gains through virtualization. The next wave of benefits will come when they reduce the time and effort required to run and manage VMware platforms. The VMware Infrastructure Software Development Kit (VI SDK) includes application programming interfaces (APIs) that allow developers and administrators to do just that. Until now, there has been little documentation for the APIs. In VMware VI and vSphere SDK, software architect Steve Jin demystifies the entire VMware VI and new vSphere SDK and offers detailed, task-based coverage of using the APIs to manage VMware more efficiently and cost-effectively.

     

    Jin walks you through using the VI SDK and cloud-computing vSphere SDK to manage ESX servers, ESX clusters, and VirtualCenter servers in any environment–no matter how complex. Drawing on his extensive expertise working with VMware strategic partners and enterprise customers, he places the VI SDK in practical context, presenting realistic samples and proven best practices for building robust, effective solutions. Jin demonstrates how to manage every facet of a VMware environment, including inventory, host systems, virtual machines (VMs), snapshots, VMotion, clusters, resource pools, networking, storage, data stores, events, alarms, users, security, licenses, and scheduled tasks. Coverage includes 

    • Understanding how the VI SDK fits into your VMware VI and Cloud Ready vSphere Environment
    • Discovering the VI and vSphere SDK from the bottom up
    • Using the author’s new VI Java API to write shorter, faster, and more maintainable code
    • Managing VI and vSphere inventory and configurations
    • Moving running VMs and storages across different physical platforms without disruption
    • Optimizing system resources, hardening system securities, backing up VMs and other resources
    • Leveraging events, alarms, and scheduled tasks to automate the system management
    • Developing powerful applications that integrate multiple API features and run on top of or alongside VMware platforms
    • Using the VI SDK to monitor performance
    • Scripting with the VI SDK: building solutions with VI Perl, PowerShell, and Jython
    • Avoiding the pitfalls that trip up VMware VI developers
    • Integrating with and extending VMware platforms using VI SDK 

    This book is an indispensable resource for all VMware developers and administrators who want to get more done in less time; for hardware vendors who want to integrate their products with VMware; for ISV developers building new VMware applications; and for every professional and student seeking a deeper mastery of virtualization.

     

  • This book is a reality-based guide for modern projects. You'll learn how to recognize your project's potholes and ruts, and determine the best way to fix problems - without causing more problems.

    Your project can't fail. That's a lot of pressure on you, and yet you don't want to buy into any one specific process, methodology, or lifecycle.

    Your project is different. It doesn't fit into those neat descriptions.

    Manage It! will show you how to beg, borrow, and steal from the best methodologies to fit your particular project. It will help you find what works best for you and not for some mythological project that doesn't even exist.

    Before you know it, your project will be on track and headed to a successful conclusion.

Head First Software Development

by Dan Pilone and Russ Miles

  • Even the best developers have seen well-intentioned software projects fail -- often because the customer kept changing requirements, and end users didn't know how to use the software you developed. Instead of surrendering to these common problems, let Head First Software Development guide you through the best practices of software development. Before you know it, those failed projects will be a thing of the past.

    With its unique visually rich format, this book pulls together the hard lessons learned by expert software developers over the years. You'll gain essential information about each step of the software development lifecycle -- requirements, design, coding, testing, implementing, and maintenance -- and understand why and how different development processes work.

    This book is for you if you are:

    • Tired of your customers assuming you're psychic. You'll learn not only how to get good requirements, but how to make sure you're always building the software that customers want (even when they're not sure themselves)
    • Wondering when the other 15 programmers you need to get your project done on time are going to show up. You'll learn how some very simple scheduling and prioritizing will revolutionize your success rate in developing software.
    • Confused about being rational, agile, or a tester. You'll learn not only about the various development methodologies out there, but how to choose a solution that's right for your project.
    • Confused because the way you ran your last project worked so well, but failed miserably this time around. You'll learn how to tackle each project individually, combine lessons you've learned on previous projects with cutting-edge development techniques, and end up with great software on every project.
    Head First Software Development is here to help you learn in a way that your brain likes... and you'll have a blast along the way. Why pick up hundreds of boring books on the philosophy of this approach or the formal techniques required for that one? Stick with Head First Software Development, and your projects will succeed like never before. Go on, get started... you'll learn and have fun. We promise.

Professional Java Development with the Spring Framework

by Rod Johnson, Juergen Hoeller, Alef Arendsen, Thomas Risberg, and Colin Sampaleanu

  • The Spring Framework is a major open source application development framework that makes Java/J2EE(TM) development easier and more productive. This book shows you not only what Spring can do but why, explaining its functionality and motivation to help you use all parts of the framework to develop successful applications.

    You will be guided through all the Spring features and see how they form a coherent whole. In turn, this will help you understand the rationale for Spring's approach, when to use Spring, and how to follow best practices. All this is illustrated with a complete sample application. When you finish the book, you will be well equipped to use Spring effectively in everything from simple Web applications to complex enterprise applications.

    What you will learn from this book
    * The core Inversion of Control container and the concept of Dependency Injection
    * Spring's Aspect Oriented Programming (AOP) framework and why AOP is important in J2EE development
    * How to use Spring's programmatic and declarative transaction management services effectively
    * Ways to access data using Spring's JDBC functionality, iBATIS SQL Maps, Hibernate, and other O/R mapping frameworks
    * Spring services for accessing and implementing EJBs
    * Spring's remoting framework

    Who this book is for

    This book is for Java/J2EE architects and developers who want to gain a deeper knowledge of the Spring Framework and use it effectively.

    Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.

Making Java Groovy

by Ken Kousen

  • Summary

    Making Java Groovy is a practical handbook for developers who want to blend Groovy into their day-to-day work with Java. It starts by introducing the key differences between Java and Groovy—and how you can use them to your advantage. Then, it guides you step-by-step through realistic development challenges, from web applications to web services to desktop applications, and shows how Groovy makes them easier to put into production.

    About this Book

    You don't need the full force of Java when you're writing a build script, a simple system utility, or a lightweight web app—but that's where Groovy shines brightest. This elegant JVM-based dynamic language extends and simplifies Java so you can concentrate on the task at hand instead of managing minute details and unnecessary complexity.

    Making Java Groov is a practical guide for developers who want to benefit from Groovy in their work with Java. It starts by introducing the key differences between Java and Groovy and how to use them to your advantage. Then, you'll focus on the situations you face every day, like consuming and creating RESTful web services, working with databases, and using the Spring framework. You'll also explore the great Groovy tools for build processes, testing, and deployment and learn how to write Groovy-based domain-specific languages that simplify Java development.

    Written for developers familiar with Java. No Groovy experience required.

    Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

    What's Inside

    • Easier Java
    • Closures, builders, and metaprogramming
    • Gradle for builds, Spock for testing
    • Groovy frameworks like Grails and Griffon

    About the Author

    Ken Kousen is an independent consultant and trainer specializing in Spring, Hibernate, Groovy, and Grails.

    Table of Contents

      PART 1: UP TO SPEED WITH GROOVY
    1. Why add Groovy to Java?
    2. Groovy by example
    3. Code-level integration
    4. Using Groovy features in Java
    5. PART 2: GROOVY TOOLS
    6. Build processes
    7. Testing Groovy and Java projects
    8. PART 3: GROOVY IN THE REAL WORLD
    9. The Spring framework
    10. Database access
    11. RESTful web services
    12. Building and testing web applications

Professional Git

by Brent Laster

  • Leverage the power of Git to smooth out the development cycle

    Professional Git takes a professional approach to learning this massively popular software development tool, and provides an up-to-date guide for new users. More than just a development manual, this book helps you get into the Git mindset—extensive discussion of corollaries to traditional systems as well as considerations unique to Git help you draw upon existing skills while looking out—and planning for—the differences. Connected labs and exercises are interspersed at key points to reinforce important concepts and deepen your understanding, and a focus on the practical goes beyond technical tutorials to help you integrate the Git model into your real-world workflow.

    Git greatly simplifies the software development cycle, enabling users to create, use, and switch between versions as easily as you switch between files. This book shows you how to harness that power and flexibility to streamline your development cycle.

    • Understand the basic Git model and overall workflow
    • Learn the Git versions of common source management concepts and commands
    • Track changes, work with branches, and take advantage of Git's full functionality
    • Avoid trip-ups and missteps common to new users

    Git works with the most popular software development tools and is used by almost all of the major technology companies. More than 40 percent of software developers use it as their primary source control tool, and that number continues to grow; the ability to work effectively with Git is rapidly approaching must-have status, and Professional Git is the comprehensive guide you need to get up to speed quickly.

  • Each recipe in Groovy Recipes begins with a concise code example for a quick start, followed by in-depth explanation in plain English. These recipes will get you to-to-speed in a Groovy environment quickly.

    You'll see how to speed up nearly every aspect of the development process using Groovy. Groovy makes mundane file management tasks like copying and renaming files trivial. Reading and writing XML has never been easier with XmlParsers and XmlBuilders. Breathe new life into Arrays, Maps, and Lists with a number of convenience methods. But Groovy does more than just ease traditional Java development: it brings modern programming features to the Java platform like closures, duck-typing, and metaprogramming.

    As an added bonus, this book also covers Grails. You'll be amazed at how quickly you can have a first-class web application up and running from ground zero. Grails includes everything you need in a single zip file⎯a web server (Jetty), a database (HSQLDB), Spring, Hibernate, even a Groovy version of Ant called GANT. We cover everything from getting a basic website in place to advanced features that take you beyond HTML into the world of Web Services: REST, JSON, Atom, Podcasting, and much much more.

Core JavaServer Faces (3rd Edition)

by David Geary and Cay S. Horstmann

  • JavaServer Faces (JSF) is the standard Java EE technology for building web user interfaces. It provides a powerful framework for developing server-side applications, allowing you to cleanly separate visual presentation and application logic. JSF 2.0 is a major upgrade, which not only adds many useful features but also greatly simplifies the programming model by using annotations and “convention over configuration” for common tasks.

     

    To help you quickly tap into the power of JSF 2.0, the third edition of Core JavaServer™ Faces has been completely updated to make optimum use of all the new features. The book includes

    • Three totally new chapters on using Facelets tags for templating, building composite components, and developing Ajax applications
    • Guidance on building robust applications with minimal hand coding and maximum productivity–without requiring any knowledge of servlets or other low-level “plumbing”
    • A complete explanation of the basic building blocks–from using standard JSF tags, to working with data tables, and converting and validating input
    • Coverage of advanced tasks, such as event handling, extending the JSF framework, and connecting to external services
    • Solutions to a variety of common challenges, including notes on debugging and troubleshooting, in addition to implementation details and working code for features that are missing from JSF
    • Proven solutions, hints, tips, and “how-tos” show you how to use JSF effectively in your development projects

    Core JavaServer™ Faces, Third Edition, provides everything you need to master the powerful and time-saving features of JSF 2.0 and is the perfect guide for programmers developing Java EE 6 web apps on Glassfish or another Java EE 6-compliant application servers, as well as servlet runners such as Tomcat 6.

  • Since its release, Spring Framework has transformed virtually every aspect of Java development including web applications, security, aspect-oriented programming, persistence, and messaging. Spring Batch, one of its newer additions, now brings the same familiar Spring idioms to batch processing. Spring Batch addresses the needs of any batch process, from the complex calculations performed in the biggest financial institutions to simple data migrations that occur with many software development projects.

    Pro Spring Batch is intended to answer three questions:  

    • What? What is batch processing? What does it entail? What makes it different from the other applications we are developing? What are the challenges inherent in the development of a batch process?
    • Why? Why do batch processing? Why can’t we just process things as we get them? Why do we do batch processing differently than the web applications that we currently work on?
    • How? How to implement a robust, scalable, distributed batch processing system using open-source frameworks

    Pro Spring Batch gives concrete examples of how each piece of functionality is used and why it would be used in a real-world application. This includes providing tips that the "school of hard knocks" has taught author Michael Minella during his experience with Spring Batch. Pro Spring Batch includes examples of I/O options that are not mentioned in the official user’s guide, as well as performance tips on things like how to limit the impact of maintaining the state of your jobs.

    The author also walks you through, from end to end, the design and implementation of a batch process based upon a theoretical real-world example. This includes basic project setup, implementation, testing, tuning and scaling for large volumes.

    What you’ll learn

    • Batch concepts and how they relate to the Spring Batch framework
    • How to use declarative I/O using the Spring Batch readers/writers
    • Data integrity techniques used by Spring Batch, including transactions and job state/restartability
    • How to scale batch jobs via distributed batch processing
    • How to handle testing batch processes (Unit and functional)

    Who this book is for

    • Java developers with Spring experience.
    • Java Architects designing batch solutions
    More specifically, this book is intended for those who have a solid foundation in the core Java platform. Batch processing covers a wide spectrum of topics, not all of which are covered in detail in this book. Concepts in Java which the reader should be comfortable with include file I/O, JDBC, and transactions. Given that Spring Batch is a framework built upon the open-source IoC container Spring, which will not be covered in this book, it is expected that the reader will be familiar with its concepts and conventions. With that in mind, the reader is not expected to have any prior exposure to the Spring Batch framework. All concepts related to it will be explained in detail, with working examples.

    Table of Contents

    1. Batch and Spring
    2. Spring Batch 101
    3. Sample Job
    4. Understanding Jobs and Steps
    5. Job Repository and Metadata
    6. Running a Job
    7. Readers
    8. Item Processors
    9. Item Writers
    10. Sample Application
    11. Scaling and Tuning
    12. Testing Batch Processes
  • Everything you need to know to create professional web sites is right here. Learning Web Design starts from the beginning -- defining how the Web and web pages work -- and builds from there. By the end of the book, you'll have the skills to create multi-column CSS layouts with optimized graphic files, and you'll know how to get your pages up on the Web.

    This thoroughly revised edition teaches you how to build web sites according to modern design practices and professional standards. Learning Web Design explains:

    • How to create a simple (X)HTML page, how to add links and images
    • Everything you need to know about web standards -- (X)HTML, DTDs, and more
    • Cascading Style Sheets -- formatting text, colors and backgrounds, using the box model, page layout, and more
    • All about web graphics, and how to make them lean and mean through optimization
    • The site development process, from start to finish
    • Getting your pages on the Web -- hosting, domain names, and FTP
    The book includes exercises to help you to learn various techniques, and short quizzes to make sure you're up to speed with key concepts. If you're interested in web design, Learning Web Design is the place to start.

Hiring Geeks That Fit

by Johanna Rothman

  • Hiring a person for your team is the single most important decision you can make. It has long-lasting impact, whether you are the manager or a team member. Would you like to learn to hire great people? Not surehow? You need this book.


    Great geeks are not the same as skill-based staff. You need to analyze your culture, determine your problems, define the essentials you need in a candidate, and then you're off and running.


    Great geeks adapt their knowledge to your context. One developer or technical manager is not interchangeable with another. Hiring Geeks That Fit takes the guesswork and cost out of hiring.
  • Quick and painless Java programming with expert multimedia instruction

    Java Programming 24-Hour Trainer, 2nd Edition is your complete beginner's guide to the Java programming language, with easy-to-follow lessons and supplemental exercises that help you get up and running quickly. Step-by-step instruction walks you through the basics of object-oriented programming, syntax, interfaces, and more, before building upon your skills to develop games, web apps, networks, and automations. This second edition has been updated to align with Java SE 8 and Java EE 7, and includes new information on GUI basics, lambda expressions, streaming API, WebSockets, and Gradle. Even if you have no programming experience at all, the more than six hours of Java programming screencasts will demonstrate major concepts and procedures in a way that facilitates learning and promotes a better understanding of the development process.

    This is your quick and painless guide to mastering Java, whether you're starting from scratch or just looking to expand your skill set.

    • Master the building blocks that go into any Java project
    • Make writing code easier with the Eclipse tools
    • Learn to connect Java applications to databases
    • Design and build graphical user interfaces and web applications
    • Learn to develop GUIs with JavaFX

    If you want to start programming quickly, Java Programming 24-Hour Trainer, 2nd Edition is your ideal solution.

The Zen of CSS Design: Visual Enlightenment for the Web

by Dave Shea and Molly E. Holzschlag

  • Proving once and for all that standards-compliant design does not equal dull design, this inspiring tome uses examples from the landmark CSS Zen Garden site as the foundation for discussions on how to create beautiful, progressive CSS-based Web sites. By using the Zen Garden sites as examples of how CSS design techniques and approaches can be applied to specific Web challenges, authors Dave Shea and Molly Holzschlag provide an eye-opening look at the range of design methods made possible by CSS (Cascading Style Sheets). By the time you've finished perusing the volume, you'll have a new understanding of the graphically rich, fully accessible sites that CSS design facilitates. In sections on design, layout, imagery, typography, effects, and themes, Dave and Molly take you through every phase of the design process--from striking a sensible balance between text and graphics to creating eye-popping special effects (no scripting required).

  • If you’re trying to use agile and lean at the program level, you’ve heard of several approaches, all about scaling processes. If you duplicate what one team does for several teams, you get bloat, not delivery. Instead of scaling the process, scale everyone's collaboration.

    With autonomy, collaboration, and exploration, teams and program level people can decide how to apply agile and lean to their work.

    Learn to collaborate around deliverables, not meetings. Learn which measurements to use and how to use those measures to help people deliver more of what you want (value) and less of what you don’t want (work in progress). Create an environment of servant leadership and small-world networks. Learn to enable autonomy, collaboration, and exploration across the organization and deliver your product.

    Scale collaboration with agile and lean program management and deliver your product.
  • Whether it's in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?

    If you're a developer and don't want to be on call for 3AM for the rest of your life, this book will help.

    In Release It!, Michael T. Nygard shows you how to design and architect your application for the harsh realities it will face. You'll learn how to design your application for maximum uptime, performance, and return on investment.

    Mike explains that many problems with systems today start with the design.

  • Are you still designing web sites like it's 1999? If so, you're in for a surprise. Since the last edition of this book appeared five years ago, there has been a major climate change with regard to web standards. Designers are no longer using (X)HTML as a design tool, but as a means of defining the meaning and structure of content. Cascading Style Sheets are no longer just something interesting to tinker with, but rather a reliable method for handling all matters of presentation, from fonts and colors to the layout of the entire page. In fact, following the standards is now a mandate of professional web design.

    Our popular reference, Web Design in a Nutshell, is one of the first books to capture this new web landscape with an edition that's been completely rewritten and expanded to reflect the state of the art. In addition to being an authoritative reference for (X)HTML and Cascading Style Sheets, this book also provides an overview of the unique requirements of designing for the Web and gets to the nitty-gritty of JavaScript and DOM Scripting, web graphics optimization, and multimedia production. It is an indispensable tool for web designers and developers of all levels.

    The third edition covers these contemporary web design topics:

    • Structural layer: HTML 4.01 and XHTML 1.0 (9 chapters), including an alphabetical reference of all elements, attributes and character entities
    • Presentation layer: Ten all-new chapters on Cascading Style Sheets, Level 2.1, including an alphabetical reference of all properties and values.
    • Behavior layer: JavaScript and scripting with the Document Object Model (DOM)
    • Web environment: New web standards, browsers, display devices, accessibility, and internationalization
    • Web graphics optimization: Producing lean and mean GIF, JPEG, PNG, and animated GIFs
    • Multimedia: Web audio, video, Flash, and PDF

    Organized so that readers can find answers quickly, Web Design in a Nutshell, Third Edition helps experienced designers come up to speed quickly on standards-based web design, and serves as a quick reference for those already familiar with the new standards and technology.

    There are many books for web designers, but none that address such a wide variety of topics. Find out why nearly half a million buyers have made this the most popular web design book available.

Presentation Patterns: Techniques for Crafting Better Presentations

by Neal Ford, Matthew McCullough, and Nathaniel Schutta

  • Presentation Patterns is the first book on presentations that categorizes and organizes the building blocks (or patterns) that you’ll need to communicate effectively using presentation tools like Keynote and PowerPoint.

     

    Patterns are like the lower-level steps found inside recipes; they are the techniques you must master to be considered a master chef or master presenter. You can use the patterns in this book to construct your own recipes for different contexts, such as business meetings, technical demonstrations, scientific expositions, and keynotes, just to name a few.

     

    Although there are no such things as antirecipes, this book shows you lots of antipatterns—things you should avoid doing in presentations. Modern presentation tools often encourage ineffective presentation techniques, but this book shows you how to avoid them.

     

    Each pattern is introduced with a memorable name, a definition, and a brief explanation of motivation. Readers learn where the pattern applies, the consequences of applying it, and how to apply it. The authors also identify critical antipatterns: clichés, fallacies, and design mistakes that cause presentations to disappoint. These problems are easy to avoid—once you know how.

     

    Presentation Patterns will help you

    • Plan what you’ll say, who you’ll say it to, how long you’ll talk, and where you’ll present
    • Perfectly calibrate your presentation to your audience
    • Use the storyteller’s “narrative arc” to full advantage
    • Strengthen your credibility—and avoid mistakes that hurt it
    • Hone your message before you ever touch presentation software
    • Incorporate visuals that support your message instead of hindering it
    • Create highly effective “infodecks” that work when you’re not able to deliver a talk in person
    • Construct slides that really communicate and avoid “Ant Fonts,” “Floodmarks,” “Alienating Artifacts,” and other errors
    • Master 13 powerful techniques for delivering your presentation with power, authority, and clarity 

    Whether you use this book as a handy reference or read it from start to finish, it will be a revelation: an entirely new language for systematically planning, creating, and delivering more powerful presentations. You’ll quickly find it indispensable—no matter what you’re presenting, who your audiences are, or what message you’re driving home.

Beginning Groovy and Grails: From Novice to Professional

by Christopher M. Judd, Joseph Faisal Nusairat, and James Shingler

  • Web frameworks are playing a major role in the creation of today's most compelling web applications, because they automate many of the tedious tasks, allowing developers to instead focus on providing users with creative and powerful features. Java developers have been particularly fortunate in this area, having been able to take advantage of Grails, an open source framework that supercharges productivity when building Java–driven web sites. Grails is based on Groovy, which is a very popular and growing dynamic scripting language for Java developers and was inspired by Python, Ruby, and Smalltalk.



    Beginning Groovy and Grails is the first introductory book on the Groovy language and its primary web framework, Grails.



    This book gets you started with Groovy and Grails and culminates in the example and possible application of some real–world projects. You follow along with the development of each project, implementing and running each application while learning new features along the way.



    What you’ll learn



    • Understand the fundamentals of the open source, dynamic Groovy scripting language and the Grails web framework.


    • Capitalize upon Grails’ well–defined framework architecture to build web applications faster than ever before.


    • Improve your web application with cutting–edge interface enhancements using Ajax.


    • Use Grails’ object–relational mapping solution, GORM, to manage your data store more effectively than ever before.


    • Take advantage of Groovy to create reporting services, implement batch processing, and create alternative client interfaces.


    • Deploy and upgrade your Grails–driven applications with expertise and ease.


    • Discover an alternative client in Groovy as well.




    Who this book is for



    Java and web developers looking to learn and embrace the power and flexibility offered by the Grails framework and Groovy scripting language.


  • You have too many projects, and firefighting and multitasking are keeping you from finishing any of them. You need to manage your project portfolio. This fully updated and expanded bestseller arms you with agile and lean ways to collect all your work and decide which projects you should do first, second, and never. See how to tie your work to your organization's mission and show your managers, your board, and your staff what you can accomplish and when. Picture the work you have, and make those difficult decisions, ensuring that all your strength is focused where it needs to be.

    All your projects and programs make up your portfolio. But how much time do you actually spend on your projects, and how much time do you spend on emergency fire drills or waste through multitasking? This book gives you insightful ways to rank all the projects you're working on and figure out the right staffing and schedule so projects get finished faster.

    The trick is adopting lean and agile approaches to projects, whether they're software projects, projects that include hardware, or projects that depend on chunks of functionality from other suppliers. Find out how to define the mission of your team, group, or department, with none of the buzzwords that normally accompany a mission statement. Armed with the work and the mission, you'll manage your portfolio better and make those decisions that define the true leaders in the organization.

    With this expanded second edition, discover how to scale project portfolio management from one team to the entire enterprise, and integrate Cost of Delay when ranking projects. Additional Kanban views provide even more ways to visualize your portfolio.

Spring Boot in Action

by Craig Walls

  • Summary

    A developer-focused guide to writing applications using Spring Boot. You'll learn how to bypass the tedious configuration steps so that you can concentrate on your application's behavior.

    Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

    About the Technology

    The Spring Framework simplifies enterprise Java development, but it does require lots of tedious configuration work. Spring Boot radically streamlines spinning up a Spring application. You get automatic configuration and a model with established conventions for build-time and runtime dependencies. You also get a handy command-line interface you can use to write scripts in Groovy. Developers who use Spring Boot often say that they can't imagine going back to hand configuring their applications.

    About the Book

    Spring Boot in Action is a developer-focused guide to writing applications using Spring Boot. In it, you'll learn how to bypass configuration steps so you can focus on your application's behavior. Spring expert Craig Walls uses interesting and practical examples to teach you both how to use the default settings effectively and how to override and customize Spring Boot for your unique environment. Along the way, you'll pick up insights from Craig's years of Spring development experience.

    What's Inside

    • Develop Spring apps more efficiently
    • Minimal to no configuration
    • Runtime metrics with the Actuator
    • Covers Spring Boot 1.3

    About the Reader

    Written for readers familiar with the Spring Framework.

    About the Author

    Craig Walls is a software developer, author of the popular book Spring in Action, Fourth Edition, and a frequent speaker at conferences.

    Table of Contents

    1. Bootstarting Spring
    2. Developing your first Spring Boot application
    3. Customizing configuration
    4. Testing with Spring Boot
    5. Getting Groovy with the Spring Boot CLI
    6. Applying Grails in Spring Boot
    7. Taking a peek inside with the Actuator
    8. Deploying Spring Boot applications
    9. APPENDIXES
    1. Spring Boot developer tools
    2. Spring Boot starters
    3. Configuration properties
    4. Spring Boot dependencies
  • Great management is difficult to see as it occurs. It's possible to see the results of great management, but it's not easy to see how managers achieve those results. Great management happens in one-on-one meetings and with other managers---all in private. It's hard to learn management by example when you can't see it.

    You can learn to be a better manager---even a great manager---with this guide. You'll follow along as Sam, a manager just brought on board, learns the ropes and deals with his new team over the course of his first eight weeks on the job. From scheduling and managing resources to helping team members grow and prosper, you'll be there as Sam makes it happen. You'll find powerful tips covering:

    • Delegating effectively
    • Using feedback and goal-setting
    • Developing influence
    • Handling one-on-one meetings
    • Coaching and mentoring
    • Deciding what work to do---and what not to do
    • ...and more.

    Full of tips and practical advice on the most important aspects of management, this is one of those books that can make a lasting and immediate impact on your career.

Groovy in Action

by Dierk Koenig, Andrew Glover, Paul King, Guillaume Laforge, and Jon Skeet

  • Groovy, the brand-new language for the Java platform, brings to Java many of the features that have made Ruby popular. Groovy in Action is a comprehensive guide to Groovy programming, introducing Java developers to the new dynamic features that Groovy provides. To bring you Groovy in Action, Manning again went to the source by working with a team of expert authors including both members and the Manager of the Groovy Project team. The result is the true definitive guide to the new Groovy language.

    Groovy in Action introduces Groovy by example, presenting lots of reusable code while explaining the underlying concepts. Java developers new to Groovy find a smooth transition into the dynamic programming world. Groovy experts gain a solid reference that challenges them to explore Groovy deeply and creatively.

    Because Groovy is so new, most readers will be learning it from scratch. Groovy in Action quickly moves through the Groovy basics, including:

    • Simple and collective Groovy data types
    • Working with Closures and Groovy Control Structures
    • Dynamic Object Orientation, Groovy style

    Readers are presented with rich and detailed examples illustrating Groovy's enhancements to Java, including

    • How to Work with Builders and the GDK
    • Database programming with Groovy

    Groovy in Action then demonstrates how to Integrate Groovy with XML, and provides:

    • Tips and Tricks
    • Unit Testing and Build Support
    • Groovy on Windows

    An additional bonus is a chapter dedicated to Grails, the Groovy Web Application Framework.

    Purchase of the print book comes with an offer of a free PDF eBook from Manning. Also available is all code from the book.

  • “I’m dancing! By god I’m dancing on the walls. I’m dancing on the ceiling. I’m ecstatic. I’m overjoyed. I’m really, really pleased.”

    –From the Foreword by Robert C. Martin (a.k.a. Uncle Bob)

     

    This isn’t the first book on Java application architecture. No doubt it won’t be the last. But rest assured, this title is different. The way we develop Java applications is about to change, and this title explores the new way of Java application architecture.

     

    Over the past several years, module frameworks have been gaining traction on the Java platform, and upcoming versions of Java will include a module system that allows you to leverage the power of modularity to build more resilient and flexible software systems. Modularity isn’t a new concept. But modularity will change the way we develop Java applications, and you’ll only be able to realize the benefits if you understand how to design more modular software systems.

     

    Java Application Architecture will help you

     

    • Design modular software that is extensible, reusable, maintainable, and adaptable
    • Design modular software today, in anticipation of future platform support for modularity
    • Break large software systems into a flexible composite of collaborating modules
    • Understand where to place your architectural focus
    • Migrate large-scale monolithic applications to applications with a modular architecture
    • Articulate the advantages of modular software to your team

     

    Java Application Architecture lays the foundation you’ll need to incorporate modular design thinking into your development initiatives. Before it walks you through eighteen patterns that will help you architect modular software, it lays a solid foundation that shows you why modularity is a critical weapon in your arsenal of design tools. Throughout, you’ll find examples that illustrate the concepts. By designing modular applications today, you are positioning yourself for the platform and architecture of tomorrow. That’s why Uncle Bob is dancing.

The Definitive Guide to Grails 2

by Jeff Scott Brown and Graeme Rocher

  • Grails is a full stack framework which aims to greatly simplify the task of building serious web applications for the JVM. The concepts within Grails, like interceptors, tag libs, and Groovy Server Pages (GSP), make those in the Java community feel right at home.

    Grails’ foundation is on solid open source technologies such as Spring, Hibernate, and SiteMesh, which gives it even more potential in the Java space: Spring provides powerful inversion of control and MVC, Hibernate brings a stable, mature object relational mapping technology with the ability to integrate with legacy systems, and SiteMesh handles flexible layout control and page decoration.

    Grails complements these with additional features that take advantage of the coding–by–convention paradigm such as dynamic tag libraries, Grails object relational mapping, Groovy Server Pages, and scaffolding.

    Graeme Rocher, Grails lead and founder, and Jeff Brown bring you completely up–to–date with their authoritative and fully comprehensive guide to the Grails 2 framework. You’ll get to know all the core features, services, and Grails extensions via plug–ins, and understand the roles that Groovy and Grails are playing in the changing Web.

    What you’ll learn

    • Discover how the Web is changing and the role the Groovy language and its Grails framework play
    • Get to know the Grails Project and its domains, services, filters, controllers, views, testing, and plug–ins
    • Experience the availability of plug–ins for Rich Client and Ajax, web services, performance/utilities, scheduling, security, functionality, and even Persistence
    • See how Grails works with other frameworks like Spring, Wicket, Hibernate, and more
    • Create custom plug–ins in Grails

    Who this book is for

    This book is for everyone who is looking for a more agile approach to web development with a dynamic scripting language such as Groovy. This includes a large number of Java developers who have been enticed by the productivity gains seen with frameworks such as Ruby on Rails, JRuby on Rails, etc. The Web and its environment is a perfect fit for easily adaptable and concise languages such as Groovy and Ruby, and there is huge interest from the developer community in general to embrace these languages.

    Table of Contents

    1. The Essence of Grails
    2. Getting Started with Grails 2
    3. Understanding Domain Classes
    4. Understanding Controllers
    5. Understanding Views
    6. Mapping URLs
    7. Internationalization
    8. Ajax
    9. GORM
    10. Services
    11. Dependency Management
    12. Plugins

Spring Data

by Mark Pollack, Oliver Gierke, Thomas Risberg, Jon Brisbin, and Michael Hunger

  • You can choose several data access frameworks when building Java enterprise applications that work with relational databases. But what about big data? This hands-on introduction shows you how Spring Data makes it relatively easy to build applications across a wide range of new data access technologies such as NoSQL and Hadoop.

    Through several sample projects, you’ll learn how Spring Data provides a consistent programming model that retains NoSQL-specific features and capabilities, and helps you develop Hadoop applications across a wide range of use-cases such as data analysis, event stream processing, and workflow. You’ll also discover the features Spring Data adds to Spring’s existing JPA and JDBC support for writing RDBMS-based data access layers.

    • Learn about Spring’s template helper classes to simplify the use ofdatabase-specific functionality
    • Explore Spring Data’s repository abstraction and advanced query functionality
    • Use Spring Data with Redis (key/value store), HBase(column-family), MongoDB (document database), and Neo4j (graph database)
    • Discover the GemFire distributed data grid solution
    • Export Spring Data JPA-managed entities to the Web as RESTful web services
    • Simplify the development of HBase applications, using a lightweight object-mapping framework
    • Build example big-data pipelines with Spring Batch and Spring Integration
  • More than ever, learning to program concurrency is critical to creating faster, responsive applications. Speedy and affordable multicore hardware is driving the demand for high-performing applications, and you can leverage the Java platform to bring these applications to life.

    Concurrency on the Java platform has evolved, from the synchronization model of JDK to software transactional memory (STM) and actor-based concurrency. This book is the first to show you all these concurrency styles so you can compare and choose what works best for your applications. You'll learn the benefits of each of these models, when and how to use them, and what their limitations are.

    Through hands-on exercises, you'll learn how to avoid shared mutable state and how to write good, elegant, explicit synchronization-free programs so you can create easy and safe concurrent applications. The techniques you learn in this book will take you from dreading concurrency to mastering and enjoying it. Best of all, you can work with Java or a JVM language of your choice - Clojure, JRuby, Groovy, or Scala - to reap the growing power of multicore hardware.

    If you are a Java programmer, you'd need JDK 1.5 or later and the Akka 1.0 library. In addition, if you program in Scala, Clojure, Groovy or JRuby you'd need the latest version of your preferred language. Groovy programmers will also need GPars.

JavaServer Faces 2.0, The Complete Reference

by Ed Burns and Chris Schalk

  • The Definitive Guide to JavaServer Faces 2.0

    Fully revised and updated for all of the changes in JavaServer Faces (JSF) 2.0, this comprehensive volume covers every aspect of the official standard Web development architecture for JavaEE. Inside this authoritative resource, the co-spec lead for JSF at Sun Microsystems shows you how to create dynamic, cross-browser Web applications that deliver a world-class user experience while preserving a high level of code quality and maintainability.

    JavaServer Faces 2.0: The Complete Reference features an integrated sample application to use as a model for your own JSF applications, with code available online. The book explains all JSF features, including the request processing lifecycle, managed beans, page navigation, component development, Ajax, validation, internationalization, and security. Expert Group Insights throughout the book offer insider information on the design of JSF.

    • Set up a development environment and build a JSF application
    • Understand the JSF request processing lifecycle
    • Use the Facelets View Declaration Language, managed beans, and the JSF expression language (EL)
    • Define page flow with the JSF Navigation Model, including the new "Implicit Navigation" feature
    • Work with the user interface component model and the JSF event model, including support for bookmarkable pages and the POST, REDIRECT, GET pattern
    • Use the new JSR-303 Bean Validation standard for model data validation
    • Build Ajax-enabled custom UI components Extend JSF with custom non-UI components
    • Manage security, accessibility, internationalization, and localization
    • Learn how to work with JSF and Portlets from the JSF Team Leader at Liferay, the leading Java Portal vendor

    Ed Burns is a senior staff engineer at Sun Microsystems and is the co-specification lead for JavaServer Faces. He is the co-author of JavaServer Faces: The Complete Reference and author of Secrets of the Rock Star Programmers.

    Chris Schalk is a developer advocate and works to promote Google's APIs and technologies. He is currently engaging the international Web development community with the new Google App Engine and OpenSocial APIs.

    Neil Griffin is committer and JSF Team Lead for Liferay Portal and the co-founder of The PortletFaces Project.

    Ready-to-use code at www.mhprofessonal.com/computingdownload

HTML5 & CSS3 For The Real World

by Estelle Weyl, Louis Lazaris, and Alexis Goldstein

  • HTML5 and CSS3 for the Real World is ideal for any web designer or developer who wants to start using the latest generation of web technologies in their everyday work.

    This book will teach you how to:

    • understand the new semantic markup available in HTML5
    • use CSS3 to make sites beautiful without sacrificing clean markup or resorting to complex workarounds
    • employ native HTML5 video and audio in your pages
    • use web fonts to enrich a site's typography
    • make web applications accessible using WAI-ARIA
    • make the most of the new HTML form elements.
    This easy-to-follow guide is illustrated with lots of examples, and leads readers through the process of creating great websites from start to finish using HTML5 and CSS3.

    It also features:

    • details on all the new HTML5 and CSS3 elements and features
    • information on the current level of browser support
    • advice for creating great experiences for all users thanks to progressive enhancement.
  • Does your organization value and rank projects based on estimation? Except for the shortest projects, estimation is often wrong. You don’t realize the value you planned when you wanted. How can you finish projects in time to realize their potential value? Instead of estimation, consider using cost of delay to evaluate and rank projects. Cost of delay accounts for ways projects get stuck: multitasking, other projects not releasing on time, work queuing behind experts, excessive attention to code cleanliness, and management indecision to name several. Once you know about cost of delay, you can decide what to do about it. You can stop the multitasking. You can eliminate the need for experts. You can reduce the number of projects and features in progress. You can use cost of delay to rank projects and work in your organization. Learn to use cost of delay to make better decisions for your project, program, or project portfolio.

Designing Web Navigation

by James Kalbach

  • Thoroughly rewritten for today's web environment, this bestselling book offers a fresh look at a fundamental topic of web site development: navigation design. Amid all the changes to the Web in the past decade, and all the hype about Web 2.0 and various "rich" interactive technologies, the basic problems of creating a good web navigation system remain. Designing Web Navigation demonstrates that good navigation is not about technology-it's about the ways people find information, and how you guide them.

    Ideal for beginning to intermediate web designers, managers, other non-designers, and web development pros looking for another perspective, Designing Web Navigation offers basic design principles, development techniques and practical advice, with real-world examples and essential concepts seamlessly folded in. How does your web site serve your business objectives? How does it meet a user's needs? You'll learn that navigation design touches most other aspects of web site development. This book:

    • Provides the foundations of web navigation and offers a framework for navigation design
    • Paints a broad picture of web navigation and basic human information behavior
    • Demonstrates how navigation reflects brand and affects site credibility
    • Helps you understand the problem you're trying to solve before you set out to design
    • Thoroughly reviews the mechanisms and different types of navigation
    • Explores "information scent" and "information shape"
    • Explains "persuasive" architecture and other design concepts
    • Covers special contexts, such as navigation design for web applications
    • Includes an entire chapter on tagging
    While Designing Web Navigation focuses on creating navigation systems for large, information-rich sites serving a business purpose, the principles and techniques in the book also apply to small sites. Well researched and cited, this book serves as an excellent reference on the topic, as well as a superb teaching guide. Each chapter ends with suggested reading and a set of questions that offer exercises for experiencing the concepts in action.
  • Want to learn how to create great user experiences on today's Web? In this book, UI experts Bill Scott and Theresa Neil present more than 75 design patterns for building web interfaces that provide rich interaction. Distilled from the authors' years of experience at Sabre, Yahoo!, and Netflix, these best practices are grouped into six key principles to help you take advantage of the web technologies available today. With an entire section devoted to each design principle, Designing Web Interfaces helps you:

    • Make It Direct-Edit content in context with design patterns for In Page Editing, Drag & Drop, and Direct Selection
    • Keep It Lightweight-Reduce the effort required to interact with a site by using In Context Tools to leave a "light footprint"
    • Stay on the Page-Keep visitors on a page with overlays, inlays, dynamic content, and in-page flow patterns
    • Provide an Invitation-Help visitors discover site features with invitations that cue them to the next level of interaction
    • Use Transitions-Learn when, why, and how to use animations, cinematic effects, and other transitions
    • React Immediately-Provide a rich experience by using lively responses such as Live Search, Live Suggest, Live Previews, and more

    Designing Web Interfaces illustrates many patterns with examples from working websites. If you need to build or renovate a website to be truly interactive, this book gives you the principles for success.

Items:   1 to 50 of 180   Next »