Hands On High Performance With Go

Hands On High Performance With Go Book in PDF, ePub and Kindle version is available to download in english. Read online anytime anywhere directly from your device. Click on the download button below to get a free pdf file of Hands On High Performance With Go book. This book definitely worth reading, it is an incredibly well-written.

Hands-On High Performance with Go

Author : Bob Strecansky
Publisher : Packt Publishing Ltd
Page : 387 pages
File Size : 45,9 Mb
Release : 2020-03-24
Category : Computers
ISBN : 9781789801774

Get Book

Hands-On High Performance with Go by Bob Strecansky Pdf

Proven methodologies and concurrency techniques that will help you write faster and better code with Go programming Key FeaturesExplore Go’s profiling tools to write faster programs by identifying and fixing bottlenecksAddress Go-specific performance issues such as memory allocation and garbage collectionDelve into the subtleties of concurrency and discover how to successfully implement it in everyday applicationsBook Description Go is an easy-to-write language that is popular among developers thanks to its features such as concurrency, portability, and ability to reduce complexity. This Golang book will teach you how to construct idiomatic Go code that is reusable and highly performant. Starting with an introduction to performance concepts, you’ll understand the ideology behind Go’s performance. You’ll then learn how to effectively implement Go data structures and algorithms along with exploring data manipulation and organization to write programs for scalable software. This book covers channels and goroutines for parallelism and concurrency to write high-performance code for distributed systems. As you advance, you’ll learn how to manage memory effectively. You’ll explore the compute unified device architecture (CUDA) application programming interface (API), use containers to build Go code, and work with the Go build cache for quicker compilation. You’ll also get to grips with profiling and tracing Go code for detecting bottlenecks in your system. Finally, you’ll evaluate clusters and job queues for performance optimization and monitor the application for performance regression. By the end of this Go programming book, you’ll be able to improve existing code and fulfill customer requirements by writing efficient programs. What you will learnOrganize and manipulate data effectively with clusters and job queuesExplore commonly applied Go data structures and algorithmsWrite anonymous functions in Go to build reusable appsProfile and trace Go apps to reduce bottlenecks and improve efficiencyDeploy, monitor, and iterate Go programs with a focus on performanceDive into memory management and CPU and GPU parallelism in GoWho this book is for This Golang book is a must for developers and professionals who have an intermediate-to-advanced understanding of Go programming, and are interested in improving their speed of code execution.

Hands-On System Programming with Go

Author : Alex Guerrieri
Publisher : Packt Publishing Ltd
Page : 441 pages
File Size : 50,7 Mb
Release : 2019-07-05
Category : Computers
ISBN : 9781789803365

Get Book

Hands-On System Programming with Go by Alex Guerrieri Pdf

Explore the fundamentals of systems programming starting from kernel API and filesystem to network programming and process communications Key FeaturesLearn how to write Unix and Linux system code in Golang v1.12Perform inter-process communication using pipes, message queues, shared memory, and semaphoresExplore modern Go features such as goroutines and channels that facilitate systems programmingBook Description System software and applications were largely created using low-level languages such as C or C++. Go is a modern language that combines simplicity, concurrency, and performance, making it a good alternative for building system applications for Linux and macOS. This Go book introduces Unix and systems programming to help you understand the components the OS has to offer, ranging from the kernel API to the filesystem, and familiarize yourself with Go and its specifications. You'll also learn how to optimize input and output operations with files and streams of data, which are useful tools in building pseudo terminal applications. You'll gain insights into how processes communicate with each other, and learn about processes and daemon control using signals, pipes, and exit codes. This book will also enable you to understand how to use network communication using various protocols, including TCP and HTTP. As you advance, you'll focus on Go's best feature-concurrency helping you handle communication with channels and goroutines, other concurrency tools to synchronize shared resources, and the context package to write elegant applications. By the end of this book, you will have learned how to build concurrent system applications using Go What you will learnExplore concepts of system programming using Go and concurrencyGain insights into Golang's internals, memory models and allocationFamiliarize yourself with the filesystem and IO streams in generalHandle and control processes and daemons' lifetime via signals and pipesCommunicate with other applications effectively using a networkUse various encoding formats to serialize complex data structuresBecome well-versed in concurrency with channels, goroutines, and syncUse concurrency patterns to build robust and performant system applicationsWho this book is for If you are a developer who wants to learn system programming with Go, this book is for you. Although no knowledge of Unix and Linux system programming is necessary, intermediate knowledge of Go will help you understand the concepts covered in the book

