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

1656523690 kak udivit polzovatelej prilozheniya skryvaya pashalnye yajcza v konsoli

Итон Райан

MCL-e-3rhZo9PAtYKA1Irs9t5XWWshcHlUOd
много журналов на консоль

Мне нравится console.logging(stuff).

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

Я даже использую console.warn() и console.error()и console.table() если я чувствую себя живым.

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

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

Ой-ой, спагетти-ой.

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

Избавление от консольных журналов в производственном режиме

Исправить это оказалось легко. Конечно, я мог бы просмотреть кодовую базу и прокомментировать все мои console.logs(), но это было бы неприятно, а некоторые служат важным целям в режиме разработки.

К счастью, есть более простой и лучший способ.

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

jc4ODxkMp1KtvfhpstgQLe-aVYqusFrOAuK8
Решения через www.codebyamir.com

Как упоминалось в некоторых комментариях, когда кто-то указал это как решение проблемы: «Это хак. Ваш [sic] расходование вычислений в производстве»

-s1srDkkrRoKPbhbzIx-WFfUHZrAf-Q60tE0
«Это хак».

Хорошая дискуссия! Я не очень беспокоился о том, чтобы несколько раз вызывать пустую функцию и потратить некоторые вычисления во время производства, поэтому я пошел с этим решением, потому что его легко реализовать и решает мою проблему.

Вот как я это сделал в файле src/index.js:

DSciz3L5MRihw5jjT7o7rCeWNMz9kQI-mjGf
src/index.js файл

Конечно, я мог бы сделать это в любом файле, например компонент App или мой компонент StoryContainer. В любом случае, пока это было до того, как отображались журналы консоли, предупреждения или ошибки. Но мне было смысла сделать это в корне.

Я проверил это при разработке, заменив «производство» на «разработка», и это сработало! Больше никаких сообщений в консоли.

Добавление сообщений обратно в консоль

Но потом мне стало грустно: (

Нет больше сообщений на консоли? Казалось таким редким.

Может также иметь НЕКОТОРЫЕ сообщения для тех любознательных, бесстрашных ботаников, которые достаточно смелы, чтобы открыть консоль.

Поэтому я снова добавил одну, как скрытое пасхальное яйцо:

acJJhS1TezClILOJ2V4Uzb0okV6it-dXBUcw
Привет всем!

Как это я сделал? Легко: поскольку все вызовы моей программы к console.log(), console.warn()и console.error() где будучи перезаписанным пустыми функциями, я просто добавил a console.info()! В основном это то же, что а console.log(). Некоторые отличия перечислены и обжалованы здесь.

hello everybody! хоть было немного скучно. У меня уже было сохранено имя пользователя, который вошел в систему, в состоянии, почему бы не персонализировать мое сообщение?

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

Вот что я решил сделать, и вот как я это сделал:

H5wxFxT9YHiehoaeFUKSOIL70eiW-gbACi3e
Приветственный компонент

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

function getFriendlyMessage(nameString) {
  let messages = [
    `Hello ${nameString}, it's good to see you!`,
    `sup ${nameString}`,
    `hi there ${nameString}, you look awesome today!`,
    `hi there ${nameString}, you spectacular human being you!`,
    `you look awesome today ${nameString}!`,
    `hellllooooooo ${nameString}!`,
    `Hey ${nameString}, how's life?`,
    `Can you keep a secret, ${nameString}? You're my favorite!`,
    `Nothing to see here, ${nameString}.`,
    `Congratulations, ${nameString}! You've discovered the console ;)`,
    `have i told you lately that i love you, ${nameString}?`,
    `i knew you'd find this Easter egg eventually, ${nameString}...`,
  ]
  var randomMessage = messages[Math.floor(Math.random() * messages.length)];
  return randomMessage
}

Кодировка весело.

Спасибо, что читаете, ботаные слова!

Добавить комментарий

Ваш адрес email не будет опубликован.