All streams
Search
Write a publication
Pull to refresh
34
0.2
Send message
То есть это не на сайтах должны использовать бестпрактики, это разработчики всех средств защиты должны подстраиваться под говнокодеров всех разработчиков мира, использующих не лучшие практики?

Современные браузеры, например, именно так сейчас и работают с html. Они не падают с ошибкой при первом незакрытом или устаревшем теге, дубликате id или некорректном атрибуте. Они продолжают обрабатывать html, даже если он явно написан с ошибками.
Почему они это делают? Почему бы им просто не сказать, что пускай кривые сайты идут лесом и сами у себя всё исправляют? Я уже ответил выше, почему. Потому, что им (браузерам) нужны пользователи.

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

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

Кто активно борется? Владелец самой большой рекламной сети — Google? Который распространяет его в своём собственном Chrome Store? Или Яндекс? Который сам учит людей, как ставить такие расширения на Яндекс.Браузер? Да никого это не волнует, по большому счёту.
Проблемы кое кого шерифа не волнуют, ага. Пользователь не будет задумываться, почему глючит.
Нет, потому что все знают бренд касперского, как защиту. Если сайт поломался из-за него — воспримется как то, что сайт делал что-то нехорошее и только, максимум.

То есть ваш аргумент, что основная причина, почему Kaspersky Protect не должен исправлять эту ошибку — безнаказанность?
Так в таком мире, где пользователю абсолютно без разницы, что происходит «под капотом» существовало бы и лучшее решение — просто создать расширение, которое ни от чего не защищает, а лишь показывает пользователю значок с буквой К где-нибудь в интерфейсе.
Обычный пользователь никогда не заметит разницы, защищает его там что-то или нет. Достаточно в рандомное время сообщать, что «угроза остановлена» и он будет доволен. И разработка такого плагина занимает в тысячи раз меньше времени. И сайты никакие не поломает.
Идеальный продукт, не так ли? Или всё-таки лучше бы им разрабатывать хороший продукт, в расчете и на тех пользователей, которые и «под капот» тоже заглянут? Определитесь.
Обратный пример чего?

Обратный пример того, что разработчики расширений безопасности тоже должны следить за тем, что они не ломают сайты. И в тех случаях, когда это возникает сравнительно часто и это легко исправить — исправлять. А данный случай как раз такой.
Иначе они (расширения безопасности) будут терять пользователей. Пользователи будут уходить на другие расширения безопасности, потому, что там меньше сайтов ломается.

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

Извините, но какую я (как клиент) выгоду получу от того, что буду вот так тыкать и искать, какая защита меньше ломает данный сайт?

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

Так-то да, вы не останетесь голодным без сайта конкретного ресторана, точно так же как и конкретный ресторан не обанкротится, если их сайт потеряет условные 0.1% пользователей Kaspersky Protect и пр. Тут ещё даже не известно, выгодно ли им вообще оплачивать услуги тестирования и исправления таких редких кейсов.

А вот конкретный Kaspersky Protect уже может потерять значительную часть пользователей, если за ним закрепится репутация «он часто ломает сайты».

Так что тут, по-моему, вполне очевидно, «чья» это проблема.
Обратный пример тоже верен — если с одним расширением безопасности у пользователя ломается 10% сайтов, а с другим — только 1%, то выбор будет очевиден. Особенно, если при этом уровень безопасности будет одинаков.
Конечно, в данном конкретном случае веб-разработчик просто мог перенести вызов функции reachGoal вниз, после всех тех интерфейсных реакций, но в целом это не всегда возможно.
А вот Kaspersky Protect вполне мог бы и убедиться, что раз уж он блокирует создание объекта yaCounter, то и дальнейшие обращения к нему тоже, по-хорошему, должны быть заблокированы. Или создавать свою заглушку вместо него тогда уж.
Просто я считаю, что если уж хочешь защищать пользователя — убедись, что эта «защита» не принесёт ему больше вреда, чем пользы.
В итоге получается ситуация, когда у всех пользователей Kaspersky Protect с дефолтными настройками возникают проблемы с работой некоторых сайтов, при этом у самих этих сайтов это лишь, условно, 0.1% пользователей.
Как в такой ситуации можно утверждать, что сайты должны прогибаться под 0.1% пользователей, а Kaspersky Protect может дальше продолжать ломать работу реально существующих сайтов — загадка сия велика для меня.
С помощью пары запросов поисковику удалось выяснить, что это счётчик для Яндекс.Метрики. Интерпретация страницы просто прекращается после отказа любого внешнего компонента. Как говорится, на разработку было выделено много рублей… Так почему же кидается исключение? В моём браузере было установлено расширение Kaspersky Protect. Отключение разного рода маячков и счётчиков, видимо, входит в защиту от отслеживания, включенного по умолчанию. Это было причиной проблемы. Заказ еды я потом сделал на другом, более технически продвинутом сайте.

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


