Архив метки: Golang

AWS: RDS Proxy – обзор, запуск, тестирование

11 декабря 2021
 

 AWS RDS Proxy – сервис от AWS, позволяющий разгрузить сервера баз данных AWS RDS, в первую очередь за счёт переиспользования существующих подключений вместо открытия новых для выполнения запросов от клиентов. Кроме того, RDS Proxy улучшает failover при переключении упавшего инстанса на резервный, например – когда AWS RDS Aurora выполняет переключение read-replica на роль master, если… Читать далее »

Golang: указатели – подробный разбор

20 апреля 2019
 

 Я уже когда-то добавлял пост про указатели в C – C: указатели — подробный разбор, но было это достаточно давно, да и Си всё-таки не совсем Go, хотя в плане указателей разницы нет. Тем не менее – рассмотрим указатели в отдельном посте. Что такое указатель? Кратко, указатель – это переменная, которая хранит адрес памяти другой… Читать далее »

Go: проверка списка публичных репозиториев в Github и уведомления в Slack. Сравнение списков в Go. Первый опыт с Golang.

13 апреля 2019
 

 Задача – написать утилиту, которая будет запускаться по крону из Jenkins и проверять список публичных репозиториев организации в Github. Создание Docker-образа и Jenkins-джобы – в посте Jenkins: проверка публичных репозиториев Github-организации. Затем она должна сравнивать полученный список со списком разрешённых, и если списки не совпадают – слать алерт в Slack. Идея состоит в том, что… Читать далее »

Golang: Go in Practice – заметки на полях, часть 2 – CLI приложение на Go

14 февраля 2019
 

 Предыдущая часть – Golang: Go in Practice – заметки на полях, часть 1 – введение. Стандартная библиотека Go включает в себя пакеты для создания приложения с поддержкой опций командной строки. В отличии от стандартных, принятых в Linux/BSD, стилей – в пакете из стандартной библиотеке Go используются одинарные или двойные дефисы как взаимозаменяемые. Т.е. тут не… Читать далее »

Golang: unrecognized import path “math/bits” (import path does not begin with hostname)

12 февраля 2019
 

 При импорте пакета – возникает ошибка вида “unrecognized import path “math/bits” (import path does not begin with hostname)“. Гуглим, находим обсуждение тут>>>, радуемся, что в репозиториях Debian 9 последняя доступная версия 1.7. Проверяем версию Go: [simterm] root@ip-172-31-38-97:/home/admin# go version go version go1.7.4 linux/amd64 [/simterm] Выполняем установку вручную. Удаляем установленный пакет: [simterm] root@ip-172-31-38-97:/home/admin# apt purge golang… Читать далее »

Golang: Go in Practice – заметки на полях, часть 1 – введение

4 февраля 2019
 

 Ещё весной начал учить Go, но потом перешёл на новую работу, забот и без того хватало, и Go забросил. Тем не менее – встречается он сейчас много где (Docker, Prometheus, Terraform etc), а потому знать его желательно. Да и вообще – иногда надо поучить что-то новое, ибо становится скучно. Попробую вести “конспекты” книги Go in Practice … Читать далее »

Golang: struct – структуры в примерах

28 ноября 2018
 

 Структура – это коллекция типизированных полей, т.е. у кождого поля в структуре есть свой тип данных. Создать структуру можно следующим образом: type Example struct { FirstField string SecondField string ThirdField int } Тут у структуры с именем Example есть коллекция полей – поля FirstField и SecondField типа string, и поле ThirdField типа integer. Если различные поля имеют одинаковый… Читать далее »

Golang: установка и Hello, World

5 января 2016
 

 Очень кратко – установка Golang, языка программирования от Google, и пример “Hello, World“. Для установки Golang на RHEL-дистрибутивы – требуется репозиторий Epel: $ sudo yum repolist enabled … epel Extra Packages for Enterprise Linux 6 – x86_64 11689+165 epel-debuginfo Extra Packages for Enterprise Linux 6 – x86_64 – Debug 2167+24 …