Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как натянуть дополнительную страницу (например контакты) в теме wordpress?

Лучший ответ:
index.php — это не шаблон главной страницы, это самый базовый шаблон, он используется в том случае, если WP не найдет для запроса более подходящий. В этом шаблоне должен быть самый базовый цикл, а для главной лучше использовать front-page.php или home.php

Чтобы создать страницу с контактами вы можете создать файл с произвольным названием, например template-contacts.php. Обязательно в начале файла должны быть следующие строки и ваша верстка

/*
Template Name: Шаблон с контактами
Template Post Type: page
*/

После этого в админке, при создании новой записи в разделе «Страницы» у вас появится селект с выбором искомого шаблона

Чтобы заказчик смог менять информацию на этой странице, вы можете использовать плагины ACF или Carbon Fields, они создают поля, которые можно редактировать в админке. Значения этих полей нужно выводить в вашей верстке, тогда информация будет подгружаться из базы данных

Советую вам почитать подробнее про иерархию шаблонов, а для закрепления посмотреть как сделаны популярные темы и дефолтные twenty

Худший ответ:
Легко. Делаете шаблон страницы "Контакты". Контакты как и другие коммерческие страницы чаще всего реализуют через "Страницы", а не "Записи". Идете в шаблон page.php и присоединяете через функцию шаблон контакты для вашей страницы "Контакты".

Вот здесь смотрите https://wp-kama.ru/function/is_page
Вопрос: Как разграничить хранение данных пользователей?

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

Худший ответ:
доктор, поддержка, клиника - это роли. а данные можно хранить в доп. таблицах. например, doctor_profiles, support_profiles. в них есть user_id - связь с users. тогда доступ можно так $user->doctorProfile, $user->supportProfile. Можно создать https://laravel.com/docs/9.x/eloquent-relationship... или просто отдельно связь $user->profile где внутри if/else hasOne в зависимоти от role.
Вопрос: Где можно найти базу данных имен СНГ с полом?

Лучший ответ:
Составьте сами, это не сложно. 
Вот кстати мой вопрос https://qna.habr.com/q/1102424
Кстати каюсь не ответил. 

Так вот отсекал по повторам и словарю. Получилось что то около 18 строк. Основная база это около 210 000 пользователей. 

Для пола поищите церковные  словари, там есть разделение по полу и по именам у Грузин и Армян  точно есть

Кстати далеко ходить не надо
https://statusname.ru/catalog/wevro/zhenskoe-imya-...

Худший ответ:
Получилось решить следующим образом:

1)Вручную копировал имена по ссылке Владимир Коротенко. Но там имена очень редко употребляемые, если судить по русским.  Зато стран много.

2)Нашелся ресурс https://names.neolove.ru/national/  с самыми частыми именами. Написал простенький парсер на python с библиотекой Beautiful Soup для самых частых имен. Там есть Россия, Армения, Грузия, Узбекистан, но скажем, нет Киргизии и др.
Вопрос: Как редактировать файлы на сервере?

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

Худший ответ:
Непонятен лично мне до конца вопрос. Если передаете файл на который нет разрешения - неудивительно... попробуйте под root передавать
Вопрос: Где разместить домен для переадресации на основной сайт?

Лучший ответ:
не нужно его нигде размещять. размести его там же где и твой сатйт aliase (псевдоним,зеркало) и все
так в коде
ServerName test1.loc
  ServerAlias test2.loc www.test2.loc www.test1.loc
или в веб панели есть место где можно его добавить

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

Худший ответ:
Многие регистраторы (не российские) вместе с DNS-хостингом бесплатно предоставляют такую услугу для зарегистрированных у них доменов, а некоторые даже для чужих (по крайней мере у одного из них есть поддержка SSL); также есть DNS-хостинги с услугой перенаправления и бесплатным тарифным планом. Поищи их по моим предыдущим ответам и комментариям (подсказка: в них упоминается FreeDNS.afraid.org). Совершенно бесплатно можно использовать службу переадресации от LuaDNS, даже не имея у них учётной записи. Ещё есть 301redirect.website…

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

