Юра (Юрий Александрович)
Какую систему мониторинга советуешь на Го ?
система мониторинга - самостоятельный сторонний продукт, в код которого лезть не придется. Поэтому на каком языке он написан, значения не имеет.
G
Писал же уже про nagiosы и прочие zabbixы, ну
Юра (Юрий Александрович)
Я даже не знаю, что в таком случае будет полезнее: написать свою простейшую систему мониторинга, или разобраться в подключении стандартной. Наверное нужно сделать и то и то.
Юра (Юрий Александрович)
Какую систему мониторинга советуешь на Го ?
Популярной системой является Prometheus
Evgeny
Вот такой вещь хочу сделать
а "проверка" что проверяет? пингуется ли айпи? отвечает ли на образцовый http-запрос? есть ли напряжение в блоке питания?
Юра (Юрий Александрович)
Это один из тех моментов, которые нужно будет оговорить/согласовать.
Evgeny
просто пингует
а внутренний айпишник откуда берется? ну, в смысле, как "фаерволл" понимает, какой айпишник пинговать? это в запросе передается? или в запросе передается имя сервиса, а он из какой-нибудь базы берет, какой айпишник этому имени соответствует?
Evgeny
да в запросе спрашивается типа "пингуется ли 192.168.120.03 ?"
ну ок. напиши такой сервис. можешь на го написать. он же тупой как пробка, хттп-сервер, отвечающий на один get запрос вида /ping/{ip}
Юра (Юрий Александрович)
По сути "сервис 1" - вообще не является частью системы, Сервис будет в системе только один: сидящий за фаерволом на сервере с белым IP. файрвол и сервис нужно рисовать отдельными квадратиками, т.к. это совершенно разные элементы. Сервис (без номера, потому что первый и единственный), будет принимать из внешнего мира http запрос, как его и описал Evgeny и отвечать на него в зависимости от того, пингуется ли тот айпишник, что указан в запросе, или нет. (а запрос можно посылать любым http-клиентом) Это в простейшей реализации.
Maks
Кстати вы в докер базы данных на проде засовываете?
Vladislav
но для дев-окружения в основном
Maks
ну так это понятно)
Maks
я про боевой спрашиваю
Maks
на хайлоадах говорят что бд не нужно в докер пихать в принципе
Vladislav
в проде или managed, или STS в кубере
Maks
вообще
Maks
типо база должна быть отдельно стоять
Maks
потому что в докере она типо медленнее и масштабирования боль
Maks
именно бд
Vladislav
смотря какая база
Maks
репликации всё такое
Vladislav
постгрес я бы менеджед просто взял
Vladislav
no-sql всякие в кубер и STS
Vladislav
скорее всего даже какой-то готовый оператор заюзать
Vladislav
так-то оно конечно боль это контейнеризовать, но для кубера уже полно готовых решений
Vladislav
в виде операторов и хелм-чартов
Denis
подскажите плиз, как в float64 проверить данные после точки? К примеру 3.14. Хочу получить правую часть или понять есть ли что справа вообще? Без колхоза ввиде приведения к string, потом split по точке и т.п.
Vladislav
но затея в целом скверная
Denis
Мдэ
Vladislav
самое главное, что делать с информацией есть ли у числа дробная часть в десятичной записи?
Vladislav
там может набежать ошибка, связанная с внутренним устройством дробных чисел https://0.30000000000000004.com/
Denis
Пакетов по работе нету да?
Vladislav
лол
Vladislav
скоро пакет будет нужен, который 2+2 делает
Denis
Ну в math не нашел ничо
Vladislav
Ну в math не нашел ничо
а вы искали вообще? https://pkg.go.dev/math#Floor
Denis
Попробую
Denis
Спасибо
Vladislav
или https://pkg.go.dev/math#Trunc
Vladislav
в зависимости от того, что считать целой частью
Юра (Юрий Александрович)
А целую где брать?
Floor - это максимальное целое число, которое меньше либо равно исходному, Trunc - просто отбросить дробную часть. Для положительных чисел результат одинаковый, для отрицательных отличается на 1, так что смотреть по ситуации
Юра (Юрий Александрович)
и еще один момент: насколько меленьким может быть это "что-то после запятой", чтобы считаться, что оно там есть.
Alexander
🌠 Предотвращаем утечки памяти в Go, ч. 2. Особенности рантайма Мы продолжаем наш рассказ о причинах повышенного потребления памяти в языке Go. В предыдущей статье мы детально разобрали ошибки бизнес-логики приложения, которые могут привести к утечкам памяти. Сегодня же сосредоточимся на особенностях рантайма языка Go. Привет, Хабр! Меня зовут Виталий Исаев, я занимаюсь бэкенд-разработкой в компании МойОфис. При отладке утечек памяти в Go у программиста в какой-то момент может возникнуть ощущение тупика. Все тривиальные ошибки бизнес-логики проверены, но утечки продолжаются, и что дальше делать — непонятно. Это означает, что пора переходить к исследованию особенностей рантайма и того, как они проявляются в конкретно взятой программе, работающей под определённой нагрузкой. Рантайм Go — сложная, постоянно развивающаяся конструкция, в которой непросто разобраться, но мы постараемся выработать общие рекомендации по решению проблем, связанных с повышенным потреблением памяти. Читать дальше 1 часть @Golang_google
https://www.google.com/amp/s/habr.com/ru/amp/post/676960/
Alexandra
#вакансия #vacancy #Go #Golang #фуллтайм #fulltime #remote #удаленка Всем добрый день! Ищем Go-разработчика с опытом на Go от 2х лет (совокупный опыт разработки от 3х лет) Формат работы: удаленная работа Занятость: фуллтайм З\п: до 320 000 руб на руки Оформление по ТК, ДМС Задачи Проектирование, разработка, отладка и поддержка микросервисов на Golang; Улучшение производительности микросервисов; Написание unit тестов; Code review Твои знания/навыки: Опыт разработки на Go от 2 лет; Опыт использования реляционных баз данных, умение писать и оптимизировать SQL-запросы; Уверенный пользователь *nix систем; Понимание контейнеризации (docker); Понимание принципов REST; Понимание принципов ООП, архитектуры приложений Плюсом будет: Опыт работы с Java, Spring boot; Опыт написания микросервисов, понимание микросервисной архитектуры; Опыт работы с GraphQL; Опыт работы с NoSQL-системами; Опыт работы с PubSub-системами и брокерами сообщений Контакты: @AlexandraAndrianova
postal
здраствуйте как в го можно импортировать константы с другого файла
Sergey
здраствуйте как в го можно импортировать константы с другого файла
В пространстве имён go нет понятия "файл", есть понятие package. Константы импортируются так же, как другие сущности: импортируется пакет и если константа в нём начинается с заглавной буквы, она будет доступна Внутри одного package доступны все сущности, даже если они в разных файлах описаны
Максим
Кто-нить юзает Glade ? Где под него можно накопать стилей или готовых шаблонов?
Grisha
Коллеги, подскажите как принимать пустой массив вместо пустого объекта. https://go.dev/play/p/GChYXGQEVEs Когда данные есть - проблемы нет, но вслучае если данных нет приходит проблема
🅞leksiy
Все, неверно прочитал
🅞leksiy
Нужно чтобы и массив и объект с одного поля читало?
🅞leksiy
Если только массив, то Data []string, например. Если прийти может либо массив либо объект, то, наверное, в интерфейс лучше получать, а там уже разбираться
Grisha
Нужно чтобы и массив и объект с одного поля читало?
Масиив там только если данных нету, это пыха так энкодит json. По сути массив если можно просто игнорить
🅞leksiy
https://go.dev/play/p/Qdq6DWZMFeC
Grisha
https://go.dev/play/p/Qdq6DWZMFeC
Тоже ничего, я уже через интерфейс сделал
Grisha
https://go.dev/play/p/E4E9_0s23v7
🅞leksiy
Только оно не работает
🅞leksiy
Тайп ассерт не сработает на "data": {"bla": "bla2"}
Grisha
Ой не заметил чтот
Grisha
Еще и в ошибку его засунул
Grisha
А почему ассерт не срабатывает?
Grisha
Понял он не надеется что там стринги, а ставит map[string]interface {}, нужно две проверки
wagner
никто не подскажет библиотеку для генерации красивых и настраиваемых QR кодов чтобы всё было из коробки?
wagner
Я бы копал в сторону api =)
был бы я джуном, сделал бы api
Grisha
был бы я джуном, сделал бы api
снимаю шляпу коллега
Tossadar
zlib.NewReader при чтении возвращает распакованный континт по кускам помере распаковки или целиком когда закончит все ?
Tossadar
Вопрос снят. Там Рид фул внутри
Null
🌅 Lua конфигурация Neovim для разработки на Go В процессе знакомства с Neovim было прочитано много статей, конфигураций на Github, было просмотрено огромное количество роликов на Youtube на тему настройки, но в большинстве случаев приходилось донастраивать все под себя. В этой статье я расскажу как я настроил Neovim для разработки на Go, используя только Lua плагины и init.lua. Эта статья может быть полезна тебе, если: пишешь на Go есть конфиг на Vimscript, но хочется на Lua хочется пересесть с тяжелых современных IDE или текстовых редакторов, таких как Goland, Vscode и других, на Neovim Смотреть @Golang_google
Shaplin
Сори что не в тему, но кто-нибудь знает где можно найти видео-материалы Golang conf/Highload прошлых годов?
Dmitriy
Что-то было про Питер
Grigorij
в питере пить
Kaban4ik
Кто что использует для Андройда ? Fyne.io ?