Introduction to Programming Price list in India

Problems Title
Data Structures Using C

Data Structures Using C


This second edition of Data Structures Using C has been developed to provide a comprehensive and consistent coverage of both the abstract concepts of data structures as well as the implementation of these concepts using C language. It begins with a thorough overview of the concepts of C programming followed by introduction of different data structures and methods to analyse the complexity of different algorithms. It then connects these concepts and applies them to the study of various data structures such as arrays, strings, linked lists, stacks, queues, trees, heaps, and graphs.

The book utilizes a systematic approach wherein the design of each of the data structures is followed by algorithms of different operations that can be performed on them, and the analysis of these algorithms in terms of their running times.

Each chapter includes a variety of end-chapter exercises in the form of MCQs with answers, review questions, and programming exercises to help readers test their knowledge.

Java Concurrency in Practice 1/e

Java Concurrency in Practice 1/e

This book is a combination of concepts, guidelines and examples intended to assist developers in the difficult process of understanding concurrency and its new tools in J2SE 5. 0. Filled with contributions from Java gurus such as Josh Bloch, David Holmes and Doug Lea, this book provides any Java programmers with the basic building blocks they need to gain a basic understanding of concurrency and its benefits.
° Powerhouse author team with contributions from Doug Lea, Josh Bloch and David Holmes
° A practical, hands-on, example-driven guide for every working Java programmer
° Based on J2SE 5. 0 which includes many new concurrency features that make concurrency development much more accessible (and necessary)

1. Introduction
2. Thread Safety
3. Sharing Objects
4. Building Blocks
5. Task Execution
6. Cancellation and Shutdown
7. Applying Thread Pools
8. Avoiding Liveness Hazards
9. Performance and Scalability
10. Explicit Locks
11. Building Custom Synchronizers
12. Testing Concurrent Programs

Reactive Programming With Java 9

Reactive Programming With Java 9

This book will teach you how to build robust asynchronous and event-driven applications with ease. About This Book * Learn about Java 9's Flow API, Reactive programming along with Kafka and Mockito, and how these aspects are utilized by RxJava * Build fast and concurrent applications with ease, without the complexity of Java's concurrent API and shared states, with the help of Spring * Explore a wide variety of code examples to easily get used to all the features and tools provided by RxJava Who This Book Is For This book targets existing Java developers who want to understand Reactive programming and build responsive and resilient asynchronous applications using Reactive stream implementations. What You Will Learn * Understand the Reactive Manifesto * Grasp the Reactive Streams types introduced in Java 9 in the form of the Flow API * Use RxJava, a Reactive Streams implementation, to build asynchronous applications * Build responsiveness and resilience into applications using RxJava operators * Demonstrate the usage of Hystrix, a latency and fault tolerance library from Netfl ix that uses RxJava * Implement Reactive web applications using Spring Framework 5 and RxJava In Detail Reactive programming is an asynchronous programming model that helps you tackle the essential complexity that comes with writing such applications. Using Reactive programming to start building applications is not immediately intuitive to a developer who has been writing programs in the imperative paradigm. To tackle the essential complexity, Reactive programming uses declarative and functional paradigms to build programs. This book sets out to make the paradigm shift easy. This book begins by explaining what Reactive programming is, the Reactive manifesto, and the Reactive Streams specifi cation. It uses Java 9 to introduce the declarative and functional paradigm, which is necessary to write programs in the Reactive style. It explains Java 9's Flow API, an adoption of the Reactive Streams specifi cation. From this point on, it focuses on RxJava 2.0, covering topics such as creating, transforming,fi ltering, combining, and testing Observables. It discusses how to use Java's popular framework, Spring, to build event-driven, Reactive applications. You will also learn how to implement resiliency patterns using Hystrix. By the end, you will be fully equipped with the tools and techniques needed to implement robust, event-driven, Reactive applications. Style and approach This book is a tutorial about Reactive programming in Java using APIs as well as the RxJava library. Packed with a lot of well-described examples, it explains Reactive programming concepts in plain and readable language.

Mastering Spring 5.0

Mastering Spring 5.0

