Kevin Matz is the founder of Winchelsea Systems Ltd., a software product design consultancy, and is the designer and creator of the ChapterLab word processing and project management application for book authors. Kevin blogs about usability and user experience design at his blog, Architecting Usability. He holds a BSc in Computer Science from the University of Victoria and an MSc in Software Development from the Open University (UK).
Swift keeps gaining traction not only amongst Apple developers but also as a server-side language. This book demonstrates how to apply design patterns and best practices in real-life situations, whether that's for new or already existing projects.
You’ll begin with a quick refresher on Swift, the compiler, the standard library, and the foundation, followed by the Cocoa design patterns – the ones at the core of many cocoa libraries – to follow up with the creational, structural, and behavioral patterns as defined by the GoF. You'll get acquainted with application architecture, as well as the most popular architectural design patterns, such as MVC and MVVM, and learn to use them in the context of Swift. In addition, you’ll walk through dependency injection and functional reactive programming. Special emphasis will be given to techniques to handle concurrency, including callbacks, futures and promises, and reactive programming. These techniques will help you adopt a test-driven approach to your workflow in order to use Swift Package Manager and integrate the framework into the original code base, along with Unit and UI testing.
By the end of the book, you'll be able to build applications that are scalable, faster, and easier to maintain.What you will learnWork efficiently with Foundation and Swift Standard libraryUnderstand the most critical GoF patterns and use them efficientlyUse Swift 4.2 and its unique capabilities (and limitations) to implement and improve GoF patternsImprove your application architecture and optimize for maintainability and performanceWrite efficient and clean concurrent programs using futures and promises, or reactive programming techniquesUse Swift Package Manager to refactor your program into reusable componentsLeverage testing and other techniques for writing robust codeWho this book is for
This book is for intermediate developers who want to apply design patterns with Swift to structure and scale their applications. You are expected to have basic knowledge of iOS and Swift.
Load tests help identify the maximum number of requests a software system can handle. One popular open source tool for load testing is JMeter. By leveraging the features and capabilities of JMeter, you can perform extensive load testing and fix issues in your application before they become problematic.
This book is written by JMeter developers and begins by discussing the whole process, including recording a script, setting it up, and launching it, enabling you to almost immediately start load testing. You'll learn the best practices that you must follow while designing test cases. You'll also explore the different protocols offered by JMeter through various real-world examples. Finally, you'll see how to integrate JMeter into the DevOps approach and create professional reports. You'll discover ways to use the eco-system of JMeter to integrate new protocols, enrich its monitoring, and leverage its power through the use of the cloud.
By the end of this book, you'll know all that's needed to perform comprehensive load testing on your applications by using all the best practices and features of JMeter.What you will learnExplore various JMeter concepts, including Timers scope and Assertions scopeDiscover the types of test protocols and load tests that JMeter supportsDesign a realistic test scenario using various tips and best practicesPrepare your test environment with injectors and the system under testLearn and apply good practices when recording a scriptIntegrate JMeter with Jenkins using MavenWho this book is for
This book contains all the valuable information you need in one place and is a must for everybody who is seriously working with JMeter. It might be a little condensed for absolute beginners, but this book is the best you can find if you already have some performance testing experience and want to get further. In particular, it would be invaluable to developers who want to expand their JMeter knowledge into advanced topics or switch to JMeter from other load testing tools.
Best-selling author Adam Freeman explains how to get the most from React. He begins by describing the React architecture and the benefits it offers and then shows you how to use React and its associated tools and libraries in your projects, starting from the nuts and bolts and building up to the most advanced and sophisticated features, going in-depth to give you the knowledge you need.
Each topic is presented clearly and concisely. Chapters include common problems and how to avoid them.
What You’ll LearnGain a solid understanding of the React design
Who This Book Is For
This is the eBook of the printed book and may not include any media, website access codes, or print supplements that may come packaged with the bound book.Android Programming: The Big Nerd Ranch Guide, 3/e is an introductory Android book for programmers with Java experience.
Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis–refactoring not just the code but the model underlying the code–in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:
With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.