|
|
Books > Computing & IT > Computer programming > Object-oriented programming (OOP)
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.
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.
Dieses essential zeigt, wie man in Java-Anwendungen mit dem Plotter
grafische Darstellungen erzeugen kann. Mit dem Plotter-Objekt -
angelehnt an den Stiftplotter, der sich mit Steuerbefehlen uber
Papier bewegt - wird eine einfache Schnittstelle zur grafischen
Programmierung angeboten. Bereits beim Einstieg in die
Programmierung entstehen so erste grafische Darstellungen wie z.B.
Funktionsverlaufe und Simulationsergebnisse. Durch einfache
Programmierbeispiele und Aufgaben wird der Umgang mit grundlegenden
Konzepten wie Variablen, Kontrollstrukturen, Methoden und Klassen
geubt.
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.
A comprehensive guide to get started with Java and gain insights
into major concepts such as object-oriented, functional, and
reactive programming Key Features Strengthen your knowledge of
important programming concepts and the latest features in Java
Explore core programming topics including GUI programming,
concurrency, and error handling Learn the idioms and best practices
for writing high-quality Java code Book DescriptionJava is one of
the preferred languages among developers, used in everything right
from smartphones, and game consoles to even supercomputers, and its
new features simply add to the richness of the language. This book
on Java programming begins by helping you learn how to install the
Java Development Kit. You will then focus on understanding
object-oriented programming (OOP), with exclusive insights into
concepts like abstraction, encapsulation, inheritance, and
polymorphism, which will help you when programming for real-world
apps. Next, you'll cover fundamental programming structures of Java
such as data structures and algorithms that will serve as the
building blocks for your apps. You will also delve into core
programming topics that will assist you with error handling,
debugging, and testing your apps. As you progress, you'll move on
to advanced topics such as Java libraries, database management, and
network programming, which will hone your skills in building
professional-grade apps. Further on, you'll understand how to
create a graphic user interface using JavaFX and learn to build
scalable apps by taking advantage of reactive and functional
programming. By the end of this book, you'll not only be well
versed with Java 10, 11, and 12, but also gain a perspective into
the future of this language and software development in general.
What you will learn Learn and apply object-oriented principles Gain
insights into data structures and understand how they are used in
Java Explore multithreaded, asynchronous, functional, and reactive
programming Add a user-friendly graphic interface to your
application Find out what streams are and how they can help in data
processing Discover the importance of microservices and use them to
make your apps robust and scalable Explore Java design patterns and
best practices to solve everyday problems Learn techniques and
idioms for writing high-quality Java code Who this book is
forStudents, software developers, or anyone looking to learn new
skills or even a language will find this book useful. Although this
book is for beginners, professional programmers can benefit from it
too. Previous knowledge of Java or any programming language is not
required.
Enhance your development skills with Java's state-of-the-art
features and projects to make your applications leaner and faster
Key Features Overcome the challenges involved in migrating to new
versions of Java Discover how Oracle has bridged the gap between
Java and native code Make the best use of new Java features and
libraries in your applications Book DescriptionWith its new
six-monthly release cadence, Java is moving forward faster. In
addition to planned version releases, a lot of work is currently
being undertaken on various Java projects at Oracle. In order to
make best use of the new features in their applications and
libraries, you must be well-versed with the most recent
advancements. Java 11 and 12 - New Features will take you through
the latest developments in Java, right from variable type inference
and simplified multithreading through to performance improvements,
which are covered in depth to help you make your applications more
efficient. This book explains the relevance and applicability of
Java's new features, and answers your questions on whether to
invest in migrating to new Java versions and when to migrate.
You'll also get to grips with platform features, such as AppCDS and
new garbage collectors, to tune and optimize your application-from
reduced launch time and latency to improved performance and
throughput. By the end of this book, you will be equipped with a
thorough understanding of the new features of Java 11, 12, and
Project Amber, and possess the skills to apply them with a view to
improving your application's performance. What you will learn Study
type interference and how to work with the var type Understand
Class-Data Sharing, its benefits, and limitations Discover platform
options to reduce your application's launch time Improve
application performance by switching garbage collectors Get up to
date with the new Java release cadence Define and assess decision
criteria for migrating to a new version of Java Who this book is
forIf you're an executive or solutions architect responsible for
technology selection or Java migration decisions, this Java book is
for you. You'll also benefit from this book if you're a computer
science enthusiast curious to learn about the latest and upcoming
Java features. This book will help you migrate your solutions from
Java 8 or older to the latest Java release.
Write high-level abstractions while retaining full control of the
hardware, performances, and maintainability. Key Features Transform
your ideas into modern C++ code, with both C++11 and C++17 Explore
best practices for creating high-performance solutions Understand
C++ basics and work with concrete real-world examples Book
DescriptionC++ Fundamentals begins by introducing you to the C++
compilation model and syntax. You will then study data types,
variable declaration, scope, and control flow statements. With the
help of this book, you'll be able to compile fully working C++ code
and understand how variables, references, and pointers can be used
to manipulate the state of the program. Next, you will explore
functions and classes - the features that C++ offers to organize a
program - and use them to solve more complex problems. You will
also understand common pitfalls and modern best practices,
especially the ones that diverge from the C++98 guidelines. As you
advance through the chapters, you'll study the advantages of
generic programming and write your own templates to make generic
algorithms that work with any type. This C++ book will guide you in
fully exploiting standard containers and algorithms, understanding
how to pick the appropriate one for each problem. By the end of
this book, you will not only be able to write efficient code but
also be equipped to improve the readability, performance, and
maintainability of your programs. What you will learn C++
compilation model Apply best practices for writing functions and
classes Write safe, generic, and efficient code with templates
Explore the containers that the C++ standard offers Discover the
new features introduced with C++11, C++14, and C++17 Get to grips
with the core language features of C++ Solve complex problems using
object-oriented programming in C++ Who this book is forIf you're a
developer looking to learn a new powerful language or are familiar
with C++ but want to update your knowledge with modern paradigms of
C++11, C++14, and C++17, this book is for you. To easily understand
the concepts in the book, you must be familiar with the basics of
programming.
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.
Enhance your programming skills by learning the intricacies of
object oriented programming in C# 8 Key Features Understand the
four pillars of OOP; encapsulation, inheritance, abstraction and
polymorphism Leverage the latest features of C# 8 including
nullable reference types and Async Streams Explore various design
patterns, principles, and best practices in OOP Book
DescriptionObject-oriented programming (OOP) is a programming
paradigm organized around objects rather than actions, and data
rather than logic. With the latest release of C#, you can look
forward to new additions that improve object-oriented programming.
This book will get you up to speed with OOP in C# in an engaging
and interactive way. The book starts off by introducing you to C#
language essentials and explaining OOP concepts through simple
programs. You will then go on to learn how to use classes,
interfacesm and properties to write pure OOP code in your
applications. You will broaden your understanding of OOP further as
you delve into some of the advanced features of the language, such
as using events, delegates, and generics. Next, you will learn the
secrets of writing good code by following design patterns and
design principles. You'll also understand problem statements with
their solutions and learn how to work with databases with the help
of ADO.NET. Further on, you'll discover a chapter dedicated to the
Git version control system. As you approach the conclusion, you'll
be able to work through OOP-specific interview questions and
understand how to tackle them. By the end of this book, you will
have a good understanding of OOP with C# and be able to take your
skills to the next level. What you will learn Master OOP paradigm
fundamentals Explore various types of exceptions Utilize C#
language constructs efficiently Solve complex design problems by
understanding OOP Understand how to work with databases using
ADO.NET Understand the power of generics in C# Get insights into
the popular version control system, Git Learn how to model and
design your software Who this book is forThis book is designed for
people who are new to object-oriented programming. Basic C# skills
are assumed, however, prior knowledge of OOP in any other language
is not required.
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.
Explore various dependency injection methods in Go such as monkey
patching, constructor injection, and method injection Key Features
Learn to evaluate Code UX and make it better Explore SOLID
principles and understand how they relate to dependency injection
Use Google's wire framework to simplify dependence management Book
DescriptionHands-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 learn
Understand the benefits of DI Explore SOLID design principles and
how they relate to Go Analyze various dependency injection patterns
available in Go Leverage DI to produce high-quality, loosely
coupled Go code Refactor existing Go code to adopt DI Discover
tools to improve your code's testability and test coverage Generate
and interpret Go dependency graphs Who this book is forHands-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.
A hands-on guide to making system programming with C++ easy Key
Features Write system-level code leveraging C++17 Learn the
internals of the Linux Application Binary Interface (ABI) and apply
it to system programming Explore C++ concurrency to take advantage
of server-level constructs Book DescriptionC++ is a general-purpose
programming language with a bias toward system programming as it
provides ready access to hardware-level resources, efficient
compilation, and a versatile approach to higher-level abstractions.
This book will help you understand the benefits of system
programming with C++17. You will gain a firm understanding of
various C, C++, and POSIX standards, as well as their respective
system types for both C++ and POSIX. After a brief refresher on
C++, Resource Acquisition Is Initialization (RAII), and the new C++
Guideline Support Library (GSL), you will learn to program Linux
and Unix systems along with process management. As you progress
through the chapters, you will become acquainted with C++'s support
for IO. You will then study various memory management methods,
including a chapter on allocators and how they benefit system
programming. You will also explore how to program file input and
output and learn about POSIX sockets. This book will help you get
to grips with safely setting up a UDP and TCP server/client.
Finally, you will be guided through Unix time interfaces,
multithreading, and error handling with C++ exceptions. By the end
of this book, you will be comfortable with using C++ to program
high-quality systems. What you will learn Understand the benefits
of using C++ for system programming Program Linux/Unix systems
using C++ Discover the advantages of Resource Acquisition Is
Initialization (RAII) Program both console and file input and
output Uncover the POSIX socket APIs and understand how to program
them Explore advanced system programming topics, such as C++
allocators Use POSIX and C++ threads to program concurrent systems
Grasp how C++ can be used to create performant system applications
Who this book is forIf you are a fresh developer with intermediate
knowledge of C++ but little or no knowledge of Unix and Linux
system programming, this book will help you learn system
programming with C++ in a practical way.
Uncover modern Python with this guide to Python data structures,
design patterns, and effective object-oriented techniques Key
Features In-depth analysis of many common object-oriented design
patterns that are more suitable to Python's unique style Learn the
latest Python syntax and libraries Explore abstract design patterns
and implement them in Python 3.8 Book DescriptionObject-oriented
programming (OOP) is a popular design paradigm in which data and
behaviors are encapsulated in such a way that they can be
manipulated together. This third edition of Python 3
Object-Oriented Programming fully explains classes, data
encapsulation, and exceptions with an emphasis on when you can use
each principle to develop well-designed software. Starting with a
detailed analysis of object-oriented programming, you will use the
Python programming language to clearly grasp key concepts from the
object-oriented paradigm. You will learn how to create maintainable
applications by studying higher level design patterns. The book
will show you the complexities of string and file manipulation, and
how Python distinguishes between binary and textual data. Not one,
but two very powerful automated testing systems, unittest and
pytest, will be introduced in this book. You'll get a comprehensive
introduction to Python's concurrent programming ecosystem. By the
end of the book, you will have thoroughly learned object-oriented
principles using Python syntax and be able to create robust and
reliable programs confidently. What you will learn Implement
objects in Python by creating classes and defining methods Grasp
common concurrency techniques and pitfalls in Python 3 Extend class
functionality using inheritance Understand when to use
object-oriented features, and more importantly when not to use them
Discover what design patterns are and why they are different in
Python Uncover the simplicity of unit testing and why it's so
important in Python Explore concurrent object-oriented programming
Who this book is forIf you're new to object-oriented programming
techniques, or if you have basic Python skills and wish to learn in
depth how and when to correctly apply OOP in Python, this is the
book for you. If you are an object-oriented programmer for other
languages or seeking a leg up in the new world of Python 3.8, you
too will find this book a useful introduction to Python. Previous
experience with Python 3 is not necessary.
Learn everything you need to know about object-oriented programming
with the latest features of Kotlin 1.3 Key Features A practical
guide to understand objects and classes in Kotlin Learn to write
asynchronous, non-blocking codes with Kotlin coroutines Explore
Encapsulation, Inheritance, Polymorphism, and Abstraction in Kotlin
Book DescriptionKotlin is an object-oriented programming language.
The book is based on the latest version of Kotlin. The book
provides you with a thorough understanding of programming concepts,
object-oriented programming techniques, and design patterns. It
includes numerous examples, explanation of concepts and keynotes.
Where possible, examples and programming exercises are included.
The main purpose of the book is to provide a comprehensive coverage
of Kotlin features such as classes, data classes, and inheritance.
It also provides a good understanding of design pattern and how
Kotlin syntax works with object-oriented techniques. You will also
gain familiarity with syntax in this book by writing labeled for
loop and when as an expression. An introduction to the advanced
concepts such as sealed classes and package level functions and
coroutines is provided and we will also learn how these concepts
can make the software development easy. Supported libraries for
serialization, regular expression and testing are also covered in
this book. By the end of the book, you would have learnt building
robust and maintainable software with object oriented design
patterns in Kotlin. What you will learn Get an overview of the
Kotlin programming language Discover Object-oriented programming
techniques in Kotlin Understand Object-oriented design patterns
Uncover multithreading by Kotlin way Understand about arrays and
collections Understand the importance of object-oriented design
patterns Understand about exception handling and testing in OOP
with Kotlin Who this book is forThis book is for programmers and
developers who wish to learn Object-oriented programming principles
and apply them to build robust and scalable applications. Basic
knowledge in Kotlin programming 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.
Update your Java knowledge with the latest features of Java 11,
such as the low-Overhead Garbage Collector, Local-Variable Syntax
for Lambda Parameters, and Dynamic Class-File Constants Key
Features Explore the latest features in Java 9,Java 10, and Java 11
Enhance your Java application development and migration approaches
Full coverage of modular Java applications, G1 Garbage Collector,
JMH Book DescriptionJava 11 is a long-term release and its new
features add to the richness of the language. It emphasizes
variable-type inference, performance improvements, along with
simplified multithreading. The Java platform has a special emphasis
on modularity, making this the programming platform of choice for
millions of developers. The modern Java platform can be used to
build robust software applications, including enterprise-level and
mobile applications. Fully updated for Java 11, this book stands to
help any Java developer enjoy the richness of the Java programming
language. Mastering Java 11 is your one-stop guide to fully
understanding recent Java platform updates. It contains detailed
explanations of the recent features introduced in Java 9, Java 10,
and Java 11 along with obtaining practical guidance on how to apply
the new features. As you make your way through the chapters, you'll
discover further information on the developments of the Java
platform and learn about the changes introduced by the variable
handles and Project Coin, along with several enhancements in
relation to import statements processing. In the concluding
chapters, you'll learn to improve your development productivity,
making your applications more efficient. You'll also be able to get
to grips with the command-line flags with respect to various
utilities and the command-line utility changes featured in the
current Java platform. By the end of the book, you'll have obtained
an advanced level understanding of the Java platform and its recent
changes. What you will learn Write modular Java applications
Migrate existing Java applications to modular ones Understand how
the default G1 garbage collector works Leverage the possibilities
provided by the newly introduced Java Shell Performance test your
application effectively with the JVM harness Learn how Java
supports the HTTP 2.0 standard Find out how to use the new Process
API Explore the additional enhancements and features of Java 9, 10,
and 11 Who this book is forMastering Java 11 is for experienced
Java developers with a solid understanding of the Java language and
want to progress to an advanced level.
Exploit various design patterns to master the art of solving
problems using Python Key Features Master the application design
using the core design patterns and latest features of Python 3.7
Learn tricks to solve common design and architectural challenges
Choose the right plan to improve your programs and increase their
productivity Book DescriptionPython is an object-oriented scripting
language that is used in a wide range of categories. In software
engineering, a design pattern is an elected solution for solving
software design problems. Although they have been around for a
while, design patterns remain one of the top topics in software
engineering, and are a ready source for software developers to
solve the problems they face on a regular basis. This book takes
you through a variety of design patterns and explains them with
real-world examples. You will get to grips with low-level details
and concepts that show you how to write Python code, without
focusing on common solutions as enabled in Java and C++. You'll
also fnd sections on corrections, best practices, system
architecture, and its designing aspects. This book will help you
learn the core concepts of design patterns and the way they can be
used to resolve software design problems. You'll focus on most of
the Gang of Four (GoF) design patterns, which are used to solve
everyday problems, and take your skills to the next level with
reactive and functional patterns that help you build resilient,
scalable, and robust applications. By the end of the book, you'll
be able to effciently address commonly faced problems and develop
applications, and also be comfortable working on scalable and
maintainable projects of any size. What you will learn Explore
Factory Method and Abstract Factory for object creation Clone
objects using the Prototype pattern Make incompatible interfaces
compatible using the Adapter pattern Secure an interface using the
Proxy pattern Choose an algorithm dynamically using the Strategy
pattern Keep the logic decoupled from the UI using the MVC pattern
Leverage the Observer pattern to understand reactive programming
Explore patterns for cloud-native, microservices, and serverless
architectures Who this book is forThis book is for intermediate
Python developers. Prior knowledge of design patterns is not
required to enjoy 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.
Build optimized applications in Kotlin by learning how to make use
of the standard library features the smart way Key Features Get the
most out of the Kotlin library to develop high-quality portable
applications Explore the powerful support for data processing and
I/O operations Discover ways to enhance your Android application
development Book DescriptionGiven the verbosity of Java, developers
have turned to Kotlin for effective software development. The
Kotlin standard library provides vital tools that make day-to-day
Kotlin programming easier. This library features the core
attributes of the language, such as algorithmic problems, design
patterns, data processing, and working with files and data streams.
The recipes in this book offer coding solutions that can be readily
executed. The book covers various topics related to data
processing, I/O operations, and collections transformation. We'll
walk through effective design patterns in Kotlin and you'll
understand how coroutines add new features to JavaScript. As you
make your way through the chapters, you'll learn how to implement
clean, reusable functions and scalable interfaces containing
default implementations. In the concluding chapters, we'll provide
recipes on functional programming concepts, such as lambdas,
monads, functors, and Kotlin scoping functions. By the end of the
book, you'll be able to address a range of problems that Kotlin
developers face by implementing easy-to-follow solutions. What you
will learn Work with ranges, progressions, and sequences in use
cases Add new functionalities to current classes with Kotlin
extensions Understand elements such as lambdas, closures, and
monads Build a REST API consumer with Retrofit and a coroutine
adapter Discover useful tips and solutions for making your Android
projects Explore the benefits of standard library features Who this
book is forThis book is for software developers who are familiar
with Kotlin's basics and want to discover more advanced features
and concepts, especially those provided by the Kotlin standard
library. It's also ideal for experienced software developers who
are familiar with the functional programming paradigm and other
programming languages who want to switch to Kotlin. It will also
help Java developers switch to Kotlin and integrate it into
existing Java Virtual Machine (JVM) projects.
|
|