Zver
Я вообще не понял что вы сделали. горутина у вас пустая. В принципе нужно было обернуть код, который у вас извлекал данные из результирующего канала, горутиной. И переместить выше запихивания данных в джоб. Так же создать один канал для ожинания окончания получения данных из результирующего канала.
Rinat
о теперь яснее
Rinat
похоже с каналами никак не пойму)
Rinat
https://github.com/Gasoid/bugzilla_report/blob/master/report.go#L151
Zver
Вообще вот неплохое разжевывание материала https://blog.golang.org/pipelines
Rinat
о спс)) теперь норм
Мерль
Кто-то смотрел "net/textpoto"? Зачем оно?
Kirill
для базовой поддержки текстовых протоколов
Iurii
https://groups.google.com/forum/m/#!topic/golang-ru/skJaXfAsxs8
Dima
Ребята, можно поделиться ссылкой на моего опенсорц-go-powered бота, чтобы его потестили? Вы же не против? https://telegram.me/DokkyBot
Anton
Он content в виде картинки показывает?
Dima
Ага.
A.
Прикольно
Мерль
Не стареющая #классега
Kirill
Не стареющая #классега
да вот не получается туда это пронести, блин. придется на уровне кастомного пакета это все делать.
Iurii
Да
A.
Поллбот так и не умеет инлайн кнопок?
A.
Мдауж
A.
Хотя это имеет определенный смысл
Valery
Зачем он нужен, когда есть @vote
Billyfbrain
Да
Daniil
/2
Мерль
[last news] Persistent cookies in GO
Мерль
[last news] Pr0n Android app written in Go
Constantine️
ахаха
Constantine️
нормально ))
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
посмотрел видосик про то как стоило бы хэндлить ошибки в go. Не могу избавиться от ощущения костыльности: ощущение, что переизобретают исключения...надо обрабатывать один раз, стектрейс, в чем отличие от исключений? https://youtu.be/lsBF58Q-DnY
Anatolii
от ошибок в го двоякое ощущение
Anatolii
с исключениями беда что люди их просто выше пробрасывают
Anatolii
и забывают что нужно сделать с ними
Anatolii
и если вдруг в исключении есть какая-то логика
Anatolii
а не просто логирование то со всем этим тяжко жить
Anatolii
с ошибками - ты явно видишь где произошла ошибка и каков контекст
Anatolii
мне такой подход кажется бодее правильным
Anatolii
https://danluu.com/postmortem-lessons/
Anatolii
просто в го это через чур явно сделано:)
Anatolii
довольно таки часто мы пишем код в котором при ошибке нам нужно вернуть ее
Anatolii
и ничего не делать
Anatolii
если тебе интересно, можешь глянуть как в хаскеле сделаны Maybe/Either монады
Anatolii
не надо писать if err на каждом шагу
Anatolii
но если нужно обработать ошибку
Anatolii
ты рядом пишешь обработку, именно в той строке в которой она возникнуть может
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Я не о ошибках вообще, а о этом докладе. Просто идеология "прокидывай на верх и обрататывай один раз" - как раз идеология исключений. И посему - у меня ощущение костыльности. Ибо не вижу разницы с исключениями при таком подходе.
Anatolii
я понял, я доклад не смотрел
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Ты уже ответил и запорол мой указатель 😄😄😄😄
Anatolii
все, я понял
Anatolii
я думал ты там или фак или петлю поставил
Anatolii
и не могу понять:)
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Ой реально 🖕, а хотел 👆😁😁😁 получился наглый указатель
Zver
Один раз обработать это хорошо. А то по десять раз на одну ошибку IFов писать приходится. Надо глянуть в живую на подход. А ошибку все равно обрабатывать придется. Под исключением она просто может затеряться, может банально забыть, что где-то там внутри может сгенериться исключение, особенно с чужой либой.
Daniel
а затеряться может RuntimeException, который аналог нашего panic
Zver
Еу тут хотя бы видно, что что-то проглотил, а с исключением не видно, а если оно там вообще в глубине сидит, то и забудется, пока не случится.
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Го поговорочка номер последняя от пайка "don't Panic" 😂😂😂 кстати, его доклад прикольный был
Daniel
еще раз - все эксепшены, кроме Runtime, нельзя забыть, ты должен или поймать его, или объявить в контракте метода
Daniel
да
Zver
А в других не так.
Daniel
в других эксепшены фуфло
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
в других эксепшены фуфло
в C++ вообще std::unexpected хэндлер есть, который необработанные исключения получает. Но мало кто о нем знает и это еще один способ отстрелить себе всё
Zver
Это не решение не обработанные получать, может там ошибка раз в год вылазить будет, только тогда и обнаружится, что где-то эксепшн какой-то не обработали.
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
в других эксепшены фуфло
В Питоне они тоже ништяк, но питон - медленный
Billyfbrain
Да в Питере ваще норм)
𝕲𝖎𝖗𝖆𝖋𝖋𝖊
Vladimir
Люди, сглатывающие ошибки в го в _ должны четвертоваться на центральных площадях городов :)
Zver
Ну с ошибкой можно так же или я не прав? (Доклад ее успел глянуть)
Посмотре библиотеку про которую на докладе говорили, в общем ничего не меняет, продолжаем жить дальше по прежнему.
Daniil
еще раз - все эксепшены, кроме Runtime, нельзя забыть, ты должен или поймать его, или объявить в контракте метода
А можешь отловить и не обработать, что сути не изменит. По-моему у яверов сейчас модно говорить про то что чекед эксепшенс это зло вообще.
Daniel
отловить и не обработать - это ровно тоже, что ошибку в _ принять
Daniel
а с эксепшенами вот какая херня
Daniel
хороши они только такими, какими они сделаны в яве
Daniel
но работа с ними - такой же гемор, как и наш if err != nil
Daniel
поэтому мы тут про ошибки говорим, что они зло, а яверы - про чекд эксепшнс
Vladimir
а в чем собсно проблема с err != nil?
Vladimir
в С всю жизнь так ловили, и ничего
Daniil
там еще и через errno