• Professional Development
  • Medicine & Nursing
  • Arts & Crafts
  • Health & Wellbeing
  • Personal Development

1 Educators providing Object Oriented Programming (OOP) courses in Birmingham

Courses matching "Object Oriented Programming (OOP)"

Show all 11

Complete Python programming

5.0(3)

By Systems & Network Training

Complete Python training course description Python is an agile, robust, expressive, fully objectoriented, extensible, and scalable programming language. It combines the power of compiled languages with the simplicity and rapid development of scripting languages. This course covers Python from the very basics of 'hello world!' through to object oriented programming and advanced topics such as multi threading. Hands on follows all the major sections in order to reinforce the theory. What will you learn Read Python programs. Write Python programs. Debug Python programs. Use Python's objects and memory model as well as its OOP features. Complete Python programming training course details Who will benefit: Anyone wishing to learn Python. Prerequisites: None. Duration 5 days Complete Python programming training course contents Welcome to Python: What is Python? Origins, features. Downloading and installing Python, Python manuals, comparing Python, other implementations. Getting started: Program output, the print statement, "hello world!", Program input, raw_input(), comments, operators, variables and assignment, numbers, strings, lists and tuples, dictionaries, indentation, if statement, while Loop, for loop. range(), list comprehensions. Files, open() and file() built-in functions. Errors and exceptions. Functions, Classes, Modules, useful functions. Python basics: Statements and syntax, variable assignment, identifiers, basic style guidelines, memory management, First Python programs, Related modules/developer tools. Python Objects: Other built-in types, Internal Types, Standard type operators, Standard type built-in functions, Categorizing standard types, Unsupported types. Numbers: Integers, Double precision floating point numbers, Complex numbers, Operators, Built-in and factory functions, Other numeric types. Sequences: strings, lists, and tuples: Sequences, Strings, Strings and operators, String-only operators, Built-in functions, String built-in methods, Special features of strings, Unicode, Summary of string highlights, Lists, Operators, Built-in functions, List type built-in methods, Special features of lists, Tuples, Tuple operators and built-in functions, Tuples special features, Copying Python objects and shallow and deep copies. Mapping and set types: Mapping Type: dictionaries and operators, Mapping type built-in and factory functions, Mapping type built-in methods, Dictionary keys, Set types, Set type operators, Built-in functions, Set type built-in methods. Conditionals and loops: If, else and elif statements, Conditional expressions, while, for, break, continue and pass statements, else statement . . . take two, Iterators and iter(), List comprehensions, Generator expressions. Files and input/output: File objects, File built-in functions [open() and file()], File built-in methods and attributes, Standard files, Command-line arguments, File system, File execution, Persistent storage modules. Errors and exceptions: What are exceptions? Detecting and handling exceptions, Context management, Exceptions as strings, Raising exceptions, Assertions, Standard exceptions, Creating Exceptions, Why exceptions, Exceptions and the sys module. Functions: Calling, creating and passing functions, formal arguments, variable-length arguments, functional programming, Variable scope, recursion, generators. Modules: Modules and files, Namespaces, Importing modules, Module import features, Module built-in functions, Packages, Other features of modules. Object-Oriented Programming (OOP): Classes, Class attributes, Instances, Instance attributes, Binding and method invocation, Static methods and class methods, Composition, Sub-classing and derivation, Inheritance, Built-in functions for classes, and other objects, Customizing classes with special methods, Privacy, Delegation, Advanced features of new-style classes (Python 2.2+), Related modules and documentation. Execution environment: Callable and code Objects, Executable object statements and built-in functions, Executing other programs. 'Restricted' and 'Terminating' execution, operating system interface. Regular expressions: Special symbols and characters, REs and Python, Regular expressions example. Network programming: Sockets: communication endpoints, Network programming in Python, SocketServer module, Twisted framework introduction. Internet client programming: What are internet clients? Transferring files, Network news, E-mail. Multithreaded Programming: Threads and processes Python, threads, and the global interpreter lock, The thread and threading Modules. GUI programming: Tkinter and Python programming, Tkinter Examples, Brief tour of other GUIs. Web programming: Web surfing with Python: creating simple web clients, Advanced Web clients, CGI: helping web servers process client data, Building CGI applications, Using Unicode with CGI, Advanced CGI, Web (HTTP) Servers. Database programming: Python database application programmer's interface (DB-API), ORMs. Miscellaneous Extending Python by writing extensions, Web Services, programming MS Office with Win32 COM, Python and Java programming with Jython.

