Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему «e» — undefined?

Лучший ответ:
throw PhraseError
Где-то тут пропущен new. То же относится и к вызову HttpError.

Худший ответ:
Вы должны передавать оператору throw не конструктор, а инстанс ошибки:throw new PhraseError('Phrase is not defind' + name);
throw new HttpError(404, "Page is not defind");
Вопрос: Корректно ли располагать меню навигации по сайту не в header?

Лучший ответ:
Вполне.
Шапка не означает что в ней должно быть меню.

Худший ответ:
Почему нет? Если не divами, а html5 всякими nav, menu, то да. Header на странице может быть не один, а сколько угодно много.
Вопрос: Что нужно знать новичку в php?

Лучший ответ:
Как минимум ООП. 
Да, научитесь наконец серверы настраивать. Постоянно треш какой-то.

Худший ответ:
Практическое изучение PHP. C чего начать? Где брать материал?
Вопрос: Как сделать плавающие элементы?

Лучший ответ:
Самый простой способ на css @keyframessnippet

Худший ответ:
Как правило тут 2 варианта:
1. Либо это видеофон, то соответственно вы этим не занимаетесь
2. Либо это svg анимированный
Думаю исходя из этих 2 пунктов сможете прогуглить
Вопрос: Что нужно знать Python Junior / Intern?

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

Худший ответ:
Если особо серьезной нужды нет, не советую

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

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

Худший ответ:
Рулетка настоящая или так, для вида? Если настоящая, то она должна слать данные на сервер, если для вида, то рандом желательно)) Если рандом для видимости, то нужно продумать "шанс" выпадения того или иного числа + "честность" данной рулетки.
Вопрос: Импортозамещение: IP-телефония?

Лучший ответ:
Да так же всё как и всегда в России. А делаются все эти Эльбрусы лишь для галочки и Гос. Заказов с большими откатами.
Статейка о попытке использования: https://geektimes.com/post/300497/

Худший ответ:
В плане сетевого оборудования и voip, не все так грустно, есть прекрасные ребята Eltex - https://eltex-co.ru/
Вопрос: Почему при деплое heroku не видит библиотеку pywin32?

Лучший ответ:
Есть подозрение, что библиотеки для Windows не очень любят работать из под линукса...

Худший ответ:
Это расширение только для win32, а там nix* система
Вопрос: Может ли Synology ds413j сам делать бэкапы?

Лучший ответ:
Настроить бэкапы на этом??? Да я, как писал дяденька Маяковский лучше в баре бл... буду подавать ананасную воду!
Это даже не сохо. Это чрезвычайно скромное даже по меркам synology, домашненькое устройствочко, которое предназначено для бытия в домашней сети и для бизнеса не приспособлено от слова совсем. По идее у synology есть hyperbackup, но я не уверен, что на этой тощей железке он запустится. Есть там еще какой-то Data Replicator.
Можно расшарить на ней диск и на него кем-то или чем-то складывать. Если способны поставить optware, можно на bash скрипт написать, чтобы забирал. Ваше руководство просто деньги пульнуло зря.

Худший ответ:
Synology ds413j это NAS и умеет ровно то, что должен уметь NAS - создавать сетевое хранилище данных..
Вопрос: Как создать массив из экземпляров класса и получить значения их свойств при переборе этого массива?

Лучший ответ:
Что за дурная привычка бросаться писать, даже не ознакомившись с основами? Тут вам не js, i - это не индекс, а элемент списка. Так и пишите: print(i), print(i.xPos).

Худший ответ:
Нигде в интернете не смог найти ответ на этот вопрос.
А зачем искать ответ в инете если вам его сам python написал)TypeError: list indices must be integers or slices, not Agent
Вопрос: На сайте не работают некоторые кнопки или выскальзывающие окошки?

Лучший ответ:
Весь сайт создан на elementor и crocoblock.
Господь бог поможет

