Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Лендинги в портфолио?

Лучший ответ:
Все зависит от позиции на которую Вы нацелены. В любом случае в портфолио следует добавлять ограниченное количество лучших работ. Нужно понимать что даже лендинг лендингу рознь.

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

Лучший ответ:
Думаю никак.
Биос не управляет мониторами. Мониторами управляет видеокарточка.
А настройки видеокарточки доступны видимо уже только из загруженной ОС.
Почитайте про вашу видяшку, может на ней можно прошивку обновить или как.

Худший ответ:
Что мешает через панель управления видеокартой это сделать?
Вопрос: Как загрузить юникод в Delphi?

Лучший ответ:
Это не Юникод символ, это символ с кодом 0. Во многих языках программирования этот символ обозначает конец строки. На сколько я помню, для Delphi этот символ не помеха, но при попытке вывести содержимое TStringList в какой-то контрол (Memo например), то обрезание будет как раз на этом символе.
Посмотрите через дебагер какое содержимое у TStringList после загрузки файла. Если там есть весь файл - тогда вам нужно просто удалить этот символ, если же нет - тогда загружать файл вам необходимо будет через TFileStream, после чего опять таки удалять этот NULL и дальше передавать куда нужно.

Худший ответ:
предобработать строку например для исключения неюникодных символов
зы вы бы показали эту строчку в hex редакторе
сразу стало бы понятнее
Вопрос: Что за оборудование на столбе?

Лучший ответ:
Это вышка сотовой связи.
Небось у ближайших жителей начались головные боли и тошнота, когда она появилась? :)

Худший ответ:
Что за оборудование на столбе? Точно сказать нельзя, скорее всего WiFi.
Вопрос: Где используется canvas, помимо игрушек?

Лучший ответ:
Графики, например. Обработка изображений реалтайм, те же эффекты можно на изображение через канвас накладывать.

Худший ответ:
Вот, например, редактор svg. Вполне утилитарно)
Вообще, если нужен сложный интерфейс, с визуализацией данных и интерактивностью, то, конечно, canvas. 
Простые примеры: проложить маршрут на карте, и предоставить возможность изменять ключевые точки маршрута простым перетаскиванием;  Или на сайте производителя мебели нужно сделать "картинку", в которой можно изменить (подобрать) цвет любого объекта.
Вопрос: Как получить блок под блоком по которому кликнул?

Лучший ответ:
Есть такой метод elementsFromPoint, он получает все элементы, которые находятся по заданным координатам. т.е. схема такая
1) Слушаете клик по элементу.
2) Получаете координаты мыши
3) Передаете координаты мыши в elementsFromPoint, и получаете массив элементов.
4) Работаете с массивом. Он отсортирован по "глубине".

Худший ответ:
А если тот же обработчик поставить на красную точку? Не подойдет?
Вопрос: Почему value не выдает результат?

Лучший ответ:
У дива нет свойства value

Худший ответ:
Эм, а почему у h1 должно быть свойство value?Читать.
Вопрос: Сообщения skype на телефоне живут отдельной жизнью?

Лучший ответ:
У многих подобные проблемы со скайпом.
Смирится.

Худший ответ:
перешел на viber + telegram , вацап не стал пользовать так как надо чтоб постоянно на мобилке был включен интернет чтоб работал десктоп клиент.
Скайп для меня умер.
Вопрос: Стоит ли пытаться развить скилл в веб дизайне front end'еру?

Лучший ответ:
Является ли навык игры на гитаре приобретаемым?
Если вы собираетесь продолжать свою работу в снг особенно на фрилансе то вы должны быть многофункциональным. И нужно уметь и SEO и дизайн и аналитику и тд./
В таком ключе именно в СНГ вы сможете искать клиентов, если же хотите работать с аутсорсом типа upwork то тогда берите узкий профиль и в нем развивайтесь.
Но знания лишними не бывают.
Имхо в СНГ 9 из 10 клиентов уверены что сайт это 3 минуты и 1500 рублей из за горе веб-студий однодневок.

Худший ответ:
Стоит ли пытаться развить скилл в веб дизайне front end'еру?
Конечно. Если есть желание.
Вопрос: Какой проект по нейросетям с текстом (лингвистика или вокруг) можно реализовать школьнику?

