Библиотека Go-разработчика | Golang
23.5K subscribers
2.32K photos
47 videos
87 files
4.73K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
Материалы семинара, в рамках которого разбираются инструменты, необходимые для диагностики проблем с производительностью в приложениях на Go и их устранения.

https://proglib.io/w/7ba8d683
GeekBrains запускает курс «Python для решения бизнес-задач»

Обучение начнется 23 октября и продлится 2,5 месяца. Курс рассчитан на далеких от программирования слушателей: маркетологов, продакт-менеджеров и предпринимателей. В формате видеоуроков и практических вебинаров они научатся автоматизировать рутинные задачи и процессы. Опытные преподаватели расскажут, как создавать ботов Telegram, собирать, обрабатывать и визуализировать данные о клиентах, а также обрабатывать файлы и проверять правильность заполнения форм. Python позволяет написать программу один раз и запускать ее по потребности — это экономит рабочее время.

Получить дополнительную информацию и записаться в группу можно на сайте: https://proglib.io/w/d4c92d71
2fa — консольный агент на Go для двухфакторной аутентификации с поддержкой генерации одноразоваого пароля по времени (TOTP) и событию (HOTP).

https://proglib.io/w/bc7c7ba2
Интересный доклад руководителя группы разработки на митапе WBTechDay 2020 под названием «Архитектура платежного шлюза Wildberries».

https://proglib.io/w/70d3b24b

Платежный шлюз реализован на Go, а в рамках доклада спикер освещает следующие вопросы:
- работа без базы
- реализация паттерна retry
- реализация паттерна exponential backoff
- реализация паттерна circuit breaker
- использование RabbitMQ для очередей
- использование CEPH для хранения
- использование redis-cluster для кеширования и многое другое.
Паттерн Легковес представляет собой структурный паттерн проектирования, который позволяет вместить бОльшее количество объектов в отведённую оперативную память.

Данный паттерн экономит память, разделяя общее состояние объектов между собой, вместо хранения одинаковых данных в каждом объекте.

Разбираемся с реализацией паттерна Легковес на Go: https://proglib.io/w/f9c6a37e
Go-password-validator — инструмент, который можно использовать для проверки надежности пароля или просто для валидации пароля на сервере. Разработчик исходит не из количества символов и их регистра, а из значения энтропии.

Почитать подробнее
Репозиторий
Sqreen for Go — инструмент, который реализует самозащиту исполняемых приложений (RASP).

Если мы рассматриваем пример SQL-инъекции, то микроагент Sqreen добавляет свою защиту от SQL-инъекции к SQL-драйверу приложения. Поступающий HTTP-запрос проверяется в изолированной среде, что SQL-запрос не имеет исполняемого SQL-кода, который изменит структуру запроса.

Помимо микроагента, Sqreen for Go поставляется с дополнительными решениями для управления безопасностью приложений, среди которых Web application firewall, инвентаризация приложений и база данных уязвимых зависимостей.

В статье указано, что текущий релиз поддерживает защиту не от всех популярных уязвимостей OWASP, но в этом направлении ведется активная работа.

Стоит отметить, что бесплатного аккаунта вполне достаточно для начала работы, т. к. он поддерживает до 3 млн запросов в месяц в одном боевом приложении.

Подробности в статье: https://proglib.io/w/04f7be51
Доклад руководителя группы инфраструктурной разработки на митапе WBTechDay 2020 под названием «CI/CD. Архитектура системы непрерывной интеграции и доставки на Go».

В рамках доклада рассмотрены существующие в Wildberries подходы к обеспечению CI/CD и тому как команда пришла к решению разработать собственную систему. Также автор разбирает архитектуру системы CI/CD и рассказывет о следующем:
✔️Как устроена модульность CI и как она интегрирована в Gitlab
✔️Как система интегрирована в Kubernetes и позволяет унифицировать флоу работы различных команд
✔️При чем тут Vault и как его использовать для управления секретами и автоматизации микросервисного взаимодействия
✔️Как построить авторизацию на базе ABAC с учетом хранения данных в CEPH
✔️Как использовать собственную разработку на базе CEPH для событийно-ориентированной обработки данных и индексации данных в памяти

https://proglib.io/w/c6d70a35
При наличии очевидных минусов, плагины в Go являются одним из многих архитектурных проектов, которые позволяют создавать слабосвязанные и модульные программы. Автор статьи на примере разработки базового калькулятора доставки показывает, как разрабатывать плагины на Go.

https://proglib.io/w/4e2074e9
GeekBrains открывает факультет обработки естественного языка

Обучение проходит в онлайн-формате 2 раза в неделю в течение 10 месяцев. Студенты факультета смогут с нуля овладеть востребованной профессией NLP-разработчика, ML-инженера или специалиста по Data Science. Программа занятий рассчитана на новичков: в нее входят основы высшей математики (линейная алгебра и матанализ), программирования и машинного обучения. Достаточно подробно изучается теория вероятностей и матстатистика, различные подходы к обработке естественного языка, прототипирование и интеграция, а также бизнес-процесс машинного обучения. Занятия ведут признанные в отрасли эксперты, а решить возникающие в процессе обучения затруднения поможет личный наставник. Успешно окончившие курс студенты получат диплом о профессиональной переподготовке и закрепленную в договоре гарантию трудоустройства.

Подробная информация о новом факультете доступна на нашем сайте: https://proglib.io/w/3b4fb9c8
Руководство по созданию Dockerfile для приложения на Go. Автор приводит Dockerfile, который можно использовать в качестве шаблона, и дает аргументы в пользу каждой строки в нем.

https://proglib.io/w/aaa26faa
GeekBrains открывает факультет Fullstack JavaScript

Подготовительные курсы пройдут в ноябре, а обучение начнется в январе 2021 года. Рассчитанная на 15 месяцев программа позволит студентам освоить профессию разработчика полного цикла. Успешно окончив курс, они смогут запустить собственные проекты: сайты, мобильные приложения и высоконагруженные сервисы. Преподают на факультете ведущие специалисты из GeekBrains и Delivery Club, а затруднения с домашними заданиями поможет решить наставник. Помимо основ HTML, CSS и JavaScript, в учебную программу входят продвинутые темы: современная фронтенд-разработка, бэкенд-разработка, базы данных, сетевые протоколы, многопоточные приложения, взаимодействие в команде и многое другое. Гарантия трудоустройства закреплена в договоре — опытный HR поможет вам составить резюме.

Получить дополнительную информацию и записаться в группу можно на сайте: https://proglib.io/w/28101c15
#tip

Вы знали, что Go playground можно использовать для импорта нескольких файлов? См. прикрепленный скрин.

Хотелось бы также поделиться экспериментальным альтернативным интерфейсом Go Play Space: https://goplay.space/