Hands-On Software Engineering with Golang

Author : Achilleas Anagnostopoulos
Publisher : Packt Publishing Ltd
Page : 625 pages
File Size : 52,9 Mb
Release : 2020-01-24
Category : Computers
ISBN : 9781838550240

Get Book

Hands-On Software Engineering with Golang by Achilleas Anagnostopoulos Pdf

Explore software engineering methodologies, techniques, and best practices in Go programming to build easy-to-maintain software that can effortlessly scale on demand Key FeaturesApply best practices to produce lean, testable, and maintainable Go code to avoid accumulating technical debtExplore Go’s built-in support for concurrency and message passing to build high-performance applicationsScale your Go programs across machines and manage their life cycle using KubernetesBook Description Over the last few years, Go has become one of the favorite languages for building scalable and distributed systems. Its opinionated design and built-in concurrency features make it easy for engineers to author code that efficiently utilizes all available CPU cores. This Golang book distills industry best practices for writing lean Go code that is easy to test and maintain, and helps you to explore its practical implementation by creating a multi-tier application called Links ‘R’ Us from scratch. You’ll be guided through all the steps involved in designing, implementing, testing, deploying, and scaling an application. Starting with a monolithic architecture, you’ll iteratively transform the project into a service-oriented architecture (SOA) that supports the efficient out-of-core processing of large link graphs. You’ll learn about various cutting-edge and advanced software engineering techniques such as building extensible data processing pipelines, designing APIs using gRPC, and running distributed graph processing algorithms at scale. Finally, you’ll learn how to compile and package your Go services using Docker and automate their deployment to a Kubernetes cluster. By the end of this book, you’ll know how to think like a professional software developer or engineer and write lean and efficient Go code. What you will learnUnderstand different stages of the software development life cycle and the role of a software engineerCreate APIs using gRPC and leverage the middleware offered by the gRPC ecosystemDiscover various approaches to managing package dependencies for your projectsBuild an end-to-end project from scratch and explore different strategies for scaling itDevelop a graph processing system and extend it to run in a distributed mannerDeploy Go services on Kubernetes and monitor their health using PrometheusWho this book is for This Golang programming book is for developers and software engineers looking to use Go to design and build scalable distributed systems effectively. Knowledge of Go programming and basic networking principles is required.

Hands-On High Performance Programming with Qt 5

Author : Marek Krajewski
Publisher : Packt Publishing Ltd
Page : 379 pages
File Size : 50,8 Mb
Release : 2019-01-31
Category : Computers
ISBN : 9781789533309

Get Book

Hands-On High Performance Programming with Qt 5 by Marek Krajewski Pdf

Build efficient and fast Qt applications, target performance problems, and discover solutions to refine your code Key FeaturesBuild efficient and concurrent applications in Qt to create cross-platform applicationsIdentify performance bottlenecks and apply the correct algorithm to improve application performanceDelve into parallel programming and memory management to optimize your codeBook Description Achieving efficient code through performance tuning is one of the key challenges faced by many programmers. This book looks at Qt programming from a performance perspective. You'll explore the performance problems encountered when using the Qt framework and means and ways to resolve them and optimize performance. The book highlights performance improvements and new features released in Qt 5.9, Qt 5.11, and 5.12 (LTE). You'll master general computer performance best practices and tools, which can help you identify the reasons behind low performance, and the most common performance pitfalls experienced when using the Qt framework. In the following chapters, you’ll explore multithreading and asynchronous programming with C++ and Qt and learn the importance and efficient use of data structures. You'll also get the opportunity to work through techniques such as memory management and design guidelines, which are essential to improve application performance. Comprehensive sections that cover all these concepts will prepare you for gaining hands-on experience of some of Qt's most exciting application fields - the mobile and embedded development domains. By the end of this book, you'll be ready to build Qt applications that are more efficient, concurrent, and performance-oriented in nature What you will learnUnderstand classic performance best practicesGet to grips with modern hardware architecture and its performance impactImplement tools and procedures used in performance optimizationGrasp Qt-specific work techniques for graphical user interface (GUI) and platform programmingMake Transmission Control Protocol (TCP) and Hypertext Transfer Protocol (HTTP) performant and use the relevant Qt classesDiscover the improvements Qt 5.9 (and the upcoming versions) holds in storeExplore Qt's graphic engine architecture, strengths, and weaknessesWho this book is for This book is designed for Qt developers who wish to build highly performance applications for desktop and embedded devices. Programming Experience with C++ is required.

