Begin your career in software development with the introduction to Data Structures and Algorithms in Java. Java, an Object Oriented Programming is one of the most sought after programming language and is the foundation of the Android operating system. Java is a perfect computer language for being competitive in today’s industry requirements.Designed for beginners, CRUX is a hands on course where we focus on developing core programming concepts and equip you to code solutions for complex problems using Java.
HTTP and REST Introduction
We begin with the structure of Internet, various protocols in its architecture, the role HTTP methods play in it and how REST improved the behaviour of applications served over Internet.
• Introduction to Internet
• HTTP methods and behaviours
Spring and Spring Boot
Spring Boot makes it easy to create stand-alone, production-grade applications that you can run. We will start with Spring core and then dive deep using various technologies of Spring with Spring Boot.
• Brushing up java fundamentals
• POJO, Factory and Context, XML configuration
• Controller Service Repository Model
• Business Logic as service
• Aspect Oriented Programming
• Message Flow with Routers, Filters and Splitters
• Basic auth, Oauth, Oauth 2 with Spring
• Creating and consuming web sockets
What is a server, if it cannot store data on a databases. We will learn to store data in various kinds of Database Systems.
• JDBC and connection pooling
• Using ORMs like Hibernate and Spring Data
• MySQL – Relational databases
• Cassandra- Non-relational databases
• Cassandra Template with Spring-Data-Cassandra
Servlet, JSP and JSF integration
To create dynamic pages, we need server side page rendering and the concept of JSP helps here. We will then move to JSF, which is the more standard Java way to render dynamic pages.
• Standalone Servlet introduction
• Spring JSP integration
• Spring JSF integration
• Why you can try JSF
• When to avoid JSP and JSF
Git, Docker, Cloud and Deployment
Before we move on to backend development, we will briefly touch upon the usage of Unix based systems. More than 80% of the world’s servers are hosted on Linux machines, and any web backend developer must learn basic DevOps and SysAdmin skills to manage a Linux OS. Git, the most commonly used version control system is one of the most helpful tool required to work on large projects or in collaborative environments.
• Micro services
• Physical and logical division of services
• Hosting on Linux/Unix
• SSL with Nginx and Letsencrypt
• Basic Sysadmin
Comprehensive transaction support is among the most compelling reasons to use the Spring Framework .
• Spring transaction fundamentals
• Declarative transaction management
• Programmatic transaction management