Showing posts with label IT Books. Show all posts
Showing posts with label IT Books. Show all posts

Python Unit Test Automation

Python Unit Test Automation
Features of Python

Python language is a simple and minimalist language for all developers. Reading a well written and good Python program makes you feel as if you are reading English text.

Python is extremely easy for beginners to learn. There are an entire new generation of programmers is learning Python as their first programming language.

Python code is easy to read, easy to understand, and easy to learn.

Next, Python is an open source project. It means its source code is freely available. You can change it to suit your needs and use the original and the change code in your applications.

For example, now our online community are using the Kodi app, it wrote by the Python source code.

Besides, Python supports object-oriented programming. It means the program is built around objects that combine data and the related functionality. Python is a very simple but powerful object-oriented programming language.

Quickly learn how to automate unit testing of Python 3 code with Python 3 automation libraries, such as doctest, unittest, nose, nose2, and pytest.
This book explores the important concepts in software testing and their implementation in Python 3 and shows you how to automate, organize, and execute unit tests for this language. This knowledge is often acquired by reading source code, manuals, and posting questions on community forums, which tends to be a slow and painful process.
Python Unit Test Automation will allow you to quickly ramp up your understanding of unit test libraries for Python 3 through the practical use of code examples and exercises. All of which makes this book a great resource for software developers and testers who want to get started with unit test automation in Python 3 and compare the differences with Python 2.
This short work is your must-have quick start guide to mastering the essential concepts of software testing in Python.
What You'll Learn:
  • Essential concepts in software testing
  • Various test automation libraries for Python, such as doctest, unittest, nose, nose2, and pytest
  • Test-driven development and best practices for test automation in Python
  • Code examples and exercises
Who This Book Is For:
 
Python developers, software testers, open source enthusiasts, and contributors to the Python community

Python Unit Test Automation: Practical Techniques for Python Developers and Testers

Data engineering and infrastructure

data-engineering-and-infrastructure
It’s hard to understate the sophistication of the tools needed to instrument, track, move, and process data at scale. The development and implementation of these technologies is the responsibility of the data engineering and infrastructure team. The technologies have evolved tremendously over the past decade, with an incredible amount of collaboration taking place through open source projects. Here are just a few samples:
• Kafka, Flume, and Scribe are tools for streaming data collection. While the models differ, the general idea is that these programs collect data from many sources; aggregate the data; and feed it to a database, a system like Hadoop, or other clients.
• Hadoop is currently the most widely used framework for processing data. Hadoop is an open source implementation of the MapReduce programming model that Google popularized in 2004. It is inherently batch-oriented; several newer technologies are aimed at processing streaming data, such as S4 and Storm.
• Azkaban and Oozie are job schedulers. They manage and coordinate complex data flows.
• Pig and Hive are languages for querying large non-relational datastores. Hive is very similar to SQL. Pig is a data-oriented scripting language.
• Voldemort, Cassandra, and HBase are data stores that have been designed for good performance on very large datasets.

Equally important is the ability to build monitoring and deployment technologies for these systems.
In addition to building the infrastructure, data engineering and infrastructure takes ideas developed by the product and marketing analytics group and implements them so they can operate in production at scale. For example, a recommendation engine for videos may be prototyped using SQL, Pig, or Hive. If testing shows that the recommendation engine is of value, it will need to be deployed so that it supports SLAs specifying appropriate availability and latencies. Migrating the product from prototype into production may require re-implementing it so it can deliver performance at scale. If SQL and a relational database prove to be too slow, you may need to move to HBase, queried by Hive or Pig. Once the application has been deployed, it must be monitored to ensure that it continues meeting its requirements. It must also be monitored to ensure that it is producing relevant results. Doing so requires more sophisticated software development.

Data engineering and infrastructure

Principles of Data Science

principles-of-data-science
Need to turn your skills at programming into effective data science skills? Principles of Data Science is created to help you join the dots between mathematics, programming, and business analysis. With this book, you'll feel confident about asking―and answering―complex and sophisticated questions of your data to move from abstract and raw statistics to actionable ideas.
With a unique approach that bridges the gap between mathematics and computer science, this books takes you through the entire data science pipeline. Beginning with cleaning and preparing data, and effective data mining strategies and techniques, you'll move on to build a comprehensive picture of how every piece of the data science puzzle fits together. Learn the fundamentals of computational mathematics and statistics, as well as some pseudocode being used today by data scientists and analysts. You'll get to grips with machine learning, discover the statistical models that help you take control and navigate even the densest datasets, and find out how to create powerful visualizations that communicate what your data means.