Лучший ответ:
Планирую начать им пользоваться, где-то через год
Сейчас продать, через год купить новый.

Худший ответ:
Зарядить примерно на 60%, это наиболее стабильное состояние литиевого аккумулятора, так он будет меньше всего деградировать
Вопрос: Как понять что сайт не упадет и не будет виснуть при определенном трафике?

Лучший ответ:
Зависит ли это от стека технологий? 
зависит буквально от всего.
Может быть есть какие нибудь специальные тесты для проверки этого?
Да, для этого существует нагрузочное тестирование.
Провести его можно при помощи яндекс танка/jmeter/gatling

Худший ответ:
Если под определенным трафиком подразумевается не его объем, то делается фаззинг-тестирование и тестирование на проникновение
Вопрос: Курс/Гайд по БД для веб-разработки?

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

Худший ответ:
Граббер - SQL для простых смертных
Вопрос: Как удалить get параметр с помощью js/jquery?

Лучший ответ:
Тут два вопроса в одном.

Первый – получить параметры запроса и удалить из них искомый. Это работа с апи URL и searchParams - там есть метод delete() для удаления параметра. В итоге из URL получим новую адресную строку без лишнего параметра.

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

const url = new URL(document.location);
const searchParams = url.searchParams;
searchParams.delete("test"); // удалить параметр "test"
window.history.pushState({}, '', url.toString());

Худший ответ:
используй https://developer.mozilla.org/en-US/docs/Web/API/URL ,  или  https://dmitripavlutin.com/parse-url-javascript/
Вопрос: Bitrix, почему не отображается страница?

Лучший ответ:
Дать по рукам тому, кто ее криво отредактировал во встроенном редакторе, открыть в нормальном редакторе, восстановить <?php

Худший ответ:
Вот нет чтобы объяснить нормально, так сразу наймите специалиста...

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

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

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

Худший ответ:
with open(path) as f:
    reader = csv.reader(f)
    for row in reader:
        _, created = Teacher.objects.get_or_create(
            first_name=row[0],
            last_name=row[1],
            middle_name=row[2],
        )

Источник: https://stackoverflow.com/questions/2459979/how-to...
Вопрос: Что значит Junior/Middle+?

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

Худший ответ:
На эти знаки не обращайте внимания. Вы знаете что в конкретной компании означает "junior"? Даже не представляете. Так вот + тут хуже не делает, та же невнятная фигня. Зато HR отчиталась что обновила текст вакансии для лучшего охвата)
Вопрос: Почему новый SSD (2022) хуже в два раза старого (2010)?

Лучший ответ:
Трактовать это "ну вот такой вот диск"
Особенно с учётом того что AMD никогда SSD не производила, а OCZ наоборот на памяти и специализируется и делала/делает очень даже качественные продукты.

Худший ответ:
Потому что диски и оперативка от АМД - гамно и никогда их ненадо покупать

А трактовать верно сказали. Вот такой вот диск)
Вопрос: Существует ли аналог Team Viewer-а для Android с возможностью удаленно позвонить с телефона на котором он установлен?

Лучший ответ:
Все кроме звонков, аналог teamviewer - это anydesk, такой же комбаин но пока без агрессивной политики перевода клиентов на платную основу.

На сколько я понимаю, доступ к in-call audio stream доступен только привилегированным приложениям, которые обычно установлены на system раздел (т.е. часть ОС а не стороннее по) либо требуется root, либо по разному реализовано у разных производителей.

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

Худший ответ:
https://www.airdroid.com/ru/ посмотрите это
Вопрос: Как сделать проверку открытых сайтов на js?

Лучший ответ:
Как уже сказали - "написать расширение для браузера и заставить всех его установить себе". Пример такого расширения (и кода) можно увидеть у Mozilla.

Статья

Само расширение, можно подсмотреть как это реализовывается

Худший ответ:
написать расширение для браузера и заставить всех его установить себе
Вопрос: С чего начать изучать django?

Лучший ответ:
Начинать, ну и собственно продолжать - нужно с ресурса Django documentation
Если слишком сложно - то можно попробовать с Django girls