Худший ответ:
Отключаем плагины ВСЕ. Проверяем.
Если проблема остается с js ошибками в консоли - включаем дефолтную WP тему (twenty)
Плагин по одному активируем - смотрим. Как js ошибки посыпали в консоль - это он "негодник". Знаем имя. Идём в репозиторий плагинов вордпресс - там форум поддержки.
Автору плагина поддерживать его детище.
Вариант проще: фрилансеры разберутся за вас. 
Фрилансеры тут https://freelansim.ru/
Вопрос: Отправка фото при команде в telegram bot?

Лучший ответ:
Так можно отправить рандомную фотку со своего компа.import random
import os
#send_random_picture
all_files_in_directory = os.listdir('path')
file = random.choice(all_files_in_directory)
doc = open('path' + '/' + file, 'rb')
#если нужно подпись к фото
caption = "любой текст"
#send_random_photo
bot.send_photo(chat_id, doc, caption)

Худший ответ:
Либу мы сами должны угадать? Читай доки, гугли
https://github.com/eternnoir/pyTelegramBotAPI/blob...
Вопрос: Объединить две функции?

Лучший ответ:
Основная прелесть PHP в том что вам не нужно никакое эхо для вывода простого текста в браузер и вы можете произвольно комбинировать html и вставки из PHP (в отличии от какого-нить питона). 
Я бы ваш пример переписал например так:<?php
function hello(){
return 'Привет';
}
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset = "utf-8">
  <title><?= hello() ?></title>
  <script src="/libs/jquery.min.js"></script>
  <script src="/scripts/ajax.js"></script>
  <script src="/scripts/ajax-rdct.js"></script>
  <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
  <link href="/style/pages.css" media="screen" rel="stylesheet">
</head>
<body>