Лучший ответ:
Можно попробовать сделать что-нибудь вроде прогнозирования оценки за сочинение на основе возраста(класса) автора и самого текста сочинения.
Ну и чтобы было ещё интересней, можно заточить нейронную сеть прогнозировать оценки за сочинения по темам касающимся только произведения Война и Мир, Толстого. Как раз для 10-ого класса актуально.
Правда нужно будет где-то раздобыть большое кол-во данных для обучения, сочинения с разными оценками, как двоечные, так и те что на отлично.

Худший ответ:
я хотел бы предложить им покопать в сторону нейронных сетей.любым ссылка на адекватные обучалки, которые сможет понять школьник 10-ого класса
Вы себя - СЛЫШИТЕ?!
PS: нейросети - это формулы вышмата.UPD:
Тема: определение всех возможных характеристик слова: часть речи, число, падеж и т.д.
Вопрос: Не Запускает проект Python через консоль с ошибкой ModuleNotFoundError: No module named?

Лучший ответ:
Файл, который вы запускаете должен находиться в корне проекта, иначе нет смысла в той структуре пакетов, которую вы создали. То есть, дерево должно быть такое:-chip8/
-chip8/chip88/
-chip8/chip88/interface.py
-chip8/chip88/chip8.py
-chip8/chip88/__init__.py
-chip8/main.py
Теперь у вас папка с проектом chip8, в ней основной файл main.py и один пакет chip88.  Тогда в файле main.py импорт из chip8.py должен выглядеть следующим образом:from chip88.chip import *
Кстати,  import * — это антипаттерн, так лучше не делать. Импортируйте только то, что вы намерены использовать в этом модуле.
Также обратите внимание, что я убрал заглавные буквы из всех названий файлов и папок. С заглавной буквы в питоне принято начинать только имена классов
***
Что почитать.
https://chrisyeh96.github.io/2017/08/08/definitive... — про импорты. Импорты в питоне только выглядят просто, на самом деле там есть важные нюансы, в которых лучше разбираться.
https://www.python.org/dev/peps/pep-0366/ — пеп именно по вашему случаю. Полезно, чтобы понять, почему ваш вариант не работает.
https://www.python.org/dev/peps/pep-0008/ — Ну и пеп8. Любой уважающий себя питонист должен знать этот документ на зубок. Тут всё про правило именования в питоне и другие принятые соглашения оформления кода и не только.

Худший ответ:
from Chip88.сhip8 import *
Вопрос: Какие есть хорошие блоги о разработке сайтов?

Лучший ответ:
по фронтенду:  
https://frontendfront.com/ - агрегатор статей из разных источников. 
css-live.ru - в основном, переводы. 
https://www.smashingmagazine.com/ - фронтенд, вордпресс, красивые обои :-)

Худший ответ:
web-revenue.ru уроки по wordpress (основа) и по modx revolution + немного сео
Вопрос: Как узнать что человек разработчик?

Лучший ответ:
if (confirm('Вы являетесь разработчиком?')) {
  location.href = 'https://github.com/...';
} else {
  alert('А зря!');
}

Худший ответ:
Привяжите сканер отпечатка пальца, просите прикладывать + накапливайте базу людей и не-разработчиков.
< /irony>
Вопрос: Онлайн чат для сайтов: node.js / erlang / другое?

Лучший ответ:
Велика вероятность, если он сольется, остаться с непонятным кодом, который некому доделать. По биржам фриланса пробежался, Erlang разработчиков крайне мало.
тогда о чем вообще вопрос ?
вы уверены что вам нужно будет так сильно масштабироваться как fb ? к слову вк чаты раньше жили на node.js, сейчас на go

Худший ответ:
пока не ясно как грамотно сделать балансировку нагрузки между множеством серверов
У вас сколько коннектов-то? До 100к примерно можно смело говнокодить на чем угодно из списка. До 300к можно говнокодить на Эрланге. Все это спокойно будет работать на одной машине.
Вот старая уже публикация про 1м на машине с 128Гб/40 cores на Phoenix: phoenixframework.org/blog/the-road-to-2-million-we...
Это с учетом оверхеда на Phoenix еще. Уберите его, пишите на чистом Эликсире, и будет еще полегче.
Вопрос: Книги о теории программирования. Подскажете?