Develop cloud native applications with microservices using Spring Boot, Spring Cloud, and Spring Cloud Data Flow About This Book * Explore the new features and components in Spring * Evolve towards micro services and cloud native applications * Gain powerful insights into advanced concepts of Spring and Spring Boot to develop applications more effectively * Understand the basics of Kotlin and use it to develop a quick service with Spring Boot Who This Book Is For This book is for an experienced Java developer who knows the basics of Spring, and wants to learn how to use Spring Boot to build applications and deploy them to the cloud. What You Will Learn * Explore the new features in Spring Framework 5.0 * Build microservices with Spring Boot * Get to know the advanced features of Spring Boot in order to effectively develop and monitor applications * Use Spring Cloud to deploy and manage applications on the Cloud * Understand Spring Data and Spring Cloud Data Flow * Understand the basics of reactive programming * Get to know the best practices when developing applications with the Spring Framework * Create a new project using Kotlin and implement a couple of basic services with unit and integration testing In Detail Spring 5.0 is due to arrive with a myriad of new and exciting features that will change the way we've used the framework so far. This book will show you this evolution-from solving the problems of testable applications to building distributed applications on the cloud. The book begins with an insight into the new features in Spring 5.0 and shows you how to build an application using Spring MVC. You will realize how application architectures have evolved from monoliths to those built around microservices. You will then get a thorough understanding of how to build and extend microservices using Spring Boot. You will also understand how to build and deploy Cloud-Native microservices with Spring Cloud. The advanced features of Spring Boot will be illustrated through powerful examples. We will be introduced to a JVM language that's quickly gaining popularity - Kotlin. Also, we will discuss how to set up a Kotlin project in Eclipse. By the end of the book, you will be equipped with the knowledge and best practices required to develop microservices with the Spring Framework. Style and Approach This book follows an end-to-end tutorial approach with lots of examples and sample applications, covering the major building blocks of the Spring framework.

Spring: Microservices with Spring Boot: Build and deploy microservices with Spring Boot

Spring: Microservices with Spring Boot: Build and deploy microservices with Spring Boot

Unlock the power of Spring Boot to build and deploy production-ready microservices Key Features Get to know the advanced features of Spring Boot in order to develop and monitor applications Use Spring cloud to deploy and manage microservices on the cloud Look at embedded servers and deploy a test application to a PaaS Cloud platform Embedded with assessments that will help you revise the concepts you have learned in this book Book DescriptionMicroservices helps in decomposing applications into small services and move away from a single monolithic artifact. It helps in building systems that are scalable, flexible, and high resilient. Spring Boot helps in building REST-oriented, production-grade microservices. This book is a quick learning guide on how to build, monitor, and deploy microservices with Spring Boot. You'll be first familiarized with Spring Boot before delving into building microservices. You will learn how to document your microservice with the help of Spring REST docs and Swagger documentation. You will then learn how to secure your microservice with Spring Security and OAuth2. You will deploy your app using a self-contained HTTP server and also learn to monitor a microservice with the help of Spring Boot actuator. This book is ideal for Java developers who knows the basics of Spring programming and want to build microservices with Spring Boot. This book is embedded with useful assessments that will help you revise the concepts you have learned in this book. What you will learn Use Spring Initializr to create a basic spring project Build a basic microservice with Spring Boot Implement caching and exception handling Secure your microservice with Spring security and OAuth2 Deploy microservices using self-contained HTTP server Monitor your microservices with Spring Boot actuator Learn to develop more effectively with developer tools Who this book is forThis book is aimed at Java developers who knows the basics of Spring programming and want to build microservices with Spring Boot.

Scala and Spark for Big Data Analytics

Scala and Spark for Big Data Analytics

Harness the power of Scala to program Spark and analyze tonnes of data in the blink of an eye! About This Book * Learn Scala's sophisticated type system that combines Functional Programming and object-oriented concepts * Work on a wide array of applications, from simple batch jobs to stream processing and machine learning * Explore the most common as well as some complex use-cases to perform large-scale data analysis with Spark Who This Book Is For Anyone who wishes to learn how to perform data analysis by harnessing the power of Spark will find this book extremely useful. No knowledge of Spark or Scala is assumed, although prior programming experience (especially with other JVM languages) will be useful to pick up concepts quicker. What You Will Learn * Understand object-oriented & functional programming concepts of Scala * In-depth understanding of Scala collection APIs * Work with RDD and DataFrame to learn Spark's core abstractions * Analysing structured and unstructured data using SparkSQL and GraphX * Scalable and fault-tolerant streaming application development using Spark structured streaming * Learn machine-learning best practices for classification, regression, dimensionality reduction, and recommendation system to build predictive models with widely used algorithms in Spark MLlib & ML * Build clustering models to cluster a vast amount of data * Understand tuning, debugging, and monitoring Spark applications * Deploy Spark applications on real clusters in Standalone, Mesos, and YARN In Detail Scala has been observing wide adoption over the past few years, especially in the field of data science and analytics. Spark, built on Scala, has gained a lot of recognition and is being used widely in productions. Thus, if you want to leverage the power of Scala and Spark to make sense of big data, this book is for you. The first part introduces you to Scala, helping you understand the object-oriented and functional programming concepts needed for Spark application development. It then moves on to Spark to cover the basic abstractions using RDD and DataFrame. This will help you develop scalable and fault-tolerant streaming applications by analyzing structured and unstructured data using SparkSQL, GraphX, and Spark structured streaming. Finally, the book moves on to some advanced topics, such as monitoring, configuration, debugging, testing, and deployment. You will also learn how to develop Spark applications using SparkR and PySpark APIs, interactive data analytics using Zeppelin, and in-memory data processing with Alluxio. By the end of this book, you will have a thorough understanding of Spark, and you will be able to perform full-stack data analytics with a feel that no amount of data is too big. Style and approach Filled with practical examples and use cases, this book will hot only help you get up and running with Spark, but will also take you farther down the road to becoming a data scientist.

