Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему sudo спрашивает пароль от юзера, а не от root?

Лучший ответ:
man sudo
до понимания
команда sudo и предназначена для того, чтобы не давать пользователю пароль рута, но при этом дать возможность выполнять некоторые операции от имени рута. 
ЗЫ. То, что обычно все делают "sudo su - " - это уже второй вопрос ). Кстати да, рекомендую изучить, чем отличается
"sudo su" от "sudo su -"

Худший ответ:
иэх и я напишу свои пять капеек :)
замена пароля root на пароль пользователя специально, чтобы не светить рутовым паролем.
sudo очень умная команда предоставления прав различного уровня пользователям.
правила доступа определяется конфигом.
к примеру в данном случае тебе предоставляются права суперюзера потому что ты входишь в группу sudo и есть такая запись в конфиге# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
там можно очень много чего интересного прописать, к примеру повышения прав для одной конкретной команды/скрипта, т.е. пишешь скрипт выполнения определенных "рутовых" задач, делаешь его выполняемым для пользователя, прописываешь необходимый доступ по пути в sudoers.d и вуаля пользователь может выполнить скрипт от имена рута. при этом ничего другого кроме этой последовательности команд он сделать не сможет - что есть карошо.
использовать root вообще не советую, просто пробел лишнийпоставишь и будет веселье. ну а su менее функционально.
Вопрос: Как нанять программиста?

Лучший ответ:
Если вы знаете "очень крутых", так попросите их оценить кандидатов для вас.

Худший ответ:
А деньги у вас есть? А наставник? 
Вариантов всего один. Покупаем с потрохами крутого, не просто программиста, а еще и наставника.
Вопрос: Как правильно перенести raid 1?

Лучший ответ:
У вас будет другой контроллер, поэтому массив нужно создавать заново.
Если хотите сохранить таблицу разделов - сделайте образ диска, и восстановите его на новый raid.

Худший ответ:
Дешевые контроллеры ничего не пишут на диск. Это удел только дорогих RAID-контроллеров.
Дешевые - сохраняют настройки у себя в памяти.
Я переносил. 
Просто повторяешь в настройках контроллера ту же конфигурацию (RAID-1) - и все.
У вас по сути совершенно обычные диски, который вы можете легко подключить куда угодно.
Вопрос: Аякс и валидация на сервере?

Лучший ответ:
Мне нужны яблоко и груша. Но может можно как-то обойтись, и взять только грушу?

Худший ответ:
Честно, сам не знаю, но как по мне, то делать проверку на аякс. Отправьте аяксом какой-нибудь пост, наприме ajax: on вместе с остальным data, и отслеживайте в пхп его, если принят, то проводите проверку аяксом, если нет, то форма экшеном сделает прямой запрос до пхп файла, в котором, естессна, ПОСТ'а ajax: on уже не будеи, и там уж  вы проведете валидацию посредством пхп
Вопрос: Есть что нибдуь кроме ajax?

Лучший ответ:
Есть ли еще какая нибудь технология для асинхронных запросов к бэкэнду кроме ajax? В качестве бэкэнда golangНа чем бекенд - разницы особо нет (обычно).
Есть ВебСокеты, вполне себе асинхронно (при должном подходе), глобальная разница между ним и AJAX'ом в том, что соединение поддерживается на постоянной основе.
Ещё есть socket.io, тоже что-то наподобии сокетов, но не подскажу точно, как именно оно работает, очень давно использовал и подзабыл...

Худший ответ:
websocket же.
Ну и еще long pooling и некоторые другие забытые и малоизвестные технологии.
Вот вам немножко ссылок: https://stackoverflow.com/a/31758613
Вопрос: Почему долгий ответ mysql базы при удаленном подключении?

Лучший ответ:
проблема может быть из-за DNS там где mysql, при подключении производится попытка получить имя или наоборот. Попробуйте делать подключение по IP адресу. Если это не шаровый хостинг, в файле hosts пропишите явное соответствие IP->имя
Возможно в результате выборки вы получаете слишком много данных, которым нужно время на передачу по сети.