Худший ответ:
Если я правильно понял вопрос, тогда так:<?php
function head ( $name ){
echo '<!DOCTYPE html>
<html>
<head>
  <meta charset = "utf-8">
  <title>';
hello();
echo '</title>
  <script src="/libs/jquery.min.js"></script>
  <script src="/scripts/ajax.js"></script>
  <script src="/scripts/ajax-rdct.js"></script>
  <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
  <link href="/style/pages.css" media="screen" rel="stylesheet">
</head>
<body>';}
Вопрос: Почему в тестах выдает ошибку 'Response' object has no attribute 'items'?

Лучший ответ:
потому что функции, декорируемые @app.route должны возвращать Response object 

короче вот так правильно
return Response("This is your login", status=200, content_type="text/plain")

или если json то вот так проще:
return jsonify({"message": "This is your login"}), 200

Худший ответ:
Сама проблема была с 
data=jsonify(payload)
jsonify(payload) формировал 
<Response 46 bytes [200 OK]>
На это нужно было сразу обратить внимание ибо код дальше client.post не проходил. 
Убрал jsonify и тест прошел успешно.
Вопрос: Сетвеая карта не видит сеть 5ghz почему?

Лучший ответ:
802.11bgn это всё 2,4GHz
Если бы было написано IEEE 802.11ac , то это уже 5Ghz.
Ваш девайс не может работать на 5Ghz физически.

Худший ответ:
Установка драйвера RTL8192DE в Windows 10.
Вопрос: Что за абсурд с этим жестким диском?

Лучший ответ:
HDD был загрузочным, а система стоит на другом диске.
Теперь вам нужно восстановить загрузчик и разместить его на тот диск, на котором система.
В общем загружайте компьютер с установочного диска и восстанавливайте загрузчик.

Худший ответ:
Системный и загрузочный диск - это не совсем одно и то же. Если речь про Windows - то надо восстановить загрузку  с установочного диска, инструкций хватает. Сталкивался с таким, тоже сразу не мог понять - почему система не грузится.
Вопрос: Насколько важна библиотека app.js (конфликтует с другой библиотекой от Bootstrap) в Laravel?

Лучший ответ:
Так-то в app.js из коробки как раз и стоит bootstrap полностью работающий, если вы сверху подключили еще один, то понятное дело что всё сломается.
В app.js это не библиотека, а ваше собранное приложение т.е. весь фронт.
Из коробки там сразу стоит vue, bootstrap и еще по мелочи всякие настройки. Опционально вообще меняется на react с помощью одной команды artisan.

Худший ответ:
а вдруг потом понадобится
Не скоро понадобится. К этому времени вам уже будет известно решение.
Вопрос: Как отловить ошибку Ajax + php?

Лучший ответ:
function runall() {
	closePopup();
	$.ajax({
		type: "POST",
		url: "proces.php",
		data: "send_form=3",
		success: function() {
			$(".popupbg").show();
			$(".popup").css('margin-left', ($(window).width() / 2 - $(".popup").width() / 2) + 'px');
			$(".popup").empty().append("<p style=\"width:100%;\">Задача поставлена в очередь</p><button class='cancel' onclick='closePopup()'>Ок</button>").show();
			$('#a2').click();
		},
		error: function() {
			// показать сообщение об ошибке
		}
	});
}

Худший ответ:
Почему-то обращение на proces.php выдает ошибку 500.
обычно так происходит при выключенном выводе ошибок, при фатал еррор. Смотрите логи или ini_set('display_errors', 1); вставьте перед кодом.
Вопрос: Как сделать так, чтоб с регистрацией нового пользователя создавался профиль(модель Profile)?

Лучший ответ:
Используй сигналы, Люк!
from django.db.models.signals import post_save
from django.dispatch import receiver

@receiver(post_save, sender=User, created)
def save_profile(sender, instance, **kwargs):
    # instance — это сохранённый экземпляр модели User
    # created — это флаг, указывающий был ли пользователь создан, или сохранён уже существующий

Худший ответ:
yourapp/models.py где хранится модель профиля

from django.db.models.signals import post_save
from django.dispatch import receiver

@receiver(post_save, sender=User)
def save_or_create_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.create(user=instance)
    else:
        try:
            instance.profile.save()
        except ObjectDoesNotExist:
            Profile.objects.create(user=instance)
Вопрос: Какой сервис позволяет узнать какие сайты ранее посещал пользователь?

Лучший ответ:
Нет, ведь по сути эти данные и позволяют им зарабатывать деньги, они сами покупают такие данные

Худший ответ:
Нет, они не позволяют получить эти данные за деньги
Вопрос: Почему save() не сохраняет определенные параметры?

Лучший ответ:
Насколько я понял вопрос, нужно установить по дефолту для param3 значение Null

Худший ответ:
Лучше всего использовать такой метод:
В модели добавить:protected $fillable =[
        'поле1',
        'поле-n' //поля которые будут заполняться
    ];
а сохранять так:$item = (new BlogCategory())->create($request->all());
Вопрос: Как на чистом JS проще всего организовать модули?

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

Худший ответ:
Аквино К., Ганди Т. "Front-end. Клиентская разработка для профессионалов. Node.js, ES6, REST." Описаны паттерн модуля типа  "немедленно выполняемого функционального выражения" (IIFE) и паттерн модуля NodeJS. Ну и кроме этого много всего полезного по JavaScript  в целом и frontend в частности.
Вопрос: Стоит ли дальше изучать фреймворки?

Лучший ответ:
1) Можно ли это как то победить и если можно то как?
Писали ли вы до фреймвоков свои велосипеды на ООП?
Работали ли с микрофреймворками?
Как долго программируете на PHP?
Как долго изучаете фреймворки?
Знаете ли чем отличается абстрактный класс от интерфейса?
Можете ли написать на Yii2 просто блог, статейник без корзины, поиска?2) Стоит ли дальше изучать фреймы или надо просто признать - что программирование это не мое?
Ответ зависит от ответов на пункт 1

