Alexander
в мейне допустим делаешь канал для ошибок и передаешь везде, потом select между ним и каналом, который сигтерм слушает
DI
Никто не сталкивался с ошибкой 405 когда делаешь запрос PUT на апи?
Делаю запрос через client.Do, но что т как то всегда один ответ
DI
Отсылаю через postman - все норм
Vladislav
Alexander
проблема в том, что таким паником ты не даешь закрыть все ресурсы нормально и какие-то вещи чтобы отработали. к примеру файлик юникс сокета не удалится, если ты паник сделаешь в другом треде
Vladislav
Alexander
ну или там чтобы у тебя слилась инфа с тех мест, где ты стату какую в приложении накапливаешь
Alexander
не так
Alexander
деферы отработают только в текущем треде
Vladislav
Alexander
у тебя однопоточное приложение на го?)
Vladislav
в конце его можно заловить и завершить app корректно
Alexander
бле
Alexander
я же говорю)
Alexander
паники не перехваютываются кросс горутинно
Vladislav
Alexander
а как остальные узнают, что им надо закрывать ресурсы?
Vladislav
это и в других языках с исключениями всё так же
Alexander
в других языках
Vladislav
Alexander
ну хватит опыт из других языков переносить в го пытаться. ну уже нет мочи
Vladislav
но panic - один в один как исключения же
Vladislav
чуть менее удобно его ловить, но в этом и вся разница
Alexander
это очень плохой стиль паниковать, лог фатал не в главной горутине
Alexander
и я уже пример приводил: открыли юникс сокет в другой горутине, файл юникс сокета не удалится
Tarlan
Ребят, не могу найти пример библиотек, где на вход получает подсеть(1.1.1.0/24, пример) и какой-либо порт и возвращал найденные узлы сети
Z
Maks
DNS_PROBE_FINISHED_NXDOMAIN
Maks
Не успел на го переписать)
Maks
домен не доступен
Alexander
По айпишке мб работает? Могут же логи какие сохраниться
Maks
Уже вроде жеж нельзя
Maks
А парился ради интереса парсер намутить многопоточный с многопоточной загрузкой. Ну или многопроцессной как я до этого делал)
Z
Tarlan
грасиас
но немного не то
решил использовать ParseCIDR + netDialTimeout
Z
Кстати да. Уже скачиваю
ARTEM
Что вы там все скачиваете
Vladislav
Anonymous
кого и что прилепить?
Alexander
лицерука, сейчас
Vladislav
в котлине, например, это легко делается:
fun String.getRightHalf() = substring(length / 2)
Vladislav
в Го такого похоже не достичь
Vladislav
хотя синтаксис позволяет
Maks
Потому что ты не понимаешь как в го работают пакеты и для чего это сделано
Alexander
https://go.dev/play/p/5ZTecYGxf1C
Vladislav
Maks
он построен таким образом, что бы уменьшить возможность написания говнокода
Andrey
Вот всегда поражаюсь людям, которые прибегают с других языков и начинается: тут не то, там не так, а вот в другом языке можно... Идите обратно, че пришли то тогда
Vladislav
Бомбит просто от того какой убогий язык и откуда такая популярность
Vladislav
ладно пойду дальше мучаться
Maks
Очень смешно. Половина кода проверки на ошибки, постоянные циклы и копипаста
1. Постоянные циклы это что? Оно разве не во всех языках так?
2. Копипаста это только потому что ты не знаешь как правильно строить пакеты.
3. Проверки на ошибки - единственный бич. НО! Эти проверки на ошибки помогают сделать код более однозначными, ты всегда знаешь где и как оно работает, какие ошибки где возникли. Обработать их более однозначно и точно.
Anonymous
а ты читал про пакеты в го?
Vladislav
Anonymous
а, ему уже написали
Alexander
а что надо? взять чужой пакет и подменить метод, который не подразумевает подмены?
Vladislav
Vladislav
extension method
Vladislav
во многих языках такая концепция есть
Alexander
разве нельзя? я так не делаю, ибо это треш будет: пришел на проект, там дергают какой-то метод. ушел в другой - метода нет, wtf?
Vladislav
в C#, Kotlin, Rust, JavaSript, Ruby, Python ...
Anonymous
Vladislav
хотел быстро накидать себе такую либу, а не прокатило (
Alexander
Maks
extension method
да, в шарпе есть я юзал это там. Например можно интовым типам переменных добавить метод возведения в степень или проверки его на четность. Однако го старается следовать солиду на уровне языка в некоторых моментах. И по этому если тебе нужно расширить какой то базовый класс - то ты делаешь новый тип основанный на нужно тебе типе и используешь его там где надо.
Anonymous
чел с пайтона пришел и недоволен что тут нет на все готовых либ(((
Alexander
Alexander
Anonymous
ты на питоне писал