Cassandra: The Definitive Guide - Distributed Data at Web Scale, Second Edition

Cassandra: The Definitive Guide - Distributed Data at Web Scale, Second Edition

All Indian Reprints of O'Reilly are printed in Grayscale.

Imagine what you could do if scalability wasn't a problem. With this hands-on guide, you’ll learn how the Cassandra database management system handles hundreds of terabytes of data while remaining highly available across multiple data centers. This expanded second edition—updated for Cassandra 3.0—provides the technical details and practical examples you need to put this database to work in a production environment.

Authors Jeff Carpenter and Eben Hewitt demonstrate the advantages of Cassandra’s non-relational design, with special attention to data modeling. If you’re a developer, DBAor application architect looking to solve a database scaling issue or future-proof your application, this guide helps you harness Cassandra’s speed and flexibility.

  • Understand Cassandra’s distributed and decentralized structure
  • Use the Cassandra Query Language (CQL) and cqlsh—the CQL shell
  • Create a working data model and compare it with an equivalent relational model
  • Develop sample applications using client drivers for languages including Java, Pythonand Node.js
  • Explore cluster topology and learn how nodes exchange data
  • Maintain a high level of performance in your cluster
  • Deploy Cassandra on site, in the Cloudor with Docker
  • Integrate Cassandra with Spark, Hadoop, Elasticsearch, Solrand Lucene

Introduction to Machine Learning with Python: A Guide for Data Scientists

Introduction to Machine Learning with Python: A Guide for Data Scientists

Machine learning has become an integral part of many commercial applications and research projects, but this field is not exclusive to large companies with extensive research teams. If you use Python, even as a beginner, this book will teach you practical ways to build your own machine learning solutions. With all the data available today, machine learning applications are limited only by your imagination.

You'll learn the steps necessary to create a successful machine-learning application with Python and the scikit-learn library. Authors Andreas MŸller and Sarah Guido focus on the practical aspects of using machine learning algorithms, rather than the math behind them. Familiarity with the NumPy and matplotlib libraries will help you get even more from this book.

With this book, you'll learn:
Fundamental concepts and applications of machine learning
Advantages and shortcomings of widely used machine learning algorithms
How to represent data processed by machine learning, including which data aspects to focus on
Advanced methods for model evaluation and parameter tuning
The concept of pipelines for chaining models and encapsulating your workflow
Methods for working with text data, including text-specific processing techniques
Suggestions for improving your machine learning and data science skills.

Site Reliability Engineering: How Google Runs Production Systems

Site Reliability Engineering: How Google Runs Production Systems


The overwhelming majority of a software system and rsquo;s lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?

In this collection of essays and articles, key members of Google and rsquo;s Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor and maintain some of the largest software systems in the world. You and rsquo;ll learn the principles and practices that enable Google engineers to make systems more scalable, reliable and efficient and mdash;lessons directly applicable to your organization.

This book is divided into four sections:


Introduction and mdash;Learn what site reliability engineering is and why it differs from conventional IT industry practices

Principles and mdash;Examine the patterns, behaviors and areas of concern that influence the work of a site reliability engineer (SRE)

Practices and mdash;Understand the theory and practice of an SRE and rsquo;s day-to-day work: building and operating large distributed computing systems

Management and mdash;Explore Google's best practices for training, communication and meetings that your organization can use

Bot