Интересный градус лояльности, когда даже после такого случая, вы уверены, что это проблема веб-разработчиков, а не разработчиков конкретного Kaspersky Protect.
Было бы интереснее, если бы в истории присутствовало чуть больше конкретики, пусть даже своими словами. А так, под эту историю с тремя сотрудниками могут попасть очень разные (с моральной точки зрения) сценарии:
1. Отделу разработки поручили разработать конвертер из формата ABC в формат XYZ. Этот конвертер планировалось продавать как отдельный продукт. 10 человек работало, а потом трое из них зарегистрировали всё на себя и стали продавать от своего лица, лишив компанию и продукта и денег.
2. Отделу разработки поручили сконвертировать 10 миллионов файлов ABC в формат XYZ один раз — после этого компания полностью переходила на формат XYZ и все разработки планировалось выкинуть на помойку. 3 человек работало, и они решили, чтобы добро не пропадало, можно создать из этого продукт и продавать. Дела пошли хорошо и компания решила, что не грех с них и отсудить чего-нибудь, раз такие богатые буратины появились.
Раньше тоже так делал, но в итоге пересмотрел свои взгляды после одной истории.

Несколько лет назад активно работал на fl.ru, и случайно наткнулся на баг (не удивлюсь, если он там до сих пор есть) — если просрочить выплату комиссии, то аккаунт временно закрывают до оплаты, а после оплаты и разблокировки у него, как я понял, обнуляется внутренний счётчик дней. То есть в списке популярности фрилансеров по категории (который там фильтровался по количеству денег в день, которые фрилансер приносит платформе) получается, что фрилансер принёс кучу денег за один единственный день. Таким образом я стал «первым вебдевом всея Руси» и ссылку на мой профиль видели все, кто заходил в раздел «Создание сайтов».

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

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

Так вот, защита сработала — код, который остался у заказчика был неприменим в продакшене и не полнофункционален, а я не попался на обман.

Вот только осадок неприятный всё равно остался, как видите, до сих пор помню.

А аккаунт свой на fl.ru я уже через пару дней убрал из того топа — надоело по 10 раз в день отвечать, сколько стоит сайт.
Если бы Битрикс был бесплатным продуктом — у меня к нему было намного меньше претензий. Но при том, сколько он стоит, и на каких условиях нужно платить — считаю своим долгом как минимум упомянуть про него, чтобы принимающий решение (и, часто, не разбирающийся в вопросе) заказчик подумал дважды.
Но если коротко — нет, не дань моде, это у меня личное.
Чтобы немного скрасить вам вечер и мнение о человечестве — иногда опровержение таки срабатывает.
Одного гейм-стримера-ютубера (ProJared) обвинили в том, что он мол прикрываясь своей известностью выманивал голые фотки у несовершеннолетних и потом постил на своём закрытом форуме. Обвиняли два человека, каждый рассказывал, что предупреждал о своём несовершеннолетии, но фотки он у них всё равно выманивал. И это на фоне всплывших чуть ранее обвинений в супружеской измене.
Потом ещё подтянулись куча людей, которые начали про него вспоминать что-то плохое (часто путая его с кем-то другим).
Начали травить самого стримера, всех, кто с ним связан, «захватили» сабреддит, даже в куче около-ютубовых новостей про это говорили. Короче, абсолютный конец карьеры.
И, хоть ProJared и слился поначалу из дискуссии (написал пару водянистых постов, обходя стороной конкретные вопросы и заканчивая, мол, «вы же меня знаете, делайте выводы сами») и даже извинился перед обвинявшими, через несколько месяцев(!) выложил видео, в котором всё подробно объяснил. Если кратко:
— Да, был форум с голыми фотками, он его вёл.
— Никаких несовершеннолетних фоток там не было.
— Диалог с одним обвиняемым он привёл — как напрямую спрашивает его о совершеннолетии и тот подтверждает.
— Диалог со вторым он вообще найти не смог, но он оказался в друзьях первого и обладает целым букетом «особенностей» — типа менял пол, писал на одном из форумов что из-за какой-то проблемы с головой вообще не помнит события определённого года (как раз того, когда должна была происходить эта история).
— С женой у них давно уже были напряженные отношения и она сама(!) предложила ему свободные отношения, мол мы оба будем встречаться с кем хотим. И вообще, «не ваше дело».

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