Лучший ответ:
Классика: "Structure and Interpretation of Computer Programs" - "Структура и интерпретация компьютерных программ". Это наиболее фундаментальный и классический учебник по теме. Есть и в оригинале, и в переводе на русский.

Худший ответ:
Мифический человеко-месяц старая как мир книга, но оооочень интересно.
Стива Макконела и Роберта Мартина уже порекомендовали.
Вопрос: Как сделать статус бота discord.js?

Лучший ответ:
вставить логотип языка программирования и кружок в правом нижнем углу - невозможно.
но, вы можете добавить строки (visual studio code, editing, workspace, прошло).
конечно, бот не сможет следить за вашей рабочей областью и файлом, но строки будут, к примеру:
client.user.setPresence({
        game: {
          name: `Visual Studio Code\nEditing: discord.rb`, /* если интересует, как сделать "прошло" - отпишите в комментарии */
          type: 'LISTENING'
        }
      })
если желаете реализовать "стримит" - замените значение в type: на STREAMING и добавьте после STREAMING строку url:
url: "ссылка на twitch-аккаунт"
должно получиться так
client.user.setPresence({
        game: {
            name: 'text',
            type: "STREAMING",
            url: "ссылка"
        }
    });
});


Худший ответ:
Discord не предоставляет возможность делать расширенный статус для ботовclient.user.setPresence({
				game: {
					name: `ваш текст`,
					type: 0  //экспериментируйте доступные значения 0-3, что-то из этого "стримит"
				}
			})
Вопрос: Что делает оператор => в JavaScript?

Лучший ответ:
=> - новый стандарт.  http://learn.javascript.ru/es-function#функции-через

Худший ответ:
Его можно использовать для объявления анонимных функций. То есть function(a) { ... } и (a) => { ... } идентичны. Вполне возможно, что если только одно выражение, то скобки можно не писать
UPD: А там вправду БабелЪ
Вопрос: UTF-8 with BOM VS UTF-8 without BOM?

Лучший ответ:
В HTML unicode файлы без метки BOM отображаются карякозябрами, исправить это можно сохранив файл с меткой BOM.<meta http-equiv="Content-Type" content="text/html; charset=utf-8">В PHP unicode файлы если поставить метку BOM, команда session_start в начале файла выдаёт ошибку: 
Сохраняйте без BOM.

Худший ответ:
На моей памяти ВОМ был действительно нужен только в одном случае: для компиляции UTF-8 исходников в ВижуалСтудии, криворукие программисты которой не справились с автоматическим распознанием кодировки и не осилили сделать настройку, которая позволила бы пользователю задать кодировку принудительно.
В вебе про этот костыль лучше просто сразу забыть. Если проблемы с ним - значит, вы что-то неправильно делаете.
Вопрос: Задан файл с функциями определить какие из них рекурсивные?

Лучший ответ:
Найти или написать парсер
Пройтись по AST
Найти те определения функций, которые включают вызовы себя

Худший ответ:
Читаем все функции в массив, где ключом будет название функции, а значением  - тело функции. 
Перебираем этот массив, проверяя следующим образом:
Если название функции содержится в теле - то это рекурсия, пишем этот элемент в другой массив
Иначе - рекурсии нет, проверяем следующий элемент.
Вопрос: Как делать список квадратов?

Лучший ответ:
Я сейчас тебе всё объясню.
Если ты дочитал до места, которое слабо понимаешь - отлистывай книгу назад до страницы, где понимал всё сильно. И с этой страницы читай заново.

Худший ответ:
Все довольно просто же, и подробно описано в книге. Попробуй прочитать код переведя все на русский, пока переменная (value) в массиве от 1 до 10  переменной "квадрат" присвоить значение value^2, в список квадраты добавить значение "квадрат"
Вопрос: Фильтрация данных, покритикуйте мою реализацию?

Лучший ответ:
1. PSR-1, PSR-2, PSR-4 прочитай и используй.
2. Если что-то идет не так - не возвращай false, бросай исключение.
3. Для возврата множества типов значений должна быть реальная причина, то что вы в valid_password возвращаете либо пароль оттримленный (это вообще не задача валидации), либо false - это не правильно.
4. Требуйте конкретные типы входящих данных. Например для того же пароля - надо проверять что на входе строка. Иначе: https://3v4l.org/TjOJV
Посмотрите как надо https://github.com/ko-ko-ko/php-assert ))