What you will learn

  • Get to know the five most important steps of data science
  • Use your data intelligently and learn how to handle it with care
  • Bridge the gap between mathematics and programming
  • Learn about probability, calculus, and how to use statistical models to control and clean your data and drive actionable results
  • Build and evaluate baseline machine learning models
  • Explore the most effective metrics to determine the success of your machine learning models
  • Create data visualizations that communicate actionable insights
  • Read and apply machine learning concepts to your problems and make actual predictions
Organized data: This refers to data that is sorted into a row/column structure, where every row represents a single observation and the columns represent the characteristics of that observation.
Unorganized data: This is the type of data that is in the free form, usually text or raw audio/signals that must be parsed further to become organized. Whenever you open Excel (or any other spreadsheet program), you are looking at a blank row/column structure waiting for organized data. These programs don't do well with unorganized data. For the most part, we will deal with organized data as it is the easiest to glean insight from, but we will not shy away from looking at raw text and methods of processing unorganized forms of data.
Data science is the art and science of acquiring knowledge through data.
There are three basic classifications of data: Structured vs unstructured, Quantitative vs qualitative, and The four levels of data.
The five essential steps to perform data science are as follows:
1. Asking an interesting question
2. Obtaining the data
3. Exploring the data
4. Modeling the data
5. Communicating and visualizing the results

Principles of Data Science

Big Data Analytics Made Easy

What is big data
Big Data is any voluminous amount of Structured, Semi-structured and Unstructured data that has the potential to be mined for information where the Individual records stop mattering and only aggregates matter. Data becomes Big data when it is difficult to process using traditional techniques.

R is a programming language for statistical analysis and reporting. R is a simple programming language which includes many functions for Data Analytics, it has an effective data handling and storage facility. R provides graphical facilities for data analysis and reporting. I request you to please Install R and R studio which is freely downloadable. To work in R studio, you need to have even R at
the back end, so please go to site CRAN and Install latest version of R according to your Operating system. So Let’s Start (Rock and Roll) with R-Studio: When you first open the R-studio, you will see four windows.
1. Scripts: Serves as an area to write and save R code
2. Workspace: Lists the datasets and variables in the R environment
3. Plots: Displays the plots generated by the R code
4. Console Provides a history of the executed R code and the output.


Human Neural Network: The basic computational unit in the nervous system is the nerve cell or neuron. A neuron has 1. Dendrites (inputs) 2. Cell body 3.Axon (output). A neuron receives input from other neurons, Inputs gets summed up and, Once input exceeds a critical level, the neuron discharges an electrical pulse that travels through the body, down the axon, to the next neuron. This spiking event is also called depolarization and is followed by a refractory period, during which the neuron is unable to fire. The axon endings almost touch the dendrites or cell body of the next neuron. Transmission of an electrical signal from one neuron to the next is effected by neurotransmitters, chemicals which are released from the first neuron and which bind to receptors in the second. This link is called a synapse. The extent to which the signal from one neuron is passed on to the next depends on many factors, e.g. the amount of neurotransmitter available, the arrangement of receptors, amount of neurotransmitter reabsorbed, etc.

Applications of neural network:
1. Robotics – Navigation, Vision Recognition
2. Medicine – Storing medical records
3. Speech Recognition
4. Stock market prediction
5. Data compression
6. Image processing
7. Face recognition
8. Cab or truck position tracking
9. Signal Processing
10. Recognizing Handwritten characters.

Big Data Analytics Made Easy

Service Oriented Infrastructures and Cloud Service Platforms for the Enterprise

