Заметки АйТишницы
Об АйТи, о программировании, о жизни :) Контакт @ellavs (golang backend developer in highload bigtech, бывшая одинесница)
نمایش بیشتر- مشترکین
- پوشش پست
- ER - نسبت تعامل
در حال بارگیری داده...
در حال بارگیری داده...
Golang, PostgreSQL, System Design
, доступные на Яндекс.Музыка.
На вскидку смогла найти пока только Go Get Podcast
от Николая Тузова (про язык GO, но там выпусков ещё довольно мало).
Может у кого-то из вас есть свои подкасты :)
Я ж теперь «робо-владелец»: к роботу-пылесосу рядом подселилась колонка Алиса и на ночь захотелось слушать с ее помощью интересные подкасты на проф.темы (засыпаю правда быстро, но могу переслушивать по несколько раз) 😊Пишем полноценный gRPC сервис с современной архитектурой. Также: - Напишем контракт protobuf, разберемся с кодогенерацией - Научимся работать с ошибками и логами - Настроим миграции для БД - Настроим автоматический деплой через GitHub Actions, напишем для этого workflow - и др. Исходный код проекта (версия кода с зафиксированной версией на момент выхода гайда):
https://github.com/GolangLessons/sso/tree/guide-versionТекстовая версия в виде инструкции:
https://slc.tl/ygj4tПолная текстовая версия гайда:
https://habr.com/ru/articles/774796/Облачный сервер для для gRPC-сервиса:
https://slc.tl/s0kla-------- Другие мои ролики, дополняющие текущий: REST API - URL Shortener:
https://youtu.be/rCJvW2xgnk0Интерфейсы по месту использования:
https://youtu.be/eYHCCht8eX4Моки и их генерация:
https://youtu.be/qaaa3RsC0FQИспользование SQLite в Go:
https://youtu.be/rrDtiKKO_mc---- 👾
https://t.me/ntuzov- мой канал в Telegram-канал. Пишу в нём много интересного: гайды, которых нет на YouTube, интересные мысли про разработку, новости и анонсы всех моих активностей и др. 👀 GoLang Digest:
https://t.me/golang_digest- мои регулярные подборки интересных материалов по Go. 🗣️ Наше сообщество GopherClub:
https://t.me/+zsSZ63wEJDs3NGViЛучшее русскоязычное Go-сообщество с очень приятной атмосферой, без токсиков. Вежливо и терпеливо помогаем новичкам, конструктивно дискутируем с профессионалами и т.п. Здесь также присутствуют все звезды Go-сообщества и представители интересных компаний 😄 ❤️ Если у вас есть желание поддержать развитие канала: Секретный телеграм-канал: - В рублях:
https://t.me/+1UPXV_DGnG1mODJi- В евро:
https://t.me/+hedI8LevYTc5MDM6Boosty:
https://boosty.to/nikolay.tuzovPatreon:
https://www.patreon.com/tuzov---- Тайм-коды: 00:00 Вступление 01:00 Мой Телеграм-канал, зачем на него подписываться 02:04 Теоретический ликбез 06:49 SSO или Auth? 07:58 Авторизация и аутентификация - в чем разница? 08:31 Архитектура авторизации в нашем сервисе 09:51 Что такое JWT и зачем он нужен? 14:01 Архитектура приложения 16:33 Protobuf контракт 31:24 Пишем SSO: каркас и структура проекта 38:03 Конфигурация приложения 52:32 Настраиваем логгер - log.slog 01:03:56 gRPC-сервер и хэндлеры 01:18:48 Запуск и проверка приложения 01:22:04 Graceful shutdown 01:27:08 Хэндлер Login() 01:34:28 Хэндлер Register() 01:36:01 Хэндлер IsAdmin() 01:36:53 Сервисный слой 01:46:27 Метод RegisterNewUser() и хэширование паролей 01:52:05 Метод Login() и сравнение хэшей паролей 01:58:00 Создание JWT-токена 02:04:45 Миграции базы данных 02:23:05 Слой работы с данными: реализация Storage 02:32:09 Собираем все компоненты воедино 02:37:11 Пишем функциональные тесты 03:05:22 Интеграция с другим сервисом: URL Shortener 03:15:05 Покупка облачного сервера для деплоя 03:19:16 GitHub Actions: настраиваем автоматический деплой 03:36:53 Тестируем задеплоенный сервис 03:41:23 Заключение 03:41:35 Наше сообщество - Gopher Club 03:43:16 Как поддержать развитие канала #golang #ntuzov
В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В...
package main
import "fmt"
func main() {
buf := make([]byte, 0, 24)
buf = append(buf, "Hello, world!"...)
fmt.Println(string(buf))
}
Как сделать такую подсветку?
Если просто сделать как раньше (выделить текст и выбрать форматирование Моноширинный), то не заработает. Обрамляем блок кода так, как показано на скриншоте.
PS: для 1С, кажется, сделать забыли 😅طرح فعلی شما تنها برای 5 کانال تجزیه و تحلیل را مجاز می کند. برای بیشتر، لطفا یک طرح دیگر انتخاب کنید.