Complete Python programming
Delivered in Internationally or OnlineFlexible Dates
£3,697

Assessment Based Training - Python Programming & Analytics for the Oil & Gas Sector - Maximising Value from Data Assets

By EnergyEdge - Training for a Sustainable Energy Future

Maximize the value of data assets in the oil and gas sector with EnergyEdge's assessment-based training course on Python programming and analytics.

Assessment Based Training - Python Programming & Analytics for the Oil & Gas Sector - Maximising Value from Data Assets
Delivered in Internationally or OnlineFlexible Dates
£2,799 to £2,899

Object Oriented Analysis & Design

5.0(3)

By Systems & Network Training

OOAD training course description A workshop course providing thorough practical knowledge of object oriented analysis and design methods. What will you learn Perform Systems Analysis with Object Oriented methods. Identify key classes and objects. Expand and refine OO problem domain models. Design Class hierarchies using inheritance and polymorphism. Design programs with Object Oriented methods. OOAD training course details Who will benefit: System analysts, designers, programmers and project managers. Prerequisites: It is desirable that delegates have experience of programming in C++/Java or some other OOP language. Duration 5 days OOAD training course contents What is OO? Classes, objects, messages, encapsulation, associations, inheritance, polymorphism, reusability. What is Systems Analysis and design? Data flow diagrams, structure diagrams. The OO approach. OOA The problem domain and object modelling. Identifying classes and objects. Generalisation and inheritance. Defining attributes and methods. OOD Refining the OOA results. Designing the User Interface. Designing the algorithms and data structures using objects. Designing the methods. OOP Prototyping. Implementing OOD with OOPs and OOPLs.

Object Oriented Analysis & Design
Delivered in Internationally or OnlineFlexible Dates
£4,637

C++ programming foundation

5.0(3)

By Systems & Network Training

C++ training course description A hands on introduction to programming in the C++ language. The course concentrates on aspects that will be new to experienced C programmers and so is not suitable for those without C knowledge. What will you learn Write C++ programs Debug C++ programs. Examine existing code and determine its function. Use classes, function overloading, operator overloading, inheritance and virtual functions within C++ programs. C++ training course details Who will benefit: Programmers needing to write C++ code. Programmers needing to maintain C++ code. Prerequisites: C programming foundation. Duration 5 days C++ training course contents The origins of C++ C++ as a better C, C++ and Object Oriented Programming, encapsulation, polymorphism, inheritance. C++ standards. Getting started Simple C++ programs. Classes Basics, constructor and destructor functions, member and friend functions. Using objects. Default, copy and conversion constructors. A better C Arrays, pointers and references, new and delete. Improved safety with smart pointers, Resource Acquisition in Initialization (RAII). Functions in C++ Function overloading, default arguments, inline functions, Lambda functions. Templates Template classes and functions. Standard Library Containers, Iterators, algorithms, function objects. Operator overloading Basics, binary operators, the this pointer, relational operators, unary operators. Members versus friends. Inheritance Base class access control, protected members, multiple inheritance, virtual base classes. More I/O Manipulators, customising inserters, extractors. File I/O. Virtual functions Pointers to derived classes, run time polymorphism. Exception handling Throwing errors, trying code and catching errors.

C++ programming foundation
Delivered in Internationally or OnlineFlexible Dates
£3,697

Python for network engineers

5.0(3)

By Systems & Network Training

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.

Python for network engineers
Delivered in Internationally or OnlineFlexible Dates
£3,697

Software development fundamentals

5.0(3)

By Systems & Network Training

