Swift StyleApple's Swift programming language has finally reached stability, and developers are demanding to know how to program the language properly. Swift Style guides you through the ins and outs of Swift programming best practices. This is the first best practices book for serious, professional Swift programmers and for programmers who want to shine their skills to be hired in this demanding market.
A style guide offers a consistent experience of well-crafted code that lets you focus on the code's underlying meaning, intent, and implementation. This book doesn't offer canonical answers on Swift coding style. It explores the areas of Swift where structure comes into play. Whether you're developing a personal style or a house style, there are always ways to enhance your code choices. You'll find here the ideas and principles to establish or enhance your own best style practices.
Begin with simple syntactical styling. Strengthen code bracing for easy readability. Style your closures for s ...
Scalable Cloud Ops with FugueCloud computing represents the greatest shift in computing in more than a decade. But the promise of the cloud is unrealized. The cloud isn't just about shedding the physical data center - it's about shedding the data center mindset. Cloud infrastructure can be controlled via API calls. This means we can view it as a giant general-purpose computer - and program it. That's where the Fugue operating system and the Ludwig language come in. They automate the creation, operation, enforcement, and termination of infrastructure in the cloud.
This definitive Fugue guide starts with a simple website and moves on to a more robust application with evolving infrastructure needs as you walk through the steps to harnessing the cloud. With Amazon Web Services, launch infrastructure quickly. Debug in design time. Automate deployment and enforcement of your cloud. Centralize your change control process and automate continuous auditing. Rest easy knowing configuration drift, unwanted changes, and inf ...
Functional Programming: A PragPub AnthologyFunctional programming is on the rise because it lets you write simpler, cleaner code, and its emphasis on immutability makes it ideal for maximizing the benefits of multiple cores and distributed solutions. So far nobody's invented the perfect functional languageāeach has its unique strengths. In Functional Programming: A PragPub Anthology, you'll investigate the philosophies, tools, and idioms of five different functional programming languages.
See how Swift, the development language for iOS, encourages you to build highly scalable apps using functional techniques like map and reduce. Discover how Scala allows you to transition gently but deeply into functional programming without losing the benefits of the JVM, while with Lisp-based Clojure, you can plunge fully into the functional style. Learn about advanced functional concepts in Haskell, a pure functional language making powerful use of the type system with type inference and type classes. And see how functional programming ...
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; ...
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 ...