Simple and Efficient Programming with C#, 2nd Edition
Apply skills and approaches to your programming to build a real-world application in C# 11 using the latest editions of Visual Studio, C#, and Microsoft .NET.
This revised edition is updated with C#11 and places more emphasis on the newly introduced top-level statements. Additionally, you will find useful techniques and an explanation of the differences between writing code in two different styles. It also covers the new templates introduced in .NET 6, along with usage of .NET 7 in Windows 10 to write code and generate output.
Each chapter opens with an introduction and original application written in C# 11 so that you can jump right into coding. From there, you are guided through an expected output and taught best practices along the way. Author Vaskaran Sarcar emphasizes extending and maintaining the same program and he demonstrates examples for different scenarios to make your program more efficient and effective.
This book is divided into five parts. The first part ...
Software Development with Go
Gain insights into the different challenges that can be solved using Go, with a focus on containers, Linux, security, networking, user interfaces and other relevant cloud based topics. This book reviews the necessary tools to create container-based cloud solutions with Go, a programming language that was born out of the need to address scalable, high availability cloud computing architecture needs inside Google.
Go, also known as Golang, has been adopted across different industries and products with many popular Open Source projects that power cloud computing technologies such as Docker and Kubernetes being written with Go. As the complexity of cloud technology increases, so does the need for people to understand how things work under-the-hood and to fix them when they're broken. ...
Web Development with Julia and Genie
Julia's high-performance and scalability characteristics and its extensive number of packages for visualizing data make it an excellent fit for developing web apps, web services, and web dashboards. The two parts of this book provide complete coverage to build your skills in web development.
First, you'll refresh your knowledge of the main concepts in Julia that will further be used in web development. Then, you'll use Julia's standard web packages and examine how the building blocks of the web such as TCP-IP, web sockets, HTTP protocol, and so on are implemented in Julia's standard library. Each topic is discussed and developed into code that you can apply in new projects, from static websites to dashboards. You'll also understand how to choose the right Julia framework for a project. The second part of the book talks about the Genie framework. You'll learn how to build a traditional to do app following the MVC design pattern. Next, you'll add a REST API to this project, including ...
Mathematics for Game Programming and Computer Graphics
Mathematics is an essential skill when it comes to graphics and game development, particularly if you want to understand the generation of real-time computer graphics and the manipulation of objects and environments in a detailed way. Python, together with Pygame and PyOpenGL, provides you with the opportunity to explore these features under the hood, revealing how computers generate and manipulate 3D environments.
Mathematics for Game Programming and Computer Graphics is an exhaustive guide to getting "back to the basics" of mathematics, using a series of problem-based, practical exercises to explore ideas around drawing graphic lines and shapes, applying vectors and vertices, constructing and rendering meshes, and working with vertex shaders. By leveraging Python, Pygame, and PyOpenGL, you'll be able to create your own mathematics-based engine and API that will be used throughout to build applications.
By the end of this graphics focussed book, you'll have gained a thoro ...
Grokking Functional Programming
If you've ever found yourself rolling your eyes at functional programming this is the book for you. Open up Grokking Functional Programming and you'll find functional ideas mapped onto what you already know as an object-oriented programmer. The book focuses on practical aspects from page one. Hands-on examples apply functional principles to everyday programming tasks like concurrency, error handling, and improving readability. Plus, puzzles and exercises let you think and practice what you're learning. You'll soon reach an amazing "aha" moment and start seeing code in a completely new way.
Finally, there's an easy way to learn functional programming! This unique book starts with the familiar ideas of OOP and introduces FP step-by-step using relevant examples, engaging exercises, and lots of illustrations. You'll be amazed at how quickly you'll start seeing software tasks from this valuable new perspective.
Grokking Functional Programming introduces fun ...
Master the fundamental programming skills needed to create your own computer games in GameMaker. This book shows how to use GameMaker to build and publish cross-platform games.
Each chapter covers a certain programming element, including layers, variables, and so on. You will also learn how to design levels in your games, draw sprites to populate your virtual worlds, and build GUIs for your menus and game interfaces. GameMaker Fundamentals also provides a thorough introduction to the GameMaker Language (GML). Practical example projects reinforce the concept discussed in each chapter.
On completing this book, you will have a thorough understanding of how to create games from scratch using game design and programming principles using GameMaker and GML. ...
An Application Programming Interface (API) is a software connection that allows applications to communicate and share services. Hacking APIs will teach you how to test web APIs for security vulnerabilities. You'll learn how the common API types, REST, SOAP, and GraphQL, work in the wild. Then you'll set up a streamlined API testing lab and perform common attacks, like those targeting an API's authentication mechanisms, and the injection vulnerabilities commonly found in web applications. In the book's guided labs, which target intentionally vulnerable APIs.
By the end of the book, you'll be prepared to uncover those high-payout API bugs that other hackers aren't finding, and improve the security of applications on the web. ...
An Artist's Guide to Programming
An Artist's Guide to Programming teaches computer programming with the aid of 100 example programs, each of which integrates graphical or sound output. The Processing-language-based examples range from drawing a circle and animating bouncing balls to 3D graphics, audio visualization, and interactive games.
Readers learn core programming concepts like conditions, loops, arrays, strings and functions, as well as how to use Processing to draw lines, shapes, and 3D objects. They'll learn key computer graphics concepts like manipulating images, animating text, mapping textures onto objects, and working with video. Advanced examples include sound effects and audio visualization, network communication, 3D geometry and animation, simulations of snow and smoke, predator-prey populations, and interactive games. ...
Bare Metal C
Bare Metal C will teach you how to program embedded devices with the C programming language. For embedded system programmers who want precise and complete control over the system they are using, this book pulls back the curtain on what the compiler is doing for you so that you can see all the details of what's happening with your program.
The first part of the book teaches C basics with the aid of a low-cost, widely available bare metal system (the Nucleo Arm evaluation system), which gives you all the tools needed to perform basic embedded programming. As you progress through the book you'll learn how to integrate serial input/output (I/O) and interrupts into your programs. You'll also learn what the C compiler and linker do behind the scenes, so that you'll be better able to write more efficient programs that maximize limited memory. Finally, you'll learn how to use more complex, memory hungry C features like dynamic memory, file I/O, and floating-point numbers. ...
WebRTC is an API exposed in all modern web browsers. After almost a decade of development, the WebRTC specification was finalized, and this book provides faithful coverage of that finalized specification. You'll start by building a basic but complete WebRTC application for video chatting. Chapter by chapter, you'll refine that app and its core logic to spi ...
Programming Phoenix LiveView
Instead of settling for traditional manuals and tutorials, get insights that can only be learned from experience. Start with the Elixir language techniques that effortlessly marry your client templates and server-side handlers. Design your systems with the right layers in the right places so that your code is easier to understand, change, and support. Explore features like multi-part uploads and learn how to comprehensively test ...