Урок 1. 00:02:29
Course Introduction
Урок 2. 00:00:51
Prerequisites
Урок 3. 00:05:23
Introduction to Kotlin
Урок 4. 00:01:39
How Kotlin Works with the JVM?
Урок 5. 00:02:53
Project Setup
Урок 6. 00:03:26
Hello Kotlin!
Урок 7. 00:04:39
val & var variables in Kotlin
Урок 8. 00:06:24
Basic Types - Int, Long, Double, String
Урок 9. 00:07:41
Conditionals - If and when block
Урок 10. 00:03:31
Ranges & Loops
Урок 11. 00:03:41
while & do-While
Урок 12. 00:06:31
break, labels and return
Урок 13. 00:07:52
Defining and Invoking Functions
Урок 14. 00:07:25
Default Value Parameters & Named Arguments
Урок 15. 00:05:24
Top-Level Functions and Top-level Properties
Урок 16. 00:02:50
Introduction to class - Creating a class and objects
Урок 17. 00:03:53
Primary Constructors
Урок 18. 00:07:44
Secondary Constructors
Урок 19. 00:02:40
initializer code using init block
Урок 20. 00:07:37
Data Classes
Урок 21. 00:05:38
Custom Getters and Setters
Урок 22. 00:05:56
Inheritance - Extending Classes
Урок 23. 00:04:12
Inheritance - Override Functions, Variables
Урок 24. 00:03:30
object keyword for creating instance of the class
Урок 25. 00:03:30
companion object Keyword
Урок 26. 00:09:33
Interfaces
Урок 27. 00:02:49
Interfaces - Handling Conflicting Functions
Урок 28. 00:03:01
Interfaces - Defining and Overrding Variables
Урок 29. 00:04:37
Visibility Modifiers
Урок 30. 00:07:17
Type Checking, Casting and Smart Cast
Урок 31. 00:02:11
Enum class
Урок 32. 00:06:19
Nullable & Non-Nullable types in Kotlin
Урок 33. 00:08:42
Safe Call(?) ,Elvis Operator(?:),Non Null Assertion(!!) to deal with Null Values
Урок 34. 00:03:41
Invoking or assigning a Nullable Type to a Non-Nullable Type
Урок 35. 00:10:22
Introduction to Collections
Урок 36. 00:07:32
Introduction to Lamda Expressions
Урок 37. 00:06:19
Lambdas and Higher Order Functions
Урок 38. 00:10:14
Filter Operations on Kotlin Collections
Урок 39. 00:06:30
Map Operations on Kotlin Collections
Урок 40. 00:09:50
FlatMap Operations in Collections
Урок 41. 00:08:18
Working With HashMaps
Урок 42. 00:10:35
Lazy Evaluation of Collections using Sequences
Урок 43. 00:03:46
Nullability in Collections
Урок 44. 00:06:57
Handling Exceptions using try-catch
Урок 45. 00:04:22
Introduction to Scope Functions
Урок 46. 00:07:19
apply & also Scope Function
Урок 47. 00:06:23
let Scope Function
Урок 48. 00:09:15
with & run Scope Function
Урок 49. 00:05:24
Overview of the app & Project Setup
Урок 50. 00:04:03
Build a Simple Endpoint - Greeting Controller
Урок 51. 00:02:59
Constructor Injection in Spring
Урок 52. 00:08:47
Setting up different profiles in Spring Boot
Урок 53. 00:03:16
Set up Logging in Kotlin
Урок 54. 00:05:50
Introduction to Automated Tests & Setting up JUnit5
Урок 55. 00:07:58
Integration Test for Controller
Урок 56. 00:05:31
Unit Test for Controller - Using the Mockk Mocking library
Урок 57. 00:04:37
Set up the Course Entity & CourseDTO
Урок 58. 00:06:58
Create CourseRepository & Configure JPA in application.yml file
Урок 59. 00:09:48
Build the POST Endpoint for adding new Course
Урок 60. 00:05:50
Integration test for the POST endpoint using JUnit5
Урок 61. 00:03:07
Build the Get Endpoint to retrieve all Courses
Урок 62. 00:06:19
Integration test for the GET endpoint to retrieve all the courses
Урок 63. 00:10:25
Build the Update Endpoint to update a Course
Урок 64. 00:04:26
Integration test for the PUT endpoint using JUnit5
Урок 65. 00:04:10
Build the DELETE endpoint to delete a Course
Урок 66. 00:02:10
Setting up the Unit Test for the CourseController
Урок 67. 00:03:28
Unit test for the Post Endpoint in CourseController
Урок 68. 00:02:30
Unit test for the GET Endpoint in CourseController
Урок 69. 00:03:05
Unit test for the PUT Endpoint in CourseController
Урок 70. 00:01:49
Unit test for the DELETE Endpoint in CourseController
Урок 71. 00:05:08
Name and Category as Mandatory using @NotBlank Annotation
Урок 72. 00:08:10
Implement Custom Error Handling using ControllerAdvice pattern
Урок 73. 00:04:27
Handle Global RuntimeException using ControllerAdvice Pattern
Урок 74. 00:07:16
Retrieve Courses By Name using JPA Query Creation Function
Урок 75. 00:02:38
Retrieve Courses By Name using Native SQL query
Урок 76. 00:05:35
Testing Mutliple sets of Data using @Parameterized test
Урок 77. 00:02:58
Use existing GET endpoint to retrieve Courses by Name
Урок 78. 00:02:49
Write Integration test to retrieve course by Name
Урок 79. 00:02:33
Adding Instructor Entity in to the Course Catalog Service
Урок 80. 00:05:56
Adding the relationship in the Entity Class
Урок 81. 00:05:28
Instructor Controller to Manage Instructor Data
Урок 82. 00:10:19
Update CourseService to validate Instructor Data
Урок 83. 00:05:45
Fix the CourseController Integration Tests
Урок 84. 00:01:11
Fix the CourseController Unit Tests
Урок 85. 00:07:41
Setting up the Postgres DB and App to interact with Postgres
Урок 86. 00:07:52
Test the app with Postgres DB
Урок 87. 00:09:03
Setting Up TestContainers for the Integration Test
Урок 88. 00:04:24
Configure @DataJpaTest with TestContainers
Урок 89. 00:03:47
Invoking Kotlin Code from Java Class
Урок 90. 00:04:05
Invoking Java Code from Kotlin
Урок 91. 00:10:32
Useful JVM annotations in Kotlin