Худший ответ:
В PHP можно не плодить функции на каждый чих просто из-за того, что у них разные аргументы. Например, так:$input = SmartInput::parsePost([
  'id' => SmartInput::INPUT_INT,
  'sex' => ['type' => SmartInput::INPUT_ENUM, 'enum' => ['male', 'female', 'none'], 'default' => 'none'],
  'birthday' => SmartInput::INPUT_DATE_OPTIONAL,
  'phone' => ['type' => SmartInput::TYPE_PHONE, 'multiple' => true]
]);
Внутри функции - цикл и case.
Вопрос: Должен ли дизайнер предоставлять svg?

Лучший ответ:
Верстальщик может хрен положить на это дело.
Если дизайнер не дает материалы в нужном формате.
Верстальщик делает так, как предоставлен макет.
Но если в макете вектор, то сделать из него SVG не трудно.
В данном случае, можно и самому сделать.
Другое дело, если в макете представлен растровый рисунок.

Худший ответ:
Есть архив, в котором все необходимые материалы: шрифты, jpg, psd, стайл гайд, png, паттерны, svg. Если что-то непонятно, то всегда вкладываю файл с контактами для верстальщика для консультации.
Вопрос: Как утилита wget делает дозакачку файла?

Лучший ответ:
Для дозакачки нужно чтобы сервер поддерживал http заголовок Range 
Про поддержку Range сервером nginx написано тут

Худший ответ:
> и получаем запрашиваемый файл сначала
вот тут у вас две ошибки. протокол HTTP позволяет качать с любого места, а не только с начала.
Вопрос: Как не допустить бана сайтов(сетки)?

Лучший ответ:
странный личный кабинет

Худший ответ:
Запретите поддомен со специфичным лк для индексации через robots.txt
Вопрос: Диагностика материнской платы s3000ah?

Лучший ответ:
Схему вы не найдете, это пустая трата времени. 
Вам нада начинать с проверки"фаз" питания (мощные полевые транзисторы) а также проверить контроллер питания, который ими заведует. Берите мультиметр и вперед все обмерять.
Также необходимо проверить плату на признаки "беременности"(вспухшие эл. Литы), если такое есть, то "принять роды"(заменить на исправные). Либо каждый надо выпаять и индивидуально промерить на ESR.

Худший ответ:
В 2013 мне такая же в руки попала. Джемперы проверьте и кабель дополнительного питания1 (должен быть хотя бы 4 pin). И, кажется, при запуске без DIMM она не запускается и сигнализирует пост-кодами.Рабочий режим. Если не поможет, тогда уже схему копать надо.
Вопрос: Изогнутый монитор и frontend?

Лучший ответ:
Лучше купите iMac 5k, изогнутый монитор имеет смысл только для игр.

Худший ответ:
Баловство все это, при работе вы гораздо ближе в монитору находитесь, чем при просмотре видео и играх. Плюс сфокусированы одновременно на какой-то части экрана только. Поэтому при большом радиусе кривизны, вы и не отличите разницу с плоским. Плюсы только для продавцов.
Вопрос: Как вывести DIV через ECHO?

Лучший ответ:
<?php if(isset($row)) :  ?>
                    <div class="uk-button-group">
                            <a class="uk-button uk-button-link uk-button-large" href="../auth/signup.php">Регистрация</a>
                            <a class="uk-button uk-button-success uk-button-large uk-margin-left" href="../auth/login.php" style="background-color: #ffb433;"onmouseover="this.style.backgroundColor='#eb8d00';" onmouseout="this.style.backgroundColor='#ffb433';"><i class="uk-icon-lock uk-margin-small-right"></i> Войти</a>'
                    </div>
<?php  endif;  ?>

Худший ответ:
heredocАльтернативный синтаксис
Вопрос: В чем смысл привязывать к null this?

Лучший ответ:
Чтобы вызвать функцию через apply или call нужно передать значение, которое примет this внутри функции. Но при этом this внутри функции может не использоваться, но передать надо. Поэтому передать null это первое, что приходит на ум. А вообще можно что угодно.