Hands-On High Performance with Spring 5

Author : Chintan Mehta,Subhash Shah,Pritesh Shah,Prashant Goswami,Dinesh Radadiya
Publisher : Packt Publishing Ltd
Page : 399 pages
File Size : 53,5 Mb
Release : 2018-06-12
Category : Computers
ISBN : 9781788830638

Get Book

Hands-On High Performance with Spring 5 by Chintan Mehta,Subhash Shah,Pritesh Shah,Prashant Goswami,Dinesh Radadiya Pdf

A hands-on guide to creating, monitoring, and tuning a high performance Spring web application Key Features Understand common performance pitfalls and improve your application's performance Build and deploy strategies for complex applications using the microservice architecture Understand internals of JVM - the core of all Java Runtime Environments Book Description While writing an application, performance is paramount. Performance tuning for real-world applications often involves activities geared toward detecting bottlenecks. The recent release of Spring 5.0 brings major advancements in the rich API provided by the Spring framework, which means developers need to master its tools and techniques to achieve high performance applications. Hands-On High Performance with Spring 5 begins with the Spring framework's core features, exploring the integration of different Spring projects. It proceeds to evaluate various Spring specifications to identify those adversely affecting performance. You will learn about bean wiring configurations, aspect-oriented programming, database interaction, and Hibernate to focus on the metrics that help identify performance bottlenecks. You will also look at application monitoring, performance optimization, JVM internals, and garbage collection optimization. Lastly, the book will show you how to leverage the microservice architecture to build a high performance and resilient application. By the end of the book, you will have gained an insight into various techniques and solutions to build and troubleshoot high performance Spring-based applications. What you will learn Master programming best practices and performance improvement with bean wiring Analyze the performance of various AOP implementations Explore database interactions with Spring to optimize design and configuration Solve Hibernate performance issues and traps Leverage multithreading and concurrent programming to improve application performance Gain a solid foundation in JVM performance tuning using various tools Learn the key concepts of the microservice architecture and how to monitor them Perform Spring Boot performance tuning, monitoring, and health checks Who this book is for If you’re a Spring developer who’d like to build high performance applications and have more control over your application's performance in production and development, this book is for you. Some familiarity with Java, Maven, and Eclipse is necessary.

Hands-On Dependency Injection in Go

Author : Corey Scott
Publisher : Packt Publishing Ltd
Page : 338 pages
File Size : 42,7 Mb
Release : 2018-11-27
Category : Computers
ISBN : 9781789131758

Get Book

Hands-On Dependency Injection in Go by Corey Scott Pdf

Explore various dependency injection methods in Go such as monkey patching, constructor injection, and method injection Key FeaturesLearn to evaluate Code UX and make it betterExplore SOLID principles and understand how they relate to dependency injectionUse Google's wire framework to simplify dependence managementBook Description Hands-On Dependency Injection in Go takes you on a journey, teaching you about refactoring existing code to adopt dependency injection (DI) using various methods available in Go. Of the six methods introduced in this book, some are conventional, such as constructor or method injection, and some unconventional, such as just-in-time or config injection. Each method is explained in detail, focusing on their strengths and weaknesses, and is followed with a step-by-step example of how to apply it. With plenty of examples, you will learn how to leverage DI to transform code into something simple and flexible. You will also discover how to generate and leverage the dependency graph to spot and eliminate issues. Throughout the book, you will learn to leverage DI in combination with test stubs and mocks to test otherwise tricky or impossible scenarios. Hands-On Dependency Injection in Go takes a pragmatic approach and focuses heavily on the code, user experience, and how to achieve long-term benefits through incremental changes. By the end of this book, you will have produced clean code that’s easy to test. What you will learnUnderstand the benefits of DIExplore SOLID design principles and how they relate to GoAnalyze various dependency injection patterns available in GoLeverage DI to produce high-quality, loosely coupled Go codeRefactor existing Go code to adopt DIDiscover tools to improve your code’s testability and test coverageGenerate and interpret Go dependency graphsWho this book is for Hands-On Dependency Injection in Go is for programmers with a few year s experience in any language and a basic understanding of Go. If you wish to produce clean, loosely coupled code that is inherently easier to test, this book is for you.