Худший ответ:
Упорным трудом! Победить можно и нужно. Это случается когда у тебя нет опыта, случается со всеми и у всех. Не останавливайся, чем больше будешь работать над собой и делать различные задания, тем шире будет кругозор. Ты должен научиться мыслить алгоритмически и применять свои знания по назначению, после этого будешь ставить свои цели в обучении и в работе, все постепенно встанет на свои места!
Вопрос: Почему при запросе SQL через тело функции PHP получаю ошибку соединения?

Лучший ответ:
Главная проблема пхп в том, что во всех онлайн учебниках написан ужас из прошлого века. И самое печальное что пользователи тиа AUser0 его бездумно повторяют.  

Вот как будет правильно:
function get_user($connection, $user_id) {
    $stmt = $connection->prepare('select * from users WHERE id=?');
    $stmt->bind_param("s", $user_id); 
    $stmt->execute();
    return $stmt->get_result()->fetch_assoc();
}

Худший ответ:
Про область видимости переменных уже подсказали, внимательно изучайте.
А что-бы было на чём осознать написанное в документации, вот ваш код (с простейшей защитой от SQL-иньекций, тоже стоит изучить):
function sql_query($user_id) {
    global $connection;
    $query = "SELECT * FROM users WHERE id='".mysqli_real_escape_string($connection, $user_id)."'";
    if(!$query_result = mysqli_query($connection, $query)) {
            die('Query failed: '.mysqli_error($connection));
    } else {
            echo ('Complete');
    }
    return $query_result;
}
Вопрос: Sqlite Python.Ошибка чо делать?

Лучший ответ:
Извините, но это уже п...ц какой-то. Вы бы хоть самый простой справочник какой полистали чтоли.
import sqlite3
conn = sqlite3.connect("mydatabase.db")
cursor = conn.cursor()
cursor.execute('CREATE TABLE login (id INT (11) NOT NULL,user_name TEXT (256) NOT NULL)')

Худший ответ:
Такую ошибку может выдавать, если база данных УЖЕ создана.
И вы пытаетесь создать такую же базу данных с таким названием.
В данном случае вам необходимо подключаться к БД,
Вопрос: Из csv в mysql таблицу PYTHON?

Лучший ответ:
Их CSV можно напрямую в MySQL без каких либо скриптов, одним запросом

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

csv_file = '/home/decoy/Downloads/police-department-calls-for-service.csv'
db_props = {
    'host': '192.168.1.2',
    'port': 3306,
    'user': 'non-root-boy',
    'passwd': '123456',
    'db': 'sfpd'
}
query = ''''INSERT INTO sfpd(`Crime Id`, `Original Crime Type Name`,
                   `Report Date`, `Call Date`, `Offense Date`, `Call Time`,
                   `Call Date Time`, `Disposition`, `Address`, `City`, `State`, `Agency Id`,
                   `Address Type`, `Common Location`) VALUES("%d", "%s", "%s", "%s", "%s", "%s",
                   "%s", "%s", "%s", "%s", "%d", "%s")'''

with open(csv_file) as fh:
    csv_f = csv.reader(fh)
    with MySQLdb.connect(**db_props) as cur:
        for row in csv_f:
            try:
                cur.execute(query, row)
            except TypeError as exc:
                field_val = row[-2]
                if isinstance(field_val, str):
                    print(''.join(r'\x{0:02x}'.format(ord(c)) if c.isspace() or not c.isprintable() else c for c in field_val))
                else:
                    raise
print ("Done")
И, в-третьих, непонятно почему предпоследнее поле таблицы БД имеет тип varchar, а вставить вы пытаетесь число.
Вопрос: Как сверстать блок — картинка с текстом?

Лучший ответ:
Используй SVG. Там и взаимодействие можно настроить и адаптивность, если постараться. Но, сколько часто мне попадаются на глаза сайты с таким, там не запариваются с адаптивностью такой мотни. Чем ты хуже остальных?)