Худший ответ:
Дело не в this и null, а в том что можно передать произвольное кол-во аргументов в функцию.
Вопрос: Миксин в Django?

Лучший ответ:
За три дня так и не разобрались? У вас два разных представления, которым приходит два разных slug, и которые работают с разными моделями, но из-за миксина метод get у них один. Либо вообще не используйте миксин, так как в вашем случае от него нет никакого толку, либо сделайте его обобщённым, чтобы он использовал модель того CBV, в который подмешан.

Худший ответ:
В html циклами.{% for post in MODEL %}
<div class="card mb-2">
  <div class="card-header">
  {{ post.date_pub }}
  </div>
  <div class="card-body">
    <h5 class="card-title">{{ post.title }}</h5>
    <p class="card-text">{{ post.bodu|truncatewords:20 }}</p>
    <a href="{{ post.get_absolute_url }}" class="btn btn-light">Read</a>
  </div>
  <div class="card-header">
    Tags:
    {% for tag in post.tags.all %}
      <a href="{{ tag.get_absolute_url }}" class="badge badge-secondary">{{ tag.title|title }}</a>
    {% endfor %}
  </div>
</div>
  {% endfor %}
Вопрос: Как правильно отправить несколько функций в качестве колбека?

Лучший ответ:
Является ли нормальной практикой создание нового метода , включающего в себя эти три метода
Если вам надо эти методы вот так вот вызывать в нескольких местах - определённо стоит сделать.
Но если случай единичный, можно просто передать в качестве коллбека функцию, которая будет содержать вызовы нужных методов. Типа так:buildButton(() => {
  this.drawSomeButtons();
  this.changeSomeVariables();
  this.doSomethingElse();
});

Худший ответ:
Это нормальная практика. И даже хорошее решение. Я бы присмотрелся к ramda compose. Тогда и не придется вызывать функции, а просто как ссылки передать в f = R.compose(a,b,c)
А потом ее f передаешь в кол бэк для обработчика
Вопрос: Как исправить работу javascript в выпадающем меню?

Лучший ответ:
Сделай максимум в CSS, a js только класс добавляй.

Худший ответ:
мне всегда помогал метод .stop() без аргументов но лучше конечно на цсс
Вопрос: Как разделить сервер на 3 части, чтобы разместить 3 сайта?

Лучший ответ:
Слово - "Виртуализация".

Худший ответ:
Ну, тут я вижу два варианта: 1 - виртуализация, 2 - контейнеры. Для первого гуглите про kvm, xen. Для второго - lxc, openvz. Прочитайте об этом и выберите, что вам по душе. 
Для вашей задачи я бы смотрел в сторону контейнеров, менее затратно по ресурсам.
Вопрос: Как сделать цветной текст Python?

Лучший ответ:
Консоль у тебя кривая

Худший ответ:
Кое что забыли)from colorama import Fore, Style, init

init()

print(f'{Fore.GREEN}Hello World!')
input()
Вопрос: Как вычислить градус поворота между точками?

Лучший ответ:
Это некорректно поставленная задача.

Худший ответ:
Вы неправильно формулируете. У вас не только 2 точки. Между двумя точками не может быть градуса поворота. У вас в точке А находится ориентированный объект с каким-то углом. AB образуют вектор и объект ориентирован вектором. Нужна найти угол между векторами. Легко найдете как.
Либо на AB лежит прямая. Вторая прямая тоже проходит через А, но под определенным углом.
Короче, можно несколько представлений использовать и решать задачу в зависимости от ваших знаний. Это школьная программа поэтому конкретного ответа вы, скорее всего, не получите
Вопрос: Можно ли отключить интернет на вкладке браузера?

Лучший ответ:

вот

Худший ответ:
Попробуйте установить расширение Block Yourself from Analytics и примените к необходимому сайту
Вопрос: Какая структура у реляционной базы данных?

