только у нас скачать шаблон dle скачивать рекомендуем

Фото видео монтаж » Видео уроки » Java Best Practices For Efficient, Scalable, And Secure Code

Java Best Practices For Efficient, Scalable, And Secure Code


Java Best Practices For Efficient, Scalable, And Secure Code
Java Best Practices For Efficient, Scalable, And Secure Code
Published 3/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 20.86 GB | Duration: 33h 10m


Tips and Tricks from OOP Foundations to Advanced Architecture Design Concepts - Guide for Developers, Architects, QAs

What you'll learn

Java Best Practices

Solid Foundation in OOP Principles

Application of SOLID Principles

Effective OOP Interview Preparation

Hands-On Exam on Object-Oriented Programming

Understanding Java Platform Module System (JPMS)

Comprehensive Testing Techniques for Java Platform

Adoption of TDD, BDD & ATDD Methodologies

Object-Oriented Architecture Design

The Best Clean Code Practices

Application of GoF Design Patterns

Preparation for Design Patterns Interviews

Stay Updated with Java New Versions

Effective Logging Practices in Java

Java Secure Coding Practices

Designing RESTful Architectures

Understanding Software Development Metrics and KPIs

Web Application Design Patterns

Requirements

Basic Java Knowledge: A fundamental understanding of Java programming is essential. Students should be familiar with Java syntax, data types, control structures, and basic concepts.

Programming Experience: Participants should have prior experience in writing Java code. Familiarity with coding practices and basic software development concepts is advantageous.

Development Environment Setup: Students should have a working Java development environment set up on their machines. This includes the Java Development Kit (JDK), Integrated Development Environment (IDE) like IntelliJ or Eclipse, and a version control system (e.g., Git).

Familiarity with Version Control: Some familiarity with version control systems, particularly Git, is recommended. This knowledge will aid in collaborative coding practices and project management.

Motivation for Best Practices: An eagerness to learn and apply best practices in Java development is crucial. The course emphasizes industry-standard approaches to writing efficient, maintainable, and secure code.

Description

Unlock the full potential of Java development with my comprehensive course on best practices. Whether you're a Java developer looking to elevate your coding skills, a Development Lead, an Architect, or a QA professional aiming to enhance testing efficiency. This course is your gateway to a higher level of Java expertise. It provides a deep dive into industry-proven techniques.Key Learning Points:Solid Foundation in OOP Principles:Master the fundamental concepts of OOP and discover their direct applications in Java development.Application of SOLID Principles:Learn how to apply SOLID principles systematically, ensuring the creation of Java code that is robust, scalable, and easily maintainable.Object-Oriented Architecture Design:Develop the skills needed to create scalable and maintainable Object-Oriented Architecture for Java applications, ensuring your projects stand the test of time.Application of GoF Design Patterns:Understand and implement the renowned Gang of Four (GoF) design patterns, addressing common challenges encountered in software design.Preparation for Design Patterns Interviews:Learn how to navigate design pattern-related problems commonly encountered in interviews, enhancing your problem-solving skills and interview performance.Effective OOP Interview Preparation:Equip yourself with the knowledge and skills needed to confidently navigate OOP-related interview questions, enhancing your prospects in job interviews.Hands-On Exam on Object-Oriented Programming:Demonstrate your practical proficiency in applying OOP principles through a comprehensive examination, solidifying your understanding of key concepts.Understanding Java Platform Module System (JPMS):Explore the benefits of modularity in Java applications using the Java Platform Module System, gaining insights into creating modular and efficient codebases.Comprehensive Testing Techniques:Master Unit Testing with JUnit, delve into Integration Testing, and learn to harness the power of Mockito and PowerMockito for effective and reliable testing.Adoption of TDD, BDD & ATDD Methodologies:Gain practical experience in Test-Driven Development (TDD), Behavior-Driven Development (BDD), and Acceptance Test-Driven Development (ATDD), transforming your approach to software development.Web Application Architecture: We are going to learn the best practices of web application developmentBest Practices of REST Architecture Design in Java Applications:Architecture - that is something what is critically important from the very beginning.Stay Updated with Java New Versions:Keep pace with the latest features and improvements in recent Java versions, ensuring you leverage the full potential of the language.Effective Logging Practices in Java:Understand the critical role of logging in Java applications and learn best practices using frameworks like SLF4J and Logback.Secure Coding Practices:Explore secure coding practices, addressing OWASP Top 10 security issues in Java applications, fortifying your code against potential vulnerabilities.Designing RESTful Architectures:Master the principles of RESTful architecture and learn best practices for designing RESTful APIs in Java, ensuring efficient communication in modern software systems.Understanding Software Development Metrics and KPIs:Gain insights into the importance of metrics and key performance indicators (KPIs) in software development. This knowledge enables informed decision-making and continuous improvement in your development processes.Embark on this educational journey to become a proficient and well-rounded Java developer, QA professional, architect, or tech lead, armed with the latest industry best practices and techniques. Join us on a journey to master Java best practices and elevate your software development skills to new heights.