Software development training course description This three-day MTA Training course helps you prepare for Microsoft Technology Associate Exam 98-361, and build an understanding of these topics: Core programming, Object-Oriented programming, general software development, web applications, desktop applications, and databases. This course leverages the same content as found in the Microsoft Official Academic Course (MOAC) for this exam. What will you learn Describe core programming. Explain Object Oriented programming. Describe general software development. Describe Web applications. Describe desktop applications. Explain how databases work. Software development training course details Who will benefit: Anyone looking to learn the fundamentals of software. Prerequisites: None. Duration 3 days Software development training course contents Core programming Computer storage and data types How a computer stores programs and the instructions in computer memory, memory stacks and heaps, memory size requirements for the various data storage types, numeric data and textual data. Computer decision structures Various decision structures used in all computer programming languages; If decision structures; multiple decision structures, such as If…Else and switch/Select Case; reading flowcharts; decision tables; evaluating expressions. Handling repetition For loops, While loops, Do...While loops and recursion. Understand error handling Structured exception handling. Object-oriented programming Classes Properties, methods, events and constructors; how to create a class; how to use classes in code. Inheritance Inheriting the functionality of a base class into a derived class. Polymorphism Extending the functionality in a class after inheriting from a base class, overriding methods in the derived class. Encapsulation Creating classes that hide their implementation details while still allowing access to the required functionality through the interface, access modifiers. General software development Application life cycle management Phases of application life cycle management, software testing. Interpret application specifications Application specifications, translating them into prototypes, code, select appropriate application type and components. Algorithms and data structures Arrays, stacks, queues, linked lists and sorting algorithms; performance implications of various data structures; choosing the right data structure. Web applications Web page development HTML, CSS, JavaScript. ASP.NET web application development Page life cycle, event model, state management, client-side versus server-side programming. Web hosting Creating virtual directories and websites, deploying web applications, understanding the role of Internet Information Services. Web services Web services that will be consumed by client applications, accessing web services from a client application, SOAP, WSDL. Desktop applications Windows apps UI design guideline categories, characteristics and capabilities of Store Apps, identify gestures. Console-based applications Characteristics and capabilities of console- based applications. Windows Services Characteristics and capabilities of Windows Services. Databases Relational database management systems Characteristics and capabilities of database products, database design, ERDs, normalisation concepts. Database query methods SQL, creating and accessing stored procedures, updating and selecting data. Database connection methods Connecting to various types of data stores, such as flat file; XML file; in-memory object; resource optimisation.

Software development fundamentals
Delivered in Internationally or OnlineFlexible Dates
£2,367

Complete JavaScript

5.0(3)

By Systems & Network Training

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.

Complete JavaScript
Delivered in Internationally or OnlineFlexible Dates
£2,367

Business Process Modeling: In-House Training

By IIL Europe Ltd

Business Process Modeling: In-House Training This course is part of IIL's Business Analysis Certificate Program (BACP), a program designed to help prepare individuals pass the IIBA® Certification exam to become a Certified Business Analysis Professional (CBAP®). Learn more at www.iil.com/bacp A process model is a description of a process in terms of its steps or actions, the data flowing between them and participants in the process, machines, systems, and organizations involved. Modeling is a critical business analysis skill. It applies graphical and text communication techniques to describe the actions, objects, and relationships acted upon in the process and the steps that act upon them. This course teaches the technique of process modeling and ties together the core methods of process, behavior, and data modeling to enable business analysts to fully describe business processes in levels of detail from multiple perspectives. What you will Learn Upon completion, participants will be able to: Identify business processes and their components Work with UML diagrams Use process modeling in business diagramming Diagram and model business processes Foundation Concepts The role of the business analyst The IIBA® BABOK® Knowledge Areas Business Process Modeling (BPM) and the business analyst A practical approach to business process modeling The Context for Modeling Business Processes Overview of context for business process modeling Analyzing stakeholder information Modeling best practices Critical inputs for BPM: Business Rules Critical inputs for BPM: Context Diagrams Data Models Overview of data modeling Entity relationship diagrams Object-oriented approach Class diagrams Other data models Process Models - Part I (Non-UML) Overview of process modeling Data flow diagrams Workflow diagrams Flowcharts Process Models - Part II (UML) Overview of UML Process Models UML Activity Diagrams UML Sequence Diagrams Usage Models - Part I (Non-UML) Overview of usage modeling Prototyping options Static prototyping and storyboards Dynamic prototyping User Interface Design and user stories Usage Models - Part II (UML Use Cases) Overview of Use Cases Use Case diagrams Use Case descriptions Use Cases and the product life cycle Integrating the Models Overview of integrating the models General analysis best practices Specific analysis techniques summary Best practices for transition to design Summary and Next Steps What did we learn and how can we implement this in our work environments?

