About this Training Course On a day-to-day basis, one of the most common technologies utilised in well intervention is Coiled Tubing. This is prevalent in the oil industry and the technology is used during drilling, completion and production phases of Oil & Gas wells worldwide. This 5 full-day course will look at the following areas: Equipment for surface and pressure control Assembly components for bottom-hole Details of the different types of interventions performed with Coiled Tubing, and How to deal with fatigue and corrosion. The aim of this course is to enable the participants to gain key knowledge that they will require to actively and efficiently participate in the planning, design, and / or execution of a Coiled Tubing intervention. With this, the participants will learn how to calculate the string operating limits and the volumes and rates during nitrogen interventions. The course will walk the participants through the emergency responses and contingencies to deal with in various scenarios. Time will be allocated for the participants to work on the practical exercises as well as real field cases and problems. This course can also be offered through Virtual Instructor Led Training (VILT) format. Training Objectives By the end of the course, the participants will be able to: Plan, design, manage and execute interventions for Coiled Tubing Enhance operational performance during interventions for Coiled Tubing Explain the recommended equipment for various Coiled Tubing field conditions and applications Discuss the proper pressure control equipment for any particular well condition Learn about the most commonly used downhole tools and explain their function Understand how to calculate and define string limits for Coiled Tubing Learn how to work safely with liquid nitrogen Target Audience This course is aimed at Drilling and completion engineers Production engineers Surface/subsurface engineers Operations engineers Service company managers Field engineers This course will also benefit professionals who would like to increase their knowledge in the planning, design and/or execution of Coiled Tubing and Liquid Nitrogen interventions. Course Level Basic or Foundation Training Methods Other than the daily quizzes to reinforce the materials presented in the session, the participants will work through exercises such as: Selecting suitable BHAs for various operations Rigging up equipment in the correct order and preparing an outline testing programme Carrying out suitable calculations to perform an N2 lift Preparing an outline programme for a balanced cement plug Identifying issues in various videos & photos and suggesting mitigations Basic N2 safety quiz Final exercise will be preparing an outline programme for a Proppant Clean out, including a detailed Risk Register and Mitigation options Trainer Your expert course instructor has over 40 years of experience in the Oil & Gas industry. During that time, he has worked exclusively in well intervention and completions. After a number of years working for intervention service companies (completions, slickline & workovers), he joined Shell as a well service supervisor. He was responsible for the day-to-day supervision of all well intervention work on Shell's Persian/Arabian Gulf platforms. This included completion running, coil tubing, e-line, slickline, hydraulic workovers, well testing and stimulation operations. An office-based role as a senior well engineer followed. He was responsible for planning, programming and organising of all the well engineering and intervention work on a number of fields in the Middle East. He had a brief spell as a Site Representative for Santos in Australia before joining Petro-Canada as Completions Superintendent in Syria, then moved to Australia as Completions Operations Superintendent for Santos, before returning to Shell as Field Supervisor Completions and Well Interventions in Iraq where he carried out the first ever formal abandonment of a well in the Majnoon Field. While working on rotation, he regularly taught Completion Practices, Well Intervention, Well Integrity and Reporting & Planning courses all over the world. In 2014, he started to focus 100% on training and became the Technical Director for PetroEDGE. Since commencing delivering training courses in 2008, he has taught over 300 courses in 31 cities in 16 countries to in excess of 3,500 participants. POST TRAINING COACHING SUPPORT (OPTIONAL) To further optimise your learning experience from our courses, we also offer individualized 'One to One' coaching support for 2 hours post training. We can help improve your competence in your chosen area of interest, based on your learning needs and available hours. This is a great opportunity to improve your capability and confidence in a particular area of expertise. It will be delivered over a secure video conference call by one of our senior trainers. They will work with you to create a tailor-made coaching program that will help you achieve your goals faster. Request for further information post training support and fees applicable Accreditions And Affliations
REXX training course description A hands on training course covering the Restructured EXtended eXecutor (REXX) language. A large number of exercises are used to reinforce and emphasise lecture sessions. What will you learn Write REXX programs. Debug REXX programs. Examine existing code and determine its function. REXX training course details Who will benefit: Anyone wishing to learn REXX. Prerequisites: None although experience in another high level language would be useful. Duration 3 days REXX training course contents Introduction to REXX What is REXX? REXX environments, invoking a REXX exec, a sample REXX exec, REXX clause types. REXX variables and data Literal data, variable data, assignment, simple variables, compound variables, stem variables, constant data, numeric data, arithmetic operations, character manipulation, hexadecimal data. The parse instruction Parse format, Parse examples, Parse arg, Parse pull, Parse value, special templates, place holders, literal templates, numeric templates, variable templates. Control structures Relational conditions, logical operators, simple selection, looping: uncontrolled and controlled loops, infinite loops, conditional loops, controlling loops, leave, iterate, multiple selection, instructions for subroutines, exit. Sub routines and functions Internal and external subroutines, call, ARG(), ARG(n)return, exit, scope of variables, procedure, functions, built in functions, overriding built in functions. Performing I/O Command conventions, preparing to read a file, execio, limitations, execio for reading, DISKR, DISKRU, DISKW, return codes. External functions listdsi, msg, outtrap, prompt, sysdsn, sysvar, storage Tracing Immediate commands, the trace facility, signal and call statements. Built in functions Text handling functions, string handling, word handling, arithmetic, data conversion, bit manipulation, environment. The data stack Data stack structure, REXX instructions for the data stack, REXX functions for the data stack, TSO/E commands for the data stack. REXX in batch TSO/E foreground. TSO/E background.
Oracle SQL training course description The Oracle SQL course is designed to give delegates practical experience in writing SQL statements and scripts using Oracle SQL. The basic SELECT statement, the use of SQL functions and the basic table and view handling statements are introduced. What will you learn Create SQL statements to query database tables. Use standard aggregate functions and related SELECT statement clauses. Join Tables. Use basic subqueries and the set operators. Use numeric, character and date functions. Use conversion and other miscellaneous functions. Use SQL parameters. Use complex subqueries. Create and alter tables and views. Insert, update and delete rows in database tables. Manage sequences and synonyms. Oracle SQL training course details Who will benefit: Anyone who needs to use and understand Oracle SQL to query and update data in an Oracle database. Prerequisites: None. Duration 3 days Oracle SQL training course contents Retrieving data with the SELECT statement The SELECT statement, The SELECT and FROM clauses, Conditions and the WHERE clause, Other conditional operators, Logical operators, The ORDER BY clause, Column aliases, Arithmetic expressions, Precedence of operators. Aggregate functions Overview of built In aggregate functions, The GROUP BY clause, The HAVING clause. Joining tables Overview of table joins, Inner joins, Table aliases, Outer joins, Self joins, ANSI standard joins. Basic subqueries and set operators Overview of subqueries, Basic subqueries, Set operators, The union, intersect and ,minus operators. Numeric, character and data functions Function types, Using the table dual to try out functions, Numeric functions, Character functions, String concatenation, Date arithmetic and date functions. Conversion and miscellaneous functions Conversion functions, The NVL and NVL2 functions, The DECODE function, CASE expressions, The COALESCE and NULLIF functions. SQL parameters Command line substitution parameters, The accept command, The define and undefine commands. Complex subqueries Subqueries usage, In-line views, Top-N queries, Subqueries with joins, Multi column subqueries, Correlated subqueries, Subquery rules, Using the ANY, ALL and SOME operators. Managing data Inserting rows, Updating rows, Deleting rows, Verifying updates, Transaction control, Commit and rollback, Savepoints, Commits and constraints, Amending data in SQL developer. Managing tables Creating tables, Specifying constraints, Altering tables, columns and constraints, Dropping tables, columns and constraints, Recovering dropped tables, Copying tables. Managing indexes and views Creating indexes, Dropping indexes, Listing indexes, Creating and using views, Dropping views, Listing views. Managing sequences and synonyms Create a sequence, View sequence details, Create a synonym, List synonyms.
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.
About this training course Gas well performance is dictated by the combination of inflow and outflow performance. The outflow performance of any gas well is at risk as soon as the gas rate becomes insufficient to lift the associated liquid water and condensate to surface. This condition is referred to as liquid loading and invariably causes intermittent production and significant loss of well capacity and reserves. Liquid loading can be mitigated by different types of gas well deliquification such as compression, velocity string, plunger lift, foam-assisted lift, gas lift and downhole pump. This 5 full-day course will first show how to predict and recognize liquid loading. Next, it will describe how to select, design, install and operate the best sequence of deliquification measures. It will also consider deliquification in the presence of other production threats such as water production and halite blockage. These topics will be illustrated by an abundance of field examples and case studies. The participants will be completing a case study during the training. This case study is preferably based on their own relevant data set. If no such data is available, an external data set will be provided instead. Prerequisites skills: It is necessary for the participants to have a basic knowledge of petroleum engineering and gas well performance. This course can also be offered through Virtual Instructor Led Training (VILT) format. Training Objectives On completion of this course, the participants will be able to: Develop skills and tools to understand and model gas well liquid loading and deliquification Understand the principles and practicalities of different deliquification methods Learn how to compare, select and apply deliquification measures by taking own field case as example Target Audience This course is intended for production engineer, surveillance engineer, completion engineer, production/process chemist, reservoir engineer, production programmer, production operator as well as professionals responsible for selecting, installing, operating, monitoring and optimizing deliquification. Course Level Basic or Foundation Training Methods This course utilizes Excel worksheets first introduced in the Optimising Gas Well Performance course. To derive maximum learning value, the participants are requested to bring their own relevant set of field data to complete their own case study during the training. The list of data required will be shared beforehand so data can be timely collected and cleared for external use. The participants should be prepared to complete any unfinished exercises and assignments before next day's session starts. The instructor will be available to discuss any remaining queries after the completion of the course. Trainer Your expert course leader brings with him 35 years of oil and gas field experience within Shell of which 25 years as gas well production engineer. He has covered the full spectrum of activities moving from R&D to green field development to brown field surveillance and optimisation, to become a leading gas well performance and deliquification specialist. He likes to capture the complex reality of gas well inflow, outflow and reservoir performance by means of practical data-driven rules and tools that cover a wide range of conditions i.e. shallow-to-deep, prolific-to-tight, dry-to-wet, green-to-brown, 1-1/2'-to-9-5/8' tubing, and depletion-to-aquifer drive. Before his retirement in end 2020, he worked for various Shell affiliated oil and gas companies including Shell Malaysia, Petroleum Development Oman, NAM Netherlands and Shell R&D in Netherlands and USA. POST TRAINING COACHING SUPPORT (OPTIONAL) To further optimise your learning experience from our courses, we also offer individualized 'One to One' coaching support for 2 hours post training. We can help improve your competence in your chosen area of interest, based on your learning needs and available hours. This is a great opportunity to improve your capability and confidence in a particular area of expertise. It will be delivered over a secure video conference call by one of our senior trainers. They will work with you to create a tailor-made coaching program that will help you achieve your goals faster. Request for further information post training support and fees applicable Accreditions And Affliations
Complete JavaScript training course description A hands on course covering JavaScript programming. Core JavaScript is covered first, including the basics, arrays, functions, classes, modules and Regular expressions. Client side JavaScript is then covered including JavaScript in browsers, Scripting CSS, the jQuery library and HTML APIs. What will you learn Read JavaScript. Write JavaScript. Debug JavaScript. Complete JavaScript training course details Who will benefit: Anyone wishing to learn JavaScript. Prerequisites: None. Duration 3 days Complete JavaScript training course contents CORE JAVASCRIPT Lexical structure: Character set, comments, literals, identifiers, and reserved words, optional semicolons.. Types, values and variables: Numbers, text, boolean values, null and undefines, the global object, wrapper objects, immutable primitive values and mutable object references, type conversions, variable declaration, variable scope. Expressions and operators: Primary expressions, object and array initializers, function definition expressions, property access expressions, invocation expressions, object creation expressions, operator overview, arithmetic expressions, relational expressions, logical expressions, assignment expressions, evaluation expressions, miscellaneous operators. Statements: Expression statements, compound and empty statements, declaration statements, conditionals, loops, jumps, miscellaneous statements, summary of JavaScript statements. Objects: Creating objects, querying and setting properties, deleting properties, testing properties, enumerating properties, property getters and setters, property attributes, object attributes, serializing objects, object methods. Arrays: Creating arrays, reading and writing array elements, sparse arrays, array length, adding and deleting array elements, iterating arrays, multi-dimensional arrays, array methods, FCMAScript 5 array methods, array type, array-like objects, strings as arrays. Functions: Defining functions, invoking functions, function arguments and parameters, functions as values, functions as namespaces, closures, function properties, methods and constructor, functional programming. Classes and modules: Classes and prototypes, classes and constructors, Java-style classes in JavaScript, augmenting classes, classes and types, object oriented techniques in JavaScript, subclasses, classes in ECMAScript 5, modules. Pattern matching and regular expressions: Defining regular expressions, string methods for pattern matching, the RegExp object. JavaScript subsets and extensions: JavaScript subsets, constants and scoped variables, destructuring assignment, iteration, shorthand functions, multiple catch clauses, E4X: ECMAScript for XML. Server-side JavaScript: Scripting Java with Rhino, asynchronous I/O with node. CLIENT SIDE JAVASCRIPT JavaScript in web browsers: Client side JavaScript, embedding JavaScript in HTML, execution of JavaScript programs, compatibility and interoperability, accessibility, security, client side frameworks. The Window object: Timers, browser location and navigation, browsing history, browser screen information, dialog boxes, error handling, document elements as window properties, multiple windows and frames. Scripting Documents: Overview of the DOM, selecting document elements, document structure and traversal, attributes, element content, creating, inserting and deleting nodes. Example: generating a table of contents, document and element geometry and scrolling, HTML forms, other document features. Scripting CSS: Overview of CSS, important CSS properties, scripting inline styles, querying computed styles, scripting CSS classes, scripting stylesheets. Handling events: Types of events, registering event handlers, event handler invocation, document load events, mouse events, mousewheel events, drag and drop events, text events, keyboard events. Scripted HTTP: Using XMLHttpRequest, HTTP by <script>: JSOMP, Comet with server-sent events. The jQuery library: jQuery basics, jQuery getters and setters, altering document structure, handling events with jQuery, Animated effects, Ajax with jQuery, Utility functions, jQuery selectors and selection methods, Extending jQuery with plug-ins. The jQuery UI library. Client side storage: localStorage and sessionStorage, Cookies, IE usingData persistence, Applicatioin storage and offline webapps. Scripted media and graphics: Scripting images, Scripting audio and video, SCG:scalable vector graphics, Graphics in a <canvas>. Scripted HTTP: Using XMLHttpRequest, HTTP by <script>: JSOMP, Comet with server-sent events. The jQuery library: jQuery basics, jQuery getters and setters, altering document structure, handling events with jQuery, Animated effects, Ajax with jQuery, Utility functions, jQuery selectors and selection methods, Extending jQuery with plug-ins. The jQuery UI library. Client side storage: localStorage and sessionStorage, Cookies, IE usingData persistence, Applicatioin storage and offline webapps. Scripted media and graphics: Scripting images, Scripting audio and video, SCG:scalable vector graphics, Graphics in a <canvas>. HTMLS APIs: Geolocation, history management, cross-origin messaging, web workers, type arrays and ArrayBuffers, blobs, the filesystem API, client side databases, web sockets.
Network DevOps course description This course is not a soft skills course covering the concepts of DevOps but instead concentrates on the technical side of tools and languages for network DevOps. Particular technologies focussed on are ansible, git and Python enabling delegates to leave the course ready to starting automating their network. Hands on sessions follow all major sections. More detailed courses on individual aspects of this course are available. What will you learn Evaluate network automation tools. Automate tasks with ansible. Use git for version control. Use Python to manage network devices. Use Python libraries for network devices. Network DevOps course details Who will benefit: Administrators automating tasks. Prerequisites: TCP/IP Foundation Duration 5 days Network DevOps course contents What is DevOps Programming and automating networks, networks and clouds, AWS, OpenStack, SDN, DevOps for network operations. Initial configuration Configuring SSH, ZTP, POAP. Hands on Initial lab configuration. Getting started with ansible The language, the engine, the framework. Uses of ansible, orchestration. The architecture, Controlling machines, nodes, Agentless, SSH, modules. Configuration management, inventories, playbooks, modules, roles. Hands on Installing ansible, running ad hoc commands. Ansible playbooks ansible-playbook, YAML, plays, tasks, handlers, modules. Playbook variables. Register module, debug module. Hands on Running playbooks. Ansible Inventories /etc/ansible/hosts, hosts, groups, static inventories, dynamic inventories. Inventory variables, external variables. Limiting hosts. Hands on Static inventories, variables in inventory files. Ansible modules for networking Built in modules, custom modules, return values. Core modules for network operations. Cisco and/or Juniper modules. ansible_connection. Ansible 2.6 CLI. Hands on Using modules. Ansible templating and roles aConfiguration management, full configurations, partial configurations. The template module, the assemble module, connection: local, Jinja2 templates, variables, if, for, roles. Hands on Generating multiple configurations from a template. Network programming and modules Why use Python? Why use ansible? alternatives, ansible tower, Linux network devices. Programming with Python Python programming Functions. Classes, objects and instances, modules, libraries, packages. Python strings, Python file handling, pip list, pip instal. Hands on Python programming with pyping. More Python programming Functions. Classes, objects and instances, modules, libraries, packages. Python strings, Python file handling, pip list, pip install. Hands on Python programming with pyping. Git Distributed version control, repositories, Git and GitHub, Alternatives to GitHub, Installing git, git workflows, creating repositories, adding and editing files, branching and merging, merge conflicts. Hands on working with Git. Python and networking APIs, Sockets, Telnetlib, pysnmp, ncclient, ciscoconfparse. Paramiko SSH and Netmiko Integrating Python and network devices using SSH. Netmiko, Netmiko methods. Hands on Netmiko. NAPALM What is NAPALM, NAPALM operations, getters, Replace, merge, compare, commit, discard. Hands on Configuration with NAPALM. Integrating ansible and NAPALM. Python and REST REST APIs, enabling the REST API. Accessing the REST API with a browser, cURL, Python and REST, the request library. Hands on Using a REST API with network devices.
Java training course description A comprehensive introduction of the Java language and environment. It is important to note that the course will assume that the delegates are already familiar with the C language as this enables more advanced features of the Java language to be covered in the course. The course will also give an overview of areas related to programming in Java. What will you learn Describe the Java architecture. Write Java applets and applications. Debug Java programs. Examine existing code and determine its function. Use multimedia extensions, the awt, multithreading, exceptions within Java Java training course details Who will benefit: Those wishing to program in Java. Prerequisites: Complete C programming Duration 5 days Java training course contents Review of UNIX fundamentals What is Java? What Java is, history of Java, reasons for success. The Java Virtual Machine, Bytecodes, getting up and running with Java, Java resources. Simple Java applications. C features in Java Java data structures, Java flow control, differences from C, arrays, strings and packages. OO features in Java Java classes and objects, inheritance, overloading, packages. Differences from C++. Java applets Applications vs. applets, HTML, the applet tag, applet methods, life cycle, testing and debugging. Multimedia applets Images, sounds, fonts, colours and animation. Java products The JDK in detail, other development environments. Javabeans and JDBC overviews. Abstract Window Toolkit JFC and Swing versus AWT. Event handling (JDK 1.1), GUIs, panels, buttons, lists, scrollbars, text areas, frames⦠Exception handling and multithreading Handling exceptions. Starting, pausing, stopping threads, producers, consumers, monitoring. More standard classes Java file I/O, Streams, The system class. The networking model, java.net classes. Security and Java Types of attack, the security manager, craplets, securing the network. Integrating legacy code with Java
Network automation course description This course is not a soft skills course covering the concepts of DevOps but instead concentrates on the technical side of tools and languages for network DevOps. Particular technologies focussed on are ansible, git and Python enabling delegates to leave the course ready to starting automating their network. Hands on sessions follow all major sections. More detailed courses on individual aspects of this course are available. What will you learn Evaluate network automation tools. Automate tasks with ansible. Use git for version control. Use Python to manage network devices. Use Python libraries for network devices. Network automation course details Who will benefit: Network engineers. Prerequisites: TCP/IP foundation for engineers. Duration 5 days Network automation course contents What is DevOps Programming and automating networks, networks and clouds, AWS, OpenStack, SDN, DevOps for network operations. Initial configuration Configuring SSH, ZTP, POAP. Hands on Initial lab configuration. Getting started with ansible The language, the engine, the framework. Uses of ansible, orchestration. The architecture, Controlling machines, nodes, Agentless, SSH, modules. Configuration management, inventories, playbooks, modules, roles. Hands on Installing ansible, running ad hoc commands. Ansible playbooks ansible-playbook, YAML, plays, tasks, handlers, modules. Playbook variables. Register module, debug module. Hands on Running playbooks. Ansible Inventories /etc/ansible/hosts, hosts, groups, static inventories, dynamic inventories. Inventory variables, external variables. Limiting hosts. Hands on Static inventories, variables in inventory files. Ansible modules for networking Built in modules, custom modules, return values. Core modules for network operations. Cisco and/ or Juniper modules. ansible_connection. Ansible 2.6 CLI. Hands on Using modules. Ansible templating and roles Configuration management, full configurations, partial configurations. The template module, the assemble module, connection: local, Jinja2 templates, variables, if, for, roles. Hands on Generating multiple configurations from a template. Network programming and modules Why use Python? Why use ansible? alternatives, ansible tower, Linux network devices. Programming with Python Scripting versus application development, Python interactive mode, Python scripts, Python 2.7 vs Python 3. A simple Python script. Variables, loops, control statements, operators. PEP style guide. Python IDEs. Hands on Simple Python programs. More Python programming Functions. Classes, objects and instances, modules, libraries, packages. Python strings, Python file handling, pip list, pip install, Hands on Python programming with pyping. Git Distributed version control, repositories, Git and GitHub, Alternatives to GitHub, Installing git, git workflows, creating repositories, adding and editing files, branching and merging, merge conflicts. Hands on working with Git. Python and networking APIs, Sockets, Telnetlib, pysnmp, ncclient, ciscoconfparse. Paramiko SSH and Netmiko Integrating Python and network devices using SSH. Netmiko, Netmiko methods. Hands on Netmiko. PyEZ Juniper, NETCONF, installing PyEZ, a first pyEZ script, pyEZ configuration management. Hands on Juniper configuration management with pyEZ. NAPALM What is NAPALM, NAPALM operations, getters, Replace, merge, compare, commit, discard. Hands on Configuration with NAPALM. Integrating ansible and NAPALM. Python and REST REST APIs, enabling the REST API. Accessing the REST API with a browser, cURL, Python and REST, the request library. Hands on Using a REST API with network devices.
Complete Ruby programming training course description This course starts with a quick-start session and then explains the language in detail from the bottom up. Hands on sessions follow all the major sessions to reinforce the theory. What will you learn Read Ruby programs. Write Ruby programs. Debug Ruby programs. Complete Ruby programming training course details Who will benefit: Anyone wishing to program in Ruby. Prerequisites: Software development fundamentals Duration 3 days Complete Ruby programming training course contents Introduction A tour of Ruby, Try Ruby, A suduko solver in Ruby. The Structure and execution of Ruby Lexical structure, Syntactic structure, Files structure, Program encoding, Program execution. Datatypes and objects Numbers, text, Arrays, Hashes, Ranges, Symbols, True, false, and nil, Objects. Expressions and operators Literals and keyword literals, Variable references, Constant references, Method invocations, Assignments, Operators. Statements and control structures Conditionals, loops, Iterators and enumerable objects, Blocks, Altering flow control, Exceptions and exception handling, BEGIN and END, Threads, fibres and continuations. Methods, Procs, Lambdas and closures Defining simple methods, Method names, Methods and parentheses, Method arguments, Procs and lambdas, Closures, Method objects, Functional programming. Classes and modules Defining a simple class, Method visibility: public, protected, privates, Subclassing and inheritance, Object creation and initialization, Modules, Loading and requiring modules, Singleton methods and Eigenclass, Method lookup, Constant lookup. Reflection and metaprogramming Types, classes and modules, Evaluating strings and blocks, Variables and constants, Methods, Hooks, Tracing, ObjectSpace and GV, Custom control structures, Missing methods and missing constants, Dynamically creating methods, Alias chaining. The Ruby platform Strings, Regular expressions, Numbers and Math, Dates and times, Collections, Files and directories, Input/output, Networking, Threads and concurrency. The Ruby environment Invoking the Ruby interpreter, The Top-level environment, Practical extraction and reporting shortcuts, Calling the OS, Security.