Hands-On Full Stack Development with Go

Author : Mina Andrawos
Publisher : Packt Publishing Ltd
Page : 309 pages
File Size : 46,7 Mb
Release : 2019-03-28
Category : Computers
ISBN : 9781789138658

Get Book

Hands-On Full Stack Development with Go by Mina Andrawos Pdf

Create a real-world application in Go and explore various frameworks and methodologies for full-stack development Key FeaturesBuild a responsive front end by using the powerful React frameworkBuild web APIs and middleware in the Go language by making use of the popular Gin frameworkBuild an Isomorphic Go React application via GopherJSPerform unit tests, and benchmarking on your web APIBook Description The Go programming language has been rapidly adopted by developers for building web applications. With its impressive performance and ease of development, Go enjoys the support of a wide variety of open source frameworks, for building scalable and high-performant web services and apps. Hands-On Full Stack Development with Go is a comprehensive guide that covers all aspects of full stack development with Go. This clearly written, example-rich book begins with a practical exposure to Go development and moves on to build a frontend with the popular React framework. From there, you will build RESTful web APIs utilizing the Gin framework. After that, we will dive deeper into important software backend concepts, such as connecting to the database via an ORM, designing routes for your services, securing your services, and even charging credit cards via the popular Stripe API. We will also cover how to test, and benchmark your applications efficiently in a production environment. In the concluding chapters, we will cover isomorphic developments in pure Go by learning about GopherJS. As you progress through the book, you'll gradually build a musical instrument online store application from scratch. By the end of the book, you will be confident in taking on full stack web applications in Go. What you will learnUnderstand Go programming by building a real-world applicationLearn the React framework to develop a frontend for your applicationUnderstand isomorphic web development utilizing the GopherJS frameworkExplore methods to write RESTful web APIs in Go using the Gin frameworkLearn practical topics such as ORM layers, secure communications, and Stripe's APILearn methods to benchmark and test web APIs in GoWho this book is for Hands-On Full Stack Development with Go will appeal to developers who are looking to start building amazing full stack web applications in Go. Basic knowhow of Go language and JavaScript is expected. The book targets web developers who are looking to move to the Go language.

Hands-On JavaScript High Performance

Author : Justin Scherer
Publisher : Packt Publishing Ltd
Page : 368 pages
File Size : 43,7 Mb
Release : 2020-02-28
Category : Computers
ISBN : 9781838825867

Get Book

Hands-On JavaScript High Performance by Justin Scherer Pdf

An example-driven guide covering modern web app development techniques and emerging technologies such as WebAssembly, Service Workers, and Svelte.js to build faster, secure, and scalable apps Key FeaturesDiscover effective techniques for accessing DOM, minimizing painting, and using a V8 engine to optimize JavaScriptUnderstand what makes the web tick and create apps that look and feel like native desktop applicationsExplore modern JavaScript frameworks like Svelte.js for building next-gen web appsBook Description High-performance web development is all about cutting through the complexities in different layers of a web app and building services and APIs that improve the speed and performance of your apps on the browser. With emerging web technologies, building scalable websites and sustainable web apps is smoother than ever. This book starts by taking you through the web frontend, popular web development practices, and the latest version of ES and JavaScript. You'll work with Node.js and learn how to build web apps without a framework. The book consists of three hands-on examples that help you understand JavaScript applications at both the server-side and the client-side using Node.js and Svelte.js. Each chapter covers modern techniques such as DOM manipulation and V8 engine optimization to strengthen your understanding of the web. Finally, you’ll delve into advanced topics such as CI/CD and how you can harness their capabilities to speed up your web development dramatically. By the end of this web development book, you'll have understood how the JavaScript landscape has evolved, not just for the frontend but also for the backend, and be ready to use new tools and techniques to solve common web problems. What you will learnExplore Vanilla JavaScript for optimizing the DOM, classes, and modules, and querying with jQueryUnderstand immutable and mutable code and develop faster web appsDelve into Svelte.js and use it to build a complete real-time Todo appBuild apps to work offline by caching calls using service workersWrite C++ native code and call the WebAssembly module with JavaScript to run it on a browserImplement CircleCI for continuous integration in deploying your web appsWho this book is for This JavaScript book is for web developers, C/C++ programmers, and anyone who wants to build robust web applications using advanced web technologies. This book assumes a good grasp of Vanilla JavaScript and an understanding of web development tools, such as Chrome Developer tools or Mozilla’s developer tools.