Business Process Modeling: In-House Training
Delivered in London or UK Wide or OnlineFlexible Dates
£1,695

Use Cases for Business Analysis: In-House Training

By IIL Europe Ltd

Use Cases for Business Analysis: In-House Training The use case is a method for documenting the interactions between the user of a system and the system itself. Use cases have been in the software development lexicon for over twenty years, ever since it was introduced by Ivar Jacobson in the late 1980s. They were originally intended as aids to software design in object-oriented approaches. However, the method is now used throughout the Solution Development Life Cycle from elicitation through to specifying test cases, and is even applied to software development that is not object oriented. This course identifies how business analysts can apply use cases to the processes of defining the problem domain through elicitation, analyzing the problem, defining the solution, and confirming the validity and usability of the solution. What you will Learn You'll learn how to: Apply the use case method to define the problem domain and discover the conditions that need improvement in a business process Employ use cases in the analysis of requirements and information to create a solution to the business problem Translate use cases into requirements Getting Started Introductions Course structure Course goals and objectives Foundation Concepts Overview of use case modeling What is a use case model? The 'how and why' of use cases When to perform use case modeling Where use cases fit into the solution life cycle Use cases in the problem domain Use cases in the solution domain Use case strengths and weaknesses Use case variations Use case driven development Use case lexicon Use cases Actors and roles Associations Goals Boundaries Use cases though the life cycle Use cases in the life cycle Managing requirements with use cases The life cycle is use case driven Elicitation with Use Cases Overview of the basic mechanics and vocabulary of use cases Apply methods of use case elicitation to define the problem domain, or 'as is' process Use case diagrams Why diagram? Partitioning the domain Use case diagramming guidelines How to employ use case diagrams in elicitation Guidelines for use case elicitation sessions Eliciting the problem domain Use case descriptions Use case generic description template Alternative templates Elements Pre and post conditions Main Success Scenario The conversation Alternate paths Exception paths Writing good use case descriptions Eliciting the detailed workflow with use case descriptions Additional information about use cases Analyzing Requirements with Use Cases Use case analysis on existing requirements Confirming and validating requirements with use cases Confirming and validating information with use cases Defining the actors and use cases in a set of requirements Creating the scenarios Essential (requirements) use case Use case level of detail Use Case Analysis Techniques Generalization and Specialization When to use generalization or specialization Generalization and specialization of actors Generalization and specialization of use cases Examples Associating generalizations Subtleties and guidelines Use Case Extensions The <> association The <> association Applying the extensions Incorporating extension points into use case descriptions Why use these extensions? Extensions or separate use cases Guidelines for extensions Applying use case extensions Patterns and anomalies o Redundant actors Linking hierarchies Granularity issues Non-user interface use cases Quality considerations Use case modeling errors to avoid Evaluating use case descriptions Use case quality checklist Relationship between Use Cases and Business Requirements Creating a Requirements Specification from Use Cases Flowing the conversation into requirements Mapping to functional specifications Adding non-functional requirements Relating use cases to other artifacts Wire diagrams and user interface specifications Tying use cases to test cases and scenarios Project plans and project schedules Relationship between Use Cases and Functional Specifications System use cases Reviewing business use cases Balancing use cases Use case realizations Expanding and explaining complexity Activity diagrams State Machine diagrams Sequence diagrams Activity Diagrams Applying what we know Extension points Use case chaining Identifying decision points Use Case Good Practices The documentation trail for use cases Use case re-use Use case checklist Summary What did we learn, and how can we implement this in our work environment?