Худший ответ:
сделай tracert / ping с сервера и посмотри результат (чем дальше сервер и больше объем информации, тем медленнее).
Вопрос: Университет для обучения веб-дизайну и веб-разработке, кто сталкивался?

Лучший ответ:
Автор, нет такого диплома в/о 
Есть диплом компьютер сайнс, который ты должен в той стране передать на эвалюацию 
Так что с этими своими "всего лишь для галочки" ты поаккуратнее

Худший ответ:
Не будет такого названия "веб-дизайнер, специальность №102067", нету такого в нашем гос. реестре, инженер в трудовой это называется, или техник. можно представить как "специалист в области автоматизированных систем и усправления - АСУ",  если идти по пути нотации той спеки на которую идёшь учиться, например в Бонч-Бруевича. К слову, зря про ИТ гон на универы. в Питере (по крайней мере, откуда Вы - не знаю) есть минимум 4 приходящих на ум культовых ВУЗа - Телекоммуникаций им. Бонч-Бруевича, Политехнический, ЛЭТИ, ИТМО - они МИРОВОГО УРОВНЯ (причём считаются именно ЛУЧШИМИ, а не просто в плоскости с сотнями других зарубежных). Кто Вам сказал такую чушь про ИТ - не знаю, и надеюсь, Вы пересмотрите свою позицию. Хотя в своё время я ушёл из универа недоучившись, т.к. знания, которые я получил через полгода на моём первом рабочем месте только начинали маячить перед моими сверстниками аж через 3-4 года. причём только в теории. Но. Это было давно (2005 год, кажется), и это было в узкой сфере безопасности, которая начинала только зарождаться тогда, теор база нулевая, практика тоже, законы дырявые и проседают по определениям конкретнее некуда, т.к. вся отрасль = "мир 20 лет назад". Сейчас инфа про корявость обучения уже неактуальна.
..а Иннополис?! Да бог с Вами..
А что за страна, кстати?
Вопрос: Является ли фичей Kotlin сокращение имени метода при вызове?

Лучший ответ:
Это проперти, штоле?

Худший ответ:
Эта фича называется свойство, её суть не в сокращении имён методов и пришла она в Kotlin из спецификации JavaBeans.
Вопрос: Как сделать отправку данных из формы на несколько эмеил?

Лучший ответ:
А через запятую не работает?

Худший ответ:
Как вариант, сформировать массив почтовых адресов и циклом повторить вызов метода отправки письма, меняя при этом адресата. Универсальный способ, который подойдёт даже для mail(). С uniMail я не знаком, возможно там уже предусмотрена автоматизация отправки нескольким получателям, тогда будет проще. Если там такого нет - опять же, способ с циклом и сюда подойдёт.
UPD: посмотрел я эту uniMail... печально там всё. Вы сами можете написать за час библиотеку получше. Алгоритм примерно следующий:
Сервер:
1. Делаете хранение адресатов (можно конфиг, можно БД, как вам лучше подойдёт);
2. Валидируете входные параметры запроса, делаете фильтрацию переменных, экранируете спецсимволы;
3. Формируете массив адресатов из хранимых данных;
4. Пишете функцию формирования письма, она же будет его и отправлять;
5. Проходитесь циклом по массиву адресатов, передаёте аргументы в функцию и вызываете её на каждой итерации.
Клиент:
Здесь надо просто собрать данные и послать их на серверный скрипт обработки, который я выше описал. Как организуете отправку (ajax, прямой post и тд) - так и будет работать, главное, как ниже отметил Александр, не храните важную информацию в hidden-полях, да и вообще на клиенте не храните никогда ничего подобного, начиная с DOM и заканчивая куками и GET-параметрами в адресной строке.
Вопрос: Как изучать компьютерные сети? Таненбаум не читается. И можно какие-нибудь эксперименты с этим делать,а то в холостую ненавижу читать.?