Hands-On GUI Application Development in Go

Author : Andrew Williams
Publisher : Packt Publishing Ltd
Page : 432 pages
File Size : 52,5 Mb
Release : 2019-02-25
Category : Computers
ISBN : 9781789131161

Get Book

Hands-On GUI Application Development in Go by Andrew Williams Pdf

Discover Golang's GUI libraries such as Go-GTK (GIMP Toolkit) and Go-Qt and build beautiful, performant, and responsive graphical applications Key FeaturesConceptualize and build state-of-art GUI applications with Golang (Go)Tackle the complexity of varying GUI application sizes with a structured and scalable approachGet hands-on experience of GUI development with Shiny, and labs/ui, Fyne, and WalkBook Description Go is often compared to C++ when it comes to low-level programming and implementations that require faster processing, such as Graphical User Interfaces (GUIs). In fact, many claim that Go is superior to C++ in terms of its concurrency and ease of use. Most graphical application toolkits, though, are still written using C or C++, and so they don't enjoy the benefits of using a modern programming language such as Go. This guide to programming GUIs with Go 1.11 explores the various toolkits available, including UI, Walk, Shiny, and Fyne. The book compares the vision behind each project to help you pick the right approach for your project. Each framework is described in detail, outlining how you can build performant applications that users will love. To aid you further in creating applications using these emerging technologies, you'll be able to easily refer to code samples and screenshots featured in the book. In addition to toolkit-specific discussions, you'll cover more complex topics, such as how to structure growing graphical applications, and how cross-platform applications can integrate with each desktop operating system to create a seamless user experience. By delving into techniques and best practices for organizing and scaling Go-based graphical applications, you'll also glimpse Go's impressive concurrency system. In the concluding chapters, you'll discover how to distribute to the main desktop marketplaces and distribution channels. By the end of this book, you'll be a confident GUI developer who can use the Go language to boost the performance of your applications. What you will learnUnderstand the benefits and complexities of building native graphical applications Gain insights into how Go makes cross-platform graphical application development simple Build platform-native GUI applications using andlabs/ui Develop graphical Windows applications using Walk Create multiplatform GUI applications using Shiny, Nuklear, and Fyne Use Go wrappers for GTK and Qt for GUI application development Streamline your requirements to pick the correct toolkit strategyWho this book is for This book is designed for Go developers who are interested in building native graphical applications for desktop computers and beyond. Some knowledge of building applications using Go is useful, but not essential. Experience in developing GUIs is not required as the book explores the benefits and challenges they pose. This book will also be beneficial for GUI application developers who are interested in trying Go.

Programming in Go

Author : Mark Summerfield
Publisher : Addison-Wesley
Page : 496 pages
File Size : 52,8 Mb
Release : 2012-05-01
Category : Computers
ISBN : 9780132764094

Get Book

Programming in Go by Mark Summerfield Pdf

Your Hands-On Guide to Go, the Revolutionary New Language Designed for Concurrency, Multicore Hardware, and Programmer Convenience Today’s most exciting new programming language, Go, is designed from the ground up to help you easily leverage all the power of today’s multicore hardware. With this guide, pioneering Go programmer Mark Summerfield shows how to write code that takes full advantage of Go’s breakthrough features and idioms. Both a tutorial and a language reference, Programming in Go brings together all the knowledge you need to evaluate Go, think in Go, and write high-performance software with Go. Summerfield presents multiple idiom comparisons showing exactly how Go improves upon older languages, calling special attention to Go’s key innovations. Along the way, he explains everything from the absolute basics through Go’s lock-free channel-based concurrency and its flexible and unusual duck-typing type-safe approach to object-orientation. Throughout, Summerfield’s approach is thoroughly practical. Each chapter offers multiple live code examples designed to encourage experimentation and help you quickly develop mastery. Wherever possible, complete programs and packages are presented to provide realistic use cases, as well as exercises. Coverage includes Quickly getting and installing Go, and building and running Go programs Exploring Go’s syntax, features, and extensive standard library Programming Boolean values, expressions, and numeric types Creating, comparing, indexing, slicing, and formatting strings Understanding Go’s highly efficient built-in collection types: slices and maps Using Go as a procedural programming language Discovering Go’s unusual and flexible approach to object orientation Mastering Go’s unique, simple, and natural approach to fine-grained concurrency Reading and writing binary, text, JSON, and XML files Importing and using standard library packages, custom packages, and third-party packages Creating, documenting, unit testing, and benchmarking custom packages

