All streams
Search
Write a publication
Pull to refresh
16
1.6
Send message

Ну предположим ситуация такая - мы открыли ресурс (например соединение с базой данных), а потом сделали запрос на сервер, пришел null в критически важном параметре (может он там по БЛ может быть null, может просто ошибка, не важно) - в случае чистого try - catch - ты заворачиваешь закрытие содениня с базой в finaly и знаешь - что не важно - ошибка там или успешное выполенние - соединение с базой не будет подвешено. А тут - случился nullpointer - но exception перехватился в едином обработчике исключений, а он вне контекста, который открыл соединение с базой (в нём нет ссылки на класс, который открыл содединение с базой). Это значит либо обработчик ошибок должен знать про класс, который инициировал запрос - а тогда он обо всём на свете будет знать - каша и связность, либо все должны ему свои обратные вызовы передавать для дополнительных действий при получении ошибки - а тогда это ничем не лучше, чем try catch по месту вызова запроса. И чтобы это работало - калбек должен прицепляться именно к запросу т.к. на разные запросы, даже в рамках одного контекста, могжет быть разная обработка одних и тех-же exception.

Вот я со всем с вами соглаен, кроме

Сделайте единый обработчик ошибок

Буквально в прошлом проекте был такой, и показал себя ужасно.

Во первых такой класс, даже если он чисто управление передаёт - очень быстро растёт. Во вторых, он так-же быстро обрастает доп условиями - когда требуется контекст. Например пришел nullpointer - надо ресурсы освободит, значит надо как-то ошибку вернуть в точку вызова, или когда нужно добавить дополнительные данные для аналитики, но варианты этих данных разные. Или когда нужно логировать, но не все. Или когда разное количество retry надо сделать.

Вы вероятно скажете, что надо заводить отдельные ошибки под каждые данные - но это придет после, когда у вас уже заложена логика с развилками в зависимости от контекста, и даже если нет - приведёт к еще большому разрастанию этого большого единого обработчика. И не дай бог у вас будет цепочка наследования ошибок типо MyError : Retryable : NetworkError ... - потом когда поведение одного из обработчиков надо будет специализировать - все вообще развалится.

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

Короче на долгоживущих проектах я бы не рекомендовал такой подход.

Лучше либо локальные перехватчики для небольшого контекста (типо экрана) - там ошибку поймал - состояние экрана в нужное привёл, ретраи в нужном порядке и тайминге сделал и молодец. А если нужно, через композицию подключил какой-то из общих обработчиков, и параметризовал.

Либо result использовать там, где ошибка внутри нашей бл. Он не так красив но намного более очевиден.

Ваш совет хорош, но сработает только в идеальном мире - где геополитика стран направлена на мирное сосуществование и сотрудиничество. Но в реальном мире - геополитика, это как заходить в бой в quake на сервере - где все противники играют с читами. Ты либо умираешь, либо пробуешь парировать их читы своими.

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

Не нравится тебе - что у соседа скоро мирные аэс появятся - обвинил в чём нибудь, и отправил бомбардировщики, почему бы и нет. Вот и нет конкурентов в инергетике.

Потому что вызвать скорую я могу - отключают только интернет - звонки и смс работают. По крайне мере в 2х регионах где я застал отключения. А про воду - демагогия, это примерно как сказать "а почему люди болеют". Ну в каких-то сёлах наверное нет воды, где-то она и не нужна (у всех скважины), где-то село вымирает - и уже нет смысла, где-то нет муниципальных средств - когда место глубоко убыточное.

Вы верно в войсках рэб сидите и к засекречееной информации об эфективности перехвата дронов доступ имеете?

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

Так вот, сейчас делают так - дрон запускается у черта на рогах, и летит от туда по gps + инерционная навигация, а на подлете к точке - подключается к сети и превращается в fpv для точного попадания.

В мост например еще реально попасть по gps, и то не факт, нужно не ошибиться с высотой, и попасть правильно, иначе не рухнет. На военных объектах имеет место ротация - там штуки которые надо сохранить и можно подвинуть - двигают.

Без интернета дрон fpv не станет, gps можно подавить и спокойно увести его за город, где мягко "призмелить".

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

