Михаил Непряхин - Обучение языку Go и Go стеку (2026)
Torrent Information
DetailsGlobal Parameters
Identification Hash
868666BB9DF9690617F453B385B8D87DB5B11A51
Community Trust & Feedback
Files (2033)
1. Записи лекций
70 files • 13.92 GB
001-1 Вводная лекция.mp4
1. Записи лекций/001-1 Вводная лекция.mp4
001-2 Вводная лекция.mp4
1. Записи лекций/001-2 Вводная лекция.mp4
002 Компилятор Go, работа с пакетами.mp4
1. Записи лекций/002 Компилятор Go, работа с пакетами.mp4
003 Приватные модули, массивы, устройство слайсов.mp4
1. Записи лекций/003 Приватные модули, массивы, устройство слайсов.mp4
004 Условные конструкции, циклы, структуры, методы, функции.mp4
1. Записи лекций/004 Условные конструкции, циклы, структуры, методы, функции.mp4
005 Функции как тип, анонимные функции и замыкания. Указатели.mp4
1. Записи лекций/005 Функции как тип, анонимные функции и замыкания. Указатели.mp4
006 Слайсы. Задачи на указатели.mp4
1. Записи лекций/006 Слайсы. Задачи на указатели.mp4
007 Замыкания. Append в слайсах. Мапы до и после go 1.24.mp4
1. Записи лекций/007 Замыкания. Append в слайсах. Мапы до и после go 1.24.mp4
008 Решение задач на слайсы. Горутины, планировщик в Go.mp4
1. Записи лекций/008 Решение задач на слайсы. Горутины, планировщик в Go.mp4
009 Интерфейсы.mp4
1. Записи лекций/009 Интерфейсы.mp4
010 Ресиверы методов. Горутины. Каналы.mp4
1. Записи лекций/010 Ресиверы методов. Горутины. Каналы.mp4
011 Горутины и каналы.mp4
1. Записи лекций/011 Горутины и каналы.mp4
012 Docker и Kubernetes.mp4
1. Записи лекций/012 Docker и Kubernetes.mp4
013 Kubernetes. k3d.mp4
1. Записи лекций/013 Kubernetes. k3d.mp4
014 Архитектура проекта.mp4
1. Записи лекций/014 Архитектура проекта.mp4
015 Обзор реального проекта с БД.mp4
1. Записи лекций/015 Обзор реального проекта с БД.mp4
016 HTTP сервер и клиент, роутер и мидлвары, интеграционные тесты.mp4
1. Записи лекций/016 HTTP сервер и клиент, роутер и мидлвары, интеграционные тесты.mp4
017 Работа с ошибками. Логгер. Контекст.mp4
1. Записи лекций/017 Работа с ошибками. Логгер. Контекст.mp4
018 Option, Config. Работа с Postgres, миграции.mp4
1. Записи лекций/018 Option, Config. Работа с Postgres, миграции.mp4
019 SpecFirst подход. Генерация сервера и клиента по OpenAPI.mp4
1. Записи лекций/019 SpecFirst подход. Генерация сервера и клиента по OpenAPI.mp4
020 GRPC. Генерация сервера и клиента по proto файлу.mp4
1. Записи лекций/020 GRPC. Генерация сервера и клиента по proto файлу.mp4
021 Kafka.mp4
1. Записи лекций/021 Kafka.mp4
022 Kafka. Transactional Outbox pattern, S3.mp4
1. Записи лекций/022 Kafka. Transactional Outbox pattern, S3.mp4
023 Redis. Observability. Метрики, Prometheus и Grafana.mp4
1. Записи лекций/023 Redis. Observability. Метрики, Prometheus и Grafana.mp4
024 Логи. Трейсинг. Бенчмарки. Профилирование. Линтеры.mp4
1. Записи лекций/024 Логи. Трейсинг. Бенчмарки. Профилирование. Линтеры.mp4
025 Техническое собеседование в Тиньков, 1 этап.mp4
1. Записи лекций/025 Техническое собеседование в Тиньков, 1 этап.mp4
Запись чатов и субтитры
44 files • 4.29 MB
1
4 files • 221.82 KB
GMT20250805-165037_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/1/GMT20250805-165037_Recording.transcript.vtt
GMT20250805-165037_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/1/GMT20250805-165037_RecordingnewChat.txt
GMT20250805-180639_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/1/GMT20250805-180639_Recording.transcript.vtt
GMT20250805-180639_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/1/GMT20250805-180639_RecordingnewChat.txt
2
2 files • 189.24 KB
GMT20250807-165520_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/2/GMT20250807-165520_Recording.transcript.vtt
GMT20250807-165520_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/2/GMT20250807-165520_RecordingnewChat.txt
3
2 files • 187.27 KB
GMT20250812-165526_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/3/GMT20250812-165526_Recording.transcript.vtt
GMT20250812-165526_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/3/GMT20250812-165526_RecordingnewChat.txt
4
2 files • 181.83 KB
GMT20250814-165532_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/4/GMT20250814-165532_Recording.transcript.vtt
GMT20250814-165532_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/4/GMT20250814-165532_RecordingnewChat.txt
5
2 files • 206.4 KB
GMT20250819-165544_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/5/GMT20250819-165544_Recording.transcript.vtt
GMT20250819-165544_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/5/GMT20250819-165544_RecordingnewChat.txt
6
2 files • 233.16 KB
GMT20250821-165514_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/6/GMT20250821-165514_Recording.transcript.vtt
GMT20250821-165514_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/6/GMT20250821-165514_RecordingnewChat.txt
7
2 files • 216.12 KB
GMT20250826-165558_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/7/GMT20250826-165558_Recording.transcript.vtt
GMT20250826-165558_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/7/GMT20250826-165558_RecordingnewChat.txt
8
2 files • 219.67 KB
GMT20250828-165520_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/8/GMT20250828-165520_Recording.transcript.vtt
GMT20250828-165520_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/8/GMT20250828-165520_RecordingnewChat.txt
9
2 files • 208.64 KB
GMT20250902-165535_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/9/GMT20250902-165535_Recording.transcript.vtt
GMT20250902-165535_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/9/GMT20250902-165535_RecordingnewChat.txt
10
2 files • 255.69 KB
GMT20250904-165539_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/10/GMT20250904-165539_Recording.transcript.vtt
GMT20250904-165539_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/10/GMT20250904-165539_RecordingnewChat.txt
11
2 files • 190.16 KB
GMT20250909-165555_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/11/GMT20250909-165555_Recording.transcript.vtt
GMT20250909-165555_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/11/GMT20250909-165555_RecordingnewChat.txt
12
2 files • 214.79 KB
GMT20250911-165516_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/12/GMT20250911-165516_Recording.transcript.vtt
GMT20250911-165516_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/12/GMT20250911-165516_RecordingnewChat.txt
13
2 files • 198.24 KB
GMT20250916-165405_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/13/GMT20250916-165405_Recording.transcript.vtt
GMT20250916-165405_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/13/GMT20250916-165405_RecordingnewChat.txt
14
2 files • 212.47 KB
GMT20250918-165601_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/14/GMT20250918-165601_Recording.transcript.vtt
GMT20250918-165601_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/14/GMT20250918-165601_RecordingnewChat.txt
15
2 files • 217.3 KB
GMT20250923-165746_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/15/GMT20250923-165746_Recording.transcript.vtt
GMT20250923-165746_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/15/GMT20250923-165746_RecordingnewChat.txt
16
2 files • 232.41 KB
GMT20250925-165518_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/16/GMT20250925-165518_Recording.transcript.vtt
GMT20250925-165518_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/16/GMT20250925-165518_RecordingnewChat.txt
17
2 files • 196.36 KB
GMT20251002-165515_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/17/GMT20251002-165515_Recording.transcript.vtt
GMT20251002-165515_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/17/GMT20251002-165515_RecordingnewChat.txt
18
2 files • 219.16 KB
GMT20251007-165540_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/18/GMT20251007-165540_Recording.transcript.vtt
GMT20251007-165540_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/18/GMT20251007-165540_RecordingnewChat.txt
19
2 files • 190.78 KB
GMT20251009-165535_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/19/GMT20251009-165535_Recording.transcript.vtt
GMT20251009-165535_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/19/GMT20251009-165535_RecordingnewChat.txt
20
2 files • 189.29 KB
GMT20251014-165625_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/20/GMT20251014-165625_Recording.transcript.vtt
GMT20251014-165625_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/20/GMT20251014-165625_RecordingnewChat.txt
21
2 files • 211.68 KB
GMT20251016-165534_Recording.transcript.vtt
1. Записи лекций/Запись чатов и субтитры/21/GMT20251016-165534_Recording.transcript.vtt
GMT20251016-165534_RecordingnewChat.txt
1. Записи лекций/Запись чатов и субтитры/21/GMT20251016-165534_RecordingnewChat.txt
Дополнительный видео
32 files • 7.2 GB
Deep-dive в планировщик Go, или Зачем мне воровать горутины Андрей Щипило (YADRO).mp4
Дополнительный видео/Deep-dive в планировщик Go, или Зачем мне воровать горутины Андрей Щипило (YADRO).mp4
Go Channels Internals Егор Гришечко (Insolar).mp4
Дополнительный видео/Go Channels Internals Егор Гришечко (Insolar).mp4
GopherCon 2021 Queues, Fairness, and The Go Scheduler - Madhav Jivrajani.mp4
Дополнительный видео/GopherCon 2021 Queues, Fairness, and The Go Scheduler - Madhav Jivrajani.mp4
layout-main.zip
Дополнительный видео/layout-main.zip
potok-2-example-main.zip
Дополнительный видео/potok-2-example-main.zip
Prometheus и PromQL — основы сбора метрик.mp4
Дополнительный видео/Prometheus и PromQL — основы сбора метрик.mp4
TRANSACTIONAL OUTBOX Главный Паттерн Микросервисной Архитектуры.mp4
Дополнительный видео/TRANSACTIONAL OUTBOX Главный Паттерн Микросервисной Архитектуры.mp4
Владимир Хориков — Domain-driven design Cамое важное.mp4
Дополнительный видео/Владимир Хориков — Domain-driven design Cамое важное.mp4
Внутреннее устройство каналов в Go.mp4
Дополнительный видео/Внутреннее устройство каналов в Go.mp4
Внутреннее устройство мьютексов в Go.mp4
Дополнительный видео/Внутреннее устройство мьютексов в Go.mp4
Внутреннее устройство планировщика Go Демо-занятие курса «Golang Developer. Professional».mp4
Дополнительный видео/Внутреннее устройство планировщика Go Демо-занятие курса «Golang Developer. Professional».mp4
Выравнивание структур данных в Go.mp4
Дополнительный видео/Выравнивание структур данных в Go.mp4
Денис Цветцих. Чистая Архитектура и DDD 10 лет спустя.mp4
Дополнительный видео/Денис Цветцих. Чистая Архитектура и DDD 10 лет спустя.mp4
Дмитрий Елисеев «DDD. Почему это правильно, и почему не работает».mp4
Дополнительный видео/Дмитрий Елисеев «DDD. Почему это правильно, и почему не работает».mp4
ИТМО - Проект. ПО - Лекция 13 - Prometheus. Counter, Gauge. Запросы и агрегации. Grafana.mp4
Дополнительный видео/ИТМО - Проект. ПО - Лекция 13 - Prometheus. Counter, Gauge. Запросы и агрегации. Grafana.mp4
ИТМО - Проект. ПО - Лекция 14 - Prometheus. Counter, Gauge, Summary, Histogram. Quantiles. Grafana.mp4
Дополнительный видео/ИТМО - Проект. ПО - Лекция 14 - Prometheus. Counter, Gauge, Summary, Histogram. Quantiles. Grafana.mp4
Как на самом деле устроен тип Map в Golang Golang под капотом.mp4
Дополнительный видео/Как на самом деле устроен тип Map в Golang Golang под капотом.mp4
Как приручить DDD Константин Густов (Райффайзенбанк).mp4
Дополнительный видео/Как приручить DDD Константин Густов (Райффайзенбанк).mp4
Как устроен планировщик в Golang Олег Козырев, Авито.mp4
Дополнительный видео/Как устроен планировщик в Golang Олег Козырев, Авито.mp4
Линтеры в Go как их готовить. Денис Исаев, Яндекс.mp4
Дополнительный видео/Линтеры в Go как их готовить. Денис Исаев, Яндекс.mp4
Новая map в Golang map в go под капотом.mp4
Дополнительный видео/Новая map в Golang map в go под капотом.mp4
Новые мапы в Go. Вова Марунин, Clatch, МТС.mp4
Дополнительный видео/Новые мапы в Go. Вова Марунин, Clatch, МТС.mp4
Оптимизация хранения transactional outbox в Postgres — Николай Рудопас, Т-Банк.mp4
Дополнительный видео/Оптимизация хранения transactional outbox в Postgres — Николай Рудопас, Т-Банк.mp4
Паттерн Outbox - теория и практика Архитектура Микросервисов.mp4
Дополнительный видео/Паттерн Outbox - теория и практика Архитектура Микросервисов.mp4
Планировщик Go — самый подробный гайд простым языком.mp4
Дополнительный видео/Планировщик Go — самый подробный гайд простым языком.mp4
Почему интерфейсы лучше размещать в месте использования - GoLang best practices.mp4
Дополнительный видео/Почему интерфейсы лучше размещать в месте использования - GoLang best practices.mp4
Про Kafka (основы).mp4
Дополнительный видео/Про Kafka (основы).mp4
Секреты внутреннего устройства планировщика Go.mp4
Дополнительный видео/Секреты внутреннего устройства планировщика Go.mp4
Ты не все знаешь о массивах и слайсах в Go.mp4
Дополнительный видео/Ты не все знаешь о массивах и слайсах в Go.mp4
Хеш-таблица Структуры данных и алгоритмы Изучение алгоритмов.mp4
Дополнительный видео/Хеш-таблица Структуры данных и алгоритмы Изучение алгоритмов.mp4
Что сказать на собеседовании про обработку топика Kafka.mp4
Дополнительный видео/Что сказать на собеседовании про обработку топика Kafka.mp4
Швейцария в картах Go путешествие по Swiss Tables Кирилл Кузин.mp4
Дополнительный видео/Швейцария в картах Go путешествие по Swiss Tables Кирилл Кузин.mp4
Исходный код уроков
1929 files • 95.46 MB
deploy-main-mnepryakhin-my-app.zip
Исходный код уроков/deploy-main-mnepryakhin-my-app.zip
my-app-main.zip
Исходный код уроков/my-app-main.zip
slice-task-main.zip
Исходный код уроков/slice-task-main.zip
lesson-2
10 files • 6.48 KB
1-compiler-install.md
Исходный код уроков/lesson-2/1-compiler-install.md
2-pkg-import.go
Исходный код уроков/lesson-2/2-pkg-import.go
3-commands.md
Исходный код уроков/lesson-2/3-commands.md
modules
7 files • 2.31 KB
Dockerfile
Исходный код уроков/lesson-2/modules/Dockerfile
go.mod
Исходный код уроков/lesson-2/modules/go.mod
go.sum
Исходный код уроков/lesson-2/modules/go.sum
cmd
1 files • 281 Bytes
app
1 files • 281 Bytes
main.go
Исходный код уроков/lesson-2/modules/cmd/app/main.go
internal
2 files • 443 Bytes
usecase
2 files • 443 Bytes
hello.go
Исходный код уроков/lesson-2/modules/internal/usecase/hello.go
hello_test.go
Исходный код уроков/lesson-2/modules/internal/usecase/hello_test.go
pkg
1 files • 15 Bytes
logger
1 files • 15 Bytes
logger.go
Исходный код уроков/lesson-2/modules/pkg/logger/logger.go
lesson-3
13 files • 13.35 KB
.gitignore
Исходный код уроков/lesson-3/.gitignore
go.mod
Исходный код уроков/lesson-3/go.mod
go.sum
Исходный код уроков/lesson-3/go.sum
home_work.md
Исходный код уроков/lesson-3/home_work.md
basic
7 files • 11.84 KB
1-const.go
Исходный код уроков/lesson-3/basic/1-const.go
2-vars.go
Исходный код уроков/lesson-3/basic/2-vars.go
3-arithmetic.go
Исходный код уроков/lesson-3/basic/3-arithmetic.go
4-conditional.go
Исходный код уроков/lesson-3/basic/4-conditional.go
5-bitwise.go
Исходный код уроков/lesson-3/basic/5-bitwise.go
6-types-and-sizes.go
Исходный код уроков/lesson-3/basic/6-types-and-sizes.go
7-array.go
Исходный код уроков/lesson-3/basic/7-array.go
example_private_libs
2 files • 731 Bytes
main.go
Исходный код уроков/lesson-3/example_private_libs/main.go
private_modules.md
Исходный код уроков/lesson-3/example_private_libs/private_modules.md
lesson-4
18 files • 30.8 KB
.gitignore
Исходный код уроков/lesson-4/.gitignore
basic
16 files • 29.53 KB
8-if-and-switch.go
Исходный код уроков/lesson-4/basic/8-if-and-switch.go
9-for.go
Исходный код уроков/lesson-4/basic/9-for.go
10.1-struct.go
Исходный код уроков/lesson-4/basic/10.1-struct.go
10.2-struct-fields.go
Исходный код уроков/lesson-4/basic/10.2-struct-fields.go
10.3-struct-methods.go
Исходный код уроков/lesson-4/basic/10.3-struct-methods.go
11.1-func.go
Исходный код уроков/lesson-4/basic/11.1-func.go
11.2-func-type.go
Исходный код уроков/lesson-4/basic/11.2-func-type.go
11.3-func-anonymous.go
Исходный код уроков/lesson-4/basic/11.3-func-anonymous.go
12-pointer.go
Исходный код уроков/lesson-4/basic/12-pointer.go
13-slice.go
Исходный код уроков/lesson-4/basic/13-slice.go
14-map.go
Исходный код уроков/lesson-4/basic/14-map.go
15-simple_cache.go
Исходный код уроков/lesson-4/basic/15-simple_cache.go
16-panic-recover.go
Исходный код уроков/lesson-4/basic/16-panic-recover.go
17-fmt.go
Исходный код уроков/lesson-4/basic/17-fmt.go
18-rune.go
Исходный код уроков/lesson-4/basic/18-rune.go
19-strings.go
Исходный код уроков/lesson-4/basic/19-strings.go
size-of
1 files • 1.26 KB
size-of.go
Исходный код уроков/lesson-4/size-of/size-of.go
lesson-5
16 files • 23.72 KB
.gitignore
Исходный код уроков/lesson-5/.gitignore
basic
10 files • 21.42 KB
11.2-first-class-func.go
Исходный код уроков/lesson-5/basic/11.2-first-class-func.go
11.3-anon-func.go
Исходный код уроков/lesson-5/basic/11.3-anon-func.go
12-pointer.go
Исходный код уроков/lesson-5/basic/12-pointer.go
13-slice.go
Исходный код уроков/lesson-5/basic/13-slice.go
14-map.go
Исходный код уроков/lesson-5/basic/14-map.go
15-simple_cache.go
Исходный код уроков/lesson-5/basic/15-simple_cache.go
16-panic-recover.go
Исходный код уроков/lesson-5/basic/16-panic-recover.go
17-fmt.go
Исходный код уроков/lesson-5/basic/17-fmt.go
18-rune.go
Исходный код уроков/lesson-5/basic/18-rune.go
19-strings.go
Исходный код уроков/lesson-5/basic/19-strings.go
size-of
1 files • 1.26 KB
size-of.go
Исходный код уроков/lesson-5/size-of/size-of.go
tasks
4 files • 1.03 KB
1-change.go
Исходный код уроков/lesson-5/tasks/1-change.go
2-change-name.go
Исходный код уроков/lesson-5/tasks/2-change-name.go
3-expression.go
Исходный код уроков/lesson-5/tasks/3-expression.go
4-process.go
Исходный код уроков/lesson-5/tasks/4-process.go
lesson-6
9 files • 10.3 KB
.gitignore
Исходный код уроков/lesson-6/.gitignore
1-create.go
Исходный код уроков/lesson-6/1-create.go
2-access.go
Исходный код уроков/lesson-6/2-access.go
3-slicing.go
Исходный код уроков/lesson-6/3-slicing.go
4-argument-and-return.go
Исходный код уроков/lesson-6/4-argument-and-return.go
5-append.go
Исходный код уроков/lesson-6/5-append.go
task.go
Исходный код уроков/lesson-6/task.go
task-append.go
Исходный код уроков/lesson-6/task-append.go
task-cap.go
Исходный код уроков/lesson-6/task-cap.go
lesson-7
12 files • 13.52 KB
.gitignore
Исходный код уроков/lesson-7/.gitignore
base
3 files • 3.22 KB
0-closure.go
Исходный код уроков/lesson-7/base/0-closure.go
1-closure.go
Исходный код уроков/lesson-7/base/1-closure.go
14-map.go
Исходный код уроков/lesson-7/base/14-map.go
slice
8 files • 10.29 KB
1-create.go
Исходный код уроков/lesson-7/slice/1-create.go
2-access.go
Исходный код уроков/lesson-7/slice/2-access.go
3-slicing.go
Исходный код уроков/lesson-7/slice/3-slicing.go
4-argument-and-return.go
Исходный код уроков/lesson-7/slice/4-argument-and-return.go
5-append.go
Исходный код уроков/lesson-7/slice/5-append.go
task.go
Исходный код уроков/lesson-7/slice/task.go
task-append.go
Исходный код уроков/lesson-7/slice/task-append.go
task-cap.go
Исходный код уроков/lesson-7/slice/task-cap.go
lesson-8
7 files • 1.88 KB
.gitignore
Исходный код уроков/lesson-8/.gitignore
1-task-slice.go
Исходный код уроков/lesson-8/1-task-slice.go
2-task-slice.go
Исходный код уроков/lesson-8/2-task-slice.go
3-task-slice.go
Исходный код уроков/lesson-8/3-task-slice.go
4-simple_cache.go
Исходный код уроков/lesson-8/4-simple_cache.go
5-goroutine.go
Исходный код уроков/lesson-8/5-goroutine.go
6-goroutine.go
Исходный код уроков/lesson-8/6-goroutine.go
lesson-9
12 files • 13 KB
1-simple_cache.go
Исходный код уроков/lesson-9/1-simple_cache.go
2-panic-recover.go
Исходный код уроков/lesson-9/2-panic-recover.go
3-fmt.go
Исходный код уроков/lesson-9/3-fmt.go
4-rune.go
Исходный код уроков/lesson-9/4-rune.go
5-strings.go
Исходный код уроков/lesson-9/5-strings.go
1-interface
4 files • 1.29 KB
go.mod
Исходный код уроков/lesson-9/1-interface/go.mod
main.go
Исходный код уроков/lesson-9/1-interface/main.go
pkg
2 files • 589 Bytes
file
1 files • 408 Bytes
writer.go
Исходный код уроков/lesson-9/1-interface/pkg/file/writer.go
stdout
1 files • 181 Bytes
std-out-writer.go
Исходный код уроков/lesson-9/1-interface/pkg/stdout/std-out-writer.go
2-nil-type-interface
1 files • 504 Bytes
nil-type.go
Исходный код уроков/lesson-9/2-nil-type-interface/nil-type.go
3-any-interface
1 files • 1.79 KB
any.go
Исходный код уроков/lesson-9/3-any-interface/any.go
4-pointer-reciever
1 files • 209 Bytes
reciever.go
Исходный код уроков/lesson-9/4-pointer-reciever/reciever.go
lesson-10
24 files • 14.79 KB
.gitignore
Исходный код уроков/lesson-10/.gitignore
1-reciever-and-interface
1 files • 290 Bytes
reciever.go
Исходный код уроков/lesson-10/1-reciever-and-interface/reciever.go
2-goroutine
7 files • 3.32 KB
1-goroutine.go
Исходный код уроков/lesson-10/2-goroutine/1-goroutine.go
2-data-race-counter.go
Исходный код уроков/lesson-10/2-goroutine/2-data-race-counter.go
3-mutex.go
Исходный код уроков/lesson-10/2-goroutine/3-mutex.go
4-atomic.go
Исходный код уроков/lesson-10/2-goroutine/4-atomic.go
5-wait-group.go
Исходный код уроков/lesson-10/2-goroutine/5-wait-group.go
6-long-operations.go
Исходный код уроков/lesson-10/2-goroutine/6-long-operations.go
7-once.go
Исходный код уроков/lesson-10/2-goroutine/7-once.go
3-channel
8 files • 5.98 KB
1-channel.go
Исходный код уроков/lesson-10/3-channel/1-channel.go
2-buffered.go
Исходный код уроков/lesson-10/3-channel/2-buffered.go
3-unbuffered.go
Исходный код уроков/lesson-10/3-channel/3-unbuffered.go
4-close.go
Исходный код уроков/lesson-10/3-channel/4-close.go
5-select.go
Исходный код уроков/lesson-10/3-channel/5-select.go
6-errors.go
Исходный код уроков/lesson-10/3-channel/6-errors.go
7-real-world.go
Исходный код уроков/lesson-10/3-channel/7-real-world.go
8-time-chan.go
Исходный код уроков/lesson-10/3-channel/8-time-chan.go
4-goroutine-patterns
4 files • 3.19 KB
1-single.go
Исходный код уроков/lesson-10/4-goroutine-patterns/1-single.go
2-in-chan.go
Исходный код уроков/lesson-10/4-goroutine-patterns/2-in-chan.go
3-in-out-chan.go
Исходный код уроков/lesson-10/4-goroutine-patterns/3-in-out-chan.go
4-out-chan.go
Исходный код уроков/lesson-10/4-goroutine-patterns/4-out-chan.go
5-worker-pool
3 files • 2 KB
1-worker-pool.go
Исходный код уроков/lesson-10/5-worker-pool/1-worker-pool.go
2-executing-and-stop.go
Исходный код уроков/lesson-10/5-worker-pool/2-executing-and-stop.go
3-quota.go
Исходный код уроков/lesson-10/5-worker-pool/3-quota.go
lesson-11
36 files • 21.08 KB
.gitignore
Исходный код уроков/lesson-11/.gitignore
1-channel
8 files • 5.98 KB
1-channel.go
Исходный код уроков/lesson-11/1-channel/1-channel.go
2-buffered.go
Исходный код уроков/lesson-11/1-channel/2-buffered.go
3-unbuffered.go
Исходный код уроков/lesson-11/1-channel/3-unbuffered.go
4-close.go
Исходный код уроков/lesson-11/1-channel/4-close.go
5-select.go
Исходный код уроков/lesson-11/1-channel/5-select.go
6-errors.go
Исходный код уроков/lesson-11/1-channel/6-errors.go
7-real-world.go
Исходный код уроков/lesson-11/1-channel/7-real-world.go
8-time-chan.go
Исходный код уроков/lesson-11/1-channel/8-time-chan.go
2-goroutine-patterns
4 files • 3.2 KB
1-single.go
Исходный код уроков/lesson-11/2-goroutine-patterns/1-single.go
2-in-chan.go
Исходный код уроков/lesson-11/2-goroutine-patterns/2-in-chan.go
3-in-out-chan.go
Исходный код уроков/lesson-11/2-goroutine-patterns/3-in-out-chan.go
4-out-chan.go
Исходный код уроков/lesson-11/2-goroutine-patterns/4-out-chan.go
3-worker-pool
3 files • 2.06 KB
1-worker-pool.go
Исходный код уроков/lesson-11/3-worker-pool/1-worker-pool.go
2-executing-and-stop.go
Исходный код уроков/lesson-11/3-worker-pool/2-executing-and-stop.go
3-quota.go
Исходный код уроков/lesson-11/3-worker-pool/3-quota.go
4-docker
4 files • 4.17 KB
1-docker-install.md
Исходный код уроков/lesson-11/4-docker/1-docker-install.md
2-access-token.md
Исходный код уроков/lesson-11/4-docker/2-access-token.md
3-usage.md
Исходный код уроков/lesson-11/4-docker/3-usage.md
4-docker-flow.md
Исходный код уроков/lesson-11/4-docker/4-docker-flow.md
5-docker-file
6 files • 1.67 KB
1-readme.md
Исходный код уроков/lesson-11/5-docker-file/1-readme.md
docker-compose.yaml
Исходный код уроков/lesson-11/5-docker-file/docker-compose.yaml
Dockerfile
Исходный код уроков/lesson-11/5-docker-file/Dockerfile
go.mod
Исходный код уроков/lesson-11/5-docker-file/go.mod
go.sum
Исходный код уроков/lesson-11/5-docker-file/go.sum
main.go
Исходный код уроков/lesson-11/5-docker-file/main.go
6-k3d
10 files • 3.99 KB
1-readme.md
Исходный код уроков/lesson-11/6-k3d/1-readme.md
k3d.yml
Исходный код уроков/lesson-11/6-k3d/k3d.yml
Makefile
Исходный код уроков/lesson-11/6-k3d/Makefile
manifest
3 files • 969 Bytes
01-deploy.yaml
Исходный код уроков/lesson-11/6-k3d/manifest/01-deploy.yaml
02-service.yaml
Исходный код уроков/lesson-11/6-k3d/manifest/02-service.yaml
03-ingress.yaml
Исходный код уроков/lesson-11/6-k3d/manifest/03-ingress.yaml
my-app
4 files • 1.03 KB
Dockerfile
Исходный код уроков/lesson-11/6-k3d/my-app/Dockerfile
go.mod
Исходный код уроков/lesson-11/6-k3d/my-app/go.mod
go.sum
Исходный код уроков/lesson-11/6-k3d/my-app/go.sum
main.go
Исходный код уроков/lesson-11/6-k3d/my-app/main.go
lesson-12
22 files • 15.9 KB
.gitignore
Исходный код уроков/lesson-12/.gitignore
README.md
Исходный код уроков/lesson-12/README.md
4-docker
4 files • 4.17 KB
1-docker-install.md
Исходный код уроков/lesson-12/4-docker/1-docker-install.md
2-access-token.md
Исходный код уроков/lesson-12/4-docker/2-access-token.md
3-usage.md
Исходный код уроков/lesson-12/4-docker/3-usage.md
4-docker-flow.md
Исходный код уроков/lesson-12/4-docker/4-docker-flow.md
5-docker-file
6 files • 1.67 KB
1-readme.md
Исходный код уроков/lesson-12/5-docker-file/1-readme.md
docker-compose.yaml
Исходный код уроков/lesson-12/5-docker-file/docker-compose.yaml
Dockerfile
Исходный код уроков/lesson-12/5-docker-file/Dockerfile
go.mod
Исходный код уроков/lesson-12/5-docker-file/go.mod
go.sum
Исходный код уроков/lesson-12/5-docker-file/go.sum
main.go
Исходный код уроков/lesson-12/5-docker-file/main.go
6-k3d
10 files • 3.99 KB
1-readme.md
Исходный код уроков/lesson-12/6-k3d/1-readme.md
k3d.yml
Исходный код уроков/lesson-12/6-k3d/k3d.yml
Makefile
Исходный код уроков/lesson-12/6-k3d/Makefile
manifest
3 files • 969 Bytes
01-deploy.yaml
Исходный код уроков/lesson-12/6-k3d/manifest/01-deploy.yaml
02-service.yaml
Исходный код уроков/lesson-12/6-k3d/manifest/02-service.yaml
03-ingress.yaml
Исходный код уроков/lesson-12/6-k3d/manifest/03-ingress.yaml
my-app
4 files • 1.03 KB
Dockerfile
Исходный код уроков/lesson-12/6-k3d/my-app/Dockerfile
go.mod
Исходный код уроков/lesson-12/6-k3d/my-app/go.mod
go.sum
Исходный код уроков/lesson-12/6-k3d/my-app/go.sum
main.go
Исходный код уроков/lesson-12/6-k3d/my-app/main.go
lesson-13
21 files • 9.74 KB
.gitignore
Исходный код уроков/lesson-13/.gitignore
4-docker
4 files • 4.07 KB
1-docker-install.md
Исходный код уроков/lesson-13/4-docker/1-docker-install.md
2-access-token.md
Исходный код уроков/lesson-13/4-docker/2-access-token.md
3-usage.md
Исходный код уроков/lesson-13/4-docker/3-usage.md
4-docker-flow.md
Исходный код уроков/lesson-13/4-docker/4-docker-flow.md
5-docker-file
6 files • 1.67 KB
1-readme.md
Исходный код уроков/lesson-13/5-docker-file/1-readme.md
docker-compose.yaml
Исходный код уроков/lesson-13/5-docker-file/docker-compose.yaml
Dockerfile
Исходный код уроков/lesson-13/5-docker-file/Dockerfile
go.mod
Исходный код уроков/lesson-13/5-docker-file/go.mod
go.sum
Исходный код уроков/lesson-13/5-docker-file/go.sum
main.go
Исходный код уроков/lesson-13/5-docker-file/main.go
6-k3d
10 files • 3.99 KB
1-readme.md
Исходный код уроков/lesson-13/6-k3d/1-readme.md
k3d.yml
Исходный код уроков/lesson-13/6-k3d/k3d.yml
Makefile
Исходный код уроков/lesson-13/6-k3d/Makefile
manifest
3 files • 969 Bytes
01-deploy.yaml
Исходный код уроков/lesson-13/6-k3d/manifest/01-deploy.yaml
02-service.yaml
Исходный код уроков/lesson-13/6-k3d/manifest/02-service.yaml
03-ingress.yaml
Исходный код уроков/lesson-13/6-k3d/manifest/03-ingress.yaml
my-app
4 files • 1.03 KB
Dockerfile
Исходный код уроков/lesson-13/6-k3d/my-app/Dockerfile
go.mod
Исходный код уроков/lesson-13/6-k3d/my-app/go.mod
go.sum
Исходный код уроков/lesson-13/6-k3d/my-app/go.sum
main.go
Исходный код уроков/lesson-13/6-k3d/my-app/main.go
lesson-14
26 files • 19.56 KB
.gitignore
Исходный код уроков/lesson-14/.gitignore
go.mod
Исходный код уроков/lesson-14/go.mod
go.sum
Исходный код уроков/lesson-14/go.sum
cmd
1 files • 2.11 KB
app
1 files • 2.11 KB
main.go
Исходный код уроков/lesson-14/cmd/app/main.go
config
1 files • 1.07 KB
config.go
Исходный код уроков/lesson-14/config/config.go
internal
15 files • 9.19 KB
adapter
3 files • 2.04 KB
kafka_produce
1 files • 583 Bytes
produce.go
Исходный код уроков/lesson-14/internal/adapter/kafka_produce/produce.go
postgres
1 files • 955 Bytes
postgres.go
Исходный код уроков/lesson-14/internal/adapter/postgres/postgres.go
redis
1 files • 554 Bytes
redis.go
Исходный код уроков/lesson-14/internal/adapter/redis/redis.go
controller
5 files • 2.91 KB
http
4 files • 2.23 KB
create_profile.go
Исходный код уроков/lesson-14/internal/controller/http/create_profile.go
get_profile.go
Исходный код уроков/lesson-14/internal/controller/http/get_profile.go
handlers.go
Исходный код уроков/lesson-14/internal/controller/http/handlers.go
router.go
Исходный код уроков/lesson-14/internal/controller/http/router.go
kafka_consume
1 files • 693 Bytes
consumer.go
Исходный код уроков/lesson-14/internal/controller/kafka_consume/consumer.go
domain
2 files • 837 Bytes
errors.go
Исходный код уроков/lesson-14/internal/domain/errors.go
profile.go
Исходный код уроков/lesson-14/internal/domain/profile.go
dto
2 files • 420 Bytes
create_profile.go
Исходный код уроков/lesson-14/internal/dto/create_profile.go
get_profile.go
Исходный код уроков/lesson-14/internal/dto/get_profile.go
usecase
3 files • 3.01 KB
create_profile.go
Исходный код уроков/lesson-14/internal/usecase/create_profile.go
get_profile.go
Исходный код уроков/lesson-14/internal/usecase/get_profile.go
usecase.go
Исходный код уроков/lesson-14/internal/usecase/usecase.go
pkg
6 files • 2.25 KB
httpserver
1 files • 336 Bytes
httpserver.go
Исходный код уроков/lesson-14/pkg/httpserver/httpserver.go
logger
1 files • 412 Bytes
logger.go
Исходный код уроков/lesson-14/pkg/logger/logger.go
metrics
1 files • 516 Bytes
http_server.go
Исходный код уроков/lesson-14/pkg/metrics/http_server.go
otel
1 files • 489 Bytes
otel.go
Исходный код уроков/lesson-14/pkg/otel/otel.go
render
1 files • 334 Bytes
json.go
Исходный код уроков/lesson-14/pkg/render/json.go
transaction
1 files • 213 Bytes
wrap.go
Исходный код уроков/lesson-14/pkg/transaction/wrap.go
lesson-15
90 files • 132.67 KB
.env
Исходный код уроков/lesson-15/.env
.env.example
Исходный код уроков/lesson-15/.env.example
.gitignore
Исходный код уроков/lesson-15/.gitignore
.mockery.yml
Исходный код уроков/lesson-15/.mockery.yml
docker-compose.yml
Исходный код уроков/lesson-15/docker-compose.yml
Dockerfile
Исходный код уроков/lesson-15/Dockerfile
go.mod
Исходный код уроков/lesson-15/go.mod
go.sum
Исходный код уроков/lesson-15/go.sum
Makefile
Исходный код уроков/lesson-15/Makefile
README.md
Исходный код уроков/lesson-15/README.md
api
1 files • 6.49 KB
http
1 files • 6.49 KB
my-app.yaml
Исходный код уроков/lesson-15/api/http/my-app.yaml
cmd
3 files • 3.69 KB
app
1 files • 699 Bytes
main.go
Исходный код уроков/lesson-15/cmd/app/main.go
seeder
2 files • 3.01 KB
helper.go
Исходный код уроков/lesson-15/cmd/seeder/helper.go
main.go
Исходный код уроков/lesson-15/cmd/seeder/main.go
config
1 files • 1019 Bytes
config.go
Исходный код уроков/lesson-15/config/config.go
internal
32 files • 36.77 KB
adapter
8 files • 6.41 KB
postgres
6 files • 5.42 KB
create_profile.go
Исходный код уроков/lesson-15/internal/adapter/postgres/create_profile.go
create_property.go
Исходный код уроков/lesson-15/internal/adapter/postgres/create_property.go
delete_profile.go
Исходный код уроков/lesson-15/internal/adapter/postgres/delete_profile.go
get_profile.go
Исходный код уроков/lesson-15/internal/adapter/postgres/get_profile.go
postgres.go
Исходный код уроков/lesson-15/internal/adapter/postgres/postgres.go
update_profile.go
Исходный код уроков/lesson-15/internal/adapter/postgres/update_profile.go
redis
2 files • 1010 Bytes
is_exists.go
Исходный код уроков/lesson-15/internal/adapter/redis/is_exists.go
redis.go
Исходный код уроков/lesson-15/internal/adapter/redis/redis.go
app
1 files • 1.75 KB
app.go
Исходный код уроков/lesson-15/internal/app/app.go
controller
6 files • 3.78 KB
http
6 files • 3.78 KB
router.go
Исходный код уроков/lesson-15/internal/controller/http/router.go
v1
5 files • 2.84 KB
create_profile.go
Исходный код уроков/lesson-15/internal/controller/http/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-15/internal/controller/http/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-15/internal/controller/http/v1/get_profile.go
update_profile.go
Исходный код уроков/lesson-15/internal/controller/http/v1/update_profile.go
v1.go
Исходный код уроков/lesson-15/internal/controller/http/v1/v1.go
domain
5 files • 4.22 KB
error.go
Исходный код уроков/lesson-15/internal/domain/error.go
profile.go
Исходный код уроков/lesson-15/internal/domain/profile.go
profile_test.go
Исходный код уроков/lesson-15/internal/domain/profile_test.go
property.go
Исходный код уроков/lesson-15/internal/domain/property.go
status.go
Исходный код уроков/lesson-15/internal/domain/status.go
dto
4 files • 962 Bytes
create_profile.go
Исходный код уроков/lesson-15/internal/dto/create_profile.go
delete_profile.go
Исходный код уроков/lesson-15/internal/dto/delete_profile.go
get_profile.go
Исходный код уроков/lesson-15/internal/dto/get_profile.go
update_profile.go
Исходный код уроков/lesson-15/internal/dto/update_profile.go
usecase
8 files • 19.67 KB
create_profile.go
Исходный код уроков/lesson-15/internal/usecase/create_profile.go
create_profile_test.go
Исходный код уроков/lesson-15/internal/usecase/create_profile_test.go
delete_profile.go
Исходный код уроков/lesson-15/internal/usecase/delete_profile.go
get_profile.go
Исходный код уроков/lesson-15/internal/usecase/get_profile.go
get_profile_test.go
Исходный код уроков/lesson-15/internal/usecase/get_profile_test.go
update_profile.go
Исходный код уроков/lesson-15/internal/usecase/update_profile.go
usecase.go
Исходный код уроков/lesson-15/internal/usecase/usecase.go
mocks
1 files • 10.31 KB
mocks.go
Исходный код уроков/lesson-15/internal/usecase/mocks/mocks.go
migration
6 files • 799 Bytes
postgres
6 files • 799 Bytes
20250216100653_init.down.sql
Исходный код уроков/lesson-15/migration/postgres/20250216100653_init.down.sql
20250216100653_init.up.sql
Исходный код уроков/lesson-15/migration/postgres/20250216100653_init.up.sql
20250216142416_add_contacts.down.sql
Исходный код уроков/lesson-15/migration/postgres/20250216142416_add_contacts.down.sql
20250216142416_add_contacts.up.sql
Исходный код уроков/lesson-15/migration/postgres/20250216142416_add_contacts.up.sql
20250216142526_add_property_table.down.sql
Исходный код уроков/lesson-15/migration/postgres/20250216142526_add_property_table.down.sql
20250216142526_add_property_table.up.sql
Исходный код уроков/lesson-15/migration/postgres/20250216142526_add_property_table.up.sql
observability
5 files • 28.3 KB
prometheus.yaml
Исходный код уроков/lesson-15/observability/prometheus.yaml
tempo.yaml
Исходный код уроков/lesson-15/observability/tempo.yaml
grafana
3 files • 25.69 KB
dashboard.yaml
Исходный код уроков/lesson-15/observability/grafana/dashboard.yaml
datasources.yaml
Исходный код уроков/lesson-15/observability/grafana/datasources.yaml
default.json
Исходный код уроков/lesson-15/observability/grafana/default.json
pkg
26 files • 22.31 KB
httpclient
6 files • 5.95 KB
client.go
Исходный код уроков/lesson-15/pkg/httpclient/client.go
create_profile.go
Исходный код уроков/lesson-15/pkg/httpclient/create_profile.go
delete_profile.go
Исходный код уроков/lesson-15/pkg/httpclient/delete_profile.go
example.go
Исходный код уроков/lesson-15/pkg/httpclient/example.go
get_profile.go
Исходный код уроков/lesson-15/pkg/httpclient/get_profile.go
update_profile.go
Исходный код уроков/lesson-15/pkg/httpclient/update_profile.go
httpserver
1 files • 1.01 KB
httpserver.go
Исходный код уроков/lesson-15/pkg/httpserver/httpserver.go
logger
2 files • 1.37 KB
logger.go
Исходный код уроков/lesson-15/pkg/logger/logger.go
middleware.go
Исходный код уроков/lesson-15/pkg/logger/middleware.go
metrics
4 files • 3.53 KB
const.go
Исходный код уроков/lesson-15/pkg/metrics/const.go
entity.go
Исходный код уроков/lesson-15/pkg/metrics/entity.go
http_server.go
Исходный код уроков/lesson-15/pkg/metrics/http_server.go
middleware.go
Исходный код уроков/lesson-15/pkg/metrics/middleware.go
otel
4 files • 5.25 KB
grpc_interceptor.go
Исходный код уроков/lesson-15/pkg/otel/grpc_interceptor.go
http_middleware.go
Исходный код уроков/lesson-15/pkg/otel/http_middleware.go
otel.go
Исходный код уроков/lesson-15/pkg/otel/otel.go
tracer
1 files • 363 Bytes
tracer.go
Исходный код уроков/lesson-15/pkg/otel/tracer/tracer.go
postgres
1 files • 1.02 KB
postgres.go
Исходный код уроков/lesson-15/pkg/postgres/postgres.go
redis
1 files • 646 Bytes
redis.go
Исходный код уроков/lesson-15/pkg/redis/redis.go
render
2 files • 815 Bytes
error.go
Исходный код уроков/lesson-15/pkg/render/error.go
json.go
Исходный код уроков/lesson-15/pkg/render/json.go
router
3 files • 1.18 KB
extract_path.go
Исходный код уроков/lesson-15/pkg/router/extract_path.go
router.go
Исходный код уроков/lesson-15/pkg/router/router.go
writer_wrapper.go
Исходный код уроков/lesson-15/pkg/router/writer_wrapper.go
transaction
2 files • 1.57 KB
transaction.go
Исходный код уроков/lesson-15/pkg/transaction/transaction.go
wrap.go
Исходный код уроков/lesson-15/pkg/transaction/wrap.go
test
6 files • 4.53 KB
integration
6 files • 4.53 KB
create_profile_test.go
Исходный код уроков/lesson-15/test/integration/create_profile_test.go
delete_profile_test.go
Исходный код уроков/lesson-15/test/integration/delete_profile_test.go
get_profile_test.go
Исходный код уроков/lesson-15/test/integration/get_profile_test.go
main_test.go
Исходный код уроков/lesson-15/test/integration/main_test.go
migrate_test.go
Исходный код уроков/lesson-15/test/integration/migrate_test.go
update_profile_test.go
Исходный код уроков/lesson-15/test/integration/update_profile_test.go
lesson-16
133 files • 170.02 KB
.env
Исходный код уроков/lesson-16/.env
.env.example
Исходный код уроков/lesson-16/.env.example
.gitignore
Исходный код уроков/lesson-16/.gitignore
.mockery.yml
Исходный код уроков/lesson-16/.mockery.yml
docker-compose.yml
Исходный код уроков/lesson-16/docker-compose.yml
Dockerfile
Исходный код уроков/lesson-16/Dockerfile
go.mod
Исходный код уроков/lesson-16/go.mod
go.sum
Исходный код уроков/lesson-16/go.sum
main.go
Исходный код уроков/lesson-16/main.go
Makefile
Исходный код уроков/lesson-16/Makefile
README.md
Исходный код уроков/lesson-16/README.md
api
1 files • 6.49 KB
http
1 files • 6.49 KB
my-app.yaml
Исходный код уроков/lesson-16/api/http/my-app.yaml
cmd
3 files • 3.69 KB
app
1 files • 699 Bytes
main.go
Исходный код уроков/lesson-16/cmd/app/main.go
seeder
2 files • 3.01 KB
helper.go
Исходный код уроков/lesson-16/cmd/seeder/helper.go
main.go
Исходный код уроков/lesson-16/cmd/seeder/main.go
config
1 files • 1019 Bytes
config.go
Исходный код уроков/lesson-16/config/config.go
internal
32 files • 36.77 KB
adapter
8 files • 6.41 KB
postgres
6 files • 5.42 KB
create_profile.go
Исходный код уроков/lesson-16/internal/adapter/postgres/create_profile.go
create_property.go
Исходный код уроков/lesson-16/internal/adapter/postgres/create_property.go
delete_profile.go
Исходный код уроков/lesson-16/internal/adapter/postgres/delete_profile.go
get_profile.go
Исходный код уроков/lesson-16/internal/adapter/postgres/get_profile.go
postgres.go
Исходный код уроков/lesson-16/internal/adapter/postgres/postgres.go
update_profile.go
Исходный код уроков/lesson-16/internal/adapter/postgres/update_profile.go
redis
2 files • 1010 Bytes
is_exists.go
Исходный код уроков/lesson-16/internal/adapter/redis/is_exists.go
redis.go
Исходный код уроков/lesson-16/internal/adapter/redis/redis.go
app
1 files • 1.75 KB
app.go
Исходный код уроков/lesson-16/internal/app/app.go
controller
6 files • 3.78 KB
http
6 files • 3.78 KB
router.go
Исходный код уроков/lesson-16/internal/controller/http/router.go
v1
5 files • 2.84 KB
create_profile.go
Исходный код уроков/lesson-16/internal/controller/http/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-16/internal/controller/http/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-16/internal/controller/http/v1/get_profile.go
update_profile.go
Исходный код уроков/lesson-16/internal/controller/http/v1/update_profile.go
v1.go
Исходный код уроков/lesson-16/internal/controller/http/v1/v1.go
domain
5 files • 4.22 KB
error.go
Исходный код уроков/lesson-16/internal/domain/error.go
profile.go
Исходный код уроков/lesson-16/internal/domain/profile.go
profile_test.go
Исходный код уроков/lesson-16/internal/domain/profile_test.go
property.go
Исходный код уроков/lesson-16/internal/domain/property.go
status.go
Исходный код уроков/lesson-16/internal/domain/status.go
dto
4 files • 962 Bytes
create_profile.go
Исходный код уроков/lesson-16/internal/dto/create_profile.go
delete_profile.go
Исходный код уроков/lesson-16/internal/dto/delete_profile.go
get_profile.go
Исходный код уроков/lesson-16/internal/dto/get_profile.go
update_profile.go
Исходный код уроков/lesson-16/internal/dto/update_profile.go
usecase
8 files • 19.67 KB
create_profile.go
Исходный код уроков/lesson-16/internal/usecase/create_profile.go
create_profile_test.go
Исходный код уроков/lesson-16/internal/usecase/create_profile_test.go
delete_profile.go
Исходный код уроков/lesson-16/internal/usecase/delete_profile.go
get_profile.go
Исходный код уроков/lesson-16/internal/usecase/get_profile.go
get_profile_test.go
Исходный код уроков/lesson-16/internal/usecase/get_profile_test.go
update_profile.go
Исходный код уроков/lesson-16/internal/usecase/update_profile.go
usecase.go
Исходный код уроков/lesson-16/internal/usecase/usecase.go
mocks
1 files • 10.31 KB
mocks.go
Исходный код уроков/lesson-16/internal/usecase/mocks/mocks.go
migration
6 files • 799 Bytes
postgres
6 files • 799 Bytes
20250216100653_init.down.sql
Исходный код уроков/lesson-16/migration/postgres/20250216100653_init.down.sql
20250216100653_init.up.sql
Исходный код уроков/lesson-16/migration/postgres/20250216100653_init.up.sql
20250216142416_add_contacts.down.sql
Исходный код уроков/lesson-16/migration/postgres/20250216142416_add_contacts.down.sql
20250216142416_add_contacts.up.sql
Исходный код уроков/lesson-16/migration/postgres/20250216142416_add_contacts.up.sql
20250216142526_add_property_table.down.sql
Исходный код уроков/lesson-16/migration/postgres/20250216142526_add_property_table.down.sql
20250216142526_add_property_table.up.sql
Исходный код уроков/lesson-16/migration/postgres/20250216142526_add_property_table.up.sql
observability
5 files • 28.3 KB
prometheus.yaml
Исходный код уроков/lesson-16/observability/prometheus.yaml
tempo.yaml
Исходный код уроков/lesson-16/observability/tempo.yaml
grafana
3 files • 25.69 KB
dashboard.yaml
Исходный код уроков/lesson-16/observability/grafana/dashboard.yaml
datasources.yaml
Исходный код уроков/lesson-16/observability/grafana/datasources.yaml
default.json
Исходный код уроков/lesson-16/observability/grafana/default.json
pkg
26 files • 22.33 KB
httpserver
1 files • 1.01 KB
httpserver.go
Исходный код уроков/lesson-16/pkg/httpserver/httpserver.go
logger
2 files • 1.37 KB
logger.go
Исходный код уроков/lesson-16/pkg/logger/logger.go
middleware.go
Исходный код уроков/lesson-16/pkg/logger/middleware.go
metrics
4 files • 3.53 KB
const.go
Исходный код уроков/lesson-16/pkg/metrics/const.go
entity.go
Исходный код уроков/lesson-16/pkg/metrics/entity.go
http_server.go
Исходный код уроков/lesson-16/pkg/metrics/http_server.go
middleware.go
Исходный код уроков/lesson-16/pkg/metrics/middleware.go
otel
4 files • 5.25 KB
grpc_interceptor.go
Исходный код уроков/lesson-16/pkg/otel/grpc_interceptor.go
http_middleware.go
Исходный код уроков/lesson-16/pkg/otel/http_middleware.go
otel.go
Исходный код уроков/lesson-16/pkg/otel/otel.go
tracer
1 files • 363 Bytes
tracer.go
Исходный код уроков/lesson-16/pkg/otel/tracer/tracer.go
postgres
1 files • 1.02 KB
postgres.go
Исходный код уроков/lesson-16/pkg/postgres/postgres.go
profile_client
6 files • 5.98 KB
client.go
Исходный код уроков/lesson-16/pkg/profile_client/client.go
create_profile.go
Исходный код уроков/lesson-16/pkg/profile_client/create_profile.go
delete_profile.go
Исходный код уроков/lesson-16/pkg/profile_client/delete_profile.go
example.go
Исходный код уроков/lesson-16/pkg/profile_client/example.go
get_profile.go
Исходный код уроков/lesson-16/pkg/profile_client/get_profile.go
update_profile.go
Исходный код уроков/lesson-16/pkg/profile_client/update_profile.go
redis
1 files • 646 Bytes
redis.go
Исходный код уроков/lesson-16/pkg/redis/redis.go
render
2 files • 815 Bytes
error.go
Исходный код уроков/lesson-16/pkg/render/error.go
json.go
Исходный код уроков/lesson-16/pkg/render/json.go
router
3 files • 1.18 KB
extract_path.go
Исходный код уроков/lesson-16/pkg/router/extract_path.go
router.go
Исходный код уроков/lesson-16/pkg/router/router.go
writer_wrapper.go
Исходный код уроков/lesson-16/pkg/router/writer_wrapper.go
transaction
2 files • 1.57 KB
transaction.go
Исходный код уроков/lesson-16/pkg/transaction/transaction.go
wrap.go
Исходный код уроков/lesson-16/pkg/transaction/wrap.go
test
6 files • 4.55 KB
integration
6 files • 4.55 KB
create_profile_test.go
Исходный код уроков/lesson-16/test/integration/create_profile_test.go
delete_profile_test.go
Исходный код уроков/lesson-16/test/integration/delete_profile_test.go
get_profile_test.go
Исходный код уроков/lesson-16/test/integration/get_profile_test.go
main_test.go
Исходный код уроков/lesson-16/test/integration/main_test.go
migrate_test.go
Исходный код уроков/lesson-16/test/integration/migrate_test.go
update_profile_test.go
Исходный код уроков/lesson-16/test/integration/update_profile_test.go
wiki
42 files • 36.58 KB
0-logger
7 files • 5.46 KB
1-log.go
Исходный код уроков/lesson-16/wiki/0-logger/1-log.go
2-slog.go
Исходный код уроков/lesson-16/wiki/0-logger/2-slog.go
3-zap.go
Исходный код уроков/lesson-16/wiki/0-logger/3-zap.go
4-zerolog.go
Исходный код уроков/lesson-16/wiki/0-logger/4-zerolog.go
5-with-context.go
Исходный код уроков/lesson-16/wiki/0-logger/5-with-context.go
go.mod
Исходный код уроков/lesson-16/wiki/0-logger/go.mod
go.sum
Исходный код уроков/lesson-16/wiki/0-logger/go.sum
1-middleware
6 files • 3.24 KB
1-middleware.go
Исходный код уроков/lesson-16/wiki/1-middleware/1-middleware.go
2-timer.go
Исходный код уроков/lesson-16/wiki/1-middleware/2-timer.go
3-request-id.go
Исходный код уроков/lesson-16/wiki/1-middleware/3-request-id.go
4-basic-auth.go
Исходный код уроков/lesson-16/wiki/1-middleware/4-basic-auth.go
go.mod
Исходный код уроков/lesson-16/wiki/1-middleware/go.mod
go.sum
Исходный код уроков/lesson-16/wiki/1-middleware/go.sum
2-test
6 files • 5.17 KB
1-test_test.go
Исходный код уроков/lesson-16/wiki/2-test/1-test_test.go
2-testify_test.go
Исходный код уроков/lesson-16/wiki/2-test/2-testify_test.go
3-cover.go
Исходный код уроков/lesson-16/wiki/2-test/3-cover.go
3-cover_test.go
Исходный код уроков/lesson-16/wiki/2-test/3-cover_test.go
go.mod
Исходный код уроков/lesson-16/wiki/2-test/go.mod
go.sum
Исходный код уроков/lesson-16/wiki/2-test/go.sum
3-benchmark
4 files • 1.45 KB
1-slice_test.go
Исходный код уроков/lesson-16/wiki/3-benchmark/1-slice_test.go
2-string_test.go
Исходный код уроков/lesson-16/wiki/3-benchmark/2-string_test.go
3-map_test.go
Исходный код уроков/lesson-16/wiki/3-benchmark/3-map_test.go
go.mod
Исходный код уроков/lesson-16/wiki/3-benchmark/go.mod
4-profiler
4 files • 4.19 KB
1-pprof.go
Исходный код уроков/lesson-16/wiki/4-profiler/1-pprof.go
2-server.go
Исходный код уроков/lesson-16/wiki/4-profiler/2-server.go
go.mod
Исходный код уроков/lesson-16/wiki/4-profiler/go.mod
go.sum
Исходный код уроков/lesson-16/wiki/4-profiler/go.sum
5-context
6 files • 3.5 KB
1-context.go
Исходный код уроков/lesson-16/wiki/5-context/1-context.go
2-cancel.go
Исходный код уроков/lesson-16/wiki/5-context/2-cancel.go
3-deadline.go
Исходный код уроков/lesson-16/wiki/5-context/3-deadline.go
4-timeout.go
Исходный код уроков/lesson-16/wiki/5-context/4-timeout.go
5-value.go
Исходный код уроков/lesson-16/wiki/5-context/5-value.go
6-example.go
Исходный код уроков/lesson-16/wiki/5-context/6-example.go
6-jwt
8 files • 11.55 KB
1-key-gen.go
Исходный код уроков/lesson-16/wiki/6-jwt/1-key-gen.go
2-create-jwt.go
Исходный код уроков/lesson-16/wiki/6-jwt/2-create-jwt.go
3-verify-jwt.go
Исходный код уроков/lesson-16/wiki/6-jwt/3-verify-jwt.go
4-server-example.go
Исходный код уроков/lesson-16/wiki/6-jwt/4-server-example.go
go.mod
Исходный код уроков/lesson-16/wiki/6-jwt/go.mod
go.sum
Исходный код уроков/lesson-16/wiki/6-jwt/go.sum
keys
2 files • 2.08 KB
private_key.pem
Исходный код уроков/lesson-16/wiki/6-jwt/keys/private_key.pem
public_key.pem
Исходный код уроков/lesson-16/wiki/6-jwt/keys/public_key.pem
7-json
1 files • 2.02 KB
main.go
Исходный код уроков/lesson-16/wiki/7-json/main.go
lesson-17
138 files • 172.83 KB
.env
Исходный код уроков/lesson-17/.env
.env.example
Исходный код уроков/lesson-17/.env.example
.gitignore
Исходный код уроков/lesson-17/.gitignore
.mockery.yml
Исходный код уроков/lesson-17/.mockery.yml
docker-compose.yml
Исходный код уроков/lesson-17/docker-compose.yml
Dockerfile
Исходный код уроков/lesson-17/Dockerfile
go.mod
Исходный код уроков/lesson-17/go.mod
go.sum
Исходный код уроков/lesson-17/go.sum
Makefile
Исходный код уроков/lesson-17/Makefile
README.md
Исходный код уроков/lesson-17/README.md
api
1 files • 6.49 KB
http
1 files • 6.49 KB
my-app.yaml
Исходный код уроков/lesson-17/api/http/my-app.yaml
cmd
3 files • 3.69 KB
app
1 files • 699 Bytes
main.go
Исходный код уроков/lesson-17/cmd/app/main.go
seeder
2 files • 3.01 KB
helper.go
Исходный код уроков/lesson-17/cmd/seeder/helper.go
main.go
Исходный код уроков/lesson-17/cmd/seeder/main.go
config
1 files • 1019 Bytes
config.go
Исходный код уроков/lesson-17/config/config.go
internal
32 files • 36.69 KB
adapter
8 files • 6.41 KB
postgres
6 files • 5.42 KB
create_profile.go
Исходный код уроков/lesson-17/internal/adapter/postgres/create_profile.go
create_property.go
Исходный код уроков/lesson-17/internal/adapter/postgres/create_property.go
delete_profile.go
Исходный код уроков/lesson-17/internal/adapter/postgres/delete_profile.go
get_profile.go
Исходный код уроков/lesson-17/internal/adapter/postgres/get_profile.go
postgres.go
Исходный код уроков/lesson-17/internal/adapter/postgres/postgres.go
update_profile.go
Исходный код уроков/lesson-17/internal/adapter/postgres/update_profile.go
redis
2 files • 1010 Bytes
is_exists.go
Исходный код уроков/lesson-17/internal/adapter/redis/is_exists.go
redis.go
Исходный код уроков/lesson-17/internal/adapter/redis/redis.go
app
1 files • 1.75 KB
app.go
Исходный код уроков/lesson-17/internal/app/app.go
controller
6 files • 3.71 KB
http
6 files • 3.71 KB
router.go
Исходный код уроков/lesson-17/internal/controller/http/router.go
v1
5 files • 2.77 KB
create_profile.go
Исходный код уроков/lesson-17/internal/controller/http/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-17/internal/controller/http/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-17/internal/controller/http/v1/get_profile.go
update_profile.go
Исходный код уроков/lesson-17/internal/controller/http/v1/update_profile.go
v1.go
Исходный код уроков/lesson-17/internal/controller/http/v1/v1.go
domain
5 files • 4.22 KB
error.go
Исходный код уроков/lesson-17/internal/domain/error.go
profile.go
Исходный код уроков/lesson-17/internal/domain/profile.go
profile_test.go
Исходный код уроков/lesson-17/internal/domain/profile_test.go
property.go
Исходный код уроков/lesson-17/internal/domain/property.go
status.go
Исходный код уроков/lesson-17/internal/domain/status.go
dto
4 files • 962 Bytes
create_profile.go
Исходный код уроков/lesson-17/internal/dto/create_profile.go
delete_profile.go
Исходный код уроков/lesson-17/internal/dto/delete_profile.go
get_profile.go
Исходный код уроков/lesson-17/internal/dto/get_profile.go
update_profile.go
Исходный код уроков/lesson-17/internal/dto/update_profile.go
usecase
8 files • 19.67 KB
create_profile.go
Исходный код уроков/lesson-17/internal/usecase/create_profile.go
create_profile_test.go
Исходный код уроков/lesson-17/internal/usecase/create_profile_test.go
delete_profile.go
Исходный код уроков/lesson-17/internal/usecase/delete_profile.go
get_profile.go
Исходный код уроков/lesson-17/internal/usecase/get_profile.go
get_profile_test.go
Исходный код уроков/lesson-17/internal/usecase/get_profile_test.go
update_profile.go
Исходный код уроков/lesson-17/internal/usecase/update_profile.go
usecase.go
Исходный код уроков/lesson-17/internal/usecase/usecase.go
mocks
1 files • 10.31 KB
mocks.go
Исходный код уроков/lesson-17/internal/usecase/mocks/mocks.go
migration
6 files • 799 Bytes
postgres
6 files • 799 Bytes
20250216100653_init.down.sql
Исходный код уроков/lesson-17/migration/postgres/20250216100653_init.down.sql
20250216100653_init.up.sql
Исходный код уроков/lesson-17/migration/postgres/20250216100653_init.up.sql
20250216142416_add_contacts.down.sql
Исходный код уроков/lesson-17/migration/postgres/20250216142416_add_contacts.down.sql
20250216142416_add_contacts.up.sql
Исходный код уроков/lesson-17/migration/postgres/20250216142416_add_contacts.up.sql
20250216142526_add_property_table.down.sql
Исходный код уроков/lesson-17/migration/postgres/20250216142526_add_property_table.down.sql
20250216142526_add_property_table.up.sql
Исходный код уроков/lesson-17/migration/postgres/20250216142526_add_property_table.up.sql
observability
5 files • 28.3 KB
prometheus.yaml
Исходный код уроков/lesson-17/observability/prometheus.yaml
tempo.yaml
Исходный код уроков/lesson-17/observability/tempo.yaml
grafana
3 files • 25.69 KB
dashboard.yaml
Исходный код уроков/lesson-17/observability/grafana/dashboard.yaml
datasources.yaml
Исходный код уроков/lesson-17/observability/grafana/datasources.yaml
default.json
Исходный код уроков/lesson-17/observability/grafana/default.json
pkg
26 files • 22.7 KB
httpserver
1 files • 1.01 KB
httpserver.go
Исходный код уроков/lesson-17/pkg/httpserver/httpserver.go
logger
2 files • 1.52 KB
logger.go
Исходный код уроков/lesson-17/pkg/logger/logger.go
middleware.go
Исходный код уроков/lesson-17/pkg/logger/middleware.go
metrics
4 files • 3.53 KB
const.go
Исходный код уроков/lesson-17/pkg/metrics/const.go
entity.go
Исходный код уроков/lesson-17/pkg/metrics/entity.go
http_server.go
Исходный код уроков/lesson-17/pkg/metrics/http_server.go
middleware.go
Исходный код уроков/lesson-17/pkg/metrics/middleware.go
otel
4 files • 5.25 KB
grpc_interceptor.go
Исходный код уроков/lesson-17/pkg/otel/grpc_interceptor.go
http_middleware.go
Исходный код уроков/lesson-17/pkg/otel/http_middleware.go
otel.go
Исходный код уроков/lesson-17/pkg/otel/otel.go
tracer
1 files • 363 Bytes
tracer.go
Исходный код уроков/lesson-17/pkg/otel/tracer/tracer.go
postgres
1 files • 1.02 KB
postgres.go
Исходный код уроков/lesson-17/pkg/postgres/postgres.go
profile_client
6 files • 5.98 KB
client.go
Исходный код уроков/lesson-17/pkg/profile_client/client.go
create_profile.go
Исходный код уроков/lesson-17/pkg/profile_client/create_profile.go
delete_profile.go
Исходный код уроков/lesson-17/pkg/profile_client/delete_profile.go
example.go
Исходный код уроков/lesson-17/pkg/profile_client/example.go
get_profile.go
Исходный код уроков/lesson-17/pkg/profile_client/get_profile.go
update_profile.go
Исходный код уроков/lesson-17/pkg/profile_client/update_profile.go
redis
1 files • 646 Bytes
redis.go
Исходный код уроков/lesson-17/pkg/redis/redis.go
render
2 files • 1.01 KB
error.go
Исходный код уроков/lesson-17/pkg/render/error.go
json.go
Исходный код уроков/lesson-17/pkg/render/json.go
router
3 files • 1.18 KB
extract_path.go
Исходный код уроков/lesson-17/pkg/router/extract_path.go
router.go
Исходный код уроков/lesson-17/pkg/router/router.go
writer_wrapper.go
Исходный код уроков/lesson-17/pkg/router/writer_wrapper.go
transaction
2 files • 1.57 KB
transaction.go
Исходный код уроков/lesson-17/pkg/transaction/transaction.go
wrap.go
Исходный код уроков/lesson-17/pkg/transaction/wrap.go
test
6 files • 4.55 KB
integration
6 files • 4.55 KB
create_profile_test.go
Исходный код уроков/lesson-17/test/integration/create_profile_test.go
delete_profile_test.go
Исходный код уроков/lesson-17/test/integration/delete_profile_test.go
get_profile_test.go
Исходный код уроков/lesson-17/test/integration/get_profile_test.go
main_test.go
Исходный код уроков/lesson-17/test/integration/main_test.go
migrate_test.go
Исходный код уроков/lesson-17/test/integration/migrate_test.go
update_profile_test.go
Исходный код уроков/lesson-17/test/integration/update_profile_test.go
wiki
48 files • 40.19 KB
0-errors
6 files • 3.61 KB
1-error
1 files • 602 Bytes
main.go
Исходный код уроков/lesson-17/wiki/0-errors/1-error/main.go
2-with-err-wrap
1 files • 578 Bytes
main.go
Исходный код уроков/lesson-17/wiki/0-errors/2-with-err-wrap/main.go
3-unpack
1 files • 761 Bytes
main.go
Исходный код уроков/lesson-17/wiki/0-errors/3-unpack/main.go
4-errors-is
1 files • 716 Bytes
main.go
Исходный код уроков/lesson-17/wiki/0-errors/4-errors-is/main.go
5-errors-as
2 files • 1.01 KB
custom_error.go
Исходный код уроков/lesson-17/wiki/0-errors/5-errors-as/custom_error.go
main.go
Исходный код уроков/lesson-17/wiki/0-errors/5-errors-as/main.go
0-logger
7 files • 5.46 KB
1-log.go
Исходный код уроков/lesson-17/wiki/0-logger/1-log.go
2-slog.go
Исходный код уроков/lesson-17/wiki/0-logger/2-slog.go
3-zap.go
Исходный код уроков/lesson-17/wiki/0-logger/3-zap.go
4-zerolog.go
Исходный код уроков/lesson-17/wiki/0-logger/4-zerolog.go
5-with-context.go
Исходный код уроков/lesson-17/wiki/0-logger/5-with-context.go
go.mod
Исходный код уроков/lesson-17/wiki/0-logger/go.mod
go.sum
Исходный код уроков/lesson-17/wiki/0-logger/go.sum
1-middleware
6 files • 3.24 KB
1-middleware.go
Исходный код уроков/lesson-17/wiki/1-middleware/1-middleware.go
2-timer.go
Исходный код уроков/lesson-17/wiki/1-middleware/2-timer.go
3-request-id.go
Исходный код уроков/lesson-17/wiki/1-middleware/3-request-id.go
4-basic-auth.go
Исходный код уроков/lesson-17/wiki/1-middleware/4-basic-auth.go
go.mod
Исходный код уроков/lesson-17/wiki/1-middleware/go.mod
go.sum
Исходный код уроков/lesson-17/wiki/1-middleware/go.sum
2-test
6 files • 5.17 KB
1-test_test.go
Исходный код уроков/lesson-17/wiki/2-test/1-test_test.go
2-testify_test.go
Исходный код уроков/lesson-17/wiki/2-test/2-testify_test.go
3-cover.go
Исходный код уроков/lesson-17/wiki/2-test/3-cover.go
3-cover_test.go
Исходный код уроков/lesson-17/wiki/2-test/3-cover_test.go
go.mod
Исходный код уроков/lesson-17/wiki/2-test/go.mod
go.sum
Исходный код уроков/lesson-17/wiki/2-test/go.sum
3-benchmark
4 files • 1.45 KB
1-slice_test.go
Исходный код уроков/lesson-17/wiki/3-benchmark/1-slice_test.go
2-string_test.go
Исходный код уроков/lesson-17/wiki/3-benchmark/2-string_test.go
3-map_test.go
Исходный код уроков/lesson-17/wiki/3-benchmark/3-map_test.go
go.mod
Исходный код уроков/lesson-17/wiki/3-benchmark/go.mod
4-profiler
4 files • 4.19 KB
1-pprof.go
Исходный код уроков/lesson-17/wiki/4-profiler/1-pprof.go
2-server.go
Исходный код уроков/lesson-17/wiki/4-profiler/2-server.go
go.mod
Исходный код уроков/lesson-17/wiki/4-profiler/go.mod
go.sum
Исходный код уроков/lesson-17/wiki/4-profiler/go.sum
5-context
6 files • 3.5 KB
1-context.go
Исходный код уроков/lesson-17/wiki/5-context/1-context.go
2-cancel.go
Исходный код уроков/lesson-17/wiki/5-context/2-cancel.go
3-deadline.go
Исходный код уроков/lesson-17/wiki/5-context/3-deadline.go
4-timeout.go
Исходный код уроков/lesson-17/wiki/5-context/4-timeout.go
5-value.go
Исходный код уроков/lesson-17/wiki/5-context/5-value.go
6-example.go
Исходный код уроков/lesson-17/wiki/5-context/6-example.go
6-jwt
8 files • 11.55 KB
1-key-gen.go
Исходный код уроков/lesson-17/wiki/6-jwt/1-key-gen.go
2-create-jwt.go
Исходный код уроков/lesson-17/wiki/6-jwt/2-create-jwt.go
3-verify-jwt.go
Исходный код уроков/lesson-17/wiki/6-jwt/3-verify-jwt.go
4-server-example.go
Исходный код уроков/lesson-17/wiki/6-jwt/4-server-example.go
go.mod
Исходный код уроков/lesson-17/wiki/6-jwt/go.mod
go.sum
Исходный код уроков/lesson-17/wiki/6-jwt/go.sum
keys
2 files • 2.08 KB
private_key.pem
Исходный код уроков/lesson-17/wiki/6-jwt/keys/private_key.pem
public_key.pem
Исходный код уроков/lesson-17/wiki/6-jwt/keys/public_key.pem
7-json
1 files • 2.02 KB
main.go
Исходный код уроков/lesson-17/wiki/7-json/main.go
lesson-18
154 files • 201.14 KB
.env
Исходный код уроков/lesson-18/.env
.env.example
Исходный код уроков/lesson-18/.env.example
.gitignore
Исходный код уроков/lesson-18/.gitignore
.mockery.yml
Исходный код уроков/lesson-18/.mockery.yml
docker-compose.yml
Исходный код уроков/lesson-18/docker-compose.yml
Dockerfile
Исходный код уроков/lesson-18/Dockerfile
go.mod
Исходный код уроков/lesson-18/go.mod
go.sum
Исходный код уроков/lesson-18/go.sum
Makefile
Исходный код уроков/lesson-18/Makefile
README.md
Исходный код уроков/lesson-18/README.md
api
1 files • 6.49 KB
http
1 files • 6.49 KB
my-app.yaml
Исходный код уроков/lesson-18/api/http/my-app.yaml
cmd
3 files • 3.69 KB
app
1 files • 699 Bytes
main.go
Исходный код уроков/lesson-18/cmd/app/main.go
seeder
2 files • 3.01 KB
helper.go
Исходный код уроков/lesson-18/cmd/seeder/helper.go
main.go
Исходный код уроков/lesson-18/cmd/seeder/main.go
config
1 files • 1019 Bytes
config.go
Исходный код уроков/lesson-18/config/config.go
internal
32 files • 36.69 KB
adapter
8 files • 6.41 KB
postgres
6 files • 5.42 KB
create_profile.go
Исходный код уроков/lesson-18/internal/adapter/postgres/create_profile.go
create_property.go
Исходный код уроков/lesson-18/internal/adapter/postgres/create_property.go
delete_profile.go
Исходный код уроков/lesson-18/internal/adapter/postgres/delete_profile.go
get_profile.go
Исходный код уроков/lesson-18/internal/adapter/postgres/get_profile.go
postgres.go
Исходный код уроков/lesson-18/internal/adapter/postgres/postgres.go
update_profile.go
Исходный код уроков/lesson-18/internal/adapter/postgres/update_profile.go
redis
2 files • 1010 Bytes
is_exists.go
Исходный код уроков/lesson-18/internal/adapter/redis/is_exists.go
redis.go
Исходный код уроков/lesson-18/internal/adapter/redis/redis.go
app
1 files • 1.75 KB
app.go
Исходный код уроков/lesson-18/internal/app/app.go
controller
6 files • 3.71 KB
http
6 files • 3.71 KB
router.go
Исходный код уроков/lesson-18/internal/controller/http/router.go
v1
5 files • 2.77 KB
create_profile.go
Исходный код уроков/lesson-18/internal/controller/http/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-18/internal/controller/http/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-18/internal/controller/http/v1/get_profile.go
update_profile.go
Исходный код уроков/lesson-18/internal/controller/http/v1/update_profile.go
v1.go
Исходный код уроков/lesson-18/internal/controller/http/v1/v1.go
domain
5 files • 4.22 KB
error.go
Исходный код уроков/lesson-18/internal/domain/error.go
profile.go
Исходный код уроков/lesson-18/internal/domain/profile.go
profile_test.go
Исходный код уроков/lesson-18/internal/domain/profile_test.go
property.go
Исходный код уроков/lesson-18/internal/domain/property.go
status.go
Исходный код уроков/lesson-18/internal/domain/status.go
dto
4 files • 962 Bytes
create_profile.go
Исходный код уроков/lesson-18/internal/dto/create_profile.go
delete_profile.go
Исходный код уроков/lesson-18/internal/dto/delete_profile.go
get_profile.go
Исходный код уроков/lesson-18/internal/dto/get_profile.go
update_profile.go
Исходный код уроков/lesson-18/internal/dto/update_profile.go
usecase
8 files • 19.67 KB
create_profile.go
Исходный код уроков/lesson-18/internal/usecase/create_profile.go
create_profile_test.go
Исходный код уроков/lesson-18/internal/usecase/create_profile_test.go
delete_profile.go
Исходный код уроков/lesson-18/internal/usecase/delete_profile.go
get_profile.go
Исходный код уроков/lesson-18/internal/usecase/get_profile.go
get_profile_test.go
Исходный код уроков/lesson-18/internal/usecase/get_profile_test.go
update_profile.go
Исходный код уроков/lesson-18/internal/usecase/update_profile.go
usecase.go
Исходный код уроков/lesson-18/internal/usecase/usecase.go
mocks
1 files • 10.31 KB
mocks.go
Исходный код уроков/lesson-18/internal/usecase/mocks/mocks.go
migration
6 files • 799 Bytes
postgres
6 files • 799 Bytes
20250216100653_init.down.sql
Исходный код уроков/lesson-18/migration/postgres/20250216100653_init.down.sql
20250216100653_init.up.sql
Исходный код уроков/lesson-18/migration/postgres/20250216100653_init.up.sql
20250216142416_add_contacts.down.sql
Исходный код уроков/lesson-18/migration/postgres/20250216142416_add_contacts.down.sql
20250216142416_add_contacts.up.sql
Исходный код уроков/lesson-18/migration/postgres/20250216142416_add_contacts.up.sql
20250216142526_add_property_table.down.sql
Исходный код уроков/lesson-18/migration/postgres/20250216142526_add_property_table.down.sql
20250216142526_add_property_table.up.sql
Исходный код уроков/lesson-18/migration/postgres/20250216142526_add_property_table.up.sql
observability
5 files • 28.3 KB
prometheus.yaml
Исходный код уроков/lesson-18/observability/prometheus.yaml
tempo.yaml
Исходный код уроков/lesson-18/observability/tempo.yaml
grafana
3 files • 25.69 KB
dashboard.yaml
Исходный код уроков/lesson-18/observability/grafana/dashboard.yaml
datasources.yaml
Исходный код уроков/lesson-18/observability/grafana/datasources.yaml
default.json
Исходный код уроков/lesson-18/observability/grafana/default.json
pkg
26 files • 22.7 KB
httpserver
1 files • 1.01 KB
httpserver.go
Исходный код уроков/lesson-18/pkg/httpserver/httpserver.go
logger
2 files • 1.53 KB
logger.go
Исходный код уроков/lesson-18/pkg/logger/logger.go
middleware.go
Исходный код уроков/lesson-18/pkg/logger/middleware.go
metrics
4 files • 3.53 KB
const.go
Исходный код уроков/lesson-18/pkg/metrics/const.go
entity.go
Исходный код уроков/lesson-18/pkg/metrics/entity.go
http_server.go
Исходный код уроков/lesson-18/pkg/metrics/http_server.go
middleware.go
Исходный код уроков/lesson-18/pkg/metrics/middleware.go
otel
4 files • 5.25 KB
grpc_interceptor.go
Исходный код уроков/lesson-18/pkg/otel/grpc_interceptor.go
http_middleware.go
Исходный код уроков/lesson-18/pkg/otel/http_middleware.go
otel.go
Исходный код уроков/lesson-18/pkg/otel/otel.go
tracer
1 files • 363 Bytes
tracer.go
Исходный код уроков/lesson-18/pkg/otel/tracer/tracer.go
postgres
1 files • 1.02 KB
postgres.go
Исходный код уроков/lesson-18/pkg/postgres/postgres.go
profile_client
6 files • 5.98 KB
client.go
Исходный код уроков/lesson-18/pkg/profile_client/client.go
create_profile.go
Исходный код уроков/lesson-18/pkg/profile_client/create_profile.go
delete_profile.go
Исходный код уроков/lesson-18/pkg/profile_client/delete_profile.go
example.go
Исходный код уроков/lesson-18/pkg/profile_client/example.go
get_profile.go
Исходный код уроков/lesson-18/pkg/profile_client/get_profile.go
update_profile.go
Исходный код уроков/lesson-18/pkg/profile_client/update_profile.go
redis
1 files • 646 Bytes
redis.go
Исходный код уроков/lesson-18/pkg/redis/redis.go
render
2 files • 1.01 KB
error.go
Исходный код уроков/lesson-18/pkg/render/error.go
json.go
Исходный код уроков/lesson-18/pkg/render/json.go
router
3 files • 1.18 KB
extract_path.go
Исходный код уроков/lesson-18/pkg/router/extract_path.go
router.go
Исходный код уроков/lesson-18/pkg/router/router.go
writer_wrapper.go
Исходный код уроков/lesson-18/pkg/router/writer_wrapper.go
transaction
2 files • 1.57 KB
transaction.go
Исходный код уроков/lesson-18/pkg/transaction/transaction.go
wrap.go
Исходный код уроков/lesson-18/pkg/transaction/wrap.go
test
6 files • 4.55 KB
integration
6 files • 4.55 KB
create_profile_test.go
Исходный код уроков/lesson-18/test/integration/create_profile_test.go
delete_profile_test.go
Исходный код уроков/lesson-18/test/integration/delete_profile_test.go
get_profile_test.go
Исходный код уроков/lesson-18/test/integration/get_profile_test.go
main_test.go
Исходный код уроков/lesson-18/test/integration/main_test.go
migrate_test.go
Исходный код уроков/lesson-18/test/integration/migrate_test.go
update_profile_test.go
Исходный код уроков/lesson-18/test/integration/update_profile_test.go
wiki
64 files • 68.49 KB
go.mod
Исходный код уроков/lesson-18/wiki/go.mod
go.sum
Исходный код уроков/lesson-18/wiki/go.sum
0-errors
6 files • 3.62 KB
1-error
1 files • 602 Bytes
main.go
Исходный код уроков/lesson-18/wiki/0-errors/1-error/main.go
2-with-err-wrap
1 files • 593 Bytes
main.go
Исходный код уроков/lesson-18/wiki/0-errors/2-with-err-wrap/main.go
3-unpack
1 files • 761 Bytes
main.go
Исходный код уроков/lesson-18/wiki/0-errors/3-unpack/main.go
4-errors-is
1 files • 716 Bytes
main.go
Исходный код уроков/lesson-18/wiki/0-errors/4-errors-is/main.go
5-errors-as
2 files • 1.01 KB
custom_error.go
Исходный код уроков/lesson-18/wiki/0-errors/5-errors-as/custom_error.go
main.go
Исходный код уроков/lesson-18/wiki/0-errors/5-errors-as/main.go
0-logger
7 files • 5.46 KB
1-log.go
Исходный код уроков/lesson-18/wiki/0-logger/1-log.go
2-slog.go
Исходный код уроков/lesson-18/wiki/0-logger/2-slog.go
3-zap.go
Исходный код уроков/lesson-18/wiki/0-logger/3-zap.go
4-zerolog.go
Исходный код уроков/lesson-18/wiki/0-logger/4-zerolog.go
5-with-context.go
Исходный код уроков/lesson-18/wiki/0-logger/5-with-context.go
go.mod
Исходный код уроков/lesson-18/wiki/0-logger/go.mod
go.sum
Исходный код уроков/lesson-18/wiki/0-logger/go.sum
1-middleware
6 files • 3.24 KB
1-middleware.go
Исходный код уроков/lesson-18/wiki/1-middleware/1-middleware.go
2-timer.go
Исходный код уроков/lesson-18/wiki/1-middleware/2-timer.go
3-request-id.go
Исходный код уроков/lesson-18/wiki/1-middleware/3-request-id.go
4-basic-auth.go
Исходный код уроков/lesson-18/wiki/1-middleware/4-basic-auth.go
go.mod
Исходный код уроков/lesson-18/wiki/1-middleware/go.mod
go.sum
Исходный код уроков/lesson-18/wiki/1-middleware/go.sum
2-test
6 files • 5.17 KB
1-test_test.go
Исходный код уроков/lesson-18/wiki/2-test/1-test_test.go
2-testify_test.go
Исходный код уроков/lesson-18/wiki/2-test/2-testify_test.go
3-cover.go
Исходный код уроков/lesson-18/wiki/2-test/3-cover.go
3-cover_test.go
Исходный код уроков/lesson-18/wiki/2-test/3-cover_test.go
go.mod
Исходный код уроков/lesson-18/wiki/2-test/go.mod
go.sum
Исходный код уроков/lesson-18/wiki/2-test/go.sum
3-benchmark
4 files • 1.45 KB
1-slice_test.go
Исходный код уроков/lesson-18/wiki/3-benchmark/1-slice_test.go
2-string_test.go
Исходный код уроков/lesson-18/wiki/3-benchmark/2-string_test.go
3-map_test.go
Исходный код уроков/lesson-18/wiki/3-benchmark/3-map_test.go
go.mod
Исходный код уроков/lesson-18/wiki/3-benchmark/go.mod
4-profiler
4 files • 4.19 KB
1-pprof.go
Исходный код уроков/lesson-18/wiki/4-profiler/1-pprof.go
2-server.go
Исходный код уроков/lesson-18/wiki/4-profiler/2-server.go
go.mod
Исходный код уроков/lesson-18/wiki/4-profiler/go.mod
go.sum
Исходный код уроков/lesson-18/wiki/4-profiler/go.sum
5-context
6 files • 3.5 KB
1-context.go
Исходный код уроков/lesson-18/wiki/5-context/1-context.go
2-cancel.go
Исходный код уроков/lesson-18/wiki/5-context/2-cancel.go
3-deadline.go
Исходный код уроков/lesson-18/wiki/5-context/3-deadline.go
4-timeout.go
Исходный код уроков/lesson-18/wiki/5-context/4-timeout.go
5-value.go
Исходный код уроков/lesson-18/wiki/5-context/5-value.go
6-example.go
Исходный код уроков/lesson-18/wiki/5-context/6-example.go
6-jwt
8 files • 11.55 KB
1-key-gen.go
Исходный код уроков/lesson-18/wiki/6-jwt/1-key-gen.go
2-create-jwt.go
Исходный код уроков/lesson-18/wiki/6-jwt/2-create-jwt.go
3-verify-jwt.go
Исходный код уроков/lesson-18/wiki/6-jwt/3-verify-jwt.go
4-server-example.go
Исходный код уроков/lesson-18/wiki/6-jwt/4-server-example.go
go.mod
Исходный код уроков/lesson-18/wiki/6-jwt/go.mod
go.sum
Исходный код уроков/lesson-18/wiki/6-jwt/go.sum
keys
2 files • 2.08 KB
private_key.pem
Исходный код уроков/lesson-18/wiki/6-jwt/keys/private_key.pem
public_key.pem
Исходный код уроков/lesson-18/wiki/6-jwt/keys/public_key.pem
7-json
1 files • 2.02 KB
main.go
Исходный код уроков/lesson-18/wiki/7-json/main.go
8-pgx
3 files • 7.15 KB
1-pgx.go
Исходный код уроков/lesson-18/wiki/8-pgx/1-pgx.go
go.mod
Исходный код уроков/lesson-18/wiki/8-pgx/go.mod
go.sum
Исходный код уроков/lesson-18/wiki/8-pgx/go.sum
9-goqu
3 files • 7.58 KB
go.mod
Исходный код уроков/lesson-18/wiki/9-goqu/go.mod
go.sum
Исходный код уроков/lesson-18/wiki/9-goqu/go.sum
main.go
Исходный код уроков/lesson-18/wiki/9-goqu/main.go
10-sql-injection
3 files • 5.54 KB
go.mod
Исходный код уроков/lesson-18/wiki/10-sql-injection/go.mod
go.sum
Исходный код уроков/lesson-18/wiki/10-sql-injection/go.sum
main.go
Исходный код уроков/lesson-18/wiki/10-sql-injection/main.go
11-migrate
5 files • 1.95 KB
main.go
Исходный код уроков/lesson-18/wiki/11-migrate/main.go
migration
4 files • 786 Bytes
20250213144246_init.down.sql
Исходный код уроков/lesson-18/wiki/11-migrate/migration/20250213144246_init.down.sql
20250213144246_init.up.sql
Исходный код уроков/lesson-18/wiki/11-migrate/migration/20250213144246_init.up.sql
20250213144247_test.down.sql
Исходный код уроков/lesson-18/wiki/11-migrate/migration/20250213144247_test.down.sql
20250213144247_test.up.sql
Исходный код уроков/lesson-18/wiki/11-migrate/migration/20250213144247_test.up.sql
lesson-19
168 files • 251.68 KB
.env
Исходный код уроков/lesson-19/.env
.env.example
Исходный код уроков/lesson-19/.env.example
.gitignore
Исходный код уроков/lesson-19/.gitignore
.mockery.yml
Исходный код уроков/lesson-19/.mockery.yml
docker-compose.yml
Исходный код уроков/lesson-19/docker-compose.yml
Dockerfile
Исходный код уроков/lesson-19/Dockerfile
go.mod
Исходный код уроков/lesson-19/go.mod
go.sum
Исходный код уроков/lesson-19/go.sum
Makefile
Исходный код уроков/lesson-19/Makefile
README.md
Исходный код уроков/lesson-19/README.md
api
1 files • 6.49 KB
http
1 files • 6.49 KB
profile_v1.yaml
Исходный код уроков/lesson-19/api/http/profile_v1.yaml
cmd
3 files • 3.69 KB
app
1 files • 699 Bytes
main.go
Исходный код уроков/lesson-19/cmd/app/main.go
seeder
2 files • 3.01 KB
helper.go
Исходный код уроков/lesson-19/cmd/seeder/helper.go
main.go
Исходный код уроков/lesson-19/cmd/seeder/main.go
config
1 files • 1019 Bytes
config.go
Исходный код уроков/lesson-19/config/config.go
gen
6 files • 40.67 KB
http
6 files • 40.67 KB
profile_v1
6 files • 40.67 KB
client
3 files • 21.54 KB
client.gen.go
Исходный код уроков/lesson-19/gen/http/profile_v1/client/client.gen.go
config.yaml
Исходный код уроков/lesson-19/gen/http/profile_v1/client/config.yaml
generate.go
Исходный код уроков/lesson-19/gen/http/profile_v1/client/generate.go
server
3 files • 19.14 KB
config.yaml
Исходный код уроков/lesson-19/gen/http/profile_v1/server/config.yaml
generate.go
Исходный код уроков/lesson-19/gen/http/profile_v1/server/generate.go
server.gen.go
Исходный код уроков/lesson-19/gen/http/profile_v1/server/server.gen.go
internal
32 files • 37.93 KB
adapter
8 files • 6.41 KB
postgres
6 files • 5.42 KB
create_profile.go
Исходный код уроков/lesson-19/internal/adapter/postgres/create_profile.go
create_property.go
Исходный код уроков/lesson-19/internal/adapter/postgres/create_property.go
delete_profile.go
Исходный код уроков/lesson-19/internal/adapter/postgres/delete_profile.go
get_profile.go
Исходный код уроков/lesson-19/internal/adapter/postgres/get_profile.go
postgres.go
Исходный код уроков/lesson-19/internal/adapter/postgres/postgres.go
update_profile.go
Исходный код уроков/lesson-19/internal/adapter/postgres/update_profile.go
redis
2 files • 1010 Bytes
is_exists.go
Исходный код уроков/lesson-19/internal/adapter/redis/is_exists.go
redis.go
Исходный код уроков/lesson-19/internal/adapter/redis/redis.go
app
1 files • 1.75 KB
app.go
Исходный код уроков/lesson-19/internal/app/app.go
controller
6 files • 4.94 KB
http
6 files • 4.94 KB
router.go
Исходный код уроков/lesson-19/internal/controller/http/router.go
v1
5 files • 3.96 KB
create_profile.go
Исходный код уроков/lesson-19/internal/controller/http/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-19/internal/controller/http/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-19/internal/controller/http/v1/get_profile.go
update_profile.go
Исходный код уроков/lesson-19/internal/controller/http/v1/update_profile.go
v1.go
Исходный код уроков/lesson-19/internal/controller/http/v1/v1.go
domain
5 files • 4.22 KB
error.go
Исходный код уроков/lesson-19/internal/domain/error.go
profile.go
Исходный код уроков/lesson-19/internal/domain/profile.go
profile_test.go
Исходный код уроков/lesson-19/internal/domain/profile_test.go
property.go
Исходный код уроков/lesson-19/internal/domain/property.go
status.go
Исходный код уроков/lesson-19/internal/domain/status.go
dto
4 files • 962 Bytes
create_profile.go
Исходный код уроков/lesson-19/internal/dto/create_profile.go
delete_profile.go
Исходный код уроков/lesson-19/internal/dto/delete_profile.go
get_profile.go
Исходный код уроков/lesson-19/internal/dto/get_profile.go
update_profile.go
Исходный код уроков/lesson-19/internal/dto/update_profile.go
usecase
8 files • 19.67 KB
create_profile.go
Исходный код уроков/lesson-19/internal/usecase/create_profile.go
create_profile_test.go
Исходный код уроков/lesson-19/internal/usecase/create_profile_test.go
delete_profile.go
Исходный код уроков/lesson-19/internal/usecase/delete_profile.go
get_profile.go
Исходный код уроков/lesson-19/internal/usecase/get_profile.go
get_profile_test.go
Исходный код уроков/lesson-19/internal/usecase/get_profile_test.go
update_profile.go
Исходный код уроков/lesson-19/internal/usecase/update_profile.go
usecase.go
Исходный код уроков/lesson-19/internal/usecase/usecase.go
mocks
1 files • 10.31 KB
mocks.go
Исходный код уроков/lesson-19/internal/usecase/mocks/mocks.go
migration
6 files • 799 Bytes
postgres
6 files • 799 Bytes
20250216100653_init.down.sql
Исходный код уроков/lesson-19/migration/postgres/20250216100653_init.down.sql
20250216100653_init.up.sql
Исходный код уроков/lesson-19/migration/postgres/20250216100653_init.up.sql
20250216142416_add_contacts.down.sql
Исходный код уроков/lesson-19/migration/postgres/20250216142416_add_contacts.down.sql
20250216142416_add_contacts.up.sql
Исходный код уроков/lesson-19/migration/postgres/20250216142416_add_contacts.up.sql
20250216142526_add_property_table.down.sql
Исходный код уроков/lesson-19/migration/postgres/20250216142526_add_property_table.down.sql
20250216142526_add_property_table.up.sql
Исходный код уроков/lesson-19/migration/postgres/20250216142526_add_property_table.up.sql
observability
5 files • 28.3 KB
prometheus.yaml
Исходный код уроков/lesson-19/observability/prometheus.yaml
tempo.yaml
Исходный код уроков/lesson-19/observability/tempo.yaml
grafana
3 files • 25.69 KB
dashboard.yaml
Исходный код уроков/lesson-19/observability/grafana/dashboard.yaml
datasources.yaml
Исходный код уроков/lesson-19/observability/grafana/datasources.yaml
default.json
Исходный код уроков/lesson-19/observability/grafana/default.json
pkg
32 files • 27.53 KB
httpserver
1 files • 1.01 KB
httpserver.go
Исходный код уроков/lesson-19/pkg/httpserver/httpserver.go
logger
2 files • 1.53 KB
logger.go
Исходный код уроков/lesson-19/pkg/logger/logger.go
middleware.go
Исходный код уроков/lesson-19/pkg/logger/middleware.go
metrics
4 files • 3.53 KB
const.go
Исходный код уроков/lesson-19/pkg/metrics/const.go
entity.go
Исходный код уроков/lesson-19/pkg/metrics/entity.go
http_server.go
Исходный код уроков/lesson-19/pkg/metrics/http_server.go
middleware.go
Исходный код уроков/lesson-19/pkg/metrics/middleware.go
otel
4 files • 5.25 KB
grpc_interceptor.go
Исходный код уроков/lesson-19/pkg/otel/grpc_interceptor.go
http_middleware.go
Исходный код уроков/lesson-19/pkg/otel/http_middleware.go
otel.go
Исходный код уроков/lesson-19/pkg/otel/otel.go
tracer
1 files • 363 Bytes
tracer.go
Исходный код уроков/lesson-19/pkg/otel/tracer/tracer.go
postgres
1 files • 1.02 KB
postgres.go
Исходный код уроков/lesson-19/pkg/postgres/postgres.go
profile_client
6 files • 5.98 KB
client.go
Исходный код уроков/lesson-19/pkg/profile_client/client.go
create_profile.go
Исходный код уроков/lesson-19/pkg/profile_client/create_profile.go
delete_profile.go
Исходный код уроков/lesson-19/pkg/profile_client/delete_profile.go
example.go
Исходный код уроков/lesson-19/pkg/profile_client/example.go
get_profile.go
Исходный код уроков/lesson-19/pkg/profile_client/get_profile.go
update_profile.go
Исходный код уроков/lesson-19/pkg/profile_client/update_profile.go
profile_client_gen
6 files • 4.95 KB
client.go
Исходный код уроков/lesson-19/pkg/profile_client_gen/client.go
create_profile.go
Исходный код уроков/lesson-19/pkg/profile_client_gen/create_profile.go
delete_profile.go
Исходный код уроков/lesson-19/pkg/profile_client_gen/delete_profile.go
example.go
Исходный код уроков/lesson-19/pkg/profile_client_gen/example.go
get_profile.go
Исходный код уроков/lesson-19/pkg/profile_client_gen/get_profile.go
update_profile.go
Исходный код уроков/lesson-19/pkg/profile_client_gen/update_profile.go
redis
1 files • 646 Bytes
redis.go
Исходный код уроков/lesson-19/pkg/redis/redis.go
render
2 files • 898 Bytes
error.go
Исходный код уроков/lesson-19/pkg/render/error.go
json.go
Исходный код уроков/lesson-19/pkg/render/json.go
router
3 files • 1.18 KB
extract_path.go
Исходный код уроков/lesson-19/pkg/router/extract_path.go
router.go
Исходный код уроков/lesson-19/pkg/router/router.go
writer_wrapper.go
Исходный код уроков/lesson-19/pkg/router/writer_wrapper.go
transaction
2 files • 1.57 KB
transaction.go
Исходный код уроков/lesson-19/pkg/transaction/transaction.go
wrap.go
Исходный код уроков/lesson-19/pkg/transaction/wrap.go
test
6 files • 4.6 KB
integration
6 files • 4.6 KB
create_profile_test.go
Исходный код уроков/lesson-19/test/integration/create_profile_test.go
delete_profile_test.go
Исходный код уроков/lesson-19/test/integration/delete_profile_test.go
get_profile_test.go
Исходный код уроков/lesson-19/test/integration/get_profile_test.go
main_test.go
Исходный код уроков/lesson-19/test/integration/main_test.go
migrate_test.go
Исходный код уроков/lesson-19/test/integration/migrate_test.go
update_profile_test.go
Исходный код уроков/lesson-19/test/integration/update_profile_test.go
wiki
66 files • 71.3 KB
go.mod
Исходный код уроков/lesson-19/wiki/go.mod
go.sum
Исходный код уроков/lesson-19/wiki/go.sum
0-errors
6 files • 3.62 KB
1-error
1 files • 602 Bytes
main.go
Исходный код уроков/lesson-19/wiki/0-errors/1-error/main.go
2-with-err-wrap
1 files • 593 Bytes
main.go
Исходный код уроков/lesson-19/wiki/0-errors/2-with-err-wrap/main.go
3-unpack
1 files • 761 Bytes
main.go
Исходный код уроков/lesson-19/wiki/0-errors/3-unpack/main.go
4-errors-is
1 files • 716 Bytes
main.go
Исходный код уроков/lesson-19/wiki/0-errors/4-errors-is/main.go
5-errors-as
2 files • 1.01 KB
custom_error.go
Исходный код уроков/lesson-19/wiki/0-errors/5-errors-as/custom_error.go
main.go
Исходный код уроков/lesson-19/wiki/0-errors/5-errors-as/main.go
0-logger
7 files • 5.46 KB
1-log.go
Исходный код уроков/lesson-19/wiki/0-logger/1-log.go
2-slog.go
Исходный код уроков/lesson-19/wiki/0-logger/2-slog.go
3-zap.go
Исходный код уроков/lesson-19/wiki/0-logger/3-zap.go
4-zerolog.go
Исходный код уроков/lesson-19/wiki/0-logger/4-zerolog.go
5-with-context.go
Исходный код уроков/lesson-19/wiki/0-logger/5-with-context.go
go.mod
Исходный код уроков/lesson-19/wiki/0-logger/go.mod
go.sum
Исходный код уроков/lesson-19/wiki/0-logger/go.sum
1-middleware
6 files • 3.24 KB
1-middleware.go
Исходный код уроков/lesson-19/wiki/1-middleware/1-middleware.go
2-timer.go
Исходный код уроков/lesson-19/wiki/1-middleware/2-timer.go
3-request-id.go
Исходный код уроков/lesson-19/wiki/1-middleware/3-request-id.go
4-basic-auth.go
Исходный код уроков/lesson-19/wiki/1-middleware/4-basic-auth.go
go.mod
Исходный код уроков/lesson-19/wiki/1-middleware/go.mod
go.sum
Исходный код уроков/lesson-19/wiki/1-middleware/go.sum
2-test
6 files • 5.17 KB
1-test_test.go
Исходный код уроков/lesson-19/wiki/2-test/1-test_test.go
2-testify_test.go
Исходный код уроков/lesson-19/wiki/2-test/2-testify_test.go
3-cover.go
Исходный код уроков/lesson-19/wiki/2-test/3-cover.go
3-cover_test.go
Исходный код уроков/lesson-19/wiki/2-test/3-cover_test.go
go.mod
Исходный код уроков/lesson-19/wiki/2-test/go.mod
go.sum
Исходный код уроков/lesson-19/wiki/2-test/go.sum
3-benchmark
4 files • 1.45 KB
1-slice_test.go
Исходный код уроков/lesson-19/wiki/3-benchmark/1-slice_test.go
2-string_test.go
Исходный код уроков/lesson-19/wiki/3-benchmark/2-string_test.go
3-map_test.go
Исходный код уроков/lesson-19/wiki/3-benchmark/3-map_test.go
go.mod
Исходный код уроков/lesson-19/wiki/3-benchmark/go.mod
4-profiler
4 files • 4.19 KB
1-pprof.go
Исходный код уроков/lesson-19/wiki/4-profiler/1-pprof.go
2-server.go
Исходный код уроков/lesson-19/wiki/4-profiler/2-server.go
go.mod
Исходный код уроков/lesson-19/wiki/4-profiler/go.mod
go.sum
Исходный код уроков/lesson-19/wiki/4-profiler/go.sum
5-context
6 files • 3.5 KB
1-context.go
Исходный код уроков/lesson-19/wiki/5-context/1-context.go
2-cancel.go
Исходный код уроков/lesson-19/wiki/5-context/2-cancel.go
3-deadline.go
Исходный код уроков/lesson-19/wiki/5-context/3-deadline.go
4-timeout.go
Исходный код уроков/lesson-19/wiki/5-context/4-timeout.go
5-value.go
Исходный код уроков/lesson-19/wiki/5-context/5-value.go
6-example.go
Исходный код уроков/lesson-19/wiki/5-context/6-example.go
6-jwt
8 files • 11.55 KB
1-key-gen.go
Исходный код уроков/lesson-19/wiki/6-jwt/1-key-gen.go
2-create-jwt.go
Исходный код уроков/lesson-19/wiki/6-jwt/2-create-jwt.go
3-verify-jwt.go
Исходный код уроков/lesson-19/wiki/6-jwt/3-verify-jwt.go
4-server-example.go
Исходный код уроков/lesson-19/wiki/6-jwt/4-server-example.go
go.mod
Исходный код уроков/lesson-19/wiki/6-jwt/go.mod
go.sum
Исходный код уроков/lesson-19/wiki/6-jwt/go.sum
keys
2 files • 2.08 KB
private_key.pem
Исходный код уроков/lesson-19/wiki/6-jwt/keys/private_key.pem
public_key.pem
Исходный код уроков/lesson-19/wiki/6-jwt/keys/public_key.pem
7-json
1 files • 2.02 KB
main.go
Исходный код уроков/lesson-19/wiki/7-json/main.go
8-pgx
3 files • 7.15 KB
1-pgx.go
Исходный код уроков/lesson-19/wiki/8-pgx/1-pgx.go
go.mod
Исходный код уроков/lesson-19/wiki/8-pgx/go.mod
go.sum
Исходный код уроков/lesson-19/wiki/8-pgx/go.sum
9-goqu
3 files • 7.58 KB
go.mod
Исходный код уроков/lesson-19/wiki/9-goqu/go.mod
go.sum
Исходный код уроков/lesson-19/wiki/9-goqu/go.sum
main.go
Исходный код уроков/lesson-19/wiki/9-goqu/main.go
10-sql-injection
3 files • 5.54 KB
go.mod
Исходный код уроков/lesson-19/wiki/10-sql-injection/go.mod
go.sum
Исходный код уроков/lesson-19/wiki/10-sql-injection/go.sum
main.go
Исходный код уроков/lesson-19/wiki/10-sql-injection/main.go
11-migrate
5 files • 1.95 KB
main.go
Исходный код уроков/lesson-19/wiki/11-migrate/main.go
migration
4 files • 786 Bytes
20250213144246_init.down.sql
Исходный код уроков/lesson-19/wiki/11-migrate/migration/20250213144246_init.down.sql
20250213144246_init.up.sql
Исходный код уроков/lesson-19/wiki/11-migrate/migration/20250213144246_init.up.sql
20250213144247_test.down.sql
Исходный код уроков/lesson-19/wiki/11-migrate/migration/20250213144247_test.down.sql
20250213144247_test.up.sql
Исходный код уроков/lesson-19/wiki/11-migrate/migration/20250213144247_test.up.sql
12-patterns
2 files • 2.81 KB
1-option.go
Исходный код уроков/lesson-19/wiki/12-patterns/1-option.go
2-config.go
Исходный код уроков/lesson-19/wiki/12-patterns/2-config.go
lesson-20
205 files • 23.48 MB
.env
Исходный код уроков/lesson-20/.env
.env.example
Исходный код уроков/lesson-20/.env.example
.gitignore
Исходный код уроков/lesson-20/.gitignore
.mockery.yml
Исходный код уроков/lesson-20/.mockery.yml
docker-compose.yml
Исходный код уроков/lesson-20/docker-compose.yml
Dockerfile
Исходный код уроков/lesson-20/Dockerfile
go.mod
Исходный код уроков/lesson-20/go.mod
go.sum
Исходный код уроков/lesson-20/go.sum
Makefile
Исходный код уроков/lesson-20/Makefile
README.md
Исходный код уроков/lesson-20/README.md
api
2 files • 7.68 KB
grpc
1 files • 1.21 KB
profile_v1.proto
Исходный код уроков/lesson-20/api/grpc/profile_v1.proto
http
1 files • 6.47 KB
profile_v1.yaml
Исходный код уроков/lesson-20/api/http/profile_v1.yaml
bin
18 files • 23.19 MB
protoc
Исходный код уроков/lesson-20/bin/protoc
protoc-gen-go
Исходный код уроков/lesson-20/bin/protoc-gen-go
protoc-gen-go-grpc
Исходный код уроков/lesson-20/bin/protoc-gen-go-grpc
include
15 files • 122.85 KB
15 files • 122.85 KB
protobuf
15 files • 122.85 KB
any.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/any.proto
api.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/api.proto
cpp_features.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/cpp_features.proto
descriptor.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/descriptor.proto
duration.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/duration.proto
empty.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/empty.proto
field_mask.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/field_mask.proto
go_features.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/go_features.proto
java_features.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/java_features.proto
source_context.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/source_context.proto
struct.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/struct.proto
timestamp.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/timestamp.proto
type.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/type.proto
wrappers.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/wrappers.proto
compiler
1 files • 8.36 KB
plugin.proto
Исходный код уроков/lesson-20/bin/include/google/protobuf/compiler/plugin.proto
cmd
5 files • 5.38 KB
app
1 files • 699 Bytes
main.go
Исходный код уроков/lesson-20/cmd/app/main.go
grpc_call
1 files • 905 Bytes
main.go
Исходный код уроков/lesson-20/cmd/grpc_call/main.go
http_call
1 files • 827 Bytes
main.go
Исходный код уроков/lesson-20/cmd/http_call/main.go
seeder
2 files • 3.01 KB
helper.go
Исходный код уроков/lesson-20/cmd/seeder/helper.go
main.go
Исходный код уроков/lesson-20/cmd/seeder/main.go
config
1 files • 1.09 KB
config.go
Исходный код уроков/lesson-20/config/config.go
gen
8 files • 72.19 KB
grpc
2 files • 31.54 KB
profile_v1
2 files • 31.54 KB
profile_v1.pb.go
Исходный код уроков/lesson-20/gen/grpc/profile_v1/profile_v1.pb.go
profile_v1_grpc.pb.go
Исходный код уроков/lesson-20/gen/grpc/profile_v1/profile_v1_grpc.pb.go
http
6 files • 40.65 KB
profile_v1
6 files • 40.65 KB
client
3 files • 21.52 KB
client.gen.go
Исходный код уроков/lesson-20/gen/http/profile_v1/client/client.gen.go
config.yaml
Исходный код уроков/lesson-20/gen/http/profile_v1/client/config.yaml
generate.go
Исходный код уроков/lesson-20/gen/http/profile_v1/client/generate.go
server
3 files • 19.12 KB
config.yaml
Исходный код уроков/lesson-20/gen/http/profile_v1/server/config.yaml
generate.go
Исходный код уроков/lesson-20/gen/http/profile_v1/server/generate.go
server.gen.go
Исходный код уроков/lesson-20/gen/http/profile_v1/server/server.gen.go
internal
38 files • 43.66 KB
adapter
8 files • 6.41 KB
postgres
6 files • 5.42 KB
create_profile.go
Исходный код уроков/lesson-20/internal/adapter/postgres/create_profile.go
create_property.go
Исходный код уроков/lesson-20/internal/adapter/postgres/create_property.go
delete_profile.go
Исходный код уроков/lesson-20/internal/adapter/postgres/delete_profile.go
get_profile.go
Исходный код уроков/lesson-20/internal/adapter/postgres/get_profile.go
postgres.go
Исходный код уроков/lesson-20/internal/adapter/postgres/postgres.go
update_profile.go
Исходный код уроков/lesson-20/internal/adapter/postgres/update_profile.go
redis
2 files • 1010 Bytes
is_exists.go
Исходный код уроков/lesson-20/internal/adapter/redis/is_exists.go
redis.go
Исходный код уроков/lesson-20/internal/adapter/redis/redis.go
app
1 files • 1.96 KB
app.go
Исходный код уроков/lesson-20/internal/app/app.go
controller
12 files • 10.47 KB
grpc
6 files • 5.53 KB
grpc.go
Исходный код уроков/lesson-20/internal/controller/grpc/grpc.go
v1
5 files • 3.99 KB
create_profile.go
Исходный код уроков/lesson-20/internal/controller/grpc/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-20/internal/controller/grpc/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-20/internal/controller/grpc/v1/get_profile.go
update_profile.go
Исходный код уроков/lesson-20/internal/controller/grpc/v1/update_profile.go
v1.go
Исходный код уроков/lesson-20/internal/controller/grpc/v1/v1.go
http
6 files • 4.93 KB
router.go
Исходный код уроков/lesson-20/internal/controller/http/router.go
v1
5 files • 3.95 KB
create_profile.go
Исходный код уроков/lesson-20/internal/controller/http/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-20/internal/controller/http/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-20/internal/controller/http/v1/get_profile.go
update_profile.go
Исходный код уроков/lesson-20/internal/controller/http/v1/update_profile.go
v1.go
Исходный код уроков/lesson-20/internal/controller/http/v1/v1.go
domain
5 files • 4.22 KB
error.go
Исходный код уроков/lesson-20/internal/domain/error.go
profile.go
Исходный код уроков/lesson-20/internal/domain/profile.go
profile_test.go
Исходный код уроков/lesson-20/internal/domain/profile_test.go
property.go
Исходный код уроков/lesson-20/internal/domain/property.go
status.go
Исходный код уроков/lesson-20/internal/domain/status.go
dto
4 files • 962 Bytes
create_profile.go
Исходный код уроков/lesson-20/internal/dto/create_profile.go
delete_profile.go
Исходный код уроков/lesson-20/internal/dto/delete_profile.go
get_profile.go
Исходный код уроков/lesson-20/internal/dto/get_profile.go
update_profile.go
Исходный код уроков/lesson-20/internal/dto/update_profile.go
usecase
8 files • 19.67 KB
create_profile.go
Исходный код уроков/lesson-20/internal/usecase/create_profile.go
create_profile_test.go
Исходный код уроков/lesson-20/internal/usecase/create_profile_test.go
delete_profile.go
Исходный код уроков/lesson-20/internal/usecase/delete_profile.go
get_profile.go
Исходный код уроков/lesson-20/internal/usecase/get_profile.go
get_profile_test.go
Исходный код уроков/lesson-20/internal/usecase/get_profile_test.go
update_profile.go
Исходный код уроков/lesson-20/internal/usecase/update_profile.go
usecase.go
Исходный код уроков/lesson-20/internal/usecase/usecase.go
mocks
1 files • 10.31 KB
mocks.go
Исходный код уроков/lesson-20/internal/usecase/mocks/mocks.go
migration
6 files • 799 Bytes
postgres
6 files • 799 Bytes
20250216100653_init.down.sql
Исходный код уроков/lesson-20/migration/postgres/20250216100653_init.down.sql
20250216100653_init.up.sql
Исходный код уроков/lesson-20/migration/postgres/20250216100653_init.up.sql
20250216142416_add_contacts.down.sql
Исходный код уроков/lesson-20/migration/postgres/20250216142416_add_contacts.down.sql
20250216142416_add_contacts.up.sql
Исходный код уроков/lesson-20/migration/postgres/20250216142416_add_contacts.up.sql
20250216142526_add_property_table.down.sql
Исходный код уроков/lesson-20/migration/postgres/20250216142526_add_property_table.down.sql
20250216142526_add_property_table.up.sql
Исходный код уроков/lesson-20/migration/postgres/20250216142526_add_property_table.up.sql
observability
5 files • 28.3 KB
prometheus.yaml
Исходный код уроков/lesson-20/observability/prometheus.yaml
tempo.yaml
Исходный код уроков/lesson-20/observability/tempo.yaml
grafana
3 files • 25.69 KB
dashboard.yaml
Исходный код уроков/lesson-20/observability/grafana/dashboard.yaml
datasources.yaml
Исходный код уроков/lesson-20/observability/grafana/datasources.yaml
default.json
Исходный код уроков/lesson-20/observability/grafana/default.json
pkg
40 files • 33.51 KB
httpserver
1 files • 1.01 KB
httpserver.go
Исходный код уроков/lesson-20/pkg/httpserver/httpserver.go
logger
4 files • 2.63 KB
example_intercepter.go
Исходный код уроков/lesson-20/pkg/logger/example_intercepter.go
interceptor.go
Исходный код уроков/lesson-20/pkg/logger/interceptor.go
logger.go
Исходный код уроков/lesson-20/pkg/logger/logger.go
middleware.go
Исходный код уроков/lesson-20/pkg/logger/middleware.go
metrics
4 files • 3.53 KB
const.go
Исходный код уроков/lesson-20/pkg/metrics/const.go
entity.go
Исходный код уроков/lesson-20/pkg/metrics/entity.go
http_server.go
Исходный код уроков/lesson-20/pkg/metrics/http_server.go
middleware.go
Исходный код уроков/lesson-20/pkg/metrics/middleware.go
otel
4 files • 5.25 KB
grpc_interceptor.go
Исходный код уроков/lesson-20/pkg/otel/grpc_interceptor.go
http_middleware.go
Исходный код уроков/lesson-20/pkg/otel/http_middleware.go
otel.go
Исходный код уроков/lesson-20/pkg/otel/otel.go
tracer
1 files • 363 Bytes
tracer.go
Исходный код уроков/lesson-20/pkg/otel/tracer/tracer.go
postgres
1 files • 1.02 KB
postgres.go
Исходный код уроков/lesson-20/pkg/postgres/postgres.go
profile_client
6 files • 5.98 KB
client.go
Исходный код уроков/lesson-20/pkg/profile_client/client.go
create_profile.go
Исходный код уроков/lesson-20/pkg/profile_client/create_profile.go
delete_profile.go
Исходный код уроков/lesson-20/pkg/profile_client/delete_profile.go
example.go
Исходный код уроков/lesson-20/pkg/profile_client/example.go
get_profile.go
Исходный код уроков/lesson-20/pkg/profile_client/get_profile.go
update_profile.go
Исходный код уроков/lesson-20/pkg/profile_client/update_profile.go
profile_client_gen
6 files • 4.88 KB
client.go
Исходный код уроков/lesson-20/pkg/profile_client_gen/client.go
create_profile.go
Исходный код уроков/lesson-20/pkg/profile_client_gen/create_profile.go
delete_profile.go
Исходный код уроков/lesson-20/pkg/profile_client_gen/delete_profile.go
example.go
Исходный код уроков/lesson-20/pkg/profile_client_gen/example.go
get_profile.go
Исходный код уроков/lesson-20/pkg/profile_client_gen/get_profile.go
update_profile.go
Исходный код уроков/lesson-20/pkg/profile_client_gen/update_profile.go
profile_client_grpc
6 files • 4.96 KB
client.go
Исходный код уроков/lesson-20/pkg/profile_client_grpc/client.go
create_profile.go
Исходный код уроков/lesson-20/pkg/profile_client_grpc/create_profile.go
delete_profile.go
Исходный код уроков/lesson-20/pkg/profile_client_grpc/delete_profile.go
example.go
Исходный код уроков/lesson-20/pkg/profile_client_grpc/example.go
get_profile.go
Исходный код уроков/lesson-20/pkg/profile_client_grpc/get_profile.go
update_profile.go
Исходный код уроков/lesson-20/pkg/profile_client_grpc/update_profile.go
redis
1 files • 646 Bytes
redis.go
Исходный код уроков/lesson-20/pkg/redis/redis.go
render
2 files • 898 Bytes
error.go
Исходный код уроков/lesson-20/pkg/render/error.go
json.go
Исходный код уроков/lesson-20/pkg/render/json.go
router
3 files • 1.18 KB
extract_path.go
Исходный код уроков/lesson-20/pkg/router/extract_path.go
router.go
Исходный код уроков/lesson-20/pkg/router/router.go
writer_wrapper.go
Исходный код уроков/lesson-20/pkg/router/writer_wrapper.go
transaction
2 files • 1.57 KB
transaction.go
Исходный код уроков/lesson-20/pkg/transaction/transaction.go
wrap.go
Исходный код уроков/lesson-20/pkg/transaction/wrap.go
test
6 files • 4.51 KB
integration
6 files • 4.51 KB
create_profile_test.go
Исходный код уроков/lesson-20/test/integration/create_profile_test.go
delete_profile_test.go
Исходный код уроков/lesson-20/test/integration/delete_profile_test.go
get_profile_test.go
Исходный код уроков/lesson-20/test/integration/get_profile_test.go
main_test.go
Исходный код уроков/lesson-20/test/integration/main_test.go
migrate_test.go
Исходный код уроков/lesson-20/test/integration/migrate_test.go
update_profile_test.go
Исходный код уроков/lesson-20/test/integration/update_profile_test.go
wiki
66 files • 71.3 KB
go.mod
Исходный код уроков/lesson-20/wiki/go.mod
go.sum
Исходный код уроков/lesson-20/wiki/go.sum
0-errors
6 files • 3.62 KB
1-error
1 files • 602 Bytes
main.go
Исходный код уроков/lesson-20/wiki/0-errors/1-error/main.go
2-with-err-wrap
1 files • 593 Bytes
main.go
Исходный код уроков/lesson-20/wiki/0-errors/2-with-err-wrap/main.go
3-unpack
1 files • 761 Bytes
main.go
Исходный код уроков/lesson-20/wiki/0-errors/3-unpack/main.go
4-errors-is
1 files • 716 Bytes
main.go
Исходный код уроков/lesson-20/wiki/0-errors/4-errors-is/main.go
5-errors-as
2 files • 1.01 KB
custom_error.go
Исходный код уроков/lesson-20/wiki/0-errors/5-errors-as/custom_error.go
main.go
Исходный код уроков/lesson-20/wiki/0-errors/5-errors-as/main.go
0-logger
7 files • 5.46 KB
1-log.go
Исходный код уроков/lesson-20/wiki/0-logger/1-log.go
2-slog.go
Исходный код уроков/lesson-20/wiki/0-logger/2-slog.go
3-zap.go
Исходный код уроков/lesson-20/wiki/0-logger/3-zap.go
4-zerolog.go
Исходный код уроков/lesson-20/wiki/0-logger/4-zerolog.go
5-with-context.go
Исходный код уроков/lesson-20/wiki/0-logger/5-with-context.go
go.mod
Исходный код уроков/lesson-20/wiki/0-logger/go.mod
go.sum
Исходный код уроков/lesson-20/wiki/0-logger/go.sum
1-middleware
6 files • 3.24 KB
1-middleware.go
Исходный код уроков/lesson-20/wiki/1-middleware/1-middleware.go
2-timer.go
Исходный код уроков/lesson-20/wiki/1-middleware/2-timer.go
3-request-id.go
Исходный код уроков/lesson-20/wiki/1-middleware/3-request-id.go
4-basic-auth.go
Исходный код уроков/lesson-20/wiki/1-middleware/4-basic-auth.go
go.mod
Исходный код уроков/lesson-20/wiki/1-middleware/go.mod
go.sum
Исходный код уроков/lesson-20/wiki/1-middleware/go.sum
2-test
6 files • 5.17 KB
1-test_test.go
Исходный код уроков/lesson-20/wiki/2-test/1-test_test.go
2-testify_test.go
Исходный код уроков/lesson-20/wiki/2-test/2-testify_test.go
3-cover.go
Исходный код уроков/lesson-20/wiki/2-test/3-cover.go
3-cover_test.go
Исходный код уроков/lesson-20/wiki/2-test/3-cover_test.go
go.mod
Исходный код уроков/lesson-20/wiki/2-test/go.mod
go.sum
Исходный код уроков/lesson-20/wiki/2-test/go.sum
3-benchmark
4 files • 1.45 KB
1-slice_test.go
Исходный код уроков/lesson-20/wiki/3-benchmark/1-slice_test.go
2-string_test.go
Исходный код уроков/lesson-20/wiki/3-benchmark/2-string_test.go
3-map_test.go
Исходный код уроков/lesson-20/wiki/3-benchmark/3-map_test.go
go.mod
Исходный код уроков/lesson-20/wiki/3-benchmark/go.mod
4-profiler
4 files • 4.19 KB
1-pprof.go
Исходный код уроков/lesson-20/wiki/4-profiler/1-pprof.go
2-server.go
Исходный код уроков/lesson-20/wiki/4-profiler/2-server.go
go.mod
Исходный код уроков/lesson-20/wiki/4-profiler/go.mod
go.sum
Исходный код уроков/lesson-20/wiki/4-profiler/go.sum
5-context
6 files • 3.5 KB
1-context.go
Исходный код уроков/lesson-20/wiki/5-context/1-context.go
2-cancel.go
Исходный код уроков/lesson-20/wiki/5-context/2-cancel.go
3-deadline.go
Исходный код уроков/lesson-20/wiki/5-context/3-deadline.go
4-timeout.go
Исходный код уроков/lesson-20/wiki/5-context/4-timeout.go
5-value.go
Исходный код уроков/lesson-20/wiki/5-context/5-value.go
6-example.go
Исходный код уроков/lesson-20/wiki/5-context/6-example.go
6-jwt
8 files • 11.55 KB
1-key-gen.go
Исходный код уроков/lesson-20/wiki/6-jwt/1-key-gen.go
2-create-jwt.go
Исходный код уроков/lesson-20/wiki/6-jwt/2-create-jwt.go
3-verify-jwt.go
Исходный код уроков/lesson-20/wiki/6-jwt/3-verify-jwt.go
4-server-example.go
Исходный код уроков/lesson-20/wiki/6-jwt/4-server-example.go
go.mod
Исходный код уроков/lesson-20/wiki/6-jwt/go.mod
go.sum
Исходный код уроков/lesson-20/wiki/6-jwt/go.sum
keys
2 files • 2.08 KB
private_key.pem
Исходный код уроков/lesson-20/wiki/6-jwt/keys/private_key.pem
public_key.pem
Исходный код уроков/lesson-20/wiki/6-jwt/keys/public_key.pem
7-json
1 files • 2.02 KB
main.go
Исходный код уроков/lesson-20/wiki/7-json/main.go
8-pgx
3 files • 7.15 KB
1-pgx.go
Исходный код уроков/lesson-20/wiki/8-pgx/1-pgx.go
go.mod
Исходный код уроков/lesson-20/wiki/8-pgx/go.mod
go.sum
Исходный код уроков/lesson-20/wiki/8-pgx/go.sum
9-goqu
3 files • 7.58 KB
go.mod
Исходный код уроков/lesson-20/wiki/9-goqu/go.mod
go.sum
Исходный код уроков/lesson-20/wiki/9-goqu/go.sum
main.go
Исходный код уроков/lesson-20/wiki/9-goqu/main.go
10-sql-injection
3 files • 5.54 KB
go.mod
Исходный код уроков/lesson-20/wiki/10-sql-injection/go.mod
go.sum
Исходный код уроков/lesson-20/wiki/10-sql-injection/go.sum
main.go
Исходный код уроков/lesson-20/wiki/10-sql-injection/main.go
11-migrate
5 files • 1.95 KB
main.go
Исходный код уроков/lesson-20/wiki/11-migrate/main.go
migration
4 files • 786 Bytes
20250213144246_init.down.sql
Исходный код уроков/lesson-20/wiki/11-migrate/migration/20250213144246_init.down.sql
20250213144246_init.up.sql
Исходный код уроков/lesson-20/wiki/11-migrate/migration/20250213144246_init.up.sql
20250213144247_test.down.sql
Исходный код уроков/lesson-20/wiki/11-migrate/migration/20250213144247_test.down.sql
20250213144247_test.up.sql
Исходный код уроков/lesson-20/wiki/11-migrate/migration/20250213144247_test.up.sql
12-patterns
2 files • 2.81 KB
1-option.go
Исходный код уроков/lesson-20/wiki/12-patterns/1-option.go
2-config.go
Исходный код уроков/lesson-20/wiki/12-patterns/2-config.go
lesson-21
19 files • 23.73 KB
.gitignore
Исходный код уроков/lesson-21/.gitignore
1-write-partition.go
Исходный код уроков/lesson-21/1-write-partition.go
2-read-partition.go
Исходный код уроков/lesson-21/2-read-partition.go
3.1-create-topic.go
Исходный код уроков/lesson-21/3.1-create-topic.go
4-get-leader-partition.go
Исходный код уроков/lesson-21/4-get-leader-partition.go
5.1-reader.go
Исходный код уроков/lesson-21/5.1-reader.go
5.2-reader-group.go
Исходный код уроков/lesson-21/5.2-reader-group.go
6.1-auto-commit.go
Исходный код уроков/lesson-21/6.1-auto-commit.go
6.2-fetch-and-commit.go
Исходный код уроков/lesson-21/6.2-fetch-and-commit.go
7.1-writer.go
Исходный код уроков/lesson-21/7.1-writer.go
7.2-write-to-topics.go
Исходный код уроков/lesson-21/7.2-write-to-topics.go
7.3-auto-create.go
Исходный код уроков/lesson-21/7.3-auto-create.go
8-semantics.go
Исходный код уроков/lesson-21/8-semantics.go
docker-compose.yml
Исходный код уроков/lesson-21/docker-compose.yml
go.mod
Исходный код уроков/lesson-21/go.mod
go.sum
Исходный код уроков/lesson-21/go.sum
main.go
Исходный код уроков/lesson-21/main.go
Makefile
Исходный код уроков/lesson-21/Makefile
pkg
1 files • 402 Bytes
logger
1 files • 402 Bytes
logger.go
Исходный код уроков/lesson-21/pkg/logger/logger.go
lesson-22
260 files • 23.53 MB
.env
Исходный код уроков/lesson-22/.env
.env.example
Исходный код уроков/lesson-22/.env.example
.gitignore
Исходный код уроков/lesson-22/.gitignore
.mockery.yml
Исходный код уроков/lesson-22/.mockery.yml
docker-compose.yml
Исходный код уроков/lesson-22/docker-compose.yml
Dockerfile
Исходный код уроков/lesson-22/Dockerfile
go.mod
Исходный код уроков/lesson-22/go.mod
go.sum
Исходный код уроков/lesson-22/go.sum
Makefile
Исходный код уроков/lesson-22/Makefile
README.md
Исходный код уроков/lesson-22/README.md
api
2 files • 7.68 KB
grpc
1 files • 1.21 KB
profile_v1.proto
Исходный код уроков/lesson-22/api/grpc/profile_v1.proto
http
1 files • 6.47 KB
profile_v1.yaml
Исходный код уроков/lesson-22/api/http/profile_v1.yaml
bin
18 files • 23.19 MB
protoc
Исходный код уроков/lesson-22/bin/protoc
protoc-gen-go
Исходный код уроков/lesson-22/bin/protoc-gen-go
protoc-gen-go-grpc
Исходный код уроков/lesson-22/bin/protoc-gen-go-grpc
include
15 files • 122.85 KB
15 files • 122.85 KB
protobuf
15 files • 122.85 KB
any.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/any.proto
api.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/api.proto
cpp_features.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/cpp_features.proto
descriptor.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/descriptor.proto
duration.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/duration.proto
empty.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/empty.proto
field_mask.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/field_mask.proto
go_features.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/go_features.proto
java_features.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/java_features.proto
source_context.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/source_context.proto
struct.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/struct.proto
timestamp.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/timestamp.proto
type.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/type.proto
wrappers.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/wrappers.proto
compiler
1 files • 8.36 KB
plugin.proto
Исходный код уроков/lesson-22/bin/include/google/protobuf/compiler/plugin.proto
cmd
5 files • 5.38 KB
app
1 files • 699 Bytes
main.go
Исходный код уроков/lesson-22/cmd/app/main.go
grpc_call
1 files • 905 Bytes
main.go
Исходный код уроков/lesson-22/cmd/grpc_call/main.go
http_call
1 files • 827 Bytes
main.go
Исходный код уроков/lesson-22/cmd/http_call/main.go
seeder
2 files • 3.01 KB
helper.go
Исходный код уроков/lesson-22/cmd/seeder/helper.go
main.go
Исходный код уроков/lesson-22/cmd/seeder/main.go
config
1 files • 1.49 KB
config.go
Исходный код уроков/lesson-22/config/config.go
gen
8 files • 72.19 KB
grpc
2 files • 31.54 KB
profile_v1
2 files • 31.54 KB
profile_v1.pb.go
Исходный код уроков/lesson-22/gen/grpc/profile_v1/profile_v1.pb.go
profile_v1_grpc.pb.go
Исходный код уроков/lesson-22/gen/grpc/profile_v1/profile_v1_grpc.pb.go
http
6 files • 40.65 KB
profile_v1
6 files • 40.65 KB
client
3 files • 21.52 KB
client.gen.go
Исходный код уроков/lesson-22/gen/http/profile_v1/client/client.gen.go
config.yaml
Исходный код уроков/lesson-22/gen/http/profile_v1/client/config.yaml
generate.go
Исходный код уроков/lesson-22/gen/http/profile_v1/client/generate.go
server
3 files • 19.12 KB
config.yaml
Исходный код уроков/lesson-22/gen/http/profile_v1/server/config.yaml
generate.go
Исходный код уроков/lesson-22/gen/http/profile_v1/server/generate.go
server.gen.go
Исходный код уроков/lesson-22/gen/http/profile_v1/server/server.gen.go
internal
43 files • 51.62 KB
adapter
11 files • 10.25 KB
kafka_producer
1 files • 1.75 KB
produce.go
Исходный код уроков/lesson-22/internal/adapter/kafka_producer/produce.go
postgres
8 files • 7.52 KB
create_profile.go
Исходный код уроков/lesson-22/internal/adapter/postgres/create_profile.go
create_property.go
Исходный код уроков/lesson-22/internal/adapter/postgres/create_property.go
delete_profile.go
Исходный код уроков/lesson-22/internal/adapter/postgres/delete_profile.go
get_profile.go
Исходный код уроков/lesson-22/internal/adapter/postgres/get_profile.go
postgres.go
Исходный код уроков/lesson-22/internal/adapter/postgres/postgres.go
read_outbox_kafka.go
Исходный код уроков/lesson-22/internal/adapter/postgres/read_outbox_kafka.go
save_outbox_kafka.go
Исходный код уроков/lesson-22/internal/adapter/postgres/save_outbox_kafka.go
update_profile.go
Исходный код уроков/lesson-22/internal/adapter/postgres/update_profile.go
redis
2 files • 1010 Bytes
is_exists.go
Исходный код уроков/lesson-22/internal/adapter/redis/is_exists.go
redis.go
Исходный код уроков/lesson-22/internal/adapter/redis/redis.go
app
1 files • 2.55 KB
app.go
Исходный код уроков/lesson-22/internal/app/app.go
controller
14 files • 13.99 KB
grpc
6 files • 5.53 KB
grpc.go
Исходный код уроков/lesson-22/internal/controller/grpc/grpc.go
v1
5 files • 3.99 KB
create_profile.go
Исходный код уроков/lesson-22/internal/controller/grpc/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-22/internal/controller/grpc/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-22/internal/controller/grpc/v1/get_profile.go
update_profile.go
Исходный код уроков/lesson-22/internal/controller/grpc/v1/update_profile.go
v1.go
Исходный код уроков/lesson-22/internal/controller/grpc/v1/v1.go
http
6 files • 4.93 KB
router.go
Исходный код уроков/lesson-22/internal/controller/http/router.go
v1
5 files • 3.95 KB
create_profile.go
Исходный код уроков/lesson-22/internal/controller/http/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-22/internal/controller/http/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-22/internal/controller/http/v1/get_profile.go
update_profile.go
Исходный код уроков/lesson-22/internal/controller/http/v1/update_profile.go
v1.go
Исходный код уроков/lesson-22/internal/controller/http/v1/v1.go
kafka_consumer
1 files • 2.2 KB
consumer.go
Исходный код уроков/lesson-22/internal/controller/kafka_consumer/consumer.go
worker
1 files • 1.32 KB
outbox_kafka.go
Исходный код уроков/lesson-22/internal/controller/worker/outbox_kafka.go
domain
6 files • 4.62 KB
error.go
Исходный код уроков/lesson-22/internal/domain/error.go
event.go
Исходный код уроков/lesson-22/internal/domain/event.go
profile.go
Исходный код уроков/lesson-22/internal/domain/profile.go
profile_test.go
Исходный код уроков/lesson-22/internal/domain/profile_test.go
property.go
Исходный код уроков/lesson-22/internal/domain/property.go
status.go
Исходный код уроков/lesson-22/internal/domain/status.go
dto
4 files • 962 Bytes
create_profile.go
Исходный код уроков/lesson-22/internal/dto/create_profile.go
delete_profile.go
Исходный код уроков/lesson-22/internal/dto/delete_profile.go
get_profile.go
Исходный код уроков/lesson-22/internal/dto/get_profile.go
update_profile.go
Исходный код уроков/lesson-22/internal/dto/update_profile.go
usecase
7 files • 19.27 KB
create_profile.go
Исходный код уроков/lesson-22/internal/usecase/create_profile.go
delete_profile.go
Исходный код уроков/lesson-22/internal/usecase/delete_profile.go
get_profile.go
Исходный код уроков/lesson-22/internal/usecase/get_profile.go
outbox_read_and_produce.go
Исходный код уроков/lesson-22/internal/usecase/outbox_read_and_produce.go
update_profile.go
Исходный код уроков/lesson-22/internal/usecase/update_profile.go
usecase.go
Исходный код уроков/lesson-22/internal/usecase/usecase.go
mocks
1 files • 12.4 KB
mocks.go
Исходный код уроков/lesson-22/internal/usecase/mocks/mocks.go
migration
8 files • 1.16 KB
postgres
8 files • 1.16 KB
20250216100653_init.down.sql
Исходный код уроков/lesson-22/migration/postgres/20250216100653_init.down.sql
20250216100653_init.up.sql
Исходный код уроков/lesson-22/migration/postgres/20250216100653_init.up.sql
20250216142416_add_contacts.down.sql
Исходный код уроков/lesson-22/migration/postgres/20250216142416_add_contacts.down.sql
20250216142416_add_contacts.up.sql
Исходный код уроков/lesson-22/migration/postgres/20250216142416_add_contacts.up.sql
20250216142526_add_property_table.down.sql
Исходный код уроков/lesson-22/migration/postgres/20250216142526_add_property_table.down.sql
20250216142526_add_property_table.up.sql
Исходный код уроков/lesson-22/migration/postgres/20250216142526_add_property_table.up.sql
20250420140509_outbox.down.sql
Исходный код уроков/lesson-22/migration/postgres/20250420140509_outbox.down.sql
20250420140509_outbox.up.sql
Исходный код уроков/lesson-22/migration/postgres/20250420140509_outbox.up.sql
observability
5 files • 28.3 KB
prometheus.yaml
Исходный код уроков/lesson-22/observability/prometheus.yaml
tempo.yaml
Исходный код уроков/lesson-22/observability/tempo.yaml
grafana
3 files • 25.69 KB
dashboard.yaml
Исходный код уроков/lesson-22/observability/grafana/dashboard.yaml
datasources.yaml
Исходный код уроков/lesson-22/observability/grafana/datasources.yaml
default.json
Исходный код уроков/lesson-22/observability/grafana/default.json
pkg
41 files • 33.81 KB
httpserver
1 files • 1.01 KB
httpserver.go
Исходный код уроков/lesson-22/pkg/httpserver/httpserver.go
logger
5 files • 2.94 KB
example_intercepter.go
Исходный код уроков/lesson-22/pkg/logger/example_intercepter.go
interceptor.go
Исходный код уроков/lesson-22/pkg/logger/interceptor.go
kafka.go
Исходный код уроков/lesson-22/pkg/logger/kafka.go
logger.go
Исходный код уроков/lesson-22/pkg/logger/logger.go
middleware.go
Исходный код уроков/lesson-22/pkg/logger/middleware.go
metrics
4 files • 3.52 KB
const.go
Исходный код уроков/lesson-22/pkg/metrics/const.go
http_server.go
Исходный код уроков/lesson-22/pkg/metrics/http_server.go
middleware.go
Исходный код уроков/lesson-22/pkg/metrics/middleware.go
process.go
Исходный код уроков/lesson-22/pkg/metrics/process.go
otel
4 files • 5.25 KB
grpc_interceptor.go
Исходный код уроков/lesson-22/pkg/otel/grpc_interceptor.go
http_middleware.go
Исходный код уроков/lesson-22/pkg/otel/http_middleware.go
otel.go
Исходный код уроков/lesson-22/pkg/otel/otel.go
tracer
1 files • 363 Bytes
tracer.go
Исходный код уроков/lesson-22/pkg/otel/tracer/tracer.go
postgres
1 files • 1.02 KB
postgres.go
Исходный код уроков/lesson-22/pkg/postgres/postgres.go
profile_client
6 files • 5.98 KB
client.go
Исходный код уроков/lesson-22/pkg/profile_client/client.go
create_profile.go
Исходный код уроков/lesson-22/pkg/profile_client/create_profile.go
delete_profile.go
Исходный код уроков/lesson-22/pkg/profile_client/delete_profile.go
example.go
Исходный код уроков/lesson-22/pkg/profile_client/example.go
get_profile.go
Исходный код уроков/lesson-22/pkg/profile_client/get_profile.go
update_profile.go
Исходный код уроков/lesson-22/pkg/profile_client/update_profile.go
profile_client_gen
6 files • 4.88 KB
client.go
Исходный код уроков/lesson-22/pkg/profile_client_gen/client.go
create_profile.go
Исходный код уроков/lesson-22/pkg/profile_client_gen/create_profile.go
delete_profile.go
Исходный код уроков/lesson-22/pkg/profile_client_gen/delete_profile.go
example.go
Исходный код уроков/lesson-22/pkg/profile_client_gen/example.go
get_profile.go
Исходный код уроков/lesson-22/pkg/profile_client_gen/get_profile.go
update_profile.go
Исходный код уроков/lesson-22/pkg/profile_client_gen/update_profile.go
profile_client_grpc
6 files • 4.96 KB
client.go
Исходный код уроков/lesson-22/pkg/profile_client_grpc/client.go
create_profile.go
Исходный код уроков/lesson-22/pkg/profile_client_grpc/create_profile.go
delete_profile.go
Исходный код уроков/lesson-22/pkg/profile_client_grpc/delete_profile.go
example.go
Исходный код уроков/lesson-22/pkg/profile_client_grpc/example.go
get_profile.go
Исходный код уроков/lesson-22/pkg/profile_client_grpc/get_profile.go
update_profile.go
Исходный код уроков/lesson-22/pkg/profile_client_grpc/update_profile.go
redis
1 files • 646 Bytes
redis.go
Исходный код уроков/lesson-22/pkg/redis/redis.go
render
2 files • 898 Bytes
error.go
Исходный код уроков/lesson-22/pkg/render/error.go
json.go
Исходный код уроков/lesson-22/pkg/render/json.go
router
3 files • 1.18 KB
extract_path.go
Исходный код уроков/lesson-22/pkg/router/extract_path.go
router.go
Исходный код уроков/lesson-22/pkg/router/router.go
writer_wrapper.go
Исходный код уроков/lesson-22/pkg/router/writer_wrapper.go
transaction
2 files • 1.57 KB
transaction.go
Исходный код уроков/lesson-22/pkg/transaction/transaction.go
wrap.go
Исходный код уроков/lesson-22/pkg/transaction/wrap.go
test
6 files • 4.51 KB
integration
6 files • 4.51 KB
create_profile_test.go
Исходный код уроков/lesson-22/test/integration/create_profile_test.go
delete_profile_test.go
Исходный код уроков/lesson-22/test/integration/delete_profile_test.go
get_profile_test.go
Исходный код уроков/lesson-22/test/integration/get_profile_test.go
main_test.go
Исходный код уроков/lesson-22/test/integration/main_test.go
migrate_test.go
Исходный код уроков/lesson-22/test/integration/migrate_test.go
update_profile_test.go
Исходный код уроков/lesson-22/test/integration/update_profile_test.go
wiki
113 files • 115.54 KB
go.mod
Исходный код уроков/lesson-22/wiki/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/go.sum
0-errors
6 files • 3.62 KB
1-error
1 files • 602 Bytes
main.go
Исходный код уроков/lesson-22/wiki/0-errors/1-error/main.go
2-with-err-wrap
1 files • 593 Bytes
main.go
Исходный код уроков/lesson-22/wiki/0-errors/2-with-err-wrap/main.go
3-unpack
1 files • 761 Bytes
main.go
Исходный код уроков/lesson-22/wiki/0-errors/3-unpack/main.go
4-errors-is
1 files • 716 Bytes
main.go
Исходный код уроков/lesson-22/wiki/0-errors/4-errors-is/main.go
5-errors-as
2 files • 1.01 KB
custom_error.go
Исходный код уроков/lesson-22/wiki/0-errors/5-errors-as/custom_error.go
main.go
Исходный код уроков/lesson-22/wiki/0-errors/5-errors-as/main.go
0-logger
7 files • 5.46 KB
1-log.go
Исходный код уроков/lesson-22/wiki/0-logger/1-log.go
2-slog.go
Исходный код уроков/lesson-22/wiki/0-logger/2-slog.go
3-zap.go
Исходный код уроков/lesson-22/wiki/0-logger/3-zap.go
4-zerolog.go
Исходный код уроков/lesson-22/wiki/0-logger/4-zerolog.go
5-with-context.go
Исходный код уроков/lesson-22/wiki/0-logger/5-with-context.go
go.mod
Исходный код уроков/lesson-22/wiki/0-logger/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/0-logger/go.sum
1-middleware
6 files • 3.24 KB
1-middleware.go
Исходный код уроков/lesson-22/wiki/1-middleware/1-middleware.go
2-timer.go
Исходный код уроков/lesson-22/wiki/1-middleware/2-timer.go
3-request-id.go
Исходный код уроков/lesson-22/wiki/1-middleware/3-request-id.go
4-basic-auth.go
Исходный код уроков/lesson-22/wiki/1-middleware/4-basic-auth.go
go.mod
Исходный код уроков/lesson-22/wiki/1-middleware/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/1-middleware/go.sum
2-test
6 files • 5.17 KB
1-test_test.go
Исходный код уроков/lesson-22/wiki/2-test/1-test_test.go
2-testify_test.go
Исходный код уроков/lesson-22/wiki/2-test/2-testify_test.go
3-cover.go
Исходный код уроков/lesson-22/wiki/2-test/3-cover.go
3-cover_test.go
Исходный код уроков/lesson-22/wiki/2-test/3-cover_test.go
go.mod
Исходный код уроков/lesson-22/wiki/2-test/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/2-test/go.sum
3-benchmark
4 files • 1.45 KB
1-slice_test.go
Исходный код уроков/lesson-22/wiki/3-benchmark/1-slice_test.go
2-string_test.go
Исходный код уроков/lesson-22/wiki/3-benchmark/2-string_test.go
3-map_test.go
Исходный код уроков/lesson-22/wiki/3-benchmark/3-map_test.go
go.mod
Исходный код уроков/lesson-22/wiki/3-benchmark/go.mod
4-profiler
4 files • 4.19 KB
1-pprof.go
Исходный код уроков/lesson-22/wiki/4-profiler/1-pprof.go
2-server.go
Исходный код уроков/lesson-22/wiki/4-profiler/2-server.go
go.mod
Исходный код уроков/lesson-22/wiki/4-profiler/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/4-profiler/go.sum
5-context
6 files • 3.5 KB
1-context.go
Исходный код уроков/lesson-22/wiki/5-context/1-context.go
2-cancel.go
Исходный код уроков/lesson-22/wiki/5-context/2-cancel.go
3-deadline.go
Исходный код уроков/lesson-22/wiki/5-context/3-deadline.go
4-timeout.go
Исходный код уроков/lesson-22/wiki/5-context/4-timeout.go
5-value.go
Исходный код уроков/lesson-22/wiki/5-context/5-value.go
6-example.go
Исходный код уроков/lesson-22/wiki/5-context/6-example.go
6-jwt
8 files • 11.55 KB
1-key-gen.go
Исходный код уроков/lesson-22/wiki/6-jwt/1-key-gen.go
2-create-jwt.go
Исходный код уроков/lesson-22/wiki/6-jwt/2-create-jwt.go
3-verify-jwt.go
Исходный код уроков/lesson-22/wiki/6-jwt/3-verify-jwt.go
4-server-example.go
Исходный код уроков/lesson-22/wiki/6-jwt/4-server-example.go
go.mod
Исходный код уроков/lesson-22/wiki/6-jwt/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/6-jwt/go.sum
keys
2 files • 2.08 KB
private_key.pem
Исходный код уроков/lesson-22/wiki/6-jwt/keys/private_key.pem
public_key.pem
Исходный код уроков/lesson-22/wiki/6-jwt/keys/public_key.pem
7-json
1 files • 2.02 KB
main.go
Исходный код уроков/lesson-22/wiki/7-json/main.go
8-pgx
3 files • 7.15 KB
1-pgx.go
Исходный код уроков/lesson-22/wiki/8-pgx/1-pgx.go
go.mod
Исходный код уроков/lesson-22/wiki/8-pgx/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/8-pgx/go.sum
9-goqu
3 files • 7.58 KB
go.mod
Исходный код уроков/lesson-22/wiki/9-goqu/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/9-goqu/go.sum
main.go
Исходный код уроков/lesson-22/wiki/9-goqu/main.go
10-sql-injection
3 files • 5.54 KB
go.mod
Исходный код уроков/lesson-22/wiki/10-sql-injection/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/10-sql-injection/go.sum
main.go
Исходный код уроков/lesson-22/wiki/10-sql-injection/main.go
11-migrate
5 files • 1.95 KB
main.go
Исходный код уроков/lesson-22/wiki/11-migrate/main.go
migration
4 files • 786 Bytes
20250213144246_init.down.sql
Исходный код уроков/lesson-22/wiki/11-migrate/migration/20250213144246_init.down.sql
20250213144246_init.up.sql
Исходный код уроков/lesson-22/wiki/11-migrate/migration/20250213144246_init.up.sql
20250213144247_test.down.sql
Исходный код уроков/lesson-22/wiki/11-migrate/migration/20250213144247_test.down.sql
20250213144247_test.up.sql
Исходный код уроков/lesson-22/wiki/11-migrate/migration/20250213144247_test.up.sql
12-patterns
2 files • 2.81 KB
1-option.go
Исходный код уроков/lesson-22/wiki/12-patterns/1-option.go
2-config.go
Исходный код уроков/lesson-22/wiki/12-patterns/2-config.go
13-kafka
17 files • 15.06 KB
1-write-partition.go
Исходный код уроков/lesson-22/wiki/13-kafka/1-write-partition.go
2-read-partition.go
Исходный код уроков/lesson-22/wiki/13-kafka/2-read-partition.go
3.1-create-topic.go
Исходный код уроков/lesson-22/wiki/13-kafka/3.1-create-topic.go
4-get-leader-partition.go
Исходный код уроков/lesson-22/wiki/13-kafka/4-get-leader-partition.go
5.1-reader.go
Исходный код уроков/lesson-22/wiki/13-kafka/5.1-reader.go
5.2-reader-group.go
Исходный код уроков/lesson-22/wiki/13-kafka/5.2-reader-group.go
6.1-auto-commit.go
Исходный код уроков/lesson-22/wiki/13-kafka/6.1-auto-commit.go
6.2-fetch-and-commit.go
Исходный код уроков/lesson-22/wiki/13-kafka/6.2-fetch-and-commit.go
7.1-writer.go
Исходный код уроков/lesson-22/wiki/13-kafka/7.1-writer.go
7.2-write-to-topics.go
Исходный код уроков/lesson-22/wiki/13-kafka/7.2-write-to-topics.go
7.3-auto-create.go
Исходный код уроков/lesson-22/wiki/13-kafka/7.3-auto-create.go
8-semantics.go
Исходный код уроков/lesson-22/wiki/13-kafka/8-semantics.go
docker-compose.yml
Исходный код уроков/lesson-22/wiki/13-kafka/docker-compose.yml
go.mod
Исходный код уроков/lesson-22/wiki/13-kafka/go.mod
main.go
Исходный код уроков/lesson-22/wiki/13-kafka/main.go
Makefile
Исходный код уроков/lesson-22/wiki/13-kafka/Makefile
pkg
1 files • 402 Bytes
logger
1 files • 402 Bytes
logger.go
Исходный код уроков/lesson-22/wiki/13-kafka/pkg/logger/logger.go
14-s3
16 files • 15.88 KB
1-connect.go
Исходный код уроков/lesson-22/wiki/14-s3/1-connect.go
2-create-bucket.go
Исходный код уроков/lesson-22/wiki/14-s3/2-create-bucket.go
3.1-put-get.go
Исходный код уроков/lesson-22/wiki/14-s3/3.1-put-get.go
3.2-prefix.go
Исходный код уроков/lesson-22/wiki/14-s3/3.2-prefix.go
4-links.go
Исходный код уроков/lesson-22/wiki/14-s3/4-links.go
5-stat-object.go
Исходный код уроков/lesson-22/wiki/14-s3/5-stat-object.go
6-locked-bucket.go
Исходный код уроков/lesson-22/wiki/14-s3/6-locked-bucket.go
7-bucket-list.go
Исходный код уроков/lesson-22/wiki/14-s3/7-bucket-list.go
8-delete-bucket.go
Исходный код уроков/lesson-22/wiki/14-s3/8-delete-bucket.go
9-delete-object.go
Исходный код уроков/lesson-22/wiki/14-s3/9-delete-object.go
10-delete-obj-list.go
Исходный код уроков/lesson-22/wiki/14-s3/10-delete-obj-list.go
11-copy-move.go
Исходный код уроков/lesson-22/wiki/14-s3/11-copy-move.go
docker-compose.yml
Исходный код уроков/lesson-22/wiki/14-s3/docker-compose.yml
go.mod
Исходный код уроков/lesson-22/wiki/14-s3/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/14-s3/go.sum
pkg
1 files • 462 Bytes
s3
1 files • 462 Bytes
connection.go
Исходный код уроков/lesson-22/wiki/14-s3/pkg/s3/connection.go
15-redis
14 files • 13.3 KB
0-connect.go
Исходный код уроков/lesson-22/wiki/15-redis/0-connect.go
1.1-set-get-delete.go
Исходный код уроков/lesson-22/wiki/15-redis/1.1-set-get-delete.go
1.2-ttl.go
Исходный код уроков/lesson-22/wiki/15-redis/1.2-ttl.go
2-hash-set.go
Исходный код уроков/lesson-22/wiki/15-redis/2-hash-set.go
3-list.go
Исходный код уроков/lesson-22/wiki/15-redis/3-list.go
4-set.go
Исходный код уроков/lesson-22/wiki/15-redis/4-set.go
5.1-pipeline.go
Исходный код уроков/lesson-22/wiki/15-redis/5.1-pipeline.go
5.2-without-pipeline.go
Исходный код уроков/lesson-22/wiki/15-redis/5.2-without-pipeline.go
5.3-with-pipeline.go
Исходный код уроков/lesson-22/wiki/15-redis/5.3-with-pipeline.go
6-tx-pipeline.go
Исходный код уроков/lesson-22/wiki/15-redis/6-tx-pipeline.go
7-tx-watch.go
Исходный код уроков/lesson-22/wiki/15-redis/7-tx-watch.go
8-pub-sub.go
Исходный код уроков/lesson-22/wiki/15-redis/8-pub-sub.go
go.mod
Исходный код уроков/lesson-22/wiki/15-redis/go.mod
go.sum
Исходный код уроков/lesson-22/wiki/15-redis/go.sum
lesson-23
266 files • 23.66 MB
.env
Исходный код уроков/lesson-23/.env
.env.example
Исходный код уроков/lesson-23/.env.example
.gitignore
Исходный код уроков/lesson-23/.gitignore
.mockery.yml
Исходный код уроков/lesson-23/.mockery.yml
docker-compose.yml
Исходный код уроков/lesson-23/docker-compose.yml
Dockerfile
Исходный код уроков/lesson-23/Dockerfile
go.mod
Исходный код уроков/lesson-23/go.mod
go.sum
Исходный код уроков/lesson-23/go.sum
Makefile
Исходный код уроков/lesson-23/Makefile
README.md
Исходный код уроков/lesson-23/README.md
api
2 files • 10.19 KB
grpc
1 files • 1.81 KB
profile_v1.proto
Исходный код уроков/lesson-23/api/grpc/profile_v1.proto
http
1 files • 8.37 KB
profile_v1.yaml
Исходный код уроков/lesson-23/api/http/profile_v1.yaml
bin
18 files • 23.19 MB
protoc
Исходный код уроков/lesson-23/bin/protoc
protoc-gen-go
Исходный код уроков/lesson-23/bin/protoc-gen-go
protoc-gen-go-grpc
Исходный код уроков/lesson-23/bin/protoc-gen-go-grpc
include
15 files • 122.85 KB
15 files • 122.85 KB
protobuf
15 files • 122.85 KB
any.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/any.proto
api.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/api.proto
cpp_features.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/cpp_features.proto
descriptor.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/descriptor.proto
duration.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/duration.proto
empty.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/empty.proto
field_mask.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/field_mask.proto
go_features.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/go_features.proto
java_features.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/java_features.proto
source_context.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/source_context.proto
struct.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/struct.proto
timestamp.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/timestamp.proto
type.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/type.proto
wrappers.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/wrappers.proto
compiler
1 files • 8.36 KB
plugin.proto
Исходный код уроков/lesson-23/bin/include/google/protobuf/compiler/plugin.proto
cmd
4 files • 5.25 KB
app
1 files • 699 Bytes
main.go
Исходный код уроков/lesson-23/cmd/app/main.go
http_client
1 files • 1.56 KB
main.go
Исходный код уроков/lesson-23/cmd/http_client/main.go
seeder
2 files • 3.01 KB
helper.go
Исходный код уроков/lesson-23/cmd/seeder/helper.go
main.go
Исходный код уроков/lesson-23/cmd/seeder/main.go
config
1 files • 1.49 KB
config.go
Исходный код уроков/lesson-23/config/config.go
gen
8 files • 96.9 KB
grpc
2 files • 46.08 KB
profile_v1
2 files • 46.08 KB
profile_v1.pb.go
Исходный код уроков/lesson-23/gen/grpc/profile_v1/profile_v1.pb.go
profile_v1_grpc.pb.go
Исходный код уроков/lesson-23/gen/grpc/profile_v1/profile_v1_grpc.pb.go
http
6 files • 50.83 KB
profile_v1
6 files • 50.83 KB
client
3 files • 26.93 KB
client.gen.go
Исходный код уроков/lesson-23/gen/http/profile_v1/client/client.gen.go
config.yaml
Исходный код уроков/lesson-23/gen/http/profile_v1/client/config.yaml
generate.go
Исходный код уроков/lesson-23/gen/http/profile_v1/client/generate.go
server
3 files • 23.89 KB
config.yaml
Исходный код уроков/lesson-23/gen/http/profile_v1/server/config.yaml
generate.go
Исходный код уроков/lesson-23/gen/http/profile_v1/server/generate.go
server.gen.go
Исходный код уроков/lesson-23/gen/http/profile_v1/server/server.gen.go
internal
48 files • 64.84 KB
adapter
12 files • 12.46 KB
kafka_producer
1 files • 1.61 KB
produce.go
Исходный код уроков/lesson-23/internal/adapter/kafka_producer/produce.go
postgres
9 files • 9.87 KB
create_profile.go
Исходный код уроков/lesson-23/internal/adapter/postgres/create_profile.go
create_property.go
Исходный код уроков/lesson-23/internal/adapter/postgres/create_property.go
delete_profile.go
Исходный код уроков/lesson-23/internal/adapter/postgres/delete_profile.go
get_profile.go
Исходный код уроков/lesson-23/internal/adapter/postgres/get_profile.go
get_profiles.go
Исходный код уроков/lesson-23/internal/adapter/postgres/get_profiles.go
postgres.go
Исходный код уроков/lesson-23/internal/adapter/postgres/postgres.go
read_outbox_kafka.go
Исходный код уроков/lesson-23/internal/adapter/postgres/read_outbox_kafka.go
save_outbox_kafka.go
Исходный код уроков/lesson-23/internal/adapter/postgres/save_outbox_kafka.go
update_profile.go
Исходный код уроков/lesson-23/internal/adapter/postgres/update_profile.go
redis
2 files • 1003 Bytes
is_exists.go
Исходный код уроков/lesson-23/internal/adapter/redis/is_exists.go
redis.go
Исходный код уроков/lesson-23/internal/adapter/redis/redis.go
app
1 files • 2.55 KB
app.go
Исходный код уроков/lesson-23/internal/app/app.go
controller
16 files • 17.53 KB
grpc
7 files • 7.1 KB
grpc.go
Исходный код уроков/lesson-23/internal/controller/grpc/grpc.go
v1
6 files • 5.55 KB
create_profile.go
Исходный код уроков/lesson-23/internal/controller/grpc/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-23/internal/controller/grpc/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-23/internal/controller/grpc/v1/get_profile.go
get_profiles.go
Исходный код уроков/lesson-23/internal/controller/grpc/v1/get_profiles.go
update_profile.go
Исходный код уроков/lesson-23/internal/controller/grpc/v1/update_profile.go
v1.go
Исходный код уроков/lesson-23/internal/controller/grpc/v1/v1.go
http
7 files • 6.36 KB
router.go
Исходный код уроков/lesson-23/internal/controller/http/router.go
v1
6 files • 5.38 KB
create_profile.go
Исходный код уроков/lesson-23/internal/controller/http/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-23/internal/controller/http/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-23/internal/controller/http/v1/get_profile.go
get_profiles.go
Исходный код уроков/lesson-23/internal/controller/http/v1/get_profiles.go
update_profile.go
Исходный код уроков/lesson-23/internal/controller/http/v1/update_profile.go
v1.go
Исходный код уроков/lesson-23/internal/controller/http/v1/v1.go
kafka_consumer
1 files • 2.75 KB
consumer.go
Исходный код уроков/lesson-23/internal/controller/kafka_consumer/consumer.go
worker
1 files • 1.33 KB
outbox_kafka.go
Исходный код уроков/lesson-23/internal/controller/worker/outbox_kafka.go
domain
6 files • 4.69 KB
error.go
Исходный код уроков/lesson-23/internal/domain/error.go
event.go
Исходный код уроков/lesson-23/internal/domain/event.go
profile.go
Исходный код уроков/lesson-23/internal/domain/profile.go
profile_test.go
Исходный код уроков/lesson-23/internal/domain/profile_test.go
property.go
Исходный код уроков/lesson-23/internal/domain/property.go
status.go
Исходный код уроков/lesson-23/internal/domain/status.go
dto
5 files • 1.77 KB
create_profile.go
Исходный код уроков/lesson-23/internal/dto/create_profile.go
delete_profile.go
Исходный код уроков/lesson-23/internal/dto/delete_profile.go
get_profile.go
Исходный код уроков/lesson-23/internal/dto/get_profile.go
get_profiles.go
Исходный код уроков/lesson-23/internal/dto/get_profiles.go
update_profile.go
Исходный код уроков/lesson-23/internal/dto/update_profile.go
usecase
8 files • 25.84 KB
create_profile.go
Исходный код уроков/lesson-23/internal/usecase/create_profile.go
delete_profile.go
Исходный код уроков/lesson-23/internal/usecase/delete_profile.go
get_profile.go
Исходный код уроков/lesson-23/internal/usecase/get_profile.go
get_profiles.go
Исходный код уроков/lesson-23/internal/usecase/get_profiles.go
outbox_read_and_produce.go
Исходный код уроков/lesson-23/internal/usecase/outbox_read_and_produce.go
update_profile.go
Исходный код уроков/lesson-23/internal/usecase/update_profile.go
usecase.go
Исходный код уроков/lesson-23/internal/usecase/usecase.go
mocks
1 files • 17.76 KB
mocks.go
Исходный код уроков/lesson-23/internal/usecase/mocks/mocks.go
migration
8 files • 1.16 KB
postgres
8 files • 1.16 KB
20250216100653_init.down.sql
Исходный код уроков/lesson-23/migration/postgres/20250216100653_init.down.sql
20250216100653_init.up.sql
Исходный код уроков/lesson-23/migration/postgres/20250216100653_init.up.sql
20250216142416_add_contacts.down.sql
Исходный код уроков/lesson-23/migration/postgres/20250216142416_add_contacts.down.sql
20250216142416_add_contacts.up.sql
Исходный код уроков/lesson-23/migration/postgres/20250216142416_add_contacts.up.sql
20250216142526_add_property_table.down.sql
Исходный код уроков/lesson-23/migration/postgres/20250216142526_add_property_table.down.sql
20250216142526_add_property_table.up.sql
Исходный код уроков/lesson-23/migration/postgres/20250216142526_add_property_table.up.sql
20250420140509_outbox.down.sql
Исходный код уроков/lesson-23/migration/postgres/20250420140509_outbox.down.sql
20250420140509_outbox.up.sql
Исходный код уроков/lesson-23/migration/postgres/20250420140509_outbox.up.sql
observability
6 files • 105.94 KB
loki.yaml
Исходный код уроков/lesson-23/observability/loki.yaml
prometheus.yaml
Исходный код уроков/lesson-23/observability/prometheus.yaml
tempo.yaml
Исходный код уроков/lesson-23/observability/tempo.yaml
grafana
3 files • 102.89 KB
dashboard.yaml
Исходный код уроков/lesson-23/observability/grafana/dashboard.yaml
datasources.yaml
Исходный код уроков/lesson-23/observability/grafana/datasources.yaml
default.json
Исходный код уроков/lesson-23/observability/grafana/default.json
pkg
41 files • 33.96 KB
httpserver
1 files • 1.01 KB
httpserver.go
Исходный код уроков/lesson-23/pkg/httpserver/httpserver.go
logger
5 files • 3.07 KB
example_intercepter.go
Исходный код уроков/lesson-23/pkg/logger/example_intercepter.go
interceptor.go
Исходный код уроков/lesson-23/pkg/logger/interceptor.go
kafka.go
Исходный код уроков/lesson-23/pkg/logger/kafka.go
logger.go
Исходный код уроков/lesson-23/pkg/logger/logger.go
middleware.go
Исходный код уроков/lesson-23/pkg/logger/middleware.go
metrics
4 files • 3.15 KB
const.go
Исходный код уроков/lesson-23/pkg/metrics/const.go
http_server.go
Исходный код уроков/lesson-23/pkg/metrics/http_server.go
middleware.go
Исходный код уроков/lesson-23/pkg/metrics/middleware.go
process.go
Исходный код уроков/lesson-23/pkg/metrics/process.go
otel
4 files • 5.25 KB
grpc_interceptor.go
Исходный код уроков/lesson-23/pkg/otel/grpc_interceptor.go
http_middleware.go
Исходный код уроков/lesson-23/pkg/otel/http_middleware.go
otel.go
Исходный код уроков/lesson-23/pkg/otel/otel.go
tracer
1 files • 363 Bytes
tracer.go
Исходный код уроков/lesson-23/pkg/otel/tracer/tracer.go
postgres
1 files • 1.02 KB
postgres.go
Исходный код уроков/lesson-23/pkg/postgres/postgres.go
profile_client
6 files • 6.18 KB
client.go
Исходный код уроков/lesson-23/pkg/profile_client/client.go
create_profile.go
Исходный код уроков/lesson-23/pkg/profile_client/create_profile.go
delete_profile.go
Исходный код уроков/lesson-23/pkg/profile_client/delete_profile.go
example.go
Исходный код уроков/lesson-23/pkg/profile_client/example.go
get_profile.go
Исходный код уроков/lesson-23/pkg/profile_client/get_profile.go
update_profile.go
Исходный код уроков/lesson-23/pkg/profile_client/update_profile.go
profile_client_gen
6 files • 4.96 KB
client.go
Исходный код уроков/lesson-23/pkg/profile_client_gen/client.go
create_profile.go
Исходный код уроков/lesson-23/pkg/profile_client_gen/create_profile.go
delete_profile.go
Исходный код уроков/lesson-23/pkg/profile_client_gen/delete_profile.go
example.go
Исходный код уроков/lesson-23/pkg/profile_client_gen/example.go
get_profile.go
Исходный код уроков/lesson-23/pkg/profile_client_gen/get_profile.go
update_profile.go
Исходный код уроков/lesson-23/pkg/profile_client_gen/update_profile.go
profile_client_grpc
6 files • 5.07 KB
client.go
Исходный код уроков/lesson-23/pkg/profile_client_grpc/client.go
create_profile.go
Исходный код уроков/lesson-23/pkg/profile_client_grpc/create_profile.go
delete_profile.go
Исходный код уроков/lesson-23/pkg/profile_client_grpc/delete_profile.go
example.go
Исходный код уроков/lesson-23/pkg/profile_client_grpc/example.go
get_profile.go
Исходный код уроков/lesson-23/pkg/profile_client_grpc/get_profile.go
update_profile.go
Исходный код уроков/lesson-23/pkg/profile_client_grpc/update_profile.go
redis
1 files • 646 Bytes
redis.go
Исходный код уроков/lesson-23/pkg/redis/redis.go
render
2 files • 898 Bytes
error.go
Исходный код уроков/lesson-23/pkg/render/error.go
json.go
Исходный код уроков/lesson-23/pkg/render/json.go
router
3 files • 1.18 KB
extract_path.go
Исходный код уроков/lesson-23/pkg/router/extract_path.go
router.go
Исходный код уроков/lesson-23/pkg/router/router.go
writer_wrapper.go
Исходный код уроков/lesson-23/pkg/router/writer_wrapper.go
transaction
2 files • 1.57 KB
transaction.go
Исходный код уроков/lesson-23/pkg/transaction/transaction.go
wrap.go
Исходный код уроков/lesson-23/pkg/transaction/wrap.go
test
6 files • 5.03 KB
integration
6 files • 5.03 KB
create_profile_test.go
Исходный код уроков/lesson-23/test/integration/create_profile_test.go
delete_profile_test.go
Исходный код уроков/lesson-23/test/integration/delete_profile_test.go
get_profile_test.go
Исходный код уроков/lesson-23/test/integration/get_profile_test.go
main_test.go
Исходный код уроков/lesson-23/test/integration/main_test.go
migrate_test.go
Исходный код уроков/lesson-23/test/integration/migrate_test.go
update_profile_test.go
Исходный код уроков/lesson-23/test/integration/update_profile_test.go
wiki
114 files • 119.02 KB
go.mod
Исходный код уроков/lesson-23/wiki/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/go.sum
0-errors
6 files • 3.62 KB
1-error
1 files • 602 Bytes
main.go
Исходный код уроков/lesson-23/wiki/0-errors/1-error/main.go
2-with-err-wrap
1 files • 593 Bytes
main.go
Исходный код уроков/lesson-23/wiki/0-errors/2-with-err-wrap/main.go
3-unpack
1 files • 761 Bytes
main.go
Исходный код уроков/lesson-23/wiki/0-errors/3-unpack/main.go
4-errors-is
1 files • 716 Bytes
main.go
Исходный код уроков/lesson-23/wiki/0-errors/4-errors-is/main.go
5-errors-as
2 files • 1.01 KB
custom_error.go
Исходный код уроков/lesson-23/wiki/0-errors/5-errors-as/custom_error.go
main.go
Исходный код уроков/lesson-23/wiki/0-errors/5-errors-as/main.go
0-logger
7 files • 5.46 KB
1-log.go
Исходный код уроков/lesson-23/wiki/0-logger/1-log.go
2-slog.go
Исходный код уроков/lesson-23/wiki/0-logger/2-slog.go
3-zap.go
Исходный код уроков/lesson-23/wiki/0-logger/3-zap.go
4-zerolog.go
Исходный код уроков/lesson-23/wiki/0-logger/4-zerolog.go
5-with-context.go
Исходный код уроков/lesson-23/wiki/0-logger/5-with-context.go
go.mod
Исходный код уроков/lesson-23/wiki/0-logger/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/0-logger/go.sum
1-middleware
6 files • 3.24 KB
1-middleware.go
Исходный код уроков/lesson-23/wiki/1-middleware/1-middleware.go
2-timer.go
Исходный код уроков/lesson-23/wiki/1-middleware/2-timer.go
3-request-id.go
Исходный код уроков/lesson-23/wiki/1-middleware/3-request-id.go
4-basic-auth.go
Исходный код уроков/lesson-23/wiki/1-middleware/4-basic-auth.go
go.mod
Исходный код уроков/lesson-23/wiki/1-middleware/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/1-middleware/go.sum
2-test
6 files • 5.17 KB
1-test_test.go
Исходный код уроков/lesson-23/wiki/2-test/1-test_test.go
2-testify_test.go
Исходный код уроков/lesson-23/wiki/2-test/2-testify_test.go
3-cover.go
Исходный код уроков/lesson-23/wiki/2-test/3-cover.go
3-cover_test.go
Исходный код уроков/lesson-23/wiki/2-test/3-cover_test.go
go.mod
Исходный код уроков/lesson-23/wiki/2-test/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/2-test/go.sum
3-benchmark
4 files • 1.45 KB
1-slice_test.go
Исходный код уроков/lesson-23/wiki/3-benchmark/1-slice_test.go
2-string_test.go
Исходный код уроков/lesson-23/wiki/3-benchmark/2-string_test.go
3-map_test.go
Исходный код уроков/lesson-23/wiki/3-benchmark/3-map_test.go
go.mod
Исходный код уроков/lesson-23/wiki/3-benchmark/go.mod
4-profiler
4 files • 4.19 KB
1-pprof.go
Исходный код уроков/lesson-23/wiki/4-profiler/1-pprof.go
2-server.go
Исходный код уроков/lesson-23/wiki/4-profiler/2-server.go
go.mod
Исходный код уроков/lesson-23/wiki/4-profiler/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/4-profiler/go.sum
5-context
6 files • 3.5 KB
1-context.go
Исходный код уроков/lesson-23/wiki/5-context/1-context.go
2-cancel.go
Исходный код уроков/lesson-23/wiki/5-context/2-cancel.go
3-deadline.go
Исходный код уроков/lesson-23/wiki/5-context/3-deadline.go
4-timeout.go
Исходный код уроков/lesson-23/wiki/5-context/4-timeout.go
5-value.go
Исходный код уроков/lesson-23/wiki/5-context/5-value.go
6-example.go
Исходный код уроков/lesson-23/wiki/5-context/6-example.go
6-jwt
8 files • 11.55 KB
1-key-gen.go
Исходный код уроков/lesson-23/wiki/6-jwt/1-key-gen.go
2-create-jwt.go
Исходный код уроков/lesson-23/wiki/6-jwt/2-create-jwt.go
3-verify-jwt.go
Исходный код уроков/lesson-23/wiki/6-jwt/3-verify-jwt.go
4-server-example.go
Исходный код уроков/lesson-23/wiki/6-jwt/4-server-example.go
go.mod
Исходный код уроков/lesson-23/wiki/6-jwt/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/6-jwt/go.sum
keys
2 files • 2.08 KB
private_key.pem
Исходный код уроков/lesson-23/wiki/6-jwt/keys/private_key.pem
public_key.pem
Исходный код уроков/lesson-23/wiki/6-jwt/keys/public_key.pem
7-json
1 files • 2.02 KB
main.go
Исходный код уроков/lesson-23/wiki/7-json/main.go
8-pgx
3 files • 7.15 KB
1-pgx.go
Исходный код уроков/lesson-23/wiki/8-pgx/1-pgx.go
go.mod
Исходный код уроков/lesson-23/wiki/8-pgx/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/8-pgx/go.sum
9-goqu
3 files • 7.58 KB
go.mod
Исходный код уроков/lesson-23/wiki/9-goqu/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/9-goqu/go.sum
main.go
Исходный код уроков/lesson-23/wiki/9-goqu/main.go
10-sql-injection
3 files • 5.54 KB
go.mod
Исходный код уроков/lesson-23/wiki/10-sql-injection/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/10-sql-injection/go.sum
main.go
Исходный код уроков/lesson-23/wiki/10-sql-injection/main.go
11-migrate
5 files • 1.95 KB
main.go
Исходный код уроков/lesson-23/wiki/11-migrate/main.go
migration
4 files • 786 Bytes
20250213144246_init.down.sql
Исходный код уроков/lesson-23/wiki/11-migrate/migration/20250213144246_init.down.sql
20250213144246_init.up.sql
Исходный код уроков/lesson-23/wiki/11-migrate/migration/20250213144246_init.up.sql
20250213144247_test.down.sql
Исходный код уроков/lesson-23/wiki/11-migrate/migration/20250213144247_test.down.sql
20250213144247_test.up.sql
Исходный код уроков/lesson-23/wiki/11-migrate/migration/20250213144247_test.up.sql
12-patterns
2 files • 2.81 KB
1-option.go
Исходный код уроков/lesson-23/wiki/12-patterns/1-option.go
2-config.go
Исходный код уроков/lesson-23/wiki/12-patterns/2-config.go
13-kafka
18 files • 18.55 KB
1-write-partition.go
Исходный код уроков/lesson-23/wiki/13-kafka/1-write-partition.go
2-read-partition.go
Исходный код уроков/lesson-23/wiki/13-kafka/2-read-partition.go
3.1-create-topic.go
Исходный код уроков/lesson-23/wiki/13-kafka/3.1-create-topic.go
4-get-leader-partition.go
Исходный код уроков/lesson-23/wiki/13-kafka/4-get-leader-partition.go
5.1-reader.go
Исходный код уроков/lesson-23/wiki/13-kafka/5.1-reader.go
5.2-reader-group.go
Исходный код уроков/lesson-23/wiki/13-kafka/5.2-reader-group.go
6.1-auto-commit.go
Исходный код уроков/lesson-23/wiki/13-kafka/6.1-auto-commit.go
6.2-fetch-and-commit.go
Исходный код уроков/lesson-23/wiki/13-kafka/6.2-fetch-and-commit.go
7.1-writer.go
Исходный код уроков/lesson-23/wiki/13-kafka/7.1-writer.go
7.2-write-to-topics.go
Исходный код уроков/lesson-23/wiki/13-kafka/7.2-write-to-topics.go
7.3-auto-create.go
Исходный код уроков/lesson-23/wiki/13-kafka/7.3-auto-create.go
8-semantics.go
Исходный код уроков/lesson-23/wiki/13-kafka/8-semantics.go
docker-compose.yml
Исходный код уроков/lesson-23/wiki/13-kafka/docker-compose.yml
go.mod
Исходный код уроков/lesson-23/wiki/13-kafka/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/13-kafka/go.sum
main.go
Исходный код уроков/lesson-23/wiki/13-kafka/main.go
Makefile
Исходный код уроков/lesson-23/wiki/13-kafka/Makefile
pkg
1 files • 402 Bytes
logger
1 files • 402 Bytes
logger.go
Исходный код уроков/lesson-23/wiki/13-kafka/pkg/logger/logger.go
14-s3
16 files • 15.88 KB
1-connect.go
Исходный код уроков/lesson-23/wiki/14-s3/1-connect.go
2-create-bucket.go
Исходный код уроков/lesson-23/wiki/14-s3/2-create-bucket.go
3.1-put-get.go
Исходный код уроков/lesson-23/wiki/14-s3/3.1-put-get.go
3.2-prefix.go
Исходный код уроков/lesson-23/wiki/14-s3/3.2-prefix.go
4-links.go
Исходный код уроков/lesson-23/wiki/14-s3/4-links.go
5-stat-object.go
Исходный код уроков/lesson-23/wiki/14-s3/5-stat-object.go
6-locked-bucket.go
Исходный код уроков/lesson-23/wiki/14-s3/6-locked-bucket.go
7-bucket-list.go
Исходный код уроков/lesson-23/wiki/14-s3/7-bucket-list.go
8-delete-bucket.go
Исходный код уроков/lesson-23/wiki/14-s3/8-delete-bucket.go
9-delete-object.go
Исходный код уроков/lesson-23/wiki/14-s3/9-delete-object.go
10-delete-obj-list.go
Исходный код уроков/lesson-23/wiki/14-s3/10-delete-obj-list.go
11-copy-move.go
Исходный код уроков/lesson-23/wiki/14-s3/11-copy-move.go
docker-compose.yml
Исходный код уроков/lesson-23/wiki/14-s3/docker-compose.yml
go.mod
Исходный код уроков/lesson-23/wiki/14-s3/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/14-s3/go.sum
pkg
1 files • 462 Bytes
s3
1 files • 462 Bytes
connection.go
Исходный код уроков/lesson-23/wiki/14-s3/pkg/s3/connection.go
15-redis
14 files • 13.3 KB
0-connect.go
Исходный код уроков/lesson-23/wiki/15-redis/0-connect.go
1.1-set-get-delete.go
Исходный код уроков/lesson-23/wiki/15-redis/1.1-set-get-delete.go
1.2-ttl.go
Исходный код уроков/lesson-23/wiki/15-redis/1.2-ttl.go
2-hash-set.go
Исходный код уроков/lesson-23/wiki/15-redis/2-hash-set.go
3-list.go
Исходный код уроков/lesson-23/wiki/15-redis/3-list.go
4-set.go
Исходный код уроков/lesson-23/wiki/15-redis/4-set.go
5.1-pipeline.go
Исходный код уроков/lesson-23/wiki/15-redis/5.1-pipeline.go
5.2-without-pipeline.go
Исходный код уроков/lesson-23/wiki/15-redis/5.2-without-pipeline.go
5.3-with-pipeline.go
Исходный код уроков/lesson-23/wiki/15-redis/5.3-with-pipeline.go
6-tx-pipeline.go
Исходный код уроков/lesson-23/wiki/15-redis/6-tx-pipeline.go
7-tx-watch.go
Исходный код уроков/lesson-23/wiki/15-redis/7-tx-watch.go
8-pub-sub.go
Исходный код уроков/lesson-23/wiki/15-redis/8-pub-sub.go
go.mod
Исходный код уроков/lesson-23/wiki/15-redis/go.mod
go.sum
Исходный код уроков/lesson-23/wiki/15-redis/go.sum
lesson-24
267 files • 23.66 MB
.env
Исходный код уроков/lesson-24/.env
.env.example
Исходный код уроков/lesson-24/.env.example
.gitignore
Исходный код уроков/lesson-24/.gitignore
.golangci.yml
Исходный код уроков/lesson-24/.golangci.yml
.mockery.yml
Исходный код уроков/lesson-24/.mockery.yml
docker-compose.yml
Исходный код уроков/lesson-24/docker-compose.yml
Dockerfile
Исходный код уроков/lesson-24/Dockerfile
go.mod
Исходный код уроков/lesson-24/go.mod
go.sum
Исходный код уроков/lesson-24/go.sum
Makefile
Исходный код уроков/lesson-24/Makefile
README.md
Исходный код уроков/lesson-24/README.md
api
2 files • 10.19 KB
grpc
1 files • 1.81 KB
profile_v1.proto
Исходный код уроков/lesson-24/api/grpc/profile_v1.proto
http
1 files • 8.37 KB
profile_v1.yaml
Исходный код уроков/lesson-24/api/http/profile_v1.yaml
bin
18 files • 23.19 MB
protoc
Исходный код уроков/lesson-24/bin/protoc
protoc-gen-go
Исходный код уроков/lesson-24/bin/protoc-gen-go
protoc-gen-go-grpc
Исходный код уроков/lesson-24/bin/protoc-gen-go-grpc
include
15 files • 122.85 KB
15 files • 122.85 KB
protobuf
15 files • 122.85 KB
any.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/any.proto
api.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/api.proto
cpp_features.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/cpp_features.proto
descriptor.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/descriptor.proto
duration.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/duration.proto
empty.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/empty.proto
field_mask.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/field_mask.proto
go_features.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/go_features.proto
java_features.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/java_features.proto
source_context.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/source_context.proto
struct.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/struct.proto
timestamp.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/timestamp.proto
type.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/type.proto
wrappers.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/wrappers.proto
compiler
1 files • 8.36 KB
plugin.proto
Исходный код уроков/lesson-24/bin/include/google/protobuf/compiler/plugin.proto
cmd
4 files • 5.25 KB
app
1 files • 699 Bytes
main.go
Исходный код уроков/lesson-24/cmd/app/main.go
http_client
1 files • 1.56 KB
main.go
Исходный код уроков/lesson-24/cmd/http_client/main.go
seeder
2 files • 3.01 KB
helper.go
Исходный код уроков/lesson-24/cmd/seeder/helper.go
main.go
Исходный код уроков/lesson-24/cmd/seeder/main.go
config
1 files • 1.49 KB
config.go
Исходный код уроков/lesson-24/config/config.go
gen
8 files • 96.9 KB
grpc
2 files • 46.08 KB
profile_v1
2 files • 46.08 KB
profile_v1.pb.go
Исходный код уроков/lesson-24/gen/grpc/profile_v1/profile_v1.pb.go
profile_v1_grpc.pb.go
Исходный код уроков/lesson-24/gen/grpc/profile_v1/profile_v1_grpc.pb.go
http
6 files • 50.83 KB
profile_v1
6 files • 50.83 KB
client
3 files • 26.93 KB
client.gen.go
Исходный код уроков/lesson-24/gen/http/profile_v1/client/client.gen.go
config.yaml
Исходный код уроков/lesson-24/gen/http/profile_v1/client/config.yaml
generate.go
Исходный код уроков/lesson-24/gen/http/profile_v1/client/generate.go
server
3 files • 23.89 KB
config.yaml
Исходный код уроков/lesson-24/gen/http/profile_v1/server/config.yaml
generate.go
Исходный код уроков/lesson-24/gen/http/profile_v1/server/generate.go
server.gen.go
Исходный код уроков/lesson-24/gen/http/profile_v1/server/server.gen.go
internal
48 files • 64.84 KB
adapter
12 files • 12.46 KB
kafka_producer
1 files • 1.61 KB
produce.go
Исходный код уроков/lesson-24/internal/adapter/kafka_producer/produce.go
postgres
9 files • 9.87 KB
create_profile.go
Исходный код уроков/lesson-24/internal/adapter/postgres/create_profile.go
create_property.go
Исходный код уроков/lesson-24/internal/adapter/postgres/create_property.go
delete_profile.go
Исходный код уроков/lesson-24/internal/adapter/postgres/delete_profile.go
get_profile.go
Исходный код уроков/lesson-24/internal/adapter/postgres/get_profile.go
get_profiles.go
Исходный код уроков/lesson-24/internal/adapter/postgres/get_profiles.go
postgres.go
Исходный код уроков/lesson-24/internal/adapter/postgres/postgres.go
read_outbox_kafka.go
Исходный код уроков/lesson-24/internal/adapter/postgres/read_outbox_kafka.go
save_outbox_kafka.go
Исходный код уроков/lesson-24/internal/adapter/postgres/save_outbox_kafka.go
update_profile.go
Исходный код уроков/lesson-24/internal/adapter/postgres/update_profile.go
redis
2 files • 1003 Bytes
is_exists.go
Исходный код уроков/lesson-24/internal/adapter/redis/is_exists.go
redis.go
Исходный код уроков/lesson-24/internal/adapter/redis/redis.go
app
1 files • 2.53 KB
app.go
Исходный код уроков/lesson-24/internal/app/app.go
controller
16 files • 17.54 KB
grpc
7 files • 7.12 KB
grpc.go
Исходный код уроков/lesson-24/internal/controller/grpc/grpc.go
v1
6 files • 5.57 KB
create_profile.go
Исходный код уроков/lesson-24/internal/controller/grpc/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-24/internal/controller/grpc/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-24/internal/controller/grpc/v1/get_profile.go
get_profiles.go
Исходный код уроков/lesson-24/internal/controller/grpc/v1/get_profiles.go
update_profile.go
Исходный код уроков/lesson-24/internal/controller/grpc/v1/update_profile.go
v1.go
Исходный код уроков/lesson-24/internal/controller/grpc/v1/v1.go
http
7 files • 6.33 KB
router.go
Исходный код уроков/lesson-24/internal/controller/http/router.go
v1
6 files • 5.35 KB
create_profile.go
Исходный код уроков/lesson-24/internal/controller/http/v1/create_profile.go
delete_profile.go
Исходный код уроков/lesson-24/internal/controller/http/v1/delete_profile.go
get_profile.go
Исходный код уроков/lesson-24/internal/controller/http/v1/get_profile.go
get_profiles.go
Исходный код уроков/lesson-24/internal/controller/http/v1/get_profiles.go
update_profile.go
Исходный код уроков/lesson-24/internal/controller/http/v1/update_profile.go
v1.go
Исходный код уроков/lesson-24/internal/controller/http/v1/v1.go
kafka_consumer
1 files • 2.76 KB
consumer.go
Исходный код уроков/lesson-24/internal/controller/kafka_consumer/consumer.go
worker
1 files • 1.33 KB
outbox_kafka.go
Исходный код уроков/lesson-24/internal/controller/worker/outbox_kafka.go
domain
6 files • 4.7 KB
error.go
Исходный код уроков/lesson-24/internal/domain/error.go
event.go
Исходный код уроков/lesson-24/internal/domain/event.go
profile.go
Исходный код уроков/lesson-24/internal/domain/profile.go
profile_test.go
Исходный код уроков/lesson-24/internal/domain/profile_test.go
property.go
Исходный код уроков/lesson-24/internal/domain/property.go
status.go
Исходный код уроков/lesson-24/internal/domain/status.go
dto
5 files • 1.77 KB
create_profile.go
Исходный код уроков/lesson-24/internal/dto/create_profile.go
delete_profile.go
Исходный код уроков/lesson-24/internal/dto/delete_profile.go
get_profile.go
Исходный код уроков/lesson-24/internal/dto/get_profile.go
get_profiles.go
Исходный код уроков/lesson-24/internal/dto/get_profiles.go
update_profile.go
Исходный код уроков/lesson-24/internal/dto/update_profile.go
usecase
8 files • 25.85 KB
create_profile.go
Исходный код уроков/lesson-24/internal/usecase/create_profile.go
delete_profile.go
Исходный код уроков/lesson-24/internal/usecase/delete_profile.go
get_profile.go
Исходный код уроков/lesson-24/internal/usecase/get_profile.go
get_profiles.go
Исходный код уроков/lesson-24/internal/usecase/get_profiles.go
outbox_read_and_produce.go
Исходный код уроков/lesson-24/internal/usecase/outbox_read_and_produce.go
update_profile.go
Исходный код уроков/lesson-24/internal/usecase/update_profile.go
usecase.go
Исходный код уроков/lesson-24/internal/usecase/usecase.go
mocks
1 files • 17.76 KB
mocks.go
Исходный код уроков/lesson-24/internal/usecase/mocks/mocks.go
migration
8 files • 1.16 KB
postgres
8 files • 1.16 KB
20250216100653_init.down.sql
Исходный код уроков/lesson-24/migration/postgres/20250216100653_init.down.sql
20250216100653_init.up.sql
Исходный код уроков/lesson-24/migration/postgres/20250216100653_init.up.sql
20250216142416_add_contacts.down.sql
Исходный код уроков/lesson-24/migration/postgres/20250216142416_add_contacts.down.sql
20250216142416_add_contacts.up.sql
Исходный код уроков/lesson-24/migration/postgres/20250216142416_add_contacts.up.sql
20250216142526_add_property_table.down.sql
Исходный код уроков/lesson-24/migration/postgres/20250216142526_add_property_table.down.sql
20250216142526_add_property_table.up.sql
Исходный код уроков/lesson-24/migration/postgres/20250216142526_add_property_table.up.sql
20250420140509_outbox.down.sql
Исходный код уроков/lesson-24/migration/postgres/20250420140509_outbox.down.sql
20250420140509_outbox.up.sql
Исходный код уроков/lesson-24/migration/postgres/20250420140509_outbox.up.sql
observability
6 files • 105.94 KB
loki.yaml
Исходный код уроков/lesson-24/observability/loki.yaml
prometheus.yaml
Исходный код уроков/lesson-24/observability/prometheus.yaml
tempo.yaml
Исходный код уроков/lesson-24/observability/tempo.yaml
grafana
3 files • 102.89 KB
dashboard.yaml
Исходный код уроков/lesson-24/observability/grafana/dashboard.yaml
datasources.yaml
Исходный код уроков/lesson-24/observability/grafana/datasources.yaml
default.json
Исходный код уроков/lesson-24/observability/grafana/default.json
pkg
41 files • 34 KB
httpserver
1 files • 1.01 KB
httpserver.go
Исходный код уроков/lesson-24/pkg/httpserver/httpserver.go
logger
5 files • 3.07 KB
example_intercepter.go
Исходный код уроков/lesson-24/pkg/logger/example_intercepter.go
interceptor.go
Исходный код уроков/lesson-24/pkg/logger/interceptor.go
kafka.go
Исходный код уроков/lesson-24/pkg/logger/kafka.go
logger.go
Исходный код уроков/lesson-24/pkg/logger/logger.go
middleware.go
Исходный код уроков/lesson-24/pkg/logger/middleware.go
metrics
4 files • 3.15 KB
const.go
Исходный код уроков/lesson-24/pkg/metrics/const.go
http_server.go
Исходный код уроков/lesson-24/pkg/metrics/http_server.go
middleware.go
Исходный код уроков/lesson-24/pkg/metrics/middleware.go
process.go
Исходный код уроков/lesson-24/pkg/metrics/process.go
otel
4 files • 5.26 KB
grpc_interceptor.go
Исходный код уроков/lesson-24/pkg/otel/grpc_interceptor.go
http_middleware.go
Исходный код уроков/lesson-24/pkg/otel/http_middleware.go
otel.go
Исходный код уроков/lesson-24/pkg/otel/otel.go
tracer
1 files • 363 Bytes
tracer.go
Исходный код уроков/lesson-24/pkg/otel/tracer/tracer.go
postgres
1 files • 1.02 KB
postgres.go
Исходный код уроков/lesson-24/pkg/postgres/postgres.go
profile_client
6 files • 6.18 KB
client.go
Исходный код уроков/lesson-24/pkg/profile_client/client.go
create_profile.go
Исходный код уроков/lesson-24/pkg/profile_client/create_profile.go
delete_profile.go
Исходный код уроков/lesson-24/pkg/profile_client/delete_profile.go
example.go
Исходный код уроков/lesson-24/pkg/profile_client/example.go
get_profile.go
Исходный код уроков/lesson-24/pkg/profile_client/get_profile.go
update_profile.go
Исходный код уроков/lesson-24/pkg/profile_client/update_profile.go
profile_client_gen
6 files • 4.96 KB
client.go
Исходный код уроков/lesson-24/pkg/profile_client_gen/client.go
create_profile.go
Исходный код уроков/lesson-24/pkg/profile_client_gen/create_profile.go
delete_profile.go
Исходный код уроков/lesson-24/pkg/profile_client_gen/delete_profile.go
example.go
Исходный код уроков/lesson-24/pkg/profile_client_gen/example.go
get_profile.go
Исходный код уроков/lesson-24/pkg/profile_client_gen/get_profile.go
update_profile.go
Исходный код уроков/lesson-24/pkg/profile_client_gen/update_profile.go
profile_client_grpc
6 files • 5.07 KB
client.go
Исходный код уроков/lesson-24/pkg/profile_client_grpc/client.go
create_profile.go
Исходный код уроков/lesson-24/pkg/profile_client_grpc/create_profile.go
delete_profile.go
Исходный код уроков/lesson-24/pkg/profile_client_grpc/delete_profile.go
example.go
Исходный код уроков/lesson-24/pkg/profile_client_grpc/example.go
get_profile.go
Исходный код уроков/lesson-24/pkg/profile_client_grpc/get_profile.go
update_profile.go
Исходный код уроков/lesson-24/pkg/profile_client_grpc/update_profile.go
redis
1 files • 665 Bytes
redis.go
Исходный код уроков/lesson-24/pkg/redis/redis.go
render
2 files • 898 Bytes
error.go
Исходный код уроков/lesson-24/pkg/render/error.go
json.go
Исходный код уроков/lesson-24/pkg/render/json.go
router
3 files • 1.18 KB
extract_path.go
Исходный код уроков/lesson-24/pkg/router/extract_path.go
router.go
Исходный код уроков/lesson-24/pkg/router/router.go
writer_wrapper.go
Исходный код уроков/lesson-24/pkg/router/writer_wrapper.go
transaction
2 files • 1.57 KB
transaction.go
Исходный код уроков/lesson-24/pkg/transaction/transaction.go
wrap.go
Исходный код уроков/lesson-24/pkg/transaction/wrap.go
test
6 files • 5.03 KB
integration
6 files • 5.03 KB
create_profile_test.go
Исходный код уроков/lesson-24/test/integration/create_profile_test.go
delete_profile_test.go
Исходный код уроков/lesson-24/test/integration/delete_profile_test.go
get_profile_test.go
Исходный код уроков/lesson-24/test/integration/get_profile_test.go
main_test.go
Исходный код уроков/lesson-24/test/integration/main_test.go
migrate_test.go
Исходный код уроков/lesson-24/test/integration/migrate_test.go
update_profile_test.go
Исходный код уроков/lesson-24/test/integration/update_profile_test.go
wiki
114 files • 119.02 KB
go.mod
Исходный код уроков/lesson-24/wiki/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/go.sum
0-errors
6 files • 3.62 KB
1-error
1 files • 602 Bytes
main.go
Исходный код уроков/lesson-24/wiki/0-errors/1-error/main.go
2-with-err-wrap
1 files • 593 Bytes
main.go
Исходный код уроков/lesson-24/wiki/0-errors/2-with-err-wrap/main.go
3-unpack
1 files • 761 Bytes
main.go
Исходный код уроков/lesson-24/wiki/0-errors/3-unpack/main.go
4-errors-is
1 files • 716 Bytes
main.go
Исходный код уроков/lesson-24/wiki/0-errors/4-errors-is/main.go
5-errors-as
2 files • 1.01 KB
custom_error.go
Исходный код уроков/lesson-24/wiki/0-errors/5-errors-as/custom_error.go
main.go
Исходный код уроков/lesson-24/wiki/0-errors/5-errors-as/main.go
0-logger
7 files • 5.46 KB
1-log.go
Исходный код уроков/lesson-24/wiki/0-logger/1-log.go
2-slog.go
Исходный код уроков/lesson-24/wiki/0-logger/2-slog.go
3-zap.go
Исходный код уроков/lesson-24/wiki/0-logger/3-zap.go
4-zerolog.go
Исходный код уроков/lesson-24/wiki/0-logger/4-zerolog.go
5-with-context.go
Исходный код уроков/lesson-24/wiki/0-logger/5-with-context.go
go.mod
Исходный код уроков/lesson-24/wiki/0-logger/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/0-logger/go.sum
1-middleware
6 files • 3.24 KB
1-middleware.go
Исходный код уроков/lesson-24/wiki/1-middleware/1-middleware.go
2-timer.go
Исходный код уроков/lesson-24/wiki/1-middleware/2-timer.go
3-request-id.go
Исходный код уроков/lesson-24/wiki/1-middleware/3-request-id.go
4-basic-auth.go
Исходный код уроков/lesson-24/wiki/1-middleware/4-basic-auth.go
go.mod
Исходный код уроков/lesson-24/wiki/1-middleware/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/1-middleware/go.sum
2-test
6 files • 5.17 KB
1-test_test.go
Исходный код уроков/lesson-24/wiki/2-test/1-test_test.go
2-testify_test.go
Исходный код уроков/lesson-24/wiki/2-test/2-testify_test.go
3-cover.go
Исходный код уроков/lesson-24/wiki/2-test/3-cover.go
3-cover_test.go
Исходный код уроков/lesson-24/wiki/2-test/3-cover_test.go
go.mod
Исходный код уроков/lesson-24/wiki/2-test/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/2-test/go.sum
3-benchmark
4 files • 1.45 KB
1-slice_test.go
Исходный код уроков/lesson-24/wiki/3-benchmark/1-slice_test.go
2-string_test.go
Исходный код уроков/lesson-24/wiki/3-benchmark/2-string_test.go
3-map_test.go
Исходный код уроков/lesson-24/wiki/3-benchmark/3-map_test.go
go.mod
Исходный код уроков/lesson-24/wiki/3-benchmark/go.mod
4-profiler
4 files • 4.19 KB
1-pprof.go
Исходный код уроков/lesson-24/wiki/4-profiler/1-pprof.go
2-server.go
Исходный код уроков/lesson-24/wiki/4-profiler/2-server.go
go.mod
Исходный код уроков/lesson-24/wiki/4-profiler/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/4-profiler/go.sum
5-context
6 files • 3.5 KB
1-context.go
Исходный код уроков/lesson-24/wiki/5-context/1-context.go
2-cancel.go
Исходный код уроков/lesson-24/wiki/5-context/2-cancel.go
3-deadline.go
Исходный код уроков/lesson-24/wiki/5-context/3-deadline.go
4-timeout.go
Исходный код уроков/lesson-24/wiki/5-context/4-timeout.go
5-value.go
Исходный код уроков/lesson-24/wiki/5-context/5-value.go
6-example.go
Исходный код уроков/lesson-24/wiki/5-context/6-example.go
6-jwt
8 files • 11.55 KB
1-key-gen.go
Исходный код уроков/lesson-24/wiki/6-jwt/1-key-gen.go
2-create-jwt.go
Исходный код уроков/lesson-24/wiki/6-jwt/2-create-jwt.go
3-verify-jwt.go
Исходный код уроков/lesson-24/wiki/6-jwt/3-verify-jwt.go
4-server-example.go
Исходный код уроков/lesson-24/wiki/6-jwt/4-server-example.go
go.mod
Исходный код уроков/lesson-24/wiki/6-jwt/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/6-jwt/go.sum
keys
2 files • 2.08 KB
private_key.pem
Исходный код уроков/lesson-24/wiki/6-jwt/keys/private_key.pem
public_key.pem
Исходный код уроков/lesson-24/wiki/6-jwt/keys/public_key.pem
7-json
1 files • 2.02 KB
main.go
Исходный код уроков/lesson-24/wiki/7-json/main.go
8-pgx
3 files • 7.15 KB
1-pgx.go
Исходный код уроков/lesson-24/wiki/8-pgx/1-pgx.go
go.mod
Исходный код уроков/lesson-24/wiki/8-pgx/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/8-pgx/go.sum
9-goqu
3 files • 7.58 KB
go.mod
Исходный код уроков/lesson-24/wiki/9-goqu/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/9-goqu/go.sum
main.go
Исходный код уроков/lesson-24/wiki/9-goqu/main.go
10-sql-injection
3 files • 5.54 KB
go.mod
Исходный код уроков/lesson-24/wiki/10-sql-injection/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/10-sql-injection/go.sum
main.go
Исходный код уроков/lesson-24/wiki/10-sql-injection/main.go
11-migrate
5 files • 1.95 KB
main.go
Исходный код уроков/lesson-24/wiki/11-migrate/main.go
migration
4 files • 786 Bytes
20250213144246_init.down.sql
Исходный код уроков/lesson-24/wiki/11-migrate/migration/20250213144246_init.down.sql
20250213144246_init.up.sql
Исходный код уроков/lesson-24/wiki/11-migrate/migration/20250213144246_init.up.sql
20250213144247_test.down.sql
Исходный код уроков/lesson-24/wiki/11-migrate/migration/20250213144247_test.down.sql
20250213144247_test.up.sql
Исходный код уроков/lesson-24/wiki/11-migrate/migration/20250213144247_test.up.sql
12-patterns
2 files • 2.81 KB
1-option.go
Исходный код уроков/lesson-24/wiki/12-patterns/1-option.go
2-config.go
Исходный код уроков/lesson-24/wiki/12-patterns/2-config.go
13-kafka
18 files • 18.55 KB
1-write-partition.go
Исходный код уроков/lesson-24/wiki/13-kafka/1-write-partition.go
2-read-partition.go
Исходный код уроков/lesson-24/wiki/13-kafka/2-read-partition.go
3.1-create-topic.go
Исходный код уроков/lesson-24/wiki/13-kafka/3.1-create-topic.go
4-get-leader-partition.go
Исходный код уроков/lesson-24/wiki/13-kafka/4-get-leader-partition.go
5.1-reader.go
Исходный код уроков/lesson-24/wiki/13-kafka/5.1-reader.go
5.2-reader-group.go
Исходный код уроков/lesson-24/wiki/13-kafka/5.2-reader-group.go
6.1-auto-commit.go
Исходный код уроков/lesson-24/wiki/13-kafka/6.1-auto-commit.go
6.2-fetch-and-commit.go
Исходный код уроков/lesson-24/wiki/13-kafka/6.2-fetch-and-commit.go
7.1-writer.go
Исходный код уроков/lesson-24/wiki/13-kafka/7.1-writer.go
7.2-write-to-topics.go
Исходный код уроков/lesson-24/wiki/13-kafka/7.2-write-to-topics.go
7.3-auto-create.go
Исходный код уроков/lesson-24/wiki/13-kafka/7.3-auto-create.go
8-semantics.go
Исходный код уроков/lesson-24/wiki/13-kafka/8-semantics.go
docker-compose.yml
Исходный код уроков/lesson-24/wiki/13-kafka/docker-compose.yml
go.mod
Исходный код уроков/lesson-24/wiki/13-kafka/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/13-kafka/go.sum
main.go
Исходный код уроков/lesson-24/wiki/13-kafka/main.go
Makefile
Исходный код уроков/lesson-24/wiki/13-kafka/Makefile
pkg
1 files • 402 Bytes
logger
1 files • 402 Bytes
logger.go
Исходный код уроков/lesson-24/wiki/13-kafka/pkg/logger/logger.go
14-s3
16 files • 15.88 KB
1-connect.go
Исходный код уроков/lesson-24/wiki/14-s3/1-connect.go
2-create-bucket.go
Исходный код уроков/lesson-24/wiki/14-s3/2-create-bucket.go
3.1-put-get.go
Исходный код уроков/lesson-24/wiki/14-s3/3.1-put-get.go
3.2-prefix.go
Исходный код уроков/lesson-24/wiki/14-s3/3.2-prefix.go
4-links.go
Исходный код уроков/lesson-24/wiki/14-s3/4-links.go
5-stat-object.go
Исходный код уроков/lesson-24/wiki/14-s3/5-stat-object.go
6-locked-bucket.go
Исходный код уроков/lesson-24/wiki/14-s3/6-locked-bucket.go
7-bucket-list.go
Исходный код уроков/lesson-24/wiki/14-s3/7-bucket-list.go
8-delete-bucket.go
Исходный код уроков/lesson-24/wiki/14-s3/8-delete-bucket.go
9-delete-object.go
Исходный код уроков/lesson-24/wiki/14-s3/9-delete-object.go
10-delete-obj-list.go
Исходный код уроков/lesson-24/wiki/14-s3/10-delete-obj-list.go
11-copy-move.go
Исходный код уроков/lesson-24/wiki/14-s3/11-copy-move.go
docker-compose.yml
Исходный код уроков/lesson-24/wiki/14-s3/docker-compose.yml
go.mod
Исходный код уроков/lesson-24/wiki/14-s3/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/14-s3/go.sum
pkg
1 files • 462 Bytes
s3
1 files • 462 Bytes
connection.go
Исходный код уроков/lesson-24/wiki/14-s3/pkg/s3/connection.go
15-redis
14 files • 13.3 KB
0-connect.go
Исходный код уроков/lesson-24/wiki/15-redis/0-connect.go
1.1-set-get-delete.go
Исходный код уроков/lesson-24/wiki/15-redis/1.1-set-get-delete.go
1.2-ttl.go
Исходный код уроков/lesson-24/wiki/15-redis/1.2-ttl.go
2-hash-set.go
Исходный код уроков/lesson-24/wiki/15-redis/2-hash-set.go
3-list.go
Исходный код уроков/lesson-24/wiki/15-redis/3-list.go
4-set.go
Исходный код уроков/lesson-24/wiki/15-redis/4-set.go
5.1-pipeline.go
Исходный код уроков/lesson-24/wiki/15-redis/5.1-pipeline.go
5.2-without-pipeline.go
Исходный код уроков/lesson-24/wiki/15-redis/5.2-without-pipeline.go
5.3-with-pipeline.go
Исходный код уроков/lesson-24/wiki/15-redis/5.3-with-pipeline.go
6-tx-pipeline.go
Исходный код уроков/lesson-24/wiki/15-redis/6-tx-pipeline.go
7-tx-watch.go
Исходный код уроков/lesson-24/wiki/15-redis/7-tx-watch.go
8-pub-sub.go
Исходный код уроков/lesson-24/wiki/15-redis/8-pub-sub.go
go.mod
Исходный код уроков/lesson-24/wiki/15-redis/go.mod
go.sum
Исходный код уроков/lesson-24/wiki/15-redis/go.sum
Основной материал
2 files • 29.21 KB
.gitignore
Основной материал/.gitignore
README.md
Основной материал/README.md
Trackers (15)
DHT
udp://bittorrent-tracker.e-n-c-r-y-p-t.net:1337/announce
udp://evan.im:6969/announce
udp://martin-gebhardt.eu:25/announce
udp://open.stealth.si:80/announce
udp://retracker01-msk-virt.corbina.net:80/announce
udp://tracker-udp.gbitt.info:80/announce
udp://tracker.ddunlimited.net:6969/announce
udp://tracker.dler.org:6969/announce
udp://tracker.filemail.com:6969/announce
udp://tracker.fnix.net:6969/announce
udp://tracker.opentrackr.org:1337/announce
udp://tracker.qu.ax:6969/announce
udp://tracker.torrent.eu.org:451/announce
udp://tracker.tryhackx.org:6969/announce
Similar Torrents 15
Based on tags and category