Худший ответ:
Создаёшь проект и копаешься в нём, попутно изучая документацию. Рекомендую установить shell_plus и играться через Jupyter Notebook с моделями ORM и всем остальным. Также перед кодингом разберись с тем как работать с django-admin и manage.py. Также нужно знать SQL, иметь опыт с requests тоже неплохо. А в остальном присоединяюсь к ораторам сверху.
Вопрос: Как исключить из копирования всей папки, одну папку на .bash?

Лучший ответ:
используй опцию исключения 7z -x (Exclude filenames) switch

Худший ответ:
rsync  ........ с ключем --exclude вместо cp
или не копировать, а сразу делать архив tar - ом, там тоже есть exclude
Вопрос: Как исправить белый экран phpmyadmin после смены версии php?

Лучший ответ:
call to undefined function
скорее всего какого то расширения php не хватает

Худший ответ:
Ставьте дополнительную версию пхп 7.4 ( дабы nginx+fpm это делается легко)
подключайте в nginx  ее для phpmyadmin я не вижу на оф сайте поддирки 8 пхп
А еще лучше поставьет веб панель дабы их миллион и ставятся они в 1 клик
Вопрос: Как перевести страницу на японский?

Лучший ответ:
Попробуй вначале задать кодировку по умолчанию UTF-8

Худший ответ:
Это не ошибка, а предупреждение от VS Code, чтобы ты случайно код на русском не писал, например.
Если у тебя файлы в UTF-8, то никаких проблем не будет - просто выключи предупреждение, нажав на Adjust settings.
Если файлы не в UTF-8, то почини.
Вопрос: Как вызвать private метод в Fragmente Android Studio?

Лучший ответ:
В методе onCreateView, вместо
EditText editTextEmail = (EditText) v.findViewById(R.id.email);
        EditText editTextPassword = (EditText) v.findViewById(R.id.password);
Нужно
editTextEmail = (EditText) v.findViewById(R.id.email);
        editTextPassword = (EditText) v.findViewById(R.id.password);
Поясню:
У вас в пределах класса объявлены переменные private EditText editTextEmail, editTextPassword;
Затем, в методе onCreateView, вы при присвоении им значений, перед именем переменной пишете EditText Таким образом вы объявляете новые переменные, в пределах видимости метода, а переменные класса остаються неинициализированными, т.е. null.
Затем, после вызова, в методе userLogin у вас происходит обращение к переменной editTextEmail.getText() но, editTextEmail содержит null и такое обращение вызывает Null Point Exeption что для пользователя выглядит как просто закрытие приложения.
И не факт, что это единственная ошибка.

Худший ответ:
Не получается вызвать private void userLogin() в case 2. 

и что это значит? вот у вас же вызывается, вполне себе
case R.id.signIn:
                userLogin();
                break;

с точки зрения языка все ок. Ну а так дебажить и читать логи надо
Вопрос: Ubuntu Server- Read-only filesystem?

Лучший ответ:
Чтобы сильно уменьшить вероятность подобных событий, выношу из корня разделы /var и /tmp.
В результате на корневую файловую систему почти ничего не пишется, за исключением вручную запускаемых обновлений или установки нового софта, изменения настроек (а всё это делается не каждый день).

Худший ответ:
диск, внезапное неоднократное отключение сервака от питания, кабель сата...
Вопрос: Win 7 32бит ультимативная поставил две планки по 2 гб оп видит 3 как разблокировать всю память?

Лучший ответ:
32 битная операционка может адресовать только 4 гигабайта. 
Но в эти 4 гигабайта нужно мапить pci + Pci-e устройства, так что размер будет меньше. 
Простейший способ увидеть 4 и более это использовать 64 битную версию 
https://support.microsoft.com/ru-ru/topic/%D0%BD%D...

https://www.ixbt.com/soft/windows-4gb.shtml

Худший ответ:
1. Убедиться в BIOS, что эта память не выделена встроенной видеокарте.
2. Поставить Windows с официального диска, а не со Zver DVD и ему подобным. Поставить официальные драйвера от производителя ноутбука, а не из пака драйверов.
Вопрос: Кто генерирует секретный ключ для шифрования во взаимном TLS?