service-oriented-infrastructures-and-cloud-service-platforms-for-the-enterprise
Service-Oriented Infrastructures including Grid and Cloud Computing are technologies in a critical transition to wider adoption by business. Their use may enable enterprises to achieve optimal IT utilization, including sharing resources and services across enterprises and on-demand utilization of those made available by business partners over the network. This book is an essential reference for researchers and practitioners in service-oriented IT. It analyses a selection of common capabilities (services capturing reusable functionality of IT solutions) that have been applied to tackle challenging business problems and were validated by the BEinGRID consortium in real-life business trials covering most European market sectors.
1 Introduction
Theo Dimitrakos
1.1 Motivation
1.2 TheBEinGRIDProject
1.2.1 TheBEinGRIDMatrix
1.3 Common Capabilities for SOI and Cloud Services
1.3.1 Life-Cycle Management of Virtual Organizations
1.3.2 Federated Identity and Access Management
1.3.3 Common Capabilities for Managing Software Licenses
1.3.4 Common Capabilities for Managing Service Level Agreements
1.3.5 Common Capabilities for Data Management
1.3.6 Common Capabilities for Data and Service Portals
1.4 An Example that Brings it all Together
1.5 About the Contents and Structure of this Book
2 Approach Towards Technical Innovations for Service Oriented Infrastructures and Clouds
Theo Dimitrakos, Angelo Gaeta, and Craig Thomson
2.1 Introduction
2.2 High-LevelObjectives
2.3 The Innovation Delivery Process
2.3.1 Elicitation of Common Technical Requirements
2.3.2 ThematicAreas
2.3.3 Prioritisation of Common Technical Requirements
2.3.4 Common Capabilities and Design Patterns
2.3.5 Generic Components: Reference Implementations of Common Capabilities
3 Management of Virtual Organizations
Nicola Capuano, Angelo Gaeta, Matteo Gaeta, Francesco Orciuoli, David Brossard, and Alex Gusmini
3.1 Introduction
3.2 The Main Challenges
3.3 Technical Requirements
3.3.1 Secure Federation
3.3.2 Separation of Infrastructure Management Capabilities from Application Specific Ones
3.3.3 AutomaticResource andServiceDiscovery
3.4 Common Capabilities
3.4.1 VOSetUp
3.4.2 Creation of Instances in Service Oriented Distributed Infrastructures
3.4.3 ApplicationVirtualization
3.4.4 AutomaticResource/ServiceDiscovery
3.5 A Sample Scenario and Integrated View of the Components
3.5.1 VOIdentification&Formation
3.5.2 VOCreation
3.5.3 VOOperationandEvolution
3.5.4 VODissolution
3.6 LessonsLearnt
3.7 Business Benefits
3.8 Conclusion
4 Aspects of General Security & Trust
David Brossard, Theo Dimitrakos, Angelo Gaeta, and Stéphane Mouton
4.1 Introduction
4.2 The Overall Challenge
4.3 BusinessMotivation
4.4 Technical Requirements
4.4.1 Primary Security Requirements
4.4.2 Distributed Systems Security
4.4.3 Adaptive Enforcement
4.4.4 Data Protection & Infrastructure Security
4.4.5 SOA Security Governance
4.5 Common Capabilities
4.5.1 Overview
4.5.2 Identity Brokerage & Secure Federation Management
4.5.3 Access Control & Authorization
4.5.4 Secure Messaging Gateway
4.5.5 Security Observer
4.5.6 The SOI Governance Gateway (SOI-GGW)
4.6 Conclusion
5 Management for Service Level Agreements
Igor Rosenberg, Antonio Conguista, and Roland Kuebert
5.1 The Overall Challenge
5.2 Technical Requirements
5.2.1 SLANegotiation
5.2.2 SLAOptimisationofResourceSelection
5.2.3 SLAEvaluation
5.2.4 SLA Accounting
5.3 Common Capabilities
5.3.1 SLA Negotiation Capability
5.3.2 SLA Optimisation Capability
5.3.3 SLAEvaluationandMonitoring
5.4 Motivation
5.5 Conclusion
5.5.1 LessonsLearned
5.5.2 Recommendations
6 License Management
Christian Simmendinger, Yona Raekow, Ottmar Krämer-Fuhrmann, and
Domenic Jenz
6.1 Introduction
6.2 The Overall Challenge
6.3 Technical Requirements
6.3.1 Gridification of Currently Used License Management Systems
6.3.2 Limited License Service Provider (LSP) Capability
6.4 Common Capabilities
6.4.1 LMAuthorization
6.4.2 Extension of Job Description and Submission
6.4.3 Resource Management Extension
6.4.4 Encapsulation of License Server
6.4.5 Accounting and Billing
6.4.6 LMMonitor
6.5 Conclusion
6.5.1 LessonsLearnt
6.5.2 Recommendations
7 Data Management
Craig Thomson, Kostas Kavoussanakis, Mark Sawyer, George Beckett, Michal Piotrowski, Mark Parsons, and Arthur Trew
7.1 Introduction
7.2 The Overall Challenge
7.3 Technical Requirements