Разговоры на кухне, в смысле таргетированной рекламы, не стоили бы даже цента.

Они не релевантны (часто анти-релевантны, например частое упоминание слова «холодильник» может быть связано как с тем, что человек сейчас выбирает холодильник, так и с тем, что он уже купил холодильник и предлагать ему второй в рекламе — пустая трата денег).

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

Будьте здоровы.
В статье приведено три примера атаки:
— Рассылка от вашего аккаунта в соцсетях
— Отмена бронирования в отеле
— Отмена покупки в интернет-магазине

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

Поэтому, скажем так, если вы приехали в отель и на ресепшене заструдняются найти вашу бронь, и ваша первая мысль — что это результат работы злоумышленника… Вы знаете, что у вас.
Соглашусь, что обычно от таких мероприятий ожидаешь худшего качества вопросов, но всё-таки многие из приведённых вопросов напоминают старую цитату с башорга:
(из одного чата с народ.ру)
(1): Народ!!! Помогите найти песню… Названия не помню…
(2): Напой.
(1): Ну там типа тууууу, туутууууу, туутуууутууууу… Туууу тууутуууу, туууутуууу туууу…
(2): Rammstein — Du Hast чтоли?
(1): ООО!!! Она! Спасибо!!!

(3): ну вы п***ц.

То есть даже факт правильного ответа ещё не означает правильность задания вопроса.
Вот например:
2. В 1979 году, еще до выхода своей компании на биржу, Стив Джобс провел тесты, не имеющие отношения непосредственно к продукции компании.
Вопрос: А какие именно тесты?

Так всё-таки, провёл или прошёл? Не сам ведь он там с пробирками сидел.
Плюс, в такой ситуации непонятно, что делать, если игрок ответит «он проверил, как будет пахнуть от человека, который питается только яблоками». Потому что он таки это проверял, и в 1979 году, вполне возможно, тоже (и у него там было ещё много довольно своеобразных «теорий» в те годы).
То есть вопрос не просто на эрудицию, а на то, одинаковые ли факты первыми приходят на ум составителю и игроку.
В других вопросах они попытались это исправить, выбирая вопросы с цитатной конструкцией типа «рассуждая про X, некий человек упомянул угадайте-что», что делает их слегка чётче. «Слегка», потому что, например, в той же статье про HP — Гарри Поттера умоминают и Microsoft между делом.
Ну или про цветы-оптоволокно, черную дыру — водопад, ДНК и курицу/яйцо. Просто знаю, что когда отвечаешь на такие вопросы, уже самому становится не интересно, какой ответ верный и что там кто-то упомянул — пять твоих версий имеют столько же права на жизнь, сколько и правильный ответ.
С моей точки зрения, пример хорошего вопроса выглядел бы как-то так:
Business Insider однажды рассказал историю о том, как инженеры принесли Стиву Джобсу первый прототип iPod. Покрутив его в руках, Джобс сказал, что тот слишком велик. Инженеры запротестовали, сказав что его невозможно сделать ещё меньше. Каким образом Стив Джобс наглядно продемонстрировал, что они ошибаются?
ответ
Бросил его в аквариум/в воду и указал на выходящие пузырьки воздуха. www.businessinsider.com/steve-jobs-threw-ipod-prototype-into-an-aquarium-to-prove-a-point-2014-11

Ну или если хочется посложнее — какие-нибудь менее известные подобные истории.
А вы пробовали сами быть работодателем?

