All streams
Search
Write a publication
Pull to refresh
-29
@anone18236read⁠-⁠only

User

Send message

Работа в ускоренном темпе, с деадлайнами, выгораниями и вот этим вот всем совершенно не привязана к географическому положению.

незаконно скопировала и обработала миллионы изображений

Эм, разве существует законный запрет на копирование изображения? В интернете?

Но многие, как оказалось, могут позволить себе работать несколько месяцев вообще без зарплаты...

Совет тем, кто работает на иностранные компании в данный момент- учитесь на чужих ошибках. Если начинаются задержки зарплат, лучше сменить работу. Тот же пример разработчика msi afterburner.

Другое дело, что у них могут быть проблемы с получением денег по исполнительному листу, потому что компания скорее всего не имеет ни денег, ни имущества. Но тут уж ничего не поделаешь - деньги контора получала из-за рубежа, и когда поток иссяк - никакой суд не поможет.

Какая грустная новость...

Ну, если они решили остаться, значит у них есть план.

Ну пусть в суд международный обратятся, в еспч какой там или другой...

Аааа, точно.

Ну ладно, учитывая что они отказались от релокации, пусть наслаждаются жизнью в россии.

Не меньше чем людей, верящих в теории заговора и клятых капиталистов, которые едят младенцев ради прибыли.

Я из Беларуси, и все компании беларусские. Соответственно все граждане Беларуси.

соседней Беларуси вообще никаких проблем нет с любыми расчетами

Аххахаха, нет.

Нашему директору заблокировали польские счета в польской прослойке на месяц. Без обьяснения причин.

В августе Литва заморозила все платежи от заказчиков на месяц.

Компании партнеру в Грузии закрыли счета в банке и дали дней десять на то, что бы забрать деньги.

Знакомый сейл в другой компании- проблемы с платежами в Литве.

Смертельного ничего нет, но это не "вообще никаких проблем".

Ну так и тут никто не покупал как бы...

Какое дно? EGS ошиблись, раздав игру издательства, которое запретило распространение в россии. Какое тут дно? Ошибок человеческого фактора?

Избыть из себя лакея крайне сложно. Начать думать - ещё сложнее.

Не волнуйтесь, главное- не здавайтесь, и у вас все получится.

Спасибо большое за комментарий. Меня в notion больше всего и пугает, что без интернета он не работает. Теперь есть чем заняться на выходных :)

Если у вас в языке операция деления требует доказательства, что делитель не нулевой, то джуну просто не получится разделить на ноль.

Я понял, не сразу, но теперь понял :)
Любопытно, а есть такие сейчас языки, входящие в топ 10 веб разработки? Или вообще в принципе?

Джун написал свою функцию деления? Зачем, чем его стандартная не устроила?

Ох и любите вы до примеров доколупаться. Я имел ввиду что он написал что-то вида

package main

import "fmt"

func main() {
	var b, c int = 1, 0
	fmt.Println(b / c)
}

Но уже не важно, я гугланул ответ. Есть способ, но как вы и писали, это не в стиле го. В стиле го пытаться проверить переменные перед операцией.

но достаточно, чтобы не хотеть на нём писать

Я уже тоже, спасибо.

Ну, это все частные примеры- сложно подобрать прям реалистичный. Глобально меня интересует ситуация, когда ошибка уже допущена в коде. Попробую еще пример- джун допустил деление на ноль, на ревью пропустили, тесты прошли, код на проде.

Мой основной вопрос в том, что panic в go, как я понимаю, никак не хендлится- try catch отсутствуют, и вслучае чего, если это произошло в главном потоке- всё, полная остановка приложения. Это так?

Обычно такие штуки делаете не вы сами, а библиотеки. Что делать в случае, если библиотеки кидает panic при таких ошибках? Свои писать?

Эта ерунда — на границе с внешним миром. Вам там всё равно придётся проверять и обрабатывать кучу вещей, вроде 500-ой ошибки от сервера или лоад балансера, разрыва соединения с БД, по иным причинам несовместимой схемы, и так далее.

Это ерудна кратно увеличивает время разработки. В десятки раз. Только что ради прикола посмотрел что go выдает в делении на ноль

panic: runtime error: integer divide by zero

Вы предлагаете при каждой операции деления в проекте проверять, не является ли делитель нулем? Вы предлагаете каждый такой похожий случай (который может вызвать panic) обрабатывать?

В third-party api в ответе тип поля поменяли с типа Long на тип String. Вместо циферок теперь буквочки. Как это станет известно?

У вас есть в модели nonnull поле. Такое же было в базе данных, но джун убрал это ограничение, и теперь часть данных не может смапится из базы в модель. Как это станет известно?

Я думаю, что можно найти и другие примеры. Это не может быть известно. И каждый такой чих обрабатывать с моей точки зрения, глупо. Время разработки в космом улетит, если каждую строчку кода или вызов библиотеки, которая может изменится, обкладывать if-ами на все случаи жизни.

Жесть то какая.

На моем текущем проекте (java/kotlin) есть порядка 30 подключенных по ресту рекламных сетей, занимающихся маркетингом. Они все имеют своё апи. Им шлются юзеры, регаются, потом они опрашиваются, от них по апи приходят статусы. У нас все это завернуто в for. Иногда они в одностороннем порядке меняют апи (урлы, респонсы), и естественно валятся ексепшены. Но, так как в цикле каждая итерация завернута в try catch, отлетает только один брокер.

Теоритически это можно и на go сделать, как я понял заворачивать в потоки, и я так понимаю отслеживать состояние, типа упал panic или нет, но это же п****ц какой-то для такой тривиальной задачи.

Ну или подключать всякие mq очереди, но опять же, это по сути костыль.

Раньше поглядывал на go, но теперь точно не буду- это слишком жесткое ограничение на уровне языка. Интересно, как try catch в rust выглядит.

А можете пример привести? Потому что go не знаю, а быстро не разобраться.

Не получится ли так, что через maybe и optional можно предусмотреть только те ошибки, о которых ты можешь подумать? Меня интересует случай, когда ошибка случается, то есть та, которую не предвидели. Цикл прервется или нет, с использованием методов maybe и optional, при возникновении непредусмотренной ошибки?

А вот как вы в преведённом вами примере вернёте из метода отделный список ошибочных пользователей, чтоб вышестоящий алгоритм или человек мог с ними что-то сделать?

А никак. Только у вас вопрос демагогический немного- необязательно возвращать отдельный список, что бы с ним что-то сделать. Если сразу хочется, в обработке исключения можно ложить в лист, после цикла у вас будет список необработанных пользоветелей. Или помечать в базе через флаг, что бы не потерялся, и потом уже с ним работать.

Information

Rating
Does not participate
Registered
Activity