Худший ответ:
Используй SVG. Там и взаимодействие можно настроить и адаптивность, если постараться. Но, сколько часто мне попадаются на глаза сайты с таким, там не запариваются с адаптивностью такой мотни. Чем ты хуже остальных?)
Вопрос: Снимет ли обязательство по GDPR блокировка трафика из Европы по ip?

Лучший ответ:
Если у вас нет бизнеса в Европе - то вам наплевать.
По IP - ненадежно.
Сейчас полно любителей VPN, могут приезжать в другие страны граждане ЕС.
Только явно спрашивать и сохранять в профиле - "вы не гражданин ЕС, да-нет".

Худший ответ:
Нет.
Вопрос: Где можно почитать/посмотреть про принципы проектирования и написания ПО для стратегически важных объектов?

Лучший ответ:
Такие стандарты существуют. Наиболее известные - MISRA C и MISRA C++. Как можно догадаться, для языков С и С++, соответственно. Изначально созданы для автомобильной промышленности, но распространились и на аэрокосмическую отрасль, медицинскую технику, военных и прочие критичные к надёжности области. В том числе и АЭС.

Из MISRA C выросли SEI CERT C/C++, AUTOSAR General Software Specification, JPL Institutional Coding Standard for the C (стандарт NASA) и ещё куча других.

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

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

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

Update 2019-12-30:
На хабре появилась интересная статья с кратким обзором MISRA.

Худший ответ:
1) Теория надёжности.
2) Создание документации, инструкции, руководства пользователя.
3) Защита от дурака.
Вопрос: Что такое покраска трафика в QoS?

Лучший ответ:
При прохождении пакетов через порт сетевого оборуования они попадают в определенную очередь. Очередей на порту может быть несколько (сколько-то аппаратных, сколько-то программных). Очереди настраиваются, для них определяется, что они должны делать с пакетами при достижении определенных порогов (почитайте про basket token algorithm). Для каждой очереди задается светофор (ваши цвета красный, желтый, зеленый) - граничные значения. Для каждого граничного значения идут действия (шейпить, отбрасывать, перекладывать в другую очередь и т. д.).
Раскраска пакета означает назначение ему какого-то поля QoS (IPP/DSCP на уровне IP, 802.1p на ethernet или EXP на MPLS). На основании этой раскраски пакет помещается в одну из очередей на интерфейсе. Это никак не связано с цветами red-yellow-green.

Худший ответ:
Обычная маркировка трафика по приоритетам.
Вопрос: Как сдвинуть элемент вниз?

Лучший ответ:
Добавить в CSS:
.s5__block h4 {  min-height: 63px;
}
Тогда заголовок будет минимум высоты 63 пикселя. Входит две строки текста. Абзацы снизу все выстроятся по линии. Если заголовок будет 3 строки, тогда этот блок сдвинется пониже остальных.

Худший ответ:
Неправильный подход. Скорее верно так:.s5 .col-xs-12:first-child h4 {margin-bottom:30px;}
Или.s5 .col-xs-12:nth-child(1) h4 {margin-bottom:30px;}
.s5 .col-xs-12:nth-child(2) h4 {margin-bottom:15px;}
А в вашем коде Вы обращаетесь к каждому классу s5__block и в нем уже ищите первый h4 и применяете
Вопрос: Как вернуться к изначальному state после фильтрации?

Лучший ответ:
Добавь в общий State новое свойство, которое будет отвечать за твои option из селекта. Там просто будет строка с нужным названием



Затем создай отдельно функцию filter которая будет брать массив, фильтровать его и отдавать новый массив. Всё это взависимости от строки которую ты установил в state



Затем создай переменную VisibilityItems (видные item) и возьми тот основной массив который у тебя был в state и прогони через эту функцию фильтрации и передай как свойство компоненту табоицы. У меня код тут немного другой, но думаю логика понятна. 



То есть логика стейта такая. У тебя первоначально есть какой то массив в стейте. И в стейт добавляется новое свойство filter которое является строкой. Далее в компонент ты передаёшь массив, который прогоняется через функцию. Сам основной массив в стейте ни за что не трогай :)