Лучший ответ:
На низкий уровень переходят когда на обычном хоть что-то понятно.
Как он вам поможет, если вы совсем не знаете как оно работает при "обычном использовании"?
Сначала надо SQL познать. Это достаточно скромный язык и там ничего сверхсложного нет.
Все нюансы уже зависят от того какую СУБД использовать: postgre, mysql, mssql.
А основная база языка с самыми простыми вещами select, insert, update, delete, where во всех одинаковая.
И учить почти нечего, т.к. понимается оно на уровне чтения т.к. написано не абстрактными функциями, которые надо изучать по документации, а словами которые делают то что они значат.
Нет таких процессов поиска/связей как вы описали.
Таблица ссылаются друг на друга, но это совсем не для select, потому что select сам по себе никак не затрагивает связанные данные из других таблиц.
Связь таблиц работает в случае обновления/удаления записей, например.
В остальном работа базы внутри гораздо сложнее чем несколько пунктов по одному предложению, и сильно отличается в зависимости собственно от используемой базы.
В mysql(и аналоги во всех других субд) есть индексы, кеш, партиции, данные на диске, данные в оперативной памяти.
Все это так или иначе участвует в процессе поиска и выбора данных.
Не говоря уже про кучу оптимизаций и всяких заумных алгоритмов чтобы это работало с супер скоростью и огромными данными которые оно может содержать.
Так что если не удаётся понять основы SQL, то внутри вообще тёмный лес.(исходники открыты, можно до дыр зачитать)

Худший ответ:
книгу смотри тут +  книгу "mysql оптимизация производительности"
еще смотри классический "JOIN vs WHERE IN" или просто логику JOIN, которая использует ВНЕЗАПНО не столько память, сколько процессор
но если ты в универе и без практики - без обид - нет такой книги про устройство БД которую на данном этапе поймешь
Вопрос: Как именно устроены session и cookies?

Лучший ответ:
1. Нет никакой синхронизации. Сервер может только указать клиенту, что ему нужно установить куку X в значение Y хэдером Set-Cookie и считать с пришедшего на сервер запроса куки (все куки отправляются в каждом запросе на сервер).
2. Сессии могут храниться на клиенте (signed cookie session). При этом используется подпись куки с помощью HMAC, чтобы данные сессии не могли быть свободно изменены клиентом. Но обычно сессии хранятся на сервере. Тут выбор огромный: от баз данных и key-value хранилищ (Redis, например) до простых файлов. При этом, клиенту посылается кука ID сессии (так сервер идентифицирует юзера), которую злоумышленник может стащить. Таким кукам, дабы защитить юзеров от XSS, ставится флаг HttpOnly, который советует браузеру не давать эту куку скриптам вроде JS. В этом случае, стащить куку получится только завладев браузером, файловой системой юзера или через багу браузера.
3. Смотри второй ответ. В некоторых случаях - да. Но редко.
4. Можно передавать значение session id в строке URL (GET - параметром), вроде такого: example.com/some/page/?session_id=2af26905dcf31a1d... Некоторые сервисы используют это, как fallback вариант, однако, он очень небезопасен, т.к. любой XSS или простой безобидный JS вроде Яндекс.Метрика видит весь URL. Так что, посылаем юзера включать куки.

Худший ответ:
Cookies - файл на клиенте хранящий какие-то данные в виде ключ-знавение и передающиеся в заголовке https запроса
На клиенте хранится идентификатор сессии по которому на сервере получаются данные о клиенте
Вопрос: Насколько критично использование миграций в Laravel для одиночного проекта с одним разработчиком?

Лучший ответ:
Миграции всегда и везде, они нужны не для команды или кого-то еще, а для версионирования изменений в базе. Это все равно что "а нужно ли мне использовать гит, если я один разраб в проекте?!" – да, черт возьми, нужно!
Чем раньше вы привыкните к правильному подходу, тем выше ваша ценность в сообществе.

Худший ответ:
Ответ от Алексея в комментариях здесь: https://toster.ru/answer?answer_id=1340557#comment...
Вопрос: Скрывать ссылку если пользователь нажал на нее?

Лучший ответ:
Если без перезагрузки страницы, то можно так:$(document).on('click', '.myBlock a', function(evt){
  $(this).closest('.myBlock').remove(); // убираем блок
  evt.preventDefault(); // отменяем переход
})
Если перезагрузка нужна, то придется сохранять состояние блоков, в localStorage, например, а при загрузке страницы скрывать те блоки, для которых есть записи в localStorage.

Худший ответ:
Вешать куку при клике на ссылку.