
Sliva
20.07.2018
11:14:03
Кстати, а какой-нибудь простенько й онлайн архиватор
?
Получиться написать?

V
20.07.2018
11:15:30
все получится, если сильно захотеть

Google

Sliva
20.07.2018
11:16:12
Согласен

many-faced
20.07.2018
11:16:40

Sliva
20.07.2018
11:20:03
Почему? Человек едет в метро и ему надо файл отправить большого размера, а он с телефона
Заходит на сайт, он архивируют и по почте отправляет

many-faced
20.07.2018
11:20:53
ага, закачивает файл, скачивает архив.. чем просто локально зипнуть

Алексей
20.07.2018
11:21:07

many-faced
20.07.2018
11:21:08
реально дичь.
если это видео то жаться не будет а если текст то он не будет 1 гиг весить

Alexander
20.07.2018
11:23:46

Алексей
20.07.2018
11:24:23

Alexander
20.07.2018
11:24:37
вы про исключения?

Andrei
20.07.2018
11:24:43

Алексей
20.07.2018
11:24:53

Google

Andrei
20.07.2018
11:25:13
вы про исключения?
можно исключениями, можно написать обертки и избежать бесконечного дублирования кода

Stanislav
20.07.2018
11:25:16
от эксепшенов го бы не стал хуже, конечно

Алексей
20.07.2018
11:25:55

Alexander
20.07.2018
11:26:03
ну такое, в десятки раз это код не увеличивает

Andrei
20.07.2018
11:26:18

Stanislav
20.07.2018
11:26:18
увеличивает в три раза

Alexander
20.07.2018
11:26:35
если у вас все исключения обрабатываются на самом верхнем уровне - у вас для них должен быть очень серьезный обработчик

Алексей
20.07.2018
11:26:43

Stanislav
20.07.2018
11:27:02
лан че спорить всеравно ничего не изменится. для нормальных людей на го пока нельзя писать

Andrei
20.07.2018
11:27:08
увеличивает в три раза
в 3 раза только в одном месте, а если у тебя вложенные вызовы? и на каждом уровне ты прибавляешь еще по 3 строчки

Алексей
20.07.2018
11:27:13

Stanislav
20.07.2018
11:27:37

Алексей
20.07.2018
11:28:37

Alexander
20.07.2018
11:29:15
тогда надо писать обработчики на промежуточных уровнях, а это тоже код, получается

Alexandr
20.07.2018
11:29:52

Andrei
20.07.2018
11:30:09

Алексей
20.07.2018
11:30:13

Stanislav
20.07.2018
11:30:20
ну в динамике вроде питона просто можно забить на ошибку совсем, и прикол что мы просто получаем маловероятные ошибки иногда, но сохраняем основной код чистеньким. а игнорировать err в го мы не можем
если реально придумать линтер для питона и костылить все возможные nil то получается примерно как в гошечке, кек. но в этом случае помог бы растовый monadic errors т.е. Result

Алексей
20.07.2018
11:31:20
Хотя тут аккуратнее это обсуждать надо, а то я уже read only получал за мои возмущения по поводу ручного проброса ошибок

Google

Andrey
20.07.2018
11:31:22

Andrei
20.07.2018
11:31:43
я уже молчу про патерн матчинг и прочие прелести нормальных языков

Алексей
20.07.2018
11:32:09

Stanislav
20.07.2018
11:33:28
в бизнес коде питона это нормально запросить базу и обработать случай если значения нет, всякие валидации. тупо получается лапша из условий да, но это бизнес условия, тут нет чернухи на каждый чих если например конекшен оборвался
хотя да, можно выбирать между эксепшенами и нил

Алексей
20.07.2018
11:33:50

Stanislav
20.07.2018
11:33:53
вобщем СЛОЖНО

Andrey
20.07.2018
11:34:35
мне больше всего conditions&restarts нравится из систем обработки ошибок
но я не настоящий сварщик

Алексей
20.07.2018
11:36:42

Andrey
20.07.2018
11:38:21
функция открытия файла и не обрабатывает ошибки никогда
это для любого языка так

Алексей
20.07.2018
11:38:52
да, она их возвращает
Вот только код, вызывающий её, тоже не всегда знает что делать с ошибкой.
И ему приходится её возвращать
И так далее
И в Go это реализовано самым худшим образом

Andrey
20.07.2018
11:40:22

Google

Andrei
20.07.2018
11:40:58

Andrey
20.07.2018
11:40:59
если это библиотечный код, то он должен генерить свою ошибку

Алексей
20.07.2018
11:41:12

Andrey
20.07.2018
11:41:15
и это опять же безотносительно языка

Алексей
20.07.2018
11:41:36

Andrey
20.07.2018
11:41:42

Алексей
20.07.2018
11:42:06
в той же джаве к примеру здоровенные стектрейсы, то есть эксепшен может нихреновый такой путь на верх проделывать

Andrey
20.07.2018
11:43:00
с exception'ами точно такая же история

Алексей
20.07.2018
11:43:48

Admin
ERROR: S client not available

Andrey
20.07.2018
11:44:27
Если бы исключения были единственно правильным методом, то его везде давно бы внедрили

Алексей
20.07.2018
11:44:30
Так что ситуация когда надо тупо пробросить наверх ошибку не такая уж и редкая

Andrey
20.07.2018
11:45:30

Алексей
20.07.2018
11:46:36

Andrey
20.07.2018
11:46:50
ну или windows exception 0xХЗЧТОЭТО

Алексей
20.07.2018
11:47:17

Andrey
20.07.2018
11:47:39
это exception, который наверх вам пробросили. гадайте

Google

Алексей
20.07.2018
11:48:00
и чем это так отличается от Go (это error даже без стектрейса, который наверх вам пробросили, гадайте)

Andrey
20.07.2018
11:48:42
ну ладно, memory could not be read вас устроит? ещё один exception

Алексей
20.07.2018
11:49:08
и что это за эксепшены в вакууме?

Andrey
20.07.2018
11:49:26
с исключениями ровно та же история

Алексей
20.07.2018
11:49:56
Прям всегда надо чтоли?

Andrey
20.07.2018
11:50:06
вы что, никогда падающий питон скрипт не отлаживали?

Алексей
20.07.2018
11:50:36
отлаживал, ничего страшного в этом процессе я не увидел

Andrey
20.07.2018
11:50:40
выдаст он вам стек трейс, а наверхе no such file or directory
и гадай, что там за файл он хочет

Алексей
20.07.2018
11:51:11
ну так по стектрейсу на самый низ спустится можно, хоть под отладчиком туда зайти

Andrey
20.07.2018
11:51:51
а всё потому, что чувак, который open вызывает, не обрабатывает исключения, и не оборачивает их в "Failed to open file.txt: no such file or directory"

Алексей
20.07.2018
11:52:22

Andrey
20.07.2018
11:52:27
или обработка гораздо выше, где инфа про файл уже потерялась
и в го не везде надо
но не рекомендуется

Алексей
20.07.2018
11:53:44
с оборачиванием или без - вообще не важно, всегда приходится, или на месте обрабатывать, что не всегда возможно

Andrey
20.07.2018
11:54:43
ну. не пользуйтесь го, что я могу сказать

Алексей
20.07.2018
11:55:04

Andrey
20.07.2018
11:55:36
непонятен ваш посыл просто, что так трудно ошибку пробросить?