Лучший ответ:
Сети для самых маленьких отличные статьи

Худший ответ:
Разверните несколько виртуалок, сделайте между ними сеть или 2 и тренируйтесь.
Чтобы виртуалки поменьше жрали ресурсов лучше брать линукс без GUI или FreeBSD.
Вопрос: Как сделать откат на git'е?

Лучший ответ:
Ваш код не пропал - все изменения сохраняются в системе контроля версий (если вы делали коммиты).
Откатиться невозможно - можно перейти к определенному моменту в истории изменений (коммиту).
Надо посмотреть номер коммита в репозитории, к которому вы хотите откатиться, обычно что-то такого 3ff82acd8457abe69f6a26c3511fca100b95a49f, достаточно первых 7 знаков - 3ff82ac. Узнать номер коммита можно либо в веб версии, либо через команду:git log
Узнав номер коммита делаем следующее:git checkout 3ff82ac
Все, вы успешно перешели на ту версию, которая у вас в коммите.
В целом, если вам хочется лучше разобраться с гитом - пройдите данный курс .

Худший ответ:
Не могли изменения просто так пропасть. Потеря данных это push -f или reset --hard. Вы или в стэш их спрятали или они в другой ветке остались. Посмотрите в сторону git reflog.
Вопрос: Почему не работает правило DROP?

Лучший ответ:
К правилу input drop, ещё нужно forward drop сделать.
Вообще дропать в конце, нужно все пакеты пришедшие на wan интерфейс
З.Ы. Если пользователь к вам уже подключился, то после удаления его из адрес листа, нужно ещё дропнуть его коннект, в ip firewall connections.

Худший ответ:
Покажите полностью без картинок/ip firewall export
Вопрос: Пособие по алгоритмам для самых начинающих?

Лучший ответ:
Томас Х. Кормен: Алгоритмы. Вводный курс.
Д. М. Златопольский: Программирование.  Типовые задачи, алгоритмы, методы  2012
и просто сборник задач, вдруг пригодится для практики:
Д. М. Златопольский:  Сборник Задач по программированию

Худший ответ:
Алгоритмы также в Кнуте даються, но там много математики, если углубляться, то можно
Вопрос: Как сформировать версию продукта?

Лучший ответ:
В npm такое соглашение:1.0.0 - начальная стабильная версия1.0.1 - patch release, небольшие исправления, функциональность не меняется1.1.0 - minor release, добавление новой функциональности, сохраняется поддержка старой функциональности2.0.0 - major release, новая функциональность, не сохранена поддержка прерыдущих версий[link]

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

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

Худший ответ:
Дискретка для машинного обучения не обязательна. Нужны линейная алгебра. тервер и статистика.
Вопрос: Какая OC легче воспринимает нагрузки?

Лучший ответ:
Linux :) любая, которую лучше всего знаете.
Все они одно и тоже.

Худший ответ:
Какая Операционная система сможет принять больше запросов, не создав большую нагрузку ? Любая из распространённых.На какой Операционной системе лучше делать ? Всякие ОС-ы типа windows, linux, *bsd умеют работать с сетью, выполнять скрипты php, работать с СУБД, поддерживают apache. Многое с потреблением ресурсов зависит от самих приложений чем от названия ОС. В твоём случае системных ресурсов 1 gb ram, 10gb ssd, 1 core больше подойдут alpine linux или кастомизированная BSD.
Вопрос: Как редактировать bootstrap.min.css?

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

Худший ответ:
Если очень нужно, то можно разминифицировать, тоесть разжать и пользоватся, в моем редакторе brackets есть такие штуки которые умеют делать такое)))
Вопрос: Удалённая работа — реально?

