1. Урок 1.00:02:07
    Course Introduction
  2. Урок 2.00:01:04
    Prerequisites
  3. Урок 3.00:08:59
    Why Reactive Programming ?
  4. Урок 4.00:07:44
    Traditional Rest API Design - How it works ?
  5. Урок 5.00:09:32
    What is Reactive Programming ?
  6. Урок 6.00:07:58
    Reactive Streams Specification
  7. Урок 7.00:03:34
    Reactive Libraries
  8. Урок 8.00:01:20
    Introduction to Project Reactor
  9. Урок 9.00:07:31
    Reactor Types - Flux and Mono
  10. Урок 10.00:07:11
    Project Setup
  11. Урок 11.00:12:15
    Flux - How it works ?
  12. Урок 12.00:10:17
    Flux - Learn to write JUNIT Tests
  13. Урок 13.00:04:44
    Mono - How it works and write Junit Tests
  14. Урок 14.00:16:39
    Flux/Mono - Exploring Factory methods
  15. Урок 15.00:04:27
    Filtering a Reactive Stream
  16. Урок 16.00:08:28
    Transforming a Reactive Stream using map
  17. Урок 17.00:17:17
    Transforming a Reactive Stream using flatMap
  18. Урок 18.00:12:37
    Combining Reactive Streams
  19. Урок 19.00:16:27
    Handling Errors in a Reactive Stream
  20. Урок 20.00:10:59
    Infinite Reactive Stream
  21. Урок 21.00:14:23
    Back Pressure - How it works ?
  22. Урок 22.00:01:09
    Push/Pull Communication Model
  23. Урок 23.00:08:10
    Hot vs Cold Reactive Streams
  24. Урок 24.00:08:59
    Virtualizing Time in Junit
  25. Урок 25.00:01:55
    How to get help ?
  26. Урок 26.00:03:17
    Introduction to Spring Boot 2
  27. Урок 27.00:09:34
    Build the Simple Non Blocking API
  28. Урок 28.00:15:56
    Junit : Test for Non Blocking API using WebTestClient
  29. Урок 29.00:08:59
    Junit : Test for infinite Non Blocking Sequence API using WebTestClient
  30. Урок 30.00:04:08
    Build the simple Non Blocking API - Mono
  31. Урок 31.00:02:13
    Introduction to Functional Web in Spring WebFlux
  32. Урок 32.00:10:13
    Build the simple Non Blocking API using Handler and Router Functions
  33. Урок 33.00:08:09
    Junit : Test for Functional EndPoint using WebTestClient
  34. Урок 34.00:07:38
    Spring WebFlux - Behind the Scenes
  35. Урок 35.00:06:58
    Introduction to Netty - Channel, EventLoops
  36. Урок 36.00:06:32
    Netty - End to End, Threads, Execution Model
  37. Урок 37.00:01:54
    Application Overview
  38. Урок 38.00:05:18
    Setting up Mongo DB
  39. Урок 39.00:09:36
    Spring Profiles
  40. Урок 40.00:03:03
    Build the "Item" Document
  41. Урок 41.00:02:01
    Build the Reactive Item Mongo Repository
  42. Урок 42.00:12:23
    Reactive Mongo Repository operations using JUNIT - Read - Part1
  43. Урок 43.00:05:01
    Reactive Mongo Repository operations using JUNIT - Read - Part2
  44. Урок 44.00:05:10
    Reactive Mongo Repository operations using JUNIT - Custom Read Operation
  45. Урок 45.00:05:05
    Reactive Mongo Repository operations using JUNIT - Insert
  46. Урок 46.00:04:50
    Reactive Mongo Repository operations using JUNIT - Update
  47. Урок 47.00:08:25
    Reactive Mongo Repository operations using JUNIT - Delete
  48. Урок 48.00:06:12
    Build Artifact
  49. Урок 49.00:06:48
    Get All Items
  50. Урок 50.00:08:23
    Initialize the data using CommandLineRunner
  51. Урок 51.00:09:34
    Get All Items - JUNIT Test using WebTestClient - Part 1
  52. Урок 52.00:05:40
    Get All Items - JUNIT Test using WebTestClient - Part 2
  53. Урок 53.00:06:57
    Get a Single Item
  54. Урок 54.00:06:09
    Create an Item EndPoint
  55. Урок 55.00:04:32
    Delete an Item Endpoint
  56. Урок 56.00:05:19
    Update an Item Endpoint
  57. Урок 57.00:09:23
    Update an Item Endpoint - JUNIT
  58. Урок 58.00:02:18
    Setting up the Router Function and Handler Function for Item Reactive API
  59. Урок 59.00:05:13
    Get All Items - Functional Endpoint
  60. Урок 60.00:02:55
    Get All Items - JUNIT Test using WebTestClient
  61. Урок 61.00:07:38
    Get a Single Item - Functional Endpoint
  62. Урок 62.00:04:36
    Create an Item - Functional Endpoint
  63. Урок 63.00:03:30
    Delete an Item - Functional Endpoint
  64. Урок 64.00:06:39
    Update an Item - Functional Endpoint
  65. Урок 65.00:06:16
    Setting up the Item WebClient Project
  66. Урок 66.00:10:53
    Explore the retrieve() and exchange() in WebClient
  67. Урок 67.00:06:26
    Passing Path Variable using WebClient
  68. Урок 68.00:05:39
    Post call using WebClient
  69. Урок 69.00:06:24
    PUT call using WebClient
  70. Урок 70.00:03:53
    Delete call using WebClient
  71. Урок 71.00:08:13
    Handling Exceptions using @ExceptionHandler
  72. Урок 72.00:03:06
    Handling Exceptions using @ControllerAdvice
  73. Урок 73.00:02:48
    Handling Exceptions in Controller - JUNIT
  74. Урок 74.00:05:01
    Default Exception Behavior - Functional Web
  75. Урок 75.00:06:41
    Handling Exceptions using AbstractErrorWebExceptionHandler
  76. Урок 76.00:02:54
    Handling Exceptions in Functional Web - JUNIT
  77. Урок 77.00:08:08
    Handling Errors in WebClient - retrieve()
  78. Урок 78.00:05:08
    Handling Errors in WebClient - exchange()
  79. Урок 79.00:02:35
    What is a Streaming EndPoint ?
  80. Урок 80.00:05:08
    Setting up the Capped Collection - MongoDB
  81. Урок 81.00:02:28
    Build the Reactive ItemCapped Mongo Repository
  82. Урок 82.00:06:45
    Initialize the data using CommandLineRunner
  83. Урок 83.00:05:29
    Build the Stream Endpoint using Controller
  84. Урок 84.00:07:54
    JUNIT Test for Streaming endpoint using Controller
  85. Урок 85.00:05:38
    Build the Stream Endpoint using Functional Web
  86. Урок 86.00:02:40
    JUNIT Test for Streaming endpoint using Functional Web