Duration 5 Days 30 CPD hours This course is intended for This introductory-level Python course is geared for experienced users who want to use Python in web development projects, or system administrators and web site administrators who want to use Python to support their server installations, as well as anyone else who wants to automate or simplify common tasks with the use of Python scripts. Basic familiarity with any programming or scripting language would be helpful, along with a working, user-level knowledge of Unix/Linux, Mac, or Windows. Overview This course is approximately 50% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Throughout the hands-on course students, will learn to write essential Python scripts using the most current and efficient skills and techniques. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Create working Python scripts following best practices Use python data types appropriately Read and write files with both text and binary data Search and replace text with regular expressions Get familiar with the standard library and its work-saving modules Use lesser known but powerful Python data types Create 'real-world', professional Python applications Work with dates, times, and calendars Know when to use collections such as lists, dictionaries, and sets Understand Pythonic features such as comprehensions and iterators Write robust code using exception handling Mastering Python Programming is an introductory and beyond-level practical, hands-on Python training course that leads the student from the basics of writing and running Python scripts to more advanced features such as file operations, regular expressions, working with binary data, and using the extensive functionality of Python modules. Extra emphasis is placed on features unique to Python, such as tuples, array slices, and output formatting. This comprehensive, practical course provides an in-depth exploration of working with the programming language, not an academic overview of syntax and grammar. Students will immediately be able to use Python to complete tasks in the real world. An overview of Python What is python? Python Timeline Advantages/Disadvantages of Python Getting help with pydoc The Python Environment Starting Python Using the interpreter Running a Python script Python scripts on Unix/Windows Editors and IDEs Getting Started Using variables Builtin functions Strings Numbers Converting among types Writing to the screen Command line parameters Flow Control About flow control White space Conditional expressions Relational and Boolean operators While loops Alternate loop exits Array types About array types (AKA sequences) Lists and list methods Tuples Indexing and slicing Iterating through a sequence Nested sequences Sequence functions, keywords, and operators List comprehensions Generator Expressions Working with files File overview Opening a text file Reading a text file Writing to a text file Reading and writing raw (binary) data Converting binary data with struct Dictionaries and Sets About dictionaries Creating dictionaries Iterating through a dictionary About sets Creating sets Working with sets Functions Defining functions Parameters Global and local scope Nested functions Returning values Sorting The sorted() function Alternate keys Lambda functions Sorting collections Using operator.itemgetter() Reverse sorting Errors and Exception Handling Syntax errors Exceptions Using try/catch/else/finally Handling multiple exceptions Ignoring exceptions Modules and Packages The import statement Module search path Creating Modules Using packages Function and Module aliases An Introduction to Python Classes About o-o programming Defining classes Constructors Methods Instance data Properties Class methods and data Regular Expressions RE syntax overview RE Objects Searching and matching Compilation flags Groups and special groups Replacing text Splitting strings Using the Standard Library The sys module Launching external programs Math functions Random numbers Reading CSV data Dates and Times Working with dates and times Translating timestamps Parsing dates from text Formatting dates Calendar data Working with the File System Paths, directories, and filenames Checking for existence Permissions and other file attributes Walking directory trees Creating filters with fileinput Using shutil for file operations Advanced Data Handling Defaultdict and Counter Prettyprinting data structures Compressed archives (zip, gzip, tar, etc.) Persistent data Network Programming Using requests Grabbing web content Sending email Using SSH for remote access Using FTP Writing real-life applications Reading input files a la Unix Parsing command-line options Detecting the current platform Implementing logging Additional course details: Nexus Humans Mastering Python Programming (TTPS4820) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Mastering Python Programming (TTPS4820) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 5 Days 30 CPD hours This course is intended for This is an introductory- level Java programming course, designed for experienced developers who wish to get up and running with JEE, or who need to reinforce sound Java for Web / JEE coding practices. Attendees should have a working knowledge of developing basic Java software applications. Overview Students who attend Mastering JEE Web Application Development will leave the course armed with the required skills to design and build scalable, secure, maintainable web applications - leveraging our extensive experience in the delivery of scalable enterprise applications with complex web interfaces based on JEE technologies. Throughout this training, you will be confronted with common web application design problems and given the tools you will need to solve them, such as JEE design patterns. You will also be exposed to a range of JEE and web technologies such as Servlets, JSPs, JSF, JNDI, CDI and advice on when and how to use them. Students will also learn about the capabilities of servlets, their advantages, servlet architecture, and session management. Developers will also learn about managing resources, deployment, and application models, how to use custom tags, and how to build robust and capable web applications using servlets and other components. The course begins with a discussion of web application architecture. A major part of the course is spent on the various web components that are used to implement dynamic web applications. Students will learn not only specific topics and APIs but also how to fit the pieces together into a complete application. Working within in an engaging, hands-on learning environment, guided by our expert team, attendees will learn to: Design and build web applications from both business and technical requirements Build web interfaces with JSF, JSPs and Servlets, using the latest technologies in JEE. Write maintainable web applications that separate HTML and Java Understand the design and development of web applications using Servlets, JSPs, web fragments, and JSF Work JEE's version of dependency injection (CDI) Make Servlets cooperate and share data Store and process session information Deal with concurrency issues Access databases with JPA Work with annotations included in JEE Work with WebSockets as well as asynchronous servlets Use Java Bean validation in a web application Properly handle various types of exceptions This course is for experienced Java developers who are new to JEE and need to get up and running with essential dynamic web development skills. You will gain core JEE knowledge and skills that can be used as the foundation for developing production-quality web applications to a basic level. Developing Java EE applications Enterprise Development Java EE Core Components JEE Dynamic Web Applications Introduction to Servlets Form processing using Servlets Java Server Pages Implementing MVC in JEE Session Management JEE Servlet Filters and Listeners Servlet Filters Expression Language 3.0 (EL) Overview of EL The EL language Custom Tags Introduction to Custom Tags The Java Standard Tag Library Contexts and Dependency Injection (CDI) Introduction to CDI Using CDI CDI and Java EE Using Resources JEE DataSources Overview of JPA Java API for WebSocket Introduction to WebSocket Implementing WebSocket Endpoint Extending WebSockets Java Bean Validation (JSR 349) Introduction to Bean Validation Bean Validation Managing Web Applications Web Fragments Error Handling Asynchronous Servlets Web Security Introduction to Java Server Faces Introduction to JSF JSF Components Facelets Facelets Facelets Templating and Resources Additional course details: Nexus Humans Mastering JEE Web Development (TT5100) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Mastering JEE Web Development (TT5100) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 5 Days 30 CPD hours This course is intended for In order to be successful in this class, incoming attendees are required to have current, hands-on experience in developing basic web applications, and be versed in HTML5, CSS3 and JavaScript. This is an intermediate level web development class, designed for experienced web developers, new to Angular, that need to further extend their skills in modern web development. Overview At the end of this five-day course, students will have an application up and running that incorporates components, directives, custom pipes, reactive forms, routes, services, unit testing, and the REST API. They will add authentication, implement the Material library, and learn how to maintain state with NgRX. They will then take a deeper dive including making their own custom directives, lazy loading modules, and E2E testing. They will learn how to enhance their application with animations and create their own Angular library. Working within in an engaging, hands-on learning environment, guided by our expert team, attendees will learn explore: What Angular is and why should you use it How Angular reduces the amount of code that you must write to add rich functionality to both existing and new web pages What TypeScript is, why it is useful, and how to use it with Angular How to facilitate development and deployment using Angular CLI How to work with the various aspects of the Angular architecture to implement clean, responsive web interfaces How Routers can support navigation within a Single Page Application What the best practices are for using Angular so that it works unobtrusively and performs well How to use Angular with HTTP to support JSON, REST, and other services Working with the Ahead of Time compiler including its impact of developers and the development process How to defend against DOM-based XSS How to manage routing decisions based on pre-defined criteria such as a successful authentication How to meet huge data requirements by processing asynchronous data streams with RxJS Simplify server-side rendering How to facilitate unit testing Enhance an Angular user interface with animations and other advanced features Optimize Angular applications with various tools and techniques Maintain state within an Angular application What Angular 9 brings to the table and its relationship to Angular 8 Mastering Angular is a five-day, hands-on course that thoroughly explores the latest Angular features and advances, demonstrating how to solve the traditional challenges of JavaScript web application development. Throughout the course students will build custom components using application routes, form validation, and unit-testing. The course starts with an introduction of Angular CLI and TypeScript, and then delves into component-driven development with Angular components, covering data-binding, directives, services, routing, HTTP, the RxJS library, forms unit testing, and REST. Students will also learn how to add authentication, use the Material library, learn the NgRX design pattern to implement the NgRX store, make custom directives, enhance their application with animations, write an E2E test, and increase their application's efficiency by lazy loading modules and creating their own Angular library Angular Overview Overview of Angular Architecture Getting Started with Angular Getting Started with TypeScript Bootstrapping with Angular CLI Angular Project Structure Working with Angular Components and Events Third Party Libraries Dynamic Views Pipes Angular Forms Forms and the Forms API Single Page Applications and Routes Single Page Applications Services and Dependency Injection Modules Using RESTful Services Overview of REST Angular and REST Angular Best Practices Angular Style Guide What is New in Angular 9 Reactive Programming in Angular Working with RxJS Security and Authentication DomSanitizer JSON Web Tokens Route Guards Enhancing the Angular App Angular Animations Angular Material Angular Elements Deep Dive into Angular Testing and Angular Deep Dive into Components and Directives Deep Dive into Services and Dependency Injection Optimizing for the Enterprise Lazy Loading Optimizing with Universal Creating Your Own Angular Library Maintain State with NgRX NgRX Store Lesson: ES6+ Sass and SCSS for Angular and Material
Design your dream life with this free masterclass from Happiness Club. Using the Wheel of Life you can review where you are in your life now, compared to where you want to be. This masterclass will help you design your ideal life and start setting achievable goals to bring it to reality.
Duration 5 Days 30 CPD hours This course is intended for This introductory-level, fast-paced course is for skilled web developers new to React who have prior experienced working HTML5, CSS3 and JavaScript. Overview Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn about and explore: A basic and advanced understanding of React components An advanced, in-depth knowledge of how React works A complete understanding of using Redux How to build, validate, and populate interactive forms How to use inline styles for perfect looking components How to test React components How to build and use components How to get control of your build process A deep understanding of data-driven modeling with props and state How to use client-side routing for pages in your apps How to debug a React application Mastering React is a comprehensive hands-on course that aims to be the single most useful resource on getting up to speed quickly with React. Geared for more experienced web developers new to React, this course provides students with the core knowledge and hands-on skills they require to build reliable, powerful React apps. After the first few modules, you?ll have a solid understanding of React?s fundamentals and will be able to build a wide array of rich, interactive web apps with the framework. The first module is an introduction to the new functionality in ECMAScript 6 (JavaScript). Client-side routing between pages, managing complex state, and heavy API interaction at scale are also covered. This course consists of two parts. In the first part of the course students will explore all the fundamentals with a progressive, example-driven approach. You?ll create your first apps, learn how to write components, start handling user interaction, and manage rich forms. We end the first part by exploring the inner workings of Create React App (Facebook?s tool for running React apps), writing automated unit tests, and building a multi-page app that uses client-side routing. The latter part of the course moves into more advanced concepts that you?ll see used in large, production applications. These concepts explore strategies for data architecture, transport, and management: Redux is a state management paradigm based on the Flux architecture. Redux provides a structure for large state trees and allows you to decouple user interaction in your app from state changes. GraphQL is a powerful, typed, REST API alternative where the client describes the data it needs. Hooks is the powerful, new way to maintain state and properties with functional components and the future of React according to Facebook. ES6 Primer (Optional) Prefer const and let over var Arrow functions Modules Object.assign() Template literals The spread operator and Rest parameters Enhanced object literals Default arguments Destructuring assignments Your first React Web Application Setting up your development environment JavaScript ES6 /ES7 Getting started What?s a component? Our first component Building the App Making the App data-driven Your app?s first interaction Updating state and immutability Refactoring with the Babel plugin transform-class-properties JSX and the Virtual DOM React Uses a Virtual DOM Why Not Modify the Actual DOM? What is a Virtual DOM? Virtual DOM Pieces ReactElement JSX JSX Creates Elements JSX Attribute Expressions JSX Conditional Child Expressions JSX Boolean Attributes JSX Comments JSX Spread Syntax JSX Gotchas JSX Summary Components A time-logging app Getting started Breaking the app into components The steps for building React apps from scratch Updating timers Deleting timers Adding timing functionality Add start and stop functionality Methodology review Advanced Component Configuration with props, state, and children ReactComponent props are the parameters PropTypes Default props with getDefaultProps() context state Stateless Components Talking to Children Components with props.children Forms Forms 101 Text Input Remote Data Async Persistence Redux Form Modules Unit Testing & Jest Writing tests without a framework What is Jest? Using Jest Testing strategies for React applications Testing a basic React component with Enzyme Writing tests for the food lookup app Writing FoodSearch.test.js Routing What?s in a URL? React Router?s core components Building the components of react-router Dynamic routing with React Router Supporting authenticated routes Intro to Flux and Redux Why Flux? Flux is a Design Pattern Flux implementations Redux & Redux?s key ideas Building a counter The core of Redux The beginnings of a chat app Building the reducer() Subscribing to the store Connecting Redux to React Intermediate Redux Using createStore() from the redux library Representing messages as objects in state Introducing threads Adding the ThreadTabs component Supporting threads in the reducer Adding the action OPEN_THREAD Breaking up the reducer function Adding messagesReducer() Defining the initial state in the reducers Using combineReducers() from redux React Hooks Motivation behind Hooks How Hooks Map to Component Classes Using Hooks Requires react 'next' useState() Hook Example useEffect() Hook Example useContext() Hook Example Using Custom Hooks Using Webpack with Create React App JavaScript modules Create React App Exploring Create React App Webpack basics Making modifications Hot reloading; Auto-reloading Creating a production build Ejecting Using Create React App with an API server When to use Webpack/Create React App Using GraphQL Your First GraphQL Query GraphQL Benefits GraphQL vs. REST GraphQL vs. SQL Relay and GraphQL Frameworks Chapter Preview Consuming GraphQL Exploring With GraphiQL GraphQL Syntax 101 . Complex Types Exploring a Graph Graph Nodes ; Viewer Graph Connections and Edges Mutations Subscriptions GraphQL With JavaScript GraphQL With React
Meetings are a traditional and essential component of local government. For both elected members and officers, meetings serve as a forum for discussion and agreement, planning and monitoring, communication and leadership, and decision-making. Used appropriately, meetings can challenge, inspire, illuminate and inform. And while they are not the only meetings that elected members will be asked to attend, committee meetings, in particular, are a mainstay of the political management process. Effective chairing is important because it can provide clear leadership and direction, ensure that debates are focused and balanced, enable decisions to be reached and ensure that resources are used to best effect. This two-hour 'masterclass'-style workshop will help elected members to understand their role, offer some approaches and ideas that will help to tackle typical challenges, and help to generally improve their effectiveness as a chair. To understand the skills and qualities of a good chair To learn ideas and approaches for chairing a successful meeting that is on time and achieves its outcomes To understand the protocols and boundaries for appropriate meeting etiquette and the chair's role in managing this effectively To appreciate how to manage yourself and others appropriately To take away personal actions to apply to your role 1 Welcome and introductions Objectives What's the challenge for you? 2 We can't go on meeting like this Common meeting challenges for chairs and why they succeed or fail Consequences and impact for the Council What's the context? 3 Roles and responsibilities of an effective chair Activities and input that explore the role, skills and qualities needed Role of the chair: what is it and how to do it well 4 Chairing for success - ideas and approaches to meet the challenges Managing time and boundaries Preparation and planning Creating the right environment Self-management Challenging personalities and good meeting behaviour 5 Final plenary session What's your plan? Take away actions
Masterclasses? Refreshers? Introductions? It depends what you're looking for and where you want to pitch them, but here are six tried-and-tested highly focused sessions that organisations can take individually or as a series, to help develop their teams' project management capabilities one topic at a time. Objectives for each individual session are set out below, as part of the session outlines. Taken together, as a series, however, these modules are an ideal opportunity to develop your team's levels of project management capability maturity, whether that's by introducing them to the basic principles, refreshing them on best practice, or giving them the opportunity to really drill down into a specific area of challenge in your particular operating environment. Session outlines 1 Stakeholder management Session objectives This session will help participants: Understand why stakeholders matter to projects Be able to identify and engage stakeholders Be able to categorise stakeholders by their significance 1 Key principles What does 'stakeholder' mean - in theory? What does this mean in practice? Why stakeholders matter Consequences of missing stakeholders The stakeholder management process:IdentifyAssessPlanEngage 2 Identifying stakeholders Rapid listing CPIG analysis PESTLE analysis Drawing on the knowledge and experience of others Other ways to identify stakeholders 3 Assessing stakeholders Which stakeholders are significant? Stakeholder radar Power-interest maps Power-attitude maps 4 Planning The adoption curve Dealing with obstacles Who should engage which stakeholder? How should the project's organisation be structured? How will communication happen? 5 Engaging Seven principles of stakeholder engagement 2 Requirements and prioritisation Session objectives This session will help participants: Understand how clarity of requirements contributes to project success Use different techniques for prioritising requirements Agree requirements with stakeholders Manage changes to requirements 1 Understanding and managing stakeholder needs and expectations What are 'requirements'? What is 'requirements management'? Sources of requirements - and the role of stakeholders Are stakeholders sufficiently expert to specify their needs? Do they understand the detail of what they want, or do they need help to tease that out? What do stakeholders want to achieve? Working within constraints Prioritising requirements - three techniques 2 MoSCoW prioritisation 'Must have', should have', 'could have, 'won't have this time' When to use MoSCoW 3 The Kano Model Customer satisfaction - 'attractive' and 'must-be' qualities When to use Kano 4 Value-based prioritisation Understanding risk v value Using risk v value to prioritise features and schedules 5 Agreeing requirements Perfect v 'good enough' Establishing acceptance criteria Requirements traceability Agreeing project scope 6 Changing requirements Why requirements change Why change control matters Impact on projects A formal change control process Paying for change - managing change for different types of project 3 Estimating Session objectives This session will help participants: Understand the different purposes estimates satisfy Be able to use different estimating techniques Understand how to achieve different levels of accuracy 1 Key principles What's an estimate? Informed guesswork What needs to be estimated? Costs, resources, effort, duration Tolerances Precision v accuracy 2 Estimating through the lifecycle Start Plan Do 3 Early estimates Comparative ('analogous') estimating Parametric estimating Using multiple estimating techniques 4 Bottom-up estimating Bottom-up ('analytical') estimating Pros Cons 5 Three-point estimating Three-point ('PERT': Programme Evaluation and Review Technique) estimating Uncertainty and the range of estimates Calculating a weighted average Three-point with bottom-up 4 Scheduling Session objectives This session will help participants: Understand how to create a viable schedule Be able to use different forms of schedule Understand the concept of the critical path 1 Key principles The planning horizon Rolling wave planning Release planning 2 Viable scheduling Creating a viable schedule Define the scope Sequence the work Identify the risks and build in mitigations Identify the resources Estimate the effort and durations Check resource availability Refine until a workable schedule is produced 3 Critical path analysis The critical path Network diagrams Sequence logic Practical application:Network diagram with estimated durationsThe 'forward pass'The 'backward pass'Calculating total floatIdentifying the critical pathCalculating free float Gantt charts 5 Risk and issue management Session objectives This session will help participants: Understand the difference between risks and issues Be able to identify and assess risks Understand ways of mitigating risks Manage issues 1 Key principles Understanding risk Threats and opportunities The risk management processPreparation - proactive risk managementThe process - identify, assess, plan, implementStakeholder communication Roles and responsibilities Risk management strategy The risk register Risk appetite 2 Risk identification Brainstorming Interviews Assumption analysis Checklists 3 Risk assessment and prioritisation Probability, impact and proximity Triggers Qualitative risk assessment Qualitative impact assessment Qualitative probability assessment Probability / impact grid Bubble charts Risk tolerance 4 Planning countermeasures To mitigate or not to mitigate? Categories of risk response Avoid and exploit Reduce and enhance Transfer Share Accept Contingency Secondary risks 5 Issue management What is an issue? Tolerances Issues and tolerances The PRINCE2 view of issues Ownership of issues An issue management process Issue register 6 Budgeting and cost control Session objectives This session will help participants: Understand what to include in a budget - and why Choose - and use - the appropriate estimating technique Align the budget with the schedule Understand how to monitor spend and control costs Trouble-shoot effectively to get projects back within budget Session format Flexible. The session can be tailored to the participants' average level of project management maturity - a 60-minute session (delivered virtually) is an effective introduction. A 90-minute session allows for more in-depth treatment. A half-day session (face-to-face or virtual) gives time for a more challenging workshop, particularly to discuss specific cost control issues with any of the participants' current projects. 1 Where is the money coming from? Can we pay from revenue? Do we need to borrow? How long will the project take to pay back? The lifecycle of the budget Through-life costs Stakeholder involvement 2 Estimating costs Reminder: the relationship between estimates Reminder: possible estimating techniques What do we need to estimate?PeopleEquipmentMaterialsFacilities and operating costsWork package estimateEstimated project costs Estimating agile projects 3 Aligning budget and schedule Scheduling and financial periods Spreading the budget 4 Reserves and agreeing the budget Contingency reserve Management reserve Agreeing the budget 5 Cost control Planned spend over time Actual spend over time Work completed over time Evaluating different scenarios: delivery v spend 6 Trouble-shooting Why are we where we are? What has caused the project to spend at the rate it is? Why is it delivering at the rate it is? What are the root causes? What can we do about it?