|
|
Books > Computing & IT > Computer programming > Object-oriented programming (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.
Learn effective C++ network programming with Boost.Asio and become
a proficient C++ network programmer About This Book * Learn
efficient C++ network programming with minimum coding using
Boost.Asio * Your one-stop destination to everything related to the
Boost.Asio library * Explore the fundamentals of networking to
choose designs with more examples, and learn the basics of
Boost.Asio Who This Book Is For This book is for C++ Network
programmers with basic knowledge of network programming, but no
knowledge of how to use Boost.Asio for network programming. What
You Will Learn * Prepare the tools to simplify network programming
in C++ using Boost.Asio * Explore the networking concepts of IP
addressing, TCP/IP ports and protocols, and LAN topologies * Get
acquainted with the usage of the Boost libraries * Get to know more
about the content of Boost.Asio network programming and
Asynchronous programming * Establish communication between client
and server by creating client-server application * Understand the
various functions inside Boost.Asio C++ libraries to delve into
network programming * Discover how to debug and run the code
successfully In Detail Boost.Asio is a C++ library used for network
programming operations. Organizations use Boost because of its
productivity. Use of these high-quality libraries speed up initial
development, result in fewer bugs, reduce reinvention-of-the-wheel,
and cut long-term maintenance costs. Using Boost libraries gives an
organization a head start in adopting new technologies. This book
will teach you C++ Network programming using synchronous and
asynchronous operations in Boost.Asio with minimum code, along with
the fundamentals of Boost, server-client applications, debugging,
and more. You will begin by preparing and setting up the required
tools to simplify your network programming in C++ with Boost.Asio.
Then you will learn about the basic concepts in networking such as
IP addressing, TCP/IP protocols, and LAN with its topologies. This
will be followed by an overview of the Boost libraries and their
usage. Next you will get to know more about Boost.Asio and its
concepts related to network programming. We will then go on to
create a client-server application, helping you to understand the
networking concepts. Moving on, you will discover how to use all
the functions inside the Boost.Asio C++ libraries. Lastly, you will
understand how to debug the code if there are errors found and will
run the code successfully. Style and approach An example-oriented
book to show you the basics of networking and help you create a
network application simply using Boost.Asio, with more examples for
you to get up and running with Boost.Asio quickly.
Implement object-oriented programming paradigms with Swift 3.0 and
mix them with modern functional programming techniques to build
powerful real-world applications About This Book * Leverage the
most efficient object-oriented design patterns in your Swift
applications * Write robust, safer, and better code using the
blueprints that generate objects * Build a platform with
object-oriented code using real-world elements and represent them
in your apps Who This Book Is For This book is for iOS and macOS
developers who want to get a detailed practical understanding of
object-oriented programming with the latest version of Swift: 3.0.
What You Will Learn * Write high-quality and easy-to-maintain
reusable object-oriented code to build applications for iOS, macOS,
and Linux * Work with encapsulation, abstraction, and polymorphism
using Swift 3.0 * Work with classes, instances, properties, and
methods in Swift 3.0 * Take advantage of inheritance,
specialization, and the possibility to overload or override members
* Implement encapsulation, abstraction, and polymorphism * Explore
functional programming techniques mixed with object-oriented code
in Swift 3.0 * Understand the differences between Swift 3.0,
previous Swift versions, and Objective-C code In Detail Swift has
quickly become one of the most-liked languages and developers'
de-facto choice when building applications that target iOS and
macOS. In the new version, the Swift team wants to take its
adoption to the next level by making it available for new platforms
and audiences. This book introduces the object-oriented paradigm
and its implementation in the Swift 3 programming language to help
you understand how real-world objects can become part of
fundamental reusable elements in the code. This book is developed
with XCode 8.x and covers all the enhancements included in Swift
3.0. In addition, we teach you to run most of the examples with the
Swift REPL available on macOS and Linux, and with a Web-based Swift
sandbox developed by IBM capable of running on any web browser,
including Windows and mobile devices. You will organize data in
blueprints that generate instances. You'll work with examples so
you understand how to encapsulate and hide data by working with
properties and access control. Then, you'll get to grips with
complex scenarios where you use instances that belong to more than
one blueprint. You'll discover the power of contract programming
and parametric polymorphism. You'll combine generic code with
inheritance and multiple inheritance. Later, you'll see how to
combine functional programming with object-oriented programming and
find out how to refactor your existing code for easy maintenance.
Style and approach This simple guide is packed with practical
examples of solutions to common problems. Each chapter includes
exercises and the possibility for you to test your progress by
answering a quiz
A practical guide to adopting portal development best practices in
an Enterprise world About This Book * Discover the new features and
updates in Liferay including the concept of CMS, and collaboration
applications with relevant examples and screenshots * Set up the
navigation structure for the Enterprise intranet * Full of
illustrations, diagrams, clear step-by-step instructions, and
practical examples to show you the integration between different
applications such as LDAP, SSO, and Liferay Social Office Who This
Book Is For This book is for anyone who is interested in the
Liferay Intranet Portal. This book is for both beginners and more
experienced portal developers who need to create an enterprise
intranet portal for their business. It will be handy for IT
professionals who know the basics of how the portal technology
works and need to integrate different open source technologies.
What You Will Learn * Be introduced to the all new features of
Liferay 6.2 * Understand the different controls/actions to make the
portal work for an Enterprise * Manage users, organizations, sites,
user groups, and roles and also set up portal permissions * Set up
a forum and get detailed descriptions of categorization, tagging,
and Asset Publisher * Enable Wiki to share knowledge among users
and create new dynamic data list and poll portlets * Handle
federated search and OpenSearch and deploy search-based portlets *
Implement web content management with a different approach in the
portal * Employ community tools such as invitations, bookmarks,
page comments, and page ratings * Manage Liferay's document and
media portlet In Detail To develop an intranet portal for an
Enterprise, Liferay is the only open-source portal development
platform that has a high scale graph for the developer to extend
any component. It provides high end integration with other
applications. By using this book, both beginners and more
experienced users will be able to create an intranet portal easily.
This book will be your pocket reference to Liferay. It will explain
to you the new features of Liferay, including Liferay Sync and the
Recycle Bin. It will help you to integrate with other key
applications such as LDAP, SSO, and Alfresco 4.x and above. You
will be introduced to documents, web content, and image management.
You will move onto Liferay Sync's new tool to synchronize documents
and media files to the local system. You'll discover the Market
Place, the newest feature of Liferay. Liferay Social Office and its
integrations are also thoroughly explained. This book is packed
with practical examples that will help you to develop an intranet
portal quickly and easily. Style and approach Clear step-by-step
instructions to develop an intranet portal for Enterprise. It
describes new features and updates in Liferay with clear
explanations, and is complete with images, tips, and tricks.
Spring has always been the cool kid in the room and now drives a
Maybach and hangs out with Justin Bieber. What started as a 1st
class object factory has evolved into an enterprise scale
ecosystem. Spring and it's module based framework provides
patterned solutions to even the craziest requirements.
Reactive Programming with Java and ReactiveX About This Book *
Explore the essential tools and operators RxJava provides, and know
which situations to use them in * Delve into Observables and
Subscribers, the core components of RxJava used for building
scalable and performant reactive applications * Delve into the
practical implementation of tools to effectively take on complex
tasks such as concurrency and backpressure Who This Book Is For The
primary audience for this book is developers with at least a
fundamental mastery of Java. Some readers will likely be interested
in RxJava to make programs more resilient, concurrent, and
scalable. Others may be checking out reactive programming just to
see what it is all about, and to judge whether it can solve any
problems they may have. What You Will Learn * Learn the features of
RxJava 2 that bring about many significant changes, including new
reactive types such as Flowable, Single, Maybe, and Completable *
Understand how reactive programming works and the mindset to "think
reactively" * Demystify the Observable and how it quickly expresses
data and events as sequences * Learn the various Rx operators that
transform, filter, and combine data and event sequences * Leverage
multicasting to push data to multiple destinations, and cache and
replay them * Discover how concurrency and parallelization work in
RxJava, and how it makes these traditionally complex tasks trivial
to implement * Apply RxJava and Retrolambda to the Android domain
to create responsive Android apps with better user experiences *
Use RxJava with the Kotlin language to express RxJava more
idiomatically with extension functions, data classes, and other
Kotlin features In Detail RxJava is a library for composing
asynchronous and event-based programs using Observable sequences
for the JVM, allowing developers to build robust applications in
less time. Learning RxJava addresses all the fundamentals of
reactive programming to help readers write reactive code, as well
as teach them an effective approach to designing and implementing
reactive libraries and applications. Starting with a brief
introduction to reactive programming concepts, there is an overview
of Observables and Observers, the core components of RxJava, and
how to combine different streams of data and events together. You
will also learn simpler ways to achieve concurrency and remain
highly performant, with no need for synchronization. Later on, we
will leverage backpressure and other strategies to cope with
rapidly-producing sources to prevent bottlenecks in your
application. After covering custom operators, testing, and
debugging, the book dives into hands-on examples using RxJava on
Android as well as Kotlin. Style and approach This book will be
different from other Rx books, taking an approach that
comprehensively covers Rx concepts and practical applications.
Write efficient, clean, and reusable code with Scala About This
Book * Unleash the power of Scala and apply it in the real world *
Increase your efficiency by leveraging the power of Creational,
Structural, Behavioural, and Functional design patterns * Build
object oriented and functional applications quickly and effectively
Who This Book Is For If you want to increase your understanding of
Scala and apply it to real-life application development, then this
book is for you. We've also designed the book to be used as a quick
reference guide while creating applications. Previous Scala
programming knowledge is expected. What You Will Learn * Immerse
yourself in industry-standard design patterns-structural,
creational, and behavioral-to create extraordinary applications *
Feel the power of traits and their application in Scala * Implement
abstract and self types and build clean design patterns * Build
complex entity relationships using structural design patterns *
Create applications faster by applying functional design patterns
In Detail Scala has become increasingly popular in many different
IT sectors. The language is exceptionally feature-rich which helps
developers write less code and get faster results. Design patterns
make developer's lives easier by helping them write great software
that is easy to maintain, runs efficiently and is valuable to the
company or people concerned. You will learn about the various
features of Scala and be able to apply well-known, industry-proven
design patterns in your work. The book starts off by focusing on
some of the most interesting features of Scala while using
practical real-world examples. We will also cover the popular "Gang
of Four" design patterns and show you how to incorporate functional
patterns effectively. By the end of this book, you will have enough
knowledge and understanding to quickly assess problems and come up
with elegant solutions. Style and approach The design patterns in
the book will be explained using real-world, step-by-step examples.
For each design pattern, there will be hints about when to use it
and when to look for something more suitable. This book can also be
used as a practical guide, showing you how to leverage design
patterns effectively.
A fast-paced guide to designing and building scalable and
maintainable web apps with React.js About This Book * Build
maintainable and performant user interfaces for your web
applications using React.js * Create reusable React.js components
to save time and effort in maintaining your user interfaces * Learn
how to build a ready-to-deploy React.js web application, following
our step-by-step tutorial Who This Book Is For If you're a
front-end developer with knowledge of jQuery and its libraries,
along with frameworks, such as Angular.JS and Backbone.JS, or
native JavaScript development, and you wish to use the fastest web
user interface library there is, then this book is ideal for you.
What You Will Learn * Install powerful React.js tools to make
development much more efficient * Create React elements with
properties and children * Get started with stateless and stateful
React components * Use JSX to speed up your React.js development
process * Add reactivity to your React components with lifecycle
methods * Integrate your React components with other JavaScript
libraries * Utilize the Flux application architecture with your
React components * Test your React components with Jest test
framework In Detail Building web applications with maintainable and
performant user interfaces is a challenge that many have faced for
more than a decade, but no one has risen to this challenge quite
like React.js. Today React.js is used by Facebook, Instagram, Khan
Academy, and Imperial College London, to name a few. Many new users
recognize the benefits of React.js and adopt it in their own
projects, forming a fast-growing community. The speed at which
React.js has evolved promises a bright future for those who invest
in learning it today. React.js Essentials will take you on a
fast-paced journey through building your own maintainable React.js
application. Begin by exploring how you can create single and
multiple user interface elements. Create stateless and stateful
components and make them reactive, learn to interact between your
components and lifecycle methods and gauge how to effectively
integrate your user interface components with other JavaScript
libraries. Delve deep into the core elements of the Flux
architecture and learn how to manage your application using stores.
Finish by going that extra mile with the Jest test framework,
running multiple tests on your application and find solutions to
scale it further without complexity. Style and approach The book
adopts a step-by-step, hands-on approach with ample codes to ensure
you learn React.js at a fast pace.
Quick fixes to your common C# programming problems, with a focus on
C# 6.0 About This Book * Unique recipes for C#, that places it in
its real-world context. * You will be able to get yourself out of
any coding-corner youve backed yourself into. * All code samples
available through GitHub to bring C#. * In line with modern
development workflows, written to the latest specification of C#
6.0. Who This Book Is For The book is aimed at developers who have
basic familiarity with C# programming and will know the VS 2015
environment. What You Will Learn * Write better and less code to
achieve the same result as in previous versions of C#. * Generate
tests from the Code Contracts for mission critical methods. *
Integrate code in Visual Studio with GitHub. * Create a web
application in Azure. * Design and build a microservice
architecture * Demystify the Rx library using Reactive extensions *
Write high performing codes in C# and understanding
multi-threading. * Security and Debugging. * Implement Code
Contracts on code in Visual Studio. In Detail During your
application development workflow, there is always a moment when you
need to get out of a tight spot. Through a recipe-based approach,
this book will help you overcome common programming problems and
get your applications ready to face the modern world. We start with
C# 6, giving you hands-on experience with the new language
features. Next, we work through the tasks that you perform on a
daily basis such as working with strings, generics, and lots more.
Gradually, we move on to more advanced topics such as the concept
of object-oriented programming, asynchronous programming, reactive
extensions, and code contracts. You will learn responsive high
performance programming in C# and how to create applications with
Azure. Next, we will review the choices available when choosing a
source control solution. At the end of the book, we will show you
how to create secure and robust code, and will help you ramp up
your skills when using the new version of C# 6 and Visual Studio
Style and Approach Unique recipe-based guide that will help you
gain a solid understanding of the new concepts in C# 6 and Visual
Studio Enterprise 2015 in a concise and technically correct manner.
Use Java to create a diverse range of Data Science applications and
bring Data Science into production About This Book * An overview of
modern Data Science and Machine Learning libraries available in
Java * Coverage of a broad set of topics, going from the basics of
Machine Learning to Deep Learning and Big Data frameworks. *
Easy-to-follow illustrations and the running example of building a
search engine. Who This Book Is For This book is intended for
software engineers who are comfortable with developing Java
applications and are familiar with the basic concepts of data
science. Additionally, it will also be useful for data scientists
who do not yet know Java but want or need to learn it. If you are
willing to build efficient data science applications and bring them
in the enterprise environment without changing the existing stack,
this book is for you! What You Will Learn * Get a solid
understanding of the data processing toolbox available in Java *
Explore the data science ecosystem available in Java * Find out how
to approach different machine learning problems with Java * Process
unstructured information such as natural language text or images *
Create your own search engine * Get state-of-the-art performance
with XGBoost * Learn how to build deep neural networks with
DeepLearning4j * Build applications that scale and process large
amounts of data * Deploy data science models to production and
evaluate their performance In Detail Java is the most popular
programming language, according to the TIOBE index, and it is a
typical choice for running production systems in many companies,
both in the startup world and among large enterprises. Not
surprisingly, it is also a common choice for creating data science
applications: it is fast and has a great set of data processing
tools, both built-in and external. What is more, choosing Java for
data science allows you to easily integrate solutions with existing
software, and bring data science into production with less effort.
This book will teach you how to create data science applications
with Java. First, we will revise the most important things when
starting a data science application, and then brush up the basics
of Java and machine learning before diving into more advanced
topics. We start by going over the existing libraries for data
processing and libraries with machine learning algorithms. After
that, we cover topics such as classification and regression,
dimensionality reduction and clustering, information retrieval and
natural language processing, and deep learning and big data.
Finally, we finish the book by talking about the ways to deploy the
model and evaluate it in production settings. Style and approach
This is a practical guide where all the important concepts such as
classification, regression, and dimensionality reduction are
explained with the help of examples.
Recipes to help you overcome your data science hurdles using Java
About This Book * This book provides modern recipes in small steps
to help an apprentice cook become a master chef in data science *
Use these recipes to obtain, clean, analyze, and learn from your
data * Learn how to get your data science applications to
production and enterprise environments effortlessly Who This Book
Is For This book is for Java developers who are familiar with the
fundamentals of data science and want to improve their skills to
become a pro. What You Will Learn * Find out how to clean and make
datasets ready so you can acquire actual insights by removing noise
and outliers * Develop the skills to use modern machine learning
techniques to retrieve information and transform data to knowledge.
retrieve information from large amount of data in text format. *
Familiarize yourself with cutting-edge techniques to store and
search large volumes of data and retrieve information from large
amounts of data in text format * Develop basic skills to apply big
data and deep learning technologies on large volumes of data *
Evolve your data visualization skills and gain valuable insights
from your data * Get to know a step-by-step formula to develop an
industry-standard, large-scale, real-life data product * Gain the
skills to visualize data and interact with users through data
insights In Detail If you are looking to build data science models
that are good for production, Java has come to the rescue. With the
aid of strong libraries such as MLlib, Weka, DL4j, and more, you
can efficiently perform all the data science tasks you need to.
This unique book provides modern recipes to solve your common and
not-so-common data science-related problems. We start with recipes
to help you obtain, clean, index, and search data. Then you will
learn a variety of techniques to analyze, learn from, and retrieve
information from data. You will also understand how to handle big
data, learn deeply from data, and visualize data. Finally, you will
work through unique recipes that solve your problems while taking
data science to production, writing distributed data science
applications, and much more-things that will come in handy at work.
Style and approach This book contains short yet very effective
recipes to solve most common problems. Some recipes cater to very
specific, rare pain points. The recipes cover different data sets
and work very closely to real production environments
Get to grips with object-oriented programming in Swift to
efficiently build powerful real-world applications About This Book
* Leverage the most efficient object-oriented design patterns in
your Swift applications * Write robust, safer, and better code
using the blueprints that generate objects * Build a platform with
object-oriented code by using real-world elements and represent
them in your app Who This Book Is For If you are an iOS developer
who has a basic idea of object-oriented programming and want to
incorporate its concepts with Swift to optimize your application's
code and create reusable and easily to understand building blocks,
then this book is for you. This is a very useful resource for
developers who want to shift from Objective C, C#, Java, Python,
JavaScript, or other object-oriented languages to Swift What You
Will Learn * Build solid, stable, and reliable applications using
Swift * Work with encapsulation, abstraction, and polymorphism
using Swift 2.0 * Customize constructors and destructors based on
your needs * Develop Swift 2.0 with classes, instances, properties,
and methods * Take advantage of generic code to maximize code reuse
and generalize behaviors * Use state of inheritance,
specialization, and the possibility to overload members * Write
high quality object-oriented code to build apps for iOS or Mac OS X
In Detail Object-Oriented Programming (OOP) is a programming
paradigm based on the concept of objects; these are data structures
that contain data in the form of fields, often known as attributes
and code. Objects are everywhere, and so it is very important to
recognize elements, known as objects, from real-world situations
and know how they can easily be translated into object-oriented
code. Object-Oriented Programming with Swift is an easy-to-follow
guide packed full of hands-on examples of solutions to common
problems encountered with object-oriented code in Swift. It starts
by helping you to recognize objects using real-life scenarios and
demonstrates how working with them makes it simpler to write code
that is easy to understand and reuse. You will learn to protect and
hide data with the data encapsulation features of Swift. Then, you
will explore how to maximize code reuse by writing code capable of
working with objects of different types. After that, you'll
discover the power of parametric polymorphism and will combine
generic code with inheritance and multiple inheritance. Later, you
move on to refactoring your existing code and organizing your
source for easy maintenance and extensions. By the end of the book,
you will be able to create better, stronger, and more reusable
code, which will help you build better applications. Style and
approach This simple guide is packed with practical examples of
solutions to common problems. Each chapter includes exercises and
the possibility for you to test your progress by answering
questions.
|
|