-
Learn by doing.
-
Don't do any copy-paste of code. Write everything with your own hands.
-
Remember: Learning is done with your hands, not with your eyes.
-
Code iteratively: Run the code often and after any new changes. Solve the bugs and errors ASAP and not at the end when the entire project code is written.
-
Debug your code whenever is necessary.
-
"Done is better than perfect."
-
Contact: Alexandru Ghiuruțan ([email protected])
- (GPT) Andrej Karpathy - Former Director of AI at Tesla, currently working at OpenAI - Coding Skill is More Valuable Than Ever - Don't let the ease of prompting large language models discourage you from learning to code
- Cum vrea un fost angajat Google să schimbe România: „Ieşim din corporaţii, construim companii”
- Probabily the Best Java Book out there - Head First Java
- OOP Principles
- Polymorphism Static vs Dynamic
- Polymorphism Types & Possible Problems
- Learning GIT BASH
- GIT Tutorial with LIVE commands on a dummy project
- Java Basics - Skip the topics that you already know. Play the videos with extra speed
- SOLID Principles Theory
- SOLID Principles with Examples
- An example of transgresion of the Liskov Substitution Principle
- Cohesion vs Coupling
- Coupling in JAVA
- Design Patterns
- "Uncle Bob" on Design Patterns
- Data Access Object Pattern
- Technical Debt and how to avoid it
- The Clean Code Talks - Inheritance, Polymorphism, & Testing
- Strong vs Loose Coupling
- Primitive vs Wrapper types - Autoboxing vs Unboxing
- Dependency Injection Explained in 15 seconds.
- Dependency Injection and history explained. First 10 minutes of video are more relevant. Not necessary to follow the entire video with Dagger and stuff.
- Thread Safe with double checking Singleton in JAVA
- Singleton Breakdown Explanation
- volatile keyword in JAVA
- Hyperthreading
- final keyword in JAVA
- static keyword in JAVA
- Immutability - Functional Programming with JAVA
- Java Order of Execution of Initialization Blocks and Constructors
- Java. Pass by Value vs Pass by Reference
- Better Commit Messages
- TDD - Test Driven Development. Writing tests first.
- Java is Pass by Value
- Java Shallow Copy vs Deep Copy
- Java Immutability
- POJO vs Java Bean
- Why almost everyone gets a POJO wrong?
- Layers Software Architecture
- Why is Singleton considered an anti-pattern?
- Oracle JDK vs OpenJDK
- MySQL Installer - after running the installer make sure you will have the mysql server, workbench and jdbc connector installed
- XAMPP Installation - make sure mysql is started
- TCP View Installation - allows you to see ports and close down applications
- How to find mysql installation path
- In order for mysql command to work in terminal we must add it to the PATH. Add MYSQL_PATH/bin to PATH
- IntelliJ Database view plugin
- SQL Injection Concept
- SQL Injection in JAVA and Types of SQL Injection
- PreparedStatement - How to prevent SQL Injection
- MySQL Table Types Storage Engines
- InnoDB MySQL Engine Key Features and Advantages
- execute vs executeQuery vs executeUpdate
- SQL DDL vs DML vs DCL
- Truncate vs Delete
- Transactional Database - ACID Properties (Atomicity, Consistency, Isolation, Durability)
- One-To-One, One-To-Many and Many-To-Many relationships in Database Design
- Clustered vs NonClustered Database Indexes
- B-Tree Indexing vs. Hash Indexing vs. Graph Indexing: Which is Right for Your Database
- Why SQL Indexes uses B-Trees instead of Hash Tables which have much faster Look-Up, Insert and Delete Times of O(1) instead of O(logN) for B-Trees?
- Same as Above - Short StackOverflow answer
- B-Trees and B+Trees in Databases
- Java Optional
- Compare Objects(Long) with equals not ==
- Java Autoboxing and Unboxing
- Java 8 features: Streams Lambda Expressions, Filter, Map, Reduce
- Java Parallel Stream
- Functional Programming in Java
Lab code example. Make sure it runs, fill in the missing repository methods and reproduce SQL Injection Attack. Debugger is your friend.
- Decorator pattern
- What is CPU Cache
- Performance Upgrade via Software Caching
- Caching in Software Development. What it is and how it works
- Pros and Cons of Caching
- Transactional vs Analytical Databases
- Database Relationships: One-To-One, One-To-Many, Many-To-Many | Foreign Keys, 1, 2, 3 Normalization Forms
- How to design One-To-One, One-To-Many and Many-To-Many relationships
- User Role Rights concepts simply detailed
- Role-based access control (RBAC) vs Attribute-based access control (ABAC)
Add suport for the EBook(Long id, String author, String title, String format, Date publishedDate) and AudioBook(Long id, String author, String title, int runTime, Date publishedDate) into our aplication: Service, Repository, Database, Model.
- Generic Repository just a lazy Anti-Pattern?
- Downsides in the Generic Repository Pattern
- Generic Repository. Just using it wrong?
- Generic Repository Pattern Opinion
Add Sale support for the BookStore application: support Book price, stock and an Order Table to store what has been sold and at when
- Have I been pwned?
- Hashing Algorithm Properties
- JAVA Password Hashing
- Is your password in one of this lists? Change it now!
- What makes a hasing algorithm good for password hashing?
- Rainbow table
- SALTING Passwords. How to protect against Rainbow Table attacks
- Password Hashing Competition - Who's the winner?
- The Best Algorithms for Hashing Passwords
- Password Pepper Explained
- Pepper Pros and Cons
- How to Store Passwords Securely with PBKDF2?
- Java FX Table View
- Java FX how to switch scenes
- Java FX Table View - Videos 17 to 20
- Java FX Data Binding and Properties - Videos 28 to 30
- Command implementation in JAVA
- Command Undo & Redo Stack Implementation with MCV Pattern implemented with the help of Observer Pattern
- The Two Generals Problem
- TCP Handshake
- A very nice Networking tutorial by thenewboston
- 50 common ports you should know
- Private vs Public IP Addresses
- What is a MAC Address?
- What settings you should change at your Router?
- Internet Protocal IPv4 vs IPv6
- Domain Name Service - DNS
- TCP/IP vs UDP Protocols
- What is Internet?
- What is ping command?
- What is Fiber Optics and how it works
- Java Socket Programming Guide
- The New Java Concurency Model - Project Loom
- CPU vs I/O Bound Tasks
- Multiprocessing vs Multithreading
- Thread Pools in Java
- Virtual Threads in Java - explanation and performance comparison
- Virtual Threads in Java - a nice guide
- Virtual Threads in Java video explanation
- Why to use an Executor Service with Virtual Threads?
- Can two threads call two different static synchronized methods of the same class? - Q6) Java Multithreading interview questions
- Java compiled or interpreted language? Or Both!?
- MultiThreading in Java Tutorial: syncronized, volatile, Thread Pools, locks, Runnable, Callable, Future
- Ngrok for tunneling traffic
- Great nmap hacker tutorial
- Nmap - Hacker mode on - for your local home network
Compile and Run from the command line:
javac -d ./out/ ./package_name/sub_package_name/*.java
cd out
java package_name.sub_package_name.ExampleClassName
For example Four please make sure you are using jdk 21 such that VirtualThreads are available.
Messaging APP - LEVEL One https://www.digitalocean.com/community/tutorials/java-socket-programming-server-client
Level Three https://medium.com/@gabriellamedas/java-threads-and-executors-48963d26e878
Level Four https://www.youtube.com/watch?v=N2sskKGnCqc
- Byzantine Generals Problem
- How Bitcoin works?
- MVC Explained
- ACID
- Java POJO vs Java BEAN
- Java Spring BEAN
- Transactional Behaviour
- API - Application Programming Interface
- HTTP vs REST
- REST & RESTfull API Explained
- Top 10 most common HTTP status codes
- HTTP PUT vs PATCH
- Is Java A Compiled Language? Byte Code, JVM and JIT
- Asynchronous Programming in Java
- Virtual Threads - A different async/await
- Virtual Threads - Death of Async Await
- CRUD API Design
- Best Practices for a Pragmatic RESTfull API
- How Bittorent works
- How Torrents Work
- TCP vs UDP
- Actor Model Explained
- DRY KISS YAGNI
- Law Of Demeter
- SOC - Separation of Concerns
- DYC & SLAP
- End-To-End Encryption
- What REST actually is
- Query Parameters in Spring JPA
- @PathVariable vs @RequestParam
- robots.txt sitemap.xml security.txt humans.txt
- Honeypots in Cybersecurity
- Honeypots in Cybersecurity video
- Virus Total - free scanning for your downloaded applications
- BCrypt Hashing Algorithm Explained
- Shallow Web vs Deep Web vs Dark Web
- Is Java Compiled or Interpreted? Both.
- Statically vs Dynamically & Strong vs Weakly Typed Languages
- Scraping vs Crawling
- A very brief description of 5 Software Architecture Patterns
- Postman tutorial Instructions: Get, Post, Put, Delete, Authentication
- Free online API to query
- 7 Free public API's you will love as a developer
- Create your own @RestController Spring Boot API
- Spring Security
- Spring @RestController = @Controller + @ResponseBody
- Scraping BeautifulSoup vs Selenium vs Scrapy
- Web Scraping Full Beginner Tutorial
- Scraping Amazon Product Reviews
- Spring Security Project
- Best Time to Buy and Sell Stock
- Longest Increasing Subsequence - GeeksForGeeks
- Longest Increasing Subsequence - Video
- Longest Common Subsequence
- Kruskal Minimum Spanning Tree - Check also Disjoint set forest implementation
- K’th Smallest Element in Unsorted Array
- Top 10 Algorithms in Interview Questions
- 101 Web Development Concepts you should know
- Agile vs Waterfall Methodology
- Agile vs Waterfall. What's the difference?
- Martin Fowler Software Architecture Short Guide
- 5 Architecture Design Patterns
- Martin Fowler - Patterns of Enterprise Application Architecture
- Web Development Career Paths
- Spring Boot & React & MySql & Docker & JWT Web Application
- Deploy a Full Stack Spring Boot & React App with Database for FREE
- HTML & CSS Tutorial
- JavaScript Tutorial
- React Tutorial
- MERN Stack Full Project
- Odin Project - Full Stack Java Script Path
- Freecodecamp - Full Stack and beyond
- How to learn React?
- NodeJS Backend Roadmap
- Juice Shop Penetration Testing
- Crypto Zombie Blockchain Smart Contracts with Solidity Tutorial
- How the pension pillars I, II, III work?
- The 8th Wonder of the World - Compound Interest
- Stock Market Guide with Dividend Growth Investing Explained
- What house and car you can afford?
- 13 Mistakes in house acquisition
- How to early pay the mortgage loan?
- Mutual Funds vs Index Funds
- Index Funds vs ETF's
- How The Economic Machine Works by Ray Dalio