Service Oriented Infrastructures and Cloud Service Platforms for the Enterprise

Defining IaaS

defining-iaas
The simplest way to view IaaS is as a means of providing access to virtualized computer resources over an Internet connection. IaaS acts as one of three methods of sharing resources over the Internet, alongside SaaS and PaaS. AWS supports IaaS by providing access to virtualized hardware, software, servers, storage, and other infrastructure components. In short, you can use IaaS to replace every physical element in your computing setup except those required to establish and maintain Internet connectivity and those required to provide nonvirtualized services (such as printing). The advantages of IaaS are many, but here are the ones that most people consider essential:
- The host handles tasks such as system maintenance, backup, and resiliency planning.
- A client can gain immediate access to additional resources when needed and then doesn’t need to worry about getting rid of them when the need has ended.
- Detailed administrative tasks are handled by the host, but the client can manage overall administrative tasks, such as deciding how much capacity to use for a particular task.
- Users have access to desktop virtualization, which means that their desktop appears on whatever device they happen to use at a given moment. The use of policy-based services ensures that users must still adhere to company requirements when using computer resources.
- All required updates (software and hardware) occur automatically and without any interaction required by the client.
- Keep in mind that there is no free lunch. AWS and other IaaS providers are interested in making a profit. They do so by investing in huge quantities of hardware, software, and management personnel to oversee it all. The benefits of scale help create profit, and many businesses simply can’t create setups they require for less money.

The definite disadvantages of IaaS
- Billing can become complex because some services are billed at different rates and within different time frames. In addition, billing can include resource usage. The client must ensure that the amount on the bill actually matches real-world usage; paying too much for services that the client didn’t actually use can easily happen.
- Systems management monitoring becomes more difficult. The client loses control over the precise manner in which activities occur.
- A lag often occurs between the time a change in service is needed and the host provides it, so the client can find that even though services are more flexible, they aren’t as responsive.
- Host downtime can affect a large group of people and prove difficult to fix, which means that a particular client may experience downtime at the worst possible time without any means to resolve it.
- Building and testing custom applications can become more difficult. Many experts recommend using in-house equipment for application development needs to ensure that the environment is both protected and responsive.

Defining IaaS

Getting to Know the Elastic Compute Cloud (EC2)

getting-to-know-the-elastic-compute-cloud-ec2
Consider the meaning of elastic in many of the AWS service names. When you see the word elastic, you should think of the ability to stretch and contract. All the AWS documentation alludes to this fact, but it often makes the whole process sound quite complicated when it really isn’t. Just think about a computer that can stretch when you need more resources and contract when you don’t. With AWS, you pay only for the services you actually use, so this capability to stretch and contract is important because it means that your organization can spend less money and still end up with just the right amount of services needed.
EC2 provides two common methods for making configuration changes:
- Manually using the AWS Console
- Automatically using the AWS Application Programming Interface (API)

AWS provides distinct security features. There is a summary of the security features used with EC2
- Virtual Private Cloud (VPC): Separates every instance running on the physical server from every other instance. Theoretically, no one can access someone else’s instance.
- Network Access Control Lists (ACLs) (Optional): Acts as a firewall to control both incoming and outgoing requests at the subnet level.
- Identity and Access Management (IAM) Users and Permissions: Controls the level of access granted to individual users and user groups. You can both allow and deny access to specific resources managed by EC2.
- Security Groups: Acts as a firewall to control both incoming and outgoing requests at the instance level. Each instance can have up to five security groups, each of which can have different permissions. This security feature provides finer-grained control over access than Network ACLs, but you must also maintain it for each instance, rather than for the virtual machine as a whole.
- Hardware Security Device: Relies on a hardware-based security device that you install to control security between your on-premises network and the AWS cloud.

Getting to Know the Elastic Compute Cloud (EC2)