Мошенники в другой юрисдикции а деньги получают через крипту или дропов. Приезжает друг из ближнего зарубежья, делает карту в местном банке, а потом выезжает к себе на родину - далее переводы идут ему (а если бизнес "серъезный", то даже с отмывкой) и он их той-же "золотой короной" выводит на свою карту. А когда дело дойдет до суда/туда - у него уже новые документы будут. (Нет серьезно, у меня одного товарища из таджикистана - 3 раза из россии депортировали, он делал новый паспорт и въезжал, и вроде даже фамилия там другая каждый раз - говорил это не особо сложно)

А про крипту, так ежили крипту запретить - вы же первый придете писать в комменты что правительство опять лезет туда, куда не надо.

Я согласен с вами, хорошего в этом ничего нет. Но предложите решение лучше?

Вот есть сайт, который делает что-то нехорошее (детские неподобающие видео продает, оружие, казино, мошенничество etc) - как с ним бороться - если тебе на блокировку 2 месяца надо, а им на переезд 2 часа, и у них - "а что ты мне сделаешь, я в другом городе"

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

Я тоже готов ради них вашу жизнь на кон поставить.

А вы тоже предпочитаете, чтобы ради вашего комфорта - умирали люди, которых беспилотниками взорвут?

Вы предпочитаете жизненно важные данные на двух дисках хранить, или на одном, из за того, что дама этажем выше говорит, что с двумя ей слышится шум.

Это когда на следующий день клон сайта с дополнительной 1 в названии появлялся зарегистрированный на новое юр-лицо, и все по новой?

Вы предпочитаете чтобы ради того, чтобы вы ростикс могли заказать, люди умерли, которых взорвет бпла, я правильно понимаю?

"урегилирование интернета принесло только вред, а пользу только очень узкому кругу людей".

Это знаете - как возгласы автомобилистов о том, как Всем мешает выделенная линия ОТ, и вообще да нахер пусть все эти автобусы идут.

Регулирование интернета принесло вред лично вам, по этому вам и кажется, что только вред. Но все познается в долгосроке - когда вводили платежную систему "мир" и обязали всех карточных операторов использовать их процессинг - в коментариях тоже было много "о боже, опять распил", "за всеми следить хотят". Но когда визе и мс их царь приказал сбежать - планируемый коллапс платежных систем не случился.

Когда следующий президент сша решит нанести превентивный удар - потому что россия в чем то нам конкурент, а это что-то может использоваться в военных целях (вспомним абсолютно мирную ядерную программу ирана которую курировали магатэ (штаб квартира в сша), и подтверждали что она мирная, а потом оказалось, что направляли бомбордировщики) - лучше, чтобы у него небыло информации о том, в какие узлы нужно бить, чтобы нанести максимальный урон.

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

Если брать фронтенд (только за него могу говорить) - за 10 лет работы из которых 5 java и 5 kotlin (в том числе в бигтехе, где в собеседованиях обязательная алгоритмическая секция) - задачи которые требовали бы алгоритмы сложнее "ультра легко" попадались 2 раза (и заняли - ну день).

В первом случае алгоритм был нагулен, во втором придуман посидев пару часов с листом бумаги.

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

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

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

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

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

Хотя как гайд - "что должен делать тимлид" - для человека, которого внезапно "повысили" с разработческой должности, наверное пойдёт.

Короче понял, автор постар мерзотный кликбейтер, и даже в видео адекватно написано что лифт - самоубийца. Ну да, движок сгорит, лифт встанет. Что будет с пасажиром - предсказуемо, ничего. Потому что лифт с противовесом (возможно центробежным стопором, его уже не увидел, но не вглядывался) - а значит в худшем случае лифт просто плавно уедет вверх или встанет.

Я то думал - там тросс на вал намотанный - при отказе - в размотку и конец. А тут - ну просто дерьмово сделано, но не убийца.

Вы бы хоть написали что в этом лифте "убийственного", и что не так с проектом. А то заголовок не соответствует статье.

Если заказчика устраивает цена, то хоть черт лысый сидящий внутри может в качестве контроллера использоваться - вчём реальная проблема этих лифтов?

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

Information

Rating
1,460-th
Registered
Activity