Duration 1 Days 6 CPD hours This course is intended for This course is intended for the following participants: Individuals planning to deploy applications and create application environments on Google Cloud Platform Developers, systems operations professionals, and solution architects getting started with Google Cloud Platform Executives and business decision makers evaluating the potential of Google Cloud Platform to address their business needs. Overview This course teaches participants the following skills: Identify Google Cloud counterparts for Azure IaaS, Azure PaaS, Azure SQL, Azure Blob Storage, Azure Application Insights, and Azure Data Lake Configure accounts, billing, projects, networks, subnets, firewalls, VMs, disks, auto scaling, load balancing,storage, databases, IAM, and more Manage and monitor applications Explain feature and pricing model differences This 1-day instructor led course introduces Azure professionals to the core capabilities of Google Cloud in the four technology pillars: networking, compute, storage, and database. It is designed for Azure system administrators, Solution Architects and SysOps Administrators familiar with Azure features and setup; and want to gain experience configuring Google Cloud products immediately. With presentations, demos, and hands-on labs, participants get details of similarities, differences, and initial how-tos quickly. Introducing Google Cloud Explain the advantages of Google Cloud. Define the components of Google's network infrastructure, including: Points of presence, data centers, regions, and zones. Understand the difference between Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS). Getting Started with Google Cloud Identify the purpose of projects on Google Cloud. Understand how Azure's resource hierarchy differs from Google Cloud's Understand the purpose of and use cases for Identity and Access Management. Understand how Azure AD differs from Google Cloud IAM. List the methods of interacting with Google Cloud. Launch a solution using Cloud Marketplace. Virtual Machines in the Cloud Identify the purpose and use cases for Google Compute Engine Understand the basics of networking in Google Cloud. Understand how Azure VPC differs from Google VPC. Understand the similarities and differences between Azure VM and Google Compute Engine. Understand how typical approaches to load-balancing in Google Cloud differ from those in Azure. Deploy applications using Google Compute Engine Storage in the Cloud Understand the purpose of and use cases for: Cloud Storage, Cloud SQL, Cloud Bigtable and Cloud Datastore. Understand how Azure Blob compares to Cloud Storage. Compare Google Cloud?s managed database services with Azure SQL. Learn how to choose among the various storage options on Google Cloud. Load data from Cloud Storage into BigQuery Containers in the Cloud Define the concept of a container and identify uses for containers. Identify the purpose of and use cases for Google Container Engine and Kubernetes. Understand how Azure Kubernetes Service differs from from Google Kubernetes Engine. Provision a Kubernetes cluster using Kubernetes Engine. Deploy and manage Docker containers using kubectl Applications in the Cloud Understand the purpose of and use cases for Google App Engine. Contrast the App Engine Standard environment with the App Engine Flexible environment. Understand how App Engine differs from Azure App Service. Understand the purpose of and use cases for Google Cloud Endpoints. Developing, Deploying and Monitoring in the Cloud Understand options for software developers to host their source code. Understand the purpose of template-based creation and management of resources. Understand how Google Cloud Deployment Manager differs from Azure Resource Manager. Understand the purpose of integrated monitoring, alerting, and debugging Understand how Google Monitoring differs from Azure Application Insights and Azure Log Analytics. Create a Deployment Manager deployment. Update a Deployment Manager deployment. View the load on a VM instance using Google Monitoring. Big Data and Machine Learning in the Cloud Understand the purpose of and use cases for the products and services in the Google Cloud big data and machine learning platforms. Understand how Google Cloud BigQuery differs from Azure Data Lake. Understand how Google Cloud Pub/Sub differs from Azure Event Hubs and Service Bus. Understand how Google Cloud?s machine-learning APIs differ from Azure's. Load data into BigQuery from Cloud Storage. Perform queries using BigQuery to gain insight into data Summary and Review Review the products that make up Google Cloud and remember how to choose among them Understand next steps for training and certification Understand, at a high level, the process of migrating from Azure to Google Cloud.
Duration 3 Days 18 CPD hours This course is intended for This course is appropriate for advanced users, system administrators and web site administrators who want to use Python to support their server installations, as well as anyone else who wants to automate or simplify common tasks with the use of Python scripts. Students can apply the course skills to use Python in basic web development projects or automate or simplify common tasks with the use of Python scripts. Overview This skills-focused course is about 50% hands-on lab to lecture ratio, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Working in a hands-on learning environment led by our expert instructor, you'll learn how to: Create working Python scripts following best practices Use python data types appropriately Read and write files with both text and binary data Search and replace text with regular expressions Work with with the standard library and its work-saving modules Create 'real-world', professional Python applications Know when to use collections such as lists, dictionaries, and sets Work with Pythonic features such as comprehensions and iterators Write robust code using exception handling Introduction to Python Programming Basics is a hands-on Python programming course that teaches you the key skills you?ll need to get started with programming in Python to a solid foundational level. The start of the course will lead you through writing and running basic Python scripts, and then guide you through how to use more advanced features such as file operations, regular expressions, working with binary data, and using the extensive functionality of Python modules. Extra emphasis is placed on features unique to Python, such as tuples, array slices, and output formatting. This course provides you with an excellent kick start for users new to Python and scripting, enabling you to quickly use basic Python skills on the job in a variety of ways. You?ll be able use Python in basic web development projects, or use it to automate or simplify common tasks with the use of Python scripts. The course also serves as a solid primer course / foundation for continued Python study in support for next level web development with Python, using Python in DevOps, Python for data science / machine learning or Python for systems admin or networking support. Python Quick View What is Python? Python timeline Advantages/disadvantages Installing Python Getting help The Python Environment Starting Python Using the interpreter Running a Python script Editors and IDEs Getting Started with Python Using variables Builtin functions String data Numberic data Converting types Console input/output Command line parameters Flow Control About flow control The if statement Relational and Boolean operators while loops Exiting from loops Array Types About array types Lists and list methods Tuples Indexing and slicing Iterating through a sequence Sequence functions, keywords, and operators List comprehensions and generators Working with Files File overview Opening a text file Reading a text file Writing to a text file Dictionaries and Sets About dictionaries Creating dictionaries Iterating through a dictionary About sets Creating sets Working with sets Functions Defining functions Returning values Parameters and arguments Variable scope Sorting The sorted() function Custom sort keys Lambda functions Sorting in reverse Using min() and max() Errors and Exception Handling Exceptions Using try/catch/else/finally Handling multiple exceptions Ignoring exceptions Modules and Packages Creating Modules The import statement Module search path Using packages Function and module aliases Getting Started with Object Oriented Programming and Classes About object-oriented programming Defining classes Constructors Understanding self Properties Instance Methods and data Class methods and data Inheritance Additional course details: Nexus Humans Introduction to Python Programming Basics (TTPS4800) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Introduction to Python Programming Basics (TTPS4800) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 2 Days 12 CPD hours This course is intended for Audience: Data Scientists, Software Developers, IT Architects, and Technical Managers. Participants should have the general knowledge of statistics and programming Also familiar with Python Overview ? NumPy, pandas, Matplotlib, scikit-learn ? Python REPLs ? Jupyter Notebooks ? Data analytics life-cycle phases ? Data repairing and normalizing ? Data aggregation and grouping ? Data visualization ? Data science algorithms for supervised and unsupervised machine learning Covers theoretical and technical aspects of using Python in Applied Data Science projects and Data Logistics use cases. Python for Data Science ? Using Modules ? Listing Methods in a Module ? Creating Your Own Modules ? List Comprehension ? Dictionary Comprehension ? String Comprehension ? Python 2 vs Python 3 ? Sets (Python 3+) ? Python Idioms ? Python Data Science ?Ecosystem? ? NumPy ? NumPy Arrays ? NumPy Idioms ? pandas ? Data Wrangling with pandas' DataFrame ? SciPy ? Scikit-learn ? SciPy or scikit-learn? ? Matplotlib ? Python vs R ? Python on Apache Spark ? Python Dev Tools and REPLs ? Anaconda ? IPython ? Visual Studio Code ? Jupyter ? Jupyter Basic Commands ? Summary Applied Data Science ? What is Data Science? ? Data Science Ecosystem ? Data Mining vs. Data Science ? Business Analytics vs. Data Science ? Data Science, Machine Learning, AI? ? Who is a Data Scientist? ? Data Science Skill Sets Venn Diagram ? Data Scientists at Work ? Examples of Data Science Projects ? An Example of a Data Product ? Applied Data Science at Google ? Data Science Gotchas ? Summary Data Analytics Life-cycle Phases ? Big Data Analytics Pipeline ? Data Discovery Phase ? Data Harvesting Phase ? Data Priming Phase ? Data Logistics and Data Governance ? Exploratory Data Analysis ? Model Planning Phase ? Model Building Phase ? Communicating the Results ? Production Roll-out ? Summary Repairing and Normalizing Data ? Repairing and Normalizing Data ? Dealing with the Missing Data ? Sample Data Set ? Getting Info on Null Data ? Dropping a Column ? Interpolating Missing Data in pandas ? Replacing the Missing Values with the Mean Value ? Scaling (Normalizing) the Data ? Data Preprocessing with scikit-learn ? Scaling with the scale() Function ? The MinMaxScaler Object ? Summary Descriptive Statistics Computing Features in Python ? Descriptive Statistics ? Non-uniformity of a Probability Distribution ? Using NumPy for Calculating Descriptive Statistics Measures ? Finding Min and Max in NumPy ? Using pandas for Calculating Descriptive Statistics Measures ? Correlation ? Regression and Correlation ? Covariance ? Getting Pairwise Correlation and Covariance Measures ? Finding Min and Max in pandas DataFrame ? Summary Data Aggregation and Grouping ? Data Aggregation and Grouping ? Sample Data Set ? The pandas.core.groupby.SeriesGroupBy Object ? Grouping by Two or More Columns ? Emulating the SQL's WHERE Clause ? The Pivot Tables ? Cross-Tabulation ? Summary Data Visualization with matplotlib ? Data Visualization ? What is matplotlib? ? Getting Started with matplotlib ? The Plotting Window ? The Figure Options ? The matplotlib.pyplot.plot() Function ? The matplotlib.pyplot.bar() Function ? The matplotlib.pyplot.pie () Function ? Subplots ? Using the matplotlib.gridspec.GridSpec Object ? The matplotlib.pyplot.subplot() Function ? Hands-on Exercise ? Figures ? Saving Figures to File ? Visualization with pandas ? Working with matplotlib in Jupyter Notebooks ? Summary Data Science and ML Algorithms in scikit-learn ? Data Science, Machine Learning, AI? ? Types of Machine Learning ? Terminology: Features and Observations ? Continuous and Categorical Features (Variables) ? Terminology: Axis ? The scikit-learn Package ? scikit-learn Estimators ? Models, Estimators, and Predictors ? Common Distance Metrics ? The Euclidean Metric ? The LIBSVM format ? Scaling of the Features ? The Curse of Dimensionality ? Supervised vs Unsupervised Machine Learning ? Supervised Machine Learning Algorithms ? Unsupervised Machine Learning Algorithms ? Choose the Right Algorithm ? Life-cycles of Machine Learning Development ? Data Split for Training and Test Data Sets ? Data Splitting in scikit-learn ? Hands-on Exercise ? Classification Examples ? Classifying with k-Nearest Neighbors (SL) ? k-Nearest Neighbors Algorithm ? k-Nearest Neighbors Algorithm ? The Error Rate ? Hands-on Exercise ? Dimensionality Reduction ? The Advantages of Dimensionality Reduction ? Principal component analysis (PCA) ? Hands-on Exercise ? Data Blending ? Decision Trees (SL) ? Decision Tree Terminology ? Decision Tree Classification in Context of Information Theory ? Information Entropy Defined ? The Shannon Entropy Formula ? The Simplified Decision Tree Algorithm ? Using Decision Trees ? Random Forests ? SVM ? Naive Bayes Classifier (SL) ? Naive Bayesian Probabilistic Model in a Nutshell ? Bayes Formula ? Classification of Documents with Naive Bayes ? Unsupervised Learning Type: Clustering ? Clustering Examples ? k-Means Clustering (UL) ? k-Means Clustering in a Nutshell ? k-Means Characteristics ? Regression Analysis ? Simple Linear Regression Model ? Linear vs Non-Linear Regression ? Linear Regression Illustration ? Major Underlying Assumptions for Regression Analysis ? Least-Squares Method (LSM) ? Locally Weighted Linear Regression ? Regression Models in Excel ? Multiple Regression Analysis ? Logistic Regression ? Regression vs Classification ? Time-Series Analysis ? Decomposing Time-Series ? Summary Lab Exercises Lab 1 - Learning the Lab Environment Lab 2 - Using Jupyter Notebook Lab 3 - Repairing and Normalizing Data Lab 4 - Computing Descriptive Statistics Lab 5 - Data Grouping and Aggregation Lab 6 - Data Visualization with matplotlib Lab 7 - Data Splitting Lab 8 - k-Nearest Neighbors Algorithm Lab 9 - The k-means Algorithm Lab 10 - The Random Forest Algorithm
Duration 1 Days 6 CPD hours This course is intended for This course is intended for the following participants: Individuals planning to deploy applications and create application environments on Google Cloud Developers, systems operations professionals, and solution architects getting started with Google Cloud. Executives and business decision makers evaluating the potential of Google Cloud to address their business needs. Overview This course teaches participants the following skills: Identify Google Cloud counterparts for AWS IaaS, AWS PaaS, AWS SQL, AWS Blob Storage, AWS Application Insights, and AWS Data Lake Configure accounts, billing, projects, networks, subnets, firewalls, VMs, disks, auto scaling, load balancing, storage, databases, IAM, and more Manage and monitor applications Explain feature and pricing model differences This course with labs introduces AWS professionals to the core capabilities of Google Cloud Platform (GCP) in the four technology pillars: networking, compute, storage, and database. It is designed for AWS Solution Architects and SysOps Administrators familiar with AWS features and setup and want to gain experience configuring GCP products immediately. With presentations, demos, and hands-on labs, participants will get details of similarities, differences, and initial how-tos quickly. Introducing Google Cloud Explain the advantages of Google Cloud. Define the components of Google's network infrastructure,including: Points of presence, data centers, regions, and zones. Understand the difference between Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS) Getting Started with Google Cloud Identify the purpose of projects on Google Cloud Platform. Understand how AWS?s resource hierarchy differs from Google Cloud?s. Understand the purpose of and use cases for Identity and Access Management. Understand how AWS IAM differs from Google Cloud IAM. List the methods of interacting with Google Cloud Platform. Launch a solution using Cloud Marketplace. Virtual Machines in the Cloud Identify the purpose and use cases for Google Compute Engine. Understand the basics of networking in Google Cloud Platform. Understand how Amazon VPC differs from Google VPC. Understand the similarities and differences between Amazon EC2 and Google Compute Engine. Understand how typical approaches to load-balancing in Google Cloud differ from those in AWS. Deploy applications using Google Compute Engine. Storage in the Cloud Understand the purpose of and use cases for: Cloud Storage,Cloud SQL, Cloud Bigtable and Cloud Datastore. Understand how Amazon S3 and Amazon Glacier compare to Cloud Storage. Compare Google Cloud?s managed database services with Amazon RDS and Amazon Aurora. Learn how to choose among the various storage options on Google Cloud Platform. Load data from Cloud Storage into BigQuery. Perform a query on the data in BigQuery. Containers in the Cloud Define the concept of a container and identify uses for containers. Identify the purpose of and use cases for Google Container Engine and Kubernetes. Understand how Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS) differ from GKE. Provision a Kubernetes cluster using Kubernetes Engine. Deploy and manage Docker containers using kubectl Applications in the Cloud Understand the purpose of and use cases for Google App Engine. Contrast the App Engine Standard environment with the App Engine Flexible environment. Understand how App Engine differs from Amazon Elastic Beanstalk. Understand the purpose of and use cases for Google Cloud Endpoints. Developing, Deploying and Monitoring in the Cloud Understand options for software developers to host their source code. Understand the purpose of template-based creation and management of resources. Understand how Cloud Deployment Manager differs from AWS CloudFormation. Understand the purpose of integrated monitoring, alerting, and debugging. Understand how Google Monitoring differs from Amazon CloudWatch and AWS CloudTrail. Create a Deployment Manager deployment. Update a Deployment Manager deployment. View the load on a VM instance using Google Monitoring. Big Data and Machine Learning in the Cloud Understand the purpose of and use cases for the products and services in the Google Cloud big data and machine learning platforms. Understand how Google Cloud BigQuery differs from AWS Data Lake. Understand how Google Cloud Pub/Sub differs from AWS Event Hubs and Service Bus. Understand how Google Cloud?s machine-learning APIs differ from AWS's. Load data into BigQuery from Cloud Storage. Perform queries using BigQuery to gain insight into data. Summary and Review Review the products that make up Google Cloud and remember how to choose among them Understand next steps for training and certification Understand, at a high level, the process of migrating from AWS to Google Cloud. Additional course details: Nexus Humans Google Cloud Fundamentals for AWS Professionals training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Google Cloud Fundamentals for AWS Professionals course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 3 Days 18 CPD hours This course is intended for Attendee roles might include: Software Developers/Programmers Data Scientists Machine Learning Engineers AI Researchers User Interface (UI) and User Experience (UX) Designers Technical Product Managers Technical Team Leads Overview Working in an interactive learning environment, led by our engaging AI expert you'll: Develop a strong foundational understanding of generative AI techniques and their applications in software development. Gain hands-on experience working with popular generative AI models, including Generative Adversarial Networks (GANs), Variational Autoencoders (VAEs), and Transformer models. Master the use of leading AI libraries and frameworks, such as TensorFlow, Keras, and Hugging Face Transformers, for implementing generative AI models. Acquire the skills to design, train, optimize, and evaluate custom generative AI models tailored to specific software development tasks. Learn to fine-tune pre-trained generative AI models for targeted applications and deploy them effectively in various environments, including cloud-based services and on-premises servers. Understand and address the ethical, legal, and safety considerations of using generative AI, including mitigating biases and ensuring responsible AI-generated content. Prompt Engineering offers coders and software developers a competitive edge by empowering them to develop more effective and efficient AI-driven solutions in their projects. By harnessing the capabilities of cutting-edge AI models like GPT-4, coders can automate repetitive tasks, enhance natural language understanding, and even generate code suggestions, boosting productivity and creativity. In addition, mastering prompt engineering can contribute to improved job security, as professionals with these in-demand skills are highly sought after in the rapidly evolving tech landscape. Quick Start to Prompt Engineering for Coders and Software Developers is a one day course designed to get you quickly up and running with the prompting skills required to out AI to work for you in your development efforts. Guided by our AI expert, you?ll explore key topics such as text preprocessing, data cleansing, GPT-4 tokenization, input formatting, prompt design, and optimization, as well as ethical considerations in prompt engineering. In the hands-on labs you?ll explore tasks such as formatting inputs for GPT-4, designing and optimizing prompts for business applications, and implementing multi-turn conversations with AI. You?ll work with innovative tools like the OpenAI API, OpenAI Codex, and OpenAI Playground, enhancing your learning experience while preparing you for integrating prompt engineering into your professional toolkit. By the end of this immersive course, you?ll have the skills necessary to effectively use prompt engineering in your software development projects. You'll be able to design, optimize, and test prompts for various business tasks, integrate GPT-4 with other software platforms, and address ethical concerns in AI deployment. Generative AI represents an exhilarating frontier in artificial intelligence, specializing in the creation of new data instances, imitation of real data, and content generation. Its remarkable capabilities facilitate automated content creation, enriched user experiences, and groundbreaking solutions across diverse industries, ultimately fueling efficiency and transcending technological limits. By harnessing the power of generative AI, developers can craft dynamic content, produce code and documentation, refine user interfaces, and devise customized recommendations, empowering them to construct highly efficient and custom solutions for a wide range of applications. Designed for experienced programmers, Turbocharge Your Code! Generative AI Boot Camp for Developers is a three-day workshop-style course that teaches you the latest skills and tools required to master generative AI models, transforming the way you approach software development. In today's fast-paced technological landscape, generative AI has emerged as a game-changer, with leading companies like NVIDIA, OpenAI, and Google leveraging its capabilities to push the boundaries of innovation. By learning how to harness the power of generative models such as GANs, VAEs, and Transformer models, you will be able to generate code, documentation, and tests, enhance user interfaces, and create dynamic content that adapts to user needs. Our comprehensive curriculum covers everything from the fundamentals of generative AI to advanced techniques and ethical considerations, including hands-on labs where you will develop and deploy custom models using state-of-the-art AI tools and libraries like TensorFlow and Hugging Face Transformers. Throughout the course you'll focus on practical application and collaboration, building confidence with personalized guidance and real-time feedback from our expert live instructor. Upon completion, you will be equipped with the knowledge and experience necessary to develop and implement innovative generative AI models across various industries, improving existing products, creating new applications, and gaining highly-valuable skills in the rapidly advancing field of AI. Additional course details: Nexus Humans Turbocharge Your Code! Generative AI Boot Camp for Developers (TTAI2305) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Turbocharge Your Code! Generative AI Boot Camp for Developers (TTAI2305) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 1 Days 6 CPD hours This course is intended for This overview-level course is ideally suited for professionals seeking an introduction to microservices architecture and its application within a business context. Ideal attendee roles include software developers, system architects, technical managers, and IT professionals who are part of teams transitioning to a microservices approach. It's also an excellent starting point for non-technical roles such as product owners or business analysts who work closely with technical teams and want to better understand and become conversant in the language and principles of microservices. Overview This course combines engaging instructor-led presentations and useful demonstrations with engaging group activities. Throughout the course you'll explore: Understand the Basics of Microservices: Get to know the fundamental principles and characteristics of microservices and how they revolutionize traditional software development approaches. Explore the Design of Microservices: Gain an overview of how microservices are designed based on business requirements and what makes them unique in the software architecture world. Overview of Managing and Scaling Microservices: Get an introduction to how microservices are managed and scaled independently, and understand the significance of these features in your business operations. Familiarize with the Microservices Ecosystem: Learn about the typical patterns, best practices, and common pitfalls in the microservices world, setting a foundation for future learning and implementation. Introduction to Microservices in a Business Context: Acquire a basic understanding of how microservices can be aligned with specific business capabilities, and get a glimpse into how they can coexist with legacy systems in a business setting. Microservices have rapidly emerged as a popular architectural style, breaking down applications into small, independent services that can be developed, deployed, and scaled individually. Microservices offer a robust method to address a variety of projects, such as e-commerce platforms and content management systems, enhancing scalability and boosting productivity. This technology, when employed correctly, can greatly increase software delivery speed and system resilience, making it a crucial skill set for modern technology professionals.Understanding Microservices - A Technical Overview is a one-day course ideally suited for technical professionals seeking an introduction to microservices architecture and its application within a business context. Under the guidance of an industry expert, this engaging class combines lecture-style learning with lively demonstrations, case study review and group discussions.Throughout the course you?ll explore the principles and characteristics that define microservices, how to identify suitable projects for a microservices approach, the factors to consider when designing them, and the strategies to effectively manage and scale them within complex systems. You?ll also learn about the best practices, patterns, and anti-patterns, arming you with the knowledge to make the right architectural choices. This course also explores the real-world implementation of microservices in a business enterprise. We'll discuss how to align the application of microservices with your organization's specific business capabilities, and offer strategies for smoothly integrating this technology within existing legacy systems. Introduction to Microservices Understand what microservices are and their role in modern software development. Introduction to Microservices: what they are and why they matter. Monolithic vs Microservices: highlighting the shift and benefits. Key principles and characteristics of microservices. Identifying suitable applications for microservices transformation. Demo: Analyzing a sample application and identifying potential microservices Architecting and Managing Microservices Learn the basic strategies for scaling and managing microservices. Scaling Microservices: from a single service to hundreds. Key components of a microservices architecture. Introduction to resilience patterns: Circuit-Breakers and Bulkheads. Load management and provisioning in a microservices setup. Understanding the role of cloud services in microservices. Optional Demo: Illustrating how a microservice-based application scales in real-time Designing Microservices Learn the key aspects to consider when designing microservices. Defining microservice boundaries: Deciding the scope of a microservice. Communication patterns in microservices. Understanding Microservice endpoints. Exploring data stores and transaction boundaries in microservices. Overcoming challenges in Microservices design. Demo: Designing microservices for a hypothetical business requirement Implementing Microservices in a Business Enterprise Understand the process and considerations for implementing microservices in an enterprise context. Assessing enterprise readiness for microservices. Building the business case for microservices: strategic advantages and potential challenges. Aligning microservices with business capabilities. Organizational changes: Team structures and processes for microservices. Dealing with Legacy Systems: Strategies for microservices integration. Demo: Exploring a case study of successful microservices implementation in a business enterprise The Microservices Ecosystem Understand the key tools and best practices in the Microservices ecosystem. Understanding the typical Microservices Stack. Monitoring and Logging in Microservices. Introduction to Docker: Containerization of Microservices. Deployment strategies in a Microservices setup. Introduction to Orchestration in Microservices Demo: Containerizing and deploying a simple microservice Microservices Deployment Strategies Understand various ways to safely introduce changes in a microservices environment. The concept of Blue-Green Deployment: changing services without downtime. Canary Releases and Feature Toggles: slowly rolling out changes to users. Database changes in a microservices environment: keeping data consistent. Demo: Examining various deployment strategies Microservices Best Practices and DevOps Learn key strategies to ensure a smooth operation of your microservices setup. The DevOps culture in Microservices: collaboration for efficiency. Defining a Minimum Viable Product in a Microservices setup: building small, delivering fast. Dealing with data in a distributed setup: managing Data Islands. The importance of Continuous Integration/Continuous Delivery in a microservices setup. Governance: Keeping track of your services and their consumers. Demo: Visualizing a simple continuous delivery pipeline Microservices Patterns and Anti-Patterns Learn about common do's and don'ts when working with microservices. Understanding patterns that help with efficient microservices operation. Recognizing and avoiding anti-patterns that can hinder performance. Dealing with common challenges: dependencies between services, managing service boundaries. Demo: Examples of real-world patterns and anti-patterns Simple Overview of OAuth and OpenID for Microservices Introduction to OAuth and OpenID: What they are and why they matter in Microservices. The role of tokens in OAuth 2.0: How they help in securing communications. A simplified look at OpenID Connect: Linking identities across services. Demo
Duration 4 Days 24 CPD hours This course is intended for This is an introductory-level C++ programming course designed for developers with experience programming in C or other languages. Practical hands-on prior programming experience and knowledge is required. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in basic coding with C++, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn: Writing procedural programs using C++ Using private, public and protected keywords to control access to class members Defining a class in C++ Writing constructors and destructors Writing classes with const and static class members Overloading operators Implementing polymorphic methods in programs Writing programs using file I/O and string streams Using manipulators and stream flags to format output Using the keyword template to write generic functions and classes Writing programs that use generic classes and functions Writing programs that use algorithms and containers of the Standard Library Apply object-oriented design techniques to real-world programming problems Using algorithms and containers of the Standard Library to manipulate string data Understand how C++ protects the programmer from implementation changes in other modules of an application Using try() blocks to trap exceptions Using catch() blocks to handle exceptions Defining exceptions and using throw to trigger them Introduction to C++ Programming / C++ Essentials is a skills-focused, hands-on C++ training course geared for experienced programmers who need to learn C++ coupled with sounds coding skills and best practices for OO development. Students will leave this course armed with the required skills to put foundation-level C++ programming skills right to work in a practical environment. The central concepts of C++ syntax and style are taught in the context of using object-oriented methods to achieve reusability, adaptability and reliability. Emphasis is placed on the features of C++ that support abstract data types, inheritance, and polymorphism. Students will learn to apply the process of data abstraction and class design. Practical aspects of C++ programming including efficiency, performance, testing, and reliability considerations are stressed throughout. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency Moving from C to C++ (Optional) New Compiler Directives Stream Console I/O Explicit Operators Standard Libraries Data Control Capabilities Handling Data New Declaration Features Initialization and Assignment Enumerated Types The bool Type Constant Storage Pointers to Constant Storage Constant Pointers References Constant Reference Arguments Volatile Data Global Data Functions Function Prototypes and Type Checking Default Function Data Types Function Overloading Problems with Function Overloading Name Resolution Promotions and Conversions Call by Value Reference Declarations Call-by-Reference and Reference Types References in Function Return Constant Argument Types Conversion of Parameters Using Default Initializers Providing Default Arguments Inline Functions Operator Overloading Advantages and Pitfalls of Overloading Member Operator Syntax and Examples Class Assignment Operators Class Equality Operators Non-Member Operator Overloading Member and Non-Member Operator Functions Operator Precedence This Pointer Overloading the Assignment Operator Overloading Caveats Creating and Using Objects Creating Automatic Objects Creating Dynamic Objects Calling Object Methods Constructors Initializing Member consts Initializer List Syntax Allocating Resources in Constructor Destructors Block and Function Scope File and Global Scope Class Scope Scope Resolution Operator :: Using Objects as Arguments Objects as Function Return Values Constant Methods Containment Relationships Dynamic Memory Management Advantages of Dynamic Memory Allocation Static, Automatic, and Heap Memory Free Store Allocation with new and delete Handling Memory Allocation Errors Controlling Object Creation Object Copying and Copy Constructor Automatic Copy Constructor Conversion Constructor Streaming I/O Streams and the iostream Library Built-in Stream Objects Stream Manipulators Stream Methods Input/Output Operators Character Input String Streams Formatted I/O File Stream I/O Overloading Stream Operators Persistent Objects Introduction to Object Concepts The Object Programming Paradigm Object-Orientated Programming Definitions Information Hiding and Encapsulation Separating Interface and Implementation Classes and Instances of Objects Overloaded Objects and Polymorphism Declaring and Defining Classes Components of a Class Class Structure Class Declaration Syntax Member Data Built-in Operations Constructors and Initialization Initialization vs. Assignment Class Type Members Member Functions and Member Accessibility Inline Member Functions Friend Functions Static Members Modifying Access with a Friend Class Templates Purpose of Template Classes Constants in Templates Templates and Inheritance Container Classes Use of Libraries Strings in C++ Character Strings The String Class Operators on Strings Member Functions of the String Class Inheritance Inheritance and Reuse Composition vs. Inheritance Inheritance: Centralized Code Inheritance: Maintenance and Revision Public, Private and Protected Members Redefining Behavior in Derived Classes Designing Extensible Software Systems Syntax for Public Inheritance Use of Common Pointers Constructors and Initialization Inherited Copy Constructors Destructors and Inheritance Public, Protected, Private Inheritance Exceptions Types of Exceptions Trapping and Handling Exceptions Triggering Exceptions Handling Memory Allocation Errors C++ Program Structure Organizing C++ Source Files Integrating C and C++ Projects Using C in C++ Reliability Considerations in C++ Projects Function Prototypes Strong Type Checking Constant Types C++ Access Control Techniques Polymorphism in C++ Definition of Polymorphism Calling Overridden Methods Upcasting Accessing Overridden Methods Virtual Methods and Dynamic Binding Virtual Destructors Abstract Base Classes and Pure Virtual Methods Multiple Inheritance Derivation from Multiple Base Classes Base Class Ambiguities Virtual Inheritance Virtual Base Classes Virtual Base Class Information The Standard Template Library STL Containers Parameters Used in Container Classes The Vector Class STL Algorithms Use of Libraries
Duration 5 Days 30 CPD hours This course is intended for In order to be successful in this course you should have incoming hands-on experience with another programming language. This course is not for non-developers or new developers. Possible roles that may attend this course include: Software Developers: Professionals who have been working with other programming languages and want to expand their skillset by learning Java and its object-oriented features. Web Developers: Those who work on web applications and want to enhance their back-end development capabilities with Java. Mobile App Developers: Developers who wish to enter the world of Android app development, where Java is a widely used language for creating mobile applications. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in core OO coding and Java development skills, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Understand what OO programming is and what the advantages of OO are in today's world Work with objects, classes, and OO implementations Understand the basic concepts of OO such as encapsulation, inheritance, polymorphism, and abstraction Understand not only the fundamentals of the Java language, but also its importance, uses, strengths and weaknesses Understand the basics of the Java language and how?it relates to OO programming and the Object Model Learn to use Java exception handling Understand and use classes, inheritance and polymorphism Understand and use collections, generics, autoboxing, and enumerations Become familiar with the concept of functional programming using Lambda Expressions Process large amounts of data using the Stream API introduced in Java 8 Discover the new Date/Time API Use the JDBC API for database access Work with annotations Take advantage of the Java tooling that is available with the programming environment being used in the class Java 8 Features: Lambda Expressions, Method and Constructor references, The Streams API, Collectors, The Optional class Geared for experienced developers, Basic Java Programming for Developers New to OO, this hands-on, workshop-style course will provide you with an immersive learning experience that will expand your skillset and open doors to new opportunities within the ever-growing technology landscape. Mastering Java and its powerful capabilities will provide you with the competitive edge you need to stand out in today's fast-paced development world. Working in a hands-on learning environment led by our expert coach, you?ll thoroughly explore the foundations of the Java platform, essential programming concepts, and advanced topics, ensuring you acquire a strong understanding of the language and its ecosystem. The object-oriented programming principles taught in this course promote code reusability and maintainability, enabling you to streamline development processes and reduce long-term costs. As you progress through the course, you will also gain familiarity with using an IDE, enhancing your development workflow and collaboration with other Java developers, enabling you to integrate seamlessly into new projects and teams. You?ll also gain practical experience in applying the concepts and techniques learned, solidifying your newly acquired skills and facilitating their direct application in real-world scenarios. You?ll exit this course empowered to create robust, scalable, and efficient Java-based applications that drive innovation and growth for your organization The Java Platform The Java Platform Lifecycle of a Java Program Responsibilities of JVM Documentation and Code Reuse Using the JDK Explain the JDK?s file structure Use the command line compiler to compile a Java class Use the command line Java interpreter to run a Java application class The IntelliJ Paradigm Introduce the IntelliJ IDE The Basics of the IntelliJ interface IntelliJ Projects and Modules Creating and running Java applications Writing a Simple Class Write a Java class that does not explicitly extend another class Define instance variables for a Java class Create object instances Primitives vs Object References Implement a main method to create an instance of the defined class Adding Methods to the Class Write a class with accessor methods to read and write instance variables Write a constructor to initialize an instance with data Write a constructor that calls other constructors of the class to benefit from code reuse Use the this keyword to distinguish local variables from instance variables Object-Oriented Programming Real-World Objects Classes and Objects Object Behavior Methods and Messages Inheritance, Abstraction, and Polymorphism Encapsulation Inheritance Method Overriding Polymorphism Essential Java Programming Essential Java Programming Language Statements Arithmetic operators Operators to increment and decrement numbers Comparison operators Logical operators Return type of comparison and logical operators Use for loops Switch Expressions Switch Expressions and yield Using Strings and Text Blocks Create an instance of the String class Test if two strings are equal Get the length of a string Parse a string for its token components Perform a case-insensitive equality test Build up a string using StringBuffer Contrast String, StringBuffer,and StringBuilder Compact Strings Text Blocks Specializing in a Subclass Constructing a class that extends another class Implementing equals and toString Writing constructors that pass initialization data to parent constructor Using instanceof to verify type of an object reference Pattern matching for instanceof Overriding subclass methods Safely casting references to a more refined type Fields and Variables Discuss Block Scoping Rules Distinguish between instance variables and method variables within a method Explain the difference between the terms field and variable List the default values for instance variables Final and Static fields and methods Local Variable type inference Using Arrays Declaring an array reference Allocating an array Initializing the entries in an array Writing methods with a variable number of arguments Records Data Objects in Java Introduce records as carrier of immutable data Defining records Java Packages and Visibility Use the package keyword to define a class within a specific package Discuss levels of accessibility/visibility Using the import keyword to declare references to classes in a specific package Using the standard type naming conventions Visibility in the Java Modular System Correctly executing a Java application class The Java modular system Defining Modules Inheritance and Polymorphism Write a subclass with a method that overrides a method in the superclass Group objects by their common supertype Utilize polymorphism Cast a supertype reference to a valid subtype reference Use the final keyword on methods and classes to prevent overriding Interfaces and Abstract Classes Define supertype contracts using abstract classes Implement concrete classes based on abstract classes Define supertype contracts using interfaces Implement concrete classes based on interfaces Explain advantage of interfaces over abstract classes Explain advantage of abstract classes over interfaces Static, default and private methods in interfaces Sealed classes Introduce Sealed classes The sealed and permits modifiers Sealed Interfaces Exception Handling Introduction to Exception Handling Introduce the Exception architecture Defining a try/catch blocks Checked vs Unchecked exceptions Exceptions Defining your own application exceptions Automatic closure of resources Suppressed exceptions Handling multiple exceptions in one catch Helpful Nullpointers Enhanced try-with-resources Java Developer's Toolbox Developing applications Introduce the wrapper classes Explain Autoboxing and Unboxing Converting String representations of primitive numbers into their primitive types Defining Enumerations Using static imports Deprecating methods Advanced Java Programming Introduction to Generics Generics and Subtyping Bounded Wildcards Generic Methods Legacy Calls To Generics When Generics Should Be Used Lambda Expressions and Functional Interface Understanding the concept of functional programming Writing lambda expressions Understanding functional interfaces Collections Provide an overview of the Collection API Review the different collection implementations (Set, List and Queue) Explore how generics are used with collections Examine iterators for working with collections Using Collections Collection Sorting Comparators Using the Right Collection Lambda expressions in Collections Bonus Topics: Time Permitting Streams Understanding the problem with collections in Java Thinking of program solutions in a declarative way Use the Stream API to process collections of data Understand the difference between intermediate and terminal stream operations Filtering elements from a Stream Finding element(s) within a Stream Collecting the elements from a Stream into a List takeWhile and dropWhile intermediate operations Collectors Using different ways to collect the items from a Stream Grouping elements within a stream Gathering statistics about numeric property of elements in a stream
Duration 2 Days 12 CPD hours This course is intended for This course is intended for system and network administrators responsible for installation, setup, configuration, and administration of BIG-IP DNS systems. This course gives networking professionals a functional understanding of the BIG-IP DNS system as it is commonly used. The course covers configuration and ongoing management of the BIG-IP DNS system, and includes a combination of lecture, discussion, and hands-on labs. Module 1: Setting Up the BIG-IP System Introducing the BIG-IP System Initially Setting Up the BIG-IP System Archiving the BIG-IP Configuration Leveraging F5 Support Resources and Tools Provision the BIG-IP System and Confirm Network Configuration Module 2: Introducing the Domain Name System (DNS) and BIG-IP DNS Understanding the Domain Name System (DNS) Reviewing the Name Resolution Process Implementing BIG-IP DNS Using DNS Resolution Diagnostic Tools Module 3: Accelerating DNS Resolution Introducing DNS Resolution with BIG-IP DNS BIG-IP DNS Resolution Decision Flow Configuring BIG-IP DNS Listeners Resolving DNS Queries in the Labs (Lab Zone Records) Load Balancing Queries to a DNS Server Pool Accelerating DNS Resolution with DNS Cache Accelerating DNS Resolution with DNS Express Introducing Wide IPs Using Other Resolution Methods with BIG-IP DNS Integrating BIG-IP DNS into Existing DNS Environments Module 4: Implementing Intelligent DNS Resolutions Introducing Intelligent DNS Resolution Identifying Physical Network Components Identifying Logical Network Components Collecting Metrics for Intelligent Resolution Configuring Data Centers Configuring a BIG-IP DNS System as a Server Configuring a BIG-IP LTM System as a Server Establishing iQuery Communication between BIG-IP Systems Configuring a Non-F5 Server Defining Links and Routers Configuring Wide IP Pools Configuring Wide IPs Managing Object Status Using the Traffic Management Shell (TMSH) Module 5: Using LDNS Probes and Metrics Introducing LDNS Probes and Metrics Types of LDNS Probes Excluding an LDNS from Probing Configuring Probe Metrics Collection Module 6: Load Balancing Intelligent DNS Resolution Introducing Load Balancing on BIG-IP DNS Using Static Load Balancing Methods Round Robin Ratio Global Availability Static Persist Other Static Load Balancing Methods Using Dynamic Load Balancing Methods Round Trip Time Completion Rate CPU Hops Least Connections Packet Rate Kilobytes per Second Other Dynamic Load Balancing Methods Virtual Server Capacity Virtual Server Score Using Quality of Service Load Balancing Persisting DNS Query Responses Configuring GSLB Load Balancing Decision Logs Using Manual Resume Using Topology Load Balancing Module 7: Monitoring Intelligent DNS Resources Exploring Monitors Configuring Monitors Assigning Monitors to Resources Monitoring Best Practices Module 8: Advanced BIG-IP DNS Topics Implementing DNSSEC Setting Limits for Resource Availability Using iRules with Wide IPs Introducing Other Wide IP Types Implementing BIG-IP DNS Sync Groups Module 9: Final Configuration Projects Final Configuration Projects
Duration 2 Days 12 CPD hours This course is intended for If you are a data analyst, data scientist, or a business analyst who wants to get started with using Python and machine learning techniques to analyze data and predict outcomes, this book is for you. Basic knowledge of computer programming and data analytics is a must. Familiarity with mathematical concepts such as algebra and basic statistics will be useful. Overview By the end of this course, you will have the skills you need to confidently use various machine learning algorithms to perform detailed data analysis and extract meaningful insights from data. This course is designed to give you practical guidance on industry-standard data analysis and machine learning tools in Python, with the help of realistic data. The course will help you understand how you can use pandas and Matplotlib to critically examine a dataset with summary statistics and graphs, and extract the insights you seek to derive. You will continue to build on your knowledge as you learn how to prepare data and feed it to machine learning algorithms, such as regularized logistic regression and random forest, using the scikit-learn package. You?ll discover how to tune the algorithms to provide the best predictions on new and unseen data. As you delve into later sections, you?ll be able to understand the working and output of these algorithms and gain insight into not only the predictive capabilities of the models but also their reasons for making these predictions. Data Exploration and Cleaning Python and the Anaconda Package Management System Different Types of Data Science Problems Loading the Case Study Data with Jupyter and pandas Data Quality Assurance and Exploration Exploring the Financial History Features in the Dataset Activity 1: Exploring Remaining Financial Features in the Dataset Introduction to Scikit-Learn and Model Evaluation Introduction Model Performance Metrics for Binary Classification Activity 2: Performing Logistic Regression with a New Feature and Creating a Precision-Recall Curve Details of Logistic Regression and Feature Exploration Introduction Examining the Relationships between Features and the Response Univariate Feature Selection: What It Does and Doesn't Do Building Cloud-Native Applications Activity 3: Fitting a Logistic Regression Model and Directly Using the Coefficients The Bias-Variance Trade-off Introduction Estimating the Coefficients and Intercepts of Logistic Regression Cross Validation: Choosing the Regularization Parameter and Other Hyperparameters Activity 4: Cross-Validation and Feature Engineering with the Case Study Data Decision Trees and Random Forests Introduction Decision trees Random Forests: Ensembles of Decision Trees Activity 5: Cross-Validation Grid Search with Random Forest Imputation of Missing Data, Financial Analysis, and Delivery to Client Introduction Review of Modeling Results Dealing with Missing Data: Imputation Strategies Activity 6: Deriving Financial Insights Final Thoughts on Delivering the Predictive Model to the Client