Designing Web APIsDesigning 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, performance, mo ...
Stream Processing with Apache FlinkGet started with Apache Flink, the open source framework that enables you to process streaming data - such as user interactions, sensor data, and machine logs - as it arrives. With this practical guide, you'll learn how to use Apache Flink's stream processing APIs to implement, continuously run, and maintain real-world applications.
Authors Fabian Hueske, one of Flink's creators, and Vasia Kalavri, a core contributor to Flink's graph processing API (Gelly), explains the fundamental concepts of parallel stream processing and shows you how streaming analytics differs from traditional batch data analysis. Software engineers, data engineers, and system administrators will learn the basics of Flink's DataStream API, including the structure and components of a common Flink streaming application.Solve real-world problems with Apache Flink's DataStream API;Set up an environment for developing stream processing applications for Flink;Design streaming applications an ...
Applied Text Analysis with PythonThe programming landscape of natural language processing has changed dramatically in the past few years. Machine learning approaches now require mature tools like Python's scikit-learn to apply models to text at scale. This practical guide shows programmers and data scientists who have an intermediate-level understanding of Python and a basic understanding of machine learning and natural language processing how to become more proficient in these two exciting areas of data science.
This book presents a concise, focused, and applied approach to text analysis with Python, and covers topics including text ingestion and wrangling, basic machine learning on text, classification for text analysis, entity resolution, and text visualization. Applied Text Analysis with Python will enable you to design and develop language-aware data products.
You'll learn how and why machine learning algorithms make decisions about language to analyze text; how to ingest, wrangle, and preprocess language d ...
Continuous Delivery in JavaWith the release of Java 9 and the increasing maturity of web/microservice frameworks such as Spring Boot and Eclipse MicroProfile, there's never been a better time to design and implement Java-powered applications. But Java is only a small piece of the puzzle when it comes to continuously delivering working applications to a production environment.
This practical book charts the journey for establishing the practices and tooling to develop, operate and use a continuous delivery build pipeline for Java applications that will be deployed to a platform such as Kubernetes, AWS Lambda, and other cloud-based services. Each chapter focuses on a key practice within continuous delivery, and outlines appropriate tooling and describes how this should be utilized.Understand the process of continuous delivery, from setting up a local development environment through to deploying into production, and explore how this impacts the skills required from a modern Java application developer; ...
Real-Time Web Application DevelopmentDesign, develop, and deploy a real-world web application by leveraging modern open source technologies. This book shows you how to use ASP.NET Core to build cross-platform web applications along with SignalR to enrich the application by enabling real-time communication between server and clients. You will use Docker to containerize your application, integrate with GitHub to package the application, and provide continuous deployment to Azure's IaaS platform.
Along the way, Real-Time Web Application Development covers topics including designing a Materialize CSS theme, using a test-driven development approach with xUnit.net, and securing your application with the OAuth 2.0 protocol. To further your understanding of the technology, you will learn logging and exception handling; navigation using view components; and how to work with forms and validations. The rich code samples from this book can be used to retrofit or upgrade existing ASP.NET Core applications. ...
Full Stack AngularJS for Java DevelopersGet introduced to full stack enterprise development. Whether you are new to AngularJS and Spring RESTful web services, or you are a seasoned expert, you will be able to build a full-featured web application from scratch using AngularJS and Spring RESTful web services.
Full stack web development is in demand because you can explore the best of different tools and frameworks and yet make your apps solid and reliable in design, scalability, robustness, and security. This book assists you in creating your own full stack development environment that includes the powerful and revamped AngularJS, and Spring REST. The architecture of modern applications is covered to prevent the development of isolated desktop and mobile applications.
By the time you reach the end of this book you will have built a full-featured dynamic app. You will start your journey by setting up a Spring Boot development environment and creating your RESTful services to perform CRUD operations. Then you will migrat ...
Interactive C#Discover object-oriented programming with core concepts of C# in this unique tutorial. The book consists of four major sections which cover 15 core topics - nine of them are dedicated to object-oriented programming, five of them are dedicated to advanced concepts of C#, and one of them is dedicated to design patterns, with coverage of three Gang of Four design patterns with C# implementations. Finally, Interactive C# contains an FAQ section to cover all of these topics.
This book uniquely presents a two-way discussion between a teacher and students. So, with this book you will have the feel of learning C# in a classroom environment or with your private tutor. Your teacher will discuss the problems/topics and ask you questions; at the same time, counter questions are provided to clarify points where necessary. ...
Arduino PlaygroundYou've mastered the basics, conquered the soldering iron, and programmed a robot or two; now you've got a set of skills and tools to take your Arduino exploits further. But what do you do once you've exhausted your to-build list?
Arduino Playground will show you how to keep your hardware hands busy with a variety of intermediate builds, both practical and just-for-fun. Advance your engineering and electronics know-how as you work your way through these 10 complex projects:A reaction-time game that leverages the Arduino's real-time capabilities;A tool for etching your own printed circuit boards;A regulated, variable-voltage power supply;A kinetic wristwatch winder decked out with LEDs;A garage parking assistant that blinks when your vehicle is perfectly parked;A practical and colorful pH meter;A ballistic chronograph that can measure the muzzle velocity of BB, Airsoft, and pellet guns;A battery saver that prevents a ...
React Native CookbookTackling an app development project on multiple platforms is usually an arduous task, but with React Native, you can build cross-platform mobile apps that look and behave just like native apps built with Swift or Java. If you're familiar with JavaScript, the recipes in this cookbook will help you understand the React Native ecosystem, deal with design and hardware issues, take on the deployment process, and write maintainable code.
How do you organize a project? Or design an app that can access a device's camera? Based on author Jonathan Lebensold's personal journey through the app development process, the recipes in this cookbook will not only provide you with quick answers, they can also inspire you to come up with your own solutions.
Examine the software tools you'll use to build a React Native app; Leverage components and JavaScript libraries in the React ecosystem; Design cross-platform apps that balance UX, platform conventions, and technical complexity; Get common use case ...
Head First Android Development, 2nd EditionIf you have an idea for a killer Android app, this fully revised and updated edition will help you build your first working application in a jiffy. You'll learn hands-on how to structure your app, design flexible and interactive interfaces, run services in the background, make your app work on various smartphones and tablets, and much more. It's like having an experienced Android developer sitting right next to you! All you need to get started is some Java know-how.
Based on the latest research in cognitive science and learning theory, Head First Android Development uses a visually rich format to engage your mind, rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multi-sensory learning experience is designed for the way your brain really works. ...