Илья
Читал об этом. Есть вариант на флешки, но ее дорого купить и на жестком диске пк?
Alexander
electrum поставь и все
Oleksandr
https://bithost.io/
Наценка 40%. Вкусно)
e
haha own status codes goes brrr
INFO: this is copy-paste from net/http/status.go. bruh momento
Илья
electrum поставь и все
Я правильно понимаю, это некое ПО, кошелек будет открыт на ПК, и у меня будет возможность с пк переводить на другой кошелек и также пополнять?
Alexander
да
Vladislav
кошелёк это просто приватный ключ по сути, которым транзакции подписываются и всё
Vladislav
владеешь ключом - владеешь средствами
Илья
Спасибо🙏 Сейчас буду разбираться)
Segmentation
А кто-нибудь использует какой-нибудь инструмент для автоматического формирования changelog по conventional commits? Не могу найти ничего такого(
Ребят, сколько вы учили голанг?
Ребят, сколько вы учили голанг?
чтобы быть компитентными и не заглядывать в руководство?
Кіт ✙
очень размытая формулировка
Окей, вопрос такой, насколько хорошо вы знаете голанг, именно изнутри и какие способы оптимизации кода вы знаете.
Кіт ✙
¿Меня просто часто беспокоит, когда будет достаточно
достаточно не будет никогда, смирись
Mark 𓁹
Согласен
Mark 𓁹
Там можно очень много оптимизаций сделать, зависит от алгоритма. По этому и существует 100+ видов сортировки массива
Mark 𓁹
Главное утечек памяти не допускать, а остальное будет от архитектуры зависить
Кіт ✙
оптимизации вообще не нужны. А кому нужны - те и так индигу используют
Кіт ✙
Никто получаец?
ну да. Я ж говорю, "оптимизации вообще не нужны"
Mr.
Привет всем! Товарищи, кто как ретраи делает, если к базе законнектиться не вышло с первого раза? Я написал свой велосипед с рекурсией, оно вроде даже работает, но интересно посмотреть, мб есть какие то более красивые способы
Mr.
Вот код если кратко, мб покритикуете как то, я только начал в го func pgConnection(maxRetries uint8, countOfRetries *uint8, dbLink string) *sql.DB { var db *sql.DB var err any db, err = sql.Open("postgres", dbLink) if err != nil { *countOfRetries += 1 if *countOfRetries > maxRetries { fmt.Printf("Failed to connect to database... exit") os.Exit(1) } fmt.Printf("Failed to connect to database... retry %v\n", *countOfRetries) db = pgConnection(maxRetries, countOfRetries, dbLink) } return &db }
Mr.
Илья
повторная попытка подключения не сработает 1) закинь в цикл 2) Open к бд не подключается, проверяй через Ping
Mr.
Ping это метод в какой либе юзать?
И просто пинговать до адресса странно как то, или как? Вдруг на адрессе поднята впска а бд ещё не развернуло? Бд просто в контейнере и бывает что вроде контейнер подняло, а бд ещё готовит
Vladislav
Ping это метод в какой либе юзать?
https://pkg.go.dev/database/sql#DB.Ping есть же дока
Илья
Пасиба
возможно так будет лучше
Andrey
возможно так будет лучше
а смысл такого фора?
Илья
а смысл такого фора?
не знаю, я без него делаю
Mr.
а смысл такого фора?
менять количество ретраев максимальное переменной окружения/конфигом
Илья
а зачем каждый раз компилировать
Vladislav
а зачем каждый раз компилировать
чтобы обогревать комнату
Andrey
а как вы делаете?)
коннектор успешный, потом горутину запускаю на проверку
Mr.
а как вы делаете?)
я просто на джсе тоже костыль с ретраями писал и оно работает как бы, но я джун и не видел как оно должно быть, вполне могу придумывать дебильные костыли и изобретать новые велосипеды
Mr.
коннектор успешный, потом горутину запускаю на проверку
хммм... звучит прикольно и логично, пасиба. Наверн уже наглею, но код можно посмтреть?)
Mr.
код NDA
Понял, спасибо
Mr.
пойду тогда костыли писать и вас доставать их проверкой)
Andrey
а зачем запускать горутину?
сервис может работать в простое, обращений к базе нет постоянных. база отвалилась, а с таким кейсом ты отвал коннекта можешь только через 12 часов заметить
Илья
то есть healthcheck?
Mr.
но мне в хелфчек смысла нет
Mr.
прога просто миграции кидает в базу
Илья
возможно так будет лучше
понял, я думал про горутину при подключении к бд
Mr.
прога просто миграции кидает в базу
Я кстати хз, с одной стороны накатывание миграций можно положить в контейнер, что бы было удобней разворачивать просто через docker-compose build docker-compose up С другой стороны накат миграций не нуждается жестко в контейнере и всё равно вопрос 5ти минут, а не сервис целый, так что в теоррии можно было бы и с хоста проворачивать, одна лишняя комманда вряд ли повредит
Mr.
Мне вообще было бы неплохо на нормальный человеческий бэк посмотреть как люди делают, а то наделаю сейчас тут мультиварки-велосипеды из костылей
Vladislav
прога просто миграции кидает в базу
Для миграций там пакет есть
Mr.
Для миграций там пакет есть
https://github.com/golang-migrate/migrate юзаю
Vladislav
https://github.com/golang-migrate/migrate юзаю
а нафига тогда коннект готовишь? там же в примере 2 строчки всего
Vladislav
точнее одной хватит, если нужно просто апнуть
Mr.
а нафига тогда коннект готовишь? там же в примере 2 строчки всего
Там с клиентом можно, я просто им думал что можно проверять заодно поднята ли база
Vladislav
ну и нафига? бери верхний и просто проверяй результат, не прокатило - повторяй
Mr.
Понял, пасиба, тоже вариант наверн
Как тогда сделать лучше? Миграции обернуть в бесконечный цикл и если ошибки нет -- разорвать его?
Vladislav
в любом же случае проверять результат выполнения
Vladislav
Там с клиентом можно, я просто им думал что можно проверять заодно поднята ли база
собсна сорцы рядом, просто открываешь и смотришь в чем разница
Tony
Подскажите, можно как-то из кода понять, что идет режим отладки в vs code? типа if mode.debug {} else {}
Nikhil
Nikhil
HELP is needed, I am getting errors regarding go packages. Images have all the details. Please help if you notice the cause of the error.
Nikhil