Overview

Section 1: Introduction

Lecture 1 Communication plan

Lecture 2 Unlimited access to Learn-IT application for students

Lecture 3 Tips to Improve Your Course Taking Experience

Section 2: OOP Basics

Lecture 4 Object-oriented programming: Basics

Lecture 5 Classes & Objects

Lecture 6 Different types of Classes, Abstract keyword and Abstract classes

Lecture 7 Interfaces

Section 3: OOP Core Principles - Inheritance, Polymorphism, Encapsulation and Abstraction

Lecture 8 Inheritance

Lecture 9 Polymorphism and 'final' keyword

Lecture 10 'static' keyword

Lecture 11 Encapsulation

Lecture 12 Object, JNI and Object class overview

Section 4: SOLID Principles

Lecture 13 SOLID principles overview & Single Responsibility Principle

Lecture 14 Open / Closed Principle

Lecture 15 Liskov Substitution Principle

Lecture 16 Interface Segregation Principle

Lecture 17 Dependency Inversion Principle

Section 5: ===== OOP: Interview Preparation =====

Lecture 18 How to be prepared for the interview?

Lecture 19 Part 1: OOP Interview - Questions and Answers

Lecture 20 Part 2: OOP Interview - Questions and Answers

Section 6: Practice: EXAM OOP & Object-Oriented e-Commerce console applications

Lecture 21 Exam and homework for OOP topic

Section 7: Object-oriented Architecture, Clean Code Design (Advanced)

Lecture 22 Clean Code Architecture, Coupling & Cohesion

Lecture 23 Tell, Don't Ask Pricniple & Data Structures

Lecture 24 Law of Demeter

Lecture 25 Packaging Pricniples p.1: Cohesion Principles

Lecture 26 Packaging Pricniples p.2: Coupling Principles and Others

Section 8: GoF Design Patterns of Software Architecture in OOP

Lecture 27 GoF Patterns: Overview

Lecture 28 Creational Patterns

Lecture 29 Structural Patterns, p.1

Lecture 30 Structural Patterns, p.2

Lecture 31 Behevioral Patterns, p.1

Lecture 32 Behevioral Patterns, p.2

Lecture 33 Behevioral Patterns, p.3

Section 9: ===== Design Patterns: Interview Questions =====

Lecture 34 Part 1: OOP & Design Patterns Interview - Questions and Answers

Section 10: Java Platform Module System: Modules in Java & Migration of Java Apps

Lecture 35 Modules in Java: Modular Application Example

Lecture 36 Migration of Java Apps: Example of migration to a modular application

Section 11: Testing for Software Engineers

Lecture 37 Testing for software engineers: Overview

Section 12: Unit Testing & JUnit 5

Lecture 38 Unit Testing & JUnit Overview

Lecture 39 JUnit 5 examples VS JUnit 4 + Equivalence class partitioning

Lecture 40 JUnit 5 API (Advanced) & Test Code Coverage

Lecture 41 JUnit 5 API (Advanced p. 2) & Hamcrest Library

Section 13: Integration testing & Mockito

Lecture 42 Integration Testing in Java

Lecture 43 Mockito: Part 1

Lecture 44 Mockito: Part 2

Section 14: PowerMockito

Lecture 45 PowerMock

Section 15: TDD, BDD & ATTD

Lecture 46 Test-driven development: Theory

Lecture 47 BDD & ATTD

Lecture 48 TDD, BDD & ATTD - Practice

Section 16: Java: New Versions

Lecture 49 Java 8 Features (Lambda, Stream API, Optional, Effectively Final, etc.)

Lecture 50 java.util.Optional - Optional in Java

Lecture 51 Java 9: Stream API Updates, Multi-Resolution Image, Stack-Walking API, etc.

Lecture 52 Java 9: Process API & CompletableFuture API updates, Interface Private Methods

Lecture 53 Java 9: jlink & jshell

Lecture 54 Java 9: Multi-Release JAR Files & Compact Strings

Lecture 55 Java 9: Deprecated & Removed Features

Lecture 56 Reactive Programming in Java: Flow API, Reactive Streams

Lecture 57 Java 10: 'var' variables (Type inference), Docker support, Flex Heap Size, etc.

Lecture 58 Java 10: Other improvements, Removals, Deprecations, Release Versioning

Lecture 59 Java 11: LTS Concept, New HTTP Client, String & Files API Updates

Lecture 60 Java 11: Collection & Predicate API Updates, Nest-Based Access Control & more

Lecture 61 Java 12: CompactNumberFormat, Teeing Collector, String.indent(), transform()

Lecture 62 Java 13: Socket API, newFileSystem() method, ZGC Uncommit Unused Memory & others

