Programming CrystalCrystal is for Ruby programmers who want more performance or for developers who enjoy working in a high-level scripting environment. Crystal combines native execution speed and concurrency with Ruby-like syntax, so you will feel right at home. This book, the first available on Crystal, shows you how to write applications that have the beauty and elegance of a modern language, combined with the power of types and modern concurrency tooling. Now you can write beautiful code that runs faster, scales better, and is a breeze to deploy.
Crystal is elegant to read and easy to program like Ruby, allowing full object-oriented development. Its compiler is powerful enough to nearly always infer the type of your variables. So you get the benefits of a statically typed language: more robust code, safety, and execution speed while still reaching high productivity in development. Null pointer exceptions as in JavaScript, Java, or C#, are a thing of the past: Crystal annihilates them, just like Rus ...
A Scrum BookGain insights and depth of rationale into Scrum from many highly respected world authorities, including one of its founders, who lead you through the deep foundations of Scrum's structure and practice. Enhance and customize your Scrum practice with ninety-four organizational building blocks, called patterns, that you can freely and flexibly choose from to fit your needs. Understand and appreciate the history of Scrum and the role it plays in solving common problems in product development.
Building a successful product usually involves teams of people, and many choose the Scrum approach to aid in creating products that deliver the highest possible value. Implementing Scrum gives teams a collection of powerful ideas they can assemble to fit their needs and meet their goals. The ninety-four patterns contained within are elaborated nuggets of insight into Scrum's building blocks, how they work, and how to use them. They offer novices a roadmap for starting from scratch, yet they help in ...
Basic Math for Game Development with Unity 3DUse Unity-based examples to understand fundamental mathematical concepts and see how they are applied when building modern video game functionality. You will gain the theoretical foundation you need, and you will know how to examine and modify an implementation.
This book covers points in a 3D Cartesian coordinate system, and then discusses vectors and the details of dot and cross products. Basic mathematical foundations are illustrated through Unity-based example implementations. Also provided are examples showing how the concepts are applied when implementing video game functionality, such as collision support, motion simulations, autonomous behaviors, shadow approximations, and reflection off arbitrary walls.
Throughout this book, you learn and examine the concepts and their applications in a game engine.
Understand the basic concepts of points and vectors and their applications in game development; Apply mathematical concepts to modern video game functionality, such as sph ...
Developing Cognitive Bots Using the IBM Watson EngineCognitive Virtual Bots are taking the technology and user experience world by storm. This book provides clear guidance on how different cognitive platforms can be used to develop Cognitive Virtual Assistants that enable a conversation by using DialogFlow and advanced Natural Language Processing. You will start by understanding the technology landscape and various use cases that Cognitive Virtual Assistants can be used in. Early chapters will take you through the basics of Cognitive Virtual Assistants, before moving onto advanced concepts and hands on examples of using IBM Watson Assistant and its advanced configurations with Watson Discovery Services, Watson Knowledge Studio and Spellchecker Service.
You'll then examine integrations that enrich the Cognitive Virtual Assistant by providing data around weather, locations, stock markets. The book concludes by providing a glimpse of what to expect in the future for Cognitive Virtual Assistants.
Review the fundamentals of Cognitive Vi ...
Python for DevOpsMuch has changed in technology over the past decade. Data is hot, the cloud is ubiquitous, and many organizations need some form of automation. Throughout these transformations, Python has become one of the most popular languages in the world. This practical resource shows you how to use Python for everyday Linux systems administration tasks with today's most useful DevOps tools, including Docker, Kubernetes, and Terraform.
Learning how to interact and automate with Linux is essential for millions of professionals. Python makes it much easier. With this book, you'll learn how to develop software and solve problems using containers, as well as how to monitor, instrument, load-test, and operationalize your software. Looking for effective ways to "get stuff done" in Python? This is your guide.
Python foundations, including a brief introduction to the language; How to automate text, write command-line tools, and automate the filesystem; Linux utilities, package management, build syst ...
Think Java, 2nd EditionThink Java is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with the most basic programming concepts and gradually works its way to advanced object-oriented techniques.
In this fully updated and expanded edition, authors Allen Downey and Chris Mayfield introduce programming as a means for solving interesting problems. Each chapter presents material for one week of a college course and includes exercises to help you practice what you've learned. Along the way, you'll see nearly every topic required for the AP Computer Science A exam and Java SE Programmer I certification.
Discover one concept at a time: tackle complex topics in a series of small steps with multiple examples; Understand how to formulate problems, think creatively about solutions, and develop, tes ...
Beginning Ballerina ProgrammingDiscover the Ballerina programming language for next-generation microservices and cloud-native application development. This book shows you that Ballerina is a cutting-edge programming language which incorporates many of the latest technological advancements in programming language theory. You'll learn variables and types, modules and functions, flow control, error handling, concurrency, I/O, cloud/network programming, persistence and data access, security and more.
Additionally, Beginning Ballerina Programming introduces many foundation computer science topics along the way and doesn't assume much prior knowledge. For example, when introducing transport-level security, you will get a brief introduction to public-key cryptography, how it is different from private-key cryptography, and why it is needed. This provides an added bonus for you to learn something new and general in computer science.
After reading and using this book, you'll be proficient with Ballerina and cloud-firs ...
C# 8.0 in a NutshellWhen you have questions about C# 8.0 or .NET Core, this best-selling guide has the answers you need. C# is a language of unusual flexibility and breadth, but with its continual growth there's so much more to learn. In the tradition of the O'Reilly Nutshell guides, this thoroughly updated edition is simply the best one-volume reference to the C# language available today.
Organized around concepts and use cases, C# 8.0 in a Nutshell provides intermediate and advanced programmers with a concise map of C# and .NET knowledge that also plumbs significant depths.
Get up to speed on C#, from syntax and variables to advanced topics such as pointers, closures, and patterns; Dig deep into LINQ with three chapters dedicated to the topic; Explore concurrency and asynchrony, advanced threading, and parallel programming; Work with .NET features, including regular expressions, networking, serialization, spans, reflection, and cryptography; Delve into Roslyn, the modular C# compiler as a service ...
Python One-LinersPython One-Liners will teach you how to read and write "one-liners": concise statements of useful functionality packed into a single line of code. You'll learn how to systematically unpack and understand any line of Python code, and write eloquent, powerfully compressed Python like an expert.
The book's five chapters cover tips and tricks, regular expressions, machine learning, core data science topics, and useful algorithms. Detailed explanations of one-liners introduce key computer science concepts and boost your coding and analytical skills.
You'll learn about advanced Python features such as list comprehension, slicing, lambda functions, regular expressions, map and reduce functions, and slice assignments.
You'll also learn how to: Leverage data structures to solve real-world problems, like using Boolean indexing to find cities with above-average pollution; Use NumPy basics such as array, shape, axis, type, broadcasting, advanced indexing, slicing, sorting, searching, aggr ...
Zero to AIHow can artificial intelligence transform your business? In Zero to AI, you'll explore a variety of practical AI applications you can use to improve customer experiences, optimize marketing, help you cut costs, and more. In this engaging guide written for business leaders and technology pros alike, authors and AI experts Nicolò Valigi and Gianluca Mauro use fascinating projects, hands-on activities, and real-world explanations to make it clear how your business can benefit from AI.
There's no doubt that artificial intelligence has made some impressive headlines recently, from besting chess and Go grand masters to producing uncanny deep fakes that blur the lines of reality. But what can AI do for you? If you want to understand how AI will impact your business before you invest your time and money, this book is for you.
Zero to AI uses clear examples and jargon-free explanations to show the practical benefits of AI. Each chapter explores a real-world case study demonstrating how c ...