Лучший ответ:
"вроде как могу" не катит. Хочешь денег - нужны знания  и практика, а потом еще раз практика и знание.
Удаленно или офис значения особо не имеет, в офис зовут чаще и обещают больше, но это пока. Многие переходят на удаленку, это снимает проблемы с содержанием офиса и расширяет круг поиска разработчиков. 
Но и разработчик может не сходя с места поменять работодателя, что я и сделал два раза за прошлый год с повышением зарплаты.
Только на удаленке мало кто будет ждать пока ты научишься и возиться с тобой не будут. Неопытный девопс это кошмар для фирмы.

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

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

Худший ответ:
Это конденцатор, большой беды не будет, но в пиках нагрузки может подвисать. В тех. отделе издевательства закончились тем, что убрав все кондеры, при нагрузке в 90% до 10-15 секунд все вставало клином.
Вопрос: Чем обусловлено деление на ядра и процессоры при лицензировании Windows Server?

Лучший ответ:
Видимо тем что продавать лицензии на ядра выгоднее, чём на процессоры ("слишком" многоядерные пошли современные процессоры)

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

Лучший ответ:
Вы пытаетесь скрестить ежа с ужом.
UML схемы действительно полезны, когда сразу уместить в голове сложную систему взаимодействия не получается. Например у вас есть 5 обособленных внешних систем со своими состояниями и вам необходимо спроектировать api между каждой из них. UML в этой ситуации вас очень выручит. Если в основном будете использовать sequence диаграммы - рекомендую смотреть в сторону PlantUML. Во всяких VisualParadigm на переделки (а они будут) вы потратите кучу времени, а с текстом в PlantUML это на порядки проще.
UML и подобные штуки нужны когда у вас нет полного понимания того, что надо сделать. Когда это понимание есть - вы просто потратите время. Если же UML используется как средство документирования - используйте на здоровье.
Что касается Go - определяйте интерфейсы, а далее пишите под их реализацию. Так как интерфейсы утиные - вам ничто не мешает писать требуемые интерфейсы для ваших сервисов в пакетах этих сервисов, там же определяет интерфейсы для внешнего использования.

Худший ответ:
1) диаграммы объектов (ответ на вопрос - границы проекта)
2) компаненты (кто учувствует)
3) сиквенс диаграммы (интеграция)
Вопрос: Как сделать что бы время шло, когда переходишь на другую сцену?

Лучший ответ:
Сохраняешь DateTime начала отсчета в PlayerPrefs, а при загрузке новой сцены сравниваешь, если: DateTime (текущая) - DateTime (из PlayerPrefs) > time (тут понадобится умножение на коэффициент, скорее всего 10 миллионов), то вызываешь корутину с ожиданием "time - (dateTimeCurrent - dateTimePrefs) / 10 000 000.

Худший ответ:
надо сохранить состояние кнопки на стороне сервера(если сингл то в сохранении состояния игры), а при заходе в сцену просто запрашивать это состояние
Вопрос: Есть ли онлайн сервис рисования красивых схем, инструкция для статей сайта?

Лучший ответ:
Пользуюсь этим.
https://www.lucidchart.com
Забавно видеть, как несколько человек рисуют параллельно.
Очень удобно для совместной работы.
Если же речь идет просто о рисовании диаграм/схем, то в банальнейших Microsoft Office/LibreOffie/OpenOffice есть то, что нужно для этого. Сохраняешь в виде картинки и вставляешь на сайт.

Худший ответ:
14 сервисов для создания инфографики
Вопрос: Как подключить к img уже загруженное изображение?

Лучший ответ:
Не очень понятен момент. Вы загружаете картинку от пользователя на сервер, и от туда ее показываете? В таком случае, технически это разные картинки (с сервера и у пользователя). Вы можете попробовать получить картинку из input file вот так https://codepen.io/mobifreaks/pen/LIbca

Худший ответ:
Можно вставлять с помощью base64 https://stackoverflow.com/a/8499716/6237232
Не совсем ответ, но может лучше по ajax получать url картинки, и создавать уже элемент с этим адресом ?
Вопрос: Как с помощью css можно обнулить значение placeholder в input type="text" при :focus {}?