Lecture 63 Java 14: Switch expressions, Currency Format, Helpful NullPointerExceptions

Lecture 64 Java 15: Text Blocks, Hidden Classes, new String methods

Lecture 65 Java 16: JEP 395 - Records

Lecture 66 Java 16: instanceof, Day Period Support, Stream.toList() & others

Lecture 67 Java 17: Sealed Classes & other improvements

Section 17: Web Application Design Patterns - Best Practices

Lecture 68 DAO (Data Access Object) Design Pattern

Lecture 69 MVC Design Pattern

Lecture 70 Layered Architecture

Section 18: ===== Exam: MVC & Layered Architecture =====

Lecture 71 Task Overview

Lecture 72 Solution Overview: Part 1

Lecture 73 Solution Overview: Part 2

Lecture 74 Solution Overview: Part 3

Section 19: Best Practices on Using Resources - Connection Pooling

Lecture 75 Connection Pooling: DBCP, C3P0, HikariCP & Tomcat Connection Pool with JNDI

Section 20: Best Practices of Secure Coding in Java

Lecture 76 OWASP Top 10: Overview

Lecture 77 Broken Access Control

Lecture 78 Cryptography Failures (Theory, Sensitive Data, Data Breach, Types of Failures)

Lecture 79 Cryptography Failures (Practical Examples, SQL Injections, TLS/SSL, HTTPS)

Lecture 80 Cryptography Failures (Examples, Password Encryption, Hashing, Salting)

Lecture 81 Injection (Overview, Fuzzing, CWEs, Impact, Injection Types, Command Injection)

Lecture 82 Injection (Cross Site Scripting, Types of XSS, SQL, JPA, NoSQL Injections)

Lecture 83 Injection (XPath Injection, Log Injection, Input Validation)

Lecture 84 Insecure Design (Overivew, CWEs, Shift Left Security, Threat Modeling Manifesto)

Lecture 85 Insecure Design (Secure Design Process, Security Controls, Metrics, Examples)

Lecture 86 Security Misconfiguration (Overview, CWEs, Types, Real-life attacks)

Lecture 87 Security Misconfiguration (Hardening, Zero Trust, Defense in Depth, Practice)

Lecture 88 Vulnerable & Outdated Components

Lecture 89 Identification & Authentication Failures

Lecture 90 Software & Data Integrity Failures

Lecture 91 Security Logging & Monitoring Failures

Lecture 92 Server-Side Request Forgery (SSRF)

Section 21: Logging in Java

Lecture 93 Logging in Java: Part 1 (Logging theory, Logging Levels, Java Logging Framework)

Lecture 94 Logging in Java: Part 2 (Log4J, Logback, SLF4J)

Section 22: ===== EXAM TASK: OWASP Top 10, Secure Coding & Logging =====

Lecture 95 Exam Task: Description and Solution (with reference to the source code)

Section 23: Best Practices of Creation of REST Architecture in Java Applications

Lecture 96 REST Architecture: Overview and Key Principles

Lecture 97 Naming Convention for RESTful Services

Lecture 98 RESTful Service Implementation with Spring MVC

Lecture 99 Review of tools for API testing & Postman Installation

Lecture 100 API Testing with Postman

Section 24: Best Practices of Tracking Software Development Perforamnce, Clean Code & others

Lecture 101 Why this section is in this course and why it is important?

Lecture 102 Metric, KPI & OKR

Lecture 103 RAG Status to Present KPI

Lecture 104 Introduction to Engineering Excellence Metrics & KPIs

Lecture 105 Development Metrics & KPIs: Tech Debt Ratio & Index, Cyclomatic Complexity

Lecture 106 Development Metrics & KPIs: Unit Test Related Metrics - Part 1

Lecture 107 Development Metrics & KPIs: Unit Test Related Metrics - Part 2

Lecture 108 Development Metrics & KPIs: Duplicate Code & Commented Code Index

Lecture 109 Development Metrics & KPIs: Code Review Feedback Loop Time & Code Reviews

Section 25: Bonus section

Lecture 110 Bonus lesson

Java Developers: Intermediate and experienced Java developers looking to enhance their skills and adopt industry best practices in Java programming.,Java Enthusiasts and Students: Students and enthusiasts who want to build a strong foundation in Java programming and gain insights into industry-standard practices.,Technical Leads and Architects: Technical leads and architects aiming to reinforce their understanding of Java best practices for designing scalable and maintainable software architectures.,QA Engineers: QA professionals aiming to understand Java best practices to enhance the quality and efficiency of their testing efforts.,QA Automation Engineers: Individuals involved in QA automation who want to improve their Java programming skills and incorporate best practices into their automated testing frameworks.,QA Leads and Managers: QA leads and managers seeking insights into Java best practices to guide their teams in implementing effective and maintainable testing strategies.







Poproshajka




Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.