||Designing Web APIs|
Designing an API is complicated to begin with, but evolving your API design over time makes the process even more difficult. There are several books on the topic, but none that guide you through key decisions for designing and building APIs for specific audiences and types of products. Well, until now, that is.
Using case studies from companies such as Slack, Stripe, Facebook, and Github, this practical guide shows you how to navigate complex decisions when building, scaling, and evolving your own APIs. You'll learn best practices for designing APIs that developers will love, and discover how to evolve your APIs as your product grows.
Developers, architects, tech leads, product managers, and engineering managers will:Examine strategies to expose data through web APIs, using webhooks, websockets, and HTTP;Learn how to evolve APIs while keeping them consistent;Be able to scale APIs with pagination and rate limiting;Handle security, performa ...
||Release It! 2nd Edition|
If you're a software developer, and you don't want to get alerts every night for the rest of your life, help is here. With a combination of case studies about huge losses - lost revenue, lost reputation, lost time, lost opportunity - and practical, down-to-earth advice that was all gained through painful experience, this book helps you avoid the pitfalls that cost companies millions of dollars in downtime and reputation. Eighty percent of project life-cycle cost is in production, yet few books address this topic.
This updated edition deals with the production of today's systems - larger, more complex, and heavily virtualized - and includes information on chaos engineering, the discipline of applying randomness and deliberate stress to reveal systematic problems. Build systems that survive the real world, avoid downtime, implement zero-downtime upgrades and continuous delivery, and make cloud-native applications resilient. Examine ways to architect, design and build software - ...
||Domain Modeling Made Functional|
Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming—all the techniques you need will be introduced and explained.
Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation—ensuring that the code and design never get out of sync. Encode business rules in the design so that you have “compile-time unit tests,” and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to se ...
Implement a headless/decoupled Drupal design to build easily maintainable web applications. This book begins by showing you CMS workflows and best practices to give you the basics you need for working with decoupled Drupal. As part of this process, Decoupling Drupal reveals the advantages of using content management systems and explains that decoupled Drupal is the answer to various problems faced in creating and maintaining enterprise applications.
Decoupling Drupal will show you how administering Drupal monolithically to design web applications can be a challenge. You'll see how the maintainability of your application reduces exponentially over the years. In contrast, a decoupled design enables an easy handshake between the front-end and back-end applications, meaning you can implement services in a short amount of time and scale them quickly.
The final part of the book covers the impact of decoupling on functional and non-functional requirements and the u ...
Great software comes from great designers. Learn the essential software architecture fundamentals every programmer needs to know. With hands-on examples in every chapter, tips and advice from respected architects, practical scenarios, and dozens of architectural design activities, Design It! shows you how to lead your team as a software architect to create excellent software.
Uncover the big ideas behind software architecture and learn practical methods for designing software systems big and small. Gain a framework for thinking about design enabling you to plan, lead, design implement, and evaluate software architectures. Collaborate with your team, stakeholders, and other architects. Dig for architecturally significant requirements and write detailed quality attribute scenarios. Explore design alternatives, balance trade-offs, manage risks, and choose technologies based on their architectural impact. Make the architecture real for everyone with po ...
||Cloud Native Java|
What separates the traditional enterprise from the likes of Amazon, Netflix, and Etsy? Those companies have refined the art of cloud native development to maintain their competitive edge and stay well ahead of the competition. This practical guide shows Java/JVM developers how to build better software, faster, using Spring Boot, Spring Cloud, and Cloud Foundry.
Many organizations have already waded into cloud computing, test-driven development, microservices, and continuous integration and delivery. Authors Josh Long and Kenny Bastani fully immerse you in the tools and methodologies that will help you transform your legacy application into one that is genuinely cloud native.
In four sections, this book takes you through: The Basics: learn the motivations behind cloud native thinking; configure and test a Spring Boot application; and move your legacy application to the cloud; Web Services: build HTTP and RESTful services with Spring; route requests in your distributed system; and ...
||Interactive Data Visualization for the Web, 2nd Edition|
Learn D3 4.x—the latest D3 version—with downloadable code and over 140 examples; Create bar charts, scatter plots, pie charts, stacked bar charts, and force-directed graphs; Use smooth, animated transitions to show changes in your data; Introduce interactivity to h ...
Learn how to design digital circuits with FPGAs (field-programmable gate arrays), the devices that reconfigure themselves to become the very hardware circuits you set out to program. With this practical guide, author Justin Rajewski shows you hands-on how to create FPGA projects, whether you're a programmer, engineer, product designer, or maker. You'll quickly go from the basics to designing your own processor.
Designing digital circuits used to be a long and costly endeavor that only big companies could pursue. FPGAs make the process much easier, and now they're affordable enough even for hobbyists. If you're familiar with electricity and basic electrical components, this book starts simply and progresses through increasingly complex projects.
Set up your environment by installing Xilinx ISE and the author's Mojo IDE; Learn how hardware designs are broken into modules, comparable to functions in a software program; Create digital hardware designs and learn the basics on h ...
||Applied Akka Patterns|
When it comes to big data processing, we can no longer ignore concurrency or try to add it in after the fact. Fortunately, the solution is not a new paradigm of development, but rather an old one. With this hands-on guide, Java and Scala developers will learn how to embrace concurrent and distributed applications with the open source Akka toolkit. You'll learn how to put the actor model and its associated patterns to immediate and practical use.
Throughout the book, you'll deal with an analogous workforce problem: how to schedule a group of people across a variety of projects while optimizing their time and skillsets. This example will help you understand how Akka uses actors, streams, and other tools to stitch your application together.Model software that reflects the real world with domain-driven design;Learn principles and practices for implementing individual actors;Unlock the real potential of Akka with patterns for combining multiple actors;Und ...
||Material Design implementation with AngularJS|
Building web and mobile apps that are interactive, fluid and provide consistent experience across devices ranging from desktops, tablets and smart phones is challenging. User Interface (UI) elements need to adapt to various screen sizes and yet the code behind need to be reusable and follow best of coding practices.
Material Design with AngularJS details out building such sophisticated web and mobile apps by combining Material Design and AngularJS concepts.
Material design takes mobile-first approach. User Interactions are built to be natural with animations, positioning of elements and more.
AngularJS provides many web development features like routing, accessibility, localization etc. out of box. And the framework's implementation of design patters like Dependency Injection, Model View Controller or Model View-View Model will allow better separation of concerns.
This book dwells into following libraries, i) Angular Material- being built by Goog ...
||Qt5 C++ GUI Programming Cookbook|
With the advancement of computer technology, the software market is exploding with tons of software choices for the user, making their expectations higher in terms of functionality and the look and feel of the application. Therefore, improving the visual quality of your application is vital in order to overcome the market competition and stand out from the crowd.
This book will teach you how to develop functional and appealing software using Qt5 through multiple projects that are interesting and fun. This book covers a variety of topics such as look-and-feel customization, GUI animation, graphics rendering, implementing Google Maps, and more. You will learn tons of useful information, and enjoy the process of working on the creative projects provided in this book. ...