Last updated 10/2022Course Language EnglishCourse Caption English [Auto]Course Length 19:58:29 to be exact 71909 seconds!Number of Lectures 63
This course includes:
20 hours hours of on-demand video
4 article
Full lifetime access
Access on mobile and TV
Certificate of completion
What is a good software architecture?
Basic principles in Software Architecture in OOP
SOLID principles
What is low coupling and high cohesion?
How to group units into packages, modules, namespaces or components
Practical, proven techniques to becoming a great Software Architect
Software design patterns
Architectural Patterns used in almost any software system
Clean code design
Review examples of SOLID code in object-oriented programming
Real-life examples of good and bad architecture
Test-driven development (TDD) to drive software architecture
Behavior-driven development (BDD)
Acceptance test-driven development (ATTD)
From this course, you can learn Software Architecture and Clean Code Design in OOP.There are a lot of other courses on this topic. So, why would you choose exactly this course? Here are just a few reasons:- Coding examplesTo learn to program is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course, you will review multiple practical tasks and coding examples which will help you learn and understand Java better.- Open source codeWe hide nothing from our students! Including the source code for the home task solutions and source code of examples that were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.You are allowed to use all source code examples for learning purposes. This helps significantly to configure the environment and make tests work, especially in case students didn't work with any testing framework in the past.- Q&A support The significant difference between the online and offline learning process is the instructor's availability. If you are in one room with a tutor he always can help you to get understand the specific concept or to help fix your code on your computer. In this course, we are supporting students with answers to any questions flagged in the Q&A section. In case there will be recurring questions - separate video lessons will be created to show how to address the issue. So with this course you are not just getting video materials, code exercises, source code, access to the free mobile application without limits (which is still pretty cool, huh? :) ), but you also get tutor support and answers to your questions along with this course. - Relevant knowledgeAfter our team investigated other Java courses on Udemy we realized that most of them have nothing in common with real life. The information which is shared there is very old and significantly out of date. For example, the instructor teaches a framework which is not been used already for 15 years. Or instructors do stress on the programming design which is not used anymore at all!The instructor of this course is a consultant in a top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check the LinkedIn page of the instructor and check skills endorsement. More than 19 thousand people across all over the world (BTW most of them are from the top 100 companies of the world) evaluated the skills of Andrii Piatakha. With this course, you can be sure that you will spend your time learning the right things from one of the best IT consultants in the world. - Free mobile App without limits for our studentsKnowing Java is one skill. Be able to pass interviews in the company - that is another skill :) Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed applications to practice skills specifically for such purposes. In this course, we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms) The instructor of this course comes up with hundreds of tests that are used to test the knowledge of candidates. With this application, you will be well-prepared for the interview. Also, only for our students - there is no limit on attempts to pass certification. In the course, we will tell you how to set up a special bonus code that will remove restrictions for our students inside the app.- High concentration of useful material in each lessonSometimes you can notice that watching 5 minutes of our lesson is equivalent to watching another 30 minutes lesson. This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson or time when the program loads) sometimes 10 times as much (sometimes even 20) as the final lesson duration after video editing.Also, each topic is separated from another. In case some concept will be explained in the next lesson and you don't need to worry about understanding this in the scope of this lesson - the instructor will make an announcement when a specific topic will be covered. Go and try it yourself! We will appreciate your feedback.So don't wait! Take a look at the lessons' preview if you still have doubts! Buy this course today, and you will get all updates for FREE! For those who successfully passed this training course, or for students who were recognized for asking amazing questions, there is a special offer from the IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We are always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your startup? In this course, you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation! Hope you enjoy this course! And remember, we appreciate all your feedback! Your feedback will help us to become even better! Your feedback will help us to create to best Java course ever! See you at the lessons! :)Who this course is for:Sofware engineers that use OOP in any programming languageSoftware technical leadsFuture Software Architects
Course Content:
Sections are minimized for better readability, click the section title to view the course content
3 Lectures | 08:10
Communication plan
04:10
From this lecture you will learn: • How to communicate during this course
• Where to ask questions
• How to ask questions
• Communication channels
Unlimited access to 'Learn IT' application for students
03:16
From this lecture you will learn:
• Where to find good tests to verify your knowledge
• How to get unlimited access to Learn IT application (only for my students from Udemy)
Tips to Improve Your Course Taking Experience
00:44
6 Lectures | 31:26
SOLID principles overview & Single Responsibility Principle
07:28
From this lecture you will learn:
• What are SOLID principles
• SOLID principles in OOP
• Single responsibility principle
Tips to Improve Your Course Taking Experience
00:44
Open / Closed Principle
07:28
From this lecture you will learn:
• Open / closed principle
• Code examples
Liskov Substitution Principle
05:08
From this lecture you will learn:
• Liskov substitution principle
• Code examples
Interface Segregation Principle
04:47
From this lecture you will learn:
• Interface segregation principle
• Code examples
Dependency Inversion Principle
05:51
From this lecture you will learn:
• Dependency inversion principle
• Code examples
5 Lectures | 01:37:44
Clean Code Architecture, Coupling & Cohesion
22:10
• What is a clean architecture
• What is a coupling
• Types of a coupling
• What is a cohesion
• Types of a cohesion
• Benefits of Clean Architecture
• Plugin concept
• Why do we need clean architecture
• Advantages and disadvantages of clean architecture
Tell, Don’t Ask Pricniple & Data Structures
20:18
• Tell, don’t ask principle
• How to apply ‘Tell don’t ask’ in real life
• What is data structures
• Objects VS Data structures
• Getters and Setters in objects
• When to use data structures
Law of Demeter
08:52
• What is Law of Demeter
• Goals
• Exception from law
• Pros & Cons
• Code Examples
Packaging Pricniples p.1: Cohesion Principles
21:29
• Problem statement
• Why do we need a good structure
• How to establish good code structure
• Factors to consider during the code grouping
• Cohesion Principles
• Common closure principle
• Common reuse principle
• Reuse-release equivalence principle
Packaging Pricniples p.2: Coupling Principles and Others
24:55
• Coupling principles
• Acyclic dependencies principle
• Stable dependencies principle
• Stable abstractions principle
• Package by layer
• Package by feature
• Conway's law
• How technical factors impact code structure
• Tools for code analysis
7 Lectures | 03:03:32
GoF Patterns: Overview
13:56
• Why do we need design patterns
• What are GoF patterns
• Key points of GoF patterns
• Creational Patterns: Overview
• Structural Patterns: Overview
• Behavioral Patterns: Overview
• Class & Object Patterns
• What patterns we are going to learn in this course
• Answers to most common questions of my students
Creational Patterns
30:39
• Singleton
• Prototype
• Factory Method
• Builder
• Abstract Factory
• Factory Method VS Abstract Factory
Structural Patterns, p.1
31:07
• Proxy
• Decorator
• Adapter
• Façade
• Comparative Analysis
Structural Patterns, p.2
21:10
• Bridge
• Flyweight
• Composite
Behevioral Patterns, p.1
33:58
Strategy Pattern
Command Pattern
Strategy VS Command
Template Method
Iterator
Chain of responsibility
Behevioral Patterns, p.2
31:50
• Visitor
• Visitor VS Decorator
• State
• Observer
• Memento
Behevioral Patterns, p.3
20:52
• Interpreter
• Mediator
3 Lectures | 53:40
Test-driven development: Theory
23:55
From this lecture you will learn: • What is TDD
• TDD Cycle - main steps of TDD iteration
• Three laws of TDD
• Test-first approach VS TDD
• Testing pyramid and TDD
• Defect cost increase
• Pros of using TDD
BDD & ATTD
15:54
From this lecture you will learn:
BDD and its history.
TDD VS BDD
Gherkin DSL
How to create BDD scenarios
How to apply BDD knowledge on practice for software developer
Advantages and Disadvantages of BDD
Acceptance test-driven development
ATTD VS TDD VS BDD
TDD, BDD & ATTD - Practice
13:51
In this lesson we will implement application with the help of TDD approach.
9 Lectures | 03:20:21
About this section
00:29
Databases: Overview - Part 1
24:56
Why we need databases
Purposes & Advantages of databases
Database VS DBMS
Types of databases
Relational databases
Databases: Overview - Part 2
22:58
Non-Relational databases
Examples of relational, NoSQL and other databases
Document-oriented databases
Key-value storages
Graph databases
Wide column databases
Object-oriented databases
Hierarchical databases
Time series databases
Column-oriented databases
Cloud databases
Centralized and Distributed Databases
Pros and cons of different types of database
Overview of the most popular relational database management systems
Advantages and Disadvantages of Layered Architecture
1 Lectures | 19:35
Exam task review and solution
19:35
During this exam task we will improve our existing online shop to make it work with the relational database. Implementation should consider DAO pattern and building proper relationships between tables in the database and creating all necessary SQL statements to extract data required for business operations.
4 Lectures | 01:19:53
Task Overview
23:08
Review Exam task
Overview of the expected result
Solution Overview: Part 1
27:13
From Task #1 till Task #7 (inclusively)
Solution Overview: Part 2
18:31
From Task #8 till Task #13 (inclusively)
Solution Overview: Part 3
11:01
From Task #14 till Task #16 (inclusively)
1 Lectures | 28:00
Connection Pooling: DBCP, C3P0, HikariCP & Tomcat Connection Pool with JNDI
28:00
What is connection pool
How does connection pool work
Benefits of connection pool
Different options how to integrate connection pool in the app
Apache DBCP
C3P0
Hikari CP
How to calculate required size of the connection pool
Advantages of Tomcat Connection Pool
JNDI: What it is and when to use
Tomcat Connection Pool
17 Lectures | 06:05:45
OWASP Top 10: Overview
18:47
What is OWASP
What is OWASP Top 10
Why OWASP Top 10 is important
OWASP Top 10 2021
What is Common Weakness Enumeration (CWE)
What are Common Vulnerabilities and Exposures (CVE)
What is the Common Vulnerability Scoring System (CVSS)
OWASP Top 10 2017 VS OWASP 2021
Broken Access Control
35:21
What is Access Control
Authorization VS Authentication
Types of Access Control
OAuth (Overview)
JWT (Overview)
What is Broken Access Control
Impact
Insecure ID Vulnerability
Path Traversal Vulnerability
Poison Null Bytes Attack
Safelisting
Client Caching Vulnerability
Violation of the principle of least privilege
Elevation of privilege
Review Roles Management Approach
How to prevent (including design solutions)
Example of Attack Scenarios
Cryptography Failures (Theory, Sensitive Data, Data Breach, Types of Failures)
12:58
Cryptographic Failures: Overview
The most common root causes
Comparative analysis between OWASP Top 10 2017 & 2021
If you like to get inspired by great web projects, you should check out Made with Javascript. If you have a project that you wish to share with the world, feel free to submit your project on Made with Javascript Club website.
Free Online Tools And Converters for your use
URL Encoder
Input a string of text or a URL and encode the entered string
FAQ: Udemy Free course Most frequent questions and answers
Does Udemy offer Free Udemy coupons?
Yes, Udemy is the largest online education platform, with the broadest selection of video-on-demand courses and qualified instructors available to meet your needs. At theprogrammingbuddy.club we curate the latest udemy coupons, their expiry, and the number of uses left of these udemy coupons.
How to get free Udemy courses?
There are two ways to get free Udemy courses:
Go to udemy.com and search for your desired course category. Then select free from the filter options.
You can also get paid courses for free if you have a coupon. You can head to theprogrammingbuddy.club, where you can get a daily udemy paid course for free.
How to get Udemy Certificates for free?
Udemy offers certification on completion of each course. In order to receive a certificate of completion from Udemy, you need to complete your course 100%. There is a simple hack, you can open a video and jump on the timeline to complete a lecture.
To download the certificate from Udemy, you need to head over to your account on a desktop browser. Udemy certificates can't be accessed on the mobile app.
Do Udemy courses expire?
No, once you enroll, you will have lifetime access to the course. You can complete the course on your schedule.
Why are the Udemy instructors giving away free Udemy Coupons?
Every instructor has worked for hours on each of their courses. As new courses get launched, the instructors have no way to get their course in front of an audience to get some feedback. So, instructors share free coupons for their courses to get feedback from the students. We attheprogrammingbuddy.club work with these instructors to get their courses available to our buddies.
Is Udemy safe to use?
Yes, payments on Udemy are safe. It is no different than paying for other services on an application or website and inputting your payment information before receiving your goods. Just be sure to keep your account secure, do not share your udemy accounts.
Can Udemy courses get you a job?
Earning a skill is more valuable than earning a job these days. Skills are your most valuable asset. They can help you qualify for jobs you want and get promoted to more advanced positions within your organization. Unfortunately, it is difficult for many people to balance taking courses with work and family obligations. We have had many students, who have taken just Udemy courses, started a job as well as started freelancing with the skills they have learned.