The Go Workshop

Author : Delio D'Anna,Andrew Hayes,Sam Hennessy,Jeremy Leasor,Gobin Sougrakpam,Dániel Szabó
Publisher : Packt Publishing Ltd
Page : 823 pages
File Size : 45,8 Mb
Release : 2019-12-30
Category : Computers
ISBN : 9781838640156

Get Book

The Go Workshop by Delio D'Anna,Andrew Hayes,Sam Hennessy,Jeremy Leasor,Gobin Sougrakpam,Dániel Szabó Pdf

The Go Workshop will take the pain out of learning the Go programming language (also known as Golang). It is designed to teach you to be productive in building real-world software. Presented in an engaging, hands-on way, this book focuses on the features of Go that are used by professionals in their everyday work. Each concept is broken down, clearly explained, and followed up with activities to test your knowledge and build your practical skills. Your first steps will involve mastering Go syntax, working with variables and operators, and using core and complex types to hold data. Moving ahead, you will build your understanding of programming logic and implement Go algorithms to construct useful functions. As you progress, you'll discover how to handle errors, debug code to troubleshoot your applications, and implement polymorphism using interfaces. The later chapters will then teach you how to manage files, connect to a database, work with HTTP servers and REST APIs, and make use of concurrent programming. Throughout this Workshop, you'll work on a series of mini projects, including a shopping cart, a loan calculator, a working hours tracker, a web page counter, a code checker, and a user authentication system. By the end of this book, you'll have the knowledge and confidence to tackle your own ambitious projects with Go.Key Features Build a comprehensive foundation in Go and focus on developing real-world applications Explore the Go Standard Library and learn how to structure your code Learn how to efficiently interact with files, databases and REST APIs What you will learn Understand Go syntax and use it to handle data and write functions Debug your Go code to troubleshoot development problems Safely handle errors and recover from panics Implement polymorphism by using interfaces Work with files and connect to external databases Create a HTTP client and server and work with a RESTful web API Use concurrency to design software that can multitask Use Go Tools to simplify development and improve your code Who this book is forThe Go Workshop is designed for anyone who is new to Go. Whether you're beginning your journey as an aspiring developer, or are experienced with another programming language and want to branch out to something new, this book will get you on the right track. No prior programming experience is necessary.

High Performance Browser Networking

Author : Ilya Grigorik
Publisher : "O'Reilly Media, Inc."
Page : 420 pages
File Size : 43,8 Mb
Release : 2013-09-11
Category : Electronic
ISBN : 9781449344726

Get Book

High Performance Browser Networking by Ilya Grigorik Pdf

How prepared are you to build fast and efficient web applications? This eloquent book provides what every web developer should know about the network, from fundamental limitations that affect performance to major innovations for building even more powerful browser applications—including HTTP 2.0 and XHR improvements, Server-Sent Events (SSE), WebSocket, and WebRTC. Author Ilya Grigorik, a web performance engineer at Google, demonstrates performance optimization best practices for TCP, UDP, and TLS protocols, and explains unique wireless and mobile network optimization requirements. You’ll then dive into performance characteristics of technologies such as HTTP 2.0, client-side network scripting with XHR, real-time streaming with SSE and WebSocket, and P2P communication with WebRTC. Deliver superlative TCP, UDP, and TLS performance Speed up network performance over 3G/4G mobile networks Develop fast and energy-efficient mobile applications Address bottlenecks in HTTP 1.x and other browser protocols Plan for and deliver the best HTTP 2.0 performance Enable efficient real-time streaming in the browser Create efficient peer-to-peer videoconferencing and low-latency applications with real-time WebRTC transports

Hands-On Deep Learning with Go

Author : Gareth Seneque,Darrell Chua
Publisher : Packt Publishing Ltd
Page : 228 pages
File Size : 47,6 Mb
Release : 2019-08-08
Category : Computers
ISBN : 9781789347883

Get Book

Hands-On Deep Learning with Go by Gareth Seneque,Darrell Chua Pdf

