Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Typelevel Rite of Passage, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:17:41
    Intro & Setup
  2. Урок 2. 00:20:51
    Foundations: Cats
  3. Урок 3. 00:38:47
    Foundations: Cats Effect
  4. Урок 4. 00:26:23
    Foundations: Doobie
  5. Урок 5. 00:31:20
    Foundations: Http4s
  6. Урок 6. 00:37:02
    Backend Scaffolding
  7. Урок 7. 00:14:01
    Jobs Endpoints
  8. Урок 8. 00:21:45
    Jobs Endpoints Implementation
  9. Урок 9. 00:18:14
    Logging & Debugging Infra
  10. Урок 10. 00:24:41
    Jobs Core Module, aka "Algebra"
  11. Урок 11. 00:17:34
    Running Jobs "Algebra"
  12. Урок 12. 00:24:49
    A Full Jobs CRUD App
  13. Урок 13. 00:13:47
    Adding Database Configuration
  14. Урок 14. 00:24:49
    Testing: Jobs HTTP API
  15. Урок 15. 00:29:42
    Testing: Jobs
  16. Урок 16. 00:33:11
    HTTP Payload Validation
  17. Урок 17. 00:27:12
    Filtering and Pagination
  18. Урок 18. 00:11:43
    Finishing Tests
  19. Урок 19. 00:44:02
    Users with TDD
  20. Урок 20. 00:14:52
    Designing the Auth API
  21. Урок 21. 00:27:50
    Auth TDD-Style
  22. Урок 22. 00:26:36
    Auth Implementation
  23. Урок 23. 00:12:12
    Auth HTTP API
  24. Урок 24. 00:27:54
    Auth HTTP, TDD-Style
  25. Урок 25. 00:28:27
    Auth HTTP Implementation
  26. Урок 26. 00:15:44
    Auth HTTP Validation
  27. Урок 27. 00:32:56
    Role-Based Access Control (RBAC)
  28. Урок 28. 00:27:30
    Integrating the Auth Stack
  29. Урок 29. 00:09:59
    Taking the Backend for a Spin
  30. Урок 30. 00:24:39
    Protecting Jobs HTTP Endpoints
  31. Урок 31. 00:28:12
    A Quick Refactor
  32. Урок 32. 00:31:37
    Password Recovery: Tokens
  33. Урок 33. 00:30:49
    Password Recovery: Sending Emails
  34. Урок 34. 00:24:22
    Password Recovery: Finishing Up
  35. Урок 35. 00:21:42
    Completing the Server
  36. Урок 36. 00:22:51
    Inception: Adding ScalaJS
  37. Урок 37. 00:26:16
    Foundations: Tyrian
  38. Урок 38. 00:34:24
    Single-Page Application (SPA) Routing
  39. Урок 39. 00:14:26
    Adding a Header with Links
  40. Урок 40. 00:24:24
    Adding Pages
  41. Урок 41. 00:26:45
    Signing Up
  42. Урок 42. 00:32:43
    Signing Up: Interacting with the Backend
  43. Урок 43. 00:16:14
    Logging In
  44. Урок 44. 00:14:00
    User Sessions
  45. Урок 45. 00:19:10
    Session Cookies
  46. Урок 46. 00:25:51
    Logging Out
  47. Урок 47. 00:13:33
    Invalidating User Sessions
  48. Урок 48. 00:27:32
    The "Forgot Password" Flow
  49. Урок 49. 00:32:53
    Resetting Password
  50. Урок 50. 00:21:16
    Profile Page
  51. Урок 51. 00:35:33
    Posting Jobs
  52. Урок 52. 00:26:15
    Uploading Files
  53. Урок 53. 00:31:45
    Showing the Job List
  54. Урок 54. 00:24:18
    Implementing Backend Filters
  55. Урок 55. 00:23:37
    Adding a Filter Panel
  56. Урок 56. 00:34:36
    The Filter Panel UI
  57. Урок 57. 00:36:15
    Displaying Individual Jobs and Rendering Markdown
  58. Урок 58. 00:17:47
    Header
  59. Урок 59. 00:20:33
    Job Filter Panel
  60. Урок 60. 00:30:01
    Job List Page
  61. Урок 61. 00:27:51
    Job Page
  62. Урок 62. 00:26:16
    Auth Pages
  63. Урок 63. 00:16:45
    Post Job Page
  64. Урок 64. 00:15:49
    Stripe Integration Overview
  65. Урок 65. 00:26:45
    Stripe Endpoints
  66. Урок 66. 00:32:17
    Stripe Webhooks
  67. Урок 67. 00:30:47
    Full-Stack Integration
  68. Урок 68. 00:49:12
    Preparing the App for the World: Finishing Touches
  69. Урок 69. 00:27:48
    Deployment, Part 1: Dockerized Server
  70. Урок 70. 00:30:50
    Deployment, Part 2: Frontend
  71. Урок 71. 00:16:36
    JWTs & Suboptimal Database Queries