|
Books > Computing & IT > Computer programming > Object-oriented programming (OOP)
Tackle the trickiest of problems in Go programming with this
practical guide Key Features Develop applications for different
domains using modern programming techniques Tackle common problems
when it comes to parallelism, concurrency, and reactive programming
in Go Work with ready-to-execute code based on the latest version
of Go Book DescriptionGo (or Golang) is a statically typed
programming language developed at Google. Known for its vast
standard library, it also provides features such as garbage
collection, type safety, dynamic-typing capabilities, and
additional built-in types. This book will serve as a reference
while implementing Go features to build your own applications. This
Go cookbook helps you put into practice the advanced concepts and
libraries that Golang offers. The recipes in the book follow best
practices such as documentation, testing, and vendoring with Go
modules, as well as performing clean abstractions using interfaces.
You'll learn how code works and the common pitfalls to watch out
for. The book covers basic type and error handling, and then moves
on to explore applications, such as websites, command-line tools,
and filesystems, that interact with users. You'll even get to grips
with parallelism, distributed systems, and performance tuning. By
the end of the book, you'll be able to use open source code and
concepts in Go programming to build enterprise-class applications
without any hassle. What you will learn Work with third-party Go
projects and modify them for your use Write Go code using modern
best practices Manage your dependencies with the new Go module
system Solve common problems encountered when dealing with backend
systems or DevOps Explore the Go standard library and its uses
Test, profile, and fine-tune Go applications Who this book is forIf
you're a web developer, programmer, or enterprise developer looking
for quick solutions to common and not-so-common problems in Go
programming, this book is for you. Basic knowledge of the Go
language is assumed.
Discover unique features and powerful capabilities of Scala
Programming as you build projects in a wide range of domains Key
Features Develop a range of Scala projects from web applications to
big data analysis Leverage full power of modern web programming
using Play Framework Build real-time data pipelines in Scala with a
Bitcoin transaction analysis app Book DescriptionScala is a
type-safe JVM language that incorporates object-oriented and
functional programming (OOP and FP) aspects. This book gets you
started with essentials of software development by guiding you
through various aspects of Scala programming, helping you bridge
the gap between learning and implementing. You will learn about the
unique features of Scala through diverse applications and
experience simple yet powerful approaches for software development.
Scala Programming Projects will help you build a number of
applications, beginning with simple projects, such as a financial
independence calculator, and advancing to other projects, such as a
shopping application and a Bitcoin transaction analyzer. You will
be able to use various Scala features, such as its OOP and FP
capabilities, and learn how to write concise, reactive, and
concurrent applications in a type-safe manner. You will also learn
how to use top-notch libraries such as Akka and Play and integrate
Scala apps with Kafka, Spark, and Zeppelin, along with deploying
applications on a cloud platform. By the end of the book, you will
not only know the ins and outs of Scala, but you will also be able
to apply it to solve a variety of real-world problems What you will
learn Build, test, and package code using Scala Build Tool
Decompose code into functions, classes, and packages for
maintainability Implement the functional programming capabilities
of Scala Develop a simple CRUD REST API using the Play framework
Access a relational database using Slick Develop a dynamic web UI
using Scala.js Source streaming data using Spark Streaming and
write a Kafka producer Use Spark and Zeppelin to analyze data Who
this book is forIf you are an amateur programmer who wishes to
learn how to use Scala, this book is for you. Knowledge of Java
will be beneficial, but not necessary, to understand the concepts
covered in this book.
Get ready for a fun-filled experience of learning Java by
developing games for the Android platform Key Features Learn Java,
Android, and object-oriented programming from scratch Build games
including Sub Hunter, Retro Pong, Bullet Hell, Classic Snake, and a
2D Scrolling Shooter Create and design your own games, such as an
open-world platform game Book DescriptionAndroid is one of the most
popular mobile operating systems presently. It uses the most
popular programming language, Java, as the primary language for
building apps of all types. However, this book is unlike other
Android books in that it doesn't assume that you already have Java
proficiency. This new and expanded second edition of Learning Java
by Building Android Games shows you how to start building Android
games from scratch. The difficulty level will grow steadily as you
explore key Java topics, such as variables, loops, methods, object
oriented programming, and design patterns, including code and
examples that are written for Java 9 and Android P. At each stage,
you will put what you've learned into practice by developing a
game. You will build games such as Minesweeper, Retro Pong, Bullet
Hell, and Classic Snake and Scrolling Shooter games. In the later
chapters, you will create a time-trial, open-world platform game.
By the end of the book, you will not only have grasped Java and
Android but will also have developed six cool games for the Android
platform. What you will learn Set up a game development environment
in Android Studio Implement screen locking, screen rotation, pixel
graphics, and play sound effects Respond to a player's touch, and
program intelligent enemies who challenge the player in different
ways Learn game development concepts, such as collision detection,
animating sprite sheets, simple tracking and following, AI,
parallax backgrounds, and particle explosions Animate objects at 60
frames per second (FPS) and manage multiple independent objects
using Object-Oriented Programming (OOP) Understand the essentials
of game programming, such as design patterns, object-oriented
programming, Singleton, strategy, and entity-component patterns
Learn how to use the Android API, including Activity lifecycle,
detecting version number, SoundPool API, Paint, Canvas, and Bitmap
classes Build a side-scrolling shooter and an open world 2D
platformer using advanced OOP concepts and programming patterns Who
this book is forLearning Java by Building Android Games is for you
if you are completely new to Java, Android, or game programming and
want to make Android games. This book also acts as a refresher for
those who already have experience of using Java on Android or any
other platform without game development experience.
Take advantage of Kotlin's concurrency primitives to write
efficient multithreaded applications Key Features Learn Kotlin's
unique approach to multithreading Work through practical examples
that will help you write concurrent non-blocking code Improve the
overall execution speed in multiprocessor and multicore systems
Book DescriptionThe primary requirements of modern-day applications
are scalability, speed, and making the most use of hardware. Kotlin
meets these requirements with its immense support for concurrency.
Many concurrent primitives of Kotlin, such as channels and
suspending functions, are designed to be non-blocking and
efficient. This allows for new approaches to concurrency and
creates unique challenges for the design and implementation of
concurrent code. Learning Concurrency in Kotlin addresses those
challenges with real-life examples and exercises that take
advantage of Kotlin's primitives. Beginning with an introduction to
Kotlin's coroutines, you will learn how to write concurrent code
and understand the fundamental concepts needed to be able to write
multithreaded software in Kotlin. You'll explore how to communicate
between and synchronize your threads and coroutines to write
asynchronous applications that are collaborative. You'll also learn
how to handle errors and exceptions, as well as how to leverage
multi-core processing. In addition to this, you'll delve into how
coroutines work internally, allowing you to see the bigger picture.
Throughout the book you'll build an Android application - an RSS
reader - designed and implemented according to the different topics
covered in the book What you will learn Understand Kotlin's
approach to concurrency Implement sequential and asynchronous
suspending functions Create suspending data sources that are
resumed on demand Explore the best practices for error handling Use
channels to communicate between coroutines Uncover how coroutines
work under the hood Who this book is forIf you're a Kotlin or
Android developer interested in learning how to program
concurrently to enhance the performance of your applications, this
is the book for you.
Harness the power of Python objects and data structures to
implement algorithms for analyzing your data and efficiently
extracting information Key Features Turn your designs into working
software by learning the Python syntax Write robust code with a
solid understanding of Python data structures Understand when to
use the functional or the OOP approach Book DescriptionThis
Learning Path helps you get comfortable with the world of Python.
It starts with a thorough and practical introduction to Python.
You'll quickly start writing programs, building websites, and
working with data by harnessing Python's renowned data science
libraries. With the power of linked lists, binary searches, and
sorting algorithms, you'll easily create complex data structures,
such as graphs, stacks, and queues. After understanding cooperative
inheritance, you'll expertly raise, handle, and manipulate
exceptions. You will effortlessly integrate the object-oriented and
not-so-object-oriented aspects of Python, and create maintainable
applications using higher level design patterns. Once you've
covered core topics, you'll understand the joy of unit testing and
just how easy it is to create unit tests. By the end of this
Learning Path, you will have built components that are easy to
understand, debug, and can be used across different applications.
This Learning Path includes content from the following Packt
products: Learn Python Programming - Second Edition by Fabrizio
Romano Python Data Structures and Algorithms by Benjamin Baka
Python 3 Object-Oriented Programming by Dusty Phillips What you
will learn Use data structures and control flow to write code Use
functions to bundle together a sequence of instructions Implement
objects in Python by creating classes and defining methods Design
public interfaces using abstraction, encapsulation and information
hiding Raise, define, and manipulate exceptions using special error
objects Create bulletproof and reliable software by writing unit
tests Learn the common programming patterns and algorithms used in
Python Who this book is forIf you are relatively new to coding and
want to write scripts or programs to accomplish tasks using Python,
or if you are an object-oriented programmer for other languages and
seeking a leg up in the world of Python, then this Learning Path is
for you. Though not essential, it will help you to have basic
knowledge of programming and OOP.
Find out how to write Kotlin code without overhead and how to use
different profiling tools and bytecode viewer to inspect
expressions of Kotlin language. Key Features Apply modern Kotlin
features to speed up processing and implement highly efficient and
reliable codes. Learn memory optimization, concurrency,
multi-threading, scaling, and caching techniques to achieve high
performance. Learn how to prevent unnecessary overhead and use
profiling tools to detect performance issues. Book DescriptionThe
ease with which we write applications has been increasing, but with
it comes the need to address their performance. A balancing act
between easily implementing complex applications and keeping their
performance optimal is a present-day requirement In this book, we
explore how to achieve this crucial balance, while developing and
deploying applications with Kotlin. The book starts by analyzing
various Kotlin specifcations to identify those that have a
potentially adverse effect on performance. Then, we move on to
monitor techniques that enable us to identify performance
bottlenecks and optimize performance metrics. Next, we look at
techniques that help to us achieve high performance: memory
optimization, concurrency, multi threading, scaling, and caching.
We also look at fault tolerance solutions and the importance of
logging. We'll also cover best practices of Kotlin programming that
will help you to improve the quality of your code base. By the end
of the book, you will have gained some insight into various
techniques and solutions that will help to create high-performance
applications in the Kotlin environment What you will learn
Understand the importance of high performance Learn performance
metrics Learn popular design patterns currently being used in
Kotlin Understand how to apply modern Kotlin features to data
processing Learn how to use profling tools Discover how to read
bytecode Learn to perform memory optimizations Uncover approaches
to the multithreading environment Who this book is forThis book is
for Kotlin developers who would like to build reliable and
high-performance applications. Prior Kotlin programming knowledge
is assumed.
Enhance your career options with this well-crafted object-oriented
programming language that enjoys the support of an enormous
ecosystem of tools and libraries Key Features Get introduced to
Java, its features, and its ecosystem Understand how Java uses
object-oriented programming Become an expert Java exception handler
Book DescriptionSince its inception, Java has stormed the
programming world. Its features and functionalities provide
developers with the tools needed to write robust cross-platform
applications. Java Fundamentals introduces you to these tools and
functionalities that will enable you to create Java programs. The
book begins with an introduction to the language, its philosophy,
and evolution over time, until the latest release. You'll learn how
the javac/java tools work and what Java packages are - the way a
Java program is usually organized. Once you are comfortable with
this, you'll be introduced to advanced concepts of the language,
such as control flow keywords. You'll explore object-oriented
programming and the part it plays in making Java what it is. In the
concluding chapters, you'll get to grips with classes, typecasting,
and interfaces, and understand the use of data structures, arrays,
strings, handling exceptions, and creating generics. By the end of
this book, you will have learned to write programs, automate tasks,
and follow advanced courses on algorithms and data structures or
explore more advanced Java courses. What you will learn Create and
run Java programs Use data types, data structures, and control flow
in your code Implement best practices while creating objects Work
with constructors and inheritance Understand advanced data
structures to organize and store data Employ generics for stronger
check-types during compilation Learn to handle exceptions in your
code Who this book is forJava Fundamentals is designed for tech
enthusiasts who are familiar with some programming languages and
want a quick introduction to the most important principles of Java.
Learn how to apply a test-driven development process by building
ready C# 7 and .NET Core applications. Key Features Create tests to
quickly detect and resolve issues when writing portable code
Uncover code integration issues that improve code quality using
continuous integration Set up and use data-driven unit testing to
verify your code Book DescriptionThis book guides developers to
create robust, production-ready C# 7 and .NET Core applications
through the practice of test-driven development process. In C# and
.NET Core Test-Driven Development, you will learn the different
stages of the TDD life cycle, basics of TDD, best practices, and
anti-patterns. It will teach you how to create an ASP.NET Core MVC
sample application, write testable code with SOLID principles and
set up a dependency injection for your sample application. Next,
you will learn the xUnit testing framework and learn how to use its
attributes and assertions. You'll see how to create data-driven
unit tests and mock dependencies in your code. You will understand
the difference between running and debugging your tests on .NET
Core on LINUX versus Windows and Visual Studio. As you move
forward, you will be able to create a healthy continuous
integration process for your sample application using GitHub,
TeamCity, Cake, and Microsoft VSTS. By the end of this book, you
will have learned how to write clean and robust code through the
effective practice of TDD, set up CI build steps to test and build
applications as well as how to package application for deployment
on NuGet. What you will learn Write flexible, maintainable, and
verifiable code for .NET Core Write testable code using SOLID
principles and dependency injections Recognize the characteristics
of a good unit test Structure and group your unit test Use mock
objects to handle dependencies Set up an end-to-end continuous
integration process Who this book is forThis book is for .NET
developers who would like to build efficient applications by
implementing principles of test-driven development. C# programming
and working knowledge of VS is assumed.
Gain comprehensive insights into programming practices, and code
portability and reuse to build flexible and maintainable apps using
object-oriented principles Key Features Extend core OOP techniques
to increase integration of classes created with Python Explore
various Python libraries for handling persistence and object
serialization Learn alternative approaches for solving programming
problems, with different attributes to address your problem domain
Book DescriptionObject-oriented programming (OOP) is a relatively
complex discipline to master, and it can be difficult to see how
general principles apply to each language's unique features. With
the help of the latest edition of Mastering Objected-Oriented
Python, you'll be shown how to effectively implement OOP in Python,
and even explore Python 3.x. Complete with practical examples, the
book guides you through the advanced concepts of OOP in Python, and
demonstrates how you can apply them to solve complex problems in
OOP. You will learn how to create high-quality Python programs by
exploring design alternatives and determining which design offers
the best performance. Next, you'll work through special methods for
handling simple object conversions and also learn about hashing and
comparison of objects. As you cover later chapters, you'll discover
how essential it is to locate the best algorithms and optimal data
structures for developing robust solutions to programming problems
with minimal computer processing. Finally, the book will assist you
in leveraging various Python features by implementing
object-oriented designs in your programs. By the end of this book,
you will have learned a number of alternate approaches with
different attributes to confidently solve programming problems in
Python. What you will learn Explore a variety of different design
patterns for the __init__() method Learn to use Flask to build a
RESTful web service Discover SOLID design patterns and principles
Use the features of Python 3's abstract base Create classes for
your own applications Design testable code using pytest and
fixtures Understand how to design context managers that leverage
the 'with' statement Create a new type of collection using standard
library and design techniques Develop new number types above and
beyond the built-in classes of numbers Who this book is forThis
book is for developers who want to use Python to create efficient
programs. A good understanding of Python programming is required to
make the most out of this book. Knowledge of concepts related to
object-oriented design patterns will also be useful.
Create visually appealing and feature-rich applications by using Qt
5 and the C++ language Key Features Explore Qt 5's powerful
features to easily design your GUI application Leverage Qt 5 to
build attractive cross-platform applications Work with Qt modules
for multimedia, networking, and location, to customize your Qt
applications Book DescriptionQt 5, the latest version of Qt,
enables you to develop applications with complex user interfaces
for multiple targets. It provides you with faster and smarter ways
to create modern UIs and applications for multiple platforms. This
book will teach you to design and build graphical user interfaces
that are functional, appealing, and user-friendly. In the initial
part of the book, you will learn what Qt 5 is and what you can do
with it. You will explore the Qt Designer, discover the different
types of widgets generally used in Qt 5, and then connect your
application to the database to perform dynamic operations. Next,
you will be introduced to Qt 5 chart which allows you to easily
render different types of graphs and charts and incorporate List
View Widgets in your application. You will also work with various
Qt modules, like QtLocation, QtWebEngine, and the networking module
through the course of the book. Finally, we will focus on
cross-platform development with QT 5 that enables you to code once
and run it everywhere, including mobile platforms. By the end of
this book, you will have successfully learned about high-end GUI
applications and will be capable of building many more powerful,
cross-platform applications. What you will learn Implement tools
provided by Qt 5 to design a beautiful GUI Understand different
types of graphs and charts supported by Qt 5 Create a web browser
using the Qt 5 WebEngine module and web view widget Connect to the
MySQL database and display data obtained from it onto the Qt 5 GUI
Incorporate the Qt 5 multimedia and networking module in your
application Develop Google Map-like applications using Qt 5's
location module Discover cross-platform development by exporting
the Qt 5 application to different platforms Uncover the secrets
behind debugging Qt 5 and C++ applications Who this book is forThis
book will appeal to developers and programmers who would like to
build GUI-based applications. Basic knowledge of C++ is necessary
and the basics of Qt would be helpful.
Explore the best tools and techniques to create lightweight,
maintainable, and scalable Python web services Key Features Combine
Python with different data sources to build complex RESTful APIs
from scratch Configure and fine-tune your APIs using the best tools
and techniques available Use command-line and GUI tools to test
CRUD operations performed by RESTful Web Services or APIs Book
DescriptionPython is the language of choice for millions of
developers worldwide that builds great web services in RESTful
architecture. This second edition of Hands-On RESTful Python Web
Services will cover the best tools you can use to build engaging
web services. This book shows you how to develop RESTful APIs using
the most popular Python frameworks and all the necessary stacks
with Python, combined with related libraries and tools. You'll
learn to incorporate all new features of Python 3.7, Flask 1.0.2,
Django 2.1, Tornado 5.1, and also a new framework, Pyramid. As you
advance through the chapters, you will get to grips with each of
these frameworks to build various web services, and be shown use
cases and best practices covering when to use a particular
framework. You'll then successfully develop RESTful APIs with all
frameworks and understand how each framework processes HTTP
requests and routes URLs. You'll also discover best practices for
validation, serialization, and deserialization. In the concluding
chapters, you will take advantage of specific features available in
certain frameworks such as integrated ORMs, built-in authorization
and authentication, and work with asynchronous code. At the end of
each framework, you will write tests for RESTful APIs and improve
code coverage. By the end of the book, you will have gained a deep
understanding of the stacks needed to build RESTful web services.
What you will learn Select the most appropriate framework based on
requirements Develop complex RESTful APIs from scratch using Python
Use requests handlers, URL patterns, serialization, and validations
Add authentication, authorization, and interaction with ORMs and
databases Debug, test, and improve RESTful APIs with four
frameworks Design RESTful APIs with frameworks and create automated
tests Who this book is forThis book is for web developers who have
a working knowledge of Python and would like to build amazing web
services by taking advantage of the various frameworks of Python.
You should have some knowledge of RESTful APIs.
|
|