G
Писал же уже про nagiosы и прочие zabbixы, ну
Юра (Юрий Александрович)
Я даже не знаю, что в таком случае будет полезнее: написать свою простейшую систему мониторинга, или разобраться в подключении стандартной. Наверное нужно сделать и то и то.
Юра (Юрий Александрович)
Evgeny
Вот такой вещь хочу сделать
а "проверка" что проверяет? пингуется ли айпи? отвечает ли на образцовый http-запрос? есть ли напряжение в блоке питания?
Юра (Юрий Александрович)
Это один из тех моментов, которые нужно будет оговорить/согласовать.
Aziz
Evgeny
просто пингует
а внутренний айпишник откуда берется? ну, в смысле, как "фаерволл" понимает, какой айпишник пинговать? это в запросе передается? или в запросе передается имя сервиса, а он из какой-нибудь базы берет, какой айпишник этому имени соответствует?
Aziz
Юра (Юрий Александрович)
По сути "сервис 1" - вообще не является частью системы,
Сервис будет в системе только один: сидящий за фаерволом на сервере с белым IP.
файрвол и сервис нужно рисовать отдельными квадратиками, т.к. это совершенно разные элементы.
Сервис (без номера, потому что первый и единственный), будет принимать из внешнего мира http запрос, как его и описал Evgeny и отвечать на него в зависимости от того, пингуется ли тот айпишник, что указан в запросе, или нет. (а запрос можно посылать любым http-клиентом)
Это в простейшей реализации.
Maks
Кстати вы в докер базы данных на проде засовываете?
Vladislav
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
Vladislav
но затея в целом скверная
Юра (Юрий Александрович)
Denis
Мдэ
Vladislav
самое главное, что делать с информацией есть ли у числа дробная часть в десятичной записи?
Vladislav
там может набежать ошибка, связанная с внутренним устройством дробных чисел https://0.30000000000000004.com/
Denis
Пакетов по работе нету да?
Vladislav
лол
Vladislav
скоро пакет будет нужен, который 2+2 делает
Denis
Ну в math не нашел ничо
Denis
Denis
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, например. Если прийти может либо массив либо объект, то, наверное, в интерфейс лучше получать, а там уже разбираться
🅞leksiy
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 кодов чтобы всё было из коробки?
Grisha
Grisha
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 прошлых годов?
Emin Zalaev
Dmitriy
Что-то было про Питер
Grigorij
в питере пить
Kaban4ik
Кто что использует для Андройда ? Fyne.io ?