Use Cases for Business Analysis: In-House Training
Delivered in London or UK Wide or OnlineFlexible Dates
£1,495

Regular expressions for engineers

5.0(3)

By Systems & Network Training

Regular expressions training course description Regular expressions are an extremely powerful tool for manipulating text and data. They are now standard features in a wide range of languages and popular tools, including Python and MySQL. Regular expressions allow you to code complex and subtle text processing that you never imagined could be automated. Once you've mastered regular expressions, they'll become an invaluable part of your toolkit. You will wonder how you ever got by without them. What will you learn Use Regular Expressions. Troubleshoot Regular Expressions. Compare RE features among different versions. Explain how the regular expression engine works. Optimize REs. Match what you want, not what you don't want. Regular expressions training course details Who will benefit: Anyone looking to use regular expressions. Prerequisites: None. Duration 1 day Regular expressions training course contents Introduction to Regular Expressions Solving real problems, REs as a language, the filename analogy, language analogy, RE frame of mind, searching text files: egrep, egrep metacharacters, start and end of the line, character classes, matching any character with dot, alternation, ignoring differences in capitalization, word boundaries, optional items, other quantifiers: repetition, parentheses and backreferences, the great escape, expanding the foundation, linguistic diversification, the goal of a RE, more examples, RE nomenclature, Improving on the status quo. Extended introductory examples A short introduction to Perl, matching text with regular expressions, toward a more real-world example, side effects of a successful match, Intertwined regular expression, intermission, modifying text with regular expressions, example: form letter, example: prettifying a stock price, automated editing, a small mail utility, adding commas to a number with lookaround, text-to-HTML conversion, that doubled-word thing. Regular expression features and flavours The regex landscape, origins of REs, care and handling of REs, Integrated handling, procedural and object-oriented handling, search-and-replace example. strings character encodings and modes, strings as REs, character-encoding issues, unicode, regex modes and match modes, common metacharacters and features, character representations, character classes and class-like constructs, anchors and other 'zero-width assertions', comments and mode modifiers, grouping capturing conditionals and control. The mechanics of expression processing Two kinds of engines, new standards, regex engine types, from the department of redundancy department, testing the engine type, match basics, about the examples, rule 1: the match that begins earliest wins, engine pieces and parts, rule 2: the standard quantifiers are greedy, regex-directed versus text-directed, NFA engine: regex-directed, DFA engine: text-directed, first thoughts: NFA and DFA in comparison, backtracking, two important points on backtracking, saved states, backtracking and greediness, more about greediness and backtracking, problems of greediness, multi-character 'quotes', lazy quantifiers, greediness and laziness, laziness and backtracking, possessive quantifiers and atomic grouping, possessive quantifiers ?, +, *+, ++ and {m,n}+, the backtracking of lookaround, is alternation greedy? taking advantage of ordered alternation, NFA DFA and posix, the longest-leftmost', posix and the longest-leftmost rule, speed and efficiency. Practical regex techniques Continuation lines, matching an IP address, working with filenames, matching balanced sets of parentheses, watching out for unwanted matches, matching delimited text, knowing your data and making assumptions, stripping leading and trailing whitespace, matching and HTML tag, matching an HTML link, examining an HTTP URL, validating a hostname, plucking a hostname, plucking a URL, parsing CSV files. Crafting an efficient expression Efficiency vs. correctness, localizing greediness, global view of backtracking, more work for POSIX NFA, work required during a non-match, being more specific, alternation can be expensive, benchmarking, know what you re measuring, benchmarking with Python, common optimisations, the mechanics of regex application, pre-application optimizations, optimizations with the transmission, optimization of the regex itself, techniques for faster expressions, common sense techniques, expose literal text, expose anchors, lazy versus greedy: be specific, split into multiple REs, mimic initial-character discrimination, use atomic grouping and possessive quantifiers, lead the engine to a match, unrolling the loop, observations, using atomic grouping and possessive quantifiers, short unrolling examples, unrolling C comments, the free flowing regex, a helping hand to guide the match, a well-guided regex is a fast regex.

Regular expressions for engineers
Delivered in Internationally or OnlineFlexible Dates
£967