|
| 1 | +--- |
| 2 | +date: 2021-04-09T17:50:13+01:00 |
| 3 | +title: Courses |
| 4 | +weight: 1 |
| 5 | +type: index |
| 6 | +menu: |
| 7 | + main: |
| 8 | + identifier: tutorial-courses |
| 9 | + parent: Tutorials |
| 10 | + url: /tutorials/courses/ |
| 11 | +--- |
| 12 | + |
| 13 | + |
| 14 | +## 1 - Introduction, Dependencies, IDE Setup |
| 15 | +{{< youtube id="nju6jFW8CVw" >}} |
| 16 | +{{< youtube-badges id="nju6jFW8CVw" playlistIndex="1" >}} |
| 17 | + |
| 18 | +## 2 - Creating your first Schema and Query |
| 19 | +{{< youtube id="rH2kdMPUQpQ" >}} |
| 20 | +{{< youtube-badges id="rH2kdMPUQpQ" playlistIndex="2" >}} |
| 21 | + |
| 22 | + |
| 23 | +## 3 - Schema Design Best Practices |
| 24 | +{{< youtube id="zc3KHikd9ko" >}} |
| 25 | +{{< youtube-badges id="zc3KHikd9ko" playlistIndex="3" >}} |
| 26 | + |
| 27 | +## 4 - DDOS, Recursion, Max Query Depth Limit |
| 28 | +{{< youtube id="JRh5Rd6Reis" >}} |
| 29 | +{{< youtube-badges id="JRh5Rd6Reis" playlistIndex="4" >}} |
| 30 | + |
| 31 | +## 5 - Playground GraphQL IDE |
| 32 | +{{< youtube id="4bheCHi5zKs" >}} |
| 33 | +{{< youtube-badges id="4bheCHi5zKs" playlistIndex="5" >}} |
| 34 | + |
| 35 | +## 6 - Voyager Schema Visualizer |
| 36 | +{{< youtube id="46zhRqEuvBI" >}} |
| 37 | +{{< youtube-badges id="46zhRqEuvBI" playlistIndex="6" >}} |
| 38 | + |
| 39 | +## 7 - Resolvers |
| 40 | +{{< youtube id="Lmwqb7BGtQ0" >}} |
| 41 | +{{< youtube-badges id="Lmwqb7BGtQ0" playlistIndex="7" >}} |
| 42 | + |
| 43 | +## 8 - Exception Handling with ExceptionHandler |
| 44 | +{{< youtube id="p3mA1OQg1kc" >}} |
| 45 | +{{< youtube-badges id="p3mA1OQg1kc" playlistIndex="8" >}} |
| 46 | + |
| 47 | +## 9 - Exception Handling with GraphQLErrorHandler |
| 48 | +{{< youtube id="bbfsak5i8Ok" >}} |
| 49 | +{{< youtube-badges id="bbfsak5i8Ok" playlistIndex="9" >}} |
| 50 | + |
| 51 | +## 10 - DataFetcherResult - Returning data and errors |
| 52 | +{{< youtube id="zjT9Jy276" >}} |
| 53 | +{{< youtube-badges id="zjT9Jy276" playlistIndex="10" >}} |
| 54 | + |
| 55 | +## 11 - Asynchronous Resolvers |
| 56 | +{{< youtube id="UOyIQCsVii4" >}} |
| 57 | +{{< youtube-badges id="UOyIQCsVii4" playlistIndex="11" >}} |
| 58 | + |
| 59 | +## 12 - Mutation |
| 60 | +{{< youtube id="NR0HwkLhWAk" >}} |
| 61 | +{{< youtube-badges id="NR0HwkLhWAk" playlistIndex="12" >}} |
| 62 | + |
| 63 | +## 13 - File Upload |
| 64 | +{{< youtube id="8SDGusSKV1o" >}} |
| 65 | +{{< youtube-badges id="8SDGusSKV1o" playlistIndex="13" >}} |
| 66 | + |
| 67 | +## 14 - DataFetchingEnvironment |
| 68 | +{{< youtube id="_sILQm0axSw" >}} |
| 69 | +{{< youtube-badges id="_sILQm0axSw" playlistIndex="14" >}} |
| 70 | + |
| 71 | +## 15 - SelectionSet |
| 72 | +{{< youtube id="9vmKzs1P10I" >}} |
| 73 | +{{< youtube-badges id="9vmKzs1P10I" playlistIndex="15" >}} |
| 74 | + |
| 75 | +## 16 - Custom Scalar |
| 76 | +{{< youtube id="6LGlR-oTN3A" >}} |
| 77 | +{{< youtube-badges id="6LGlR-oTN3A" playlistIndex="16" >}} |
| 78 | + |
| 79 | +## 17 - Date Type |
| 80 | +{{< youtube id="jH5zHnq_0ZQ" >}} |
| 81 | +{{< youtube-badges id="jH5zHnq_0ZQ" playlistIndex="17" >}} |
| 82 | + |
| 83 | +## 18 - Input Validation (Method 1 - Bean) |
| 84 | +{{< youtube id="gmbVyZvGCIE" >}} |
| 85 | +{{< youtube-badges id="gmbVyZvGCIE" playlistIndex="18" >}} |
| 86 | + |
| 87 | +## 20 - Listener |
| 88 | +{{< youtube id="nybkMHHyXUk" >}} |
| 89 | +{{< youtube-badges id="nybkMHHyXUk" playlistIndex="20" >}} |
| 90 | + |
| 91 | +## 21 - Pagination (Edges, Nodes, Cursor) |
| 92 | +{{< youtube id="J9Nq0Fq7t_8" >}} |
| 93 | +{{< youtube-badges id="J9Nq0Fq7t_8" playlistIndex="21" >}} |
| 94 | + |
| 95 | +## 22 - Custom Context |
| 96 | +{{< youtube id="YsM2VSnWUcg" >}} |
| 97 | +{{< youtube-badges id="YsM2VSnWUcg" playlistIndex="22" >}} |
| 98 | + |
| 99 | +## 23 - DataLoader (N+1 problem) |
| 100 | +{{< youtube id="tbxskis_ny4" >}} |
| 101 | +{{< youtube-badges id="tbxskis_ny4" playlistIndex="23" >}} |
| 102 | + |
| 103 | +## 24 - Instrumentation (Request Logging) |
| 104 | +{{< youtube id="fPfApe80amg" >}} |
| 105 | +{{< youtube-badges id="fPfApe80amg" playlistIndex="24" >}} |
| 106 | + |
| 107 | +## 25 - Request Tracing |
| 108 | +{{< youtube id="b5o6w-WA9iM" >}} |
| 109 | +{{< youtube-badges id="b5o6w-WA9iM" playlistIndex="25" >}} |
| 110 | + |
| 111 | +#26 - Correlation ID (Thread propagation) |
| 112 | +{{< youtube id="17AFe2eCRqc" >}} |
| 113 | +{{< youtube-badges id="17AFe2eCRqc" playlistIndex="26" >}} |
| 114 | + |
| 115 | +#27 - Integration Testing (GraphQLTestTemplate) |
| 116 | +{{< youtube id="bdfEjn6xZx0" >}} |
| 117 | +{{< youtube-badges id="bdfEjn6xZx0" playlistIndex="27" >}} |
| 118 | + |
| 119 | +#28 - JS GraphQL IntelliJ Plugin |
| 120 | +{{< youtube id="hFHxOlThFR4" >}} |
| 121 | +{{< youtube-badges id="hFHxOlThFR4" playlistIndex="28" >}} |
| 122 | + |
| 123 | +## 29 – JVM Profiling (VisualVM, JMeter) |
| 124 | +{{< youtube id="Bu-P0aZyOfE" >}} |
| 125 | +{{< youtube-badges id="Bu-P0aZyOfE" playlistIndex="29" >}} |
| 126 | + |
| 127 | +## 30 – DataLoader Key Context |
| 128 | +{{< youtube id="nuRYRRAQh_Y" >}} |
| 129 | +{{< youtube-badges id="nuRYRRAQh_Y" playlistIndex="30" >}} |
| 130 | + |
| 131 | +## 31 – Spring Security |
| 132 | +{{< youtube id="_T_0VB3AoV4" >}} |
| 133 | +{{< youtube-badges id="_T_0VB3AoV4" playlistIndex="31" >}} |
| 134 | + |
| 135 | +## 32 – Schema Directive Validation |
| 136 | +{{< youtube id="DN9XyUZ8yq8" >}} |
| 137 | +{{< youtube-badges id="DN9XyUZ8yq8" playlistIndex="32" >}} |
| 138 | + |
| 139 | +## 33 – Subscription with Reactor |
| 140 | +{{< youtube id="I3NBPHA5coo" >}} |
| 141 | +{{< youtube-badges id="I3NBPHA5coo" playlistIndex="33" >}} |
0 commit comments