Duration 5 Days 30 CPD hours This course is intended for This is a basic-level programming course designed for attendees with prior development experience in another language, such as COBOL, 4GL, Mainframe or other non-object oriented languages. This course is not geared for non-developers. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in core OO coding and Java development skills, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working within in a hands-on learning environment, guided by our expert team, attendees will learn to: Understand what OO programming is and what the advantages of OO are in today's world Work with objects, classes, and OO implementations Understand the basic concepts of OO such as encapsulation, inheritance, polymorphism, and abstraction Understand not only the fundamentals of the Java language, but also its importance, uses, strengths and weaknesses Understand the basics of the Java language and how it relates to OO programming and the Object Model Work with the Modular system (Project Jigsaw) Understand and use classes, inheritance and polymorphism Understand and use collections, generics, autoboxing, and enumerations Process large amount of data using Lambda expressions and the Stream API Abstract, static and private methods in interfaces Take advantage of the Java tooling that is available with the programming environment being used in the class Java 11 features covered: Using the Local Variable Type in Lambda expressions; Updates made to the String API This course provides hands-on Java 11 training for developers who have little or no prior working knowledge of object-oriented programming languages such as C, COBOL, and 4GL. You will learn the best practices for writing great object-oriented programs in Java 11, using sound development techniques, new improved features for better performance, and new capabilities for addressing rapid application development. Special emphasis is placed on object oriented concepts and best practices. A First Look The Java Platform Using the JDK The Eclipse Paradigm Getting Started with Java Writing a Simple Class Adding Methods to the Class OO Concepts Object-Oriented Programming Inheritance, Abstraction, and Polymorphism Essential Java Programming Language Statements Using Strings Specializing in a Subclass Fields and Variables Using Arrays Local-Variable Type Inference Java Packages and Visibility Object Oriented Development Inheritance and Polymorphism Interfaces and Abstract Classes Introduction to Exception Handling Exceptions Java Developer's Toolboxÿ Utility Classes Java Date/Time Advanced Java Programming Introduction to Generics Lambda Expressions and Functional Interface Working with Collections Collections Using Collections Stream APIÿ Streams Collectors The Java Module System Introduction to the Module System Time Permitting Formatting Strings Introduction to Annotations Java 12 and beyond Additional course details: Nexus Humans Basic Java 11 and OO Programming for Developers New to OO (TT2120-J11) 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 Basic Java 11 and OO Programming for Developers New to OO (TT2120-J11) 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 4 Days 24 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 Java, or who need to reinforce sound Java coding practices, immediately. Overview Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Understand not only the fundamentals of the Java language, but also its importance, uses, strengths and weaknesses Understand the basics of the Java language and how it relates to OO programming and the Object Model Learn to use Java exception handling features Work with the Modular system (Project Jigsaw) Understand and use classes, inheritance and polymorphism Understand and use collections, generics, autoboxing, and enumerations Process large amount of data using Lambda expressions and the Stream API Abstract, static and private methods in interfaces Take advantage of the Java tooling that is available with the programming environment being used in the class Specific Java 11 features covered: Using the Local Variable Type in Lambda expressions; Updates made to the String AP Time Permitting: Quick look ahead - Java 12, Java 13, Java 14 and Beyond If you're an experienced OO developer (coming from a C# or C++ background, etc.) who needs to transition to programming in Java, this fast-paced, hands-on course will get you there quickly. Fast Track to Java Programming for OO Experienced Developers is a four-day, lab-intensive class where you'll quickly be immersed in working with the latest Java 11 programming techniques, using best practices for writing solid, robust (and well-written!) modern object-oriented applications. In addition to learning excellent, current coding skills in Java, you'll explore the new improved features for better performance and new capabilities for addressing rapid application development that Java 11 brings to the table. This course includes several key aspects that were introduced in Java 9, Java 10, and Java 11 including the Java Modular System, Local Variable Type Inference, and several API updates. This course also includes a Quick Look at what?s next in Java ? Java 12, Java 13, Java 14 and beyond. The Java Platform Java Platforms Lifecycle of a Java Program Responsibilities of JVM Documentation and Code Reuse Using the JDK Setting Up Environment Locating Class Files Compiling Package Classes Source and Class Files Java Applications The Eclipse Paradigm Workbench and Workspace Views Editors Perspectives Projects Writing a Simple Class Classes in Java Class Modifiers and Types Class Instance Variables Primitives vs. Object References Creating Objects Adding Methods to the Class Passing Parameters into Methods Returning a Value from a Method Overloaded Methods Constructors Optimizing Constructor Usage Language Statements Operators Comparison and Logical Operators Looping Continue and Break Statements The switch Statement The for-each() Loop Using Strings Create an instance of the String class Test if two strings are equal Get the length of a string Parse a string for its token components Perform a case-insensitive equality test Build up a string using StringBuffer Contrast String, StringBuffer, and StringBuilder Specializing in a Subclass Extending a Class Casting The Object Class Default Constructor Implicit Constructor Chaining Fields and Variables Instance vs. Local Variables: Usage Differences Data Types Default Values Block Scoping Rules Final and Static Fields Static Methods Using Arrays Arrays Accessing the Array Multidimensional Arrays Copying Arrays Variable Arguments Local-Variable Type Inference Type inference Infering Types of Local Variables The var Reserved Type name Benefits of Using var Backward Compatibility Java Packages and Visibility Class Location of Packages The Package Keyword Importing Classes Executing Programs Visibility in the Modular System Java Naming Conventions Inheritance and Polymorphism Polymorphism: The Subclasses Upcasting vs. Downcasting Calling Superclass Methods from Subclass The final Keyword Interfaces and Abstract Classes Separating Capability from Implementation Abstract Classes Implementing an Interface Abstract Classes vs. Interfaces Introduction to Exception Handling Exception Architecture Throwing Exceptions Checked vs. Unchecked Exceptions Exceptions Handling Multiple Exceptions Automatic Closure of Resources Creating Your Own Exceptions Utility Classes Wrapper Classes Autoboxing/Unboxing Enumeration Syntax Using Static imports Introduction to Generics Generics and Subtyping Bounded Wildcards Generic Methods Legacy Calls to Generics When Generics Should Be Used Lambda Expressions and Functional Interface Lambda Expression Syntax Functional Interfaces Type Inference in Java 8 Method references Collections Characterizing Collections Collection Interface Hierarchy The Set, List and Queue Interfaces Map Interfaces Using Collections Collection Sorting Comparators Using the Right Collection Lambda expressions in Collections Streams Processing Collections of data The Stream interface Reduction and Parallelism Filtering collection data Sorting Collection data Map collection data Find elements in Stream Numeric Streams Create infinite Streams Sources for using Streams Collectors Creating Collections from a Stream Group elements in the Stream Multi-level grouping of elements Partitioning Streams Introduction to the Module System Introduce Project Jigsaw Classpath and Encapsulation The JDK internal APIs Java 9 Platform modules Defining application modules Define module dependencies Implicit dependencies Implied Readability Exporting packages Java Date/Time The Date and Calendar classes Introduce the new Date/Time API LocalDate, LocalDateTime, etc. Formatting Dates Working with time zones Manipulate date/time values Java 12 and beyond Provide an overview of changes since Java 11 Introduce Preview Features Records (Java 14) Switch Expressions (Java 12, Java 13, Java 14) Text Blocks (Java 13, Java 14) Helpful NullPointerExceptions (Java 14) Pattern Matching for instanceof (Java 14) Additional course details: Nexus Humans Fast Track to Core Java Programming for Object Oriented Developers (TT2104-J11) 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 Fast Track to Core Java Programming for Object Oriented Developers (TT2104-J11) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 1 Days 6 CPD hours This course is intended for The content is appropriate for test automation engineering roles, test manager roles, test lead roles, test architect roles, as well as developer roles. This course assumes you have a foundational understanding of testing and the purpose of automation. This course will be beneficial to anyone who is accountable for assessing, planning, designing, and implementing an integrated set of technology (testing infrastructure) that supports development, testing, and deployment. Overview Working in an interactive learning environment, led by our expert facilitator, attendees will learn to: Document the current state of test automation in your organization Define a custom test automation plan and architecture to fit their situation Create an initial implementation plan Identify initial key measures Develop a metrics dashboard for tracking the value of test automation Lay out a future strategy and roadmap to get there Introduction to Test Automation is a one-day, hands-on event designed to provide participants with the skills required to develop a custom test automation plan and architecture for their organization. Throughout the course, students will examine and work through various practical examples, learning how to create an integrated test automation plan and develop a test automation architecture. Participants will also learn about the possible real-world challenges they may face while trying to accomplish their goals, exploring the practical positive aspects of engaging their technical team, along with the possible frustrations of experiencing too much isolation between test automators and test designers. Getting Started Automation beginnings Software as a series of imperfect translations The Compelling Business Needs for Automation Automation the next opportunity Islands of Automation Getting products to market more quickly, at the right costs and quality Automation Challenges and Requirements Automation Challenges Test Automation Key Requirements Foundational material for your automation plan Templates Questions Examples Virtual Consulting included with this course Automation plan vision and strategy Vision, Strategy, Approach Example Defining your end in mind Deciding where to start Engaging Others Conducting a current state tools inventory Assessing your current state - tools and processes Tools inventory example and template Radar Chart as a means of presenting current state information Consider the best automation approach Waterfall vs. agile cycles of work Aligning tools with your methodologies Strategies for Automating The Test Automation Pyramid Developing your test automation architecture Blocks of automation capabilities Islands of Automation Integrated Tools Architecture Template Integrated Tools Architecture Examples Test automation architecture examples Examples of different test automation architectures and frameworks Selenium Key Test Automation Architecture Characteristics Acceptance test-driven and behavior-driven testing overview Test automation approaches FitNesse Cucumber Gherkin script overview Tool workflow Considerations for what to automate and when Categories of tests that might be automated We have many tool choices Key points in Test Tool Architecture Planning Piloting and Implementing automation Selecting and evaluating tools and rolling them out Selling Automation - qualitative questions Selling Automation - quantitative questions Measuring automation benefits Measures in technical terms Measures in business terms Measures of testing vs. measures of test automation Next Steps A few keys to success
Duration 1 Days 6 CPD hours This course is intended for This overview-level course is ideally suited for professionals seeking an introduction to microservices architecture and its application within a business context. Ideal attendee roles include software developers, system architects, technical managers, and IT professionals who are part of teams transitioning to a microservices approach. It's also an excellent starting point for non-technical roles such as product owners or business analysts who work closely with technical teams and want to better understand and become conversant in the language and principles of microservices. Overview This course combines engaging instructor-led presentations and useful demonstrations with engaging group activities. Throughout the course you'll explore: Understand the Basics of Microservices: Get to know the fundamental principles and characteristics of microservices and how they revolutionize traditional software development approaches. Explore the Design of Microservices: Gain an overview of how microservices are designed based on business requirements and what makes them unique in the software architecture world. Overview of Managing and Scaling Microservices: Get an introduction to how microservices are managed and scaled independently, and understand the significance of these features in your business operations. Familiarize with the Microservices Ecosystem: Learn about the typical patterns, best practices, and common pitfalls in the microservices world, setting a foundation for future learning and implementation. Introduction to Microservices in a Business Context: Acquire a basic understanding of how microservices can be aligned with specific business capabilities, and get a glimpse into how they can coexist with legacy systems in a business setting. Microservices have rapidly emerged as a popular architectural style, breaking down applications into small, independent services that can be developed, deployed, and scaled individually. Microservices offer a robust method to address a variety of projects, such as e-commerce platforms and content management systems, enhancing scalability and boosting productivity. This technology, when employed correctly, can greatly increase software delivery speed and system resilience, making it a crucial skill set for modern technology professionals.Understanding Microservices - A Technical Overview is a one-day course ideally suited for technical professionals seeking an introduction to microservices architecture and its application within a business context. Under the guidance of an industry expert, this engaging class combines lecture-style learning with lively demonstrations, case study review and group discussions.Throughout the course you?ll explore the principles and characteristics that define microservices, how to identify suitable projects for a microservices approach, the factors to consider when designing them, and the strategies to effectively manage and scale them within complex systems. You?ll also learn about the best practices, patterns, and anti-patterns, arming you with the knowledge to make the right architectural choices. This course also explores the real-world implementation of microservices in a business enterprise. We'll discuss how to align the application of microservices with your organization's specific business capabilities, and offer strategies for smoothly integrating this technology within existing legacy systems. Introduction to Microservices Understand what microservices are and their role in modern software development. Introduction to Microservices: what they are and why they matter. Monolithic vs Microservices: highlighting the shift and benefits. Key principles and characteristics of microservices. Identifying suitable applications for microservices transformation. Demo: Analyzing a sample application and identifying potential microservices Architecting and Managing Microservices Learn the basic strategies for scaling and managing microservices. Scaling Microservices: from a single service to hundreds. Key components of a microservices architecture. Introduction to resilience patterns: Circuit-Breakers and Bulkheads. Load management and provisioning in a microservices setup. Understanding the role of cloud services in microservices. Optional Demo: Illustrating how a microservice-based application scales in real-time Designing Microservices Learn the key aspects to consider when designing microservices. Defining microservice boundaries: Deciding the scope of a microservice. Communication patterns in microservices. Understanding Microservice endpoints. Exploring data stores and transaction boundaries in microservices. Overcoming challenges in Microservices design. Demo: Designing microservices for a hypothetical business requirement Implementing Microservices in a Business Enterprise Understand the process and considerations for implementing microservices in an enterprise context. Assessing enterprise readiness for microservices. Building the business case for microservices: strategic advantages and potential challenges. Aligning microservices with business capabilities. Organizational changes: Team structures and processes for microservices. Dealing with Legacy Systems: Strategies for microservices integration. Demo: Exploring a case study of successful microservices implementation in a business enterprise The Microservices Ecosystem Understand the key tools and best practices in the Microservices ecosystem. Understanding the typical Microservices Stack. Monitoring and Logging in Microservices. Introduction to Docker: Containerization of Microservices. Deployment strategies in a Microservices setup. Introduction to Orchestration in Microservices Demo: Containerizing and deploying a simple microservice Microservices Deployment Strategies Understand various ways to safely introduce changes in a microservices environment. The concept of Blue-Green Deployment: changing services without downtime. Canary Releases and Feature Toggles: slowly rolling out changes to users. Database changes in a microservices environment: keeping data consistent. Demo: Examining various deployment strategies Microservices Best Practices and DevOps Learn key strategies to ensure a smooth operation of your microservices setup. The DevOps culture in Microservices: collaboration for efficiency. Defining a Minimum Viable Product in a Microservices setup: building small, delivering fast. Dealing with data in a distributed setup: managing Data Islands. The importance of Continuous Integration/Continuous Delivery in a microservices setup. Governance: Keeping track of your services and their consumers. Demo: Visualizing a simple continuous delivery pipeline Microservices Patterns and Anti-Patterns Learn about common do's and don'ts when working with microservices. Understanding patterns that help with efficient microservices operation. Recognizing and avoiding anti-patterns that can hinder performance. Dealing with common challenges: dependencies between services, managing service boundaries. Demo: Examples of real-world patterns and anti-patterns Simple Overview of OAuth and OpenID for Microservices Introduction to OAuth and OpenID: What they are and why they matter in Microservices. The role of tokens in OAuth 2.0: How they help in securing communications. A simplified look at OpenID Connect: Linking identities across services. Demo
Duration 2 Days 12 CPD hours This course is intended for This introduction to Spring development course requires that incoming students possess solid Java programming skills and practical hands-on Java experience. This class is geared for experienced Java developers who are new to Spring, who wish to understand how and when to use Spring in Java and JEE applications. Overview Working in a hands-on learning environment, led by our expert practitioner, students will: Explain the issues associated with complex frameworks such as JEE and how Spring addresses those issues Understand the relationships between Spring and JEE, AOP, IOC and JDBC. Write applications that take advantage of the Spring container and the declarative nature of assembling simple components into applications. Understand how to configure the Spring Boot framework Understand and work on integrating persistence into a Spring application Explain Spring's support for transactions and caching Work with Spring Boot to facilitate Spring setup and configuration Apply Aspect Oriented Programming (AOP) to Spring applications Become familiar with the conditionally loading of bean definitions and Application Contexts Understand how to leverage the power of Spring Boot Use Spring Boot to create and work with JPA repositories Introduction to Spring Boot | Spring Boot Quick Start is a hands-on Spring training course geared for experienced Java developers who need to understand what the Spring Boot is in terms of today's systems and architectures, and how to use Spring in conjunction with other technologies and frameworks. This leading-edge course provides added coverage of Spring's Aspect-Oriented Programming and the use of Spring Boot. Students will gain hands-on experience working with Spring, using Maven for project and dependancy management, and, optionally, a test-driven approach (using JUnit) to the labs in the course. The Spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion. Spring's flexibility and transparency is congruent and supportive of incremental development and testing. The framework's structure supports the layering of functionality such as persistence, transactions, view-oriented frameworks, and enterprise systems and capabilities. This course targets Spring Boot 2 , which includes full support for Java SE 11 and Java EE 8. Spring supports the use of lambda expressions and method references in many of its APIs. The Spring Framework Understand the value of Spring Explore Dependency Injection (DI) and Inversion of Control (IoC) Introduce different ways of configuring collaborators Spring as an Object Factory Initializing the Spring IoC Container Configuring Spring Managed Beans Introduce Java-based configuration The @Configuration and @Bean annotations Define bean dependencies Bootstrapping Java Config Context Injection in Configuration classes Using context Profiles Conditionally loading beans and configurations Bean Life-Cycle Methods Defining Bean dependencies Introduce Spring annotations for defining dependencies Explore the @Autowired annotation Stereotype Annotations Qualifying injection points Lifecycle annotations Using properties in Java based configuration The @Value annotation Using the Candidate Components Index Introduction to Spring Boot Introduce the basics of Spring Boot Explain auto-configuration Introduce the Spring Initializr application Bootstrapping a Spring Boot application Working with Spring Boot Provide an overview of Spring Boot Introduce starter dependencies Introduce auto-configuration @Enable... annotations Conditional configuration Spring Boot Externalized Configuration Bootstrapping Spring Boot Introduction to Aspect Oriented Programming Aspect Oriented Programming Cross Cutting Concerns Spring AOP Spring AOP in a Nutshell @AspectJ support Spring AOP advice types AspectJ pointcut designators Spring Boot Actuator Understand Spring Boot Actuators Work with predefined Actuator endpoints Enabling Actuator endpoints Securing the Actuator Developing in Spring Boot Introduce Spring Boot Devtools Enable the ConditionEvaluationReport Debugging Spring Boot applications Thymeleaf Provide a quick overview of Thymeleaf Introduce Thymeleaf templates Create and run a Spring Thymeleaf MVC application Additional course details: Nexus Humans Spring Boot Quick Start | Core Spring, Spring AOP, Spring Boot 2.0 and More (TT3322) 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 Spring Boot Quick Start | Core Spring, Spring AOP, Spring Boot 2.0 and More (TT3322) 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.
The course will be delivered through 9 online virtual classroom sessions. The 10th and last session will involve the additional practical work for the course as well as the written examination (multiple choice for City & Guilds and written for Hi-Tech Training) which will take place at our training centre at 43 North Great Georges Street, Dublin 1 (completed online for non ROI learners). During the virtual classroom sessions, trainees will have a live video feed with their instructor talking to them, doing practical live demonstrations on equipment being involved actively in the learning. We will send out a practical kit so that trainees can complete assignments and practical work at home. The kit is the property of Hi-Tech Training and will be returned to Hi-Tech Training on the last day of the course. (The kits may also be purchased by the learner….see the Kits Page Link for more details). The kit consists of power supply unit breadboard, multimeter, cables, The kit consists of breadboard, multimeter, oscilloscope, battery and connectors, components including resistors, LEDs and ICs (AND, NAND, OR, NOR, X-OR, X-NOR, Inverter, Buffer, Latches, Flip-Flops, Timers, etc). Trainees will build various projects as part of the course. The kit forms an integral part of the course, so full course fees need to be paid at least 7 days prior to course commencement to allow time to ship the kit in time for the course.
Duration 3 Days 18 CPD hours This course is intended for This is an introductory level course, designed for web developers that need to upgrade core skills leveraging modern scripting and web development languages and standards. This course provides an excellent foundation for continued learning to gain in-demand skills in in-demand skills and technologies such as Angular, React, NodeJS, JQuery and more. This course can also be tuned for non-developers. Please inquire for details. Overview This 'skills-focused' course is approximately 50% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Our instructors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working within in a hands-on learning environment guided by our expert team, attendees will explore: HTML5: How to effectively meet requirements using the full range of HTML5 semantic and structural elements To work with technologies such as web storage, application caching, and cross-domain messaging to improve performance and the user experience CSS: What features CSS3 supports and how they can be effectively used with HTML5 and other technologies To adapt to varying degrees of browser support for HTML5 and CSS3 JavaScript: What JavaScript is, how it relates to other programming languages, and how to script your web pages with it To traverse and manipulate the DOM and handle events in ways that work in all browsers To work with closures and prototypes and other exotic features of JavaScript Debugging What is needed to effectively debug these web technologies How to use both browser-based and proxy-based debuggers and tools Introduction to HTML5, CSS3 & JavaScript is geared for developers who need to understand the latest web technologies and responsive design practices central to targeting the entire spectrum of user platforms and browsers. This jumpstart style course provides a balanced mixture of theory and practical labs designed to take students through HTML5, CSS3 and JavaScript. Students who attend this course will leave this course armed with the new skills to begin to design, implement, and deploy robust, flexible, and safe web applications HTML Refresher HTML Review Introduction to HTML5 Introduction to CSS CSS Basics CSS3 Overview CSS3 Advanced Selectors CSS3 Visual Effects Introduction to JavaScript JavaScript Basics Debugging Tools JavaScript Functions JavaScript Arrays, Math and Date JavaScript Event Handling and the DOM Object-Oriented JavaScript
Duration 4 Days 24 CPD hours This course is intended for This in an intermediate level Java development course geared for students experienced with Java 8 or later programming essentials who wish to quickly get up and running with advanced Java skills. This course does not cover Java programming fundamentals. Overview Students will leave this course armed with the required skills to improve their Java applications using sound coding techniques and best practices. This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in advanced development skills, coupling the most current, effective techniques with the soundest industry practices. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Develop modular applications in Java Utilize the tooling that is provided in Java 9 to migrate, monitor and optimize applications Use the new JShell tool to quickly test java constructs Understand how the implementation of the String class has been updated to decrease the memory footprint Use the enhancements made to the Concurrency API, working with Completable Future instance of Thread pools Specific Java 9 features that are covered in the course include: The Java Module System (project Jigsaw) JShell Updated try-with-resources Performance enhancements in Java 9 Multi-Release Jar files This fast-track course is designed for experienced developers who have prior working knowledge of basic Java 8 or Java 9 and want to take advantage of the newest features of Java 9 that can help improve performance and functionality of Java 9 applications. You will gain invaluable insight into how to leverage Modules, scale applications into multi-core environments, improve performance, and become a more effective Java 9 developer. Java 9 Updates Review of What is New in Java 9 Milling Project Coin The Java Module system (Jigsaw) Why JigSaw? Introduction to the Module System The Module Descriptor Working with Modules JShell JShell More Java 9 Other New Java 9 Features Performance Optimizations Memory Management (Optional) Multithreading and Concurrency Multithreading Concurrent Java Java 8 Concurrency Updates Reflection and References Introspection and Reflection Reference Objects Effective Java Objects, Declarations, and Initializations Exceptions Writing High-Performance Applications Profiling and Benchmarking Profiling Tools Code Optimization Techniques Code Optimization Myths Design Optimization Techniques
This Digital Electronics Course is designed to give practical knowledge of the type of electronic circuitry used in a modern Computer System or in any type of Computer Controlled equipment such as Photocopiers, Cash Registers, Tablets, mobile phones and many other types of IT equipment. Digital Electronics involves the use of Silicon chips (Integrated Circuits). The internal structure of a computer is to a large extent comprised of Digital Electronic Circuits.
Duration 4 Days 24 CPD hours This course is intended for This is an intermediate-level programming course, designed for experienced .Net developers who wish to get up and running on developing well defended software applications. Real world programming experience with .Net is required. Overview Students who attend Attacking and Securing .Net Web Applications will leave the course armed with the skills required to recognize actual and potential software vulnerabilities and implement defenses for those vulnerabilities. This course begins by developing the skills required to fingerprint a web application and then scan it for vulnerabilities and bugs. Practical labs using current tools and techniques provide students with the experience needed to begin testing their own applications. Students also gain a deeper understanding of how attackers probe applications to understand the runtime environment as well as find potential weaknesses. This course the introduces developers to the most common security vulnerabilities faced by web applications today. Each vulnerability is examined from a .Net perspective through a process of describing the threat and attack mechanisms, recognizing associated vulnerabilities, and, finally, designing, implementing effective defenses. Practical labs reinforce these concepts with real vulnerabilities and attacks. Students are then challenged to design and implement the layered defenses they will need in defending their own applications. There is an emphasis on the underlying vulnerability patterns since the technologies, use cases, and methods of attack as constantly changing. The patterns remain the same through all the change and flux. This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in secure web application development, coding and design, coupling the most current, effective techniques with the soundest industry practices. Our instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. This lab-intensive course provides hands-on .Net security training that offers a unique look at .Net application security. Beginning with penetration testing and hunting for bugs in .Net web applications, you thoroughly examine best practices for defensively coding web applications, covering all the OWASP Top Ten as well as several additional prominent vulnerabilities. You will repeatedly attack and then defend various assets associated with fully functional web applications and services, driving home the mechanics of how to secure .Net web applications in the most practical of terms. Bug Hunting Foundation Why Hunt Bugs? Safe and Appropriate Bug Hunting/Hacking Scanning Web Applications Scanning Applications Overview Moving Forward from Hunting Bugs Removing Bugs Foundation for Securing Applications Principles of Information Security Bug Stomping 101 Unvalidated Data Injection Broken Authentication Sensitive Data Exposure XML External Entities (XXE) Broken Access Control Bug Stomping 102 Security Misconfiguration Cross Site Scripting (XSS) Deserialization/Vulnerable Components Insufficient Logging and Monitoring Spoofing, CSRF, and Redirects Moving Forward with Application Security Applications: What Next? .NET Issues and Best Practices Making Application Security Real Time Permitting Topics Cryptography Overview .NET Cryptographic Services