Лучший ответ:
"Обнулить" - никак. Можно сделать невидимым:input:focus::placeholder {
  color: transparent;
}

Худший ответ:
можно  visibility: hidden;
и с префиксамиinput:focus::-webkit-input-placeholder {     
      visibility: hidden;
    }
     input:focus:-moz-placeholder {
      visibility: hidden;
    }
     input:focus::-moz-placeholder {
      visibility: hidden;
    }
    input:focus:-ms-input-placeholder {
     visibility: hidden;
    }
Вопрос: Как найти причину утечки трафика в Windows XP?

Лучший ответ:
Как найти причину утечки трафика в Windows?Взять у оператора распечатку и посмотреть с каких адресов когда и сколько было скачано.
Непонятно при чем тут вирусы.
И непонятно о каких объемах трафика идет речь.
Для современного компьютера вполне в порядке вещей скачать от нечего делать 10-20гб в сутки.

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

Лучший ответ:
Нужно иметь две версии css и js: dev и prod. Во время разработки вы работаете только с dev версией, а prod у вас создается позже (перед запуском на продакшане выполняете минификацию и комбинирование).
Чтобы реализовать это автоматически вам нужен frontend сборщик такой как Grunt.JS или Gulp.JS, которые работают на node.js.
Главное преимущество вы получите возможность использовать css, js-препроцессоры и собирать минимизированный единственные файлы для сайта со стилями и JS.
Также попробуйте избавиться от не нужных библиотек в JS. Чаще всего они имеют излишний функционал и занимают много места. Возможно у вас получится отказаться от JQuery или хотя бы подключить slim версию.

Худший ответ:
Page Speed любит, что бы первый экран загружался мгновенно. В идеале выделяете все стили которые образуют первый экран страницы. Минифицируете его, записываете в 1 строку и все эту красоту прямо в html, а остальные части стилей которые идут ниже первой страницы уже подгружаете как обычно. При таком фокусе загрузка страинцы происходит мгновенно и гугл остается доволен
Вопрос: Какая разница между версиями Linux для VPS?

Лучший ответ:
выбирается между тем, что знаете и тем, что не знаете
обычно ставят ту, что знают

Худший ответ:
На Ubuntu свежайшие версии ПО: PHP, MySQL, nginx и т.д.
Для других ОС типа CentOS нужно подключать сторонние репозитории, где хранятся более новые версии.
Вопрос: Linux тормозит на macbook13 — wtf?

Лучший ответ:
А с чего он не должен тормозить на таком древнем железе?
Убунта крайне прожорлива, 1гб ОЗУ GDM\Unity жрет как не в себя. Ставьте что то проще типа XUbuntu\LUbuntu.   Уверены что ваш новый(старый хард) действительно нормально живой? Что он не перегревается в макбуке? А скорость у него больше\меньше чем у родного? А кэша у него больше\меньше?
В первую очередь пробуйте для установки Internet recovery путем Command+Option+R при загрузке.
Напишите конкретную модель своего макбука.
PS: fix.

Худший ответ:
Правильно она вам пишет, под вас чистый установочный диск должен быть
Вопрос: В чем разница между malloc() и calloc() а также free() и dellete()?