Лучший ответ:
https://habr.com/ru/post/258285/
1. Есть приватный и публичный ключ на стороне сервера, который сгенерирован сервером заранее и используется для проверки подлинности сервера клиентом.
2. Они же используются для передачи ключа для симметричного шифрования, который сгенерирован клиентом, если для обмена ключами используется RSA
3. Но также вместо RSA может использоваться алгоритм Диффи-Хеллмана, при котором и клиент и сервер генерируют части ключа на своей стороне.

Худший ответ:
Зависит от настроек и клиента, и сервера. Обычно есть некий централизованный CA, из которого выдаются и серверные, и клиентские сертификаты, но в общем случае они могут быть из разных CA и не совпадать.

Например, я какое-то время использовал конфигурацию, где у сервера был TLS-сертификат из обычного публичного центра сертификации, а клиенту необходимо было предоставить сертификат из приватного CA. Такая схема удобна из-за того, что на стороне клиента не нужно импортировать сертификат CA, а достаточно только самого сертификата, без цепочки сертификации. Меньше проблем доверия, лучше безопасность.
Вопрос: Смогу ли я выполнять заказы с таким гитхабом?

Лучший ответ:
Вряд ли. Еще несколько лет поучись - может к 18 сможешь пойти в офис. В идеале - после хорошего вуза.
P.S. Я конечно не юнити и не c# разраб, но гитхаб по сути выглядит пустым.  Да и в случае проектов на юнити - мне кажется что код - дело второстепенное. Любой кто захочет ознакомиться с твоими поделками - в первую очередь захочет увидеть результат - рабочие игры, а желательно приносящие прибыль игры.

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

Лучший ответ:
а какой минимальный набор знаний нужно иметь чтобы
получить первую работу фронтендом
1. Отличное знание базы JS
2. Умение хотя бы в один фреймворк\библиотеку Vue\Angular\React
3. Понимание как работает бэк(примерно), как работать с API
4. Портфолио (пример работы), например сделать свой аналог Кинопоиска, который по какому нибудь тестовому API будет брать JSON, и отдавать вашему SPA данные, которые будут накидываться на красивый макет. Чем сложнее будет проект(даже если в нем будут архитектурные ошибки) - (реализован фильтр, пагинация и тд и тп) тем больше шанс пройти каменную стену.

но не больше 6 месяцев
Если вы полный ноль - закладывайте год.

Худший ответ:
Да в целом никакой, можно книжку прочитать
Вопрос: Воспроизведение звука при наведении курсора мыши на объект?

Лучший ответ:
Попробуйте пример отсюда - https://ruseller.com/lessons.php?id=1041

Худший ответ:
Попробуйте пример отсюда - https://ruseller.com/lessons.php?id=1041
Вопрос: Как в данном случае работает наследование?

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

А явление, которое вы наблюдаете называется умными словами позднее статическое связывание (3 пример). Почитать кучу текста всё-таки придётся, этот нюанс в двух словах не объяснить, что вы хотели?

Худший ответ:
Да всё очень просто.
Приватное свойство доступно только в том классе, в котором оно объявлено. Оно не наследуется.
Вас смущает тот факт, что $this указывает на второй класс, но по факту вызывается метод класса А, и у него не будет доступа к приватным свойствам других классов.
Вопрос: Какой алгоритм используется при возможности 2 неудачных попыток?

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

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

Пусть C(n,k) - сколько надо в худшем случае бросков, если мы знаем, что предмет разбивается при бросании с 1..n и можно сделать k неудачных бросков. 

С(n,k) = min_i=1..n-1 ( max(C(i,k-1), C(n-i, k)) )) + 1

База - C(1, k) =  0; C(n, 1) = n-1.
Вопрос: Почему побайтовый сдвиг даёт разные результаты?