Apply modern deep learning techniques to build and train deep neural networks using Gorgonia Key FeaturesGain a practical understanding of deep learning using GolangBuild complex neural network models using Go libraries and GorgoniaTake your deep learning model from design to deployment with this handy guideBook Description Go is an open source programming language designed by Google for handling large-scale projects efficiently. The Go ecosystem comprises some really powerful deep learning tools such as DQN and CUDA. With this book, you'll be able to use these tools to train and deploy scalable deep learning models from scratch. This deep learning book begins by introducing you to a variety of tools and libraries available in Go. It then takes you through building neural networks, including activation functions and the learning algorithms that make neural networks tick. In addition to this, you'll learn how to build advanced architectures such as autoencoders, restricted Boltzmann machines (RBMs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), and more. You'll also understand how you can scale model deployments on the AWS cloud infrastructure for training and inference. By the end of this book, you'll have mastered the art of building, training, and deploying deep learning models in Go to solve real-world problems. What you will learnExplore the Go ecosystem of libraries and communities for deep learningGet to grips with Neural Networks, their history, and how they workDesign and implement Deep Neural Networks in GoGet a strong foundation of concepts such as Backpropagation and MomentumBuild Variational Autoencoders and Restricted Boltzmann Machines using GoBuild models with CUDA and benchmark CPU and GPU modelsWho this book is for This book is for data scientists, machine learning engineers, and AI developers who want to build state-of-the-art deep learning models using Go. Familiarity with basic machine learning concepts and Go programming is required to get the best out of this book.

Hands-On Software Architecture with Golang

Author : Jyotiswarup Raiturkar
Publisher : Packt Publishing Ltd
Page : 716 pages
File Size : 41,8 Mb
Release : 2018-12-07
Category : Computers
ISBN : 9781788625104

Get Book

Hands-On Software Architecture with Golang by Jyotiswarup Raiturkar Pdf

Understand the principles of software architecture with coverage on SOA, distributed and messaging systems, and database modeling Key FeaturesGain knowledge of architectural approaches on SOA and microservices for architectural decisionsExplore different architectural patterns for building distributed applicationsMigrate applications written in Java or Python to the Go languageBook Description Building software requires careful planning and architectural considerations; Golang was developed with a fresh perspective on building next-generation applications on the cloud with distributed and concurrent computing concerns. Hands-On Software Architecture with Golang starts with a brief introduction to architectural elements, Go, and a case study to demonstrate architectural principles. You'll then move on to look at code-level aspects such as modularity, class design, and constructs specific to Golang and implementation of design patterns. As you make your way through the chapters, you'll explore the core objectives of architecture such as effectively managing complexity, scalability, and reliability of software systems. You'll also work through creating distributed systems and their communication before moving on to modeling and scaling of data. In the concluding chapters, you'll learn to deploy architectures and plan the migration of applications from other languages. By the end of this book, you will have gained insight into various design and architectural patterns, which will enable you to create robust, scalable architecture using Golang. What you will learnUnderstand architectural paradigms and deep dive into MicroservicesDesign parallelism/concurrency patterns and learn object-oriented design patterns in GoExplore API-driven systems architecture with introduction to REST and GraphQL standardsBuild event-driven architectures and make your architectures anti-fragileEngineer scalability and learn how to migrate to Go from other languagesGet to grips with deployment considerations with CICD pipeline, cloud deployments, and so onBuild an end-to-end e-commerce (travel) application backend in GoWho this book is for Hands-On Software Architecture with Golang is for software developers, architects, and CTOs looking to use Go in their software architecture to build enterprise-grade applications. Programming knowledge of Golang is assumed.

Hands-on Scala Programming: Learn Scala in a Practical, Project-Based Way

Author : Haoyi Li
Publisher : Unknown
Page : 414 pages
File Size : 43,6 Mb
Release : 2020-07-11
Category : Computers
ISBN : 9811456933

Get Book

Hands-on Scala Programming: Learn Scala in a Practical, Project-Based Way by Haoyi Li Pdf

Hands-on Scala teaches you how to use the Scala programming language in a practical, project-based fashion. This book is designed to quickly teach an existing programmer everything needed to go from "hello world" to building production applications like interactive websites, parallel web crawlers, and distributed systems in Scala. In the process you will learn how to use the Scala language to solve challenging problems in an elegant and intuitive manner.