Худший ответ:
Фильтровать нужно в рендере, а в стейт сохранять условия.
Вопрос: Почему картинка в таких блоках как или же не отображают картинку?

Лучший ответ:
Единицы измерения не забываем....promo {
    height: 800px;
    background: url('../icons/Layer_2.png') center center/cover no-repeat;
}

Худший ответ:
Укажите 800px, а не просто 800
Вопрос: Почему не перерисовывается компонент Vue?

Лучший ответ:
вам стоило использовать v-if вместо v-show, тк v-show переключает только display: block/none, а v-if ренедерит заново компонент, вызывая хуки жизненного цикла

Худший ответ:
Может будет кому полезно. По сути, чтобы обновить один компонент из другого (в моем случае соседнего)
нужно всего лишь в одном компоненте послать сообщениеthis.$root.$emit("newEvent", "Hello");
в другом - принять егоmounted() {
    this.$root.$on("newEvent", code => {
    });
  }
Вопрос: Как редактировать чужой код?

Лучший ответ:
Гхм..
На примере какого-нибудь сайта на Wordpress
Чаще всего подобный заказ приходит тогда, когда до тебя уже десяток рукожопов наговнокодили каждый как сам хотел, и когда в конце-концов пришел глобальный пушной зверь, этот заказ попадает как раз именно к тебе. 
В лучшем случае у тебя есть доступы и в админку и на фтп, в худшем - только в админку. На вордпрессе, если не ты изначально делал верстку будут стили уже скомпиленые и доступа к исходникам скорее всего нет.
Дальше ты пытаешься разобраться в этом месиве из говнокода, и, возможно, чинишь то что надо. На поиски нужного места ушло девять десятых всего времени, на саму работу одна десятая. 
И когда ты думаешь, что ты в этой жизни видел теперь все, на следующий день приходят правки по сайту, который еще хуже...

Худший ответ:
Всё индивидуально.

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

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

Но это в идеальном мире.

В реальном мире бывает, что исходники утеряны. Тогда придётся ручками править код. В этом случае можно воспользоваться любым css-beautifier, затем после правок код можно обратно сжать.

Вместо репы может быть доступ по ftp/ssh. Ну и в худшем случае - доступ через веб-морду.
Вопрос: Нужны ли дополнительные лицензии CAL?

Лучший ответ:
Скачиваем последний PUR с сайта Microsoft и там читаем:За исключением случаев, описанных в данном разделе и Условиях лицензии для конкретных продуктов для доступа к любому серверному программному обеспечению необходимы Клиентские лицензии или Лицензии, соответствующие Клиентским лицензиям.
То есть CAL-ы нужны.

Худший ответ:
Если вы имеете ввиду Microsoft Windows Server CAL 2016, то она используется для сетевых устройств. Если у вас 50 компьютеров, то для них надо купить 50 лицензий. На пользователей она никак не влияет. 
UPD: Т.е. если устройство уже было у вас в сети и на него покупалась лицензия, то ничего докупать не надо. Если это новая машина, которя ранее не использовалась то нужно покупать CAL.
Вопрос: Как обычный текст в Html превратить в ссылку, не добавляя Html тегов?

Лучший ответ:
Сделать кликабельными сами дивы - можно.document.addEventListener('click', evt => {
  if (evt.target.matches('div.link')) {
    location.href = evt.target.textContent.trim()
  }
})
Сделать похожими на ссылки визуально - тоже можно (в некотором приближении)div.link {
  color: blue;
  font-weight: bold;
  text-decoration: underline;
  cursor: pointer;
 }
Сделать их по-настоящему ссылками, без иземенения кода - нельзя.
Но изменять не обязательно вручную, можно скриптом же.document.querySelectorAll('div.link').forEach(cell => {
  let url = cell.textContent.trim()
  cell.innerHTML = `<a href="${url}">${url}</a>`
})

Худший ответ:
Пройтись регулярным выражением и обернуть в тег  a