Лучший ответ:
Читайте тут до прояснения раздел "Bitwise shift operator.
Смысл в том, что если вы знаковое число сдвинули влево так, что старшим разрядом стала 1, то в результате получится отрицательное число. При сдвиге вправо знакового числа, освобождающиеся слева разряды заполняются битом знака (а не нулем), поэтому результат сдвига отрицательного числа так же будет отрицательным (а положительного - положительным:). Если сдвигать вправо беззнаковое число, то свободные биты будут всегда заполнятся нулями.
Кстати, на сколько помню, по стандарту знаковость char не определена (может быть как знаковым так и беззнаковым). Вам с вашим примером не повезло, char оказался знаковым. Зато это дало возможность немного глубже понять сдвиги.

Худший ответ:
Привет от integer promotion. Поэтапно с типами:
#include <iostream>
using namespace std;

int main() {

    char index = 33;
    auto c1 = index << 2;
    auto c2 = c1 >> 2;
    cout << typeid(c1).name() << " " << c1 << endl;
    cout << typeid(c2).name() << " " << c2 << endl;

    char enc;
    enc = index << 2;
    cout << "enc: " << (int)enc << endl;
    enc = enc >> 2;
    cout << "enc: " << (int)enc << endl;

    return 0;
}

Почему 33 << 2 дало отрицательное число в signed char, думаю, не надо объяснять?
Вопрос: В чем практический смысл тестирования?

Лучший ответ:
У багов есть разный impact. Или степень влияния на качество продукта. Вот какое влияние сдвинутых иконок?
Я думаю их увидели только жители стран которые используют перевод с английского и этот перевод оказался на несколько символов длинее оригинала из-за чего произошел развал дизайна. Можно сказать что аудитория некоторых стран ощутила легкое неудобство. 

Тоесть impact - так себе.

А что будет если программист 3Д графики допустил ошибку, которая приводит к крашу игры? Тут влияние посильнее. Я-бы сказал что это провал релиза. Как такое пропустили тестировщики (автоматизаторы или ручники) неважно) - ХЗ. Но тут важно срочно бежать в студию и выкладывать на steam экстренное обновление игры. И счет идет не на недели а на считанные дни. Кое-кому из отдела разработки и тестирования придется провести несколько безсонных ночей перед багфиксом.

Вот в этом и есть практический смыл тестирования. Тестировать важные части логики.

Худший ответ:

Какие тесты нужно было сделать, чтобы предотвратить этот баг?

Такие дефекты, обычно, отлавливаются при помощи ручного тестирования.

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

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

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


Так в чем практический смысл тестирования? Где оно нужно, когда даже крупнейшие компании допускают явные баги на главном экране игры (а там про команды с миллионными бюджетами).

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

Игры тут не самый лучший пример, тк их тестирование несколько отличается от тестирования обычного ПО своей количественной (очень много чего может сломаться) и качественной (много что сложно проверить) сложностью, а также количеством различных граничных значений.
+ в играх есть рандом, который может в неожиданных местах всё сломать.
Вопрос: Лёгкая задачка js, как возвести в квадрат с таким принципом (2∗n−1)?

Лучший ответ:
Ошибка в том, что работаете с текстовой строкой. А надо с числом.
function testCycle(n) {
    // var x = ""; // зачем нам текст
    let x = 0; // число!
//    for (i = 1; i <= n; i++){ // но надо до 2n–1 с шагом 2
    for (i = 1; i <= (2 * n - 1); i += 2) {
//    x += (2*i-1) + "  "
      x += i;
      console.log(i, x);
    }
    return x;
}

testCycle(6)  /*
1 1
3 4
5 9
7 16
9 25
11 36
36
*/
Или можно, как вы изначально написали, производить вычисления (умножать-вычитать) на каждом шаге. Избавившись таки от текстовых строк:function testCycle(n) {
  let result = 0;
  for (let i = 1; i <= n; i++) {
    result += 2 * i - 1;
    console.log(i, result);
  }

  return result;
}

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

function testCycle(n) {
    var x = '';
    var y = 0;
    for (var i = 1; i <= n; i++) {
    	y += (2 * i - 1);
    	x += y + ' ';
    	}
    return x;
}
console.log(testCycle(6)); 
//1 4 9 16 25 36