Complete C# programming training course description This training course teaches developers the programming skills that are required for developers to create Windows applications using the C# language. Students review the basics of C# program structure, language syntax, and implementation details, and then consolidate their knowledge throughout the week as they build an application that incorporates several features of the .NET Framework. What will you learn Use the syntax and features of C#. Create and call methods, catch and handle exceptions, and describe the monitoring requirements of large-scale applications. Implement a typical desktop application. Create class, define and implement interfaces, and create and generic collections. Read and write data to/from files. Build a GUI using XAML. Complete C# programming training course details Who will benefit: Programmers wishing to learn C#. Prerequisites: Developers attending this course should already have gained some limited experience using C# to complete basic programming tasks. Duration 5 days Complete C# programming training course contents Review of C# Syntax Overview of Writing Applications using C#, Datatypes, Operators, and Expressions. C# Programming Language Constructs. Hands on Developing the Class Enrolment Application. Methods, exceptions and monitoring apps Creating and Invoking Methods. Creating Overloaded Methods and Using Optional and Output Parameters. Handling Exceptions. Monitoring Applications. Hands on Extending the Class Enrolment Application Functionality. Developing a graphical application Implementing Structs and Enums. Organizing Data into Collections. Handling Events. Hands on Writing the Grades Prototype Application. Classes and Type-safe collections Creating Classes. Defining and Implementing Interfaces. Implementing Type-safe Collections. Hands on Adding Data Validation and Type-safety to the Grades Application. Class hierarchy using Inheritance Class hierarchies. Extending .NET framework classes. Creating generic types. Hands on Refactoring common functionality into the User Class. Reading and writing local data Reading and Writing Files. Serializing and Deserializing Data. Performing I/O Using Streams. Hands on Generating the Grades Report. Accessing a Database Creating and using entity data models. Querying and updating data by using LINQ. Hands on Retrieving and modifying grade data. Accessing remote data Accessing data across the web and in the cloud. Hands on Modifying grade data in the Cloud. Designing the UI for a graphical applicatione Using XAML to design a User Interface. Binding controls to data. Styling a UI. Hands on Customizing Student Photographs and Styling the Application. Improving performance and responsiveness Implementing Multitasking by using tasks and Lambda Expressions. Performing operations asynchronously. Synchronizing concurrent data access. Hands on Improving the responsiveness and performance of the application. Integrating with unmanaged code Creating and using dynamic objects. Managing the Lifetime of objects and controlling unmanaged resources. Hands on Upgrading the grades report. Creating reusable types and assemblies Examining Object Metadata. Creating and Using Custom Attributes. Generating Managed Code. Versioning, Signing and Deploying Assemblies. Hands on Specifying the Data to Include in the Grades Report. Encrypting and Decrypting Data Implementing Symmetric Encryption. Implementing Asymmetric Encryption. Hands on Encrypting and Decrypting Grades Reports.
Bridge Novels and Structural Writing: The Giving Tree
Duration 3 Days 18 CPD hours This course is intended for This course is intended for IT professionals who are experienced in general Windows Server and Windows Client administration. Students should have a foundational knowledge of Windows PowerShell, which they can obtain by taking course 10961C: Automating Administration with Windows PowerShell. In addition, this course provides scripting guidance for Microsoft Azure administrators and developers who support development environments and deployment processes. Overview After completing this course, you will be able to: Create advanced functions. Use Microsoft .NET Framework and REST API in Windows PowerShell. Handle script errors. Use XML, JSON, and custom formatted data. Manage Microsoft Azure resources Analyze and debug scripts Understand Windows PowerShell workflow. This course teaches students how to automate administrative tasks using PowerShell. Students will learn crucial scripting skills such as creating advanced functions, writing controller scripts, and handling script errors. Candidates will learn how to use PowerShell when working with Microsoft Azure, SQL Server, Active Directory, IIS, Windows PowerShell Workflow, .NET resources, the REST API and XML, CSV & JSON formatted data files.This course replaces retired Microsoft course 10962. Module 1: Creating advanced functions Lesson 1: Converting a command into an advanced function Lesson 2: Creating a script module Lesson 3: Defining parameter attributes and input validation Lesson 4: Writing functions that accept pipeline input Lesson 5: Producing complex pipeline output Lesson 6: Using comment-based Help Lesson 7: Using Whatif and Confirm parameters Module 2: Using Microsoft .NET Framework and REST API in Windows PowerShell Lesson 1: Using .NET Framework in PowerShell Lesson 2: Using REST API in PowerShell Module 3: Writing controller scripts Lesson 1: Understanding controller scripts Lesson 2: Writing controller scripts with a user interface Lesson 3: Writing controller scripts that create reports Module 4: Handling script errors Lesson 1: Understanding error handling Lesson 2: Handling errors in a script Module 5: Using XML, JSON, and custom-formatted data Lesson 1: Working with XML formatted data Lesson 2: Working with JSON formatted data Lesson 3: Working with custom-formatted data Module 6: Enhancing server management with Desired State Configuration and Just Enough Administration Lesson 1: Implementing Desired State Configuration Lesson 2: Implementing Just Enough Administration Module 7: Analyzing and debugging scripts Lesson 1: Debugging in Windows PowerShell Lesson 2: Analyzing and debugging an existing script Module 8: Understanding Windows PowerShell Workflow Lesson 1: Understanding Windows PowerShell Workflows Lesson 2: Running Windows PowerShell Workflows
Advanced Python training course description This course caters to network engineers aiming to enhance both their Python proficiency and network automation skills. Delving deeper into key areas such as netmiko, Nornir, and ncclient, we also focus on automating network testing and validation. Participants gain greater confidence working with Python functions, classes, objects, and error handling. The course additionally introduces more libraries like Scrapli, TTP, pyATS, Genie, pybatfish, and Suzieq, which cover parsing strategies, automation testing, validation, network analysis, observability, and telemetry. The curriculum also encompasses concurrency techniques. What will you learn Write Python modules and functions. Evaluate techniques to parse unstructured data. Use NETCONF filters. Handle Python errors effectively (try, assertâ¦). Use postman. Automate testing and validation of the network. Use scrapli, Genie, batfish and Suzieq. Advanced Python training course details Who will benefit: Network engineers. Prerequisites: Python for network engineers Duration 5 days Advanced Python training course contents Review CLI, NETCONF, RESTCONF, structured versus unstructured data, gNMI and when to use which. PEP 8. Naming conventions. Packages, modules, Classes and methods. The scrapli library. Netmiko versus scrapli. Hands on: scrapli, Dictionaries versus Regular Expressions. Modules and Functions Writing your own modules, containers versus packages, virtual environments. Best practices, calling functions, writing your own functions. Parameters, arguments. Named arguments, dictionaries as arguments. Builtins. Docstrings. Main. __name__, __main__ . Program arguments. Hands on: Getting interfaces, showing interface status using Netmiko and functions. Using dictionaries as arguments. Writing your own modules. Parsing strategies Turning unstructured data into structured data. textfsm, PyATS Genie parser, NAPALM getters, Template Text Parser. Hands on: Genie parser, TTP. Accessing structured data with lists and dictionaries. Classes, objects and Python Python classes in Genie, PyEZ and others . Hands on: studying network automation classes, objects, methods and attributes. Configuration management - more nornir, ncclient, requests Nornir tasks. Nornir results, Nornir functions, Nornir plugins. Nornir processors. YANG, YANG models, pyang. NETCONF hello. Capabilities. Schemas. Filters. Subtrees. XPATH. Exploring available YANG data models. NETCONF and network wide transactions. Asserting NETCONF capabilities. Configuration types. Locking configurations, commits. NETCONF data stores. Netconf-console. RESTCONF differences from NETCONF. URI construction. Postman. More XML and JSON. Git and configuration versions. Hands on: Nornir and Jinja2. Exploring available models, NETCONF filters. Using postman. Python error handling and debugging Context handlers, try, assert, logging, pdb, pytest, unit testing, chatgpt. Hands on: Writing code with each of the error handling methods, investigating what happens on an error. Use chatgpt to debug your code. Python Automation Testing Testing and validation. pyATS, Genie. Testbed file. Genie parse, genie learn, genie diff. Genie conf, Genie ops, Genie SDK, Genie harness. Xpresso. Hands on: Using Genie for state comparisons of the network. Network analysis Batfish, pybatfish, configuration analysis, analysing routing, analysing ACLs. Pandas. Pandas dataframe. Filtering and selecting values of interest. Hands on: Use Batfish to analyse network snapshots, find network adjacencies, flow path analysis. Network observability Suzieq, using docker, using as a package. Sqpoller, suzieq-gui, suzieq-cli, sq-rest-server. Namespaces and seeing devices, network state and Asserts. Time based analysis, snapshots and changes. Hands on: Suzieq: Gathering data from the network, analysing data from the network. Network state assertion. Telemetry gRPC, gNMI. CAP, GET, SET. Subscriptions. Model Driven telemetry. Hands on: Analysing telemetry data with Python. Concurrency asyncio, threads, processes. Nornir concurrency. Scrapli and netmiko concurrency. Hands on: Multiple SSH connections to devices at same time. Scarpli asyncio.
Four weeks of revision exercises, study stories and feedback exchange for flash fiction authors.
I want to discuss the existential-phenomenological challenges of viewing the human condition and explore alternatives for openness. We aim to explore the lived experiences on irregular perceptions of reality with an open mind. Each Saturday includes: a live dialogue between Prof. Ernesto Spinelli and an International Existential Therapist; a moment to share your thoughts and feelings with the teachers; and a final integration facilitated by Bárbara Godoy. This series of ten dialogues set out to explore the multifaceted dimentions and complexities associated with Existential Therapies. It attempts to engage with various interpretations of insanity through the lens of patients often painful, confounding, and deeply unsettling life experiences. Opening- between Prof. Ernesto Spinelli and Dr. Yaqui Martinez “From my early days studying psychology, I never felt comfortable with psychopathological nosologies. They seemed exaggerated to me and demonstrated the intense human desire to classify all possible expressions of our existence. Likewise, I have not been comfortable with the tendency to promote dualistic perspectives that compartmentalize our reality into separate aspects where one is not only different from the other but even in opposition, such as the sane/insane dichotomy. During this dialogue, I want to talk with Ernesto about the difficulties involved, from an existential-phenomenological perspective, in viewing the human condition from this position. Perhaps we can ask ourselves together what advantages they offer and what alternatives for openness we can propose.” Dr. Yaqui Martinez. Dr. Yaqui A. Martínez-Robles is a psychologist with Masters, PhD and PsyD in Psychotherapy. He has training in Gestalt Therapy; Music Therapy; Transpersonal Psychology and Holotropic Breathwork (with the Grof Transpersonal Training Association); Narrative and postmodern therapies and Social Constructionism; and in Psychedelic-Assisted Therapy (with the Integrative Psychiatry Institute and MAPS-Multidisciplinary Association for Psychedelic Studies). He is the author of four books, and co-author of another two, focused on the existential perspective. He has participated with chapters in several books and with articles in several journals. Yaqui is the founder of the Circle of Studies in Existential Therapy, in Mexico City and in Medellin, Colombia,. He teaches existential-phenomenological psychology and therapy in Mexico and different countries of South America. He is the current president of the Latin American Association of Existential Psychotherapy (ALPE). He works in private practice as an existential-phenomenological therapist and coach, in modalities one-on-one, couples and groups. Prof. Ernesto Spinelli was Chair of the Society for Existential Analysis between 1993 and 1999 and is a Life Member of the Society. His writings, lectures and seminars focus on the application of existential phenomenology to the arenas of therapy, supervision, psychology, and executive coaching. He is a Fellow of the British Psychological Society (BPS) as well as an APECS accredited executive coach and coaching supervisor. In 2000, he was the Recipient of BPS Division of Counselling Psychology Award for Outstanding Contribution to the Profession. And in 2019, Ernesto received the BPS Award for Distinguished Contribution to Practice. His most recent book, Practising Existential Therapy: The Relational World 2nd edition (Sage, 2015) has been widely praised as a major contribution to the advancement of existential theory and practice. Living up to the existential dictum that life is absurd, Ernesto is also the author of an on-going series of Private Eye novels. Date and Time: Saturday 19 June from 2 pm to 3 pm – (UK time) Individual Dialogue Fee: £70 Venue: Online Zoom FULL PROGRAMME 2025: 25 January “Knots” with Prof. Ernesto Spinelli and Bárbara Godoy 22 February “Healing” with Dr. Michael Guy Thompson and Prof. Ernesto Spinelli 22 March “Difference” with Prof. Tod DuBose and Prof. Ernesto Spinelli 12 April “Polarisation” with Prof. Kirk Schneider and Prof. Ernesto Spinelli 3 May “Character” with Prof. Robert Romanyshyn and Prof. Ernesto Spinelli 21 June “Opening” with Dr. Yaqui Martinez and Prof. Ernesto Spinelli 19 July “Meaning” with Dr. Jan Resnick and Prof. Ernesto Spinelli 25 October “Invention” with Dr. Betty Cannon and Prof. Ernesto Spinelli 15 November “Hallucination” with Prof. Simon du Plock and Prof. Ernesto Spinelli 13 December “Hysteria” with Bárbara Godoy and Prof. Ernesto Spinelli Read the full programme here > Course Organised by:
LOOKING FOR: ADULT FICTION Louise Buckley has worked in publishing for well over a decade. She was inspired to enter the publishing industry after completing an MA in Creative Writing and then spent a hugely enjoyable year working as a bookseller for Waterstones, wishing that she could have a hand in publishing books. After a year working at Dorling Kindersley, she then spent almost five years working in the commercial fiction division at Pan Macmillan, where she published a mix of commercial bestsellers and award-winning authors. Most recently, she was an Associate Literary Agent at Zeno Agency Ltd. As an agent she represented a roster of commercial and literary fiction, including Anne Griffin’s When All is Said, which spent five weeks at number one in Ireland and sold into 17 territories. She is delighted to be working with Hannah at Hannah Sheppard Literary Agency. Louise is looking for:- Literary and upmarket fiction that focusses on the underdog, the repressed, the suppressed. Louise is especially interested in novels that represent working-class people or children going through difficult circumstances (think Shuggie Bain by Douglas Stuart, My Name is Leon by Kit de Waal or Boys Don’t Cry by FÍona Scarlett). Irish literary and book club fiction. Think Claire Keegan, Louise Kennedy or Anne Griffin. In commercial fiction she loves novels set during the Second World War, such as The Nightingale by Kristin Hannah, The Beekeeper of Aleppo by Christi Lefteri or The Midwife of Auschwitz by Anna Stuart. Louise recently read and loved The Last List of Mabel Beaumont by Laura Pearson and would love to see anything in the same ‘older person going on a journey’ category, a more recent The Unlikely Pilgrimage of Harold Fry. Louise had a lot of fun publishing a ‘pet fiction’ novel as an editor (Molly and the Cat Café) and would love to find an author who can write an Alfie the Doorstep Cat/Dog. She has a soft spot for novels featuring time-travel or parallel universes, a ‘what if’ that plays around with conventions. At the literary end this would be books like Life After Life by Kate Atkinson, The Shining Girls by Lauren Beukes or This is How You Lose the Time War by Amal El-Mohtar and Max Gladstone. At the more commercial end Louise loved Wrong Place, Wrong Time by Gillian McAllister, Dark Matter by Blake Crouch and Oona Out of Order by Martina Montimore. She also enjoys novels set in the real world but featuring a hefty dose of magic or the supernatural. They can be commercial or literary, present-day or historical. Think Rivers of London by Ben Aaronovitch, Threadneedle by Cari Thomas, A Discovery of Witches by Deborah Harkness or The Gifts by Liz Hyder. And also cosy fantasy in the vein of Legends and Lattes or The House in the Cerulean Sea. Cosy or humorous crime. Recently, Louise absolutely loved Over My Dead Body by Maz Evans. When she was an editor Louise published the hit Luckiest Girl Alive by Jessica Knoll and would love to represent incisive, intelligent suspense written by authors such as Jessica Knoll and Gillian Flynn, or something a little more subversive and blackly comic like My Sister, the Serial Killer by Oyinkan Braithwaite. More generally, Louise would also love to see novels with a disabled protagonist or someone (like herself) who is living with an invisible disability. As an ex-primary school teacher, she also warmly welcomes submissions from teachers, especially if the submission falls into one of the other categories she has listed. Following-on from this, she enjoys reading stories that follow a ‘beating the system’ narrative. Horror. Louise is currently really enjoying the horror resurgence and would love some more horror for her list. She is looking for all types of horror from the more literary, suspenseful horror along the lines of Andrew Michael Hurley to the more commercial like Witchcraft for Wayward Girls by Grady Hendrix. Louise is also a big fan of horror mash-ups, especially body transformation horror such as Nightbitch, and horror mixed with, say, vampires, in the vein of Hungerstone or The Lamb. She would also love to see some dark academia. Think If We Were Villains or In My Dreams I Hold a Knife, and is a huge fan of gothic horror, so would love to see something that’s a modern-day Shirley Jackson or Rebecca. Louise is NOT looking for: -romance -romantasy -epic, traditional fantasy -space opera -straightforward women’s fiction -children’s fiction of any kind -non-fiction Louise would like you to submit a covering letter, 1 page synopsis and the first three chapters or 5,000 words of your manuscript in a single word document, whichever is shorter. (In addition to the paid sessions, Louise is kindly offering one free session for low income/under-represented writers. Please email agent121@iaminprint.co.uk to apply, outlining your case for this option which is offered at the discretion of I Am In Print). By booking you understand you need to conduct an internet connection test with I Am In Print prior to the event. You also agree to email your material in one document to reach I Am In Print by the stated submission deadline and note that I Am In Print take no responsibility for the advice received during your agent meeting. The submission deadline is: Wednesday 25th June 2025
SNMP training course description A hands-on generic look at the technical operation of SNMP. The course starts with an overview of all the components, which make up SNMP. Hands on starts early with configuration of a managed network. The major versions of SNMP are then put into perspective followed by a look at the SNMP protocol. MIBs are then studied both from the perspective of reading MIBs and writing MIBs. The course finishes with a look at the security implications of SNMP. What will you learn Describe the SNMP architecture. Analyse SNMP packets. Recognise the MIB structure. Describe the SMI. Recognise the strengths and weaknesses of SNMPv2 and SNMPv3. SNMP training course details Who will benefit: Network administrators. Network operators. Programmers writing MIBs and agents. Prerequisites: TCP/IP Foundation for engineers Hands on experience of an SNMP management station would also be beneficial. Duration 3 days SNMP training course contents Network management What is network management? Benefits, issues. What is SNMP? SNMP architecture, SNMP MIBs, SMI, the SNMP protocol, polling security, alternatives to SNMP: CMIP, web based management. Configuring SNMP Auto discovery for management stations, NMS configuration, agent configuration, traps. Hands on Configuring agents and an NMS. SNMP background SNMP history, RFCs, standards, SNMP protocol versions, SNMPv1, SNMPv2, SNMPv3, SNMP SMI versions, which version should you use? Futures. SNMPv1 packets SNMP in the 7 layer model, port numbers, general packet format, BER, GET, GET-NEXT, tables, SET, TRAP, bandwidth issues, in band versus out of band management. Hands on Analysing SNMPv1 packets. SNMPv2 packets SNMPv2 improvements, error handling, GETBULK, v2traps, INFORM. Hands on Analysing SNMPv2 packets. SNMPv3 packets SNMPv3 packet format, use of SNMPv2 messages, REPORT PDU. MIB structure The internet MIB branch, standard mib-2, extra parts of mib-2, private enterprise MIBs, loading extra MIBs. Hands on MIB browsing. mib-2 The mib-2 groups, system group, interfaces group, IP group, ICMP group, TCP group, UDP group, transmission group, SNMP group, RMON. Hands on mib-2 browsing in detail. SMI The MIB layout, obtaining a private enterprise number, MIB definitions, IMPORT, Module identity, Textual conventions, object definitions, notifications, compliance statements, object groups, base SMI data types, application data types, scalars, instances, tables, table definition, writing agents, SMIng. SNMP security Community strings, SNMPv1 and SNMPv2c security practices, SNMPv3 security, SNMPv3 architecture, SNMP applications, the SNMP engine, the EngineID, security fields in SNMPv3 packets, USM, authentication, encryption, timeliness, VBAC, SNMPv3 configuration.
MySQL for developers training course description This MySQL Developers training course is designed for MySQL Developers who have a good understanding of a MySQL database and experience of using SQL commands. The course provides further practical experience in more advanced MySQL commands and SQL statements including Stored Routines, Triggers and Event Scheduling. What will you learn Provide the skills needed to write more advanced queries and database maintenance statements on a MySQL database. Use advanced features of the MySQL Client. Use advanced data types. Manage the structure of databases and tables. Manage and using indexes. Write complex SQL query statements. Use advanced SQL expressions. Use advanced SQL functions. Perform advanced Insert, Update, Delete, Replace and Truncate Operations. Use user variable syntax and properties. Import and export data from within MySQL. Import and export data from the command line. Perform complex joins to access multiple tables. Perform complex subqueries. Create, manage and us views. Use prepared statements. Create and use stored routines. Create and use triggers. Obtain database metadata. Optimize queries. Work with the main storage engines. Debug MySQL applications. MySQL for developers training course details Who will benefit: MySQL Developers who have a basic understanding of a MySQL database and SQL commands as covered on the Introduction to MySQL course. Prerequisites: MySQL foundation Duration 5 days MySQL for developers training course contents Introduction Administration and Course Materials, Course Structure and Agenda, Delegate and Trainer Introductions. Client/server concepts MySQL client/server architecture, Server modes, Using client programs, Logging in options, Configuration files, Precedence of logging in options Hands on Using client/server The MySQL client program Using MySQL interactively, The MySQL prompts, Client commands and SQL statements, Editing, Selecting a database, Help, Safe updates, Using script files, Using a source file, Redirecting output into a file, Command line execution, Mysql output formats, Overriding the defaults, Html and xml output, MySQL Utilities. Hands on Using the MySQL client program Data types Bit data type, Numeric data types, Auto_increment, Character string data types, Character sets and collation, Binary string data types, Enum and Set data types, Temporal data types, Timezone support, Handling Missing Or Invalid Data Values, SQL_MODE options. Hands on Using data types Identifiers Using Quotes with identifier naming, Case sensitivity in Identifier naming, Qualifying columns with table and database names, Using reserved words as identifiers, Function names Hands on Using identifiers Databases Database properties, Creating a database, Selecting a database, Altering databases, Dropping databases, Obtaining database metadata, The SHOW command, The INFORMATION_SCHEMA database, The SHOW CREATE command Hands on Using databases Tables and indexes Table properties, Creating tables, Create table using Select or Like, Temporary tables and memory tables, Altering tables, Adding columns, Changing column widths and types, Renaming columns, Dropping columns, Adding constraints, Dropping constraints, Renaming tables, Change the table storage engine, Multiple alterations, Dropping tables, Emptying tables, Obtaining table metadata, Show create table, The information_schema, Index introduction, Structure of a mysql index, Creating and dropping indexes, Creating an index, Altering a table to add an index, Specifying index type, Dropping indexes, Obtaining Index Metadata. Hands on Creating, altering and dropping tables/indexes Querying for data The SQL select statement and MySQL differences, Advanced order by, Order by and collation, Order by with enum datatype, Order by with Set datatype, Ordering with distinct and group by Special features of union, Limit and order by clauses, Group By clause, Group_concat, Using Rollup in a Group By clause. Hands on Querying for data SQL Expressions and functions Components of expressions, Nulls, Numeric expressions, String expressions, Temporal expressions, Comparison functions, Flow control functions, Numeric functions, String functions, Temporal functions. Hands on Using expressions and functions Updating data Update operations and privileges, Inserting rows, Insert using a set clause, Inserting duplicate values, Replacing rows, Updating rows, Update using the order by and limit clauses, Deleting rows, The delete and truncate statements. Exercise: Inserting, updating, replacing and deleting data Connectors MySQL client interfaces, MySQL connectors, Oracle and community conectors, Connecting to MySQL server using Java and PHP connectors, MySQL and NoSQL, Innodb integration with memcached. Obtaining database metadata What is metadata?, The mysqlshow utility, The show and describe commands, Describing tables, The information_schema, Listing tables, Listing columns, Listing views, Listing key_columns_usage. Hands on Obtaining database metadata Debugging Mysql error messages, The show statement, Show errors, Show count(*) errors, Show warnings, Show count(*) warnings, Note messages, The perror utility. Hands on Debugging Joins Overview of inner joins, Cartesian product, Inner joins with original syntax, Non equi-join, Using table aliases to avoid name clashes, Inner Joins With ISO/ANSI Syntax, Outer Joins, Left outer joins, Right outer joins, Full outer joins, Updating multiple tables simultaneously, Updating rows in one table based on a condition in another, Updating rows in one table reading data from another, Deleting from multiple tables simultaneously, Deleting rows in one table based on a condition in another. Hands on Coding joins Subqueries Types of subquery, Multiple-column subqueries, Correlated subqueries, Using the ANY, ALL and SOME operators, Using the EXISTS operator, Subqueries as scalar expressions, Inline views, Converting subqueries to joins, Using subqueries in updates and deletes. Hands on Coding subqueries Views Why views are used, Creating views, View creation restrictions, View algorithms, Updateable views, Altering and dropping views, Displaying information about views, Privileges for views. Hands on Using views Import and Export Exporting using SQL, Privileges required to export data, Importing using SQL, Messages when loading data, Privileges required to load data, Exporting from the command line, Mysqldump main options, Importing from the command line, Mysqlimport main options. Hands on Importing and exporting User variables and prepared statements Creating User variables, User variables in a select, Prepared statements, The prepare statement, The execute statement, The deallocate statement, Using prepared statements in code, with connectors. Hands on Using variables and prepared statements Introduction to stored routines Types of stored routines, Benefits of stored routines, Stored routine features, Differences between procedures and functions, Introduction to the Block, Declaring variables and constants, Assigning values to variables, Definer rights and invoker rights, Using SELECT in stored routines, Altering and dropping stored routines, Obtaining stored routine metadata, Stored routine privileges and execution security. Hands on Writing simple stored routines Stored routines - program logic The IF .. THEN .. ELSEIF construct, The CASE statement, The basic loop, The while loop, The repeat loop, The iterate statement, Nested loops. Hands on Writing stored routines with program logic Stored routines - exception handlers and cursors Dealing with errors using Exception handlers, Cursors, What is a cursor?, Cursor operations, Declaring cursors, Opening and closing cursors, Fetching rows, Status checking. Hands on Writing stored routines with program logic Procedures with parameters Creating procedures with parameters, Calling Procedures With Parameters. Hands on Writing stored routines with parameters Functions What is a function?, The create function statement, Executing functions, Executing functions from code, Executing functions from SQL statements, The deterministic and SQL clauses. Hands on Writing functions Triggers Trigger creation, Restrictions on triggers, The create trigger statement, Using the old and new qualifiers, Managing triggers, Destroying triggers, Required privileges. Hands on Writing triggers Basic optimizations Normalisation of data to third normal form, Using indexes for optimization, General query enhancement, Using Explain to analyze queries, Choosing an INNODB or MYISAM storage engine, Using MySQL Enterprise Monitor in query optimization. Hands on Making use of basic optimizations More about indexes Indexes and joins Hands on Investigating indexes and joins
Python training course description This Python course focusses on teaching Python for use in network automation and network DevOps. We focus on getting delegates up and running with Python and network automation as quickly as possible rather than making them great programmers. In other words we concentrate on enabling delegates to use network automation libraries such as netmiko, NAPALM and Nornir, and APIs such as NETCONF and RESTCONF rather than enabling delegates to produce object oriented programs. Hands on sessions use Cisco and Juniper devices. What will you learn Run Python programs. Read Python programs. Write Python programs. Debug Python programs. Automate network tasks with Python programs. Configure network devices with Python. Collect data from network devices with Python. Python training course details Who will benefit: Network engineers. Prerequisites: TCP/IP Foundation Duration 5 days Python training course contents What is Python? Programming languages, Why Python? Python in interactive mode, Python scripts, ipython, Python version 2 versus version 3. A simple Python script. Comments. Hands on Installing Python, Hello world. A network example On box vs off box Python. telnet, ssh, NETCONF, HTTP, APIs, manufacturers and API support, analysis of a simple telnetlib program. Hands on Using Python to retrieve the configuration from a network device. Using wireshark to analyse the actions. Python basics I/O, operators, variables and assignment, types, indentation, loops and conditionals. Hands on Modifying the telnet program, changing configurations on a network devices. Functions, classes and methods What are functions, calling functions, builtin functions, useful builtin functions, file handling, classes, objects, creating instances. Hands on Storing configurations in files, configuring devices from files, using an inventory file to work on multiple devices. Libraries and modules Modules, files and packages, import, from-import, Python standard library, other packages, pip install, executing other programs. Managing python libraries. Hands on Using pip, installing and using ipaddress, subprocess to access netsnmp. For the more advanced, using the sockets library. Paramiko and netmiko SSH, enabling SSH on devices, keys. Paramiko versus netmiko, example scripts. pexpect. Hands on Configuring VLANs from Python. pySNMP Gathering facts using previous methods, SNMP review, pySNMP GET, pySNMP and SNMPv3. easySNMP library. Hands on Walking a MIB from Python. NETCONF What is NETCONF? Enabling NETCONF on devices, A first ncclient script, device handlers, get_config, edit_config, copy_config, delete_config, commit, validate, pyEZ, utils_config, utils.sw. Hands on Configuration using ncclient and PyEZ. This session is expanded for those interesting in JunOS automation. Manipulating configuration files Builtin functions, string handling. Unicode. Sequences, strings, lists, tuples. Dictionaries. TextFSM. Regular expressions. JSON, YAML, XML, YANG, Jinja2, templates. Hands on Jinja2 templating with Python to configure network devices. NAPALM Getters, configuration operations, supported devices, NAPALM transport, Config-replace, Config-merge, Compare config, Atomic changes, rollback. Example NAPLAM scripts. Hands on Using NAPALM to gather facts, Using NAPALM for configuration management REST and RESTCONF What is REST, HTTP methods, GET, POST, cURL, Postman, Python requests library. RESTCONF, a RESTCONF example. Hands on Modifying a configuration using RESTCONF. Scapy What is scapy, Scapy in interactive mode, Scapy as a module. Hands on Packet crafting from Python. Warning Errors and exceptions, Exception handling, try, except. Memory management. Garbage collection. Context management, With. Hands on Improving Python code. Nornir What is Nornir? A network automation framework, inventories, connection management and parallelization. Nornir architecture and other libraires. Hands on Setting up nornir, nornir fact gathering, nornir tasks. Optional Writing your own functions, Writing your own classes. pyntc. Hands on Writing reusable code.