Лучший ответ:
Разница только в том, что calloc обнуляет выделенную память перед тем, как возвратить указатель, а malloc этого не делает. Внутри calloc, наверняка вызывает malloc для выделения памяти, а потом memset для обнуления. Так что calloc это просто надстройка над malloc для удобства. Вот схематично реализация calloc:void * calloc (size_t num, size_t size)
{
   void * mem = malloc(num * size);
  memset(mem, 0, num * size);
  return mem;
}
Сами эти функции оперируют исключительно размером выделяемой области в байтах, им все равно что вы в дальнейшем будете делать с выделенной памятью - инты туда писать или "стринги".
Ну и как бы никто не мешает вам одну и ту же область памяти сначала использовать как массив интов, а потом как массив байт. Или так например:int a = 0x33323130;
char * c = (char*)&a;
printf("%c %c %c %c\n", c[0], c[1], c[2], c[3]);
Пример не использует malloc/calloc для выделения памяти, память выделяется в стеке просто объявлением int a. Тут я попытался показать, что содержимое памяти можно интерпретировать как угодно, главное находится в границах выделенного диапазона. 
Причем языки С/С++/asm это позволяют делать, а другие - нет.
Пример предполагает, что int имеет размер 32 бита, не для всех платформ это так, но в основном - именно так.
Кстати этот пример можно использовать для определения порядка байтов платформы: если выведется "1 2 3 4" значит у вас LITTLE ENDIAN, а если "2 1 4 3" - BIG ENDIAN.
PS: free() - это Си, а delete - C++

Худший ответ:
если вы программируете на с++ то лучше не выделять память при помощи malloc/calloc а создавать массивы объектов или базовых типов через new.  а для прямой работы с памятью надо иметь очень весомое обоснование.  
нет такого dellete()
есть оператор delete который освобождает то что выделено new
Вопрос: Delphi в 2016 году изучаем в колледже, есть смысл?

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

Худший ответ:
Изучите все языки программирования
Чем больше знаешь языков - тем полезнее. Трудно изучить только первый.
Язык для программиста - это очень базовая вещь. Ну примерно, как умение включать компьютер.
P.S.:
Я знаю 20 языков программирования.
Вопрос: Какие есть open source для sms gateway?

Лучший ответ:
Зачем вам SMPP-шлюз для того, чтобы отправлять сообщения через HTTP-API? Или принимать всё-таки тоже нужно?
SMPP - это протокол, ориентированный скорее на массовую отправку, явно не ваш случай.

Худший ответ:
Все что в сети удалось найти это кривой Kannel
Руки прямите.
В данный момент лично у меня Kannel прекрасно работает в prod на 6 опсосах.
Основные задачи обработка SMS/USSD при чем с использованием TLV.
Вопрос: Есть еще какие-либо способы оживить Windows 10?

Лучший ответ:
Переустановите уже винду.

Худший ответ:
Откат к точке восстановления, если она была.
Вопрос: Как установить wildcard сертификат от Let's Encrypt на Debian 9?

Лучший ответ:
Устанавливал по этой схеме около недели назад. Проблем не было, весь процесс занял около 10 минут.
Если вы недавно меняли dns-записи у домена - возможно они еще не обновились, попробуйте через сутки после смены dns повторить. И да, добавлять txt (и др. записи) имеет смысл только в том сервисе на который ссылаются ns-записи. Если вы добавляете записи у регистратора домена, а ns в данный момент не его - то это бесполезно. Либо ждите пока днс-админка заработает, либо ждите пока обновятся новые записи ns которые вы временно указали.

Худший ответ:
Хух. Сделал!
Решение:
Указал NS и регистратора (ns1.fozzy.com, ns2.fozzy.com) и хостинг-провайдера, на всякий случай (ns1.skyhost.ru, ns2.skyhost.ru) - редактирую в fozzy.com - все сработало.
Вопрос: Можно ли записать массив в mysql?

Лучший ответ:
Можно. А что именно трудности вызывает? 
Осилить простой туториал по python-mysql?
Cоздать табличку с одним полем в БД?

Худший ответ:
минусы не войдут
Вопрос: JS, Как проверить существует ли на странице элемент с определенным ID?

Лучший ответ:
document.getElementById('поле') && document.getElementById('поле').setAttribute('value', значение);;

Худший ответ:
document.getElementById('поле').length
Вопрос: Почему символ новой строки «\n» вместо новой строки добавляет пробел?

Лучший ответ:
Нужно использовать тег  для вставки в html. Будет новая строка.echo $fio."<br>";

Худший ответ:
Потому что выводите в виде html-страницы? В html переносы на новую строку воспринимаются как пробелы