Test-Driven Development in SwiftLeverage Swift to practice effective and efficient test-driven development (TDD) methodology. Software testing and TDD are evergreen programming concepts - yet Swift developers haven't widely adopted them. What's needed is a clear roadmap to learn and adopt TDD in the Swift world. Over the past years, Apple has invested in XCTest and Xcode's testing infrastructure, making testing a new top priority in their ecosystem. Open-source libraries such as Quick and Nimble have also reached maturity. The tools are there. This book will show you how to wield them.
TDD has much more to offer than catching bugs. With this book, you'll learn a philosophy for building software. TDD enables engineers to solve problems incrementally, writing only as much code as necessary. By decomposing big problems into small steps, you can move along at a fast pace, always making visible progress.
Participate in the test-driven development journey by building a real iOS application and incorporating new con ...
Learning AlgorithmsWhen it comes to writing efficient code, every software professional needs to have an effective working knowledge of algorithms. In this practical book, author George Heineman (Algorithms in a Nutshell) provides concise and informative descriptions of key algorithms that improve coding. Software developers, testers, and maintainers will discover how algorithms solve computational problems creatively.
Each chapter builds on earlier chapters through eye-catching visuals and a steady rollout of essential concepts, including an algorithm analysis to classify the performance of every algorithm presented in the book. At the end of each chapter, you'll get to apply what you've learned to a novel challenge problem - simulating the experience you might find in a technical code interview.
With this book, you will: Examine fundamental algorithms central to computer science and software engineering; Learn common strategies for efficient problem solving - such as divide and conquer, dynamic p ...
Good Code, Bad CodeThe difference between good code or bad code often comes down to how you apply the established practices of the software development community. In Good Code, Bad Code you'll learn how to boost your productivity and effectiveness with code development insights normally only learned through careful mentorship and hundreds of code reviews.
Software development is a team sport. For an application to succeed, your code needs to be robust and easy for others to understand, maintain, and adapt. Whether you're working on an enterprise team, contributing to an open source project, or bootstrapping a startup, it pays to know the difference between good code and bad code.
Good Code, Bad Code is a clear, practical introduction to writing code that's a snap to read, apply, and remember. With dozens of instantly-useful techniques, you'll find coding insights that normally take years of experience to master. In this fast-paced guide, Google software engineer Tom Long teaches you a host of rules ...
Learning Test-Driven DevelopmentYour code is a testament to your skills as a developer. No matter what language you use, code should be clean, elegant, and uncluttered. By using test-driven development (TDD), you'll write code that's easy to understand, retains its elegance, and works for months, even years, to come. With this indispensable guide, you'll learn how to use TDD with three different languages: Go, JavaScript, and Python.
Author Saleem Siddiqui shows you how to tackle domain complexity using a unit test-driven approach. TDD partitions requirements into small, implementable features, enabling you to solve problems irrespective of the languages and frameworks you use. With Learning Test-Driven Development at your side, you'll learn how to incorporate TDD into your regular coding practice.
This book helps you: Use TDD's divide-and-conquer approach to tame domain complexity; Understand how TDD works across languages, testing frameworks, and domain concepts; Learn how TDD enables continuous integration; ...
Pipeline as CodePipeline as Code is a practical guide to automating your development pipeline in a cloud-native, service-driven world. You'll use the latest infrastructure-as-code tools like Packer and Terraform to develop reliable CI/CD pipelines for numerous cloud-native applications. Follow this book's insightful best practices, and you'll soon be delivering software that's quicker to market, faster to deploy, and with less last-minute production bugs.
Treat your CI/CD pipeline like the real application it is. With the Pipeline as Code approach, you create a collection of scripts that replace the tedious web UI wrapped around most CI/CD systems. Code-driven pipelines are easy to use, modify, and maintain, and your entire CI pipeline becomes more efficient because you directly interact with core components like Jenkins, Terraform, and Docker.
In Pipeline as Code you'll learn to build reliable CI/CD pipelines for cloud-native applications. With Jenkins as the backbone, you'll programmatically c ...
Five Lines of CodeImproving existing code - refactoring - is one of the most common tasks you'll face as a programmer. Five Lines of Code teaches you clear and actionable refactoring rules that you can apply without relying on intuitive judgements such as "code smells." Following the author's expert perspective - that refactoring and code smells can be learned by following a concrete set of principles - you'll learn when to refactor your code, what patterns to apply to what problem, and the code characteristics that indicate it's time for a rework.
Every codebase includes mistakes and inefficiencies that you need to find and fix. Refactor the right way, and your code becomes elegant, easy to read, and easy to maintain. In this book, you'll learn a unique approach to refactoring that implements any method in five lines or fewer. You'll also discover a secret most senior devs know: sometimes it's quicker to hammer out code and fix it later!
Five Lines of Code is a fresh look at refactoring for devel ...
C and Python ApplicationsSolve problems by embedding Python code in a C programs, SQL methods, Python sockets. This book uses rudimentary mathematics and basic programming to create practical Python applications for embedding.
You'll start with an introduction to C and Python, assuming a fundamental understanding of what programming is. You will also review the basics of the database management language, SQL. You will learn how to use SQL from a C program and from a Python program. C and Python have different programming strengths, and you will learn how to write a Python program embedded within a C program to profit from the strength of each, in one program. Finally, you will explore how socket programs enable two computers to communicate with each other. Here the book covers basic server-client, basic threaded, and basic chat programs. ...
Learn JavaFX 17, 2nd EditionThis unique in-depth tutorial shows you how to start developing rich-client desktop applications using your Java skills and provides comprehensive coverage of JavaFX 17's features. Each chapter starts with an introduction to the topic at hand, followed by a step-by-step discussion of the topic with small snippets of code. The book contains numerous figures aiding readers in visualizing the GUI that is built at every step in the discussion. This book has been revised to include JavaFX 17 and earlier releases since previous edition.
It starts with an introduction to JavaFX and its history. It lists the system requirements and the steps to start developing JavaFX applications. It shows you how to create a Hello World application in JavaFX, explaining every line of code in the process. Later in the book, authors Kishori Sharan and Peter Späth discuss advanced topics such as 2D and 3D graphics, charts, FXML, advanced controls, and printing. Some of the advanced controls such as TableVie ...
Unity in Action, 3rd EditionThousands of new game developers have chosen Joe Hocking's Unity in Action as their first step toward Unity mastery. Starting with the initial groundwork of a new game development project, you'll quickly start writing custom code instead of clicking together premade scripts. This fully updated third edition comes packed with fully refreshed graphics, Unity's latest features, and coverage of augmented and virtual reality toolkits. You'll master the Unity toolset from the ground up, learning the skills to go from application coder to game developer.
Writing games is rewarding and fun - and with Unity, it's easy to get started! Unity handles the heavy lifting, so you can focus on game play, graphics, and user experience. C# support and a huge ecosystem of prebuilt components help even first-time developers go from the drawing board to the screen fast.
Unity in Action, 3rd Edition teaches you to create games with the Unity game platform. It's many 2D, 3D, and AR/VR game examples give ...
How to Code in HTML5 and CSS3"How to Code in HTML5 and CSS3" is a free e-book about making websites in HTML5 and CSS for absolute beginners. It doesn't require any experience in IT to start. The aim of this book is to show the art of making websites using a plain language which is full of practical analogies. After reading over 100 pages you will get to know basic concepts and techniques of web development and be able to build your first website ever! ...