|
8 | 8 |
|
9 | 9 | [Цикл статей](https://dev.to/techschoolguru/series/7172)
|
10 | 10 |
|
11 |
| -[YouTube ролики](https://www.youtube.com/watch?v=rx6CPDK_5mU&list=PLy_6D98if3ULEtXtNSY_2qN21VCKgoQAE) |
| 11 | +[YouTube ролики](https://www.youtube.com/watch?v=rx6CPDK_5mU&list=PLy_6D98if3ULEtXtNSY_2qN21VCKgoQAE) |
| 12 | + |
| 13 | +Содержание (Content) |
| 14 | + |
| 15 | +[1. Проектируем схему БД и генерируем SQL код с помощью dbdiagram.io](docs/part1.md) |
| 16 | + |
| 17 | +[2. Устанавливаем и используем Docker + Postgres + TablePlus для создания схема БД](docs/part2.md) |
| 18 | + |
| 19 | +[3. Как написать и запустить миграцию базы данных в Golang](docs/part3.md) |
| 20 | + |
| 21 | +[4. Генерируем CRUD Golang код из SQL | Сравниваем db/sql, gorm, sqlx, sqlc](docs/part4.md) |
| 22 | + |
| 23 | +[5. Пишем Go unit тесты для CRUD операций с базой данных со случайными данными](docs/part5.md) |
| 24 | + |
| 25 | +[6. Правильный способ реализовать транзакции в базе данных на Golang](docs/part6.md) |
| 26 | + |
| 27 | +[7. Блокировка транзакций БД и как справиться с взаимной блокировкой](docs/part7.md) |
| 28 | + |
| 29 | +[8. Как избежать взаимной блокировки в транзакции БД? Порядок запросов имеет значение!](docs/part8.md) |
| 30 | + |
| 31 | +[9. Разбираемся в уровнях изоляции и проблемах, возникающих при чтении записи в MySQL и PostgreSQL](docs/part9.md) |
| 32 | + |
| 33 | +[10. Как настроить Github Actions для Go + Postgres, чтобы запускать автоматические тесты](docs/part10.md) |
| 34 | + |
| 35 | +[11. Реализация RESTful HTTP API в Go с помощью Gin](docs/part11.md) |
| 36 | + |
| 37 | +[12. Загружаем настройки из файла и переменных окружения в Golang с помощью Viper](docs/part12.md) |
| 38 | + |
| 39 | +[13. Имитируем работу БД для тестирования HTTP API в Go и достижения 100% покрытия](docs/part13.md) |
| 40 | + |
| 41 | +[14. Реализуем API перевода денег со своим пользовательским валидатором параметров в Go](docs/part14.md) |
| 42 | + |
| 43 | +[15. Добавляем таблицу users с ограничениями по уникальности и внешним ключом в PostgreSQL](docs/part15.md) |
| 44 | + |
| 45 | +[16. Как правильно обрабатывать ошибки БД в Golang](docs/part16.md) |
| 46 | + |
| 47 | +[17. Как безопасно хранить пароли?](docs/part17.md) |
| 48 | + |
| 49 | +[18. Как написать усиленную версию unit тестов, используя свой пользовательский go-mock сопоставитель](docs/part18.md) |
| 50 | + |
| 51 | +[19. Почему PASETO лучше JWT для аутентификации с использованием токенов?](docs/part19.md) |
| 52 | + |
| 53 | +[20. Как создать и проверить JWT и PASETO токен в Golang](docs/part20.md) |
| 54 | + |
| 55 | +[21. Реализуем API для входа пользователя в систему, который возвращает PASETO или JWT токен доступа на Go](docs/part21.md) |
0 commit comments