Adopting ElixirAdoption is more than programming. Elixir is an exciting new language, but to successfully get your application from start to finish, you're going to need to know more than just the language. You need the case studies and strategies in this book. Learn the best practices for the whole life of your application, from design and team-building, to managing stakeholders, to deployment and monitoring. Go beyond the syntax and the tools to learn the techniques you need to develop your Elixir application from concept to production.
Learn real-life strategies from the people who built Elixir and use it successfully at scale. See how Ben Marx and Bleacher Report maintain one of the highest-traffic Elixir applications by selling the concept to management and delivering on that promise. Find out how Bruce Tate and icanmakeitbetter hire and train Elixir engineers, and the techniques they've employed to design and ensure code consistency since Elixir's early days. Explore customer challenges in d ...
Software Design X-RaysAre you working on a codebase where cost overruns, death marches, and heroic fights with legacy code monsters are the norm? Battle these adversaries with novel ways to identify and prioritize technical debt, based on behavioral data from how developers work with code. And that's just for starters. Because good code involves social design, as well as technical design, you can find surprising dependencies between people and code to resolve coordination bottlenecks among teams. Best of all, the techniques build on behavioral data that you already have: your version-control system. Join the fight for better code!
Use statistics and data science to uncover both problematic code and the behavioral patterns of the developers who build your software. This combination gives you insights you can't get from the code alone. Use these insights to prioritize refactoring needs, measure their effect, find implicit dependencies between different modules, and automatically create knowledge maps of yo ...
Java by ComparisonImprove your coding skills by comparing your code to that of expert programmers so you can write code that's clean, concise, and to the point: code that others will read with pleasure and reuse. Get hands-on advice to level up your coding style through small and understandable examples that compare flawed code to an improved solution. Discover handy tips and tricks, as well as common bugs an experienced Java programmer needs to know. Make your way from a Java novice to a master craftsman.
This book is a useful companion for anyone learning to write clean Java code. The authors introduce you to the fundamentals of becoming a software craftsman by comparing pieces of problematic code with an improved version to help you to develop a sense for clean code. This unique before-and-after approach teaches you to create clean Java code.
Learn to keep your booleans in check, dodge formatting bugs, get rid of magic numbers, and use the right style of iteration. Write informative comments wh ...
Objective-C for Absolute Beginners, 4th EditionLearn Objective-C and its latest release, and learn how to mix Swift with it. You have a great idea for an app, but how do you bring it to fruition? With Objective-C, the universal language of iPhone, iPad, and Mac apps.
Using a hands-on approach, you'll learn how to think in programming terms, how to use Objective-C to construct program logic, and how to synthesize it all into working apps. Gary Bennett, an experienced app developer and trainer, will guide you on your journey to becoming a successful app developer. Along the way you'll discover the flexibility of Apple's developer tools
If you're looking to take the first step towards App Store success, Objective-C for Absolute Beginners, Fourth Edition is the place to start.
Understand the fundamentals of computer programming: variables, design data structures, and working with file systems; Examine the logic of object-oriented programming: how to use classes, objects, and methods; Install Xcode and write programs in Object ...
Flask Web Development, 2nd EditionTake full creative control of your web applications with Flask, the Python-based microframework. With the second edition of this hands-on book, you'll learn Flask from the ground up by developing a complete, real-world application created by author Miguel Grinberg. This refreshed edition accounts for important technology changes that have occurred in the past three years.
Explore the framework's core functionality, and learn how to extend applications with advanced web techniques such as database migrations and an application programming interface. The first part of each chapter provides you with reference and background for the topic in question, while the second part guides you through a hands-on implementation.
If you have Python experience, you're ready to take advantage of the creative freedom Flask provides. Three sections include: A thorough introduction to Flask: explore web application development basics with Flask and an application structure appropriate for medium and ...
Beginning C# 7 Programming with Visual Studio 2017Beginning C# 7 Programming with Visual Studio 2017 is the beginner's ultimate guide to the world's most popular programming language. Whether you're new to programming entirely, or just new to C#, there has never been a better time to get started. The new C# 7 and Visual Studio 2017 updates feature a number of new tools and features that streamline the workflow, simplify the code, and make it easier than ever to build high-quality apps. This book walks you through everything you need to know, starting from the very basics, to have you programming in no time. You'll learn about variables, flow control, and object oriented programming, then move into Web and Windows programming as well as databases and XML. The companion website provides downloadable code examples, and practical Try It Out sections provide explicit, step-by-step instructions for writing your own useful, customizable code.
C# 7 can be used to build Windows applications, program Windows 10, and write Web apps when used ...
Expert C++ ProgrammingC++ has come a long way and has now been adopted in several contexts. Its key strengths are its software infrastructure and resource-constrained applications. The C++ 17 release will change the way developers write code, and this course will help you master your developing skills with C++. With real-world, practical examples explaining each concept, the course is divided into three modules where will begin by introducing you to the latest features in C++ 17. It encourages clean code practices in C++ in general and demonstrates the GUI app-development options in C++. You'll get tips on avoiding memory leaks using smart-pointers.
In the next module, you'll see how multi-threaded programming can help you achieve concurrency in your applications. We start with a brief introduction to the fundamentals of multithreading and concurrency concepts. We then take an in-depth look at how these concepts work at the hardware-level as well as how both operating systems and frameworks use these low-l ...
Mastering Linux Shell Scripting, 2nd EditionIn this book, you'll discover everything you need to know to master shell scripting and make informed choices about the elements you employ.
Grab your favorite editor and start writing your best Bash scripts step by step. Get to grips with the fundamentals of creating and running a script in normal mode, and in debug mode. Learn about various conditional statements code snippets, and realize the power of repetition and loops in your shell script. You will also learn to write complex shell scripts. This book will also deep dive into file system administration, directories, and system administration like networking, process management, user authentications, and package installation and regular expressions. Towards the end of the book, you will learn how to use Python as a BASH Scripting alternative.
By the end of this book, you will know shell scripts at the snap of your fingers and will be able to automate and communicate with your system with keyboard expressions.
Make, execut ...
Programming iOS 11If you're grounded in the basics of Swift, Xcode, and the Cocoa framework, this book provides a structured explanation of all essential real-world iOS app components. Through deep exploration and copious code examples, you'll learn how to create views, manipulate view controllers, and add features from iOS frameworks.
Create, arrange, draw, layer, and animate views that respond to touch; Use view controllers to manage multiple screens of interface; Master interface classes for scroll views, table views, text, popovers, split views, web views, and controls; Dive into frameworks for sound, video, maps, and sensors; Access user libraries: music, photos, contacts, and calendar; Explore additional topics, including files, networking, and threads; Drag and drop; Autolayout changes (including the new safe area); Stretchable navigation bars; Table cell swipe buttons; Dynamic type improvements; Offline sound file rendering, image picker controller changes, new map annotation types, and more. ...
Java Pocket Guide, 4th EditionAny time you need quick answers for developing or debugging Java programs, this pocket guide is the ideal reference to standard features of the Java programming language and its platform. You'll find helpful programming examples, tables, figures, and lists fast - including Java 9 features such as modular source code and the new JShell interactive command-line REPL. It's a handy companion, whether you're in the office, in the lab, or on the road.
This book also provides material to help you prepare for the Oracle Certified Associate Java Programmer exam.
Quickly find Java language details, such as naming conventions, types, statements and blocks, and object-oriented programming; Get details on the Java SE platform, including development basics, memory management, concurrency, and generics; Use new features in Java 9, including modular source code and JShell; Browse through information on basic input/output, NIO 2.0, the Java collections framework, and the Java Scripting API; Get s ...