Да, технически был — заказывал кучу смежных работ на фрилансе — тексты, дизайн, обработка информации (хотя вы, конечно же, скажете, что это не считается). И при этом всегда следил за тем, чтобы лишний раз не напрягать человека, не придумывать сроков с потолка, не придираться к мелочам на приемке, которые сам могу исправить.
Потому что моё время стоит денег и мне просто выгоднее работать с человеком ненапряжно и долговременно, чем «выжать» всё, что смогу, и потом искать нового. Ведь нужно чтоб новый не пропал с предоплатой и был не балбес, потом всё равно заново всё объяснять, а потом ещё раз объяснять, потому что привычные и очевидные мне вещи могут оказаться неочевидны. И не получится сказать «сделай, как в прошлом проекте» и сэкономить кучу времени. И не получится услышать от него «а, помню эту проблему, в прошлом году такая же была» и увидеть как человек с опытом за 5 минут решает проблему, на которую без опыта не решить и за день.
И потому что знаю, насколько просто и бессмысленно достигается выгорание. И не только в IT, в других профессиях, которые вы приводите в пример в других комментах оно тоже есть. Сварщик может уйти в запой или вещества, токарь — бросить всё и уехать в деревню с концами.
У нас вот есть один такой — пахнет мочой и пару месяцев в году спит в подъезде, потому что его жена домой пьяного не пускает, боится за детей. Даже полиция его уже брезгует забирать, когда он в очередной раз посреди ночи в дверь свою громко ломится. А ведь был когда-то по слухам хороший работник, в оркестре играл, грамоты получал.
И ведь не получится таким людям посоветовать «просто не уходить в запой» и «найти другую работу» — точка невозврата уже пройдена. Когда человек видит, что не может больше работать, уже слишком поздно что-то предпринимать.
В теории работодатель у которого «выгорают» сотрудники должен вроде бы потерять сотрудников и разориться.
В реальной жизни этого не происходит.

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

Не разбирался глубоко с этим, но предположу, что если тачскрин, то должно быть вполне возможно измерить пульс. Давление так, конечно, не измерить, но небольшие подрагивания пальца должно быть можно засечь, в теории.
Не критикую, просто интересуюсь.
function getUserType(id: number): string { /*… */ }

function getUserType(id: number): 'standard' | 'premium' | 'admin' { /*… */ }

Вы пишете, что вторая функция лучше, так как более информативна. Но что делать, если (когда) добавится новый тип юзеров, 'banned', например? Ходить по всем таким функциям и исправлять?
А если мы пишем аналогичные функции getUserCountryName и getUserCurrencyCode — тоже в них все 150 возможных ответов перечислять?
А ещё существует японский пробел (ideographic space).
Но чаще всего спотыкаются о различие ` и ' в MySQL.
Вообще говоря, один из самых полезных навыков для начинающего IT-шника — умение экспериментально находить причину проблемы или, как минимум, примерную область, в которой эта проблема обосновалась. И это прям must have для задавания правильных вопросов.

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

Звучит как очевидная вещь, но на форумах (в т.ч. зарубежных) часто вижу, что этого понимания не хватает.

Тут главное — не доверять своим предположениям, а просто пробовать. Иначе можно потратить кучу времени на поиск проблемы в логике кода, а потом окажется, что просто выбранный индикатор не работал.
И если рекламная компания в Директе вот только что закончилась, это совершенно не значит, что «фирма закрылась, а сайт остался».

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

Ну вот, на пальцах.
Представьте, что вы — поисковик. У вас в базе есть 10 000 сайтов, у которых в заголовке написано «интернет-магазин сотовых телефонов». 90% из них не являются работающими интернет-магазинами — это либо автогенерированная муть, либо «фирма закрылась, а сайт остался», либо наоборот, фирма ещё не открылась и сайт в разработке. В любом случае — пользователю такие сайты показывать нельзя.
Вот как их определить с наибольшей вероятностью? Есть сайты, у которых есть активная кампания в директе, а есть другие — у которых её нет. Какая из этих групп содержит больше всего левых сайтов? По-моему, корреляция очевидна.

Information

Rating
2,653-rd
Registered
Activity