Belka
нет, он как раз и находит этот несуществующий пакет
Илья
возможно это зависимость другого пакета
Belka
Я в этом модуле, который импортирую себе, решил обновить тег в go.mod, после этого сделать go.mod tidy и тут он уже ругается, что не хватает этого удаленного пакета
Ron Mount
Попробуй ебануть go clean -modcache
Fgyutr
всем привет такой вопрос
как можно проверить подключение к бд postgresql sqlx
Fgyutr
так лучше)
Larchenko
Fgyutr
Подключиться через консоль
у меня имееться 2 сервера бд и надо сделать так что бы при отсутствии подключения к 1 бд я писал данные на другую а потом та перешлёт по репликации
Larchenko
Илья
Илья
под капотом пингует
Larchenko
Я хз почему оно пингует после
Fgyutr
Fgyutr
а так ему тип пифиг
Илья
Илья
Fgyutr
Database, err := sqlx.Open(postgres, connect_str)
Fgyutr
Fgyutr
Илья
Илья
sql.Open тоже только создает структуру
Grigory
у меня такая строка для открытия конекта
Это не коннект создаётся, а пул коннектов, в нем не обязательно в любой момент времени должен быть поднятый коннект, пингани после открытия, это создаст коннект и проверит что твои настройки соединения позволяют достучаться до бд
Grigory
Alexander
100500 постов о том, как сделать Open и Ping, или Connect в sqlx *лицерука*
Alexander
Alexander
вот вам задачка поинтереснее: как понять, что упираешься в конкуретный доступ к ресурсам без замера времени получения и аккумуляции статистики? вот есть у меня переменная защищенная (рв)мьютексом, например, как понять, что на получение мьютекса тратится какое-то значительное время и стоит переосмыслить этот кусок кода?
Alexander
вот есть такой заумный доклад, допустим: https://www.youtube.com/watch?v=9CFbBoMvl48
Все здорово, но как мне понять, что надо что-то делать из озвученного?
Alexander
цпу на ожидание не тратится, и собственно в профилях этого не увижу
Denis Pershin
Denis Pershin
Там вроде что то подобное было с локами, выявляли где блокируется больше всего
Null
🛠 Сканер портов, написанный на GO
gPScan — это простой инструмент командной строки для проверки того, открыты или закрыты определенные порты.
Чтобы установить/собрать бинарный файл, убедитесь, что у вас установлен компилятор go.
git clone https://github.com/alexpfaller/gPScan
cd gPScan
sudo make build
https://uproger.com/skaner-portov-napisannyj-na-go/
Github: https://github.com/alexpfaller/gPScan
@Golang_google
Feofan
Ребята, а есть какие-то инструменты, средства для тестирования тср каналов? Вот прям так из коробочки.
Илья
Рик
Alexander
да ладно, нормально так писать, если не может быть -fa, -afs и так далее
Emin Zalaev
Oleg
Я писал, вопросы?
Если ты реально автор, то
1) логику сканирования одного порта выдели в метод
2) используй пакет для работы с аргументами командной строки, чтобы не хардкодиться на их позиции
3) гоняй тестирование портов в горутинах чтобы можно было асинхронно работать с несколькими портами
4) скорость работы регулируй не сном в конце, а количеством рутин + троттлингом запускатора рутин по времени, либо явно выведи sleep time как аргумент командой строки.
Причешешь и будет прикольная тулза :)
1
АХАХАХАХАХАХА
ну там есть документация, порт это либо порт либо параметры
Artur
Alexander
Oleg
Рик
Alexander
3) гоняй тестирование портов в горутинах чтобы можно было асинхронно работать с несколькими портами - если это так, то печаль
Илья
Илья
и без timeout, по 30 секунд может висеть
Alexander
Maks
А его разве не заблочат если все юзать начнут
Emin Zalaev
Голодные игры
Maks
Maks
условно вот такие таблицы
Maks
и там надо из первой выбрать только те, которые во второй сейчас имеют статус PROCESS
Maks
Чота туплю
Maks
Как без сабселектов
Maks
Нука))))
Alexander
Илья
select id
from quest
join quest_status USING(id)
where status = 'PROCESS'
?
Илья
where можно вставить в join ON
Maks
Илья
по quest_id?
Anonymous
хорошо, если ты хочешь получать последнее новейшее значение то должен работать с таймстапом, no?
Айрат
order by в этой бд отменили чтоль?
Anonymous
ну вот я бы сделал
select ... from ... where ... order by timestamp
Илья
Илья
можно вынести состояния в таблицу и находить через MAX()
Mark
Не, всё равно не выйдет
Alexander
Alexander
SELECT fields FROM a
INNER JOIN b ON ...
WHERE status = "ЗБС"
Alexander
????????????
Alexander
в чем вопрос то?
Maks
Ты получишь всех у кого когда либо был статус ЗБС, а нужно что бы сейчас текущий статус был ЗБС
Maks
Тут без сабселекта не обойтись