- Hibernate, JMS, XML, JSON
- Spring Boot Review
- XML Processing in Spring
- XML
- Object-XML Mapping
- Marshaller
- Unmarshaller
- XmlMappingException
- JSON Processing in Spring
- JSON
- Jackson
- Gson
- Java Messaging Service API
- JMS
- JMS in Spring
- Using Spring JMS
- JmsTemplate
- JmsClient
- Writing a JMS Client
- Introduction to ORM
- Hibernate and JPA
- Object-relational mapping
- Hibernate Configuration and Mapping
- Annotations for model classes
- XML Overview
- hibernate.cfg.xml file
- Mapping a Database to ORM
- Hibernate Features
- Interfaces of hibernate
- Criteria API
- Native SQL
- Named queries
- Caching
- Service Locator Design Pattern
- Hibernate architecture
- Hibernate Concepts
- HQL
- ACID Properties
- Object states
- Writing Advanced Hibernate Queries
- Microservices, JNDI
- JNDI Overview
- JNDI
- Name
- Context
- Binding JDNI Objects
- Looking Up JNDI Objects
- Common Exceptions
- Introduction to Microservices
- Advantages / disadvantages of a microservice architecture (MSA)
- Characteristics of a MSA
- MSA vs Monolith applications
- What are microservices
- Decomposing a Monolith
- Microservices Architecture
- Consul - Discovery Service
- API Gateway
- Discovery service and Netflix Eureka Server
- Circuit breaker design pattern
- Load balancing
- Creating a Discovery Service
- Messaging Queues
- Config Server
- Microservices Tooling
- Containerization & orchestration
- Monitoring tools
- Distributed tracing
- Creating a Service
- Python
- Interpreter vs Compiler
- What is Python Why Python
- Python Syntax
- Comments
- Variables and Datatypes
- Operators
- User Input and Output
- Full Stack Overview
- Python Datatypes and Flow Control
- Strings
- Casting
- Boolean
- Lists
- Writing a Simple Script
- Tuples
- Range
- Sets
- Binary Type
- Nontype
- Dictionaries
- Numbers
- Datetime
- Counters
- Collections Module
- Named Tuples
- For
- Ordered Dicts
- If-Else
- While
- Namespaces
- Classes, Objects, and Functions
- Lambda
- Arrays
- Classes and Objects
- OOP Concepts
- Inheritance
- Iterators
- Scope
- Function
- Working with Control Flow
- Python Modules
- Module
- Math
- Logging
- JSON
- Regex
- pip and install pip
- pylint
- Connect SQL
- Error Handling in Python
- Error
- Exception Handling
- try-except
- File Handling in Python
- File Handling
- Read Files
- Write Create Files
- Delete Files
- Working with Files
- NO-SQL, Cassandra
- NO-SQL
- NO-SQL Introduction
- NO-SQL vs SQL
- Apache Cassandra
- Cassandra vs DynamoDB
- Cassandra Architecture
- key-value system
- Cassandra Set-up
- CQLSH
- Cassandra Setup
- Cassandra Basics
- Cassandra Query Language (CQL)
- Keyspace
- Type
- Table
- Insert
- Select
- Creating and Populating a Cassandra DB
- Cassandra with Hibernate
- Configuring Hibernate for Cassandra
- Cassandra Query Language
- Data types
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
- Dynamic Data Masking (DDM)
- Arithmetic Operators
- Number Arithmetic
- Datetime Arithmetic
- Indexes
- Materialized Views
- Functions
- JSON
- Security
- Triggers
- Appendices
- Migrating SQL Database to Cassandra
- Managing Cassandra
- cassandra.yaml
- Backups (theoretical)
- Logging
- Monitoring
- CCaaS, VoiceXML
- Introduction to Contact Center as a Service
- Contact Center as a Service
- Customer Relationship Management (CMS)
- Unified Communications as a Service vs Contact Center as a Service
- Automatic Contact Distributor
- Interactive Voice Response
- Benefits of CCaaS
- Google CES Introduction
- AWS Connect Introduction
- VoiceXML
- Voice eXtensible Markup Language (VoiceXML)
- Key Elements of VoiceXML
- Advantages of VoiceXML
- DevOps, AI Concepts
- DevOps
- Continuous integration
- Continuous deployment
- Continuous delivery
- DevOps and Agile
- DevOps Overview
- GenAI in Development
- Code Generation with GenAI
- Writing Tests with GenAI
- Documentation with GenAI
- Code Anaylsis with GenAI
- Optimization with GenAI
- Prompt Engineering Techniques
- Responsible Use of AI
- Security with GenAI
- Evaluating GenAI Outputs
- Ethical Use of GenAI
- GenAI Risks